:root{color:#2f2924;font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;--color-ground:#efe9e1;--color-surface:#e1d8cd;--color-line-grid:#d3c8ba;--color-line-soft:#c6b9a9;--color-line-mid:#9f907e;--color-mark:#827363;--color-accent:#a34f31;--color-ink:#2f2924;--color-ink-soft:#514941;--color-ink-faint:#675d54;--color-focus:#794228;--color-error:#8b2f24;--font-mono:"JetBrains Mono", ui-monospace, "SF Mono", SFMono-Regular, Menlo, Consolas, monospace;--font-title:clamp(1.65rem, 2.4vw, 2.3rem);--font-body:1.0625rem;--font-meta:.875rem;--space-1:.25rem;--space-2:.5rem;--space-3:.75rem;--space-4:1rem;--space-5:1.25rem;--space-6:1.5rem;--space-8:2rem;--space-10:2.5rem;--space-12:3rem;--space-16:4rem;--page-gutter:clamp(1rem, 5vw, 5rem);--content-max:82rem;--motion-direct:.18s;--ease-settle:cubic-bezier(.22, 1, .36, 1);--radius-control:6px;--radius-surface:10px;background:#efe9e1;font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}html{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;background:var(--color-ground);min-width:320px}body{min-width:320px;min-height:100vh;color:var(--color-ink);background:var(--color-ground);font-size:var(--font-body);margin:0;line-height:1.55}button,input,select,textarea{font:inherit}button{border-radius:var(--radius-control);transition:background-color var(--motion-direct) var(--ease-settle), border-color var(--motion-direct) var(--ease-settle), color var(--motion-direct) var(--ease-settle), opacity var(--motion-direct) var(--ease-settle);font-weight:500}label{font-weight:500}label input,label select,label textarea{font-weight:400}:is(label:has(>input:not([type=checkbox],[type=radio])),label:has(>select),label:has(>textarea)){align-items:baseline;column-gap:var(--space-2);grid-template-columns:minmax(0,1fr) auto}label>input:not([type=checkbox],[type=radio]),label>select,label>textarea{grid-column:1/-1;width:100%}input,select,textarea{font-size:1rem}::placeholder{color:var(--color-ink-faint);opacity:.85}a,button{-webkit-tap-highlight-color:transparent}:focus-visible{outline:2px solid var(--color-focus);outline-offset:3px}::selection{color:var(--color-ground);background:var(--color-accent)}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.page--indented{padding-left:clamp(0rem,7vw,6rem)}.label{align-items:center;gap:var(--space-3);color:var(--color-accent);font-family:var(--font-mono);font-size:var(--font-meta);letter-spacing:.01em;margin:0;font-weight:500;display:flex}.label:before{content:"";background:currentColor;flex:none;width:1.5rem;height:1px}.hero{padding:var(--space-12) 0}.hero__label{align-items:center;gap:var(--space-6);flex-wrap:wrap;display:flex}.hero__label select{min-height:2.25rem;padding:0 var(--space-2);border:0;border-bottom:1px solid var(--color-line-mid);color:var(--color-ink);background:0 0;border-radius:0}.hero h1,.statement{font-family:var(--font-mono);letter-spacing:-.03em;font-weight:600}.hero h1{margin:var(--space-8) 0 var(--space-10);font-size:clamp(2.25rem,5.2vw,4.25rem);line-height:1.08}.hero h1 span,.statement span{color:var(--color-accent)}.hero__intro{max-width:37rem;color:var(--color-ink-soft);line-height:1.65}.hero__meta{align-items:end;gap:var(--space-6) var(--space-12);flex-wrap:wrap;display:flex}.statement{max-width:40ch;margin:var(--space-6) 0 0;font-size:var(--font-title);line-height:1.2}.facts{gap:var(--space-6) var(--space-12);flex-wrap:wrap;margin:0;display:flex}.facts dt{color:var(--color-ink-faint);font-size:var(--font-meta)}.facts dd{margin:var(--space-1) 0 0;font-family:var(--font-mono);font-variant-numeric:tabular-nums;letter-spacing:-.02em;font-size:1.35rem}.facts--compact{gap:var(--space-4) var(--space-10)}.facts--compact dd{font-size:var(--font-body);letter-spacing:0}.section{margin-top:var(--space-12);padding-top:var(--space-12);border-top:1px solid var(--color-line-grid)}.section__heading{justify-content:space-between;align-items:baseline;gap:var(--space-4);flex-wrap:wrap;display:flex}.section :where(h2:not(.label,.statement)){margin:var(--space-3) 0 var(--space-4);font-size:var(--font-title);letter-spacing:-.035em;font-weight:500;line-height:1.2}.section__intro{max-width:40rem;color:var(--color-ink-soft);line-height:1.6}.state{margin-top:var(--space-12);padding-top:var(--space-6);border-top:1px solid var(--color-line-mid)}.state h2{margin:var(--space-3) 0 var(--space-4);font-size:var(--font-title);letter-spacing:-.035em;font-weight:500}.state>p{max-width:38rem;color:var(--color-ink-soft);line-height:1.6}.state a{color:var(--color-ink);-webkit-text-decoration-color:var(--color-accent);text-decoration-color:var(--color-accent);text-underline-offset:.3em}.form{gap:var(--space-6) var(--space-8);margin-top:var(--space-8);grid-template-columns:repeat(3,minmax(0,1fr));display:grid}.form>button{place-self:end start}.form__wide{grid-column:span 2}.field,.form>label{gap:var(--space-2);min-width:0;color:var(--color-ink-soft);font-size:var(--font-meta);display:grid}.field>span,.form>label>span{color:var(--color-ink-faint)}.field input:where(:not([type=checkbox],[type=radio])),.field select,.field textarea,.form>label>input:where(:not([type=checkbox],[type=radio])),.form>label>select,.form>label>textarea{min-width:0;min-height:2.75rem;padding:var(--space-2) 0;border:0;border-bottom:1px solid var(--color-line-mid);color:var(--color-ink);background:0 0;border-radius:0}.button-primary{min-height:2.75rem;padding:0 var(--space-5);border:1px solid var(--color-ink);border-radius:var(--radius-control);color:var(--color-ground);background:var(--color-ink);cursor:pointer}.button-quiet{min-height:2.25rem;padding:0 var(--space-3);border:1px solid var(--color-line-mid);border-radius:var(--radius-control);color:var(--color-ink);font-size:var(--font-meta);cursor:pointer;background:0 0}.button-primary:disabled,.button-quiet:disabled{cursor:default;opacity:.42}.text-link{color:var(--color-ink);font:inherit;text-decoration:underline;-webkit-text-decoration-color:var(--color-accent);text-decoration-color:var(--color-accent);text-underline-offset:.25em;cursor:pointer;background:0 0;border:0;border-radius:0;padding:0}.text-link:disabled{cursor:default;opacity:.45}.tabs{gap:var(--space-2) var(--space-6);border-bottom:1px solid var(--color-line-grid);flex-wrap:wrap;display:flex}.tabs button{min-height:2.75rem;color:var(--color-ink-soft);font-size:var(--font-meta);cursor:pointer;background:0 0;border:0;border-radius:0;padding:0;position:relative}.tabs button:after{content:"";background:0 0;height:1px;position:absolute;bottom:-1px;left:0;right:0}.tabs button[aria-pressed=true],.tabs button[aria-selected=true]{color:var(--color-ink)}.tabs button[aria-pressed=true]:after,.tabs button[aria-selected=true]:after{background:var(--color-accent)}.icon-button{border-radius:var(--radius-control);width:2rem;height:2rem;color:var(--color-ink-soft);cursor:pointer;transition:color var(--motion-direct) var(--ease-settle), border-color var(--motion-direct) var(--ease-settle);background:0 0;border:1px solid #0000;place-items:center;padding:0;display:inline-grid;position:relative}.icon-button:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}.icon-button:disabled{cursor:default;opacity:.45}.icon-button.is-working{border-color:var(--color-line-soft)}.icon-button.is-working:disabled{opacity:.7}.icon-button:after{top:calc(100% + var(--space-1));z-index:2;padding:var(--space-1) var(--space-2);border-radius:var(--radius-control);color:var(--color-ground);background:var(--color-ink);white-space:nowrap;content:attr(data-tooltip);opacity:0;pointer-events:none;transition:opacity var(--motion-direct) var(--ease-settle);font-size:.74rem;position:absolute;left:50%;transform:translate(-50%)}.icon-button:focus-visible:after{opacity:1}.disclosure{margin-top:var(--space-3)}.disclosure>summary{align-items:center;gap:var(--space-3);width:fit-content;color:var(--color-ink-soft);font-size:var(--font-meta);cursor:pointer;font-weight:500;list-style:none;display:flex}.disclosure>summary::-webkit-details-marker{display:none}.disclosure>summary:before{border-right:1.5px solid var(--color-ink-faint);border-bottom:1.5px solid var(--color-ink-faint);content:"";width:.4rem;height:.4rem;transition:transform var(--motion-direct) var(--ease-settle);flex:none;transform:translate(-.1rem)rotate(-45deg)}.disclosure[open]>summary:before{transform:translateY(-.1rem)rotate(45deg)}.disclosure h4{margin:var(--space-6) 0 var(--space-2);font-size:1rem;font-weight:500}.disclosure :where(p:not(.label),li){max-width:48rem;color:var(--color-ink-soft);line-height:1.55}.form-error{margin:var(--space-5) 0 0;color:var(--color-error);line-height:1.5}@media (hover:hover){.button-primary:not(:disabled):hover{border-color:var(--color-ink-soft);background-color:var(--color-ink-soft)}.button-quiet:not(:disabled):hover{border-color:var(--color-ink);background-color:color-mix(in srgb, var(--color-ink) 6%, transparent)}.tabs button:hover{color:var(--color-ink)}.icon-button:not(:disabled):hover{border-color:var(--color-line-mid);color:var(--color-ink)}.icon-button:not(:disabled):hover:after{opacity:1}}@media (width<=800px){.page--indented{padding-left:0}.form{grid-template-columns:1fr}.form__wide{grid-column:auto}}.app-shell{min-height:100vh}.skip-link{z-index:10;top:var(--space-3);left:var(--space-3);padding:var(--space-2) var(--space-3);color:var(--color-ground);background:var(--color-ink);transition:transform var(--motion-direct) var(--ease-settle);position:fixed;transform:translateY(-160%)}.skip-link:focus{transform:translateY(0)}.site-header{width:min(calc(100% - 2 * var(--page-gutter)), var(--content-max));justify-content:space-between;align-items:center;gap:var(--space-8);border-bottom:1px solid var(--color-line-mid);min-height:5.5rem;margin:0 auto;display:flex}.wordmark{color:var(--color-ink);font-family:var(--font-mono);letter-spacing:-.03em;font-size:1.2rem;font-weight:600;text-decoration:none}.version-notice{width:min(calc(100% - 2 * var(--page-gutter)), var(--content-max));padding:var(--space-3) 0;align-items:baseline;gap:var(--space-3);color:var(--color-ink-soft);border-bottom:1px solid var(--color-line-grid);font-size:var(--font-meta);margin:0 auto;display:flex}.primary-nav{align-self:stretch;gap:clamp(var(--space-4), 5vw, var(--space-10));display:flex}.primary-nav a{min-width:2.75rem;color:var(--color-ink-soft);font-size:var(--font-meta);transition:color var(--motion-direct) var(--ease-settle);justify-content:center;align-items:center;font-weight:500;text-decoration:none;display:inline-flex;position:relative}.primary-nav a.is-separated{min-width:5.5rem;margin-left:calc(var(--space-2) * -1);padding-left:var(--space-5);border-left:1px solid var(--color-line-soft)}.primary-nav a:after{content:"";background:0 0;height:1px;position:absolute;bottom:-1px;left:0;right:0}.primary-nav a:hover,.primary-nav a.is-active{color:var(--color-ink)}.primary-nav a.is-active:after{background:var(--color-accent)}.page{width:min(calc(100% - 2 * var(--page-gutter)), var(--content-max));padding:var(--space-12) 0 var(--space-16);margin:0 auto}@media (width<=560px){.site-header{gap:var(--space-4);min-height:4.75rem}.primary-nav{justify-content:flex-end;gap:var(--space-1);flex:1}.primary-nav a{min-width:2.75rem}.primary-nav a.is-separated{min-width:auto;padding-left:var(--space-3);margin-left:0}.page{padding-top:var(--space-10)}}@media (prefers-reduced-motion:reduce){.skip-link,.primary-nav a{transition:none}}.base-settings__heading{justify-content:space-between;align-items:center;gap:var(--space-6);display:flex}.base-settings__heading p{max-width:44rem;margin:var(--space-3) 0 0;color:var(--color-ink-soft);font-size:var(--font-meta);line-height:1.55}.base-settings>p{margin:var(--space-4) 0 0;color:var(--color-ink-soft);font-size:var(--font-meta)}.base-settings__heading button{min-height:2.5rem;padding:0 var(--space-4);border:1px solid var(--color-line-mid);border-radius:var(--radius-control);color:var(--color-ink);cursor:pointer;background:0 0;flex:none}.base-settings__heading button:disabled{cursor:default;opacity:.42}.strava-line{gap:var(--space-1);display:grid}.section__heading .strava-line{text-align:right;justify-items:end}.strava-line p{align-items:center;gap:var(--space-1) var(--space-2);color:var(--color-ink-faint);font-size:var(--font-meta);flex-wrap:wrap;margin:0;display:flex}.section__heading .strava-line p{justify-content:end}.strava-line__status{align-items:center;gap:var(--space-2);margin-right:var(--space-2);white-space:nowrap;display:inline-flex}.strava-line__status time{color:var(--color-ink-soft)}.strava-line__dot{background:var(--color-accent);border-radius:50%;width:.4rem;height:.4rem}.strava-line .strava-line__detail{color:var(--color-error)}.strava-line .icon-button:last-child:after{left:auto;right:0;transform:none}.run-analysis{margin-top:var(--space-3);padding-top:var(--space-3);border-top:1px solid var(--color-line-soft)}.run-analysis>button,.run-analysis__summary button,.run-analysis form button{min-height:2.25rem;padding:0 var(--space-3);border:1px solid var(--color-ink);color:var(--color-ink);cursor:pointer;background:0 0}.run-analysis__summary{gap:var(--space-1);display:grid}.run-analysis__summary span{color:var(--color-ink-faint);font-size:var(--font-meta)}.run-analysis__summary>div{gap:var(--space-2);margin-top:var(--space-2);flex-wrap:wrap;display:flex}.run-analysis form{gap:var(--space-3);display:grid}.run-analysis form label{gap:var(--space-2);color:var(--color-ink-soft);font-size:var(--font-meta);display:grid}.run-analysis form input{min-height:2.5rem;padding:var(--space-2) 0;border:0;border-bottom:1px solid var(--color-line-mid);color:var(--color-ink);background:0 0}.run-analysis form p{color:var(--color-ink-faint);font-size:var(--font-meta);margin:0}.run-analysis form>div{gap:var(--space-2);display:flex}.run-analysis button:disabled{cursor:default;opacity:.45}.marathon-result{margin:var(--space-6) 0 0;padding:var(--space-6);border:1px solid var(--color-line-mid);border-radius:var(--radius-surface);border-left-width:.35rem}.marathon-result--ready{border-left-style:double}.marathon-result--needs_review{border-left-style:dashed}.marathon-result--does_not_fit,.marathon-result--stop{border-left-style:solid}.marathon-result h3{margin:0 0 var(--space-3);font-size:1.35rem;font-weight:500}.marathon-result h4{margin:0;font-size:1rem;font-weight:500}.marathon-result:has(h4){margin-top:var(--space-4);padding:0 0 0 var(--space-4);border-style:solid;border-width:0 0 0 1px;border-radius:0}.marathon-result p,.marathon-result li{max-width:48rem;color:var(--color-ink-soft);line-height:1.55}.marathon-result__details{max-width:48rem;margin-top:var(--space-4);padding-top:var(--space-4);border-top:1px solid var(--color-line-soft)}.marathon-result__details summary{color:var(--color-ink);font-size:var(--font-meta);cursor:pointer;font-weight:600}.marathon-result__details p:last-child{margin-bottom:0}.marathon-form{gap:var(--space-8);margin-top:var(--space-8);display:grid}.marathon-form fieldset{min-width:0;padding:var(--space-6) 0 0;border:0;border-top:1px solid var(--color-line-soft);margin:0}.marathon-form legend{padding:0;font-size:1.2rem;font-weight:500}.marathon-form fieldset>.check-label,.intake-more>.check-label{margin-top:var(--space-5)}.marathon-form__grid,.baseline-week{gap:var(--space-5) var(--space-6);margin-top:var(--space-5);grid-template-columns:repeat(3,minmax(0,1fr));display:grid}.baseline-weeks,.benchmark-list{gap:var(--space-4);margin-top:var(--space-6);display:grid}.baseline-weeks{max-height:38rem;padding-right:var(--space-3);overscroll-behavior:contain;overflow:auto}.baseline-week{padding-bottom:var(--space-4);border-bottom:1px solid var(--color-line-soft);grid-template-columns:1.25fr repeat(3,.7fr) 1.4fr .9fr;margin:0}.benchmark-list .baseline-week{grid-template-columns:1fr repeat(3,.8fr) auto}.marathon-form label{gap:var(--space-2);min-width:0;color:var(--color-ink-soft);font-size:var(--font-meta);display:grid}.marathon-form input,.marathon-form select{min-width:0;min-height:2.65rem;padding:var(--space-2) 0;border:0;border-bottom:1px solid var(--color-line-mid);color:var(--color-ink);background:0 0;border-radius:0}.marathon-form .check-label{align-items:center;gap:var(--space-3);display:flex}.marathon-form .check-label input{min-height:auto}.marathon-form button,.evidence-offer button{min-height:2.75rem;padding:0 var(--space-5);border:1px solid var(--color-ink);border-radius:var(--radius-control);color:var(--color-ground);background:var(--color-ink);cursor:pointer}.marathon-form button:disabled{cursor:default;opacity:.42}.marathon-form .text-button{color:var(--color-ink-soft);text-decoration:underline;-webkit-text-decoration-color:var(--color-line-mid);text-decoration-color:var(--color-line-mid);text-underline-offset:.3em;background:0 0;border:0;padding:0}.intake-days{gap:var(--space-2);margin-top:var(--space-5);grid-template-columns:repeat(7,minmax(0,1fr));display:grid}.marathon-form .intake-day{gap:var(--space-1);padding:var(--space-3) var(--space-3) var(--space-2);border:1px solid var(--color-line-soft);border-radius:var(--radius-control);color:var(--color-ink-faint)}.marathon-form .intake-day select{cursor:pointer;border:0;min-height:2rem;padding:0;font-weight:500}.marathon-form .intake-day--long,.marathon-form .intake-day--intervals{border-color:var(--color-accent)}.marathon-form .intake-day--off{border-style:dashed}.marathon-form .intake-day--off select,.marathon-form .intake-day--rest select{color:var(--color-ink-faint)}.intake-facts{gap:var(--space-5) var(--space-10);margin:var(--space-5) 0 0;flex-wrap:wrap;display:flex}.intake-facts dt{color:var(--color-ink-faint);font-size:var(--font-meta)}.intake-facts dd{margin:var(--space-1) 0 0;font-variant-numeric:tabular-nums}.intake-review{max-width:36rem;margin-top:var(--space-6)}.intake-review>p{margin:0 0 var(--space-2);color:var(--color-ink-soft);font-size:var(--font-meta)}.marathon-form .intake-review__week{justify-content:space-between;align-items:center;gap:var(--space-5);padding:var(--space-2) 0;border-bottom:1px solid var(--color-line-soft);color:var(--color-ink);font-size:var(--font-body);display:flex}.intake-review__week span{display:grid}.intake-review__week small{color:var(--color-ink-faint);font-size:var(--font-meta)}.marathon-form .intake-review__week select{text-align:right;border:0;width:11rem}.intake-more{padding-top:var(--space-6);border-top:1px solid var(--color-line-soft);margin-top:0}.intake-more .disclosure{margin-top:var(--space-6)}.intake-exclusions{align-items:end;gap:var(--space-3) var(--space-4);margin-top:var(--space-5);flex-wrap:wrap;display:flex}.marathon-form .intake-chip{min-height:2rem;padding:0 var(--space-3);border:1px solid var(--color-line-mid);border-radius:var(--radius-control);color:var(--color-ink);font-size:var(--font-meta);background:0 0}.season-road__notice{max-width:48rem;color:var(--color-ink-soft)}.season-road__chart{margin-top:var(--space-10);overflow-x:auto}.season-road__bars,.season-road__phases,.season-road__months{column-gap:3px;min-width:40rem;margin:0;padding:0;list-style:none;display:grid}.season-road__bars{border-bottom:1px solid var(--color-line-mid);align-items:end;height:11rem;padding-top:1.5rem}.season-road__week{flex-direction:column;justify-content:flex-end;height:100%;display:flex}.season-road__value{margin-bottom:var(--space-1);font-family:var(--font-mono);font-size:var(--font-meta);font-variant-numeric:tabular-nums;white-space:nowrap;position:absolute;bottom:100%;left:50%;transform:translate(-50%)}.season-road__bar{background:var(--color-line-soft);transition:background-color var(--motion-direct) var(--ease-settle);border-radius:2px 2px 0 0;display:block;position:relative}.season-road__week--past .season-road__bar{background:var(--color-line-grid)}.season-road__week--detailed .season-road__bar{background:var(--color-mark)}.season-road__week--now .season-road__bar{background:var(--color-accent)}.season-road__week--now .season-road__value{color:var(--color-accent)}.season-road__phases{margin-top:var(--space-2)}.season-road__phase{padding-top:var(--space-1);border-top:2px solid var(--color-line-mid);color:var(--color-ink-soft);text-overflow:ellipsis;white-space:nowrap;font-size:.74rem;overflow:hidden}.season-road__phase--recovery{border-top-color:var(--color-line-soft);color:var(--color-ink-faint)}.season-road__phase--build,.season-road__phase--peak{border-top-color:var(--color-ink)}.season-road__phase--event{border-top-color:var(--color-accent);color:var(--color-accent);text-align:right;direction:rtl;overflow:visible}.season-road__week--recovery:not(.season-road__week--now) .season-road__bar{opacity:.5}.season-road__key{align-items:center;gap:var(--space-2);margin:var(--space-4) 0 0;color:var(--color-ink-faint);font-size:.74rem;display:flex}.season-road__key span{background:var(--color-line-soft);opacity:.5;border-radius:2px;width:.6rem;height:.6rem}.season-road__months{margin-top:var(--space-2);color:var(--color-ink-faint);font-family:var(--font-mono);font-size:.74rem}.season-road__months span{white-space:nowrap}.week-grid__scroller{margin-top:var(--space-5);overflow-x:auto}.week-grid{border-collapse:separate;border-spacing:0;table-layout:fixed;font-variant-numeric:tabular-nums;width:100%;min-width:46rem}.week-grid th,.week-grid td{padding:var(--space-4) var(--space-2);border-bottom:1px solid var(--color-line-grid);vertical-align:top;text-align:left}.week-grid tbody tr:last-child>*{border-bottom:0}.week-grid thead th{padding-top:0;padding-bottom:var(--space-2);border-bottom-color:var(--color-line-soft);color:var(--color-ink-faint);font-size:var(--font-meta);font-weight:500}.week-grid thead th:first-child,.week-grid__rail{background:var(--color-ground);width:9rem;position:sticky;left:0}.week-grid__rail{padding-left:var(--space-3);font-weight:400}.week-grid__rail>*{display:block}.week-grid__rail strong{margin-top:var(--space-2);font-family:var(--font-mono);letter-spacing:-.02em;font-size:1.15rem;font-weight:500}.week-grid tr.is-current .week-grid__rail{box-shadow:inset 2px 0 0 var(--color-accent)}.week-grid tr.is-current .week-grid__phase{color:var(--color-accent)}.week-grid td.is-today{background:color-mix(in srgb, var(--color-accent) 6%, transparent)}.week-grid__dates{font-weight:500}.week-grid__rail small,.week-grid__session small{color:var(--color-ink-faint);font-size:.74rem;line-height:1.45}.week-grid__phase{margin-top:var(--space-1);color:var(--color-ink-faint);font-size:.74rem}.week-grid__session{--session-color:var(--color-ink-soft);gap:var(--space-2);display:grid}.week-grid__session--long,.week-grid__session--race{--session-color:var(--color-ink)}.week-grid__session--intervals,.week-grid__session--tempo,.week-grid__session--marathon_specific{--session-color:var(--color-accent)}.week-grid__session-row{justify-content:space-between;align-items:baseline;column-gap:var(--space-2);font-size:var(--font-meta);flex-wrap:wrap;display:flex}.week-grid__session-row b{color:var(--session-color);font-weight:600}.week-grid .week-grid__km{color:var(--color-ink);font-family:var(--font-mono);font-size:var(--font-meta);white-space:nowrap;font-weight:500}.week-grid__session ul{margin:0;padding:0;list-style:none}.week-grid__session li{color:var(--color-ink-soft);font-size:.74rem;line-height:1.5}.week-grid__rest{color:var(--color-ink-faint);font-size:var(--font-meta);opacity:.75;display:block}.training-weeks__nav{gap:var(--space-2);margin-top:var(--space-5);flex-wrap:wrap;display:flex}.week-grid__day{gap:var(--space-3);width:100%;color:inherit;font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;margin:0;padding:0;display:grid}.week-grid__day:focus-visible{outline:2px solid var(--color-accent);outline-offset:4px}.week-grid td.is-selected{box-shadow:inset 0 -2px 0 var(--color-ink)}.week-grid__session--extra{--session-color:var(--color-ink-faint)}.week-grid__step{color:var(--color-ink-soft);font-size:.74rem;line-height:1.5;display:block}.week-grid__result{font-size:.74rem;font-weight:500}.week-grid__result.is-done,.week-grid__performed{color:var(--color-ink);font-family:var(--font-mono)}.week-grid__result.is-missed{color:var(--color-error)}.day-detail{margin-top:var(--space-6);padding-top:var(--space-5);border-top:1px solid var(--color-line-mid)}.day-detail header{justify-content:space-between;align-items:baseline;gap:var(--space-4);display:flex}.day-detail h3{font-size:var(--font-body);margin:0;font-weight:600}.day-detail article{gap:var(--space-2);max-width:44rem;padding:var(--space-5) 0;border-bottom:1px solid var(--color-line-soft);display:grid}.day-detail article:last-child{border-bottom:0}.day-detail p,.day-detail ul{color:var(--color-ink-soft);font-size:var(--font-meta);margin:0;line-height:1.5}.day-detail ul{padding-left:var(--space-4)}.day-detail__label,.day-detail__status{color:var(--color-ink-faint)!important}.day-detail__run{margin-top:var(--space-2)}.day-detail__run>p{color:var(--color-ink)!important}.day-detail__actions{align-items:center;gap:var(--space-3);margin-top:var(--space-2);flex-wrap:wrap;display:flex}.day-detail__actions a{color:var(--color-ink);font-size:var(--font-meta);-webkit-text-decoration-color:var(--color-accent);text-decoration-color:var(--color-accent);text-underline-offset:.25em}.evidence-offer{justify-content:space-between;align-items:center;gap:var(--space-5);margin-top:var(--space-4);padding:var(--space-4);border:1px dashed var(--color-line-mid);border-radius:var(--radius-surface);display:flex}.evidence-offer p{color:var(--color-ink-soft);font-size:var(--font-meta);margin:0;line-height:1.5}.evidence-offer button{color:var(--color-ink);background:0 0;flex:none}.evidence-offer__actions{gap:var(--space-3);flex:none;display:flex}.marathon-form__actions{align-items:center;gap:var(--space-4);display:flex}.run-analysis>button,.run-analysis__summary button,.run-analysis form button,.evidence-offer button{border-color:var(--color-line-mid)}@media (hover:hover){.marathon-form button:not(:disabled):hover{border-color:var(--color-ink-soft);background-color:var(--color-ink-soft)}.base-settings__heading button:not(:disabled):hover,.run-analysis>button:not(:disabled):hover,.run-analysis__summary button:not(:disabled):hover,.run-analysis form button:not(:disabled):hover,.evidence-offer button:not(:disabled):hover,.marathon-form .intake-chip:not(:disabled):hover{border-color:var(--color-ink);background-color:color-mix(in srgb, var(--color-ink) 6%, transparent)}.marathon-form .text-button:not(:disabled):hover{color:var(--color-ink);-webkit-text-decoration-color:var(--color-accent);text-decoration-color:var(--color-accent);background:0 0}}@media (width<=800px){.marathon-form__grid,.baseline-week,.benchmark-list .baseline-week{grid-template-columns:1fr;display:grid}.evidence-offer,.marathon-form__actions{flex-direction:column;align-items:start}}@media (width<=560px){.season-road__bars,.season-road__phases,.season-road__months{column-gap:2px;min-width:0}.season-road__bars{height:9rem}.week-grid,.week-grid tbody,.week-grid tr,.week-grid th,.week-grid td{display:block}.week-grid{min-width:0}.week-grid thead{display:none}.week-grid tr+tr{margin-top:var(--space-10)}.week-grid th,.week-grid td,.week-grid tbody tr:last-child>*{border:0}.week-grid .week-grid__rail{column-gap:var(--space-4);width:auto;padding:0 0 var(--space-3) var(--space-3);border-bottom:1px solid var(--color-line-soft);grid-template-columns:1fr auto;display:grid;position:static}.week-grid .week-grid__rail strong{grid-area:1/2/span 2;align-self:center;margin-top:0}.week-grid .week-grid__rail small{grid-column:1/-1}.week-grid td{gap:var(--space-2);padding:var(--space-3) var(--space-2);border-bottom:1px solid var(--color-line-grid);grid-template-columns:2.5rem minmax(0,1fr);display:grid}.week-grid td:before{content:attr(data-day);color:var(--color-ink-faint);font-size:var(--font-meta)}.week-grid td:empty{display:none}.season-road__phase,.season-road__months{font-size:.68rem}.base-settings__heading{flex-direction:column;align-items:start}.intake-days{grid-template-columns:1fr;gap:0}.marathon-form .intake-day{padding:var(--space-1) 0;border-style:solid;border-width:0 0 1px;border-color:var(--color-line-soft);border-radius:0;justify-content:space-between;align-items:center;display:flex}.marathon-form .intake-day select{text-align:right}.section__heading .strava-line{text-align:left;justify-items:start}.section__heading .strava-line p{justify-content:start}}.briefing-page>.section,.briefing-page>.state,.briefing-profile{max-width:74rem}.briefing-hero h1{max-width:24ch;font-size:clamp(2.1rem,4.4vw,3.6rem)}.briefing-hero h1 time{white-space:nowrap}.briefing-hero__actions{align-items:center;gap:var(--space-3) var(--space-6);flex-wrap:wrap;display:flex}.briefing-hero__metrics{color:var(--color-ink-faint);font-family:var(--font-mono);font-size:var(--font-meta);font-variant-numeric:tabular-nums;margin:0}.briefing-workspace{gap:clamp(var(--space-8), 6vw, var(--space-16));grid-template-columns:minmax(11rem,15rem) minmax(0,1fr);display:grid}.briefing-archive{top:var(--space-5);align-self:start;position:sticky}.briefing-archive h2{margin:var(--space-3) 0 var(--space-6);font-size:1.25rem}.briefing-archive>p:last-child{color:var(--color-ink-faint);font-size:var(--font-meta);line-height:1.5}.briefing-archive ol{border-top:1px solid var(--color-line-soft);margin:0;padding:0;list-style:none}.briefing-archive li{border-bottom:1px solid var(--color-line-soft)}.briefing-archive a{gap:var(--space-1);padding:var(--space-3) 0;color:var(--color-ink-soft);text-decoration:none;display:grid}.briefing-archive a[aria-current=page]{color:var(--color-ink)}.briefing-archive a[aria-current=page] span:before{color:var(--color-accent);content:"— "}.briefing-archive small{color:var(--color-ink-faint);text-overflow:ellipsis;white-space:nowrap;font-size:.8rem;overflow:hidden}.briefing-reader{min-width:0}.briefing-issue>.section:first-child,.briefing-reader>.state:first-child{border-top:0;margin-top:0;padding-top:0}.briefing-generation{min-height:18rem}.briefing-generation .button-primary{margin-top:var(--space-5)}.briefing-overview h2{font-size:1.25rem}.briefing-overview>p:last-child{max-width:44rem;margin:var(--space-6) 0 0;font-size:clamp(1.15rem,2.2vw,1.45rem);line-height:1.65}.briefing-section>h2{max-width:20ch;margin:0 0 var(--space-8)}.briefing-week-ahead>h2{margin-top:var(--space-3)}.briefing-stories{border-top:1px solid var(--color-line-soft)}.briefing-story{gap:var(--space-4) var(--space-8);padding:var(--space-6) 0;border-bottom:1px solid var(--color-line-soft);grid-template-columns:minmax(11rem,.65fr) minmax(16rem,1fr);display:grid}.briefing-story h3{margin:0;font-size:1.1rem;font-weight:500;line-height:1.35}.briefing-story>p{color:var(--color-ink-soft);margin:0;line-height:1.65}.briefing-story__why{padding-left:var(--space-4);border-left:1px solid var(--color-accent);grid-column:2}.briefing-story__why span{color:var(--color-accent);font-family:var(--font-mono);font-size:var(--font-meta)}.briefing-story__why p{margin:var(--space-2) 0 0;line-height:1.55}.briefing-citations{gap:var(--space-2);margin:var(--space-1) 0 0;grid-column:2;padding:0;list-style:none;display:grid}.briefing-citations a{align-items:baseline;gap:0 var(--space-3);color:var(--color-ink);font-size:var(--font-meta);flex-wrap:wrap;text-decoration:none;display:flex}.briefing-citations a span{text-decoration:underline;-webkit-text-decoration-color:var(--color-line-mid);text-decoration-color:var(--color-line-mid);text-underline-offset:.25em}.briefing-citations small{color:var(--color-ink-faint);font-size:.8rem}.briefing-profile{margin-top:var(--space-12);padding-top:var(--space-6);border-top:1px solid var(--color-line-grid)}.briefing-profile--setup{padding-top:var(--space-12)}.briefing-profile>summary{color:var(--color-ink);font-size:var(--font-body)}.briefing-profile__body{margin-top:var(--space-8)}.briefing-profile__body h2{margin:var(--space-3) 0 var(--space-4);font-size:var(--font-title);letter-spacing:-.035em;font-weight:500;line-height:1.2}.briefing-profile__form{margin-top:var(--space-8)}.briefing-profile fieldset{border:0;margin:0;padding:0}.briefing-profile legend{margin-bottom:var(--space-4);font-size:1.1rem;font-weight:500}.briefing-topics{gap:var(--space-3);display:grid}.briefing-topic{gap:var(--space-4) var(--space-6);padding:var(--space-5) 0;border-top:1px solid var(--color-line-soft);grid-template-columns:minmax(12rem,.8fr) minmax(16rem,1.2fr) auto;align-items:end;display:grid}.briefing-profile textarea{resize:vertical;min-height:5.5rem;line-height:1.5}.briefing-topic__add{margin-top:var(--space-4)}.briefing-profile__advanced{margin-top:var(--space-8);padding-top:var(--space-5);border-top:1px solid var(--color-line-soft)}.briefing-profile__advanced-label{gap:var(--space-1);display:grid}.briefing-profile__advanced-label>span{color:var(--color-ink);font-size:1rem}.briefing-profile__advanced-label small{color:var(--color-ink-faint);font-size:var(--font-meta);font-weight:400}.briefing-profile__fields{gap:var(--space-6) var(--space-8);margin-top:var(--space-6);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.briefing-profile__toggle{gap:var(--space-2);color:var(--color-ink-soft);font-size:var(--font-meta);grid-column:1/-1;align-items:center;display:flex}.briefing-profile__toggle input{width:1rem;height:1rem;accent-color:var(--color-accent);margin:0}.briefing-profile__form>.button-primary{margin-top:var(--space-8)}.briefing-form-note{color:var(--color-ink-soft)}@media (hover:hover){.briefing-citations a:hover span{-webkit-text-decoration-color:var(--color-accent);text-decoration-color:var(--color-accent)}}@media (width<=800px){.briefing-workspace{grid-template-columns:1fr}.briefing-archive{position:static}.briefing-archive ol{gap:var(--space-5);display:flex;overflow-x:auto}.briefing-archive li{min-width:10rem}.briefing-topic{grid-template-columns:1fr 1fr}}@media (width<=560px){.briefing-story{display:block}.briefing-story>p,.briefing-story__why,.briefing-citations{margin-top:var(--space-4)}.briefing-topic,.briefing-profile__fields{grid-template-columns:1fr}.briefing-topic .button-quiet{justify-self:start}}.fuel-page .section,.fuel-page .state,.fuel-library-link{max-width:68rem}.fuel-setup>p{max-width:38rem;color:var(--color-ink-soft);line-height:1.65}.fuel-library-link a,.training-context a,.dinner-picker a{color:var(--color-ink);-webkit-text-decoration-color:var(--color-accent);text-decoration-color:var(--color-accent);text-underline-offset:.3em}.fuel-week-nav{gap:var(--space-2);flex-wrap:wrap;display:flex}.fuel-preferences{max-width:68rem;margin-top:var(--space-12);padding-top:var(--space-6);border-top:1px solid var(--color-line-grid)}.fuel-preferences>summary{color:var(--color-ink);font-size:var(--font-body)}.fuel-preferences__body{margin-top:var(--space-6)}.fuel-form__advanced{padding-top:var(--space-5);border-top:1px solid var(--color-line-soft);grid-column:1/-1;margin-top:0}.fuel-form__advanced>summary>span{gap:var(--space-1);display:grid}.fuel-form__advanced>summary span span{color:var(--color-ink);font-size:1rem}.fuel-form__advanced>summary small,.fuel-form__advanced>p{color:var(--color-ink-faint);font-size:var(--font-meta);font-weight:400}.fuel-form__advanced>p{max-width:42rem;margin:var(--space-5) 0 0;line-height:1.55}.fuel-form__advanced-fields{gap:var(--space-6) var(--space-8);margin-top:var(--space-6);grid-template-columns:repeat(3,minmax(0,1fr));display:grid}.training-context__summary{max-width:46rem;margin:var(--space-6) 0 0;color:var(--color-ink-soft);line-height:1.6}.training-context>ol{margin:var(--space-8) 0 0;border-top:1px solid var(--color-line-soft);padding:0;list-style:none}.training-context>ol>li{gap:var(--space-8);padding:var(--space-5) 0;border-bottom:1px solid var(--color-line-soft);grid-template-columns:minmax(16rem,1fr) minmax(15rem,.8fr);align-items:center;display:grid}.training-context li h3{margin:var(--space-1) 0;font-size:1.1rem;font-weight:500}.training-context li p,.training-context li>div>span,.training-context__coverage>span,.training-context__method{color:var(--color-ink-faint);font-size:var(--font-meta)}.training-context li p{margin:0}.training-context__coverage{justify-content:flex-end;gap:var(--space-4);align-items:center;display:flex}.training-context__coverage>span.is-covered{color:var(--color-ink-soft)}.training-context__coverage button{flex:none}.training-context__method{max-width:44rem;margin:var(--space-5) 0 0;line-height:1.5}.fuel-section-heading{justify-content:space-between;align-items:end;gap:var(--space-6);display:flex}.fuel-section-heading button{flex:none}.dinner-list>ol,.suggestion-list{margin:var(--space-8) 0 0;border-top:1px solid var(--color-line-soft);padding:0;list-style:none}.dinner-list>ol>li{gap:var(--space-6);padding:var(--space-5) 0;border-bottom:1px solid var(--color-line-soft);grid-template-columns:4rem minmax(14rem,1.5fr) minmax(11rem,1fr);align-items:center;display:grid}.dinner-list li.is-skipped{color:var(--color-ink-faint)}.dinner-list__date{text-align:center;display:grid}.dinner-list__date span,.dinner-list__main>p,.dinner-list__status>span{color:var(--color-ink-faint);font-size:var(--font-meta)}.dinner-list__date strong{font-family:var(--font-mono);font-variant-numeric:tabular-nums;letter-spacing:-.03em;font-size:1.65rem;font-weight:600}.dinner-list__main h3{margin:0;font-size:1.1rem;font-weight:500}.dinner-list__main>p{margin:var(--space-1) 0}.dinner-list__main .disclosure p{margin:var(--space-2) 0 0;font-size:var(--font-meta)}.dinner-list__status{gap:var(--space-2);flex-wrap:wrap;align-items:center;display:flex}.dinner-list__status strong{flex-basis:100%}.dinner-list__editor{grid-column:2/-1}.dinner-picker,.preparation-form{margin:var(--space-6) 0;padding-left:var(--space-5);border-left:1px solid var(--color-line-mid)}.dinner-picker__controls{gap:var(--space-6);grid-template-columns:1fr .6fr 1.5fr;display:grid}.dinner-picker__controls form{gap:var(--space-3);grid-template-columns:1fr auto;align-items:end;display:grid}.text-button{min-height:2.75rem;color:var(--color-ink);cursor:pointer;text-decoration:underline;-webkit-text-decoration-color:var(--color-accent);text-decoration-color:var(--color-accent);text-underline-offset:.3em;background:0 0;border:0}.suggestion-list li{gap:var(--space-8);padding:var(--space-5) 0;border-bottom:1px solid var(--color-line-soft);grid-template-columns:1fr auto;align-items:center;display:grid}.suggestion-list h3{margin:0 0 var(--space-2);font-size:1.05rem;font-weight:500}.suggestion-list p{max-width:48rem;margin:var(--space-2) 0;color:var(--color-ink-soft);font-size:var(--font-meta);line-height:1.5}.suggestion-list__evidence{font-variant-numeric:tabular-nums}.suggestion-list .suggestion-list__warning,.dinner-picker>.suggestion-list__warning{color:var(--color-ink-faint)}.preparation-form{gap:var(--space-6);grid-template-columns:repeat(3,minmax(0,1fr));display:grid}.preparation-form>div{gap:var(--space-3);grid-column:1/-1;display:flex}.fuel-empty{margin:var(--space-8) 0;color:var(--color-ink-faint)}.fuel-library-link{margin-top:var(--space-10)}@media (width<=800px){.fuel-form__advanced-fields,.training-context>ol>li,.dinner-picker__controls,.preparation-form{grid-template-columns:1fr}.training-context__coverage{justify-content:space-between}.preparation-form>div{grid-column:auto}.dinner-list>ol>li{grid-template-columns:3rem minmax(0,1fr)}.dinner-list__status{grid-column:2}.dinner-list__editor{grid-column:1/-1}}@media (width<=560px){.fuel-section-heading{flex-direction:column;align-items:start}.suggestion-list li{grid-template-columns:1fr}}.fund-page .section,.fund-page .state{max-width:72rem}.fund-hero .facts dd span{color:var(--color-ink-faint);font-size:var(--font-meta);letter-spacing:0}.fund-hero.is-over-plan h1 span,.fund-page .is-negative{color:var(--color-error)}.fund-month-nav,.fund-actions{gap:var(--space-2);flex-wrap:wrap;display:flex}.fund-section-heading{justify-content:space-between;align-items:end;gap:var(--space-4) var(--space-6);flex-wrap:wrap;display:flex}.fund-section-heading>div:first-child{flex:24rem}.fund-section-heading>div:first-child h2{margin-bottom:0}.fund-section-heading .fund-actions{flex:none}.fund-form,.fund-inline-form{gap:var(--space-5) var(--space-6);margin-top:var(--space-6);grid-template-columns:repeat(4,minmax(0,1fr)) auto;align-items:end}.fund-form--activity,.fund-inline-form--wide{grid-template-columns:repeat(3,minmax(0,1fr))}.fund-form .form-error,.fund-inline-form .form-error{grid-column:1/-1;margin-top:0}.fund-tabs{margin-top:var(--space-6)}.fund-account-grid,.fund-review-list{gap:var(--space-5) var(--space-8);margin-top:var(--space-8);grid-template-columns:repeat(3,minmax(0,1fr));display:grid}.fund-account-grid article,.fund-review-list article{align-content:start;gap:var(--space-3);padding:var(--space-5) 0;border-top:1px solid var(--color-line-soft);display:grid}.fund-account-grid h3,.fund-review-list h3{margin:0;font-size:1rem;font-weight:500}.fund-account-grid span,.fund-review-list p{color:var(--color-ink-faint);font-size:var(--font-meta);margin:0;line-height:1.5}.fund-account-grid strong{font-family:var(--font-mono);font-variant-numeric:tabular-nums;letter-spacing:-.02em;font-size:1.35rem;font-weight:500}.fund-review-list>article>strong{font-size:var(--font-meta);font-weight:500}.fund-review-list dl{gap:var(--space-4);grid-template-columns:repeat(2,1fr);margin:0;display:grid}.fund-review-list dt{color:var(--color-ink-faint);font-size:var(--font-meta)}.fund-review-list dd{margin:var(--space-1) 0 0;font-family:var(--font-mono);font-variant-numeric:tabular-nums}.fund-compact-list,.fund-movement-list{margin:var(--space-8) 0 0;border-top:1px solid var(--color-line-soft);padding:0;list-style:none}.fund-compact-list li{gap:var(--space-5);padding:var(--space-4) 0;border-bottom:1px solid var(--color-line-soft);grid-template-columns:1fr 1fr auto;display:grid}.fund-compact-list strong{font-weight:500}.fund-compact-list span{color:var(--color-ink-faint);font-size:var(--font-meta)}.fund-compact-list .fund-amount{color:var(--color-ink);font-family:var(--font-mono);font-variant-numeric:tabular-nums}.fund-compact-list .text-link{font-size:var(--font-meta)}.fund-banking>p{max-width:44rem;color:var(--color-ink-soft);line-height:1.6}.fund-bank-accounts{margin:var(--space-6) 0;border-top:1px solid var(--color-line-soft);padding:0;list-style:none}.fund-bank-accounts li{gap:var(--space-6);padding:var(--space-4) 0;border-bottom:1px solid var(--color-line-soft);grid-template-columns:minmax(14rem,1fr) minmax(15rem,.8fr);align-items:end;display:grid}.fund-bank-accounts li>div,.fund-bank-accounts label{gap:var(--space-1);display:grid}.fund-bank-accounts strong{font-weight:500}.fund-bank-accounts span,.fund-bank-accounts label{color:var(--color-ink-faint);font-size:var(--font-meta)}.fund-bank-accounts select{border:0;border-bottom:1px solid var(--color-line-mid);min-height:2.75rem;color:var(--color-ink);background:0 0;border-radius:0}.fund-disconnect{color:var(--color-ink-soft);font-size:var(--font-meta)}.fund-movement-list>li{gap:var(--space-5);padding:var(--space-4) 0;border-bottom:1px solid var(--color-line-soft);grid-template-columns:minmax(14rem,1.5fr) minmax(6rem,.5fr) minmax(8rem,.6fr) auto;align-items:center;display:grid}.fund-movement-list>li>div:first-child{gap:var(--space-1);display:grid}.fund-movement-list>li>div:first-child strong{font-weight:500}.fund-movement-list>li>div:first-child span,.fund-movement-list>li>span{color:var(--color-ink-faint);font-size:var(--font-meta)}.fund-movement-list>li>strong{font-family:var(--font-mono);font-variant-numeric:tabular-nums;text-align:right;font-weight:500}.fund-row-editor{gap:var(--space-5);margin:var(--space-2) 0 var(--space-3);padding-left:var(--space-5);border-left:1px solid var(--color-line-mid);grid-column:1/-1;grid-template-columns:1fr 1fr minmax(14rem,1.3fr) auto auto;align-items:end;display:grid}.fund-movement-list>li>button,.fund-row-editor>button{justify-self:start}.fund-row-editor>p{color:var(--color-ink-faint);font-size:var(--font-meta);margin:0;line-height:1.5}.fund-check{gap:var(--space-2);min-height:2.75rem;color:var(--color-ink-soft);font-size:var(--font-meta);align-items:center;display:flex}.fund-empty{margin-top:var(--space-6);color:var(--color-ink-faint)}@media (width<=900px){.fund-form,.fund-inline-form,.fund-form--activity,.fund-inline-form--wide,.fund-account-grid,.fund-review-list,.fund-row-editor{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=620px){.fund-form,.fund-inline-form,.fund-form--activity,.fund-inline-form--wide,.fund-account-grid,.fund-review-list,.fund-row-editor,.fund-bank-accounts li{grid-template-columns:1fr}.fund-section-heading{flex-direction:column;align-items:start}.fund-movement-list>li{grid-template-columns:1fr auto}.fund-movement-list>li>div:first-child{grid-column:1/-1}.fund-compact-list li{grid-template-columns:1fr auto}.fund-compact-list li span:nth-child(2){grid-area:2/1/auto/-1}}.cadence-setup{max-width:62rem}.cadence-setup__intro{max-width:34rem;margin:0 0 var(--space-8);color:var(--color-ink-soft);line-height:1.65}.cadence-setup form{gap:var(--space-8);display:grid}.cadence-setup__start{width:min(100%,15rem)}.cadence-setup__rows{gap:var(--space-8);grid-template-columns:repeat(3,minmax(0,1fr));display:grid}.cadence-setup fieldset{gap:var(--space-5);min-width:0;padding:var(--space-5) 0 0;border:0;border-top:1px solid var(--color-line-soft);margin:0;display:grid}.cadence-setup legend{padding:0;font-size:1.1rem;font-weight:500}.cadence-setup fieldset p{min-height:2.5em;color:var(--color-ink-faint);font-size:var(--font-meta);margin:0;line-height:1.45}.cadence-setup .button-primary{justify-self:start}@media (width<=700px){.cadence-setup__rows{grid-template-columns:1fr}.cadence-setup fieldset p{min-height:auto}}.core-timeline{--timeline-axis:var(--space-10);--timeline-row:var(--space-16)}.core-timeline__heading{justify-content:space-between;align-items:end;gap:var(--space-6);display:flex}.core-timeline__heading h2{margin:var(--space-2) 0 0;font-size:var(--font-title);letter-spacing:-.035em;font-weight:500}.core-timeline__controls{gap:var(--space-2);flex-wrap:wrap;display:flex}.core-timeline__controls button[aria-pressed=true]{border-color:var(--color-ink)}.core-timeline__intro{max-width:32rem;margin:var(--space-4) 0 var(--space-8);color:var(--color-ink-soft);line-height:1.65}.core-timeline__layout{gap:var(--space-4);grid-template-columns:4.75rem minmax(0,1fr);display:grid}.core-timeline__labels{grid-template-rows:var(--timeline-axis);grid-auto-rows:var(--timeline-row);display:grid}.core-timeline__label{border-top:1px solid var(--color-line-grid);flex-direction:column;justify-content:center;gap:.15rem;display:flex}.core-timeline__label strong{font-size:var(--font-body);font-weight:500}.core-timeline__label span{color:var(--color-ink-faint);font-size:var(--font-meta)}.core-timeline__viewport{overscroll-behavior-inline:contain;scrollbar-color:var(--color-line-mid) transparent;scrollbar-width:thin;scroll-snap-type:x proximity;outline-offset:var(--space-2);overflow-x:auto}.core-timeline__canvas{min-width:64rem;height:calc(var(--timeline-axis) + var(--track-count) * var(--timeline-row));position:relative}.core-timeline__axis{height:100%;color:var(--color-ink-faint);font-size:var(--font-meta);pointer-events:none;position:absolute;inset:0 0 auto}.core-timeline__tick{border-left:1px solid var(--color-line-grid);position:absolute;top:0;bottom:0}.core-timeline__tick span{top:0;left:var(--space-2);font-family:var(--font-mono);font-variant-numeric:tabular-nums;position:absolute}.core-timeline__row{top:calc(var(--timeline-axis) + var(--track-index) * var(--timeline-row));height:var(--timeline-row);border-top:1px solid var(--color-line-grid);position:absolute;left:0;right:0}.core-timeline__period{top:var(--space-5);left:calc(var(--period-left) + 1px);width:max(calc(var(--period-width) - 2px), 3px);height:var(--space-6);border:1px solid var(--color-line-mid);cursor:pointer;transition:border-color var(--motion-direct) var(--ease-settle), outline-color var(--motion-direct) var(--ease-settle);background:0 0;border-radius:1px;padding:0;position:absolute;overflow:hidden}.core-timeline__period>span{width:var(--period-progress);background:var(--color-mark);opacity:.76;position:absolute;inset:0 auto 0 0}.core-timeline__plan-marker{z-index:1;top:2px;bottom:2px;left:clamp(1px, var(--period-plan), calc(100% - 2px));background:var(--color-ink);content:"";width:2px;position:absolute}.core-timeline__period:hover,.core-timeline__period[aria-pressed=true]{border-color:var(--color-accent);outline:1px solid var(--color-accent);outline-offset:2px}.core-timeline__period--current{border-right:3px solid var(--color-accent)}.core-timeline__period--current>span{background:var(--color-accent);opacity:.72}.core-timeline__period--zero{border-color:var(--color-line-mid)}.core-timeline__period--unavailable{border-style:dashed;border-color:var(--color-ink-faint)}.core-timeline__period--unavailable:after{border-top:1px solid var(--color-ink-faint);content:"";position:absolute;top:50%;left:18%;right:18%}.core-timeline__legend{gap:var(--space-3) var(--space-6);margin:var(--space-5) 0 0 calc(4.75rem + var(--space-4));color:var(--color-ink-soft);font-size:var(--font-meta);flex-wrap:wrap;display:flex}.core-timeline__legend span{align-items:center;gap:var(--space-2);display:inline-flex}.legend-mark{border:1px solid var(--color-line-mid);background:var(--color-mark);opacity:.76;width:1.75rem;height:.55rem;display:inline-block}.legend-mark--current{border-right:3px solid var(--color-accent);background:var(--color-accent)}.legend-mark--zero{background:0 0}.legend-mark--unavailable{background:0 0;border-style:dashed}.legend-mark--plan{background:0 0;position:relative}.legend-mark--plan:after{background:var(--color-ink);content:"";width:2px;position:absolute;top:-.1rem;bottom:-.1rem;left:60%}.period-detail{align-items:end;gap:var(--space-8);margin:var(--space-10) 0 0 calc(4.75rem + var(--space-4));padding-top:var(--space-5);border-top:1px solid var(--color-line-mid);grid-template-columns:minmax(10rem,1fr) auto minmax(14rem,1.5fr);display:grid}.period-detail h3{margin:var(--space-1) 0 0;font-size:var(--font-body);font-weight:500}.period-detail__measures{gap:var(--space-6);align-items:end;display:flex}.period-detail__amount{align-items:baseline;gap:var(--space-2);white-space:nowrap;display:flex}.period-detail__amount strong{font-family:var(--font-mono);letter-spacing:-.03em;font-variant-numeric:tabular-nums;font-size:clamp(1.5rem,3vw,2.4rem);font-weight:600}.period-detail__amount--plan strong{font-size:clamp(1.2rem,2.4vw,1.9rem)}.period-detail__amount span,.period-detail>p,.period-detail__no-plan{color:var(--color-ink-soft);font-size:var(--font-meta)}.period-detail__no-plan{max-width:9rem;margin:0;line-height:1.35}.period-detail>p{max-width:24rem;margin:0;line-height:1.55}.period-evidence{margin:var(--space-12) 0 0 calc(4.75rem + var(--space-4));padding-top:var(--space-6);border-top:1px solid var(--color-line-mid)}.period-evidence__heading{gap:var(--space-8);grid-template-columns:minmax(12rem,1fr) minmax(16rem,1.5fr);align-items:end;display:grid}.period-evidence__heading h3{margin:var(--space-1) 0 0;letter-spacing:-.035em;font-size:clamp(1.35rem,2vw,1.8rem);font-weight:500}.period-evidence__heading>p{max-width:31rem;color:var(--color-ink-soft);margin:0;line-height:1.55}.period-evidence__state{margin:var(--space-8) 0 0;color:var(--color-ink-soft)}.period-evidence__grid{gap:var(--space-8);margin-top:var(--space-10);grid-template-columns:repeat(3,minmax(0,1fr));display:grid}.period-evidence__grid article{min-width:0}.period-evidence__area-heading{justify-content:space-between;gap:var(--space-4);align-items:start;min-height:5rem;display:flex}.period-evidence__area-heading h4{margin:var(--space-2) 0 0;font-size:var(--font-body);font-weight:500;line-height:1.4}.period-evidence__area-heading a{color:var(--color-ink-soft);font-size:var(--font-meta);text-underline-offset:.2em;flex:none}.period-evidence__grid ul{margin:var(--space-3) 0 0;border-top:1px solid var(--color-line-soft);padding:0;list-style:none}.period-evidence__grid li{justify-content:space-between;gap:var(--space-4);padding:var(--space-3) 0;border-bottom:1px solid var(--color-line-soft);font-size:var(--font-meta);display:flex}.period-evidence__grid li>div{gap:var(--space-1);min-width:0;display:grid}.period-evidence__grid li strong{text-overflow:ellipsis;white-space:nowrap;font-weight:500;overflow:hidden}.period-evidence__grid li span{color:var(--color-ink-soft)}.period-evidence__grid li>span{font-family:var(--font-mono);font-variant-numeric:tabular-nums;flex:none}.period-evidence__empty{margin:var(--space-3) 0 0;padding:var(--space-4) 0;border-top:1px solid var(--color-line-soft);color:var(--color-ink-faint);font-size:var(--font-meta)}@media (width<=700px){.core-timeline{margin-top:var(--space-10);padding-top:var(--space-6)}.core-timeline__heading{align-items:start;gap:var(--space-4);flex-direction:column}.core-timeline__heading>div:first-child{width:100%}.core-timeline__layout{gap:var(--space-2);grid-template-columns:3.8rem minmax(0,1fr)}.core-timeline__canvas{min-width:48rem}.core-timeline__legend,.period-detail,.period-evidence{margin-left:0}.period-detail{align-items:start;gap:var(--space-4);grid-template-columns:1fr auto}.period-detail>p{grid-column:1/-1}.period-detail__measures{gap:var(--space-3);flex-direction:column;align-items:end}.period-evidence__heading,.period-evidence__grid{gap:var(--space-6);grid-template-columns:1fr}.period-evidence__area-heading{min-height:0}}@media (width<=520px){.period-detail{grid-template-columns:1fr}.period-detail__measures{align-items:start}.period-detail>p{grid-column:auto}}@media (prefers-reduced-motion:reduce){.core-timeline__viewport{scroll-behavior:auto}.core-timeline__period{transition:none}}.home-logout{color:var(--color-ink-soft);font-size:var(--font-meta)}.login-panel{max-width:34rem}.login-panel form{gap:var(--space-5);display:grid}.login-panel .button-primary{margin-top:var(--space-3);justify-self:start}.login-panel .button-primary:disabled{cursor:wait}.recipes-header{justify-content:space-between;align-items:end;gap:var(--space-10);padding-bottom:var(--space-10);display:flex}.recipes-header h1{margin:var(--space-6) 0 var(--space-4);font-size:var(--font-title);line-height:1.2}.recipes-header form{gap:var(--space-5);align-items:end;display:flex}.recipes-layout{gap:var(--space-10);grid-template-columns:minmax(15rem,.65fr) minmax(0,1.5fr);display:grid}.recipe-list{scroll-margin-top:var(--space-5);border-top:1px solid var(--color-line-grid)}.recipe-list>h2{padding:var(--space-4) 0;margin:0;font-size:1rem;font-weight:500}.recipe-list__scroll{border-top:1px solid var(--color-line-soft);max-height:calc(100vh - 15rem);overflow-y:auto}.recipe-list ul{margin:0;padding:0;list-style:none}.recipe-list li{border-bottom:1px solid var(--color-line-soft)}.recipe-list a{gap:var(--space-1);padding:var(--space-4) var(--space-3);color:var(--color-ink);transition:border-color var(--motion-direct) var(--ease-settle);border-left:1px solid #0000;text-decoration:none;display:grid}.recipe-list a:hover{border-left-color:var(--color-line-mid)}.recipe-list a.is-selected{border-left-color:var(--color-accent)}.recipe-list a.is-selected strong{color:var(--color-accent)}.recipe-list a strong{font-size:.95rem;font-weight:500}.recipe-list a span{color:var(--color-ink-faint);font-size:var(--font-meta)}.recipe-list__empty,.recipe-list__scroll>p{padding:var(--space-4) 0;color:var(--color-ink-faint);margin:0}.recipe-list__scroll>.form-error{color:var(--color-error)}.recipe-detail{scroll-margin-top:var(--space-5);padding-top:var(--space-4);border-top:1px solid var(--color-line-grid)}.recipe-detail__back{display:none}.recipe-detail header .statement{margin:var(--space-4) 0 var(--space-3)}.recipe-detail header>p:last-child{max-width:42rem;color:var(--color-ink-soft);line-height:1.6}.recipe-facts{margin:var(--space-8) 0}.recipe-detail section{margin-top:var(--space-8);padding-top:var(--space-5);border-top:1px solid var(--color-line-soft)}.recipe-detail section h3{margin:0 0 var(--space-4);font-size:1.1rem;font-weight:500}.recipe-guidance__content,.recipe-instructions,.recipe-ingredients{max-width:48rem;color:var(--color-ink-soft);line-height:1.65}.recipe-guidance .disclosure{margin-top:0}.recipe-guidance .disclosure>summary{color:var(--color-ink);font-size:1.05rem}.recipe-guidance__content{margin-top:var(--space-5)}.recipe-guidance__content p{margin:0}.recipe-guidance__content p+p,.recipe-guidance__content ul+p{margin-top:var(--space-4)}.recipe-guidance__content ul{margin:var(--space-4) 0 0;padding-left:var(--space-5)}.recipe-instructions{white-space:pre-wrap}.recipe-ingredients{gap:var(--space-5);display:grid}.recipe-ingredients h4{margin:0 0 var(--space-2);font-size:.95rem}.recipe-ingredients ul{padding-left:var(--space-5);margin:0}@media (width<=800px){.recipes-header{flex-direction:column;align-items:start}.recipes-header form{flex-wrap:wrap;width:100%}.recipes-header form label:last-of-type{flex:1}.recipes-layout{grid-template-columns:1fr}.recipe-list__scroll{max-height:16rem}.recipe-detail__back{margin-bottom:var(--space-5);color:var(--color-ink-soft);font-size:var(--font-meta);-webkit-text-decoration-color:var(--color-accent);text-decoration-color:var(--color-accent);text-underline-offset:.3em;display:inline-block}}@media (width<=520px){.recipes-header form{grid-template-columns:.6fr 1fr;display:grid}.recipes-header .button-primary{grid-column:1/-1}}
