section.gen{padding-block:clamp(2rem,1rem + 4vw,5rem) var(--section)}.gen .gen__head{max-width:46rem}.gen .gen__head .lede{margin-top:var(--s-5)}.gen .gen__form{margin-top:var(--s-8);max-width:46rem}.gen .gen__form{display:grid;gap:var(--s-6)}.gen .gen__q{border:0;margin:0;padding:0}.gen .gen__legend{font-size:1rem;font-weight:650;padding:0;margin-bottom:var(--s-3)}.gen .gen__options{display:grid;gap:var(--s-2);grid-template-columns:repeat(2,minmax(0,1fr))}.gen .gen__options--days{grid-template-columns:repeat(3,minmax(0,1fr));max-width:22rem}@media(min-width:52rem){.gen .gen__options--experience,.gen .gen__options--goal{grid-template-columns:repeat(4,minmax(0,1fr))}}.gen .gen__home{display:inline-flex;align-items:center;gap:var(--s-3);font-weight:550;cursor:pointer;min-height:44px}.gen .gen__home input{width:1.2rem;height:1.2rem;accent-color:var(--accent)}.gen .opt{position:relative;display:flex;align-items:center;gap:var(--s-4);padding:.8rem 1rem;border-radius:var(--radius);background:var(--ground-raised);box-shadow:inset 0 0 0 1px var(--line);cursor:pointer;font-size:.98rem;font-weight:550;min-height:52px;transition:box-shadow .2s var(--ease-out),background .2s var(--ease-out)}.gen .opt:hover{box-shadow:inset 0 0 0 1px var(--ink-soft)}.gen .opt input{position:absolute;opacity:0;pointer-events:none}.gen .opt:has(input:checked){box-shadow:inset 0 0 0 1.5px var(--accent);background:color-mix(in oklab,var(--accent) 9%,var(--ground-raised))}.gen .opt:has(input:focus-visible){outline:2px solid var(--accent);outline-offset:3px}.gen .gen__nav{display:flex;flex-wrap:wrap;align-items:center;gap:var(--s-4);margin-top:var(--s-6);min-height:48px}.gen .gen__hint{display:flex;align-items:center;gap:.6rem;margin:0;padding:.6rem .9rem;border-radius:var(--radius-sm);font-size:.9375rem;font-weight:550;color:var(--ink);background:color-mix(in oklab,var(--accent) 14%,transparent);box-shadow:inset 0 0 0 1px color-mix(in oklab,var(--accent) 45%,transparent)}.gen .gen__hint:before{content:"";flex:none;width:.5rem;height:.5rem;border-radius:50%;background:var(--accent)}.gen .plan{margin-top:clamp(3rem,2rem + 4vw,6rem);padding-block:clamp(4rem,2rem + 6vw,8rem)}.gen .gen__head h1{margin-top:var(--s-4)}section.gen:has(>.plan:not([hidden])){padding-block:0}section.gen:has(>.plan:not([hidden])) .plan{margin-top:0}.gen .plan__head{max-width:46rem}.gen .plan__head h2{font-family:var(--font-head);font-weight:400;font-size:var(--t-head);line-height:1.02;letter-spacing:-.02em}.gen .plan__head h2:focus{outline:none}.gen .plan__head .lede{margin-top:var(--s-5);max-width:46ch}.gen .plan__actions{display:flex;flex-wrap:wrap;gap:var(--s-3);margin-top:var(--s-6)}.gen .plan__block{margin-top:var(--s-9)}.gen .plan__block>h3{margin-bottom:var(--s-5)}.gen .rules{list-style:none;margin:0;padding:0;display:grid;gap:0;max-width:52rem}.gen .rule{display:grid;gap:var(--s-1);padding-block:var(--s-4);border-top:1px solid var(--line)}@media(min-width:52rem){.rule{grid-template-columns:16rem 1fr;gap:var(--s-6)}}.gen .rule strong{font-weight:650;font-size:1.1rem}.gen .sessions{display:grid;gap:var(--s-5)}@media(min-width:60rem){.sessions{grid-template-columns:repeat(2,minmax(0,1fr))}}.gen .session{background:var(--ground-raised);border-radius:var(--radius);padding:var(--s-5);box-shadow:inset 0 0 0 1px var(--line)}.gen .session__name{display:flex;justify-content:space-between;gap:var(--s-4);margin:0 0 var(--s-4);font-size:1.15rem;font-weight:700}.gen .session__day{font-weight:500;text-transform:capitalize}.gen .session__table{width:100%;border-collapse:collapse;font-size:.98rem}.gen .session__table th{text-align:left;font-size:.8rem;font-weight:600;color:var(--ink-soft);padding-bottom:var(--s-2);border-bottom:1px solid var(--line)}.gen .session__table th:not(:first-child),.gen .session__table td:not(:first-child){text-align:right;width:4.2rem}.gen .session__table td{padding-block:.6rem;border-bottom:1px solid var(--line);vertical-align:top}.gen .session__cue{display:block;font-size:.88rem;margin-top:.15rem}.gen .plan__note{margin-top:var(--s-5)}.gen .foods__key{list-style:none;display:flex;flex-wrap:wrap;gap:var(--s-2) var(--s-5);margin:var(--s-3) 0 0;padding:0;font-size:.875rem;color:var(--ink-soft)}.gen .foods__key li{display:flex;align-items:center;gap:.5rem}.gen .foods{display:grid;gap:var(--s-6);margin-top:var(--s-5)}@media(min-width:52rem){.foods{grid-template-columns:repeat(3,1fr)}}.gen .foods ul{list-style:none;margin:var(--s-3) 0 0;padding:0}.gen .foods li{display:flex;justify-content:space-between;gap:var(--s-3);padding-block:.5rem;border-bottom:1px solid var(--line)}.gen .foods h4{margin:0;font-size:1rem;font-weight:700}.gen .tag{font-family:var(--font-ui);font-size:.75rem;font-weight:600;padding:.15rem .5rem;border-radius:99px;white-space:nowrap;align-self:center}.gen .tag--nej{background:color-mix(in oklab,var(--ink) 10%,transparent);color:var(--ink)}.gen .tag--spar{background:transparent;box-shadow:inset 0 0 0 1px var(--line-strong);color:var(--ink-soft)}.gen .tag--ja{background:var(--ink);color:var(--ground)}.gen .plan__mail{max-width:46rem;padding:var(--s-6);background:var(--ground-raised);border-radius:var(--radius);box-shadow:inset 0 0 0 1px var(--line)}.gen .mail__label{display:block;font-weight:600;margin-bottom:var(--s-2);font-size:.95rem}.gen .mail__row{display:flex;flex-wrap:wrap;gap:var(--s-3)}.gen .mail__input{flex:1 1 14rem;min-height:48px;padding:0 1rem;border-radius:var(--radius);border:0;background:var(--ground);color:var(--ink);box-shadow:inset 0 0 0 1px var(--line-strong);font-size:1rem}.gen .mail__input::placeholder{color:var(--ink-faint)}.gen .mail__input:focus{outline:2px solid var(--accent);outline-offset:1px}.gen .mail__fine{font-size:.85rem;margin-top:var(--s-3)}.gen .mail__status{margin:var(--s-2) 0 0;font-weight:600;min-height:1.4em}.gen .plan__disclaimer{margin-top:var(--s-8);font-size:.9rem}@media print{.top,.foot,.draft-strip,.plan__actions,.plan__mail{display:none!important}html,body{background:#fff!important;color:#111!important}.session,.plan__mail{background:none;box-shadow:inset 0 0 0 1px #ccc;break-inside:avoid}.soft{color:#444!important}.tag--ja{background:#111;color:#fff}}
