@font-face{font-family:Manrope;font-style:normal;font-display:swap;font-weight:400;src:url(../media/manrope-cyrillic-ext-400-normal.3jvet3qmpe_np.woff2)format("woff2"),url(../media/manrope-cyrillic-ext-400-normal.3h3676at96nns.woff)format("woff");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Manrope;font-style:normal;font-display:swap;font-weight:400;src:url(../media/manrope-cyrillic-400-normal.1kar6y_w7xc92.woff2)format("woff2"),url(../media/manrope-cyrillic-400-normal.2ow5pljymqch1.woff)format("woff");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Manrope;font-style:normal;font-display:swap;font-weight:400;src:url(../media/manrope-greek-400-normal.3ndh7452icn1t.woff2)format("woff2"),url(../media/manrope-greek-400-normal.010saykxxeioc.woff)format("woff");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:Manrope;font-style:normal;font-display:swap;font-weight:400;src:url(../media/manrope-vietnamese-400-normal.3twqkh3lr93h-.woff2)format("woff2"),url(../media/manrope-vietnamese-400-normal.3o_jvyozxy7do.woff)format("woff");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Manrope;font-style:normal;font-display:swap;font-weight:400;src:url(../media/manrope-latin-ext-400-normal.3kpz2pq12o9y7.woff2)format("woff2"),url(../media/manrope-latin-ext-400-normal.3dacdzxdo3dh1.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Manrope;font-style:normal;font-display:swap;font-weight:400;src:url(../media/manrope-latin-400-normal.2xa18tgv2np2i.woff2)format("woff2"),url(../media/manrope-latin-400-normal.16uzrbq5-8z5v.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:Manrope;font-style:normal;font-display:swap;font-weight:600;src:url(../media/manrope-cyrillic-ext-600-normal.2c5msalb399p0.woff2)format("woff2"),url(../media/manrope-cyrillic-ext-600-normal.15dz_0yvxte-y.woff)format("woff");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Manrope;font-style:normal;font-display:swap;font-weight:600;src:url(../media/manrope-cyrillic-600-normal.2dlkzm0g6c5lw.woff2)format("woff2"),url(../media/manrope-cyrillic-600-normal.2lp-6i5mhw61k.woff)format("woff");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Manrope;font-style:normal;font-display:swap;font-weight:600;src:url(../media/manrope-greek-600-normal.36n2ro-k8135v.woff2)format("woff2"),url(../media/manrope-greek-600-normal.2cdz12dc1iljx.woff)format("woff");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:Manrope;font-style:normal;font-display:swap;font-weight:600;src:url(../media/manrope-vietnamese-600-normal.44s_uvku5lu7o.woff2)format("woff2"),url(../media/manrope-vietnamese-600-normal.04ryp5-ejuw11.woff)format("woff");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Manrope;font-style:normal;font-display:swap;font-weight:600;src:url(../media/manrope-latin-ext-600-normal.0rboslp6omgc3.woff2)format("woff2"),url(../media/manrope-latin-ext-600-normal.2dnw-ugx_s-0m.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Manrope;font-style:normal;font-display:swap;font-weight:600;src:url(../media/manrope-latin-600-normal.2ybi4mo9-3upl.woff2)format("woff2"),url(../media/manrope-latin-600-normal.0d_nc7hu7m8km.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:Manrope;font-style:normal;font-display:swap;font-weight:700;src:url(../media/manrope-cyrillic-ext-700-normal.24rfadzth-ea_.woff2)format("woff2"),url(../media/manrope-cyrillic-ext-700-normal.24rbunm8ei_ow.woff)format("woff");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Manrope;font-style:normal;font-display:swap;font-weight:700;src:url(../media/manrope-cyrillic-700-normal.16p40z5fn5_zv.woff2)format("woff2"),url(../media/manrope-cyrillic-700-normal.3te-i5lbatid1.woff)format("woff");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Manrope;font-style:normal;font-display:swap;font-weight:700;src:url(../media/manrope-greek-700-normal.345zy40yxw5yy.woff2)format("woff2"),url(../media/manrope-greek-700-normal.106e_m097cdnm.woff)format("woff");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:Manrope;font-style:normal;font-display:swap;font-weight:700;src:url(../media/manrope-vietnamese-700-normal.3spwa7rpbdcfi.woff2)format("woff2"),url(../media/manrope-vietnamese-700-normal.09mmasjjym1bw.woff)format("woff");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Manrope;font-style:normal;font-display:swap;font-weight:700;src:url(../media/manrope-latin-ext-700-normal.14ezai-4kezdq.woff2)format("woff2"),url(../media/manrope-latin-ext-700-normal.3p3hfqi13m0pv.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Manrope;font-style:normal;font-display:swap;font-weight:700;src:url(../media/manrope-latin-700-normal.22dwiag9_pj68.woff2)format("woff2"),url(../media/manrope-latin-700-normal.2dopus2zh5ii9.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:Space Grotesk;font-style:normal;font-display:swap;font-weight:700;src:url(../media/space-grotesk-vietnamese-700-normal.3nrnz1jykp0-d.woff2)format("woff2"),url(../media/space-grotesk-vietnamese-700-normal.00qvn3e43vadl.woff)format("woff");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Space Grotesk;font-style:normal;font-display:swap;font-weight:700;src:url(../media/space-grotesk-latin-ext-700-normal.12edwf9le6tro.woff2)format("woff2"),url(../media/space-grotesk-latin-ext-700-normal.1m348sgz_lwrz.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Space Grotesk;font-style:normal;font-display:swap;font-weight:700;src:url(../media/space-grotesk-latin-700-normal.16tiaqjgzwdo4.woff2)format("woff2"),url(../media/space-grotesk-latin-700-normal.2f82em-z48vvn.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(../media/ibm-plex-mono-cyrillic-ext-400-normal.09jq5v9-1wf71.woff2)format("woff2"),url(../media/ibm-plex-mono-cyrillic-ext-400-normal.2iaubq2jy0rx3.woff)format("woff");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(../media/ibm-plex-mono-cyrillic-400-normal.0m1ahpdxrpokj.woff2)format("woff2"),url(../media/ibm-plex-mono-cyrillic-400-normal.2-z93d2j9-3s0.woff)format("woff");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(../media/ibm-plex-mono-vietnamese-400-normal.3a7fs2yw914a9.woff2)format("woff2"),url(../media/ibm-plex-mono-vietnamese-400-normal.2kzc8ichkozg5.woff)format("woff");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(../media/ibm-plex-mono-latin-ext-400-normal.1hjaitcyq2e2r.woff2)format("woff2"),url(../media/ibm-plex-mono-latin-ext-400-normal.0nrwft7nlo5oa.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(../media/ibm-plex-mono-latin-400-normal.3xdfs0-p_zi4c.woff2)format("woff2"),url(../media/ibm-plex-mono-latin-400-normal.2lhng2ntocry9.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:500;src:url(../media/ibm-plex-mono-cyrillic-ext-500-normal.28wp48yubenc3.woff2)format("woff2"),url(../media/ibm-plex-mono-cyrillic-ext-500-normal.41yczc5zdkwdh.woff)format("woff");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:500;src:url(../media/ibm-plex-mono-cyrillic-500-normal.26ox_itp_alxp.woff2)format("woff2"),url(../media/ibm-plex-mono-cyrillic-500-normal.1eaan1mch682e.woff)format("woff");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:500;src:url(../media/ibm-plex-mono-vietnamese-500-normal.0s1z3n-ysad7w.woff2)format("woff2"),url(../media/ibm-plex-mono-vietnamese-500-normal.2g79xp9gzp1kn.woff)format("woff");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:500;src:url(../media/ibm-plex-mono-latin-ext-500-normal.1cuq9_67cn48n.woff2)format("woff2"),url(../media/ibm-plex-mono-latin-ext-500-normal.1tdw_l2v4yhc_.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:500;src:url(../media/ibm-plex-mono-latin-500-normal.11q3guvgd1r20.woff2)format("woff2"),url(../media/ibm-plex-mono-latin-500-normal.1fgk-kmy-32_a.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
:root{--wu-neutral-0:#fff;--wu-neutral-25:#f7f8f4;--wu-neutral-50:#f0f2ec;--wu-neutral-100:#e4e8df;--wu-neutral-200:#cbd3c8;--wu-neutral-400:#94a191;--wu-neutral-500:#667263;--wu-neutral-600:#53614f;--wu-neutral-700:#354239;--wu-neutral-800:#26322c;--wu-neutral-900:#1c2621;--wu-neutral-950:#131b17;--wu-lime-50:#f2fbcf;--wu-lime-200:#dff395;--wu-lime-400:#c8f03d;--wu-lime-500:#aada1d;--wu-lime-800:#456000;--wu-green-50:#e9f5ec;--wu-green-400:#80c991;--wu-green-700:#25653b;--wu-green-900:#173923;--wu-amber-50:#fff3db;--wu-amber-400:#f1c56b;--wu-amber-800:#815300;--wu-amber-950:#3e2d0e;--wu-red-50:#fcece8;--wu-red-400:#ef9c8b;--wu-red-700:#a93626;--wu-red-950:#49241d;--wu-violet-50:#f0edff;--wu-violet-400:#b7a4ef;--wu-violet-700:#6945ae;--wu-violet-950:#302443;--wu-blue-50:#eaf1fc;--wu-blue-400:#95b7ed;--wu-blue-700:#315fa5;--wu-blue-950:#1d304f;--wu-bg-canvas:var(--wu-neutral-25);--wu-bg-surface:var(--wu-neutral-0);--wu-bg-subtle:var(--wu-neutral-50);--wu-bg-inverse:var(--wu-neutral-950);--wu-text-primary:var(--wu-neutral-950);--wu-text-secondary:var(--wu-neutral-600);--wu-text-muted:var(--wu-neutral-500);--wu-text-inverse:var(--wu-neutral-0);--wu-border-default:var(--wu-neutral-100);--wu-border-strong:var(--wu-neutral-500);--wu-border-focus:var(--wu-lime-800);--wu-action-primary:var(--wu-lime-400);--wu-action-hover:var(--wu-lime-500);--wu-action-text:var(--wu-neutral-950);--wu-action-selected:var(--wu-lime-50);--wu-status-success-bg:var(--wu-green-50);--wu-status-success-text:var(--wu-green-700);--wu-status-warning-bg:var(--wu-amber-50);--wu-status-warning-text:var(--wu-amber-800);--wu-status-danger-bg:var(--wu-red-50);--wu-status-danger-text:var(--wu-red-700);--wu-status-info-bg:var(--wu-blue-50);--wu-status-info-text:var(--wu-blue-700);--wu-zone-recovery:var(--wu-neutral-200);--wu-zone-endurance:var(--wu-green-700);--wu-zone-tempo:var(--wu-blue-700);--wu-zone-threshold:var(--wu-violet-700);--wu-zone-vo2:var(--wu-amber-800);--wu-zone-anaerobic:var(--wu-red-700);--wu-fuel-bg:var(--wu-violet-50);--wu-fuel-text:var(--wu-violet-700);--wu-chart-actual:var(--wu-green-700);--wu-chart-plan:var(--wu-neutral-200);--wu-chart-load:var(--wu-violet-700);--wu-space-0:0px;--wu-space-2:2px;--wu-space-4:4px;--wu-space-8:8px;--wu-space-12:12px;--wu-space-16:16px;--wu-space-20:20px;--wu-space-24:24px;--wu-space-32:32px;--wu-space-40:40px;--wu-space-48:48px;--wu-space-64:64px;--wu-space-80:80px;--wu-radius-0:0px;--wu-radius-4:4px;--wu-radius-8:8px;--wu-radius-12:12px;--wu-radius-16:16px;--wu-radius-24:24px;--wu-radius-999:999px;--wu-size-24:24px;--wu-size-32:32px;--wu-size-40:40px;--wu-size-44:44px;--wu-size-48:48px;--wu-size-56:56px;--wu-size-64:64px;--wu-font-size-display:64px;--wu-font-size-h1:40px;--wu-font-size-h2:28px;--wu-font-size-h3:20px;--wu-font-size-title:16px;--wu-font-size-body:14px;--wu-font-size-body-strong:14px;--wu-font-size-small:12px;--wu-font-size-label:12px;--wu-font-size-data:28px;--wu-font-size-data-small:12px;--wu-font-family-body:"Manrope";--wu-font-family-display:"Space Grotesk";--wu-font-family-data:"IBM Plex Mono"}[data-theme=dark]{--wu-bg-canvas:var(--wu-neutral-950);--wu-bg-surface:var(--wu-neutral-900);--wu-bg-subtle:var(--wu-neutral-800);--wu-bg-inverse:var(--wu-neutral-950);--wu-text-primary:var(--wu-neutral-25);--wu-text-secondary:var(--wu-neutral-200);--wu-text-muted:var(--wu-neutral-400);--wu-text-inverse:var(--wu-neutral-0);--wu-border-default:var(--wu-neutral-700);--wu-border-strong:var(--wu-neutral-400);--wu-border-focus:var(--wu-lime-400);--wu-action-primary:var(--wu-lime-400);--wu-action-hover:var(--wu-lime-200);--wu-action-text:var(--wu-neutral-950);--wu-action-selected:var(--wu-neutral-700);--wu-status-success-bg:var(--wu-green-900);--wu-status-success-text:var(--wu-green-400);--wu-status-warning-bg:var(--wu-amber-950);--wu-status-warning-text:var(--wu-amber-400);--wu-status-danger-bg:var(--wu-red-950);--wu-status-danger-text:var(--wu-red-400);--wu-status-info-bg:var(--wu-blue-950);--wu-status-info-text:var(--wu-blue-400);--wu-zone-recovery:var(--wu-neutral-500);--wu-zone-endurance:var(--wu-green-400);--wu-zone-tempo:var(--wu-blue-400);--wu-zone-threshold:var(--wu-violet-400);--wu-zone-vo2:var(--wu-amber-400);--wu-zone-anaerobic:var(--wu-red-400);--wu-fuel-bg:var(--wu-violet-950);--wu-fuel-text:var(--wu-violet-400);--wu-chart-actual:var(--wu-lime-400);--wu-chart-plan:var(--wu-neutral-500);--wu-chart-load:var(--wu-violet-400)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{background:var(--wu-bg-canvas);color:var(--wu-text-primary);margin:0;font-family:Manrope,system-ui,sans-serif;font-size:14px;line-height:1.6}button,input,select,textarea{font:inherit}a{color:inherit;text-underline-offset:4px}button,.button{background:var(--wu-action-primary);min-height:44px;color:var(--wu-action-text);cursor:pointer;border:1px solid #0000;border-radius:8px;justify-content:center;align-items:center;gap:8px;padding:10px 18px;font-weight:600;text-decoration:none;transition:background .15s,box-shadow .15s;display:inline-flex}button:hover,.button:hover{background:var(--wu-action-hover)}button:disabled,.disabled{opacity:.5;cursor:not-allowed}.disabled{pointer-events:none}button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:2px solid var(--wu-border-focus);outline-offset:3px}.secondary{background:var(--wu-bg-surface);color:var(--wu-text-primary);border-color:var(--wu-border-default)}.secondary:hover{background:var(--wu-bg-subtle)}.text-button{min-height:32px;color:inherit;text-align:left;background:0 0;padding:4px 0;font-weight:500}.text-button:hover{background:0 0;text-decoration:underline}.icon-button{width:40px;min-height:40px;padding:8px}.full{width:100%;margin-top:12px}.small-link{font-size:12px;font-weight:600}.muted,small{color:var(--wu-text-muted)}small{font-size:12px;line-height:1.5}h1,h2{letter-spacing:-.03em;font-family:Space Grotesk,Manrope,sans-serif;line-height:1.2}h1{margin:0 0 6px;font-size:40px}h2{margin:0 0 12px;font-size:22px}h3{margin:0 0 12px;font-size:16px;line-height:1.5}p{color:var(--wu-text-secondary);margin:0 0 14px}h1+p{margin:0}label{flex-direction:column;gap:6px;font-size:12px;font-weight:600;display:flex}input,select,textarea{border:1px solid var(--wu-border-strong);background:var(--wu-bg-surface);width:100%;min-height:44px;color:var(--wu-text-primary);border-radius:8px;padding:10px 12px;font-size:14px;font-weight:400}textarea{resize:vertical;min-height:90px}input[type=checkbox],input[type=radio]{width:20px;height:20px;min-height:20px;accent-color:var(--wu-action-primary);flex-shrink:0;padding:0}fieldset{border:0;margin:0;padding:0}legend{margin-bottom:8px;padding:0;font-weight:600}.brand{white-space:nowrap;align-items:center;gap:8px;min-height:44px;display:flex}.brand img{flex:0 0 38px;width:38px;height:28px;display:block}.brand strong{letter-spacing:-.04em;font-size:20px}.brand.inverse{color:#f7f8f4}.eyebrow{text-transform:uppercase;color:var(--wu-text-muted);font-size:12px;font-weight:700;line-height:18px;display:block}.workspace{background:var(--wu-bg-canvas);min-height:100vh;color:var(--wu-text-primary);align-items:flex-start;display:flex}.sidebar{color:#f7f8f4;background:#131b17;flex-direction:column;flex-shrink:0;gap:24px;width:224px;height:100dvh;min-height:670px;padding:24px;display:flex;position:sticky;top:0}.sidebar>.eyebrow{color:#94a191;font-size:12px}.sidebar nav{flex-direction:column;gap:8px;display:flex}.sidebar nav button{color:#f7f8f4;white-space:nowrap;background:0 0;justify-content:flex-start;width:100%;padding:10px 12px;font-size:14px}.sidebar nav button svg{color:#cbd3c8}.sidebar nav button.active,.sidebar nav button.active:hover{color:#131b17;background:#c8f03d}.sidebar nav button.active svg{color:#131b17}.sidebar nav button:hover{background:#26322c}.workspace-info{background:#1c2621;border-radius:12px;flex-direction:column;gap:8px;padding:16px;display:flex}.workspace-info strong{font-size:16px}.workspace-info small{color:#cbd3c8}.sidebar-bottom{flex-direction:column;gap:8px;margin-top:auto;font-size:12px;display:flex}.sidebar-bottom button{color:#cbd3c8;background:0 0;justify-content:flex-start;min-height:28px;padding:0;font-weight:400}.sidebar-bottom a{color:#cbd3c8;text-decoration:none}.main{flex-direction:column;flex:1;gap:24px;min-width:0;max-width:1900px;padding:32px;display:flex}.topbar,.section-heading,.page-heading{justify-content:space-between;align-items:center;gap:24px;display:flex}.topbar{min-height:36px}.topbar .eyebrow{font-size:12px}.page-heading{margin-bottom:0}.page-heading>div{min-width:0}.page-heading>.button,.page-heading>button{flex-shrink:0;min-width:220px}.page-heading p{margin:0}.inline{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.badge{background:var(--wu-bg-subtle);min-height:30px;color:var(--wu-text-secondary);white-space:nowrap;border-radius:999px;align-items:center;padding:6px 10px;font-size:11px;font-weight:700;display:inline-flex}.badge.success,.notice.success{background:var(--wu-status-success-bg);color:var(--wu-status-success-text)}.badge.warning,.notice.warning,.chip.warning{background:var(--wu-status-warning-bg);color:var(--wu-status-warning-text)}.badge.danger,.notice.danger{background:var(--wu-status-danger-bg);color:var(--wu-status-danger-text)}.badge.info,.notice.info{background:var(--wu-status-info-bg);color:var(--wu-status-info-text)}.badge.fuel{background:var(--wu-fuel-bg);color:var(--wu-fuel-text)}.badge.lime{background:var(--wu-action-primary);color:var(--wu-action-text)}.metrics{grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;display:grid}.metric{background:var(--wu-bg-surface);border:1px solid var(--wu-border-default);border-radius:12px;flex-direction:column;gap:12px;min-height:136px;padding:16px;display:flex}.metric>span{color:var(--wu-text-secondary);font-size:12px;font-weight:700}.metric>strong,.data-value{letter-spacing:-.03em;font-family:IBM Plex Mono,monospace;font-size:28px;font-weight:500;line-height:36px}.metric>small{margin-top:auto}.warning-text{color:var(--wu-status-warning-text)}.focus-banner{color:#fff;background:#131b17;border-radius:16px;justify-content:space-between;align-items:center;gap:24px;padding:24px;display:flex}.focus-banner h2{color:#fff;font-size:22px}.focus-banner p{color:#e4e8df;margin:0}.focus-banner button{min-width:250px}.panel{background:var(--wu-bg-surface);border:1px solid var(--wu-border-default);border-radius:16px;min-width:0;padding:24px}.section-heading h2{margin:0}.filters{grid-template-columns:1.4fr 1.1fr 1fr auto;align-items:center;gap:16px;margin:24px 0 12px;display:grid}.search-field{position:relative}.search-field svg{color:var(--wu-text-muted);position:absolute;top:14px;left:12px}.search-field input{padding-left:36px}.chip{background:var(--wu-bg-subtle);min-height:36px;color:var(--wu-text-secondary);border-radius:999px;padding:7px 12px;font-size:12px}.chip.selected{background:var(--wu-action-primary);color:var(--wu-action-text)}.table-scroll{overflow:auto}.athlete-table{border-collapse:separate;border-spacing:0 12px;text-align:left;white-space:nowrap;width:100%}.athlete-table th{color:var(--wu-text-muted);padding:0 12px 6px;font-size:11px;font-weight:700}.athlete-table td{border-top:1px solid var(--wu-border-default);border-bottom:1px solid var(--wu-border-default);vertical-align:middle;padding:14px 12px;font-size:12px}.athlete-table tr.selected td{background:var(--wu-action-selected)}.athlete-table td:first-child{border-left:1px solid var(--wu-border-default);border-radius:8px 0 0 8px;width:30%}.athlete-table td:last-child{border-right:1px solid var(--wu-border-default);border-radius:0 8px 8px 0}.athlete-table td .text-button{font-size:14px}.athlete-identity{align-items:center;gap:16px;display:flex}.avatar{background:var(--wu-fuel-bg);width:40px;height:40px;color:var(--wu-fuel-text);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:14px;font-weight:600;display:inline-flex}.identity-button{text-align:left;min-height:40px;color:var(--wu-text-primary);background:0 0;flex-direction:column;align-items:flex-start;gap:4px;padding:0;font-size:14px;display:flex}.identity-button:hover{background:0 0;text-decoration:underline}.identity-button strong{font-weight:600}.identity-button small{text-overflow:ellipsis;max-width:200px;overflow:hidden}.mono{font-family:IBM Plex Mono,monospace}.table-footer{border-top:1px solid var(--wu-border-default);justify-content:space-between;align-items:center;gap:16px;padding-top:16px;display:flex}.pagination{white-space:nowrap;align-items:center;gap:8px;display:flex}.selection-bar{background:var(--wu-action-selected);border-radius:8px;align-items:center;gap:16px;padding:12px;display:flex}.two-column{grid-template-columns:1.75fr 1fr;align-items:start;gap:24px;display:grid}.three-column{grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;display:grid}.goal-card{color:#fff;background:#131b17;border-radius:16px;flex-direction:column;align-items:flex-start;gap:12px;min-height:250px;padding:24px;display:flex}.goal-card h2{margin:0}.goal-card p,.goal-card .eyebrow{color:#e4e8df}.tabs{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.tabs button,.tabs a{min-width:120px;min-height:44px;color:var(--wu-text-primary);text-align:center;background:0 0;border:1px solid #0000;border-radius:8px;padding:10px 16px;text-decoration:none}.tabs .selected{background:var(--wu-action-selected);border-color:var(--wu-border-focus)}.fuel-card,.fuel-hero{background:var(--wu-fuel-bg);border-radius:16px;padding:24px}.fuel-card{flex-direction:column;align-items:flex-start;gap:12px;display:flex}.fuel-card .eyebrow,.fuel-hero .eyebrow,.fuel-text{color:var(--wu-fuel-text)}.fuel-card p{margin:0}.fuel-hero h2{margin-top:16px}.lime-card{background:var(--wu-action-selected)}.load-chart{gap:8px;height:200px;margin:24px 0;display:flex}.chart-day{text-align:center;flex-direction:column;flex:1;justify-content:flex-end;gap:8px;min-width:0;display:flex}.chart-bars{align-items:flex-end;gap:4px;height:160px;display:flex}.chart-bars span{background:var(--wu-chart-actual);border-radius:4px 4px 0 0;width:50%;min-height:1px;max-height:100%}.chart-bars span.planned{background:var(--wu-chart-plan)}.athlete-selector{max-width:330px}.calendar-toolbar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;display:flex}.calendar-toolbar span{font-size:12px}.week-grid{grid-template-columns:repeat(7,minmax(0,1fr));gap:12px;display:grid;overflow:auto}.day-heading{background:var(--wu-bg-surface);border-radius:12px;flex-direction:column;gap:4px;margin-bottom:12px;padding:12px;display:flex}.day-heading.today{background:var(--wu-action-primary);color:var(--wu-action-text)}.day-heading span{font-size:11px}.day-heading strong{font-family:Space Grotesk,sans-serif;font-size:28px}.workout-card{border:1px solid var(--wu-border-default);background:var(--wu-bg-surface);min-height:210px;color:var(--wu-text-primary);text-align:left;border-radius:12px;flex-direction:column;justify-content:flex-start;align-items:stretch;gap:12px;width:100%;margin-bottom:12px;padding:16px 12px;font-weight:400;display:flex}.workout-card:hover{background:var(--wu-bg-subtle)}.workout-card strong{font-size:14px;font-weight:600}.workout-card small,.workout-card .fuel-text{font-size:11px}.interval-bars{align-items:flex-end;gap:4px;width:100%;height:54px;display:flex}.interval-bars span{background:var(--wu-zone-endurance);border-radius:4px;flex:1;min-width:2px;max-height:100%}.interval-bars.threshold .high{background:var(--wu-zone-threshold)}.interval-bars.vo2 .high{background:var(--wu-zone-vo2)}.calendar-empty{border:1px dashed var(--wu-border-default);min-height:80px;color:var(--wu-text-muted);border-radius:8px;padding:16px 8px;font-size:12px}.simple-table{border-collapse:collapse;text-align:left;width:100%}.simple-table th{color:var(--wu-text-muted);font-size:11px}.simple-table td,.simple-table th{border-bottom:1px solid var(--wu-border-default);padding:16px 12px}.simple-table tr:last-child td{border-bottom:0}.approval-bar{flex-wrap:wrap;align-items:center;gap:16px;display:flex}.approval-bar small{margin-right:auto}.inbox-layout{grid-template-columns:240px minmax(280px,1fr) 280px;align-items:start;gap:20px;display:grid}.conversations{max-height:720px;padding:16px;overflow:auto}.conversations button{text-align:left;color:var(--wu-text-primary);background:0 0;flex-direction:column;align-items:flex-start;gap:6px;width:100%;margin-top:8px;padding:12px;display:flex}.conversations button.selected{background:var(--wu-action-selected)}.conversations button small{-webkit-line-clamp:2;-webkit-box-orient:vertical;font-weight:400;display:-webkit-box;overflow:hidden}.thread-heading{border-bottom:1px solid var(--wu-border-default);align-items:center;gap:12px;padding-bottom:20px;display:flex}.thread-heading>div{flex-direction:column;gap:4px;display:flex}.messages{flex-direction:column;gap:16px;max-height:500px;padding:24px 0;display:flex;overflow:auto}.message{background:var(--wu-bg-subtle);border-radius:12px;max-width:95%;padding:16px}.message p{white-space:pre-wrap;overflow-wrap:anywhere;color:var(--wu-text-primary);margin:0 0 8px}.message.outgoing{background:var(--wu-status-success-bg);align-self:flex-end}.message.incoming{align-self:flex-start}.message small{font-size:11px}.context-stack{flex-direction:column;gap:20px;display:flex}.context-stack .button{width:100%;padding:10px;font-size:12px}.integration-card{background:var(--wu-bg-surface);color:var(--wu-text-primary);text-align:left;flex-direction:column;justify-content:flex-start;align-items:flex-start;gap:16px;min-height:220px;font-weight:400;display:flex}.integration-card:hover{background:var(--wu-bg-subtle)}.integration-card h3,.integration-card p{margin:0}.integration-card .small-link{margin-top:auto}.notice{border-radius:10px;padding:16px;font-size:13px;line-height:1.6}.toast{z-index:100;border:1px solid var(--wu-border-default);background:var(--wu-bg-surface);border-radius:12px;align-items:center;gap:12px;max-width:calc(100vw - 32px);padding:16px 20px;display:flex;position:fixed;bottom:24px;left:50%;transform:translate(-50%);box-shadow:0 8px 32px #131b1726}.toast>svg{color:var(--wu-status-success-text);flex-shrink:0}.empty{text-align:center;max-width:580px;margin:auto;padding:48px 24px}.empty p{margin-bottom:0}.form-stack{flex-direction:column;gap:18px;display:flex}.form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;display:grid}.checkbox-label{flex-direction:row;align-items:center;gap:12px;font-size:13px;display:flex}dialog{border:1px solid var(--wu-border-default);background:var(--wu-bg-surface);color:var(--wu-text-primary);border-radius:20px;width:min(620px,100vw - 32px);max-height:90dvh;padding:28px;overflow:auto;box-shadow:0 24px 80px #131b1740}dialog::backdrop{-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#131b1777}.dialog-head{justify-content:space-between;align-items:center;gap:24px;margin-bottom:24px;display:flex}.dialog-head h2{margin:0}.auth-page{justify-content:center;align-items:center;gap:60px;min-height:100dvh;padding:48px;display:flex}.auth-intro{color:#f7f8f4;background:#131b17;border-radius:24px;max-width:600px;padding:56px}.auth-intro h1{margin:36px 0 24px;font-size:48px}.auth-intro p{color:#cbd3c8;margin-bottom:32px}.auth-card{flex-direction:column;gap:20px;width:100%;max-width:440px;display:flex}.auth-card h2{font-size:32px}.auth-card .brand{margin-bottom:16px}.auth-card h1{font-size:32px}.auth-card p{margin:0}.portal{flex-direction:column;gap:24px;max-width:460px;margin:0 auto;padding:32px 24px 48px;display:flex}.portal h1{margin:0;font-size:30px}.portal .panel{padding:24px}.portal .workout-card{margin:0;padding:20px}.portal .data-value{font-size:32px}.portal .score-options{gap:8px;margin-bottom:8px;display:flex}.score-options label{background:var(--wu-bg-subtle);cursor:pointer;border-radius:8px;justify-content:center;align-items:center;width:44px;height:44px;font-size:14px;display:flex;position:relative}.score-options label.selected{background:var(--wu-action-primary);color:var(--wu-action-text)}.score-options input{opacity:0;position:absolute}.score-options label:focus-within{outline:2px solid var(--wu-border-focus);outline-offset:2px}.portal .button{width:100%}.mobile-bar{display:none}.skip-link{z-index:200;background:var(--wu-action-primary);padding:12px;position:fixed;top:-100px;left:20px}.skip-link:focus{top:12px}@media (min-width:1600px){.main{padding:40px}}@media (max-width:1250px){.inbox-layout{grid-template-columns:200px minmax(250px,1fr)}.context-stack{grid-column:1/-1;grid-template-columns:repeat(3,1fr);display:grid}.week-grid{grid-template-columns:repeat(7,minmax(125px,1fr))}.main{padding:24px}.page-heading>.button,.page-heading>button{min-width:180px}.filters{grid-template-columns:1fr 1fr}.filters>small{text-align:right}.metrics{gap:12px}.metric>strong{font-size:25px}.two-column{grid-template-columns:1.5fr 1fr}h1{font-size:34px}}@media (max-width:1000px){.sidebar{width:200px;padding:20px}.metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.three-column{gap:16px}.focus-banner{flex-direction:column;align-items:flex-start}.focus-banner button{min-width:0}.two-column{grid-template-columns:1fr}.inbox-layout{grid-template-columns:180px 1fr}.context-stack{grid-template-columns:1fr 1fr}.auth-intro{padding:32px}.auth-page{gap:32px;padding:32px}.auth-intro h1{font-size:36px}.page-heading{align-items:flex-start}.page-heading>.button{min-width:0;font-size:12px}}@media (max-width:760px){.workspace{padding-top:72px;display:block}.mobile-bar{z-index:60;background:#131b17;justify-content:space-between;align-items:center;height:72px;padding:14px 20px;display:flex;position:fixed;inset:0 0 auto}.mobile-bar .icon-button{color:#fff;background:#26322c;border-color:#354239}.sidebar{z-index:50;width:260px;height:calc(100dvh - 72px);min-height:0;display:none;position:fixed;top:72px;left:0;box-shadow:12px 0 40px #131b1733}.sidebar.open{display:flex}.sidebar>.brand{display:none}.main{gap:20px;padding:24px 16px}.topbar .eyebrow{font-size:10px}.topbar .small-link{display:none}.page-heading{flex-direction:column;gap:16px}.page-heading h1{font-size:32px}.page-heading p{font-size:13px}.page-heading>button,.page-heading>.button{min-width:0}.metric{min-height:128px;padding:14px}.metric>strong{font-size:24px}.panel{padding:20px}.filters{gap:12px}.filters>label{grid-column:1/-1}.filters>small{text-align:left;grid-column:1/-1}.section-heading{flex-wrap:wrap;align-items:flex-start;gap:12px}.three-column{grid-template-columns:1fr}.week-grid{margin-right:-16px;padding-right:16px}.month-grid{grid-template-columns:repeat(7,minmax(120px,1fr))}.table-footer{flex-direction:column;align-items:flex-start}.table-footer .pagination{align-self:flex-end}.tabs{flex-wrap:nowrap;overflow:auto}.tabs button,.tabs a{min-width:110px}.inbox-layout{grid-template-columns:1fr}.conversations{gap:8px;max-height:none;padding:12px;display:flex;overflow:auto}.conversations>h3,.conversations>small{display:none}.conversations button{min-width:150px;margin:0}.conversations button small{max-width:145px}.context-stack{grid-column:auto;display:flex}.calendar-toolbar .inline{gap:8px}.calendar-toolbar button{padding:8px 12px;font-size:12px}.approval-bar{grid-template-columns:1fr 1fr;align-items:stretch;display:grid}.approval-bar small,.approval-bar>button:last-child{grid-column:1/-1}.auth-page{flex-direction:column;gap:32px;padding:32px 24px}.auth-intro{width:100%;max-width:440px;padding:28px}.auth-intro h1{margin:24px 0 16px;font-size:32px}.auth-intro p{margin-bottom:20px}.auth-card h2{font-size:28px}.toast{font-size:12px;bottom:16px;left:16px;right:16px;transform:none}.form-grid{grid-template-columns:1fr}.portal{padding:24px 20px}.load-chart{height:180px}.selection-bar{flex-wrap:wrap}}@media (prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}.learning-hero{background:linear-gradient(115deg,var(--wu-bg-surface),var(--wu-bg-subtle));justify-content:space-between;align-items:center;gap:24px;display:flex}.learning-hero p{max-width:650px;margin-bottom:0}.learning-hero .eyebrow,.recommendation-readout .eyebrow{align-items:center;gap:8px;margin-bottom:12px;display:flex}.learning-hero+* .metric{min-height:120px}.decision-stack>.metrics{grid-template-columns:repeat(3,minmax(0,1fr))}.course-proposal{border:1px solid var(--wu-border-strong);background:var(--wu-bg-subtle);border-radius:12px;flex-direction:column;gap:16px;padding:20px;display:flex}.course-proposal ol{margin:0;padding-left:22px}.course-proposal li+li{margin-top:8px}.course-proposal p{margin:0}.recommendation-readout{border-top:1px solid var(--wu-border-default);border-bottom:1px solid var(--wu-border-default);grid-template-columns:180px 1fr;align-items:center;gap:24px;padding:20px 0;display:grid}.recommendation-readout strong{letter-spacing:-.06em;font:500 44px/1.15 IBM Plex Mono,monospace}.recommendation-readout strong small{font-size:18px}.recommendation-readout p{margin:0}.source-reader{border:1px solid var(--wu-border-default);background:var(--wu-bg-subtle);border-radius:12px;flex-direction:column;gap:12px;min-width:0;padding:16px;display:flex}.source-reader>.section-heading{align-items:flex-start;gap:12px;font-size:12px}.source-canvas{background:#fff;align-self:stretch;line-height:0;position:relative}.source-canvas canvas{width:100%;height:auto;display:block}.source-canvas.calibrating{cursor:crosshair;touch-action:manipulation}.source-mark{color:#fff;text-align:center;pointer-events:none;background:#1554b4;border:2px solid #fff;border-radius:50%;width:24px;height:24px;font:700 12px/20px Manrope;position:absolute;transform:translate(-50%,-50%);box-shadow:0 0 0 1px #1554b4}.source-review-grid{grid-template-columns:minmax(0,1.15fr) minmax(270px,1fr);align-items:start;gap:24px;display:grid}dialog:has(.source-review-grid){width:min(1180px,100vw - 32px);max-width:none}.source-reader details[open]{flex-direction:column;gap:12px;display:flex}.source-text{white-space:pre-wrap;overflow-wrap:anywhere;max-height:260px;overflow:auto}.data-table td>small{white-space:normal;max-width:340px;margin-top:4px;display:block}.data-table .numeric{font-variant-numeric:tabular-nums;font-family:IBM Plex Mono,monospace}.zone-editor input{min-width:80px;padding:8px}.zone-editor td:first-child input{min-width:150px}.zone-dot{background:#607f72;border-radius:50%;width:8px;height:8px;margin-right:8px;display:inline-block}.zone-2{background:#498d86}.zone-3{background:#7d9a38}.zone-4{background:#c78a25}.zone-5{background:#b65b33}.zone-6{background:#a74453}.portal-topbar{z-index:20;background:var(--wu-bg-canvas);border-bottom:1px solid var(--wu-border-default);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;padding:12px 0;display:flex;position:sticky;top:0}.portal-topbar .section-heading{flex:1;min-width:210px}.portal-return{font-size:12px}.portal-tabs.extended{flex-wrap:nowrap;display:flex;overflow-x:auto}.portal-tabs.extended button{white-space:nowrap;flex:1}.zone-table{min-width:460px}@media (max-width:900px){.source-review-grid{grid-template-columns:1fr}.source-reader{max-width:100%}.learning-hero{flex-direction:column;align-items:flex-start}.zone-editor{min-width:590px}}@media (max-width:600px){.decision-stack>.metrics{grid-template-columns:1fr}.recommendation-readout{grid-template-columns:1fr;gap:16px}.portal-topbar{position:static}.source-review-grid{gap:16px}.course-proposal{padding:16px}}@media (prefers-reduced-motion:no-preference){.learning-hero,.course-proposal,.recommendation-readout{animation:.28s ease-out learning-enter}@keyframes learning-enter{0%{opacity:.5;transform:translateY(5px)}to{opacity:1;transform:translateY(0)}}}.operation-comparison{border-block:1px solid var(--wu-border-default);grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;padding:20px 0;display:grid}.operation-comparison>div{gap:6px;display:grid}.operation-comparison span{color:var(--wu-text-secondary);font-size:12px}.operation-comparison strong{letter-spacing:-1px;font-family:IBM Plex Mono,monospace;font-size:26px}.operation-comparison small{letter-spacing:0;font-size:12px;font-weight:400}.todo-items details{border-top:1px solid var(--wu-border-default);padding:16px 0}.todo-items summary{cursor:pointer;align-items:start;gap:16px;min-height:44px;display:flex}.todo-items summary>span:last-child{gap:5px;display:grid}.todo-items summary small{color:var(--wu-text-secondary);font-size:12px;font-weight:400}.todo-items dl{grid-template-columns:110px 1fr;gap:12px;margin:16px 0 0 34px;display:grid}.todo-items dt{font-size:12px;font-weight:700}.todo-items dd{margin:0;line-height:1.6}.product-todo select{max-width:360px}@media (max-width:600px){.todo-items dl{grid-template-columns:1fr;gap:6px;margin-left:0}.todo-items dd{margin-bottom:12px}.operation-comparison{gap:8px}.operation-comparison strong{font-size:23px}}.fast-plan-grid{grid-template-columns:minmax(0,1.7fr) minmax(260px,1fr);align-items:start;gap:24px;display:grid}.fast-plan,.fast-next{min-width:0}.fast-next{gap:14px;display:grid}.fast-next p,.fast-next h2,.fast-next h3{margin:0}.fast-next hr{border:0;border-top:1px solid var(--wu-border-default);width:100%;margin:8px 0}.fast-days{grid-template-columns:repeat(7,minmax(0,1fr));gap:8px;margin:0 0 24px;display:grid}.fast-days button{background:var(--wu-bg-surface);color:var(--wu-text-primary);border:1px solid var(--wu-border-default);border-radius:12px;justify-items:start;gap:8px;padding:14px 16px;display:grid}.fast-days button[aria-pressed=true]{background:var(--wu-bg-inverse,#14221c);color:var(--wu-text-inverse,#fff);border-color:var(--wu-bg-inverse,#14221c)}.fast-days strong{font:500 26px IBM Plex Mono,monospace}.fast-days small{font-size:11px}.fast-workout{border-top:1px solid var(--wu-border-default);padding:24px 0}.fast-workout>div{justify-content:space-between;align-items:center;display:flex}.fast-workout h2{margin:18px 0 12px;font-size:26px;line-height:1.2}.fast-duration{letter-spacing:-2px;font:500 clamp(32px,4vw,52px)/1.2 IBM Plex Mono,monospace}.fast-workout.is-paused{border-left:3px solid var(--wu-warning,#bf7d26);padding-left:18px}.fast-steps{padding-left:20px;font-size:13px;line-height:1.8}.fast-freshness{margin-top:24px;font-size:12px}.fast-athlete{max-width:360px;margin-bottom:20px;display:block}.fast-portal-main{max-width:1080px;margin:auto;padding:24px}.fast-portal{background:var(--wu-bg-canvas);width:100%;min-height:100vh;max-width:none!important}.pre-line{white-space:pre-line;overflow-wrap:anywhere}.operations-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin:24px 0;display:grid}.operations-grid article{border:1px solid var(--wu-border-default);background:var(--wu-bg-subtle);border-radius:16px;min-width:0;padding:24px}.operations-grid article>.badge{float:right}.operations-grid h3{margin:18px 0 12px}.operations-grid strong{font:500 18px IBM Plex Mono,monospace}.operations-grid p{font-size:13px}.operations-grid small{color:var(--wu-text-secondary);line-height:1.7;display:block}.operations-jobs{margin-bottom:18px}.operations-jobs summary{cursor:pointer;min-height:44px;padding:14px 0}.todo-filters{flex-wrap:wrap;align-items:end;gap:16px;margin:24px 0;display:flex}.todo-filters label{gap:8px;min-width:160px;display:grid}.todo-items summary>span:nth-child(2){flex:1;gap:6px;display:grid}.todo-items summary>.badge{white-space:nowrap;flex:none;font-size:11px}.todo-body{padding:12px 0 4px 34px}.todo-body dl{margin-left:0}.todo-body>small{color:var(--wu-text-secondary);margin-top:20px;display:block}.quality-checks{margin-top:24px}.quality-checks article{border-top:1px solid var(--wu-border-default);grid-template-columns:38px minmax(0,1fr);gap:16px;padding:24px 0;display:grid}.quality-index{color:var(--wu-text-secondary);padding-top:4px;font-size:13px}.quality-checks h3{margin:0}.quality-checks .section-heading{margin-bottom:12px}.quality-checks strong{font:500 18px IBM Plex Mono,monospace}.quality-checks p{max-width:800px;font-size:14px}.data-quality details{border-top:1px solid var(--wu-border-default);padding-top:20px}.data-quality details p{max-width:850px;font-size:13px}.data-quality summary{cursor:pointer;min-height:44px}@media (min-width:1600px){.operations-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}@media (max-width:1000px){.fast-plan-grid{grid-template-columns:minmax(0,1.3fr) minmax(240px,1fr)}.fast-days button{padding:12px}.operations-grid article{padding:18px}}@media (max-width:700px){.fast-plan-grid,.operations-grid{grid-template-columns:1fr}.fast-days{gap:4px}.fast-days button{padding:10px 6px;font-size:11px}.fast-days strong{font-size:21px}.fast-portal-main{padding:16px}.todo-items summary{flex-wrap:wrap;gap:10px}.todo-body{padding-left:0}.quality-checks article{grid-template-columns:24px 1fr;gap:10px}.quality-checks .section-heading,.fast-plan .section-heading{flex-wrap:wrap;align-items:start}.fast-duration{letter-spacing:-1px}}@media (prefers-reduced-motion:no-preference){.fast-workout,.quality-checks article,.operations-grid article{animation:.25s ease-out learning-enter}.spin{animation:1s linear infinite wu-spin}@keyframes wu-spin{to{transform:rotate(360deg)}}}.athlete-name{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.athlete-name .badge{white-space:nowrap;font-size:10px}.athlete-selector{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.athlete-selector label{flex:160px;gap:6px;min-width:0;display:grid}.athlete-selector label>strong{font-size:15px}.athlete-selector>.badge{white-space:nowrap;font-size:10px}.coach-home{gap:24px;margin-bottom:24px;display:grid}.coach-focus{background:var(--wu-bg-inverse,#14221c);color:var(--wu-text-inverse,#fff);border-radius:20px;justify-content:space-between;gap:32px;padding:32px;display:flex}.coach-focus h2{letter-spacing:-1px;margin:14px 0;font-size:clamp(26px,3vw,38px)}.coach-focus p{max-width:640px;color:inherit;opacity:.8}.coach-focus .eyebrow{color:var(--wu-brand-lime,#c9f135)}.coach-count{flex-direction:column;justify-content:center;align-items:end;min-width:160px;display:flex}.coach-count strong{letter-spacing:-5px;font:400 76px/1 IBM Plex Mono,monospace}.coach-count span{opacity:.7;margin-top:16px;font-size:12px}.coach-queue{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;display:grid}.coach-queue .panel{gap:10px;padding:24px;display:grid;position:relative}.coach-queue svg{color:var(--wu-text-secondary);position:absolute;top:24px;right:24px}.coach-queue strong{font:500 36px IBM Plex Mono,monospace}.coach-queue h3{margin:0;font-size:16px}.coach-queue small{color:var(--wu-text-secondary);line-height:1.6}.coach-roster td small{color:var(--wu-text-secondary);margin-top:6px;font-size:11px;display:block}.coach-roster table{width:100%}.coach-roster td:last-child{white-space:nowrap}.coach-roster td:last-child button{min-height:44px;margin-right:8px}.coach-home>.muted{margin:0;font-size:12px}.workout-fuel{border-top:1px solid var(--wu-border-default);margin:20px 0 0;padding:20px 0}.workout-fuel h3{margin:0;font-size:16px}.workout-fuel .section-heading{flex-wrap:wrap;gap:12px;margin-bottom:12px}.workout-fuel-metrics{grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin:18px 0;display:grid}.workout-fuel-metrics dt{color:var(--wu-text-secondary);margin-bottom:8px;font-size:11px}.workout-fuel-metrics dd{white-space:nowrap;margin:0 0 6px;font:500 25px IBM Plex Mono,monospace}.workout-fuel-metrics dd small{font:400 12px Manrope,sans-serif}.workout-fuel-metrics small{color:var(--wu-text-secondary);font-size:11px}.workout-fuel details{font-size:13px;line-height:1.7}.workout-fuel summary{cursor:pointer;align-content:center;min-height:44px}.workout-fuel>p{font-size:13px}.workout-operations textarea{width:100%;font:12px/1.6 IBM Plex Mono,monospace}.cp-controls{flex-wrap:wrap;align-items:end;gap:20px;margin:24px 0 16px;display:flex}.cp-controls>div{flex:1;gap:8px;padding-bottom:10px;display:grid}.cp-controls>div strong{font:500 14px IBM Plex Mono,monospace}.cp-controls label{gap:8px;min-width:220px;font-size:12px;display:grid}.cp-effort-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:24px 0;display:grid}.cp-effort-grid article{background:var(--wu-bg-subtle);border:1px solid var(--wu-border-default);border-radius:12px;align-content:start;gap:10px;min-width:0;padding:20px;display:grid}.cp-effort-grid article>span{color:var(--wu-text-secondary);font:12px IBM Plex Mono,monospace}.cp-effort-grid strong{white-space:nowrap;font:500 28px IBM Plex Mono,monospace}.cp-effort-grid strong small{font-size:12px}.cp-effort-grid small,.cp-effort-grid details{overflow-wrap:anywhere;font-size:11px}.cp-effort-grid summary{cursor:pointer;align-content:center;min-height:44px}.historical-cp>details{margin-top:24px;font-size:13px;line-height:1.7}.historical-cp>details summary{cursor:pointer;min-height:44px}.historical-cp .metric-strip{flex-wrap:wrap}@media (max-width:900px){.coach-focus{padding:24px}.coach-count{min-width:110px}.coach-count strong{font-size:60px}.coach-queue{gap:12px}.coach-queue .panel{padding:20px}.coach-queue svg{top:20px;right:20px}.cp-effort-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:600px){.coach-focus{flex-direction:column;gap:20px}.coach-count{flex-direction:row;justify-content:start;align-items:baseline;gap:14px}.coach-count strong{letter-spacing:-2px;font-size:44px}.coach-queue{grid-template-columns:1fr}.coach-queue .panel{grid-template-columns:56px 1fr;gap:4px 16px}.coach-queue strong{grid-row:1/3;font-size:30px}.coach-queue small{grid-column:2}.coach-queue svg{display:none}.workout-fuel-metrics{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.workout-fuel-metrics dd{font-size:23px}.cp-controls label,.cp-controls button{width:100%}.cp-effort-grid article{padding:16px}.coach-roster .section-heading{flex-wrap:wrap}}.coach-queue>button.panel{background:var(--wu-bg-surface);color:var(--wu-text-primary);text-align:left;place-content:start stretch;font-weight:400}.coach-queue>button.panel:hover{background:var(--wu-bg-subtle);border-color:var(--wu-border-strong)}.coach-queue>button.panel[aria-expanded=true]{border-color:var(--wu-border-focus);box-shadow:inset 0 3px var(--wu-action-primary)}.queue-label{font-size:16px;font-weight:700}.queue-link{color:var(--wu-text-primary);margin-top:6px;font-size:12px;font-weight:700}.coach-actions,.coach-actions h2,.plan-layout h2[tabindex]{scroll-margin-top:24px}.coach-action-list,.analysis-next ul{margin:16px 0 0;padding:0;list-style:none}.coach-action-list li,.analysis-next li{border-top:1px solid var(--wu-border-default);justify-content:space-between;align-items:center;gap:24px;padding:20px 0;display:flex}.coach-action-list li>div,.analysis-next li>div{flex:1;min-width:0}.coach-action-list h3{margin:8px 0 6px}.coach-action-list p,.analysis-next p{overflow-wrap:anywhere;margin-bottom:10px;font-size:13px}.coach-action-list button,.analysis-next li>button{flex-shrink:0;max-width:320px}.queue-empty{text-align:center;border-top:1px solid var(--wu-border-default);justify-items:center;padding:36px 16px;display:grid}.queue-empty svg{color:var(--wu-status-success-text);margin-bottom:12px}.queue-empty p{max-width:480px;margin:0}.goal-readiness{align-items:stretch}.goal-readiness .goal-card{gap:18px;padding:28px}.goal-readiness .goal-card small{color:#cbd3c8}.goal-readiness .goal-card h2{font-size:clamp(26px,3vw,36px)}.goal-status{text-align:left;color:#f7f8f4;background:#26332b;border-color:#718273;justify-content:start;max-width:100%;min-height:48px}.goal-status:hover{background:#37463d}.goal-status.ready{background:var(--wu-action-primary);color:var(--wu-action-text);border-color:#0000}.goal-status.incomplete{color:#ffe2af;background:#493b24;border-color:#9c7a42}.goal-status.incomplete:hover{background:#59482d}.goal-checklist .section-heading{flex-wrap:wrap;gap:12px}.goal-requirement{text-align:left;width:100%;color:var(--wu-text-primary);border-top:1px solid var(--wu-border-default);background:0 0;border-radius:0;justify-content:space-between;align-items:center;gap:20px;padding:16px 0;display:flex}.goal-requirement:hover{background:var(--wu-bg-subtle)}.goal-requirement>span{gap:5px;display:grid}.goal-requirement strong{font-size:14px}.goal-requirement small{font-weight:400}.goal-requirement svg{flex-shrink:0}.goal-checklist details summary{cursor:pointer;align-content:center;min-height:44px;font-size:13px;font-weight:600}.goal-checklist>.inline{padding-top:8px}.analysis-card{gap:20px;display:grid}.analysis-card>.section-heading{align-items:start}.analysis-card>p{max-width:850px;margin:0}.analysis-basis{background:var(--wu-bg-subtle);border-radius:12px;flex-wrap:wrap;align-items:center;gap:12px 24px;padding:16px 20px;font-size:12px;display:flex}.analysis-basis strong{margin-right:6px;font:500 24px IBM Plex Mono,monospace}.analysis-basis .text-button{margin-left:auto}.analysis-card>label{max-width:680px}.analysis-card>label small{font-weight:400}.analysis-result{border-top:1px solid var(--wu-border-default);padding-top:24px}.analysis-result>.section-heading{flex-wrap:wrap;align-items:start;gap:12px;margin-bottom:16px}.analysis-result h3{margin:0}.analysis-focus{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin:24px 0;display:grid}.analysis-focus article{background:var(--wu-bg-subtle);border:1px solid var(--wu-border-default);border-radius:14px;min-width:0;padding:24px}.analysis-focus article>.section-heading{flex-wrap:wrap;gap:8px;margin-bottom:16px}.analysis-focus article>h3{margin-bottom:16px;font-size:20px}.analysis-focus article p{font-size:13px}.analysis-focus details{overflow-wrap:anywhere;font-size:12px}.analysis-focus summary{cursor:pointer;align-content:center;min-height:44px}.analysis-focus li{margin-bottom:8px}.analysis-next{border-top:1px solid var(--wu-border-default);padding-top:20px}.analysis-next li{align-items:start}.analysis-next li>button{font-size:12px}.analysis-next li:first-child{border-top:0;padding-top:0}.analysis-next p{margin:6px 0 0}@media (max-width:900px){.coach-action-list li,.analysis-next li{align-items:start;gap:16px}.coach-action-list button,.analysis-next li>button{max-width:240px}.analysis-focus{grid-template-columns:1fr}}@media (max-width:600px){.queue-link{grid-column:2}.coach-action-list li,.analysis-next li{flex-direction:column}.coach-action-list button,.analysis-next li>button{width:100%;max-width:none}.coach-actions .section-heading{flex-wrap:wrap;align-items:start;gap:12px}.analysis-basis{gap:10px;padding:16px}.analysis-basis .text-button{margin-left:0}.analysis-focus article{padding:18px}.goal-readiness .goal-card{padding:24px}.analysis-card>.inline>button{width:100%}}@media (prefers-reduced-motion:no-preference){.coach-actions,.analysis-result{animation:.22s ease-out learning-enter}}.tp-export{gap:22px}.tp-export .section-heading{flex-wrap:wrap;align-items:start;gap:12px}.tp-export h3{margin:0}.tp-export .eyebrow{margin-bottom:8px;font-size:11px}.tp-file{background:var(--wu-bg-subtle);border:1px solid var(--wu-border-default);border-radius:12px;gap:14px;padding:20px;display:grid}.tp-file label{max-width:100%}.tp-file input{max-width:180px}.tp-file p{margin:0;font-size:12px}.tp-file>button{justify-self:start}.tp-export textarea{resize:vertical;font-size:12px;line-height:1.65}.tp-export section>small{margin-top:10px;display:block}.tp-export .small-link{align-items:center;gap:6px;display:inline-flex}.tp-export small{font-weight:400}.tp-export .notice{margin:0}@media (max-width:600px){.tp-file{padding:16px}.tp-file>button,.tp-export .section-heading>button{width:100%}.tp-export .inline{flex-direction:column;align-items:stretch}}dialog:has(.tp-export) .dialog-head{margin:-28px -28px 24px;padding:28px 28px 16px;top:-28px}
.sidebar{min-height:0;overflow-y:auto}.sidebar nav{gap:4px}.sidebar nav button{min-height:44px;padding:10px;font-size:13px}.sidebar nav button:nth-child(6){margin-top:16px}.sidebar .workspace-info{margin-top:4px}.sidebar-bottom{margin-top:auto;padding-top:20px}.icon-button{min-width:44px;min-height:44px}.text-button,.checkbox-label{min-height:44px}.main{width:calc(100% - 224px);min-width:0}.sidebar-bottom button,.sidebar-bottom a{align-items:center;min-height:44px;display:flex}.coaching-toolbar{flex-wrap:wrap;align-items:flex-end;gap:24px;display:flex}.coaching-toolbar .athlete-selector{width:330px;max-width:100%}.coaching-inbox{justify-content:space-between;align-items:center;gap:24px;display:flex}.coaching-inbox p{margin:4px 0 0}.plan-layout{grid-template-columns:minmax(250px,330px) minmax(0,1fr);align-items:start;gap:24px;display:grid}.day-list,.day-group{flex-direction:column;gap:8px;display:flex}.day-list>.eyebrow{margin-bottom:4px}.decision-stack{flex-direction:column;gap:24px;min-width:0;display:flex}.decision-card{flex-direction:column;gap:12px;min-width:0;display:flex}.decision-card h2{font-family:var(--wu-font-family-body),sans-serif;letter-spacing:0;margin:0;font-size:20px;line-height:28px}.decision-card p{margin:0}.decision-card .notice p{margin:6px 0}.decision-card .section-heading{margin:0}.decision-card ul{margin:0;padding-left:20px}.decision-card li+li{margin-top:8px}.detail-row{border:1px solid var(--wu-border-default);border-radius:var(--wu-radius-12);background:var(--wu-bg-surface);width:100%;color:var(--wu-text-primary);text-align:left;align-items:center;gap:16px;min-height:76px;padding:16px;font-weight:400;display:flex}.detail-row.selected{background:var(--wu-action-selected)}.detail-content{overflow-wrap:anywhere;flex-direction:column;flex:1;gap:4px;min-width:0;display:flex}.detail-content strong{font-size:14px;font-weight:600;line-height:22px}.detail-content small{color:var(--wu-text-secondary);font-size:12px;line-height:18px}.detail-result{flex-direction:column;flex:0 0 96px;gap:4px;min-width:0;font-size:12px;line-height:18px;display:flex}.detail-result small{overflow-wrap:anywhere;font-weight:700}.day-list .detail-result{flex-basis:72px}.empty-day{color:var(--wu-text-muted);border:1px dashed var(--wu-border-default);text-align:left;background:0 0;justify-content:space-between;padding:16px;font-size:12px;font-weight:400}.action-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px 16px;display:grid}.action-grid button{min-width:0}.coaching-columns{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;gap:24px;display:grid}.coaching-metrics{grid-template-columns:repeat(3,minmax(0,1fr))}.priority-card{flex-direction:column;gap:16px;display:flex}.priority-card>div:first-child{align-items:center;gap:20px;display:flex}.priority-card h3{margin:0}.preserve-lines{white-space:pre-wrap;overflow-wrap:anywhere}.safety-banner{flex-direction:column;align-items:flex-start;gap:12px;display:flex}.safety-banner p{margin:0}details{border:1px solid var(--wu-border-default);border-radius:12px;padding:0 16px}summary{cursor:pointer;min-height:48px;padding:12px 0;font-weight:600}details>p,details>small{display:block;margin-bottom:16px!important}details:has(summary:focus-visible){outline:2px solid var(--wu-border-focus);outline-offset:3px}.athlete-portal{gap:24px;width:100%;max-width:980px;padding:32px}.portal-heading{flex-direction:column;gap:12px;display:flex}.athlete-portal h1{font-size:40px;line-height:48px}.portal-tabs{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;display:grid}.athlete-portal .panel{padding:24px}.athlete-portal .goal-card{min-height:0}.paused-hero h2{font-size:28px;line-height:36px}.choice-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;display:grid}.choice{border:1px solid var(--wu-border-default);cursor:pointer;border-radius:8px;flex-direction:row;justify-content:center;align-items:center;min-height:44px;padding:10px 12px;font-size:14px;position:relative}.choice.selected{background:var(--wu-action-primary);color:var(--wu-action-text)}.score-options label:has(input:checked){background:var(--wu-action-primary);color:var(--wu-action-text)}.choice input{opacity:0;cursor:pointer;width:100%;height:100%;position:absolute;inset:0}.choice:focus-within{outline:2px solid var(--wu-border-focus);outline-offset:3px}.athlete-portal .score-options label{width:48px;height:48px}.score-options input{cursor:pointer;width:100%;height:100%;inset:0}.athlete-portal .form-stack{gap:24px}@media (max-width:1199px){.workspace{padding-top:88px;display:block}.mobile-bar{background:var(--wu-bg-canvas);border-bottom:1px solid var(--wu-border-default);z-index:60;justify-content:space-between;align-items:center;height:88px;padding:20px 24px;display:flex;position:fixed;inset:0 0 auto}.mobile-bar .brand.inverse{color:var(--wu-text-primary)}.mobile-bar .icon-button{background:var(--wu-bg-surface);color:var(--wu-text-primary);border-color:var(--wu-border-default);width:64px}.sidebar{z-index:70;width:280px;height:calc(100dvh - 88px);padding:24px;display:none;position:fixed;top:88px;left:0;box-shadow:12px 0 40px #131b1733}.sidebar.open{display:flex}.sidebar>.brand{display:none}.sidebar nav button{padding:12px;font-size:14px}.main{gap:24px;width:100%;padding:24px}.plan-layout{grid-template-columns:300px minmax(0,1fr)}.main h1{font-size:36px}.coaching-columns{gap:24px}.coaching-metrics{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (max-width:900px){.plan-layout{grid-template-columns:minmax(0,1fr)}.day-list{grid-row:2}.decision-stack{grid-row:1}.coaching-columns{grid-template-columns:minmax(0,1fr)}.coaching-toolbar{align-items:stretch}.coaching-toolbar .athlete-selector{flex:1;min-width:240px}.coaching-inbox{flex-direction:column;align-items:flex-start}.athlete-portal{max-width:834px;padding:24px}.coaching-metrics .metric{min-height:130px}}@media (max-width:600px){.main{padding:24px 16px}.main h1,.athlete-portal h1{font-size:30px;line-height:38px}.coaching-metrics{grid-template-columns:1fr}.action-grid{gap:8px}.action-grid button{padding:10px 8px;font-size:12px}.detail-row{gap:12px;padding:12px}.detail-result{flex-basis:80px}.portal-tabs{gap:8px}.portal-tabs button{padding:10px 6px;font-size:12px}.athlete-portal{padding:24px 16px}.choice-grid{gap:8px}.choice{padding:10px 4px;font-size:12px}.coaching-toolbar .inline{width:100%}.coaching-toolbar .inline>*{flex:1}.calendar-toolbar>.inline{flex-wrap:wrap}}
:root{--performance-line:#486d21}.dark{--performance-line:#c9f13b}.view-tabs{flex-wrap:wrap;gap:8px;display:flex}.view-tabs button{flex:0 auto}.filter-panel{flex-direction:column;gap:16px;display:flex}.history-controls{grid-template-columns:repeat(4,minmax(0,1fr))}.performance-chart{width:100%;height:auto;max-height:280px;display:block}.data-table-wrap{max-width:100%;overflow-x:auto}.data-table{border-collapse:collapse;width:100%;font-size:13px}.data-table th,.data-table td{text-align:left;border-bottom:1px solid var(--wu-border-default);padding:12px}.data-table td small{margin-top:4px;display:block}.data-table td:first-child{min-width:210px}.metric-strip{grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:16px;display:grid}.metric-strip>div{flex-direction:column;gap:8px;display:flex}.metric-strip strong{font-family:var(--wu-font-family-mono),monospace;font-size:24px}.metric-strip small{overflow-wrap:anywhere}.definition-list{flex-direction:column;gap:12px;margin:0;display:flex}.definition-list>div{border-bottom:1px solid var(--wu-border-default);justify-content:space-between;gap:20px;padding-bottom:10px;display:flex}.definition-list dd{text-align:right;margin:0}.record-details{padding-bottom:16px}.record-details[open]{flex-direction:column;gap:16px;display:flex}.upload-zone{border:1px dashed var(--wu-border-default);text-align:center;border-radius:12px;align-items:center;padding:24px}.upload-zone input{max-width:100%;min-height:44px}.csv-example,.source-text{white-space:pre-wrap;overflow-wrap:anywhere;background:var(--wu-bg-canvas);border-radius:8px;max-height:300px;padding:16px;font-size:12px;line-height:1.8;overflow:auto}.source-review-grid{grid-template-columns:minmax(0,1fr);gap:20px;display:grid}.source-review-grid:has(.original-preview){grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.original-preview{flex-direction:column;align-self:start;gap:12px;min-width:0;display:flex;position:sticky;top:0}.original-preview img,.original-preview canvas{border:1px solid var(--wu-border-default);background:#fff;width:100%;height:auto}.metric-field{border:1px solid var(--wu-border-default);border-radius:12px;padding:16px}.availability-grid{grid-template-columns:repeat(7,minmax(0,1fr));gap:8px;display:grid}.availability-grid input{min-width:0;padding:10px}.block-session{border-bottom:1px solid var(--wu-border-default);padding:16px 0}.block-session:last-child{border:0}.exercise-editor{flex-direction:column;gap:20px;display:flex}.exercise-editor fieldset{border:1px solid var(--wu-border-default);border-radius:12px;flex-direction:column;gap:16px;padding:16px;display:flex}.exercise-fields{grid-template-columns:repeat(3,minmax(0,1fr))}.exercise-list{flex-direction:column;gap:20px;margin:8px 0;padding-left:24px;display:flex}.exercise-list li>strong,.exercise-list li>span{display:block}.exercise-list li>span{margin:8px 0;font-size:14px}.exercise-list li p{margin:8px 0}.portal-tabs.extended{grid-template-columns:repeat(4,minmax(0,1fr))}.portal-week{flex-wrap:wrap;gap:8px;display:flex}.portal-week button{flex:1;min-width:88px}.dialog-head{background:var(--wu-bg-surface);z-index:1;padding-bottom:16px;position:sticky;top:0}dialog:has(.source-review-grid){width:min(1160px,100vw - 48px);max-width:none}input,select,textarea{max-width:100%}.main .goal-card p{max-width:70ch}.main .goal-card button{align-self:flex-start}.performance-loading{place-items:center;min-height:120px;display:grid}@media (max-width:1100px){.history-controls{grid-template-columns:repeat(2,minmax(0,1fr))}.availability-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.source-review-grid:has(.original-preview){grid-template-columns:minmax(0,1fr)}.original-preview{position:static}.original-preview canvas,.original-preview img{object-fit:contain;max-height:600px}}@media (max-width:700px){.metric-strip,.history-controls,.exercise-fields,.portal-tabs.extended{grid-template-columns:repeat(2,minmax(0,1fr))}.data-table td:first-child{min-width:170px}.data-table th,.data-table td{padding:10px 6px}.view-tabs button{flex:1}.definition-list>div{flex-wrap:wrap}.definition-list dd{text-align:left}}@media (prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}.signal-reason{max-width:32ch;color:var(--wu-text-secondary);margin-top:6px;font-size:12px;line-height:1.5;display:block}.filter-panel:not([open])>:not(summary){display:none}.filter-panel[open]>summary{margin-bottom:12px}.indoor-hero,.personal-day{background:var(--surface);justify-content:space-between;align-items:flex-start;gap:24px;display:flex}.indoor-hero p,.personal-day p{max-width:700px}.indoor-equation{flex-wrap:wrap;align-items:center;gap:32px;padding:28px 0;display:flex}.indoor-equation>div{flex-direction:column;gap:8px;display:flex}.indoor-equation strong{letter-spacing:-3px;font-family:Space Grotesk,sans-serif;font-size:64px;line-height:1}.indoor-equation span{color:var(--wu-text-muted)}.personal-welcome{max-width:720px;padding:36px}.personal-welcome form{max-width:360px;margin:24px 0}.dump-drop{border:1px dashed var(--border);border-radius:16px;flex-direction:column;gap:16px;padding:28px;font-weight:700;display:flex}.dump-drop input{max-width:100%}.import-warnings{overflow-wrap:anywhere;max-height:220px;overflow:auto}.decision-card details>summary{cursor:pointer;min-height:44px;padding:12px 0}.decision-card ol,.decision-card ul{padding-left:22px}.decision-card li{margin-bottom:12px;line-height:1.6}@media (max-width:900px){.indoor-hero,.personal-day{flex-direction:column}.indoor-equation{gap:24px}.indoor-equation strong{font-size:52px}}.personal-home .metrics,.indoor-hero~.decision-card .metrics{grid-template-columns:repeat(3,minmax(0,1fr))}.personal-more summary{cursor:pointer;color:#b5beb8;min-height:44px;padding:12px 16px;font-size:13px}.personal-more button{width:100%}@media (max-width:640px){.personal-home .metrics,.indoor-hero~.decision-card .metrics{grid-template-columns:1fr}}.connection-metrics{grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin-bottom:24px;display:grid}.connection-metrics .panel{gap:12px;padding:20px;display:grid}.connection-metrics span{color:var(--wu-text-muted);font-size:12px}.connection-metrics strong{font-family:var(--wu-font-family-data),monospace;font-variant-numeric:tabular-nums;font-size:30px}.connection-actions{margin-top:20px}.connection-progress progress{width:100%;height:8px;accent-color:var(--wu-action-primary);border:0;border-radius:8px;margin:12px 0 4px}.connection-progress-label{justify-content:space-between;align-items:center;gap:12px;display:flex}.connection-progress dd small{margin-top:4px;display:block}.connection-progress>.notice{margin-top:16px}.connection-progress>button{margin-top:20px}@media (max-width:1100px){.connection-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:520px){.connection-metrics{gap:10px}.connection-metrics .panel{padding:14px}.connection-metrics strong{font-size:26px}}.connection-progress progress{appearance:none;overflow:hidden}.connection-progress progress::-webkit-progress-bar{background:var(--wu-bg-subtle);border-radius:8px}.connection-progress progress::-webkit-progress-value{background:var(--wu-action-primary);border-radius:8px}.connection-progress progress::-moz-progress-bar{background:var(--wu-action-primary);border-radius:8px}
.heat-view{--heat-line:#b44b17;--heat-band:#f9e5ce}[data-theme=dark] .heat-view{--heat-line:#ffb171;--heat-band:#503421}.heat-hero{background:linear-gradient(110deg,var(--wu-bg-surface),var(--heat-band));justify-content:space-between;align-items:flex-start;gap:20px;padding:28px;display:flex}.heat-hero h2{margin:12px 0;font-family:Space Grotesk,Manrope,sans-serif;font-size:30px}.heat-tabs{flex-wrap:wrap;gap:10px;display:flex}.heat-view .metrics{grid-template-columns:repeat(3,minmax(0,1fr))}.heat-log-card .metrics .metric-value{font-size:22px}.heat-view .metric{min-width:0}.heat-view .metric strong{overflow-wrap:anywhere}.heat-goals{grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;display:grid}.heat-goals p{color:var(--wu-text-secondary)}.heat-readings{min-width:540px}.heat-readings input{width:100%;min-width:70px;padding:10px}.heat-readings caption{text-align:left;padding:10px 0}.heat-symptoms{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.heat-view fieldset{border:1px solid var(--wu-border-default);border-radius:12px;padding:16px}.heat-view details{padding:12px 0}.heat-view svg{width:100%;height:auto}@media (max-width:700px){.heat-hero{flex-direction:column}.heat-view .metrics,.heat-goals,.heat-symptoms{grid-template-columns:1fr}.heat-tabs>button{flex:1;min-width:140px}}.heat-view .data-table td:first-child{min-width:80px}.heat-readings select{min-width:146px}.heat-readings th{font-size:12px}.heat-view .data-table-wrap{min-width:0}.heat-readings td{padding:10px 6px}@media (max-width:1000px){.heat-readings,.heat-readings tbody{width:100%;min-width:0;display:block}.heat-readings thead{display:none}.heat-readings caption{display:block}.heat-readings tbody tr{border:1px solid var(--wu-border-default);border-radius:12px;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:12px 0;padding:16px;display:grid}.heat-readings td{border:0;padding:0;display:block;min-width:0!important}.heat-readings td[data-label]:before{content:attr(data-label);color:var(--wu-text-secondary);margin-bottom:8px;font-size:12px;font-weight:600;display:block}.heat-readings input,.heat-readings select{width:100%;min-width:0;min-height:44px}.heat-readings td:last-child{place-self:end}.heat-readings td:last-child button{min-width:44px;font-size:22px}}@media (max-width:600px){.heat-readings tbody tr{grid-template-columns:repeat(2,minmax(0,1fr))}}
.evidence-panel.evidence-panel{border:1px solid var(--wu-border-default);background:var(--wu-bg-surface);overflow-wrap:anywhere;border-radius:12px;min-width:0;margin-top:16px;padding:0}.evidence-panel>summary{cursor:pointer;min-height:52px;padding:16px 18px;line-height:1.5}.evidence-panel>summary>span{color:var(--wu-text-muted);margin:4px 0 0 18px;font-size:12px;display:block}.evidence-panel>summary:focus-visible,.evidence-source>summary:focus-visible{outline:2px solid var(--wu-border-focus);outline-offset:3px;border-radius:8px}.evidence-content{border-top:1px solid var(--wu-border-default);flex-direction:column;gap:20px;padding:20px;display:flex}.evidence-content h3{margin:0 0 10px;font-size:15px}.evidence-content p,.evidence-content li{font-size:13px;line-height:1.7}.evidence-content p{margin:0 0 10px}.evidence-content ul{margin:0;padding-left:20px}.evidence-content li+li{margin-top:8px}.evidence-content .evidence-context{color:var(--wu-text-muted);margin:0}.evidence-panel .evidence-source{border:0;border-top:1px solid var(--wu-border-default);border-radius:0;padding:12px 0}.evidence-panel .evidence-source>summary{cursor:pointer;min-height:44px;padding:0;font-size:14px;font-weight:600;line-height:1.6}.evidence-source>summary>span{color:var(--wu-text-muted);margin:3px 0 8px;font-size:12px;font-weight:400;display:block}.evidence-source a{align-items:center;min-height:44px;margin-top:8px;font-size:13px;display:inline-flex}.evidence-source small{line-height:1.6;display:block}.evidence-rules{background:var(--wu-bg-subtle);border-radius:8px;padding:16px}.evidence-rules>p:last-child{color:var(--wu-text-muted);margin:14px 0 0}@media (max-width:600px){.evidence-content{padding:16px}.evidence-panel>summary{padding:14px}.evidence-rules{padding:12px}}
:root,[data-theme=light]{--wu-chart-accent:#356b42;--wu-chart-reference:#7757b0;--wu-chart-grid:#e1e7df;--wu-chart-band:#eef2db;--wu-chart-muted:#8a9688;--performance-line:var(--wu-chart-accent)}[data-theme=dark]{--wu-chart-accent:#c8f03d;--wu-chart-reference:#b7a4ef;--wu-chart-grid:#354239;--wu-chart-band:#343c24;--wu-chart-muted:#a1ada0}.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}.main{padding-bottom:112px}.main h1{letter-spacing:-.045em;font-size:clamp(28px,3vw,42px)}.topbar{border-bottom:1px solid var(--wu-border-default);padding-bottom:16px}.topbar .eyebrow{letter-spacing:.06em;font-size:10px}.panel{border-radius:12px}.metric{border-radius:10px;gap:10px;min-height:144px;padding:20px;position:relative}.metric>span{letter-spacing:.035em;font-size:11px}.metric>strong{letter-spacing:-.045em;font-variant-numeric:tabular-nums;font-family:Space Grotesk,sans-serif;font-size:34px;font-weight:700;line-height:1.2}.metric>small{font-size:11px;line-height:1.6}.metrics{gap:12px}.decision-card>.metrics{margin:4px 0}.data-value,.numeric,.mono,.data-table{font-variant-numeric:tabular-nums}.view-tabs{border-bottom:1px solid var(--wu-border-default);gap:2px;padding-bottom:0}.view-tabs button{color:var(--wu-text-muted);background:0 0;border:0;border-bottom:2px solid #0000;border-radius:0;padding:12px 18px}.view-tabs button.selected{border-bottom-color:var(--wu-chart-accent);color:var(--wu-text-primary);background:0 0}.view-tabs button:hover{background:var(--wu-bg-subtle)}.data-table-wrap{border:1px solid var(--wu-border-default);overscroll-behavior:contain;border-radius:10px;max-height:560px}.data-table{border-spacing:0;font-size:12px}.data-table th{z-index:1;background:var(--wu-bg-subtle);letter-spacing:.04em;white-space:nowrap;color:var(--wu-text-secondary);height:44px;font-size:10px;font-weight:700;position:sticky;top:0}.data-table td{vertical-align:middle;padding:14px 16px;line-height:1.5}.data-table th{padding:10px 16px}.data-table tbody tr:hover{background:var(--wu-bg-subtle)}.data-table tbody tr:last-child td{border-bottom:0}.data-table .numeric{text-align:right;white-space:nowrap;font-family:IBM Plex Mono,monospace}.data-table td small{max-width:44ch;color:var(--wu-text-muted);font-size:10px}.data-table th button{font:inherit;letter-spacing:inherit;color:inherit;white-space:nowrap;background:0 0;border-radius:0;min-height:28px;padding:0}.data-table .numeric button{margin-left:auto}.data-table button.secondary{border-radius:6px;min-height:32px;padding:5px 10px;font-size:10px}.data-table caption{text-align:left;color:var(--wu-text-secondary);background:var(--wu-bg-subtle);padding:12px 16px;font-size:12px}.table-footnote{color:var(--wu-text-muted);justify-content:space-between;gap:16px;font-size:11px;display:flex}.data-chart{border-top:1px solid var(--wu-border-default);width:100%;min-width:0;padding-top:18px}.chart-readout{justify-content:space-between;align-items:center;gap:20px;min-height:70px;margin-bottom:4px;display:flex}.chart-readout strong{letter-spacing:-.04em;font-variant-numeric:tabular-nums;font-family:Space Grotesk,sans-serif;font-size:36px;font-weight:700;line-height:1.4}.chart-readout .eyebrow{letter-spacing:.04em;font-size:10px}.chart-readout strong small{letter-spacing:0;font-family:Manrope,sans-serif;font-size:12px;font-weight:400}.chart-detail{text-align:right;color:var(--wu-text-secondary);overflow-wrap:anywhere;max-width:45%;font-size:11px}.chart-interaction{touch-action:pan-y;border-radius:8px}.chart-interaction:focus-visible{outline:2px solid var(--wu-border-focus);outline-offset:2px}.chart-interaction svg{cursor:crosshair;-webkit-user-select:none;user-select:none;display:block;overflow:visible}.chart-axis{fill:var(--wu-text-muted);font-family:IBM Plex Mono,monospace;font-size:10px}.chart-grid{stroke:var(--wu-chart-grid);stroke-width:1px}.chart-band-label{fill:var(--wu-text-secondary);font-family:Manrope,sans-serif;font-size:10px}.chart-line{stroke:var(--wu-chart-accent);stroke-width:2.5px;fill:none;stroke-linecap:round;vector-effect:non-scaling-stroke}.chart-cursor{stroke:var(--wu-chart-muted);stroke-dasharray:3 5;stroke-width:1px}.chart-point{fill:var(--wu-bg-surface);stroke:var(--wu-chart-muted);stroke-width:1.5px}.chart-point.emphasis{fill:var(--wu-chart-accent);stroke:var(--wu-chart-accent)}.chart-point.reference{fill:var(--wu-chart-reference);stroke:var(--wu-chart-reference)}.chart-point .chart-selected{fill:none;stroke:var(--wu-chart-accent);stroke-width:1.2px;opacity:.65}.chart-footer{border-top:1px solid var(--wu-border-default);justify-content:space-between;align-items:center;gap:12px;padding-top:10px;display:flex}.chart-footer>small{font-size:10px}.chart-stepper{align-items:center;gap:10px;display:flex}.chart-stepper span{text-align:center;min-width:50px;color:var(--wu-text-muted);font:10px IBM Plex Mono,monospace}.chart-stepper button{width:36px;min-height:36px;padding:6px}.chart-empty{text-align:center;color:var(--wu-text-muted);background:var(--wu-bg-subtle);border-radius:8px;padding:44px 20px}.chart-legend{color:var(--wu-text-secondary);flex-wrap:wrap;align-items:center;gap:20px;font-size:11px;display:flex}.chart-legend span{align-items:center;gap:7px;display:flex}.chart-legend i{background:var(--wu-chart-accent);border-radius:50%;width:7px;height:7px;display:inline-block}.chart-legend i.regular{border:1.5px solid var(--wu-chart-muted);background:0 0}.chart-legend i.reference{background:var(--wu-chart-reference);border-radius:1px}.chart-legend i.plan{background:var(--wu-chart-plan);border-radius:1px}.chart-legend>small{margin-left:auto;font-size:10px}.recovery-trends{border-top:1px solid var(--wu-border-default);padding-top:18px}.recovery-trends>.section-heading{margin-bottom:14px}.recovery-trends .eyebrow{letter-spacing:.06em;font-size:10px}.recovery-grid{border:1px solid var(--wu-border-default);border-radius:10px;grid-template-columns:repeat(3,minmax(0,1fr));gap:0;display:grid;overflow:hidden}.recovery-metric{border-right:1px solid var(--wu-border-default);background:var(--wu-bg-canvas);flex-direction:column;gap:10px;min-width:0;padding:18px;display:flex}.recovery-metric:last-child{border-right:0}.recovery-metric>span{font-size:11px;font-weight:600}.recovery-metric>strong{letter-spacing:-.04em;font-family:Space Grotesk,sans-serif;font-size:30px}.recovery-metric>strong small{letter-spacing:0;font-family:Manrope,sans-serif;font-size:10px;font-weight:400}.recovery-metric svg{width:100%;height:56px;overflow:visible}.recovery-metric>small,.recovery-metric summary{font-size:10px}.recovery-metric details{margin-top:auto}.recovery-metric dl{max-height:200px;font-family:IBM Plex Mono,monospace;font-size:10px;overflow:auto}.recovery-value{justify-content:space-between;gap:6px;display:flex}.recovery-value dd{margin:0}.weekly-load{margin:20px 0}.load-bars{border-bottom:1px solid var(--wu-border-default);grid-template-columns:repeat(7,minmax(0,1fr));gap:12px;margin:22px 0 12px;padding-bottom:14px;display:grid}.load-day{text-align:center;color:var(--wu-text-muted);font-size:10px}.load-columns{justify-content:center;align-items:flex-end;gap:5px;height:170px;margin-bottom:10px;display:flex}.load-column{flex-direction:column;flex:1;justify-content:flex-end;align-items:center;gap:6px;max-width:28px;display:flex}.load-value{color:var(--wu-text-secondary);font:9px IBM Plex Mono,monospace}.load-bar{background:var(--wu-chart-accent);border-radius:3px 3px 0 0;width:100%;min-height:1px}.load-column.planned .load-bar{background:var(--wu-chart-plan)}.weekly-load>small{font-size:10px}.sidebar{gap:20px;width:232px;height:100dvh;min-height:0;padding:20px 14px;transition:width .2s}.sidebar-heading{justify-content:space-between;align-items:center;gap:8px;display:flex}.sidebar-toggle{color:#a1ada0;width:36px;min-height:40px;padding:8px;background:0 0!important}.sidebar-toggle:hover{color:#fff}.sidebar>.eyebrow{letter-spacing:.08em;padding-left:12px;font-size:10px}.sidebar nav{scrollbar-width:thin;scrollbar-color:#354239 transparent;flex:1;gap:4px;min-height:0;overflow:hidden auto}.sidebar nav button{border-radius:8px;gap:11px;min-height:44px;padding:10px 12px;font-size:12px}.sidebar nav button svg{stroke-width:1.7px;flex-shrink:0}.sidebar .nav-more{border:1px solid #354239;margin:8px 0}.nav-more svg{transition:transform .2s}.nav-more svg.rotated{transform:rotate(180deg)}#secondary-navigation[hidden]{display:none}#secondary-navigation{flex-direction:column;gap:4px;display:flex}.workspace-info{border-radius:8px;gap:4px;padding:12px}.workspace-info strong{font-size:12px}.workspace-info small{font-size:10px}.sidebar-bottom{border-top:1px solid #26322c;gap:10px;margin-top:0;padding-top:12px}.sidebar-bottom a,.sidebar-bottom button{align-items:center;gap:10px;min-height:36px;padding:4px 12px;font-size:11px;display:flex}.sidebar.collapsed{gap:12px;width:80px;padding:20px 12px}.sidebar.collapsed .sidebar-heading{flex-direction:column;gap:12px}.sidebar.collapsed .brand strong{display:none}.sidebar.collapsed .brand{gap:0}.sidebar.collapsed .nav-label,.sidebar.collapsed .workspace-info{display:none}.sidebar.collapsed nav button{justify-content:center;padding:12px}.sidebar.collapsed .sidebar-bottom button,.sidebar.collapsed .sidebar-bottom a{justify-content:center}.sidebar.collapsed .sidebar-bottom a.nav-label{display:none}.sidebar.collapsed .sidebar-bottom{gap:4px}@media (max-width:1100px){.metric{padding:16px}.metric>strong{font-size:30px}.recovery-metric{padding:14px}.recovery-metric>strong{font-size:26px}.recovery-grid{gap:0}.chart-detail{max-width:50%}}@media (max-width:760px){.sidebar,.sidebar.collapsed{width:260px;height:calc(100dvh - 72px);padding:20px 14px}.sidebar-heading,.sidebar.collapsed .sidebar-heading{display:none}.sidebar.collapsed .nav-label,.sidebar.collapsed .workspace-info{display:flex}.sidebar.collapsed nav button,.sidebar.collapsed .sidebar-bottom button,.sidebar.collapsed .sidebar-bottom a{justify-content:flex-start}.sidebar.collapsed .sidebar-bottom a.nav-label{display:flex}.metric>strong{font-size:28px}.metric{min-height:136px}.main{padding-bottom:104px}.chart-readout strong{font-size:30px}.chart-detail{font-size:10px}.recovery-grid{grid-template-columns:1fr}.recovery-metric{border-right:0;border-bottom:1px solid var(--wu-border-default);grid-template-columns:1fr 1fr;gap:8px 16px;display:grid}.recovery-metric:last-child{border-bottom:0}.recovery-metric>span{grid-column:1}.recovery-metric>strong{grid-area:2/1}.recovery-metric svg{grid-area:1/2/3}.recovery-metric>small,.recovery-metric details{grid-column:1/-1}.chart-footer>small{max-width:45%}.load-bars{gap:5px}}.filter-panel:not([open]){min-height:52px;padding:14px 20px}.filter-panel:not([open]) summary{min-height:24px}.main:has(.data-chart){gap:20px}.main:has(.data-chart)>.metrics .metric{min-height:128px}.main:has(.data-chart)>.coaching-toolbar:has(.athlete-selector>strong){display:none}.sidebar nav button:nth-child(6){margin-top:0}.filter-panel:not([open]) summary{min-height:24px;padding:0;line-height:24px}.metrics:has(>.metric:nth-child(3):last-child){grid-template-columns:repeat(3,minmax(0,1fr))}@media (min-width:761px){.workspace{padding-top:0;display:flex}.mobile-bar{display:none}.sidebar,.sidebar.open{height:100dvh;box-shadow:none;z-index:30;display:flex;position:sticky;top:0}.main{width:auto}}@media (max-width:760px){.metrics:has(>.metric:nth-child(3):last-child){grid-template-columns:1fr}.sidebar,.sidebar.collapsed{height:calc(100dvh - 88px);top:88px}}:root{--wu-color-chart-accent-light:#356b42;--wu-color-chart-reference-light:#7757b0;--wu-color-chart-grid-light:#e1e7df;--wu-color-chart-band-light:#eef2db;--wu-color-chart-muted-light:#8a9688;--wu-color-chart-band-dark:#343c24;--wu-color-chart-muted-dark:#a1ada0;--wu-font-size-metric-value:34px;--wu-font-size-chart-axis:10px;--wu-font-size-eyebrow:10px}.chart-tools{justify-content:flex-end;align-items:center;gap:14px;display:flex}.chart-tools>span{color:var(--wu-text-muted);margin-right:auto;font-size:10px}.chart-tools button{min-height:36px;font-size:11px}.chart-explorer{flex-direction:column;gap:20px;display:flex}dialog:has(.chart-explorer){width:min(1120px,100vw - 32px);max-width:1120px}.chart-explorer .data-table-wrap{max-height:280px;margin-top:14px}.chart-selected{transition:cx .14s,cy .14s}.period-switcher{border:1px solid var(--wu-border-default);background:var(--wu-bg-subtle);border-radius:8px;align-self:flex-start;gap:2px;padding:3px;display:inline-flex}.period-switcher button{min-height:38px;color:var(--wu-text-muted);background:0 0;border-radius:5px;padding:7px 15px;font-size:11px}.period-switcher button[aria-pressed=true]{background:var(--wu-bg-surface);color:var(--wu-text-primary);box-shadow:0 1px 3px #0000000d}.history-filter-group{flex-direction:column;gap:12px;display:flex}.recovery-metric{border:0;border-right:1px solid var(--wu-border-default);text-align:left;color:var(--wu-text-primary);border-radius:0;justify-content:flex-start;align-items:stretch;font-weight:400}.recovery-metric>span{justify-content:space-between;align-items:center;display:flex}.recovery-metric:hover,.recovery-metric.selected{background:var(--wu-bg-subtle)}.recovery-metric.selected{box-shadow:inset 0 -2px var(--wu-chart-accent)}.recovery-explorer{padding-top:24px}.recovery-explorer h3{margin:0}.load-day{color:var(--wu-text-muted);background:0 0;border:1px solid #0000;flex-direction:column;gap:0;min-width:0;padding:8px 3px;font-weight:400;display:flex}.load-day:hover,.load-day.selected{background:var(--wu-bg-subtle)}.load-day.selected{border-color:var(--wu-chart-accent)}.load-columns{width:100%}.load-bar{transition:height .24s}.load-readout{min-height:20px;margin:4px 0 8px;font-size:12px}.chart-interaction{animation:.24s both chart-appear}@keyframes chart-appear{0%{opacity:.35}to{opacity:1}}.personal-today{color:#f7f8f4;background:#131b17;border:1px solid #354239;border-radius:16px;flex-direction:column;gap:18px;padding:28px 32px;display:flex}.personal-today h2{max-width:30ch;margin:0;font-size:clamp(24px,2.5vw,34px);line-height:1.25}.personal-today .eyebrow,.personal-today>small{color:#a1ada0;letter-spacing:.04em;font-size:10px}.personal-today p{color:#cbd3c8;max-width:70ch;margin:0}.personal-today .secondary{color:#f7f8f4;background:0 0;border-color:#53624f}.personal-today .secondary:hover{background:#26322c}.personal-today .badge.neutral{color:#cbd3c8;background:#26322c}.personal-today.on-hold{border-left:4px solid var(--wu-status-warning-text)}.setup-progress{border:1px solid var(--wu-border-default);background:var(--wu-bg-surface);border-radius:10px;align-items:center;gap:24px;padding:16px 20px;display:flex}.setup-progress>div:first-child{flex-direction:column;gap:4px;min-width:120px;display:flex}.setup-progress>div:last-child{flex:1;grid-template-columns:repeat(4,1fr);gap:10px;display:grid}.setup-progress strong{font-size:12px}.setup-progress small{font-size:10px}.setup-step{background:var(--wu-bg-subtle);min-height:40px;color:var(--wu-text-primary);justify-content:flex-start;gap:8px;padding:8px;font-size:11px}.setup-step>span{border:1px solid var(--wu-border-default);border-radius:50%;place-items:center;width:20px;height:20px;font:10px IBM Plex Mono,monospace;display:grid}.setup-step.complete>span{background:var(--wu-status-success-bg);color:var(--wu-status-success-text);border-color:#0000}.setup-step>svg{margin-left:auto}.home-metrics{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;display:grid}.home-metrics>button{border:1px solid var(--wu-border-default);background:var(--wu-bg-surface);color:var(--wu-text-primary);text-align:left;flex-direction:column;justify-content:flex-start;align-items:stretch;gap:12px;min-height:140px;padding:20px;display:flex}.home-metrics>button:hover{background:var(--wu-bg-subtle);border-color:var(--wu-chart-muted)}.home-metrics>button>span{color:var(--wu-text-secondary);font-size:11px;font-weight:500}.home-metrics>button>strong{letter-spacing:-.04em;font-variant-numeric:tabular-nums;font:700 32px/1.2 Space Grotesk,sans-serif}.home-metrics small{justify-content:space-between;align-items:center;gap:8px;margin-top:auto;font-size:10px;font-weight:400;display:flex}.home-metrics small svg{flex-shrink:0}.home-week .section-heading h2{margin:4px 0 0}.home-week .text-button{font-size:11px}.week-switcher{grid-template-columns:repeat(7,minmax(0,1fr));gap:8px;display:grid}.week-switcher>button{background:var(--wu-bg-canvas);min-height:104px;color:var(--wu-text-primary);border:1px solid var(--wu-border-default);flex-direction:column;gap:4px;padding:12px 6px;font-weight:400;display:flex;position:relative}.week-switcher>button:hover{background:var(--wu-bg-subtle)}.week-switcher>button.selected{background:var(--wu-action-selected);border-color:var(--wu-chart-accent)}.week-switcher span{text-transform:uppercase;letter-spacing:.05em;font-size:10px}.week-switcher strong{font:700 24px/1.3 Space Grotesk,sans-serif}.week-switcher small{white-space:nowrap;font-size:10px}.week-switcher i{background:var(--wu-chart-accent);border-radius:50%;width:4px;height:4px;position:absolute;bottom:5px}.home-day-detail{border:1px solid var(--wu-border-default);border-radius:10px;padding:20px;animation:.18s both chart-appear}.home-day-detail>.eyebrow{margin-bottom:12px;font-size:10px}.home-day-detail>p{margin:0}.home-day-detail>small{margin-top:16px;font-size:11px;display:block}.home-workout{border-top:1px solid var(--wu-border-default);justify-content:space-between;align-items:center;gap:20px;padding:14px 0;display:flex}.home-workout>div{flex-direction:column;gap:5px;display:flex}.home-workout>div:last-child{flex-shrink:0;align-items:flex-end}.home-workout>div:last-child>strong{font:600 20px Space Grotesk,sans-serif}.home-workout small{font-size:11px}.home-workout p{max-width:60ch;margin:4px 0 0;font-size:12px}.home-load summary{padding:8px 0;font-size:12px;font-weight:600}.home-bottom-grid{grid-template-columns:1fr 1fr;gap:20px;display:grid}.home-bottom-grid h2{font-size:22px}.home-bottom-grid .eyebrow{font-size:10px}.home-bottom-grid p{font-size:12px}.home-bottom-grid button{align-self:flex-start;margin-top:auto}.home-report{-webkit-line-clamp:4;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}@media (max-width:1000px){.setup-progress{flex-direction:column;align-items:stretch;gap:12px}.home-metrics>button{padding:16px}.personal-today{padding:24px}.home-metrics>button>strong{font-size:28px}}@media (max-width:760px){.home-metrics{grid-template-columns:1fr}.home-metrics>button{min-height:110px}.home-bottom-grid{grid-template-columns:1fr}.home-week .section-heading{align-items:flex-start;gap:12px}.home-week .section-heading .text-button{max-width:100px}.week-switcher{grid-template-columns:repeat(7,minmax(58px,1fr));gap:4px;overflow:auto}.week-switcher>button{min-height:94px}.setup-progress>div:last-child{grid-template-columns:1fr 1fr}.personal-today .section-heading{align-items:flex-start;gap:10px}.personal-today .section-heading .badge{font-size:9px}.home-workout{align-items:flex-start;gap:12px}.home-workout>div:last-child>strong{font-size:16px}.home-day-detail{padding:14px}.recovery-metric{border-right:0;border-bottom:1px solid var(--wu-border-default)}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}.sidebar,.nav-more svg,.chart-selected,.load-bar{transition:none}.chart-interaction,.home-day-detail{animation:none}}
.feedback-trigger{right:max(24px,env(safe-area-inset-right));bottom:max(24px,env(safe-area-inset-bottom));z-index:80;color:#f7f8f4;background:#131b17;border:1px solid #354239;border-radius:999px;gap:9px;min-height:48px;padding:12px 20px;font-size:12px;position:fixed;box-shadow:0 4px 18px #131b1720}.feedback-trigger svg{color:#c8f03d}.feedback-trigger:hover{background:#26322c}.feedback-form>p{margin:0}.feedback-form textarea{min-height:140px;line-height:1.7}.feedback-attachments{flex-wrap:wrap;gap:10px;display:flex}.feedback-attachments .button,.feedback-attachments button{white-space:nowrap;width:auto;min-height:44px;padding:10px 12px;font-size:12px}.attachment-button{cursor:pointer;flex-direction:row;align-items:center;display:inline-flex;position:relative;overflow:hidden}.attachment-button input{opacity:0;cursor:pointer;width:100%;height:100%;min-height:0;position:absolute;inset:0}.attachment-button:focus-within{outline:2px solid var(--wu-border-focus);outline-offset:3px}.attachment-button:has(input:disabled){opacity:.5;cursor:default}.feedback-preview{border:1px solid var(--wu-border-default);background:var(--wu-bg-subtle);border-radius:8px;display:block;overflow:hidden}.feedback-preview img{object-fit:contain;width:100%;max-height:320px;display:block}.feedback-preview>.inline{justify-content:space-between;padding:8px 12px}.feedback-preview small{font-size:10px}.feedback-preview button{font-size:11px}.feedback-actions{border-top:1px solid var(--wu-border-default);justify-content:flex-end;gap:10px;padding-top:18px;display:flex}.feedback-success{text-align:center;flex-direction:column;align-items:center;gap:16px;padding:12px 16px 8px;display:flex}.feedback-success h3,.feedback-success p{margin:0}.feedback-check{background:var(--wu-status-success-bg);width:56px;height:56px;color:var(--wu-status-success-text);border-radius:50%;place-items:center;display:grid}.feedback-summary .metric{text-align:left;color:var(--wu-text-primary);background:var(--wu-bg-surface);align-items:flex-start;min-height:112px}.feedback-summary .metric.selected{border-color:var(--wu-chart-accent);box-shadow:inset 0 2px var(--wu-chart-accent)}.feedback-summary .metric:hover{background:var(--wu-bg-subtle)}.feedback-filters{grid-template-columns:1fr 220px;gap:16px;margin:8px 0;display:grid}.feedback-table td:first-child{width:55%;min-width:260px}.feedback-open{-webkit-line-clamp:3;white-space:pre-wrap;overflow-wrap:anywhere;text-align:left;-webkit-box-orient:vertical;max-width:54ch;font-size:12px;line-height:1.7;display:-webkit-box;overflow:hidden}.portal{padding-bottom:112px}.portal .feedback-actions .button,.portal .feedback-actions button{width:auto}.portal dialog{max-width:620px}@media (max-width:760px){.feedback-trigger{right:16px;bottom:max(16px,env(safe-area-inset-bottom));min-height:44px;padding:10px 16px}.feedback-filters{grid-template-columns:1fr}.feedback-summary .metric{min-height:100px}.feedback-attachments{gap:8px}.feedback-attachments button,.feedback-attachments .button{flex:1;padding:10px 8px;font-size:11px}}dialog:has(.feedback-form){width:min(560px,100vw - 32px);padding:24px}.feedback-form{gap:14px}.feedback-form textarea{min-height:110px}.feedback-form .feedback-preview img{max-height:220px}dialog:has(.feedback-form) .dialog-head{margin-bottom:16px;padding-bottom:8px}.feedback-actions{background:var(--wu-bg-surface);padding:14px 0 0;position:sticky;bottom:-24px}
.pwa-controls{z-index:40;position:relative}.pwa-install{border:1px solid var(--wu-border-default);background:var(--wu-bg-surface);color:var(--wu-text-secondary);border-radius:30px;align-items:center;gap:7px;padding:8px 14px;font-size:11px;display:flex;position:fixed;bottom:18px;left:calc(50% - 88px);box-shadow:0 3px 16px #0001}.pwa-notice{color:#17231a;background:#e8f5cf;justify-content:center;align-items:center;gap:12px;padding:10px 20px;font-size:13px;display:flex;position:relative}.pwa-notice button{padding:6px 12px}.pwa-controls:has(.pwa-notice){position:sticky;top:0}.pwa-install:hover{color:var(--wu-text-primary)}@media (max-width:760px){.pwa-install{bottom:20px;left:80px}.pwa-notice{flex-wrap:wrap}}body{padding-bottom:env(safe-area-inset-bottom)}
.race-workspace{gap:20px;margin:24px 0;display:grid}.race-source-form{flex-wrap:wrap;align-items:end;gap:12px;display:flex}.race-source-form>label:first-child{flex:1;min-width:230px}.route-candidates{gap:8px;margin-top:18px;display:grid}.route-candidates article{border:1px solid var(--wu-border-default);border-radius:12px;align-items:center;gap:14px;padding:14px;display:flex}.route-candidates article>div{flex:1}.route-candidates small,.race-metrics span{color:var(--wu-text-muted);display:block}.route-review{border-top:1px solid var(--wu-border-default);margin-top:20px;padding-top:20px}.route-empty{text-align:center;color:var(--wu-text-secondary);padding:36px 10px}.race-metrics{grid-template-columns:repeat(4,1fr);gap:14px;display:grid}.race-metrics article{background:var(--wu-bg-surface);border:1px solid var(--wu-border-default);border-radius:16px;padding:20px}.race-metrics strong{font:500 clamp(21px,2.3vw,34px)/1.5 IBM Plex Mono,monospace;display:block}.race-visuals{grid-template-columns:1fr 1.35fr;gap:20px;display:grid}.race-visuals>*{min-width:0}.route-map svg{width:100%;height:310px}.route-map polyline{cursor:pointer;transition:stroke .16s,stroke-width .16s}.section-insight{grid-template-columns:1fr 220px;gap:24px;margin-top:18px;display:grid}.section-weather{border-left:1px solid var(--wu-border-default);flex-direction:column;justify-content:center;gap:8px;padding-left:22px;display:flex}.race-fuel-numbers{grid-template-columns:repeat(3,1fr);gap:12px;display:grid}.race-fuel-numbers strong{font:500 28px IBM Plex Mono,monospace;display:block}.race-fuel-numbers span{color:var(--wu-text-secondary);font-size:11px;display:block}.race-workspace input[type=range]{width:100%;accent-color:var(--wu-lime-800)}.race-workspace td{vertical-align:top}.race-workspace .selected{background:var(--wu-bg-subtle)}.analysis-focus{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;display:grid}.analysis-focus article{border-left:3px solid var(--wu-lime-400);background:var(--wu-bg-subtle);border-radius:0 12px 12px 0;padding:8px 18px}.analysis-card table{font-size:12px}.analysis-card th,.analysis-card td{vertical-align:top;padding:12px}.analysis-card td small{display:block}.analysis-card details{padding:12px 0}.release-trigger{color:#94a191!important;text-align:left!important;background:0 0!important;border:0!important;margin:8px 14px 2px!important;padding:4px 0!important;font:11px IBM Plex Mono,monospace!important}.sidebar.collapsed .release-trigger{margin-left:10px!important;font-size:10px!important}.release-notes article+article{border-top:1px solid var(--wu-border-default);margin-top:24px;padding-top:20px}.release-notes li{margin:8px 0}@media (max-width:1100px){.race-visuals{grid-template-columns:1fr}.route-map svg{height:250px}.section-insight{grid-template-columns:1fr 200px}}@media (max-width:760px){.race-metrics{grid-template-columns:1fr 1fr}.section-insight,.analysis-focus{grid-template-columns:1fr}.section-weather{border-left:0;border-top:1px solid var(--wu-border-default);padding:18px 0}.route-candidates article{flex-wrap:wrap}}@media (prefers-reduced-motion:reduce){.route-map polyline{transition:none}}.sidebar>.release-trigger{outline-offset:3px;flex-shrink:0;min-height:44px;margin:0 12px!important}.release-trigger:focus-visible{outline:2px solid #c8f03d}.release-trigger:hover{color:#d9e2d5!important}.release-floating{z-index:42;min-height:44px;position:fixed;bottom:12px;left:18px;color:var(--wu-text-secondary)!important;background:var(--wu-bg-surface)!important;border-radius:8px!important;margin:0!important;padding:10px!important}.release-notes li{line-height:1.6}.release-floating:hover{color:var(--wu-text-primary)!important}.release-dialog-actions{justify-content:flex-end;margin-top:24px;display:flex}
