:root{--bg:#0a0c10;--bg-sidebar:#0d1015;--surface:#12151c;--surface-2:#171b23;--surface-3:#1a1f28;--surface-4:#262c38;--cell-past:#0f1217;--cell-future:#0d1015;--border:#1e232d;--border-soft:#1a1f28;--border-strong:#2e3542;--border-tooltip:#2a303c;--text:#eceff4;--text-2:#a6aebc;--text-3:#8a93a3;--text-4:#7d8696;--on-accent:#0a0c10;--accent:#c8f23c;--accent-hover:#e2ff7a;--accent-soft:rgba(200,242,60,.14);--accent-border:#3a4a1e;--accent-fill:#1c2214;--swim:#2b8be6;--bike:#d6478a;--run:#c08a0c;--run-text:#e0b54a;--ok:#5be0a0;--ok-fill:#1a3a2a;--warn:#ffb86b;--warn-border:#4a3a24;--crit:#ff8a7e;--crit-strong:#ff9a8f;--crit-fill:#3a1f22;--notify:#ff7a6b;--neutral-plan:#7d8696;--zone-1:#3b4556;--zone-2:var(--warn);--zone-3:var(--crit);--font-display:"Space Grotesk",system-ui,sans-serif;--font-body:Inter,system-ui,sans-serif;--radius-card:20px;--radius-tile:12px;--radius-tile-lg:16px;--radius-button:12px;--radius-control:10px;--radius-pill:999px;--gap-card:20px;--sidebar-w:232px;--content-max:1280px;--hit:44px;--shadow-tooltip:0 8px 24px rgba(0,0,0,.4);--shadow-float:0 12px 32px rgba(0,0,0,.45);--transition-fast:120ms ease}[data-accent=cyan]{--accent:#5ce1e6;--accent-hover:#9cf0f3;--accent-soft:rgba(92,225,230,.14);--accent-border:#1e4446;--accent-fill:#12201f}[data-accent=white]{--accent:#f5f7fa;--accent-hover:#fff;--accent-soft:rgba(245,247,250,.12);--accent-border:#3a3f48;--accent-fill:#1a1d22}*,:after,:before{box-sizing:border-box}body,html{margin:0;background:var(--bg)}body{color:var(--text);font-family:var(--font-body);font-size:14px;line-height:1.45;-webkit-font-smoothing:antialiased}a{color:var(--accent);transition:color var(--transition-fast)}a:hover{color:var(--accent-hover)}button,input,select,textarea{font:inherit}button{cursor:pointer}input::placeholder,textarea::placeholder{color:var(--text-4)}h1,h2,h3,p{margin:0}:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.num{font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.visually-hidden{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}@media (prefers-reduced-motion:reduce){*,:after,:before{transition-duration:0ms!important;animation-duration:0ms!important}}