:root{--bg:#fff;--bg-alt:#f3f1eb;--ink:#211d18;--ink-soft:#5c574e;--ink-faint:#8b8577;--accent:#1c3d5a;--accent-soft:#2e5478;--accent-tint:#dce7f0;--line:#e2dcd0;--radius:10px}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--bg:#121a21;--bg-alt:#1a242c;--ink:#e7ecf1;--ink-soft:#a2b2bf;--ink-faint:#6e7e8b;--accent:#6c9fce;--accent-soft:#8fb6da;--accent-tint:#1e3348;--line:#2a3841}}:root[data-theme=dark]{--bg:#121a21;--bg-alt:#1a242c;--ink:#e7ecf1;--ink-soft:#a2b2bf;--ink-faint:#6e7e8b;--accent:#6c9fce;--accent-soft:#8fb6da;--accent-tint:#1e3348;--line:#2a3841}.mono{font-variant-numeric:tabular-nums;font-family:IBM Plex Mono,ui-monospace,monospace}.eyebrow{letter-spacing:.12em;text-transform:uppercase;color:var(--accent-soft);font-family:IBM Plex Mono,monospace;font-size:11.5px;font-weight:500}.field{flex-direction:column;gap:6px;display:flex}.field label{color:var(--ink-soft);font-size:12.5px;font-weight:500}.field input{font:inherit;border:1px solid var(--line);background:var(--bg);color:var(--ink);border-radius:8px;width:100%;padding:11px 12px;font-size:14.5px}.field input:focus{outline:2px solid var(--accent-soft);outline-offset:1px}.field input::placeholder{color:var(--ink-faint)}.field .subhead{color:var(--ink);margin-bottom:10px;font-size:13px;font-weight:600;display:block}.field-note{color:var(--ink-faint);margin-top:2px;font-size:12.5px}.row-2{grid-template-columns:1fr 1fr;gap:16px;display:grid}.stack{flex-direction:column;gap:16px;display:flex}@media (max-width:480px){.row-2{grid-template-columns:1fr}}.seg-group{flex-wrap:wrap;gap:8px;display:flex}.seg-group input{opacity:0;pointer-events:none;width:1px;height:1px;position:absolute}.seg-group label{color:var(--ink-soft);background:var(--bg-alt);cursor:pointer;-webkit-user-select:none;user-select:none;border-radius:99px;padding:10px 18px;font-size:13.5px;font-weight:600}.seg-group input:checked+label{background:var(--accent);color:#fff}.seg-group input:focus-visible+label{outline:2px solid var(--accent-soft);outline-offset:2px}.week-grid{grid-template-columns:repeat(auto-fit,minmax(68px,1fr));gap:10px;display:grid}.week-day{flex-direction:column;gap:6px;display:flex}.week-day .day-label{letter-spacing:.06em;text-transform:uppercase;color:var(--ink-faint);text-align:center;font-family:IBM Plex Mono,monospace;font-size:11px}.week-day .opts{flex-direction:column;gap:4px;display:flex}.week-day input{opacity:0;pointer-events:none;width:1px;height:1px;position:absolute}.week-day label{text-align:center;background:var(--bg-alt);color:var(--ink-faint);cursor:pointer;-webkit-user-select:none;user-select:none;border-radius:7px;padding:8px 4px;font-size:11.5px;font-weight:500}.week-day input:focus-visible+label{outline:2px solid var(--accent-soft);outline-offset:1px}.week-day input:checked+label{background:var(--accent);color:#fff}.section-card{border:1px solid var(--line);border-radius:var(--radius);background:var(--bg);padding:22px}.section-card-head{justify-content:space-between;align-items:center;gap:16px;margin-bottom:18px;display:flex}.section-card-head .eyebrow{margin:0}.expand-btn{width:24px;height:24px;color:var(--ink-faint);cursor:pointer;background:0 0;border:none;flex:none;justify-content:center;align-items:center;transition:color .18s;display:flex}.section-card.open .expand-btn{color:var(--accent)}.why-body{max-height:0;transition:max-height .25s;overflow:hidden}.why-body-inner{border-top:1px solid var(--line);color:var(--ink-soft);margin-top:20px;padding-top:20px;font-size:13.5px;line-height:1.6}.why-body-inner .formula{background:var(--bg-alt);border:1px solid var(--line);color:var(--ink);border-radius:6px;margin-block:10px;padding:9px 11px;font-family:IBM Plex Mono,monospace;font-size:12.5px}.source-line{color:var(--ink-faint);margin-top:10px;font-size:12px;font-style:italic}.source-line a{color:inherit;text-underline-offset:2px;text-decoration:underline}.source-line a:hover{color:var(--accent-soft)}.choice-list{flex-direction:column;gap:8px;margin-top:14px;display:flex}.option-info{background:var(--bg-alt);border-radius:8px;overflow:hidden}.choice-row{align-items:stretch;transition:background .15s;display:flex}.choice-row input{opacity:0;pointer-events:none;width:1px;height:1px;position:absolute}.choice-row-label{color:var(--ink-soft);cursor:pointer;-webkit-user-select:none;user-select:none;flex:1;align-items:center;padding:12px 14px;font-size:13.5px;font-weight:600;transition:color .15s;display:flex}.choice-row:has(input:checked){background:var(--accent)}.choice-row:has(input:checked) .choice-row-label{color:#fff}.choice-row input:focus-visible+.choice-row-label{outline:2px solid var(--accent-soft);outline-offset:-2px}.mini-expand-btn{width:20px;height:20px;color:var(--ink-faint);cursor:pointer;background:0 0;border:none;flex:none;justify-content:center;align-self:center;align-items:center;margin-right:12px;transition:color .18s;display:flex}.option-info.open .mini-expand-btn{color:var(--accent)}.choice-row:has(input:checked) .mini-expand-btn{color:#fffc}.choice-row:has(input:checked) .mini-expand-btn:hover{color:#fff}.option-info.open .choice-row:has(input:checked) .mini-expand-btn{color:#fff}.option-info-body{max-height:0;transition:max-height .22s;overflow:hidden}.option-info-body-inner{color:var(--ink-soft);padding:0 14px 12px;font-size:12.5px;line-height:1.55}.btn{font:inherit;cursor:pointer;background:var(--accent);color:#fff;border:none;border-radius:8px;width:100%;padding:13px 20px;font-size:15px;font-weight:600}.btn:hover{background:var(--accent-soft)}.btn:disabled{opacity:.6;cursor:default}.btn:focus-visible{outline:2px solid var(--accent-soft);outline-offset:2px}.form-foot{color:var(--ink-faint);text-align:center;margin-top:14px;font-size:12.5px}.tip-banner{background:var(--accent-tint);border-radius:var(--radius);align-items:flex-start;gap:12px;margin-bottom:24px;padding:14px 16px;display:flex}.tip-banner p{color:var(--ink);flex:1;margin:0;font-size:13.5px;line-height:1.5}.tip-banner-close{width:22px;height:22px;color:var(--ink-soft);cursor:pointer;background:0 0;border:none;border-radius:6px;flex:none;justify-content:center;align-items:center;font-size:18px;line-height:1;transition:background .15s,color .15s;display:flex}.tip-banner-close:hover{color:var(--ink);background:#0000000f}.tip-banner-close:focus-visible{outline:2px solid var(--accent-soft);outline-offset:2px}.wrap{max-width:640px;margin:0 auto;padding-inline:24px}.intro{margin-bottom:40px}.intro h1{letter-spacing:-.01em;margin:10px 0;font-size:clamp(24px,3vw,30px);font-weight:700;line-height:1.2}.intro .lede{color:var(--ink-soft);font-size:15px;line-height:1.6}
