@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/2c55a0e60120577a-s.0-dom-5bn10r2.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/9c72aa0f40e4eef8-s.1y4-pdgsjb-pw.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/ad66f9afd8947f86-s.3lvt2whj97whp.woff2)format("woff2");unicode-range:U+1F??}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/5476f68d60460930-s.2uwcyprjm3xu3.woff2)format("woff2");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/2bbe8d2671613f1f-s.0k62hbripvv8p.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/1bffadaabf893a1e-s.3-6t-g6q0vh0a.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/83afe278b6a6bb3c-s.p.2bn3s6zvc0dyp.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Inter Fallback;src:local(Arial);ascent-override:90.44%;descent-override:22.52%;line-gap-override:0.0%;size-adjust:107.12%}.inter_5901b7c6-module__ec5Qua__className{font-family:Inter,Inter Fallback;font-style:normal}.inter_5901b7c6-module__ec5Qua__variable{--font-inter:"Inter", "Inter Fallback"}
@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:500;font-display:swap;src:url(../media/606d931d1de1f041-s.05w992gizc866.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:500;font-display:swap;src:url(../media/93ce1fb4a74b790b-s.1m9k836wuo8c7.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:500;font-display:swap;src:url(../media/3673b45bb7dd3324-s.2lz2vdkeqaz2g.woff2)format("woff2");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:500;font-display:swap;src:url(../media/1317291d1835f011-s.1ocfy-u58n01e.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:500;font-display:swap;src:url(../media/4656623e11daf2b7-s.3r4--ze9tqti8.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:500;font-display:swap;src:url(../media/e1750518007a189a-s.p.29e6ydd6osd72.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:JetBrains Mono Fallback;src:local(Arial);ascent-override:75.79%;descent-override:22.29%;line-gap-override:0.0%;size-adjust:134.59%}.jetbrains_mono_92de1c3b-module__o03ODG__className{font-family:JetBrains Mono,JetBrains Mono Fallback;font-style:normal;font-weight:500}.jetbrains_mono_92de1c3b-module__o03ODG__variable{--font-jetbrains-mono:"JetBrains Mono", "JetBrains Mono Fallback"}
:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--bg:#f7f8f2;--surface:#fff;--ink:#22392f;--muted:#5f6e66;--faint:#9aa5a0;--line:#dce3d7;--restseg:#cbd3cf;--easy:#3c8a5a;--int:#cf3f2e;--thr:#db841a;--long:#2e63ad;--str:#7650a6;--rp:#b98b0b;--race:#22392f;--raceText:#f2c84b;--food:#a4552c;--action:#256548;--action-text:#fff;--soft:#e9f0df;--focus:#2e63ad;--display:var(--body);--body:var(--font-inter), "Inter", system-ui, -apple-system, "Segoe UI", sans-serif;--mono:var(--font-jetbrains-mono), "JetBrains Mono", ui-monospace, Menlo, Consolas, monospace}:root[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:#141c18;--surface:#1d2922;--ink:#edf3e9;--muted:#b6c3b8;--faint:#66736d;--line:#3e5143;--restseg:#3a4642;--easy:#5db47f;--int:#f0685a;--thr:#f2a03c;--long:#6e9be0;--str:#a987d6;--rp:#e2b53a;--race:#edf3e9;--raceText:#17271b;--food:#e08a5c;--action:#9dcaa8;--action-text:#17271b;--soft:#2b3d2f;--focus:#88b1f0}*{box-sizing:border-box}.coach-page{max-width:1320px;margin-inline:auto}.coach-intro{grid-column:1/-1;width:100%;max-width:720px;margin-inline:auto;padding:48px 0 0}.coach-intro p{max-width:54ch;color:var(--muted)}.coach-workspace{align-items:start;gap:24px;display:grid}.coach-conversation{width:100%;min-width:0;max-width:720px;margin-inline:auto;padding-bottom:48px}.coach-feedback{grid-column:1/-1;width:100%;max-width:720px;margin-inline:auto}.coach-workspace:has(.coach-draft) .coach-feedback{max-width:none}.coach-feedback [role=status]{color:var(--muted);font-size:13px}.coach-question{margin:24px 0;font-size:17px;font-weight:500}.coach-suggestions{flex-wrap:wrap;gap:8px;margin:0 0 16px;display:flex}.coach-conversation button,.coach-draft-actions button,.coach-feedback button{border:1px solid var(--action);background:var(--action);min-height:44px;color:var(--action-text);font:inherit;cursor:pointer;border-radius:999px;padding:10px 18px}.coach-conversation button:disabled,.coach-draft-actions button:disabled{opacity:.55;cursor:default}.coach-conversation .coach-suggestions button{border-color:var(--muted);color:var(--ink);text-align:left;background:0 0;margin:0;padding:10px 16px;font-size:13px;line-height:1.5}.coach-suggestions button:hover:not(:disabled){border-color:var(--muted)}.coach-composer{background:var(--surface);border:1px solid var(--muted);border-radius:20px;justify-items:end;gap:12px;padding:18px;display:grid}.coach-composer label{color:var(--muted);justify-self:start;font-size:13px}.coach-composer textarea{resize:vertical;width:100%;min-width:0;min-height:48px;color:var(--ink);font:inherit;background:0 0;border:0;padding:4px}.coach-composer textarea:focus-visible{outline:2px solid var(--focus);outline-offset:4px;border-radius:4px}.coach-conversation ol{margin:24px 0;padding:0;list-style:none}.coach-conversation li{max-width:92%;margin:20px 0;padding:8px 0}.coach-conversation .coach-message--user{background:var(--surface);border-radius:16px;margin-left:auto;padding:14px 18px}.coach-conversation li p{white-space:pre-wrap;overflow-wrap:anywhere;margin:4px 0}.coach-summary{border-block:1px solid var(--line);margin-block:24px;padding-block:16px}.coach-summary summary{cursor:pointer;font-weight:500}.coach-summary dl{overflow-wrap:anywhere}.coach-summary dt{color:var(--muted);margin-top:12px;font-size:13px;font-weight:600}.coach-summary dd{margin:2px 0 0}.coach-draft{border-top:1px solid var(--line);min-width:0;padding-block:24px}.coach-draft-actions{flex-wrap:wrap;gap:12px;margin-block:20px 32px;display:flex}.coach-draft-actions button+button{color:var(--ink);background:var(--surface)}.coach-validation{border-left:3px solid var(--thr);padding:12px 16px}.coach-validation[role=alert]{border-color:var(--int)}@media (min-width:1200px){.coach-workspace:has(.coach-draft){grid-template-columns:minmax(320px,.8fr) minmax(0,1.4fr)}.coach-workspace:has(.coach-draft) .coach-suggestions{grid-template-columns:1fr}}@media (max-width:520px){.coach-intro{padding-top:16px}.coach-suggestions{grid-template-columns:1fr;gap:8px}.coach-conversation .coach-suggestions button{padding:10px 14px}.coach-composer{padding:14px}}html{background:var(--bg)}body{background:var(--bg);min-width:0;color:var(--ink);font:400 16px/1.5 var(--body);margin:0}button{font:inherit}button:focus-visible,a:focus-visible{outline:2px solid var(--focus);outline-offset:2px}a{color:inherit;text-underline-offset:.2em}main,.page-wrap{width:100%;max-width:1180px;margin-inline:auto;padding:32px 16px 64px}h1,h2,h3{font-family:var(--body);text-transform:none;letter-spacing:normal;font-weight:600}h1{margin:.5rem 0 1.5rem;font-size:clamp(40px,7vw,76px);line-height:.92}h2{font-size:22px}p{line-height:1.5}.eyebrow{color:var(--muted);letter-spacing:normal;text-transform:none;font-size:13px;font-weight:600}.mono,.profile code{font-family:var(--mono);font-variant-numeric:tabular-nums}.profile code{overflow-wrap:anywhere;font-size:1rem;display:block}.page-header{border-bottom:2px solid var(--ink);gap:24px;padding-bottom:24px;display:grid}.page-header p{max-width:56ch}.page-section{border-bottom:1px solid var(--line);padding-block:24px}.page-section--major{border-top:2px solid var(--ink);border-bottom:0}.page-band,.page-advice{gap:24px;display:grid}.site-controls{justify-content:flex-end;max-width:1180px;margin-inline:auto;padding:12px 16px 0;display:flex}.theme-toggle{border:1px solid var(--muted);background:var(--surface);color:var(--ink);cursor:pointer;border-radius:999px;min-height:44px;padding:6px 14px}.skip-link{z-index:40;background:var(--surface);border:2px solid var(--ink);padding:8px 12px;position:fixed;top:-100px;left:16px}.skip-link:focus{top:12px}.app-shell{min-height:100dvh}.app-header{border-bottom:1px solid var(--line);align-items:center;gap:24px;padding:16px 32px;display:flex}.app-brand{background:var(--ink);width:44px;height:44px;color:var(--bg);border-radius:50%;flex-shrink:0;place-items:center;text-decoration:none;display:grid}.app-brand span{width:28px;height:28px;display:flex}.app-navigation{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.app-navigation a{border-radius:999px;align-items:center;min-height:44px;padding:8px 16px;font-size:14px;font-weight:500;text-decoration:none;display:flex}.app-navigation a:hover{background:var(--soft)}.app-navigation a[aria-current=page]{background:var(--soft);color:var(--ink);text-underline-offset:6px;text-decoration:underline;text-decoration-thickness:2px}.app-content{min-width:0}.app-header-actions{align-items:center;gap:12px;margin-left:auto;display:flex}.app-menu-toggle{display:none}.settings-page{max-width:720px}.settings-actions{flex-wrap:wrap;align-items:center;gap:12px 24px;display:flex}.settings-actions button{border:1px solid var(--line);background:var(--surface);color:var(--ink);cursor:pointer;border-radius:6px;padding:8px 14px}.strava-integration{border-block:2px solid var(--ink);padding-block:24px}.strava-integration p{max-width:60ch}.strava-integration button{border:1px solid var(--line);background:var(--surface);color:var(--ink);cursor:pointer;border-radius:6px;padding:8px 14px}.strava-connect{border-radius:6px;margin-block:12px;line-height:0;display:inline-block}.strava-connect img{max-width:100%;height:auto;display:block}.strava-banner{border-left:4px solid var(--long);background:var(--surface);padding:12px 16px}.powered-by-strava{margin-top:28px;line-height:0;display:inline-block}.powered-by-strava img{max-width:100%;height:auto}.powered-by-strava-dark,:root[data-theme=dark] .powered-by-strava-light{display:none}:root[data-theme=dark] .powered-by-strava-dark{display:block}.strava-dialog-layer{z-index:50;place-items:center;padding:16px;display:grid;position:fixed;inset:0}.strava-dialog-backdrop{background:#0009;position:absolute;inset:0}.strava-dialog{border:2px solid var(--ink);background:var(--surface);width:min(100%,480px);padding:24px;position:relative}.strava-dialog h3{font:600 28px/1 var(--display);text-transform:none;margin-top:0}.strava-dialog button:disabled{opacity:.55;cursor:not-allowed}.visually-hidden{clip:rect(0 0 0 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.plan-header{border-bottom:1px solid var(--line);padding-block:16px 32px}.plan-header h1{margin-bottom:0}.plan-hero{align-items:end;gap:24px 28px;display:grid}.plan-hero h1{overflow-wrap:anywhere;margin-top:6px}.plan-lead{max-width:56ch;color:var(--muted);margin:12px 0 0}.plan-facts{gap:6px;margin:14px 0 0;display:grid}.plan-facts div{grid-template-columns:9.5em minmax(0,1fr);gap:10px;display:grid}.plan-facts dt{color:var(--muted);letter-spacing:normal;text-transform:none;font-size:13px;font-weight:600;line-height:1.9}.plan-facts dd{margin:0}.plan-targets{border:1px solid var(--line);background:var(--surface);border-radius:6px;grid-template-columns:repeat(3,minmax(0,1fr));margin:0;padding:0;list-style:none;display:grid;overflow:hidden}.plan-targets li{border-left:1px solid var(--line);flex-direction:column;min-width:0;padding:12px 14px;display:flex}.plan-targets li:first-child{border-left:0}.plan-targets li:nth-child(2){background:var(--race);color:var(--raceText)}.plan-target-tag{letter-spacing:normal;text-transform:none;font-size:13px;font-weight:600}.plan-target-pace{color:var(--muted);font-size:13px}.plan-targets li:nth-child(2) .plan-target-pace{color:inherit}.plan-target-time{font:600 32px/1.15 var(--body);font-variant-numeric:tabular-nums}.plan-countdown{color:var(--muted);text-align:right;margin:10px 0 0;font-size:13px}.plan-zones{border-bottom:1px solid var(--line);padding-block:22px}.plan-zones h2{margin:0 0 10px}.plan-zones table{border-collapse:collapse;width:100%;max-width:560px;font-size:14px}.plan-zones td{border-bottom:1px solid var(--line);padding:6px 0}.plan-zones td:last-child{text-align:right;white-space:nowrap;padding-left:12px}.plan-advice{border-top:1px solid var(--line);gap:32px;margin-top:32px;padding-top:32px;display:grid}.plan-advice h2{margin:0 0 8px;font-size:26px}.plan-advice p{max-width:62ch}.plan-verdict{font:600 22px/1.2 var(--display)}.plan-checkpoints{margin:10px 0 0;padding:0;list-style:none}.plan-checkpoints li{border-top:1px solid var(--line);grid-template-columns:70px minmax(0,1fr);gap:10px;padding:8px 0;display:grid}.plan-checkpoints time{color:var(--muted);font-size:13px;line-height:1.7}.plan-checkpoints p{margin:0 0 4px}.plan-checkpoint-status{color:var(--muted);font-size:13px}.plan-selection:empty{display:none}.plan-selection{border-left:4px solid var(--long);background:var(--surface);margin:16px 0 0;padding:10px 14px}.plan-retry{border:1px solid var(--line);background:var(--surface);color:var(--ink);cursor:pointer;border-radius:6px;padding:8px 14px}.plan-retry:disabled{opacity:.6;cursor:progress}.plan-legend{border-bottom:1px solid var(--line);padding-block:22px}.plan-legend h2,.plan-calendar-head h2{margin:0 0 10px}.plan-chips{flex-wrap:wrap;gap:8px;display:flex}.plan-chip{border:1px solid var(--line);background:var(--surface);color:var(--ink);cursor:pointer;border-radius:999px;align-items:center;padding:6px 12px;font-size:13px;font-weight:600;display:inline-flex}.plan-chip[aria-pressed=true]{border-color:var(--ink);box-shadow:inset 0 0 0 1px var(--ink)}.plan-swatch{background:var(--c);border-radius:2px;width:10px;height:10px;margin-right:8px;display:inline-block}.plan-note{color:var(--muted);margin:10px 0 0;font-size:13px}.plan-calendar{padding-top:0}.plan-calendar-head{flex-wrap:wrap;align-items:baseline;gap:12px;margin-bottom:12px;padding-top:22px;display:flex}.plan-calendar-head h2,.plan-calendar-head .plan-note{margin:0}.plan-draft-badge{border:1px solid var(--ink);letter-spacing:normal;text-transform:none;border-radius:999px;padding:2px 10px;font-size:13px;font-weight:600}.plan-weekdays,.plan-week-row,.plan-food-row{grid-template-columns:92px repeat(7,minmax(0,1fr));gap:8px;display:grid}.plan-weekdays{color:var(--muted);letter-spacing:normal;text-transform:none;padding-bottom:6px;font-size:13px;font-weight:600}.plan-week-row{margin-bottom:6px}.plan-week-label{border-top:1px solid var(--line);padding:8px 4px 8px 0}.plan-week-label b{font:600 20px/1 var(--display);display:block}.plan-week-label span{color:var(--muted);font-size:13px;display:block}.plan-week-label .plan-week-km{color:var(--ink);margin-top:4px}.plan-day{flex-direction:column;gap:6px;min-width:0;display:flex}.plan-cell{--c:var(--faint);border:1px solid color-mix(in srgb, var(--c) 24%, var(--line));background:color-mix(in srgb, var(--c) 9%, var(--surface));min-height:116px;color:var(--ink);text-align:left;cursor:pointer;overflow-wrap:anywhere;border-radius:10px;flex-direction:column;flex:1;gap:2px;padding:12px 10px;transition:transform .12s,box-shadow .12s,opacity .15s;display:flex;position:relative}.plan-cell:hover{box-shadow:0 4px 14px -6px color-mix(in srgb, var(--c) 70%, transparent);transform:translateY(-1px)}.plan-cell-type{color:color-mix(in srgb, var(--c) 50%, var(--ink));letter-spacing:normal;text-transform:none;padding-right:30px;font-size:13px;font-weight:600}.plan-cell-title{font:600 16px/1.3 var(--body)}.plan-cell-meta{color:var(--muted);margin-top:auto;font-size:13px}.plan-cell-date{color:var(--muted);font-size:13px;position:absolute;top:8px;right:9px}.plan-cell-notice{border-left:2px solid;margin-top:4px;padding-left:6px;font-size:13px;font-weight:600;line-height:1.4}.plan-cell-long-date{display:none}.plan-cell-check{color:var(--c);font-weight:600;position:absolute;top:6px;right:8px}.plan-cell--done .plan-cell-date{display:none}.plan-cell--optional{background:color-mix(in srgb, var(--c) 6%, var(--surface));border-style:dashed}.plan-cell--race{border-color:var(--race);background:var(--race);color:var(--raceText)}.plan-cell--race .plan-cell-type,.plan-cell--race .plan-cell-meta,.plan-cell--race .plan-cell-check{color:var(--raceText)}.plan-cell--race .plan-cell-date{color:var(--raceText);opacity:.7}.plan-cell--today{box-shadow:0 0 0 2px var(--ink)}.plan-cell--dim{background:var(--surface)}.plan-cell--race.plan-cell--dim,.plan-cell--race.plan-cell--dim :is(.plan-cell-type,.plan-cell-title,.plan-cell-meta,.plan-cell-date,.plan-cell-long-date,.plan-cell-check){color:var(--ink);opacity:1}.plan-cell:focus-visible,.plan-chip:focus-visible,.plan-retry:focus-visible{outline:2px solid var(--focus);outline-offset:2px}.plan-rest{border:1px dashed var(--line);min-height:104px;color:var(--muted);border-radius:6px;flex-direction:column;flex:1;padding:8px 9px;font-size:13px;display:flex}.plan-rest .mono{font-size:13px}.plan-rest--today{border:2px solid var(--ink);color:var(--ink)}.plan-rest--notice{border-color:var(--thr);color:var(--ink)}.plan-week-notice{border-left:3px solid var(--thr);color:var(--ink);margin:0 0 8px;padding:6px 10px;font-size:13px;font-weight:600;line-height:1.4}.plan-food-row{margin:-2px 0 10px}.plan-food-label{color:var(--food);letter-spacing:normal;text-transform:none;padding-top:8px;font-size:13px;font-weight:600;line-height:1.2}.plan-food-label span{display:block}.plan-food-label span+span{color:var(--muted);letter-spacing:0;text-transform:none;font-weight:500}.plan-cell--food{border-radius:999px 6px 6px 999px;min-height:62px;padding:8px 10px 8px 14px}.plan-cell--food .plan-cell-title{font:600 13px/1.2 var(--body)}.plan-cell--food .plan-cell-type{font-size:13px}.plan-day--rest.plan-day--notice{display:flex}@media (prefers-reduced-motion:reduce){.plan-cell{transition:none}.plan-cell:hover{transform:none}}@media (max-width:860px){.plan-weekdays{display:none}.plan-week-row,.plan-food-row{grid-template-columns:repeat(2,minmax(0,1fr))}.plan-week-row{margin-bottom:18px}.plan-week-label{border-top:1px solid var(--line);grid-column:1/-1;align-items:baseline;gap:10px;padding:16px 0 4px;display:flex}.plan-week-label span{display:inline}.plan-week-label .plan-week-km{margin:0 0 0 auto}.plan-day--rest,.plan-day--empty{display:none}.plan-cell{min-height:88px}.plan-cell-date{display:none}.plan-cell-long-date{color:var(--muted);font-size:13px;font-weight:500;display:block}.plan-cell--race .plan-cell-long-date{color:var(--raceText)}.plan-cell-type{padding-right:18px}.plan-food-row{margin:0 0 18px}.plan-food-label{grid-column:1/-1;padding-top:0}.plan-food-label span{display:inline}.plan-food-label span+span:before{content:" · "}.plan-cell--food{border-radius:6px}.plan-countdown{text-align:left}}@media (max-width:520px){.plan-target-time{font-size:24px}.plan-targets li{padding:10px}.plan-facts div{grid-template-columns:minmax(0,1fr);gap:0}}@media (max-width:860px){.app-shell{display:block}.app-desktop-navigation{display:none}.app-header{gap:12px;padding:12px 16px}.app-menu-toggle{border:1px solid var(--muted);background:var(--surface);min-height:44px;color:var(--ink);cursor:pointer;border-radius:6px;padding:6px 12px;display:block}.app-drawer-layer{z-index:30;position:fixed;inset:0}.app-drawer-backdrop{background:color-mix(in srgb, var(--ink) 48%, transparent);cursor:pointer;border:0;width:100%;position:absolute;inset:0}.app-mobile-navigation{border-right:1px solid var(--line);background:var(--surface);flex-direction:column;align-items:stretch;width:min(300px,100vw - 48px);margin:0;padding:32px 16px;position:absolute;inset:0 auto 0 0}}@media (min-width:521px){main,.page-wrap,.site-controls{padding-inline:20px}}@media (min-width:861px){.page-header{grid-template-columns:1.3fr 1fr}.page-band,.page-advice{grid-template-columns:repeat(2,minmax(0,1fr))}.plan-hero:has(.plan-hero-side){grid-template-columns:1.3fr 1fr}.plan-advice:has(>div+div){grid-template-columns:repeat(2,minmax(0,1fr))}}.workout-sheet{background:var(--surface);width:min(640px,100% - 32px);max-height:90dvh;color:var(--ink);overscroll-behavior:contain;border:0;border-radius:10px;padding:0;overflow:auto}.workout-sheet::backdrop{background:#00000073}.workout-head{border-bottom:3px solid var(--c);background:color-mix(in srgb, var(--c) 16%, var(--surface));padding:22px 64px 20px 24px;position:relative}.workout-head h3{font:600 32px/1.2 var(--body);margin:2px 0 5px}.workout-head p{margin:0}.workout-sheet--race .workout-head{background:var(--race);color:var(--raceText);border-color:var(--rp)}.workout-sheet--race .workout-head .eyebrow{color:var(--raceText)}.workout-close{border:1px solid var(--line);background:var(--surface);width:44px;height:44px;color:var(--ink);cursor:pointer;border-radius:50%;font-size:26px;position:absolute;top:16px;right:16px}.workout-stats{grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin:0;padding:20px 24px;display:grid}.workout-stats dt,.workout-section h4{color:var(--muted);font:600 13px/1.5 var(--body);text-transform:none;letter-spacing:normal}.workout-stats dd{font:600 26px/1.1 var(--display);font-variant-numeric:tabular-nums;margin:3px 0 0}.workout-section{border-top:1px solid var(--line);margin:0;padding:16px 24px}.workout-section h4{margin:0 0 10px}.workout-section p{margin:6px 0 0}.workout-section ul{margin:0;padding-left:20px}.workout-section li+li{margin-top:5px}.workout-effects{flex-wrap:wrap;gap:5px;margin-bottom:10px;display:flex}.workout-effects span{background:color-mix(in srgb, var(--c) 14%, var(--surface));border:1px solid color-mix(in srgb, var(--c) 35%, transparent);border-radius:999px;padding:3px 9px;font-size:13px}.workout-progression{background:color-mix(in srgb, var(--c) 10%, var(--surface));border-radius:6px;padding:10px 12px}.workout-chart{width:100%;height:auto;display:block}.workout-chart text{fill:var(--muted);font:13px var(--mono)}.workout-scroll{max-width:100%;overflow-x:auto}.workout-steps{border-collapse:collapse;width:100%;font-size:13px}.workout-steps th{font:600 13px var(--body);color:var(--muted);text-align:left;text-transform:none}.workout-steps td,.workout-steps th{border-bottom:1px solid var(--line);padding:8px 6px}.workout-steps td:not(:first-child){white-space:nowrap;font-family:var(--mono);font-variant-numeric:tabular-nums}.workout-step-swatch{border-radius:2px;width:8px;height:8px;margin-right:6px;display:inline-block}.workout-done{align-items:center;gap:8px;font-weight:600;display:flex}.workout-done input{width:24px;height:24px;accent-color:var(--c)}@media (max-width:520px){.workout-sheet{border-radius:14px 14px 0 0;width:100%;max-width:100%;max-height:92dvh;margin:auto 0 0}.workout-head{padding-left:20px}.workout-section,.workout-stats{padding-left:20px;padding-right:20px}.workout-stats{grid-template-columns:repeat(2,minmax(0,1fr))}}.app-content h1,.app-content h2,.app-content h3{font-family:var(--body);text-transform:none;letter-spacing:normal}.app-content h1{font-size:clamp(32px,4.4vw,52px);font-weight:600;line-height:1.12}.app-content h2{font-size:21px;font-weight:600;line-height:1.3}.app-content main{padding:40px 24px 64px}.app-navigation a{border-radius:8px}@media (max-width:520px){.app-content main{padding:32px 16px 48px}}.coach-view-switch{grid-column:1/-1;gap:8px;display:flex}.coach-view-switch button{border:1px solid var(--line);background:var(--surface);min-height:44px;color:var(--ink);cursor:pointer;border-radius:999px;padding:8px 18px}.coach-view-switch button[aria-pressed=true]{background:var(--ink);color:var(--bg)}@media (min-width:1200px){.coach-view-switch{display:none}}@media (max-width:1199px){.coach-workspace:has(.coach-draft)[data-view=chat] .coach-draft{display:none}.coach-workspace:has(.coach-draft)[data-view=plan] .coach-conversation{display:none}}.coach-history{margin-top:24px}.coach-conversation .coach-history>button{color:var(--muted);background:0 0;border-color:#0000;padding-inline:0}.coach-history ol{padding-right:8px}@media (min-width:768px){.coach-history ol{max-height:min(52dvh,620px);overflow-y:auto}}.coach-answer-options{flex-wrap:wrap;gap:8px;margin-bottom:20px;display:flex}.coach-conversation .coach-answer-options button{background:var(--surface);color:var(--ink);border-color:var(--muted);text-align:left;overflow-wrap:anywhere;max-width:100%}.coach-date-answer,.coach-days-answer{margin-bottom:20px}.coach-date-answer label{margin-bottom:8px;display:block}.coach-date-answer input{background:var(--surface);max-width:100%;min-height:44px;color:var(--ink);border:1px solid var(--muted);font:inherit;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;border-radius:12px;padding:8px 12px}[data-theme=dark] .coach-date-answer input{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}.coach-date-answer p,.coach-days-answer p{color:var(--muted);margin-block:8px;font-size:14px}.coach-days-answer fieldset{border:0;min-width:0;margin:0;padding:0}.coach-days-answer legend{color:var(--muted);margin-bottom:8px;font-size:14px}.coach-weekdays{grid-template-columns:repeat(auto-fit,minmax(100px,1fr));gap:8px;display:grid}.coach-weekdays label{border:1px solid var(--muted);background:var(--surface);cursor:pointer;border-radius:12px;align-items:center;gap:6px;min-height:44px;padding:8px;font-size:14px;display:flex}.coach-weekdays label:has(:checked){background:var(--soft);border-color:var(--action)}.coach-weekdays input{accent-color:var(--action);flex-shrink:0;width:16px;height:16px;margin:0}.coach-weekdays label:has(:focus-visible){outline:2px solid var(--focus);outline-offset:3px}.coach-feedback--idle{display:contents}.coach-question{overflow-wrap:anywhere;margin:0 0 20px;font-weight:500}.coach-explanation{white-space:pre-wrap;overflow-wrap:anywhere}.coach-draft{container-type:inline-size}@container (max-width:860px){.plan-weekdays{display:none}.plan-week-row,.plan-food-row{grid-template-columns:repeat(2,minmax(0,1fr))}.plan-week-row{margin-bottom:18px}.plan-week-label{border-top:1px solid var(--line);grid-column:1/-1;align-items:baseline;gap:10px;padding:16px 0 4px;display:flex}.plan-week-label span{display:inline}.plan-week-label .plan-week-km{margin:0 0 0 auto}.plan-day--rest,.plan-day--empty{display:none}.plan-cell{min-height:88px}.plan-cell-date{display:none}.plan-cell-long-date{color:var(--muted);font-size:13px;font-weight:500;display:block}.plan-cell--race .plan-cell-long-date{color:var(--raceText)}.plan-cell-type{padding-right:18px}.plan-food-label{grid-column:1/-1;padding-top:0}.plan-food-label span{display:inline}.plan-food-label span+span:before{content:" · "}.plan-food-row{margin:0 0 18px}.plan-cell--food{border-radius:6px}.plan-countdown{text-align:left}.plan-hero:has(.plan-hero-side){grid-template-columns:1fr}.plan-advice:has(>div+div){grid-template-columns:1fr}}.coach-intro h1{margin:0 0 16px;font-size:44px;line-height:1.15}.coach-intro p{max-width:54ch;color:var(--muted);margin:0}.coach-feedback p:empty{display:none}.coach-composer{gap:8px;padding:16px;box-shadow:0 4px 16px #0000000a}.coach-composer label{clip-path:inset(50%);width:1px;height:1px;position:absolute;overflow:hidden}.coach-composer textarea::placeholder{color:var(--muted);opacity:1}.coach-composer textarea{field-sizing:content;scroll-margin-block:24px;line-height:1.5}.coach-composer button{margin-top:4px}.coach-conversation button:disabled,.coach-draft-actions button:disabled{opacity:1;background:var(--soft);color:var(--muted);border-color:var(--muted)}.app-content h1.coach-question{font-size:28px;font-weight:500;line-height:1.25}.settings-actions button,.strava-integration button,.plan-retry{border-color:var(--muted);border-radius:12px;min-height:44px}.plan-chip{border-color:var(--muted);min-height:44px}.workout-close{border-color:var(--muted)}.workout-done{cursor:pointer;min-height:44px}.workout-stats dd{overflow-wrap:anywhere}@media (max-width:520px){.coach-intro h1{font-size:32px;line-height:1.2}.app-content h1.coach-question{font-size:24px}.app-header,.app-header-actions{flex-wrap:wrap}.coach-suggestions{gap:8px}.coach-composer{padding-bottom:max(16px, env(safe-area-inset-bottom))}.workout-sheet{border-radius:20px 20px 0 0}}.coach-summary{padding-block:24px}.coach-summary h2{margin:0 0 16px;font-size:20px;font-weight:500}.coach-summary h3{color:var(--muted);margin:0 0 12px;font-size:14px;font-weight:500}.coach-brief-objects{grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:start;gap:16px;display:grid}.coach-brief-objects>article,.coach-brief-context>article{background:var(--surface);overflow-wrap:anywhere;border-radius:16px;min-width:0;padding:20px}.coach-brief-objects p,.coach-brief-context p{margin:8px 0}.coach-brief-goal .coach-brief-value{margin-block:12px 16px;font-size:32px;font-weight:500;line-height:1.2}.coach-brief-period{grid-column:1/-1}.coach-brief-timeline{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:24px;margin:0 0 12px;display:grid}.coach-brief-timeline>div{border-left:3px solid var(--action);padding-left:12px}.coach-brief-timeline dt{margin-top:0}.coach-brief-timeline dd{font-size:16px;line-height:1.5}.coach-summary .coach-brief-week{flex-wrap:wrap;gap:4px;margin:0 0 12px;padding:0;list-style:none;display:flex}.coach-conversation .coach-brief-week li{border:1px solid var(--line);border-radius:8px;max-width:none;margin:0;padding:4px 7px;font-size:13px}.coach-conversation .coach-brief-week li[data-selected]{border-color:var(--action);background:var(--soft);color:var(--ink)}.coach-brief-context{grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:start;gap:16px;margin-top:16px;display:grid}.coach-brief-caption{color:var(--muted);font-size:13px}.coach-conversation .coach-summary article>button{border-color:var(--muted);color:var(--ink);background:0 0;margin-top:8px;padding:8px 12px;font-size:14px}.coach-brief-review{margin-top:16px}.coach-brief-review>summary{align-content:center;min-height:44px}.coach-brief-review section{padding-block:8px}.coach-brief-review h3{margin-top:20px}.coach-brief-review li{margin:8px 0;padding:0}.coach-brief-editor{border-top:1px solid var(--line);flex-direction:column;align-items:stretch;gap:8px;margin-top:16px;padding-top:16px;scroll-margin-block:24px;display:flex}.coach-brief-editor label,.coach-brief-editor legend{font-size:14px}.coach-brief-editor input,.coach-brief-editor select,.coach-brief-editor textarea{border:1px solid var(--muted);background:var(--surface);width:100%;min-width:0;min-height:44px;color:var(--ink);font:inherit;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;border-radius:12px;padding:8px 12px}[data-theme=dark] .coach-brief-editor input{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}.coach-brief-editor textarea{resize:vertical;min-height:96px}.coach-brief-editor fieldset{border:0;min-width:0;padding:0}.coach-brief-editor .coach-weekdays input{width:16px;min-height:16px;padding:0}.coach-brief-editor input:not([type=checkbox]):focus-visible,.coach-brief-editor select:focus-visible,.coach-brief-editor textarea:focus-visible{outline:2px solid var(--focus);outline-offset:2px}.coach-brief-editor [role=alert]{border-left:3px solid var(--ink);padding-left:12px;font-size:14px}.coach-brief-proposed{border-left:3px dashed var(--action);padding-left:12px;font-size:14px;font-weight:500}.coach-brief-editor button{white-space:normal;max-width:100%}.coach-brief-editor button+button{color:var(--ink);border-color:var(--muted);background:0 0}@media (max-width:520px){.coach-brief-objects,.coach-brief-context,.coach-brief-timeline{grid-template-columns:minmax(0,1fr)}.coach-brief-objects>article,.coach-brief-context>article{padding:16px}.coach-brief-timeline{gap:12px}}
