:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:#0b0d0f;--surface:#15181b;--surface-2:#1c2024;--border:#2b3137;--border-strong:#6b747d;--text:#eef2f4;--text-muted:#a4aeb6;--teal:#2ec4b3;--teal-text:#5fdccd;--teal-ink:#04211e;--teal-tint:#0f2b28;--red:#f27272;--red-tint:#2e1517;--sand:#e3c48e;--sand-tint:#2a2417;--slate:#b9c3cc;--slate-tint:#20262b;--chart-planned:#20a394;--chart-recorded:#8d76e6;--radius:14px;--radius-sm:9px;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:24px;--space-6:32px;--space-7:48px;--nav-h:64px;--font:system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif}*,:before,:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;-moz-text-size-adjust:100%;text-size-adjust:100%;scroll-padding-bottom:calc(var(--nav-h) + var(--space-3) + env(safe-area-inset-bottom,0px))}@media (min-width:900px){html{scroll-padding-bottom:0}}body{background:var(--bg);color:var(--text);font-family:var(--font);-webkit-font-smoothing:antialiased;margin:0;font-size:1rem;line-height:1.55}h1,h2,h3{letter-spacing:-.01em;margin:0;font-weight:650;line-height:1.2}h1{font-size:clamp(1.75rem,1.4rem + 1.6vw,2.5rem)}h2{font-size:1.2rem}p{margin:0}a{color:var(--teal-text)}:focus-visible{outline:2px solid var(--teal-text);outline-offset:2px;border-radius:6px}[tabindex="-1"]:focus{outline:none}.sr-only{clip:rect(0 0 0 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.skip-link{left:var(--space-4);z-index:20;padding:var(--space-2) var(--space-4);background:var(--teal);color:var(--teal-ink);border-radius:var(--radius-sm);font-weight:650;text-decoration:none;position:absolute;top:-48px}.skip-link:focus{top:var(--space-2)}.frame{grid-template:"top""main"1fr/minmax(0,1fr);min-height:100vh;display:grid}.topbar{align-items:center;gap:var(--space-3) var(--space-5);padding:var(--space-3) var(--space-4);border-bottom:1px solid var(--border);background:var(--bg);flex-wrap:wrap;grid-area:top;display:flex}.brand{align-items:center;gap:var(--space-2);color:var(--text);letter-spacing:.01em;font-size:1.1rem;font-weight:700;text-decoration:none;display:inline-flex}.brand-mark{color:var(--teal)}.brand-name sub{font-size:.65em}.brand-ai{color:var(--teal-text)}.synthetic-banner{align-items:center;gap:var(--space-2);padding:2px var(--space-3);border:1px solid var(--sand-tint);color:var(--sand);background:0 0;border-radius:999px;font-size:.78rem;font-weight:500;line-height:1.35;display:inline-flex}.synthetic-banner .dot{background:var(--sand);border-radius:50%;flex:none;width:6px;height:6px}.nav{z-index:10;background:var(--surface);border-top:1px solid var(--border);padding-bottom:env(safe-area-inset-bottom,0);position:fixed;inset:auto 0 0}.nav-list{grid-template-columns:repeat(5,minmax(0,1fr));margin:0;padding:0;list-style:none;display:grid}.nav-link{min-height:var(--nav-h);padding:var(--space-1);color:var(--text-muted);flex-direction:column;justify-content:center;align-items:center;gap:2px;font-size:.75rem;font-weight:550;text-decoration:none;display:flex}.nav-link:hover{color:var(--text)}.nav-link[aria-current=page]{color:var(--teal-text)}.nav-label--long{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.main{min-width:0;padding:var(--space-5) var(--space-4) calc(var(--nav-h) + var(--space-6));grid-area:main}@media (min-width:900px){.frame{grid-template-columns:240px minmax(0,1fr);grid-template-areas:"nav top""nav main"}.topbar{padding:var(--space-3) var(--space-5)}.nav{border-top:0;border-right:1px solid var(--border);background:var(--bg);min-height:100vh;padding:var(--space-4) var(--space-3);grid-area:nav;align-self:start;position:sticky;top:0}.nav-list{gap:var(--space-1);grid-template-columns:1fr}.nav-link{justify-content:flex-start;gap:var(--space-3);min-height:44px;padding:var(--space-2) var(--space-3);border-radius:var(--radius-sm);flex-direction:row;font-size:.95rem}.nav-link[aria-current=page]{background:var(--teal-tint)}.nav-label--long{clip:auto;width:auto;height:auto;position:static;overflow:visible}.nav-label--short{display:none}.main{padding:var(--space-6) var(--space-6) var(--space-7)}}.page{gap:var(--space-5);grid-template-columns:minmax(0,1fr);max-width:1160px;margin:0 auto;display:grid}.page-head{gap:var(--space-2);display:grid}.subtitle,.muted{color:var(--text-muted)}.eyebrow{color:var(--text-muted);letter-spacing:.06em;text-transform:uppercase;font-size:.8rem;font-weight:600}.hint{color:var(--text-muted);font-size:.85rem}.seg{gap:var(--space-2);border:0;min-width:0;margin:0;padding:0;display:grid}.seg legend,.field label{margin-bottom:var(--space-2);padding:0;font-size:.95rem;font-weight:600}.seg-options{gap:var(--space-2);grid-template-columns:repeat(3,minmax(0,1fr));display:grid}.seg-option{cursor:pointer;display:block;position:relative}.seg-option input{opacity:0;cursor:pointer;margin:0;position:absolute;inset:0}.seg-text{height:100%;min-height:44px;padding:var(--space-2) var(--space-3);border:1px solid var(--border-strong);border-radius:var(--radius-sm);background:var(--surface-2);gap:2px;display:grid}.seg-title{font-weight:650}.seg-hint{color:var(--text-muted);font-size:.8rem;display:none}.seg-option input:checked+.seg-text{border-color:var(--teal);background:var(--teal-tint)}.seg-option input:checked+.seg-text .seg-title{color:var(--teal-text)}.seg-option input:focus-visible+.seg-text{outline:2px solid var(--teal-text);outline-offset:2px}@media (min-width:600px){.seg-hint{display:block}}.field{display:grid}select{width:100%;min-height:44px;padding:var(--space-2) var(--space-3);color:var(--text);background:var(--surface-2);border:1px solid var(--border-strong);border-radius:var(--radius-sm);font:inherit}.grid{gap:var(--space-4);grid-template-columns:minmax(0,1fr);display:grid}@media (min-width:720px){.grid{grid-template-columns:repeat(2,minmax(0,1fr))}.card--today,.card--wide{grid-column:1/-1}}@media (min-width:1200px){.page--home .grid{grid-template-columns:repeat(3,minmax(0,1fr))}.page--home .card--today{grid-area:span 2/span 2}.page--home .card--coach{grid-column:span 2}}.card{align-content:start;gap:var(--space-3);min-width:0;padding:var(--space-5);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);grid-template-columns:minmax(0,1fr);display:grid}.card--today{border-color:var(--border-strong);background:linear-gradient(180deg, var(--surface-2), var(--surface))}.today-title{font-size:clamp(1.6rem,1.3rem + 1.2vw,2.1rem)}.lead{font-size:1.05rem}.card-head{justify-content:space-between;align-items:center;gap:var(--space-2) var(--space-4);flex-wrap:wrap;display:flex}.big-number .num{color:var(--teal-text);font-variant-numeric:tabular-nums;font-size:2.6rem;font-weight:700;line-height:1}.big-number .unit{color:var(--text-muted)}.num{font-variant-numeric:tabular-nums}.facts{gap:var(--space-2);margin:0;display:grid}.facts>div{gap:0 var(--space-4);grid-template-columns:minmax(0,1fr);display:grid}@media (min-width:600px){.facts>div{grid-template-columns:minmax(150px,.4fr) minmax(0,1fr)}}.facts dt{color:var(--text-muted)}.facts dd{margin:0}.facts--detail{padding-top:var(--space-3);border-top:1px solid var(--border)}.steps{gap:var(--space-2);margin:0;padding:0;list-style:none;display:grid}.step{gap:2px var(--space-3);padding:var(--space-3);background:var(--bg);border:1px solid var(--border);border-left:3px solid var(--teal);border-radius:var(--radius-sm);grid-template-columns:minmax(0,1fr) auto;display:grid}.step-name{font-weight:600}.step-time{text-align:right;font-variant-numeric:tabular-nums}.step-effort,.step-target{color:var(--text-muted);grid-column:1/-1;font-size:.9rem}.step-cue{grid-column:1/-1;font-weight:600}.rows{margin:0;padding:0;list-style:none;display:grid}.row{gap:2px var(--space-3);padding:var(--space-3) 0;border-bottom:1px solid var(--border);grid-template-columns:100px minmax(0,1fr);display:grid}.row:last-child{border-bottom:0}.row-date{color:var(--text-muted);font-variant-numeric:tabular-nums}.row-main{font-weight:600}.row-meta{color:var(--text-muted);grid-column:2;font-size:.9rem}.row--quiet .row-main{color:var(--text-muted);font-weight:450}@media (min-width:720px){.row{grid-template-columns:110px minmax(0,1fr) auto}.row-meta{text-align:right;grid-column:auto}}.chips,.quotes,.list{gap:var(--space-2);flex-wrap:wrap;margin:0;padding:0;list-style:none;display:flex}.chip{padding:var(--space-1) var(--space-3);border:1px solid var(--border-strong);background:var(--surface-2);border-radius:999px;font-size:.9rem}.quotes,.list{display:grid}.quote{padding:var(--space-3);border-radius:var(--radius-sm);background:var(--surface-2);border:1px dashed var(--border-strong)}.list li{padding-left:var(--space-4);position:relative}.list li:before{content:"";background:var(--teal);border-radius:50%;width:6px;height:6px;position:absolute;top:.65em;left:0}.button{min-height:44px;padding:var(--space-2) var(--space-4);border-radius:var(--radius-sm);background:var(--teal);color:var(--teal-ink);align-items:center;font-weight:650;text-decoration:none;display:inline-flex}.button:hover{background:var(--teal-text)}.link{justify-self:start;align-items:center;min-height:44px;font-weight:600;display:inline-flex}.badges{gap:var(--space-2);flex-wrap:wrap;display:flex}.badge,.pill{align-items:center;gap:var(--space-1);padding:2px var(--space-3);overflow-wrap:anywhere;border:1px solid;border-radius:999px;font-size:.8rem;font-weight:600;display:inline-flex}.badge--estimate{color:var(--sand);background:var(--sand-tint)}.badge--review,.badge--preview,.pill--preview{color:var(--slate);background:var(--slate-tint)}.badge--demo{color:var(--sand);background:var(--sand-tint)}.badge--warning{color:var(--red);background:var(--red-tint)}.pill{justify-self:start}.notice{padding:var(--space-4);border-radius:var(--radius);border:1px solid var(--border);color:var(--text-muted);gap:var(--space-3);font-size:.9rem;display:grid}.details summary{cursor:pointer;color:var(--text);align-items:center;min-height:44px;font-weight:600;display:flex}.details ul,.details ol{margin:var(--space-2) 0 0;padding-left:var(--space-5)}.state{max-width:640px;margin:var(--space-7) auto;gap:var(--space-3);text-align:center;color:var(--text-muted);justify-items:center;display:grid}.state--error{color:var(--text);padding:var(--space-5);border:1px solid var(--red);border-radius:var(--radius);background:var(--red-tint)}.spinner{border:3px solid var(--border-strong);border-top-color:var(--teal);border-radius:50%;width:28px;height:28px;animation:.9s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}@media (prefers-reduced-motion:reduce){.spinner{animation:none}}.page-head--row{justify-content:space-between;align-items:flex-end;gap:var(--space-3) var(--space-5);flex-wrap:wrap;display:flex}.seg--compact{align-items:center;gap:var(--space-2);display:flex}.seg--compact .seg-label{color:var(--text-muted);font-size:.85rem}.seg--compact .seg-options{gap:var(--space-1)}.seg--compact .seg-text{min-height:44px;padding:var(--space-2) var(--space-3);align-content:center}.seg--compact .seg-title{font-size:.9rem}.cal-toolbar{align-items:center;gap:var(--space-3) var(--space-4);flex-wrap:wrap;display:flex}.seg-links{border:1px solid var(--border-strong);border-radius:var(--radius-sm);background:var(--surface);padding:3px;display:inline-flex}.seg-link{min-height:44px;padding:0 var(--space-4);color:var(--text-muted);border-radius:7px;align-items:center;font-weight:600;text-decoration:none;display:inline-flex}.seg-link[aria-current=true]{background:var(--teal-tint);color:var(--teal-text)}.period{align-items:center;gap:var(--space-2);flex:auto;min-width:0;display:flex}.period-label{min-width:0;font-size:1.15rem}.iconbtn{border-radius:var(--radius-sm);border:1px solid var(--border-strong);background:var(--surface);width:44px;height:44px;color:var(--text);flex:none;place-items:center;display:inline-grid}.iconbtn:hover{border-color:var(--teal)}.iconbtn:disabled{color:var(--text-muted);opacity:.5}.today-link{min-height:44px;padding:0 var(--space-4);border-radius:var(--radius-sm);border:1px solid var(--border-strong);color:var(--text);align-items:center;font-weight:600;text-decoration:none;display:inline-flex}.mark{flex:none;width:16px;height:16px}.legend{gap:var(--space-2) var(--space-4);color:var(--text-muted);flex-wrap:wrap;margin:0;padding:0;font-size:.85rem;list-style:none;display:flex}.lg{align-items:center;gap:6px;display:inline-flex}.lg--planned .mark,.item--planned .mark,.panel-item--planned>.mark{color:var(--teal-text)}.lg--recorded .mark,.item--recorded .mark,.panel-item--recorded>.mark{color:var(--text)}.lg--race .mark,.item--race .mark,.panel-item--race>.mark{color:var(--sand)}.cal-layout{gap:var(--space-4);grid-template-columns:minmax(0,1fr);align-items:start;display:grid}@media (min-width:1200px){.cal-layout{grid-template-columns:minmax(0,1fr) 340px}.day-panel{top:var(--space-4);position:sticky}}.cal-main{gap:var(--space-3);min-width:0;display:grid}.phase-line{gap:var(--space-2);display:flex}.phase-chip{padding:2px var(--space-3);background:var(--slate-tint);color:var(--slate);border-radius:999px;font-size:.8rem;font-weight:600;display:inline-flex}.week-grid{gap:var(--space-2);grid-template-columns:minmax(0,1fr);margin:0;padding:0;list-style:none;display:grid}.day{align-items:center;gap:var(--space-1) var(--space-3);width:100%;min-height:56px;padding:var(--space-2) var(--space-3);text-align:left;font:inherit;color:var(--text);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-sm);cursor:pointer;grid-template-columns:84px minmax(0,1fr);display:grid}.day:hover{border-color:var(--border-strong)}.day-head{white-space:nowrap;align-items:baseline;gap:2px var(--space-2);flex-wrap:wrap;display:flex}.day-wd{color:var(--text-muted);text-transform:uppercase;letter-spacing:.04em;font-size:.8rem;font-weight:600}.day-num{font-variant-numeric:tabular-nums;font-size:1.15rem;font-weight:700}.today-chip{background:var(--teal);color:var(--teal-ink);border-radius:999px;padding:0 6px;font-size:.7rem;font-weight:700}.day-body{gap:4px;min-width:0;display:grid}.item{flex-wrap:wrap;align-items:center;gap:2px 6px;min-width:0;font-size:.9rem;display:flex}.item-name{overflow-wrap:anywhere;font-weight:600}.item-meta{color:var(--text-muted);font-size:.85rem}.item--quiet{color:var(--text-muted)}.item--quiet .item-name{font-weight:500}.day--planned{border-left:3px solid var(--teal)}.day--recorded{background:var(--surface-2)}.day--empty{background:0 0;border-style:dashed}.day.is-selected{border-color:var(--teal-text);box-shadow:inset 0 0 0 1px var(--teal-text)}.day.is-demo .day-num,.day.is-demo .mday-num{color:var(--teal-text)}@media (min-width:720px){.week-grid{grid-template-columns:repeat(7,minmax(0,1fr))}.day{min-height:148px;padding:var(--space-3) var(--space-2);grid-template-rows:auto 1fr;grid-template-columns:minmax(0,1fr);align-content:start;align-items:start}.day--planned{border-left-width:1px;border-top:3px solid var(--teal)}.item{font-size:.85rem}}.month-grid{border-collapse:separate;border-spacing:3px;table-layout:fixed;width:100%}.month-grid th{color:var(--text-muted);text-transform:uppercase;padding:var(--space-1) 0;font-size:.75rem;font-weight:600}.month-grid td{vertical-align:top;padding:0}.month-grid.has-phase .mrow-head{text-transform:none;text-align:left;vertical-align:middle;width:64px;color:var(--slate);overflow-wrap:anywhere;font-size:.75rem}.month-grid .day{grid-template-columns:minmax(0,1fr);align-content:start;justify-items:center;gap:2px;height:100%;min-height:52px;padding:4px 2px}.month-grid .is-outside .day{background:0 0;border-style:dashed}.month-grid .is-outside .mday-num{color:var(--text-muted);font-weight:500}.day:disabled{cursor:default;background:0 0;border-style:dotted}.day:disabled .mday-num,.day:disabled .day-num,.day:disabled .item{color:var(--text-muted)}.mday-num{font-variant-numeric:tabular-nums;font-size:.9rem;font-weight:700}.mday-marks{gap:2px;display:flex}.mday-marks .mark{width:12px;height:12px}.month-grid .day--planned .mark{color:var(--teal-text)}.month-grid .day--recorded .mark{color:var(--text)}.mday-text,.month-grid .today-chip{display:none}@media (min-width:720px){.month-grid{border-spacing:4px}.month-grid .day{min-height:88px;padding:var(--space-2);justify-items:start}.month-grid .day--planned{border-top-width:3px}.mday-text{color:var(--text-muted);overflow-wrap:anywhere;font-size:.78rem;line-height:1.25;display:block}.month-grid .today-chip{display:inline}.mday-marks .mark{width:14px;height:14px}}.day-panel h2{font-size:1.3rem}.panel-items{gap:var(--space-3);margin:0;padding:0;list-style:none;display:grid}.panel-item{gap:var(--space-2);padding:var(--space-3);border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg);grid-template-columns:18px minmax(0,1fr);display:grid}.panel-item>.mark{margin-top:3px}.panel-item>div{gap:var(--space-1);min-width:0;display:grid}.pi-title{font-weight:650}.pi-meta{color:var(--text-muted);font-weight:500}.preview-note{align-items:center;gap:var(--space-2);color:var(--text-muted);flex-wrap:wrap;font-size:.9rem;display:flex}.summary{border-collapse:collapse;width:100%;font-size:.95rem}.summary th,.summary td{text-align:left;vertical-align:top;padding:var(--space-2) var(--space-2) var(--space-2) 0;border-bottom:1px solid var(--border);overflow-wrap:anywhere}.summary thead th{color:var(--text-muted);font-size:.8rem;font-weight:600}.summary tbody th{color:var(--text-muted);width:32%;font-weight:500}.summary .muted{font-size:.85rem}.notes{padding-left:var(--space-5);color:var(--text-muted);margin:0;font-size:.9rem}.badge--planned{color:var(--teal-text);background:var(--teal-tint)}.badge--recorded{color:var(--text);background:var(--surface-2)}.back-link{align-items:center;gap:var(--space-2);justify-self:start;min-height:44px;font-weight:600;text-decoration:none;display:inline-flex}.page--workout .summary,.perf-summary .links{margin-top:var(--space-1)}.metrics{gap:var(--space-3);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}@media (min-width:720px){.metrics{grid-template-columns:repeat(auto-fit,minmax(190px,1fr))}}.metric{min-width:0;padding:var(--space-4);background:var(--surface);border:1px solid var(--border);border-top:3px solid var(--slate);border-radius:var(--radius);align-content:start;gap:2px;display:grid}.metric--recorded{border-top-color:var(--chart-recorded)}.metric--planned{border-top-color:var(--chart-planned)}.metric-label{color:var(--text-muted);font-size:.85rem;font-weight:600}.metric-value{font-variant-numeric:tabular-nums;overflow-wrap:anywhere;font-size:clamp(1.35rem,1.1rem + 1vw,1.9rem);font-weight:650}.metric-value .unit{color:var(--text-muted);font-size:.9rem;font-weight:500}.metric-sub{color:var(--text-muted);overflow-wrap:anywhere;font-size:.82rem}.chart-grid{gap:var(--space-5);grid-template-columns:minmax(0,1fr);display:grid}@media (min-width:1000px){.chart-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}.chart{gap:var(--space-3);min-width:0;margin:0;display:grid}.chart-head h3{font-size:1rem}.chart-sub{color:var(--text-muted);font-size:.82rem}.chart--recorded{--series:var(--chart-recorded)}.chart--planned{--series:var(--chart-planned)}.plot{--gutter:44px;--xh:32px;--top:20px;height:206px;position:relative}.ticks{inset:var(--top) 0 var(--xh) 0;position:absolute}.tick{left:var(--gutter);border-top:1px solid var(--border);position:absolute;right:0}.tick span{color:var(--text-muted);font-variant-numeric:tabular-nums;white-space:nowrap;font-size:.72rem;position:absolute;right:calc(100% + 6px);transform:translateY(-50%)}.cols,.line-area{left:var(--gutter);right:0;top:var(--top);bottom:var(--xh);position:absolute}.cols{grid-template-columns:repeat(var(--n), minmax(0, 1fr));gap:2px;display:grid}.col{justify-content:center;align-items:flex-end;height:100%;display:flex;position:relative}.bar{background:var(--series);border-radius:4px 4px 0 0;width:min(24px,70%);min-height:1px}.col--partial .bar{background:repeating-linear-gradient(135deg, var(--series) 0 3px, transparent 3px 7px);box-shadow:inset 0 0 0 1px var(--series)}.none-mark{border:1px dashed var(--border-strong);border-radius:4px;width:min(24px,70%);height:100%}.none-mark span{clip:rect(0 0 0 0);width:1px;height:1px;position:absolute;overflow:hidden}.cap{color:var(--text);white-space:nowrap;font-size:.75rem;font-weight:600;position:absolute;left:50%;transform:translate(-50%,-4px)}.col .cap{margin-bottom:0}.tip{z-index:5;width:max-content;max-width:220px;padding:var(--space-2) var(--space-3);border-radius:var(--radius-sm);border:1px solid var(--border-strong);background:var(--bg);color:var(--text);pointer-events:none;font-size:.8rem;line-height:1.35;display:none;position:absolute;bottom:calc(100% + 6px);left:50%;transform:translate(-50%)}.col:hover .tip,.pt-slot:hover .tip{display:block}[data-edge=first] .tip{left:0;transform:none}[data-edge=last] .tip{left:auto;right:0;transform:none}.col:hover .bar{filter:brightness(1.15)}.xlabels{left:var(--gutter);height:var(--xh);grid-template-columns:repeat(var(--n), minmax(0, 1fr));color:var(--text-muted);text-align:center;align-items:end;font-size:.7rem;line-height:1.1;display:grid;position:absolute;bottom:0;right:0}.xl{flex-direction:column;align-items:center;min-width:0;display:flex}.xl>span{white-space:nowrap}@media (max-width:480px){.xlabels{font-size:.66rem}}.line-svg{width:100%;height:100%;position:absolute;inset:0;overflow:visible}.line-svg polyline{stroke:var(--series);stroke-width:2px;stroke-linejoin:round;stroke-linecap:round}.pt-slot{width:calc(100% / var(--n));position:absolute;top:0;bottom:0;transform:translate(-50%)}.pt{background:var(--series);width:10px;height:10px;box-shadow:0 0 0 2px var(--surface);border-radius:50%;position:absolute;left:50%;transform:translate(-50%,50%)}.pt--partial{background:var(--surface);box-shadow:inset 0 0 0 2px var(--series), 0 0 0 2px var(--surface)}.pt .cap{bottom:100%;transform:translate(-50%,-6px)}.pt-none{color:var(--text-muted);font-size:.7rem;position:absolute;bottom:0;left:50%;transform:translate(-50%)}.chart-notes{padding-left:var(--space-5);color:var(--text-muted);margin:0;font-size:.82rem}.chart-table summary{cursor:pointer;color:var(--teal-text);align-items:center;min-height:44px;font-size:.9rem;font-weight:600;display:flex}.chart-table .summary{font-size:.85rem}.explain{gap:var(--space-2);padding:var(--space-4);border-radius:var(--radius-sm);border:1px solid var(--border);background:var(--bg);display:grid}.explain h3{font-size:1rem}.zone-grid{gap:var(--space-5);grid-template-columns:minmax(0,1fr);display:grid}@media (min-width:1000px){.zone-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.zone-grid [data-section=pace-zones]{grid-row:span 2}}.zone-block{align-content:start;gap:var(--space-3);min-width:0;display:grid}.zone-block h3{align-items:center;gap:var(--space-2);flex-wrap:wrap;font-size:1rem;display:flex}.zone-table td:last-child{font-variant-numeric:tabular-nums}.rpe-table th{font-variant-numeric:tabular-nums;width:4.5em}.zone-table th,.zone-table td,.rpe-table td{overflow-wrap:normal}.zone-table tbody th{width:3.5em}.tour-btn{min-height:40px;padding:0 var(--space-4);border-radius:var(--radius-sm);border:1px solid var(--teal);color:var(--teal-text);font:inherit;cursor:pointer;background:0 0;margin-left:auto;font-size:.9rem;font-weight:600}.tour-btn:hover{background:var(--teal-tint)}.tour{z-index:30;left:var(--space-3);right:var(--space-3);bottom:calc(var(--nav-h) + var(--space-3) + env(safe-area-inset-bottom,0px));gap:var(--space-2);max-height:46vh;padding:var(--space-4);border-radius:var(--radius);border:1px solid var(--teal);background:var(--surface-2);display:grid;position:fixed;overflow:auto;box-shadow:0 12px 32px #00000073}.tour[hidden]{display:none}@media (min-width:900px){.tour{left:auto;right:var(--space-5);bottom:var(--space-5);width:380px;max-height:calc(100vh - 2 * var(--space-5))}}.tour-count{color:var(--teal-text);font-size:.8rem;font-weight:600}.tour-title{font-size:1.1rem}.tour-body{gap:var(--space-2);font-size:.95rem;display:grid}.tour-actions{align-items:center;gap:var(--space-2);margin-top:var(--space-1);bottom:calc(-1 * var(--space-4));margin-inline:calc(-1 * var(--space-4));margin-bottom:calc(-1 * var(--space-4));padding:var(--space-2) var(--space-4) var(--space-4);background:var(--surface-2);display:flex;position:sticky}.tour-spacer{flex:1}.tour-skip,.tour-nav{min-height:44px;padding:0 var(--space-3);border-radius:var(--radius-sm);border:1px solid var(--border-strong);color:var(--text);font:inherit;cursor:pointer;background:0 0;font-weight:600}.tour-skip{color:var(--text-muted);border-color:#0000}.tour-nav:disabled{opacity:.45;cursor:default}.tour [data-tour=next]{font:inherit;cursor:pointer;border:0;font-weight:650}.tour-target{outline:2px solid var(--teal-text);outline-offset:4px;border-radius:var(--radius)}.table-wrap{max-width:100%;overflow-x:auto}.summary--diag{min-width:46rem}.summary--diag th,.summary--diag td{overflow-wrap:normal}.summary--diag tbody th{white-space:nowrap;width:auto}.avail-week{gap:var(--space-2);grid-template-columns:repeat(auto-fit,minmax(118px,1fr));margin:0;padding:0;list-style:none;display:grid}.avail-day{padding:var(--space-2) var(--space-3);border:1px dashed var(--border-strong);border-radius:var(--radius-sm);color:var(--text-muted);gap:2px;display:grid}.avail-day.is-available{border:1px solid var(--border-strong);border-left:3px solid var(--teal);background:var(--surface-2);color:var(--text)}.avail-wd{font-weight:650}.avail-what{font-size:.9rem}.marker-list{gap:var(--space-2);margin:0;padding:0;list-style:none;display:grid}.marker{padding:var(--space-3);border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg);gap:2px;display:grid}.marker-title{font-weight:650}@media (max-width:600px){.avail-week{gap:var(--space-1);grid-template-columns:1fr}.avail-day{padding:var(--space-1) var(--space-3);grid-template-columns:3.5em 1fr;align-items:baseline}}.print-actions{justify-content:space-between;align-items:center;gap:var(--space-3);flex-wrap:wrap;display:flex}.print-actions .button{font:inherit;cursor:pointer;border:0;font-weight:650}.sheet{--ink:#15181b;--ink-muted:#4a535b;--rule:#c9cfd4;gap:var(--space-4);padding:var(--space-6) var(--space-5);border-radius:var(--radius-sm);color:var(--ink);background:#fff;display:grid}.sheet h1{font-size:1.5rem}.sheet-brand{color:var(--ink-muted);letter-spacing:.04em;text-transform:uppercase;font-size:.8rem;font-weight:600}.sheet-head{gap:var(--space-1);padding-bottom:var(--space-3);border-bottom:2px solid var(--ink);display:grid}.sheet-table{border-collapse:collapse;width:100%;font-size:.92rem}.sheet-table th,.sheet-table td{text-align:left;vertical-align:top;padding:var(--space-2) var(--space-2) var(--space-2) 0;border-bottom:1px solid var(--rule)}.sheet-table thead th{color:var(--ink-muted);text-transform:uppercase;letter-spacing:.03em;font-size:.78rem}.sheet-table .kind{text-transform:uppercase;letter-spacing:.03em;font-size:.78rem;font-weight:650}.row-recorded td,.row-recorded th{color:var(--ink-muted);font-style:italic}.row-rest td,.row-none td{color:var(--ink-muted)}.sheet-totals{gap:var(--space-1);margin:0;display:grid}.sheet-totals>div{gap:0 var(--space-3);flex-wrap:wrap;display:flex}.sheet-totals dt{min-width:11em;font-weight:650}.sheet-totals dd{margin:0}.sheet-muted{color:var(--ink-muted)}.sheet-notes{padding-left:var(--space-5);color:var(--ink);margin:0;font-size:.88rem}.sheet-foot{padding-top:var(--space-3);border-top:1px solid var(--rule);color:var(--ink-muted);font-size:.82rem}@media screen and (max-width:600px){.sheet{padding:var(--space-4) var(--space-3)}.sheet-table thead{clip:rect(0 0 0 0);width:1px;height:1px;position:absolute;overflow:hidden}.sheet-table tr{gap:2px var(--space-3);padding:var(--space-2) 0;border-bottom:1px solid var(--rule);flex-wrap:wrap;display:flex}.sheet-table th,.sheet-table td{border:0;padding:0;display:block}.sheet-table tbody th{flex:auto}.sheet-table td[data-label=Session]{flex-basis:100%}.sheet-table td[data-label=Time]:before,.sheet-table td[data-label=Intensity]:before,.sheet-table td[data-label=Planned\ load]:before{content:attr(data-label) ": ";color:var(--ink-muted)}.sheet-table td.empty{clip:rect(0 0 0 0);width:1px;height:1px;position:absolute;overflow:hidden}.sheet-totals dt{min-width:0}}@media print{@page{margin:14mm}body{color:#000;background:#fff}.skip-link,.topbar,.nav,.tour,.no-print,.seg{display:none!important}.frame{min-height:0;display:block}.main{padding:0}.sheet{border-radius:0;padding:0}.sheet-table{font-size:10.5pt}.sheet-table tr{break-inside:avoid}a{color:inherit;text-decoration:none}}@media (max-width:899px){.synthetic-banner{border-radius:var(--radius-sm);flex-basis:100%;order:3;justify-content:flex-start;font-size:.72rem}.tour-btn{min-height:36px;font-size:.85rem}}.nowrap{white-space:nowrap}.dates-line{color:var(--text-muted);font-size:.85rem}.demo-card .dates-list{margin:0}.demo-day{gap:var(--space-2);max-width:360px}.page-foot{max-width:1160px;margin:var(--space-6) auto 0;padding-top:var(--space-3);border-top:1px solid var(--border);color:var(--text-muted);font-size:.8rem;line-height:1.5}.page-foot a{align-items:center;min-height:44px;display:inline-flex}.day.is-unrecorded{border-style:dashed}.badge--norecord{border-color:var(--border-strong);color:var(--text-muted)}.notice-line{color:var(--text-muted);font-size:.9rem}.item--norecord{color:var(--text-muted);font-size:.8rem}.details--table[open]>summary{margin-bottom:var(--space-2)}.details--table>summary:before{content:"▸" / "";margin-right:var(--space-2);color:var(--teal-text)}.details--table[open]>summary:before{content:"▾" / ""}@media (max-width:599px){.card{padding:var(--space-4)}.page{gap:var(--space-4)}.page-head--row{gap:var(--space-2) var(--space-4)}}@media (max-width:399px){.page--home .dates-line{display:none}}@media print{.page-foot{display:none}}button.button,.button-quiet{font:inherit;cursor:pointer}button.button{border:0}.button-quiet{min-height:44px;padding:var(--space-2) var(--space-4);border:1px solid var(--border-strong);border-radius:var(--radius-sm);color:var(--text);background:0 0;align-items:center;font-weight:600;display:inline-flex}.button-quiet:hover{background:var(--surface-2)}.button--danger{background:var(--red);color:#1d0a0b}.button--danger:hover{background:#f59a9a}.badge--simulated{color:#c4b8f5;background:#221d38}.log-card h2{align-items:center;gap:var(--space-2);flex-wrap:wrap;display:flex}.log-form{gap:var(--space-4);max-width:560px;display:grid}.log-detail{gap:var(--space-4);display:grid}.log-detail[hidden]{display:none}.log-form .field{gap:var(--space-1)}.log-form label{font-weight:600}.log-form input[type=number],.log-form textarea{width:100%;min-height:44px;padding:var(--space-2) var(--space-3);color:var(--text);background:var(--surface-2);border:1px solid var(--border-strong);border-radius:var(--radius-sm);font:inherit}.log-form input[type=number]{max-width:10rem}.log-form [aria-invalid=true]{border-color:var(--red)}.choices{gap:var(--space-2);border:0;margin:0;padding:0;display:grid}.choices legend{margin-bottom:var(--space-2);font-weight:600}.choice-row{gap:var(--space-2);flex-wrap:wrap;display:flex}.choice{align-items:center;gap:var(--space-2);min-height:44px;padding:var(--space-2) var(--space-4);border:1px solid var(--border-strong);border-radius:var(--radius-sm);cursor:pointer;display:inline-flex}.choice:has(input:checked){border-color:var(--teal);background:var(--teal-tint)}.choice input{width:18px;height:18px;accent-color:var(--teal)}.field-error{color:var(--red);font-size:.9rem}.form-errors{padding:var(--space-3) var(--space-4);border:1px solid var(--red);border-radius:var(--radius-sm);background:var(--red-tint)}.form-errors ul{margin:var(--space-1) 0 0;padding-left:var(--space-5)}.form-actions,.confirm{align-items:center;gap:var(--space-3);flex-wrap:wrap;display:flex}.confirm p{flex-basis:100%}.saved-note{padding:var(--space-3) var(--space-4);border-left:3px solid var(--teal);background:var(--teal-tint);border-radius:var(--radius-sm)}.logged-line,.pi-log{align-items:center;gap:var(--space-2);flex-wrap:wrap;display:flex}.item--logged{color:#c4b8f5;font-size:.8rem}.day.is-logged{box-shadow:inset 0 -3px #8d76e6}.mday-log{color:#c4b8f5;font-size:.65rem;font-weight:650}.log-card dd,.logged-line,.pi-log{overflow-wrap:anywhere}.plain-list{gap:var(--space-2);margin:0;padding-left:1.2em;display:grid}.plain-list.asks{padding-left:0;list-style:none}.ask{padding:var(--space-3) var(--space-4);border-left:3px solid var(--sand);background:var(--sand-tint);border-radius:var(--radius-sm)}.ask p{margin:0 0 var(--space-2)}.mono{overflow-wrap:anywhere;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.85em}.review-result h2{font-size:1.35rem}tr.is-proposed th,tr.is-proposed td{background:var(--sand-tint)}.review-foot{margin-top:var(--space-5)}.logged-links{gap:var(--space-2) var(--space-5);flex-wrap:wrap;display:flex}.review-link{align-items:center;gap:var(--space-2) var(--space-3);flex-wrap:wrap;display:flex}.review-important{margin-top:var(--space-4)}.review-important h3{margin:0 0 var(--space-2);font-size:1rem}.effort-note,.horizon{font-weight:600}.check{align-items:flex-start;gap:var(--space-2);align-items:center;min-height:44px;font-weight:600;display:flex}.check input{flex:none;width:22px;height:22px}.plan-banner{align-items:baseline;gap:var(--space-2);margin:0 0 var(--space-4);padding:var(--space-3) var(--space-4);border-radius:var(--radius-sm);background:#1a1630;border:1px solid #5b4aa8;flex-wrap:wrap;display:flex}.item--changed{color:#c4b8f5;font-size:.8rem}
