:root{--font-sans:var(--font-geist-sans,"Geist"),ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif;--font-mono:var(--font-geist-mono,"Geist Mono"),ui-monospace,"SF Mono","JetBrains Mono",monospace;--s-1:4px;--s-2:8px;--s-3:12px;--s-4:16px;--s-5:20px;--s-6:24px;--s-8:32px;--s-10:40px;--s-12:48px;--s-16:64px;--s-20:80px;--r-xs:4px;--r-sm:6px;--r-md:8px;--r-lg:12px;--r-xl:16px;--r-pill:999px;--s-7:28px;--gradient-brand:linear-gradient(135deg,#1e3a8a,#3b6ef5);--focus-ring:0 0 0 2px var(--bg),0 0 0 4px var(--border-focus);--t-fast:120ms;--t-base:180ms;--ease:cubic-bezier(0.2,0.8,0.2,1)}:root,[data-theme=dark]{--bg:#0c0c0e;--bg-elev:#141418;--bg-sunken:#09090b;--bg-hover:#1c1c21;--bg-active:#25252b;--bg-muted:#101013;--surface:var(--bg-elev);--fg:#fafaf9;--fg-muted:#c4c4cc;--fg-subtle:#a8a8b2;--fg-faint:#8c8c97;--border:#2e2e35;--border-subtle:#212126;--border-strong:#46464f;--border-input:#7a7a86;--border-focus:#6b8aff;--accent:#6b8aff;--accent-hover:#8aa2ff;--accent-fg:#0c0c0e;--accent-soft:#1b2142;--accent-soft-fg:#c3cfff;--success:#8fd62a;--success-soft:#1a2610;--warning:#fbad24;--warning-soft:#2c2008;--danger:#fb8585;--danger-soft:#2e1010;--info:#5cc0f0;--info-soft:#0e2330;--spec-fitness:#6b8aff;--spec-nutrition:#8fd62a;--spec-rehab:#2dd4bf;--spec-psychology:#c4a4fb;--spec-music:#f59ac0;--shadow-sm:0 1px 2px rgba(0,0,0,0.35),0 0 0 1px rgba(255,255,255,0.02);--shadow-md:0 6px 16px rgba(0,0,0,0.42);--shadow-pop:0 20px 48px rgba(0,0,0,0.55);--overlay:rgba(0,0,0,0.65)}[data-theme=light]{--bg:#fafaf9;--bg-elev:#ffffff;--bg-sunken:#f4f4f1;--bg-hover:#efefec;--bg-active:#e7e7e3;--bg-muted:#f7f7f5;--surface:var(--bg-elev);--fg:#18181b;--fg-muted:#3f3f46;--fg-subtle:#52525b;--fg-faint:#6b6b75;--border:#dedbd6;--border-subtle:#ebe9e5;--border-strong:#bdb9b2;--border-input:#787872;--border-focus:#1e3a8a;--accent:#1e3a8a;--accent-hover:#1e40af;--accent-fg:#ffffff;--accent-soft:#e8eeff;--accent-soft-fg:#1e3a8a;--success:#3f6212;--success-soft:#e6f6c4;--warning:#8a3c0a;--warning-soft:#fdecc0;--danger:#b91c1c;--danger-soft:#fde4e4;--info:#075985;--info-soft:#e0f2fe;--spec-fitness:#1e3a8a;--spec-nutrition:#3f6212;--spec-rehab:#0f766e;--spec-psychology:#6d28d9;--spec-music:#be185d;--shadow-sm:0 1px 2px rgba(15,15,20,0.05),0 1px 1px rgba(15,15,20,0.03);--shadow-md:0 6px 16px rgba(15,15,20,0.07);--shadow-pop:0 16px 40px rgba(15,15,20,0.12);--overlay:rgba(15,15,20,0.45)}*,:after,:before{box-sizing:border-box;margin:0;padding:0}body,html{height:100%}html{text-size-adjust:100%}body{overflow-x:clip;font-family:var(--font-sans);font-size:16px;line-height:1.55;background:var(--bg);color:var(--fg);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;font-feature-settings:"ss01","cv11"}button,input,select,textarea{font-family:inherit;font-size:inherit;color:inherit}a{color:inherit;text-decoration:none}img,video{display:block;max-width:100%}:focus-visible{outline:2px solid var(--border-focus);outline-offset:2px}.input:focus-visible,.select:focus-visible{outline:none}::selection{background:var(--accent);color:var(--accent-fg)}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--border);border-radius:999px;border:2px solid var(--bg)}::-webkit-scrollbar-thumb:hover{background:var(--border-strong)}.t-display{font-size:40px;line-height:1.1}.t-display,.t-h1{letter-spacing:-.02em;font-weight:600}.t-h1{font-size:32px;line-height:1.15}.t-h2{font-size:24px;line-height:1.25;letter-spacing:-.01em}.t-h2,.t-h3{font-weight:600}.t-h3{font-size:18px;line-height:1.35}.t-body-lg{font-size:17px;line-height:1.55}.t-body{font-size:16px;line-height:1.55}.t-sm{font-size:15px}.t-sm,.t-xs{line-height:1.5}.t-xs{font-size:13px;letter-spacing:.01em}.t-mono,.t-num{font-family:var(--font-mono);font-feature-settings:"tnum"}.t-num{font-variant-numeric:tabular-nums}.muted{color:var(--fg-muted)}.subtle{color:var(--fg-subtle)}@keyframes fadeIn{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:none}}@keyframes slideUp{0%{transform:translateY(100%)}to{transform:none}}@keyframes spin{to{transform:rotate(1turn)}}.spinner{animation:spin .9s linear infinite;transform-origin:center;color:var(--fg-muted);display:inline-block;vertical-align:middle}@keyframes shimmer{0%{background-position:-600px 0}to{background-position:600px 0}}.fade-in{animation:fadeIn var(--t-base) var(--ease) both}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--s-2);padding:0 var(--s-4);height:40px;border-radius:var(--r-md);font-size:15px;font-weight:500;border:1px solid transparent;cursor:pointer;transition:background var(--t-fast),color var(--t-fast),border-color var(--t-fast),opacity var(--t-fast),box-shadow var(--t-fast);white-space:nowrap;letter-spacing:-.005em}.btn:active:not(:disabled){transform:translateY(.5px)}.btn:disabled{opacity:.45;cursor:not-allowed}.btn--primary{background:var(--accent);color:var(--accent-fg);border-color:var(--accent);box-shadow:var(--shadow-sm)}.btn--primary:hover:not(:disabled){background:var(--accent-hover);border-color:var(--accent-hover);box-shadow:var(--shadow-md)}.btn--secondary{background:var(--bg-sunken);color:var(--fg);border-color:var(--border-input)}.btn--secondary:hover:not(:disabled){background:var(--bg-hover)}.btn--ghost{background:transparent;color:var(--fg-muted);border-color:transparent}.btn--ghost:hover:not(:disabled){background:var(--bg-hover);color:var(--fg)}.btn--danger{background:var(--danger-soft);color:var(--danger);border-color:transparent}.btn--danger:hover:not(:disabled){background:color-mix(in srgb,var(--danger) 18%,var(--danger-soft))}.btn--sm{height:36px;padding:0 var(--s-3);font-size:14px}.btn--lg{height:48px;padding:0 var(--s-6);font-size:16px}.btn--xl{height:56px;padding:0 var(--s-8);font-size:16px;font-weight:600}.btn--block{width:100%}.btn--pill{border-radius:var(--r-pill)}.input,.select{width:100%;height:44px;padding:0 var(--s-3);background:var(--bg-elev);border:1px solid var(--border-input);border-radius:var(--r-md);color:var(--fg);font-size:16px;outline:none;transition:border-color var(--t-fast),box-shadow var(--t-fast);-webkit-appearance:none;-moz-appearance:none;appearance:none}.input:focus,.select:focus{border-color:var(--border-focus);box-shadow:0 0 0 3px color-mix(in srgb,var(--border-focus) 22%,transparent)}.input::placeholder{color:var(--fg-subtle)}.input--error,.input--error:focus{border-color:var(--danger)}.input--error:focus{box-shadow:0 0 0 3px color-mix(in srgb,var(--danger) 22%,transparent)}.input:disabled,.select:disabled{background:var(--bg-sunken);color:var(--fg-subtle);cursor:not-allowed}.label{display:block;font-size:14px;font-weight:500;color:var(--fg-muted);margin-bottom:var(--s-2)}.help{color:var(--fg-subtle)}.error,.help{font-size:13px;margin-top:var(--s-1)}.error{color:var(--danger)}.card{background:var(--bg-elev);border:1px solid var(--border);border-radius:var(--r-lg);padding:var(--s-6);box-shadow:var(--shadow-sm)}.card--flat{box-shadow:none}.card--pop{box-shadow:var(--shadow-pop)}.badge{display:inline-flex;align-items:center;gap:var(--s-1);padding:3px var(--s-2);border-radius:var(--r-pill);font-size:13px;font-weight:500;background:var(--bg-sunken);color:var(--fg-muted);border:1px solid var(--border)}.badge--accent{background:var(--accent-soft);color:var(--accent-soft-fg);border-color:transparent}.badge--success{background:var(--success-soft);color:var(--success);border-color:transparent}.badge--warning{background:var(--warning-soft);color:var(--warning);border-color:transparent}.badge--danger{background:var(--danger-soft);color:var(--danger);border-color:transparent}.badge--info{background:var(--info-soft);color:var(--info);border-color:transparent}.progress{height:4px;background:var(--border);overflow:hidden}.progress,.progress-bar{border-radius:var(--r-pill)}.progress-bar{height:100%;background:var(--accent);transition:width .3s var(--ease)}.divider{border:none;border-top:1px solid var(--border);margin:var(--s-6) 0}.avatar{display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:var(--r-pill);background:var(--accent-soft);color:var(--accent-soft-fg);font-size:14px;font-weight:600;flex-shrink:0}.avatar--lg{width:48px;height:48px;font-size:16px}:root{--safe-top:env(safe-area-inset-top,0px);--safe-bottom:env(safe-area-inset-bottom,0px);--safe-left:env(safe-area-inset-left,0px);--safe-right:env(safe-area-inset-right,0px);--tap-min:44px}.table-scroll{width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}h1,h2,h3,h4,li,p,td,th{overflow-wrap:anywhere}@media (max-width:899px){input:not([type=checkbox]):not([type=radio]):not([type=range]),select,textarea{font-size:16px}}@media (pointer:coarse){.btn,.btn--sm,.input,.select{min-height:var(--tap-min)}[role=button],button,summary{touch-action:manipulation}}@media (max-width:640px){.card{padding:var(--s-4)}.t-display{font-size:32px}.t-h1{font-size:26px}.t-h2{font-size:21px}}@keyframes sheetUp{0%{transform:translateY(24px);opacity:.6}to{transform:none;opacity:1}}@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-sans:"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"}