:root{--hue-transition:75;--hue-base:250;--hue-build:62;--hue-peak:27;--hue-taper:300;--hue-race:105;--hue-recovery:170;--transition-500:oklch(62% .07 var(--hue-transition));--transition-700:oklch(42% .06 var(--hue-transition));--base-500:oklch(58% .14 var(--hue-base));--base-700:oklch(42% .13 var(--hue-base));--build-500:oklch(72% .14 var(--hue-build));--build-700:oklch(48% .11 var(--hue-build));--peak-500:oklch(60% .19 var(--hue-peak));--peak-700:oklch(45% .17 var(--hue-peak));--taper-500:oklch(60% .15 var(--hue-taper));--taper-700:oklch(44% .14 var(--hue-taper));--race-500:oklch(86% .18 var(--hue-race));--race-700:oklch(70% .16 var(--hue-race));--recovery-500:oklch(65% .11 var(--hue-recovery));--recovery-700:oklch(45% .09 var(--hue-recovery));--mode-h:var(--hue-base);--mode-accent:var(--base-500);--mode-accent-ink:var(--base-700);--mode-on-accent:oklch(99% .004 var(--mode-h));--bg-page:oklch(98.4% .006 var(--mode-h));--bg-sunken:oklch(95.6% .011 var(--mode-h));--bg-card:oklch(100% 0 0);--border-1:oklch(89% .014 var(--mode-h));--border-2:oklch(82% .02 var(--mode-h));--text-1:oklch(22% .021 var(--mode-h));--text-2:oklch(45% .018 var(--mode-h));--text-3:oklch(60% .014 var(--mode-h));--shadow-2:0 1px 2px oklch(22% .021 var(--mode-h)/.06),0 6px 16px -4px oklch(22% .021 var(--mode-h)/.1);--shadow-3:0 2px 4px oklch(22% .021 var(--mode-h)/.08),0 16px 40px -8px oklch(22% .021 var(--mode-h)/.18);--scrim:oklch(22% .021 var(--mode-h)/.35);--zone-1:oklch(72% .02 250);--zone-2:oklch(66% .13 250);--zone-3:oklch(70% .15 150);--zone-4:oklch(76% .15 70);--zone-5:oklch(60% .2 25);--data-hr:oklch(60% .2 25);--data-pace:oklch(58% .14 250);--data-power:oklch(62% .17 300);--data-elev:oklch(58% .07 150);--data-cadence:oklch(70% .13 70);--map-route:oklch(58% .21 25);--data-hrv:oklch(58% .11 185);--data-sleep:oklch(52% .11 275);--data-mass:oklch(55% .07 60);--status-good:oklch(62% .14 150);--status-warn:oklch(72% .15 70);--status-bad:oklch(58% .19 25)}[data-mode=transition]{--mode-h:var(--hue-transition);--mode-accent:var(--transition-500);--mode-accent-ink:var(--transition-700)}[data-mode=base]{--mode-h:var(--hue-base);--mode-accent:var(--base-500);--mode-accent-ink:var(--base-700)}[data-mode=build]{--mode-h:var(--hue-build);--mode-accent:var(--build-500);--mode-accent-ink:var(--build-700)}[data-mode=peak]{--mode-h:var(--hue-peak);--mode-accent:var(--peak-500);--mode-accent-ink:var(--peak-700)}[data-mode=taper]{--mode-h:var(--hue-taper);--mode-accent:var(--taper-500);--mode-accent-ink:var(--taper-700)}[data-mode=recovery]{--mode-h:var(--hue-recovery);--mode-accent:var(--recovery-500);--mode-accent-ink:var(--recovery-700)}[data-mode=race]{--mode-h:var(--hue-race);--mode-accent:var(--race-500);--mode-accent-ink:var(--race-700);--mode-on-accent:oklch(18% .02 var(--hue-race));--bg-page:oklch(17% .015 260);--bg-sunken:oklch(13% .015 260);--bg-card:oklch(21% .016 260);--border-1:oklch(29% .018 260);--border-2:oklch(38% .02 260);--text-1:oklch(96% .008 260);--text-2:oklch(78% .012 260);--text-3:oklch(62% .014 260);--shadow-2:0 1px 2px oklch(0% 0 0/.5),0 6px 16px -4px oklch(0% 0 0/.55);--shadow-3:0 2px 4px oklch(0% 0 0/.55),0 16px 40px -8px oklch(0% 0 0/.65);--scrim:oklch(10% .01 260/.55)}:root{--font-sans:Archivo,ui-sans-serif,system-ui,sans-serif;--font-mono:"IBM Plex Mono",ui-monospace,SFMono-Regular,monospace;--wdth-expanded:118;--wdth-normal:100;--wdth-condensed:78;--text-label:11px;--text-xs:12px;--text-sm:13px;--text-base:15px;--text-lg:17px;--text-xl:20px;--text-2xl:24px;--text-display-2:32px;--text-display:44px;--text-hero:60px;--leading-body:1.55;--leading-display:1.08}.t-display,.t-display-2{color:var(--text-1);font-family:var(--font-sans);font-variation-settings:"wdth" var(--wdth-expanded);font-weight:800;letter-spacing:-.01em;line-height:var(--leading-display)}.t-display{font-size:var(--text-display)}.t-display-2{font-size:var(--text-display-2)}.t-label{color:var(--text-2);font-size:var(--text-label);font-variation-settings:"wdth" var(--wdth-condensed);font-weight:600;letter-spacing:.06em;text-transform:uppercase}.t-label,.t-metric{font-family:var(--font-sans)}.t-metric{color:var(--text-1);font-variant-numeric:tabular-nums lining-nums;font-variation-settings:"wdth" var(--wdth-condensed);font-weight:600}.t-mono{font-family:var(--font-mono);font-size:.92em;font-variant-numeric:tabular-nums}:root{--space-1:2px;--space-2:4px;--space-3:6px;--space-4:8px;--space-5:12px;--space-6:16px;--space-7:20px;--space-8:24px;--space-9:32px;--space-10:40px;--space-11:56px;--space-12:72px;--radius-badge:3px;--radius-control:6px;--radius-card:10px;--radius-chat:14px;--radius-pill:999px;--ease-out:cubic-bezier(.2,.7,.2,1);--dur-hover:.12s;--dur-toggle:.2s;--dur-panel:.32s;--dur-mode:.6s;--w-prose:760px;--w-data:1040px;--w-sidebar:264px;--h-topbar:56px}*,:after,:before{box-sizing:border-box}body,html{transition:background-color var(--dur-mode) var(--ease-out),color var(--dur-mode) var(--ease-out)}body{background:var(--bg-page);color:var(--text-1);font-family:var(--font-sans);font-size:var(--text-base);font-variation-settings:"wdth" var(--wdth-normal);line-height:var(--leading-body);margin:0;-webkit-font-smoothing:antialiased}:focus-visible{outline:3px solid color-mix(in oklch,var(--mode-accent) 35%,transparent);outline-offset:2px}a{color:var(--mode-accent-ink)}.card{background:var(--bg-card);border:1px solid var(--border-1);border-radius:var(--radius-card)}@media(prefers-reduced-motion:reduce){*,body,html{animation-duration:1ms!important;transition-duration:1ms!important}}.app-header{align-items:center;background:var(--bg-card);border-bottom:1px solid var(--border-1);display:flex;min-height:var(--h-topbar);padding:env(safe-area-inset-top) calc(var(--space-6) + env(safe-area-inset-right)) 0 calc(var(--space-6) + env(safe-area-inset-left))}.app-header .tabs{display:flex;flex:none;gap:var(--space-2);margin-left:auto}.app-header .tab{border-radius:var(--radius-control);color:var(--text-2);padding:var(--space-2) var(--space-4);text-decoration:none;transition:background-color var(--dur-hover) var(--ease-out)}.app-header .tab:hover{background:var(--bg-sunken);color:var(--text-1)}.app-header .tab.active{background:var(--bg-sunken);color:var(--mode-accent-ink)}.app-header .settings{border-radius:var(--radius-control);color:var(--text-2);display:flex;flex:none;padding:var(--space-2)}.app-header .settings:hover{background:var(--bg-sunken);color:var(--text-1)}.app-header .settings.router-link-active{background:var(--bg-sunken);color:var(--mode-accent-ink)}.app-header .brand,.app-header .mark{color:var(--text-1);flex:none;font-variation-settings:"wdth" var(--wdth-expanded);font-weight:800;letter-spacing:-.01em;text-decoration:none}.app-header .mark{font-size:var(--text-lg)}.phase-square{background:var(--mode-accent);border-radius:2px;height:10px;transition:background-color var(--dur-mode) var(--ease-out);width:10px}@media(max-width:720px){.app-header{padding:calc(var(--space-3) + env(safe-area-inset-top)) calc(var(--space-4) + env(safe-area-inset-right)) var(--space-3) calc(var(--space-4) + env(safe-area-inset-left))}.app-header .tabs{flex:1 0 100%;margin:0 calc(var(--space-4)*-1);order:3;overflow-x:auto;padding:0 var(--space-4);scrollbar-width:none}.app-header .tabs::-webkit-scrollbar{display:none}.app-header .tab{white-space:nowrap}.app-header .settings{margin-left:auto}}:root{color-scheme:light;--bg:var(--bg-page);--fg:var(--text-1);--surface:var(--bg-card);--surface-fg:var(--text-1);--surface-muted:var(--text-2);--surface-border:var(--border-1);--surface-alt:var(--bg-sunken);--surface-alt-fg:var(--text-1);--surface-alt-muted:var(--text-2);--surface-alt-border:var(--border-2);--surface-hover:var(--bg-sunken);--surface-hover-fg:var(--text-1);--accent:var(--mode-accent-ink);--accent-fg:var(--mode-on-accent);--accent-hover:color-mix(in oklch,var(--mode-accent-ink) 80%,var(--text-1));--accent-disabled-bg:color-mix(in oklch,var(--mode-accent) 25%,var(--bg-sunken));--accent-disabled-fg:var(--text-3);--danger:var(--status-bad);--success:var(--status-good);--info:var(--data-pace);--warning:var(--status-warn);--msg-athlete-bg:color-mix(in oklch,var(--mode-accent) 12%,var(--bg-card));--msg-athlete-fg:var(--text-1);--msg-coach-bg:var(--bg-sunken);--msg-coach-fg:var(--text-1);--msg-agent-bg:var(--bg-card);--msg-agent-fg:var(--text-1);--msg-system-bg:var(--bg-page);--msg-system-fg:var(--text-2)}[data-mode=race]{color-scheme:dark}*{box-sizing:border-box;margin:0;padding:0}body{background:var(--bg);color:var(--fg);font-family:var(--font-sans);font-size:var(--text-base);font-variation-settings:"wdth" var(--wdth-normal);line-height:var(--leading-body)}.global-loading{background:var(--accent);color:var(--accent-fg);height:2px;left:0;position:fixed;right:0;top:0;z-index:9999}
