@font-face{font-family:Geist;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/f639721981034f88-s.woff2) format("woff2");unicode-range:u+0460-052f,u+1c80-1c8a,u+20b4,u+2de0-2dff,u+a640-a69f,u+fe2e-fe2f}@font-face{font-family:Geist;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/9766a7e9e2e0ad5a-s.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:Geist;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/b66cf8e69499582a-s.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:Geist;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/aa016aab0e6d1295-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,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:Geist;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/22a5144ee8d83bca-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:Geist Fallback;src:local("Arial");ascent-override:95.94%;descent-override:28.16%;line-gap-override:0.00%;size-adjust:104.76%}.__className_8eaea4{font-family:Geist,Geist Fallback;font-style:normal}.__variable_8eaea4{--font-geist:"Geist","Geist Fallback"}@font-face{font-family:Geist Mono;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/013b72fa676f92e0-s.woff2) format("woff2");unicode-range:u+0460-052f,u+1c80-1c8a,u+20b4,u+2de0-2dff,u+a640-a69f,u+fe2e-fe2f}@font-face{font-family:Geist Mono;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/b9408752a0c24fb9-s.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:Geist Mono;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/65f03d54ccadf4a8-s.woff2) format("woff2");unicode-range:u+2000-2001,u+2004-2008,u+200a,u+23b8-23bd,u+2500-259f}@font-face{font-family:Geist Mono;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/e038a29029a234f2-s.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:Geist Mono;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/2b5b02fc7e511755-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,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:Geist Mono;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/7d4881bb7e1bf84d-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:Geist Mono Fallback;src:local("Arial");ascent-override:74.67%;descent-override:21.92%;line-gap-override:0.00%;size-adjust:134.59%}.__className_8c25df{font-family:Geist Mono,Geist Mono Fallback;font-style:normal}.__variable_8c25df{--font-geist-mono:"Geist Mono","Geist Mono Fallback"}:root{--page:#f6f7f9;--surface:#ffffff;--sunken:#f7f8fa;--subtle:#f3f4f6;--past:#fafafb;--ink:#14161a;--ink-hover:#2b2f36;--ink-2:#4a505a;--ink-3:#3d424a;--muted:#6b717a;--faint:#9aa0a8;--divider:#c4c8ce;--on-ink:#ffffff;--on-ink-2:#b6bbc3;--line-soft:rgba(16,18,24,0.06);--line:rgba(16,18,24,0.09);--line-strong:rgba(16,18,24,0.14);--line-hover:rgba(16,18,24,0.28);--lime:#c9f24a;--lime-tint:rgba(201,242,74,0.28);--lime-ring:rgba(201,242,74,0.35);--link:#4d7c0f;--link-hover:#3f6b08;--good-text:#3f6b08;--good:#8bc34a;--good-tint:rgba(201,242,74,0.28);--warn-text:#8a5200;--warn:#f5a524;--warn-tint:rgba(245,165,36,0.16);--bad-text:#b4232e;--bad:#f25c66;--bad-tint:rgba(242,92,102,0.12);--info-text:#2f55d4;--info-tint:rgba(47,85,212,0.07);--phase-text:#5b3fd1;--phase-tint:rgba(167,139,250,0.14);--sport-gym:#a78bfa;--sport-swim:#4fb4f5;--sport-bike:#f5a524;--sport-run:#f25c66;--sport-core:#9ba1aa;--sport-race:#14161a;--block-strength:#a78bfa;--block-base:#4fb4f5;--block-build:#f5a524;--block-race:#f25c66;--block-taper:#c9f24a;--source-strava:#fc6b2d;--source-intervals:#2f55d4;--source-oura:#14161a;--font-sans:var(--font-geist),system-ui,sans-serif;--font-mono:var(--font-geist-mono),ui-monospace,monospace;--text-kicker:10.5px;--text-xs:11.5px;--text-sm:12.5px;--text-md:13.5px;--text-base:14px;--text-lg:15px;--text-h3:14.5px;--text-h2:19px;--text-h1:30px;--text-stat:28px;--text-hero:36px;--track-tight:-0.045em;--track-snug:-0.03em;--track-kicker:0.12em;--r-xs:6px;--r-sm:8px;--r-md:10px;--r-day:12px;--r-tile:14px;--r-card:16px;--r-section:20px;--r-pill:999px;--s-1:4px;--s-2:6px;--s-3:8px;--s-4:10px;--s-5:12px;--s-6:14px;--s-7:16px;--s-8:18px;--s-9:22px;--s-10:28px;--shadow-press:0 1px 2px rgba(16,18,24,0.2);--shadow-float:0 10px 30px rgba(16,18,24,0.1);--shadow-drawer:0 24px 60px rgba(16,18,24,0.18),0 2px 6px rgba(16,18,24,0.06);--focus-ring:0 0 0 4px var(--lime-ring);--scrim:rgba(16,18,24,0.18);--ease:cubic-bezier(0.2,0.8,0.2,1);--fast:0.15s}*{box-sizing:border-box}body{margin:0;background:var(--page);color:var(--ink);font-family:var(--font-sans);-webkit-font-smoothing:antialiased}a{color:var(--link);text-decoration:none}a:hover{text-decoration:underline}h1{font-size:28px;font-weight:700;letter-spacing:-.04em;margin:0}h2{font-size:18px;font-weight:650;letter-spacing:-.02em;margin:0 0 4px}p{margin:0}.shell{display:flex;min-height:100vh}.side{width:244px;flex:none;background:var(--surface);border-right:1px solid var(--line);position:-webkit-sticky;position:sticky;top:0;height:100vh;display:flex;flex-direction:column;gap:22px;padding:18px 14px}.brand{gap:10px;padding:0 6px;font-size:17px;font-weight:700;letter-spacing:-.04em}.brand,.brand-mark{display:flex;align-items:center}.brand-mark{width:30px;height:30px;border-radius:9px;background:var(--ink);justify-content:center;flex:none}.brand-mark i{width:10px;height:10px;background:var(--lime);transform:rotate(45deg)}.kicker{font-family:var(--font-mono);font-size:10px;letter-spacing:.12em;color:var(--faint);text-transform:uppercase}.nav{display:flex;flex-direction:column;gap:2px}.nav .kicker{padding:0 10px 6px}.nav a{padding:8px 10px;border-radius:9px;color:var(--ink-2);font-size:13.5px}.nav a:hover{background:var(--subtle);text-decoration:none}.side-foot{margin-top:auto;display:flex;flex-direction:column;gap:8px;padding:10px;border:1px solid var(--line);border-radius:12px;font-size:13px}.main{flex:1 1;min-width:0;padding:22px 28px 48px;display:flex;flex-direction:column;gap:18px;max-width:980px}.sub{color:var(--muted);font-size:14px;margin-top:4px}.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-section);padding:22px;display:flex;flex-direction:column;gap:14px}.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));grid-gap:12px;gap:12px}label{display:flex;flex-direction:column;gap:5px;font-size:12.5px;font-weight:500;color:var(--ink-2)}input[type=date],input[type=email],input[type=number],input[type=password],input[type=text],select,textarea{font:inherit;font-size:14px;color:var(--ink);background:var(--sunken);border:1px solid var(--line);border-radius:10px;padding:9px 11px;width:100%}textarea{min-height:76px;resize:vertical}:focus-visible{outline:2px solid var(--ink);outline-offset:2px}fieldset{border:none;padding:0;margin:0;display:flex;flex-direction:column;gap:6px}legend{font-size:12.5px;font-weight:500;color:var(--ink-2);padding:0 0 6px}.days{display:flex;flex-wrap:wrap;gap:6px}.day{align-items:center;gap:6px;padding:6px 10px;background:var(--sunken);border:1px solid var(--line);border-radius:9px}.check,.day{flex-direction:row}.check{align-items:flex-start;gap:8px;font-size:14px;font-weight:400;color:var(--ink)}.btn{font:inherit;font-size:13.5px;font-weight:600;background:var(--ink);color:var(--on-ink);border:1px solid var(--ink);border-radius:10px;padding:9px 14px;cursor:pointer;align-self:flex-start}.btn.ghost{background:var(--surface);color:var(--ink);border-color:var(--line)}.btn:hover{background:var(--ink-hover)}.btn.ghost:hover{background:var(--subtle)}.btn:disabled{opacity:.55;cursor:default}.row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 0;border-top:1px solid var(--line);font-size:14px}.row:first-of-type{border-top:none}.muted{color:var(--muted);font-size:13px}.notice{padding:10px 14px;border-radius:10px;font-size:13.5px;font-weight:500}.notice.saved{background:var(--good-tint);color:var(--good-text)}.notice.error{background:var(--bad-tint);color:var(--bad-text)}.copy{background:var(--sunken);border:1px solid var(--line);border-radius:10px;padding:10px;font-family:var(--font-mono);font-size:12px;word-break:break-all}.center{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:16px}.center .card{width:min(400px,100%)}@media (max-width:760px){.shell{flex-direction:column}.side{width:100%;height:auto;position:static;border-right:none;border-bottom:1px solid var(--line);gap:10px}.side-foot{margin-top:0}.main{padding:16px 16px 40px}}.auth{min-height:100vh;background:var(--page);padding:12px;display:flex;flex-wrap:wrap;gap:12px}.auth-panel{flex:1 1 440px;min-width:0;background:var(--surface);border:1px solid var(--line);border-radius:20px;padding:28px 32px;justify-content:space-between;gap:28px}.auth-form,.auth-panel{display:flex;flex-direction:column}.auth-form{width:100%;max-width:380px;margin:0 auto;gap:22px}.auth-kicker{font-size:11px}.auth-title{font-size:34px;letter-spacing:-.045em;line-height:1.08}.auth-title span{display:block;color:var(--faint);font-weight:500}.segmented{display:flex;gap:3px;padding:3px;background:var(--subtle);border-radius:10px}.segmented button{flex:1 1;font:inherit;font-size:13.5px;font-weight:500;color:var(--muted);padding:8px;background:transparent;border:none;border-radius:8px;cursor:pointer}.segmented button.on{background:var(--surface);color:var(--ink);font-weight:600;box-shadow:var(--shadow-press)}input.auth-input{height:44px;background:var(--surface);border:1px solid var(--line-strong);border-radius:10px}input.auth-input:focus{outline:none;border-color:var(--ink);box-shadow:var(--focus-ring)}input.auth-input.bad{border-color:var(--bad-text)}.pw-wrap{position:relative;display:block}.pw-wrap input{padding-right:62px}.pw-toggle{position:absolute;right:8px;top:9px;font:inherit;font-size:12px;font-weight:500;color:var(--ink-2);background:var(--subtle);border:none;border-radius:999px;padding:4px 10px;cursor:pointer}.auth-error{font-size:12.5px;color:var(--bad-text)}.auth-submit{font:inherit;font-size:14px;font-weight:600;height:46px;color:var(--on-ink);background:var(--ink);border:none;border-radius:10px;display:flex;align-items:center;justify-content:center;gap:10px;cursor:pointer}.auth-submit:disabled{opacity:.75;cursor:default}.auth-tile{width:24px;height:24px;border-radius:7px;background:var(--lime);display:flex;align-items:center;justify-content:center;flex:none}.auth-tile i{width:8px;height:8px;background:var(--ink);transform:rotate(45deg)}.auth-teaser{flex:1 1 520px;min-width:0;min-height:560px;overflow:hidden;border-radius:20px;background:var(--ink);color:var(--on-ink);padding:32px;display:flex;flex-direction:column;justify-content:space-between;gap:28px}.auth-teaser,.auth-teaser>*{position:relative}.auth-teaser>.auth-glow{position:absolute;inset:0;background:radial-gradient(600px 360px at 85% 0,rgba(201,242,74,.16),transparent 70%);pointer-events:none}.auth-teaser .kicker{font-size:11px}.teaser-copy{display:flex;flex-direction:column;gap:14px}.teaser-copy h2{margin:0;font-size:clamp(32px,5vw,44px);font-weight:700;letter-spacing:-.05em;line-height:1;max-width:560px;text-wrap:balance}.teaser-copy em{font-style:normal;color:var(--lime)}.teaser-copy p{font-size:15px;line-height:1.5;color:var(--on-ink-2);max-width:460px}.glass{flex-direction:column;padding:18px;border-radius:16px;background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.08)}.glass,.glass-head{display:flex;gap:12px}.glass-head{justify-content:space-between;align-items:flex-end;flex-wrap:wrap}.glass-head .kicker{font-size:10px}.glass-days{display:flex;align-items:baseline;gap:6px;margin-top:4px}.glass-days strong{font-size:36px;font-weight:700;letter-spacing:-.05em;line-height:1}.glass-days span,.glass-stats span{font-size:13px;color:var(--faint)}.glass-stats{display:flex;gap:18px}.glass-stats b{display:block;font-size:20px;font-weight:650;letter-spacing:-.03em}.glass-stats small{font-size:12px;font-weight:400;color:var(--faint)}.glass-stats span{font-size:11px}.on-ink-lime{color:var(--lime)!important}.mini-ramp{height:90px;display:flex;align-items:flex-end;gap:3px}.mini-ramp i{flex:1 1;border-radius:3px 3px 1px 1px}.glass-tip{display:flex;gap:10px;align-items:flex-start;padding-top:12px;border-top:1px solid rgba(255,255,255,.08)}.glass-tip p{font-size:13px;line-height:1.5;color:#d7dbe0}@media (max-width:760px){.auth-panel,.auth-teaser{padding:22px 16px}.auth-teaser{min-height:0}}.kicker.strong{font-size:11px;color:var(--muted)}.crumbs{display:flex;flex-wrap:wrap;font-size:var(--text-sm);color:var(--muted)}.crumbs,.crumbs>span{align-items:center;gap:8px}.crumbs>span{display:inline-flex}.crumbs a{color:var(--muted)}.crumbs a:hover{color:var(--ink);text-decoration:none}.crumbs [aria-current=page]{color:var(--ink);font-weight:500}.crumb-sep{color:var(--divider)}.page-head{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;flex-wrap:wrap}.page-title{display:flex;flex-direction:column;gap:6px;min-width:0}.page-title h1{font-size:var(--text-h1);letter-spacing:var(--track-tight);line-height:1.05;text-wrap:balance}.page-sub{font-size:var(--text-md);color:var(--ink-2);max-width:640px}.page-aside{align-items:center;gap:10px;margin-left:auto}.page-aside,.section-head{display:flex;flex-wrap:wrap}.section-head{justify-content:space-between;align-items:flex-start;gap:12px}.section-title{display:flex;flex-direction:column;gap:2px;min-width:0}.section-title h2{font-size:var(--text-h2);letter-spacing:var(--track-snug);margin:0}.section-title .muted{margin-top:2px}.section-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.pill{display:inline-flex;align-items:center;gap:5px;font-size:var(--text-xs);font-weight:600;padding:2px 8px;border-radius:var(--r-pill);background:var(--subtle);color:var(--ink-2);white-space:nowrap}.pill.good{background:var(--good-tint);color:var(--good-text)}.pill.warn{background:var(--warn-tint);color:var(--warn-text)}.pill.bad{background:var(--bad-tint);color:var(--bad-text)}.pill.lime{background:var(--lime);color:var(--ink)}.pill.phase{background:var(--phase-tint);color:var(--phase-text)}.dot{display:inline-block;width:8px;height:8px;border-radius:2px;flex:none}.dot.round{border-radius:50%;width:7px;height:7px}.stat{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-tile);padding:14px;display:flex;flex-direction:column;gap:6px;min-width:0}.stat-label{display:flex;align-items:center;gap:8px;font-size:var(--text-sm);font-weight:500;color:var(--ink-2)}.stat-value{display:flex;align-items:baseline;flex-wrap:wrap;gap:5px;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.stat-value b{font-size:var(--text-stat);font-weight:700;letter-spacing:var(--track-tight);line-height:1}.stat-value small{font-size:var(--text-sm);color:var(--muted)}.stat-sub{font-size:12px;color:var(--muted)}.empty{flex-wrap:wrap;gap:14px;padding:18px 20px;background:var(--surface);border:1px dashed var(--line-strong);border-radius:var(--r-section)}.empty,.empty-mark{display:flex;align-items:center}.empty-mark{width:40px;height:40px;flex:none;border-radius:11px;background:var(--ink);justify-content:center}.empty-mark i{width:12px;height:12px;background:var(--lime);transform:rotate(45deg)}.empty-text{flex:1 1;min-width:220px;display:flex;flex-direction:column;gap:3px;font-size:13px;color:var(--ink-2)}.empty-text strong{font-size:var(--text-lg);font-weight:600;color:var(--ink)}.empty-actions{display:flex;gap:8px;flex-wrap:wrap}.field{gap:6px;min-width:0}.field-label{font-size:var(--text-sm);font-weight:500;color:var(--ink-3)}.field-box{position:relative;display:flex}.field-box input{padding-right:44px}.field-box input:focus{outline:none;border-color:var(--ink);background:var(--surface);box-shadow:var(--focus-ring)}.field-unit{position:absolute;right:11px;top:50%;transform:translateY(-50%);font-size:12px;color:var(--faint);pointer-events:none}.field-hint{font-size:var(--text-xs);font-weight:400;color:var(--faint)}.source{display:inline-flex;align-items:center;gap:7px;padding:6px 10px;border-radius:var(--r-md);background:var(--surface);border:1px solid var(--line);font-size:var(--text-sm);color:var(--ink-3)}.avatar{width:28px;height:28px;border-radius:50%;background:var(--ink);color:var(--on-ink);font-size:11px;font-weight:700}.avatar,.brand-tile{flex:none;display:inline-flex;align-items:center;justify-content:center}.brand-tile{width:18px;height:18px;border-radius:5px;background:var(--lime)}.brand-tile i{width:7px;height:7px;background:var(--ink);transform:rotate(45deg)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:9px}.btn,.btn:hover{text-decoration:none}.btn.sm{font-size:var(--text-sm);padding:6px 10px;border-radius:9px}a.btn.ghost{color:var(--ink)}.links{display:flex;flex-wrap:wrap;gap:14px}.nav a[aria-current=page]{background:var(--subtle);color:var(--ink);font-weight:600}.nav a{display:flex;align-items:center;gap:10px}.nav-icon{width:14px;height:14px;flex:none;border-radius:4px;border:1.5px solid var(--faint)}.nav a[aria-current=page] .nav-icon{border-color:var(--ink);background:var(--lime)}.side-user{display:flex;align-items:center;gap:10px}.side-user span{display:flex;flex-direction:column;line-height:1.2;min-width:0}.side-user b{font-size:13px;font-weight:600}.side-user small{font-size:11px;color:var(--muted)}.ds-swatches{display:grid;grid-template-columns:repeat(auto-fill,minmax(120px,1fr));grid-gap:10px;gap:10px}.ds-swatch{display:flex;flex-direction:column;gap:2px;font-size:12px}.ds-swatch span{height:44px;border-radius:var(--r-md);border:1px solid var(--line);margin-bottom:4px}.ds-swatch small{color:var(--muted);font-family:var(--font-mono);font-size:10.5px}.ds-row{flex-wrap:wrap;align-items:center}.ds-row,.ds-type{display:flex;gap:10px}.ds-type{flex-direction:column}.ds-type>div{display:grid;grid-template-columns:140px 1fr;align-items:baseline;grid-gap:12px;gap:12px}.ds-radius{width:64px;height:48px;display:flex;align-items:center;justify-content:center;font-size:11px;color:var(--muted);background:var(--sunken);border:1px solid var(--line-strong)}@media (max-width:760px){.ds-type>div{grid-template-columns:1fr;gap:2px}}