@font-face{font-family:Bebas Neue;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/bebas-neue-latin-ext-400-normal-DWiEslNC.woff2)format("woff2"),url(/assets/bebas-neue-latin-ext-400-normal-HFKRJXnW.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:Bebas Neue;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/bebas-neue-latin-400-normal-9mHNbWWO.woff2)format("woff2"),url(/assets/bebas-neue-latin-400-normal-Bi-ndsyu.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:Outfit;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/outfit-latin-ext-400-normal-5tcqmc2S.woff2)format("woff2"),url(/assets/outfit-latin-ext-400-normal-DHm7mdGe.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:Outfit;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/outfit-latin-400-normal-BGsTXAXT.woff2)format("woff2"),url(/assets/outfit-latin-400-normal-DMwTpYkH.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:Outfit;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/outfit-latin-ext-500-normal-zeox_O30.woff2)format("woff2"),url(/assets/outfit-latin-ext-500-normal-DrCvqoFD.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:Outfit;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/outfit-latin-500-normal-DKnIMDSk.woff2)format("woff2"),url(/assets/outfit-latin-500-normal-ClnHRwRh.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:Outfit;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/outfit-latin-ext-600-normal-B85nYjL1.woff2)format("woff2"),url(/assets/outfit-latin-ext-600-normal-CWJcPgd7.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:Outfit;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/outfit-latin-600-normal-B7SfZ07L.woff2)format("woff2"),url(/assets/outfit-latin-600-normal-BEfTtDA7.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:Outfit;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/outfit-latin-ext-700-normal-CI4iH74K.woff2)format("woff2"),url(/assets/outfit-latin-ext-700-normal-fjS8-Gm7.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:Outfit;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/outfit-latin-700-normal-Cu9v6i1X.woff2)format("woff2"),url(/assets/outfit-latin-700-normal-D4itBLBr.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:Outfit;font-style:normal;font-display:swap;font-weight:800;src:url(/assets/outfit-latin-ext-800-normal-DRv2ic_2.woff2)format("woff2"),url(/assets/outfit-latin-ext-800-normal-DyhPHUt-.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:Outfit;font-style:normal;font-display:swap;font-weight:800;src:url(/assets/outfit-latin-800-normal-CQna6-G7.woff2)format("woff2"),url(/assets/outfit-latin-800-normal-BRHLSPcU.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:JetBrains Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/jetbrains-mono-cyrillic-ext-400-normal-C_uLvvQ5.woff2)format("woff2"),url(/assets/jetbrains-mono-cyrillic-ext-400-normal-Bh0R7Dhr.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:JetBrains Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/jetbrains-mono-cyrillic-400-normal-BEIGL1Tu.woff2)format("woff2"),url(/assets/jetbrains-mono-cyrillic-400-normal-ugxPyKxw.woff)format("woff");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:JetBrains Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/jetbrains-mono-greek-400-normal-C190GLew.woff2)format("woff2"),url(/assets/jetbrains-mono-greek-400-normal-B9oWc5Lo.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:JetBrains Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/jetbrains-mono-vietnamese-400-normal-ByoDsISC.woff2)format("woff2"),url(/assets/jetbrains-mono-vietnamese-400-normal-CqNFfHCs.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:JetBrains Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/jetbrains-mono-latin-ext-400-normal-Bc8Ftmh3.woff2)format("woff2"),url(/assets/jetbrains-mono-latin-ext-400-normal-fXTG6kC5.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:JetBrains Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/jetbrains-mono-latin-400-normal-V6pRDFza.woff2)format("woff2"),url(/assets/jetbrains-mono-latin-400-normal-6-qcROiO.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:JetBrains Mono;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/jetbrains-mono-cyrillic-ext-600-normal-Dj6eZy5f.woff2)format("woff2"),url(/assets/jetbrains-mono-cyrillic-ext-600-normal-DVvC-yKp.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:JetBrains Mono;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/jetbrains-mono-cyrillic-600-normal-EVf6-Yzo.woff2)format("woff2"),url(/assets/jetbrains-mono-cyrillic-600-normal-8K4wrrwR.woff)format("woff");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:JetBrains Mono;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/jetbrains-mono-greek-600-normal-H7WoG9Et.woff2)format("woff2"),url(/assets/jetbrains-mono-greek-600-normal-mc2nkWzM.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:JetBrains Mono;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/jetbrains-mono-vietnamese-600-normal-Dtizs43-.woff2)format("woff2"),url(/assets/jetbrains-mono-vietnamese-600-normal-OWROknRo.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:JetBrains Mono;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/jetbrains-mono-latin-ext-600-normal-BfB_LPfz.woff2)format("woff2"),url(/assets/jetbrains-mono-latin-ext-600-normal-DObL3zCW.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:JetBrains Mono;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/jetbrains-mono-latin-600-normal-C8RAYTDA.woff2)format("woff2"),url(/assets/jetbrains-mono-latin-600-normal-BfsvjouI.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:JetBrains Mono;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/jetbrains-mono-cyrillic-ext-700-normal-D6iG63UR.woff2)format("woff2"),url(/assets/jetbrains-mono-cyrillic-ext-700-normal-iEXTdOVf.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:JetBrains Mono;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/jetbrains-mono-cyrillic-700-normal-BWTpRfYl.woff2)format("woff2"),url(/assets/jetbrains-mono-cyrillic-700-normal-CEoEElIJ.woff)format("woff");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:JetBrains Mono;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/jetbrains-mono-greek-700-normal-C6CZE3T8.woff2)format("woff2"),url(/assets/jetbrains-mono-greek-700-normal-DEigVDxa.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:JetBrains Mono;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/jetbrains-mono-vietnamese-700-normal-k5PzE07T.woff2)format("woff2"),url(/assets/jetbrains-mono-vietnamese-700-normal-BDLVIk2r.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:JetBrains Mono;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/jetbrains-mono-latin-ext-700-normal-CZipNAKV.woff2)format("woff2"),url(/assets/jetbrains-mono-latin-ext-700-normal-CxPITLHs.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:JetBrains Mono;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/jetbrains-mono-latin-700-normal-BYuf6tUa.woff2)format("woff2"),url(/assets/jetbrains-mono-latin-700-normal-D3wTyLJW.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{--ft-bg:#0a0a0a;--ft-surface:#1a1a1a;--ft-ink:#fafafa;--ft-ink-muted:#a3a3a3;--ft-line:#2a2a2a;--ft-lime:#d4ff3a;--ft-lime-pressed:#b8e62e;--ft-lime-deep:#a8e600;--ft-on-lime:#0a0a0a;--ft-paper:#f5f5f2;--ft-white:#fff;--ft-radius-card:20px;--ft-radius-pill:999px;--ft-font-display:"Bebas Neue", Impact, sans-serif;--ft-font-sans:Outfit, system-ui, sans-serif;--ft-font-mono:"JetBrains Mono", ui-monospace, monospace;--lightningcss-light: ;--lightningcss-dark:initial;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--prim-neutral-50:var(--ft-ink);--prim-neutral-300:var(--ft-ink-muted);--prim-neutral-400:#8c8c8c;--prim-neutral-500:#737373;--prim-neutral-600:#6b6b6b;--prim-neutral-800:#222;--prim-neutral-850:var(--ft-surface);--prim-neutral-900:#141414;--prim-neutral-950:var(--ft-bg);--prim-lime-400:var(--ft-lime);--prim-lime-500:var(--ft-lime-pressed);--prim-lime-600:var(--ft-lime-deep);--prim-orange-400:#ff6b35;--prim-red-400:#ff3b5c;--prim-red-300:#ff5c77;--prim-green-400:#00d97e;--prim-blue-400:#4a9eff;--color-bg-app:var(--prim-neutral-950);--color-surface-card:var(--prim-neutral-850);--color-surface-card-pressed:var(--prim-neutral-800);--color-surface-sunken:var(--prim-neutral-900);--color-surface-sheet:var(--prim-neutral-900);--color-surface-translucent:#141414d9;--color-surface-inverse:var(--prim-neutral-50);--color-scrim:#000000a6;--color-scrim-strong:#000000d9;--color-border-subtle:#ffffff0f;--color-border-default:#ffffff1f;--color-border-strong:#ffffff3d;--color-border-control:#fff6;--color-focus-ring:var(--prim-lime-400);--color-text-primary:var(--prim-neutral-50);--color-text-secondary:var(--prim-neutral-300);--color-text-tertiary:var(--prim-neutral-400);--color-text-disabled:var(--prim-neutral-600);--color-text-inverse:var(--prim-neutral-950);--color-text-on-accent:var(--prim-neutral-950);--color-text-accent:var(--prim-lime-400);--color-text-danger:var(--prim-red-300);--color-text-warning:var(--prim-orange-400);--color-text-success:var(--prim-green-400);--color-text-info:var(--prim-blue-400);--color-text-rest:var(--prim-orange-400);--color-accent:var(--prim-lime-400);--color-accent-pressed:var(--prim-lime-500);--color-accent-soft:#d4ff3a1f;--color-accent-border:#d4ff3a3d;--color-accent-glow:#d4ff3a66;--color-action-primary:var(--color-accent);--color-action-primary-pressed:var(--color-accent-pressed);--color-action-primary-text:var(--color-text-on-accent);--color-action-primary-disabled:var(--color-surface-card-pressed);--color-action-primary-disabled-text:var(--color-text-disabled);--color-action-secondary:var(--color-surface-card);--color-action-secondary-pressed:var(--color-surface-card-pressed);--color-action-secondary-text:var(--color-text-primary);--color-action-danger:var(--prim-red-400);--color-action-danger-text:var(--prim-neutral-950);--color-danger:var(--prim-red-400);--color-danger-soft:#ff3b5c1f;--color-danger-border:#ff3b5c52;--color-warning:var(--prim-orange-400);--color-warning-soft:#ff6b351f;--color-warning-border:#ff6b3552;--color-success:var(--prim-green-400);--color-success-soft:#00d97e1f;--color-success-border:#00d97e52;--color-info:var(--prim-blue-400);--color-info-soft:#4a9eff1f;--color-info-border:#4a9eff52;--color-rest:var(--prim-orange-400);--color-rest-soft:#ff6b351f;--color-rest-border:#ff6b3552;--color-suggestion:var(--color-text-accent);--color-suggestion-soft:var(--color-accent-soft);--color-pr:var(--color-text-accent);--color-brand-mark:var(--ft-lime);--color-chat-user-bg:var(--color-accent-soft);--color-chat-user-border:var(--color-accent-border);--color-chat-coach-bg:var(--color-surface-card);--color-skeleton-base:#ffffff0f;--color-skeleton-highlight:#ffffff1f;--color-viz-primary:var(--color-accent);--color-viz-primary-area:#d4ff3a1a;--color-viz-highlight:var(--color-viz-primary);--color-viz-context:var(--prim-neutral-500);--color-viz-grid:#ffffff14;--color-viz-axis:#ffffff29;--color-viz-band:#ffffff14;--color-viz-band-edge:#ffffff52;--color-viz-target:#ffffff7a;--color-viz-seq-0:var(--color-surface-sunken);--color-viz-seq-1:#d4ff3a29;--color-viz-seq-2:#d4ff3a52;--color-viz-seq-3:#d4ff3a99;--color-viz-seq-4:var(--prim-lime-400);--color-viz-cat-1:#3987e5;--color-viz-cat-2:#d95926;--color-viz-cat-3:#199e70;--color-viz-cat-4:#c98500;--color-viz-cat-5:#d55181;--color-viz-cat-6:#008300;--color-viz-cat-7:#9085e9;--color-viz-cat-8:#e66767;--gradient-accent:linear-gradient(135deg, var(--prim-lime-400) 0%, var(--prim-lime-600) 100%);--gradient-accent-soft:linear-gradient(135deg, var(--color-accent-soft), transparent);--gradient-rest-soft:linear-gradient(135deg, var(--color-rest-soft), transparent);--gradient-meter:linear-gradient(90deg, var(--prim-lime-400), var(--prim-lime-600));--gradient-app-backdrop:radial-gradient(at 20% 0%, #d4ff3a0a 0px, transparent 50%);--font-display:var(--ft-font-display);--font-body:var(--ft-font-sans);--font-mono:var(--ft-font-mono);--font-size-2xs:.6875rem;--font-size-xs:.75rem;--font-size-sm:.875rem;--font-size-md:1rem;--font-size-lg:1.0625rem;--font-size-xl:1.25rem;--font-size-2xl:1.5rem;--font-size-3xl:1.75rem;--font-size-4xl:2.25rem;--font-size-5xl:3rem;--font-size-6xl:4rem;--font-size-hero:clamp(4rem, 18vw, 6rem);--font-size-stepper:2rem;--font-weight-regular:400;--font-weight-medium:500;--font-weight-semibold:600;--font-weight-bold:700;--font-weight-extrabold:800;--line-height-display:.92;--line-height-none:1;--line-height-tight:1.2;--line-height-snug:1.35;--line-height-normal:1.5;--line-height-relaxed:1.6;--tracking-tight:-.02em;--tracking-normal:0;--tracking-display:.02em;--tracking-wide:.04em;--tracking-caps:.12em;--tracking-caps-wide:.2em;--type-hero:400 var(--font-size-hero) / var(--line-height-none) var(--font-display);--type-display-lg:400 var(--font-size-5xl) / var(--line-height-display) var(--font-display);--type-display-md:400 var(--font-size-4xl) / var(--line-height-none) var(--font-display);--type-display-sm:400 var(--font-size-3xl) / var(--line-height-none) var(--font-display);--type-title:400 var(--font-size-2xl) / var(--line-height-none) var(--font-display);--type-stepper-value:400 var(--font-size-stepper) / var(--line-height-none) var(--font-display);--type-heading:700 var(--font-size-lg) / var(--line-height-snug) var(--font-body);--type-body-lg:500 var(--font-size-lg) / var(--line-height-normal) var(--font-body);--type-body:400 var(--font-size-md) / var(--line-height-normal) var(--font-body);--type-body-sm:400 var(--font-size-sm) / var(--line-height-normal) var(--font-body);--type-caption:500 var(--font-size-xs) / var(--line-height-snug) var(--font-body);--type-label:600 var(--font-size-xs) / var(--line-height-tight) var(--font-body);--type-overline:700 var(--font-size-2xs) / var(--line-height-tight) var(--font-body);--type-button:600 var(--font-size-md) / var(--line-height-tight) var(--font-body);--type-button-lg:700 var(--font-size-lg) / var(--line-height-tight) var(--font-body);--type-numeric:600 var(--font-size-md) / var(--line-height-tight) var(--font-mono);--type-numeric-sm:600 var(--font-size-xs) / var(--line-height-tight) var(--font-mono);--type-chat:400 var(--font-size-md) / var(--line-height-relaxed) var(--font-body);--type-stat-value:400 var(--font-size-4xl) / var(--line-height-none) var(--font-display);--type-stat-unit:600 var(--font-size-sm) / var(--line-height-none) var(--font-body);--space-0:0;--space-0-5:2px;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:20px;--space-6:24px;--space-7:28px;--space-8:32px;--space-10:40px;--space-12:48px;--space-16:64px;--space-20:80px;--safe-top:env(safe-area-inset-top,0px);--safe-bottom:env(safe-area-inset-bottom,0px);--safe-left:env(safe-area-inset-left,0px);--safe-right:env(safe-area-inset-right,0px);--layout-max-width:520px;--layout-gutter:var(--space-5);--layout-gutter-compact:var(--space-4);--layout-section-gap:var(--space-8);--layout-card-padding:var(--space-4);--layout-card-padding-lg:var(--space-5);--layout-app-bar-height:56px;--layout-app-bar-height-lg:64px;--layout-nav-height:64px;--layout-nav-margin:var(--space-2);--layout-mini-bar-height:56px;--layout-action-bar-height:88px;--layout-rest-dock-height:72px;--layout-sheet-max-height:92dvh;--layout-modal-max-width:340px;--layout-floating-max-width:480px;--layout-page-bottom:calc(var(--layout-nav-height) + var(--layout-nav-margin) + var(--safe-bottom) + var(--space-6));--bp-medium:37.5rem;--bp-expanded:64rem;--bp-short-landscape:31.25rem;--layout-column-medium:640px;--layout-content-max:1120px;--layout-rail-width:80px;--layout-pane-list:360px;--layout-pane-detail:640px;--layout-rail-offset:0px;--layout-toast-max-width:var(--layout-floating-max-width);--size-touch-min:44px;--size-touch:48px;--size-touch-lg:56px;--size-touch-xl:64px;--size-icon-xs:14px;--size-icon-sm:16px;--size-icon-md:20px;--size-icon-lg:24px;--size-icon-xl:32px;--size-avatar-sm:32px;--size-avatar-md:48px;--size-avatar-lg:96px;--size-hairline:1px;--size-focus-ring:2px;--size-focus-offset:2px;--size-sheet-handle-width:40px;--size-sheet-handle-height:4px;--size-brand-mark-sm:32px;--size-brand-mark:48px;--size-brand-mark-lg:96px;--radius-xs:4px;--radius-sm:8px;--radius-md:14px;--radius-lg:20px;--radius-xl:28px;--radius-full:999px;--radius-button:var(--radius-full);--radius-chip:var(--radius-full);--radius-input:var(--radius-md);--radius-card:var(--radius-lg);--radius-sheet:var(--radius-xl);--radius-viz-bar:var(--radius-xs);--shadow-sm:0 2px 8px #0000004d;--shadow-md:0 4px 16px #0000004d;--shadow-lg:0 8px 32px #0006;--shadow-sheet:0 -8px 32px #0006;--shadow-inset-hairline:inset 0 0 0 1px #ffffff0a;--shadow-nav:var(--shadow-lg), var(--shadow-inset-hairline);--shadow-glow-accent:0 0 32px var(--color-accent-glow);--shadow-glow-accent-sm:0 0 16px var(--color-accent-glow);--shadow-glow-accent-lift:0 8px 32px -8px var(--color-accent-glow);--shadow-glow-rest:0 0 16px var(--color-rest);--shadow-hero-accent:0 20px 50px -20px var(--color-accent-glow);--blur-sm:8px;--blur-md:12px;--blur-lg:20px;--blur-xl:24px;--duration-instant:80ms;--duration-fast:.15s;--duration-base:.2s;--duration-moderate:.3s;--duration-slow:.4s;--duration-chart:.6s;--duration-nav-icon:.25s;--duration-loop-pulse:2s;--duration-loop-spin:.7s;--duration-loop-shimmer:1.4s;--duration-celebrate:.9s;--duration-reveal:.6s;--ease-standard:cubic-bezier(.2, 0, .2, 1);--ease-enter:cubic-bezier(0, 0, .2, 1);--ease-exit:cubic-bezier(.4, 0, 1, 1);--ease-spring:cubic-bezier(.34, 1.56, .64, 1);--ease-linear:linear;--motion-shift-sm:8px;--motion-shift-md:12px;--motion-shift-lg:24px;--motion-scale-press:.97;--motion-scale-press-icon:.92;--motion-scale-enter:.96;--motion-loop-state:running;--z-base:0;--z-raised:1;--z-sticky:50;--z-nav:100;--z-banner:200;--z-popover:500;--z-sheet-backdrop:1000;--z-sheet:1001;--z-modal-backdrop:1100;--z-modal:1101;--z-overlay:2000;--z-toast:3000;--opacity-disabled:.4;--opacity-done:.72;--opacity-refetch:.6;--bg-base:var(--color-bg-app);--bg-elevated:var(--color-surface-sunken);--bg-card:var(--color-surface-card);--bg-card-hover:var(--color-surface-card-pressed);--border-subtle:var(--color-border-subtle);--border-medium:var(--color-border-default);--border-strong:var(--color-border-strong);--text-primary:var(--color-text-primary);--text-secondary:var(--color-text-secondary);--text-tertiary:var(--color-text-tertiary);--text-on-accent:var(--color-text-on-accent);--accent:var(--color-accent);--accent-hover:var(--color-accent-pressed);--accent-soft:var(--color-accent-soft);--accent-glow:var(--color-accent-glow);--warning:var(--color-warning);--warning-soft:var(--color-warning-soft);--danger:var(--color-danger);--danger-soft:var(--color-danger-soft);--success:var(--color-success);--success-soft:var(--color-success-soft);--info:var(--color-info);--r-sm:var(--radius-sm);--r-md:var(--radius-md);--r-lg:var(--radius-lg);--r-xl:var(--radius-xl);--r-full:var(--radius-full)}@media (prefers-reduced-motion:reduce){:root{--motion-shift-sm:0px;--motion-shift-md:0px;--motion-shift-lg:0px;--motion-scale-press:1;--motion-scale-press-icon:1;--motion-scale-enter:1;--motion-loop-state:paused;--duration-chart:1ms;--duration-celebrate:1ms;--duration-reveal:1ms;--ease-spring:var(--ease-standard)}}@media (width>=37.5rem){:root{--layout-max-width:var(--layout-column-medium);--layout-toast-max-width:var(--layout-column-medium)}}@media (orientation:landscape) and (height<=31.25rem){:root{--layout-rail-width:64px;--layout-app-bar-height:48px;--layout-app-bar-height-lg:56px;--layout-action-bar-height:64px}}@supports not (height:1dvh){:root{--layout-sheet-max-height:92vh}}:root[data-theme=light]{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--color-bg-app:var(--ft-paper);--color-surface-card:#fff;--color-surface-card-pressed:#ebebe7;--color-surface-sunken:#f0f0ec;--color-surface-sheet:#fff;--color-surface-translucent:#ffffffd9;--color-surface-inverse:var(--ft-bg);--color-scrim:#0a0a0a66;--color-scrim-strong:#0a0a0ab3;--color-border-subtle:#0a0a0a14;--color-border-default:#0a0a0a24;--color-border-strong:#0a0a0a47;--color-border-control:#0a0a0a80;--color-focus-ring:#4c6b00;--color-text-primary:var(--ft-bg);--color-text-secondary:#4d4d4d;--color-text-tertiary:#666;--color-text-disabled:#9a9a9a;--color-text-inverse:var(--ft-ink);--color-text-on-accent:var(--ft-on-lime);--color-text-accent:#4c6b00;--color-text-danger:#c4002b;--color-text-warning:#a33a00;--color-text-success:#00703c;--color-text-info:#0a5bc4;--color-text-rest:#a33a00;--color-accent-soft:#d4ff3a59;--color-accent-border:#4c6b0052;--color-accent-glow:#4c6b0040;--color-action-primary:var(--ft-bg);--color-action-primary-pressed:#222;--color-action-primary-text:var(--ft-lime);--color-action-danger:#c4002b;--color-action-danger-text:#fff;--color-danger:#c4002b;--color-danger-soft:#c4002b14;--color-danger-border:#c4002b52;--color-warning:#a33a00;--color-warning-soft:#a33a0014;--color-warning-border:#a33a0052;--color-success:#00703c;--color-success-soft:#00703c14;--color-success-border:#00703c52;--color-info:#0a5bc4;--color-info-soft:#0a5bc414;--color-info-border:#0a5bc452;--color-rest:#a33a00;--color-rest-soft:#a33a0014;--color-rest-border:#a33a0052;--color-skeleton-base:#0a0a0a0f;--color-skeleton-highlight:#0a0a0a1f;--color-viz-primary:#4c6b00;--color-viz-primary-area:#4c6b001a;--color-viz-context:#8c8c8c;--color-viz-grid:#0a0a0a14;--color-viz-axis:#0a0a0a33;--color-viz-band:#0a0a0a0f;--color-viz-band-edge:#0a0a0a52;--color-viz-target:#0a0a0a80;--color-viz-seq-1:#4c6b0029;--color-viz-seq-2:#4c6b0052;--color-viz-seq-3:#4c6b00b8;--color-viz-seq-4:#4c6b00;--color-viz-cat-1:#2a78d6;--color-viz-cat-2:#eb6834;--color-viz-cat-3:#1baf7a;--color-viz-cat-4:#eda100;--color-viz-cat-5:#e87ba4;--color-viz-cat-6:#008300;--color-viz-cat-7:#4a3aa7;--color-viz-cat-8:#e34948;--gradient-app-backdrop:none;--color-brand-mark:var(--ft-bg);--shadow-sm:0 2px 8px #0a0a0a14;--shadow-md:0 4px 16px #0a0a0a1a;--shadow-lg:0 8px 32px #0a0a0a1f;--shadow-sheet:0 -8px 32px #0a0a0a1f;--shadow-inset-hairline:inset 0 0 0 1px #0a0a0a0a}.auth-page{min-height:100dvh;padding:calc(var(--safe-top) + 32px) 24px calc(var(--safe-bottom) + 32px);flex-direction:column;flex:1;display:flex;position:relative;overflow:hidden}.auth-bg{z-index:0;position:fixed;inset:0;overflow:hidden}.auth-orb{filter:blur(80px);opacity:.55;border-radius:50%;position:absolute}.orb-1{background:radial-gradient(circle, var(--accent) 0%, transparent 70%);width:320px;height:320px;animation:12s ease-in-out infinite orbFloat;top:-10%;right:-20%}.orb-2{background:radial-gradient(circle, var(--color-accent) 0%, transparent 70%);opacity:.04;width:280px;height:280px;animation:14s ease-in-out infinite reverse orbFloat;bottom:-15%;left:-15%}@keyframes orbFloat{0%,to{transform:translate(0)}50%{transform:translate(30px,-30px)}}.auth-grid{background-image:linear-gradient(var(--color-border-subtle) 1px, transparent 1px), linear-gradient(90deg, var(--color-border-subtle) 1px, transparent 1px);background-size:32px 32px;position:absolute;inset:0;-webkit-mask-image:radial-gradient(#000 30%,#0000 80%);mask-image:radial-gradient(#000 30%,#0000 80%)}.auth-content{z-index:1;flex-direction:column;flex:1;width:100%;max-width:440px;margin:0 auto;display:flex;position:relative}.auth-brand{margin-bottom:40px}.auth-logo{margin-bottom:32px}@media (height<=640px){.auth-page{padding-top:calc(var(--safe-top) + 16px);padding-bottom:calc(var(--safe-bottom) + 16px)}.auth-brand{margin-bottom:16px}.auth-logo{margin-bottom:12px}.auth-headline{margin-bottom:8px;font-size:clamp(40px,11vw,56px)}}@media (prefers-reduced-motion:reduce){.auth-orb{animation:none}}.auth-headline{font-family:var(--font-display);letter-spacing:-.01em;margin-bottom:16px;font-size:clamp(56px,14vw,88px);font-weight:400;line-height:.88}.auth-tagline{color:var(--text-secondary);max-width:280px;font-size:15px;font-weight:400}.auth-form{flex-direction:column;gap:12px;margin-top:auto;display:flex}.auth-input-group{align-items:center;display:flex;position:relative}.auth-field{gap:var(--space-1);flex-direction:column;display:flex}.auth-label{font:var(--type-caption);color:var(--color-text-secondary)}.auth-input-group input{background:var(--color-surface-sunken);border:1px solid var(--color-border-control);height:56px;padding-left:50px;padding-right:50px;font-size:15px}.auth-input-group input::placeholder{color:var(--color-text-tertiary);opacity:1}.auth-field.has-error .auth-input-group input{border-color:var(--color-danger)}.auth-input-group input:focus{background:var(--color-surface-sunken)}.auth-icon{color:var(--color-text-tertiary);pointer-events:none;position:absolute;left:18px}.auth-pwd-toggle{width:var(--size-touch-min);height:var(--size-touch-min);color:var(--color-text-secondary);border-radius:50%;justify-content:center;align-items:center;padding:0;display:flex;position:absolute;right:7px}.auth-pwd-toggle:hover{color:var(--text-primary)}.auth-submit{text-transform:uppercase;height:56px;margin-top:12px}.auth-switch{text-align:center;color:var(--text-secondary);margin-top:16px;font-size:14px}.auth-switch a{color:var(--accent);margin:-13px 0;padding:13px 0;font-weight:600;text-decoration:none;display:inline-block}.auth-switch a:hover{text-decoration:underline}.auth-title{margin-top:24px;font-size:28px;font-weight:800;line-height:1.15}.auth-note{color:var(--text-primary);font-size:15px;line-height:1.5}.auth-note-muted{color:var(--text-secondary);font-size:14px}.auth-field-error{align-items:flex-start;gap:var(--space-1);font:var(--type-body-sm);color:var(--color-text-danger);display:flex}.auth-field-error svg{flex-shrink:0;margin-top:2px}.auth-form a.btn{justify-content:center;align-items:center;gap:8px;text-decoration:none;display:flex}.auth-forgot{text-align:right;margin-top:-4px}.auth-forgot a{min-height:var(--size-touch-min);color:var(--text-secondary);align-items:center;font-size:14px;text-decoration:none;display:inline-flex}.auth-forgot a:hover{color:var(--text-primary);text-decoration:underline}.auth-tagline a{color:var(--accent);margin-block:-13px;padding-block:13px;font-weight:600;display:inline-block}.auth-page--gate{padding-bottom:calc(var(--space-6) + var(--safe-bottom))}.auth-gate-links{margin:var(--space-2) 0 0;flex-direction:column;padding:0;list-style:none;display:flex}.auth-gate-link{width:100%;min-height:var(--size-touch);padding:0 var(--space-3);color:var(--color-text-secondary);font:var(--type-body-sm);background:0 0;justify-content:center;align-items:center;text-decoration:underline;display:flex}.auth-gate-link--danger{color:var(--color-text-danger)}.auth-link-button{min-height:var(--size-touch-min);color:var(--text-secondary);background:0 0;padding:0 12px;font-size:14px;text-decoration:underline}.auth-select-year{padding-left:50px}.legal-page{max-width:640px;padding:calc(16px + env(safe-area-inset-top)) 20px calc(40px + env(safe-area-inset-bottom));overflow-wrap:anywhere;margin:0 auto}.legal-index{margin:var(--space-4) 0 var(--space-2);padding:var(--space-3) var(--space-4);border:var(--size-hairline) solid var(--color-border-subtle);border-radius:var(--radius-md);background:var(--color-surface-card)}.legal-index__title{font:var(--type-overline);letter-spacing:var(--tracking-caps);text-transform:uppercase;color:var(--color-text-secondary)}.legal-index ol{margin:var(--space-1) 0 0;padding-left:var(--space-5)}.legal-index li{color:var(--color-text-secondary);font-size:15px}.legal-index a{min-height:var(--size-touch-min);color:var(--color-text-accent);align-items:center;text-decoration:none;display:inline-flex}.legal-text h2{scroll-margin-top:var(--space-4)}.legal-back{min-height:var(--size-touch-min);color:var(--text-secondary);align-items:center;gap:8px;text-decoration:none;display:inline-flex}.markdown h1{margin:8px 0 12px;font-size:26px;line-height:1.15}.markdown h2{margin:28px 0 8px;font-size:19px}.markdown h3{margin:20px 0 6px;font-size:16px}.markdown p,.markdown li{color:var(--text-secondary);font-size:15px;line-height:1.6}.markdown p{margin:0 0 12px}.markdown ul,.markdown ol{margin:0 0 12px;padding-left:22px}.markdown li{margin-bottom:6px}.markdown a{color:var(--accent)}.bottom-nav{z-index:var(--z-nav);padding:0 var(--space-3) calc(var(--safe-bottom) + var(--layout-nav-margin));pointer-events:none;position:fixed;bottom:0;left:0;right:0}.bottom-nav-inner{pointer-events:auto;max-width:var(--layout-floating-max-width);height:var(--layout-nav-height);padding:0 var(--space-1);background:var(--color-surface-translucent);-webkit-backdrop-filter:blur(var(--blur-xl)) saturate(180%);border:var(--size-hairline) solid var(--color-border-default);border-radius:var(--radius-full);box-shadow:var(--shadow-nav);grid-auto-columns:minmax(0,1fr);grid-auto-flow:column;margin:0 auto;display:grid}.nav-item{justify-content:center;align-items:center;gap:var(--space-0-5);border-radius:var(--radius-full);min-width:0;height:100%;color:var(--color-text-tertiary);touch-action:manipulation;transition:color var(--duration-base) var(--ease-standard);flex-direction:column;padding-inline:0;text-decoration:none;display:flex;position:relative}.nav-item:focus-visible{outline:var(--size-focus-ring) solid var(--color-focus-ring);outline-offset:calc(-1 * var(--size-focus-offset))}.nav-icon-wrap{width:var(--size-icon-xl);height:var(--size-icon-lg);transition:transform var(--duration-nav-icon) var(--ease-spring);justify-content:center;align-items:center;display:flex}.nav-item.active{color:var(--color-text-accent)}.nav-item.active .nav-icon-wrap{transform:translateY(-1px)scale(1.05)}.nav-item:active .nav-icon-wrap{transform:scale(var(--motion-scale-press-icon))}.nav-label{white-space:nowrap;font-family:var(--font-body);font-size:min(var(--font-size-2xs), 12px);text-overflow:ellipsis;max-width:100%;font-weight:var(--font-weight-semibold);line-height:var(--line-height-tight);letter-spacing:var(--tracking-normal);overflow:hidden}@media (prefers-reduced-motion:reduce){.nav-item.active .nav-icon-wrap,.nav-item:active .nav-icon-wrap{transform:none}}.nav-icon-wrap{position:relative}.nav-dot{border-radius:var(--radius-full);background:var(--color-accent);width:8px;height:8px;position:absolute;top:0;right:-2px}@media (width>=64rem),(orientation:landscape) and (height<=31.25rem){.bottom-nav{width:var(--layout-rail-width);padding:var(--safe-top) 0 var(--safe-bottom);background:var(--color-surface-translucent);-webkit-backdrop-filter:blur(var(--blur-xl)) saturate(180%);border-right:var(--size-hairline) solid var(--color-border-default);pointer-events:auto;justify-content:center;align-items:center;display:flex;inset:0 auto 0 0}.bottom-nav-inner{gap:var(--space-2);-webkit-backdrop-filter:none;width:100%;max-width:none;height:auto;box-shadow:none;background:0 0;border:0;border-radius:0;flex-direction:column;align-items:center;margin:0;padding:0;display:flex}.nav-item{flex:none;width:64px;height:64px}}@media (orientation:landscape) and (height<=31.25rem){.bottom-nav-inner{gap:var(--space-1)}.nav-item{width:56px;height:56px}}.mini-workout-spacer{height:calc(var(--layout-mini-bar-height) + var(--space-2));flex-shrink:0}.mini-workout{left:var(--layout-rail-offset);right:0;bottom:calc(var(--safe-bottom) + var(--layout-nav-margin) + var(--layout-nav-height) + var(--space-2));z-index:var(--z-nav);padding:0 var(--space-3);pointer-events:none;position:fixed}.mini-workout__bar{pointer-events:auto;align-items:center;gap:var(--space-2);width:100%;max-width:var(--layout-floating-max-width);height:var(--layout-mini-bar-height);padding:0 var(--space-3) 0 var(--space-4);background:var(--color-surface-sheet);border:var(--size-hairline) solid var(--color-rest-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);color:var(--color-text-primary);text-align:left;cursor:pointer;touch-action:manipulation;transition:transform var(--duration-instant) var(--ease-standard);margin:0 auto;display:flex}.mini-workout__bar:active{transform:scale(var(--motion-scale-press))}.mini-workout__bar:focus-visible{outline:var(--size-focus-ring) solid var(--color-focus-ring);outline-offset:var(--size-focus-offset)}.mini-workout__dot{width:var(--space-2);height:var(--space-2);border-radius:var(--radius-full);background:var(--color-rest);box-shadow:var(--shadow-glow-rest);animation:mini-workout-pulse var(--duration-loop-pulse) var(--ease-standard) infinite;animation-play-state:var(--motion-loop-state);flex-shrink:0}@media (width<=22rem){.mini-workout__name{display:none}}@keyframes mini-workout-pulse{0%,to{opacity:1}50%{opacity:var(--opacity-disabled)}}.mini-workout__name{text-overflow:ellipsis;white-space:nowrap;min-width:0;font:var(--type-body);font-weight:var(--font-weight-semibold);overflow:hidden}.mini-workout__time{font:var(--type-numeric);font-variant-numeric:tabular-nums;color:var(--color-text-secondary);flex-shrink:0}.mini-workout__rest{font:var(--type-caption);font-weight:var(--font-weight-semibold);white-space:nowrap;flex-shrink:0;margin-left:auto}.mini-workout__rest--rest{color:var(--color-text-rest)}.mini-workout__rest--accent{color:var(--color-text-accent)}.mini-workout__chevron{width:var(--size-icon-md);height:var(--size-icon-md);color:var(--color-text-tertiary);flex-shrink:0;margin-left:auto}.mini-workout__rest+.mini-workout__chevron{margin-left:0}.offline-status{z-index:var(--z-banner);gap:var(--space-2);padding:calc(var(--safe-top) + var(--space-2)) var(--space-3) 0;pointer-events:none;flex-direction:column;display:flex;position:sticky;top:0}.offline-status>*{pointer-events:auto}.offline-status__sync{justify-content:flex-end;display:flex}.offline-status--pill{padding:calc(var(--safe-top) + var(--space-2)) var(--space-3) 0;position:fixed;top:0;left:auto;right:0}.route-error{width:100%;padding:calc(var(--space-6) + var(--safe-top)) var(--layout-gutter-compact) var(--layout-page-bottom);flex-direction:column;flex:1;justify-content:center;display:flex}.settings-page{width:100%;padding:var(--space-2) var(--layout-gutter-compact) var(--layout-page-bottom);flex:1}.settings-section:not(:has(>.ui-section-header:first-child)){margin-top:var(--space-6)}.settings-list{padding:0 var(--space-4);flex-direction:column;display:flex}.settings-list>*+*{border-top:var(--size-hairline) solid var(--color-border-subtle)}.settings-list>.ui-listrow{padding-left:0;padding-right:0}.settings-fixed-rest{gap:var(--space-2);padding:var(--space-3) 0;flex-direction:column;display:flex}.settings-fixed-rest__label{font:var(--type-body);color:var(--color-text-primary)}.settings-note{margin:var(--space-3) var(--space-1) 0;font:var(--type-body-sm);color:var(--color-text-secondary)}.settings-note--page{margin-top:var(--space-6)}.settings-saved{align-items:center;gap:var(--space-1);font:var(--type-caption);letter-spacing:normal;text-transform:none;color:var(--color-text-success);display:inline-flex}.settings-saved svg{width:var(--size-icon-sm);height:var(--size-icon-sm)}.settings-choices{gap:var(--space-3);flex-direction:column;display:flex}.notify-sheet{gap:var(--space-4);padding-bottom:var(--space-2);flex-direction:column;display:flex}.notify-sheet__icon{width:var(--space-16);height:var(--space-16);border-radius:var(--radius-full);background:var(--color-accent-soft);color:var(--color-text-accent);justify-content:center;align-self:center;align-items:center;display:inline-flex}.notify-sheet__icon svg{width:var(--space-8);height:var(--space-8)}.notify-sheet__benefits{gap:var(--space-3);flex-direction:column;list-style:none;display:flex}.notify-sheet__benefit{align-items:flex-start;gap:var(--space-3);font:var(--type-body);color:var(--color-text-secondary);display:flex}.notify-sheet__benefit svg{width:var(--size-icon-md);height:var(--size-icon-md);color:var(--color-text-accent);flex-shrink:0}.notify-sheet__benefit--highlight{color:var(--color-text-primary);font-weight:var(--font-weight-semibold)}.notify-sheet__promise{font:var(--type-body-sm);color:var(--color-text-secondary)}.notify-sheet__actions{gap:var(--space-2);flex-direction:column;display:flex}.notify-sheet__steps{gap:var(--space-3);padding:var(--space-4);border:var(--size-hairline) solid var(--color-border-subtle);border-radius:var(--radius-md);background:var(--color-surface-sunken);counter-reset:passo;flex-direction:column;list-style:none;display:flex}.notify-sheet__step{gap:var(--space-3);font:var(--type-body);color:var(--color-text-primary);counter-increment:passo;display:flex}.notify-sheet__step:before{content:counter(passo);min-width:var(--space-5);font:var(--type-numeric);color:var(--color-text-accent);flex-shrink:0}.notify-sheet__step svg{width:var(--size-icon-sm);height:var(--size-icon-sm);vertical-align:middle;display:inline}.install-banner{gap:var(--space-3);flex-direction:column;display:flex}.install-banner__text{font:var(--type-body);color:var(--color-text-primary)}.install-banner__actions{justify-content:space-between;align-items:center;gap:var(--space-2);display:flex}.notify-stack{gap:var(--space-3);flex-direction:column;display:flex}.notify-status{gap:var(--space-2);padding:var(--space-4) 0;flex-direction:column;display:flex}.notify-status__title{align-items:center;gap:var(--space-2);font:var(--type-body);font-weight:var(--font-weight-semibold);color:var(--color-text-primary);display:flex}.notify-status__title svg{width:var(--size-icon-md);height:var(--size-icon-md);color:var(--color-text-accent)}.notify-status .settings-note{margin:0}.notify-status__action{margin-top:var(--space-2)}.notify-type{flex-direction:column;display:flex}.notify-type__detail{padding:0 0 var(--space-3)}.notify-time{justify-content:space-between;align-items:center;gap:var(--space-3);min-height:var(--size-touch-lg);font:var(--type-body);color:var(--color-text-primary);display:flex}.notify-time.is-disabled{opacity:.5}.notify-time__input{min-width:var(--space-20);min-height:var(--size-touch);padding:0 var(--space-3);border:var(--size-hairline) solid var(--color-border-subtle);border-radius:var(--radius-md);background:var(--color-surface-sunken);color:var(--color-text-primary);font:var(--type-numeric);text-align:right}.notify-pause__text{margin:0 0 var(--space-3)}.notify-pause{flex-direction:column;display:flex}.notify-pause__option{align-items:center;gap:var(--space-3);min-height:var(--size-touch-lg);color:var(--color-text-primary);font:var(--type-body);text-align:left;cursor:pointer;touch-action:manipulation;background:0 0;display:flex}.notify-pause__radio{width:var(--size-icon-md);height:var(--size-icon-md);border:var(--size-focus-ring) solid var(--color-border-strong);border-radius:var(--radius-full)}.notify-pause__option.is-selected .notify-pause__radio{border-color:var(--color-accent);background:radial-gradient(circle, var(--color-accent) 40%, transparent 45%)}.notify-reminder{justify-content:space-between;align-items:center;gap:var(--space-3);min-height:calc(var(--space-16) + var(--space-2));padding:var(--space-2) 0;display:flex}.notify-reminder__title{font:var(--type-body);color:var(--color-text-primary)}.notify-reminder__meta,.notify-reminder__sent{font:var(--type-body-sm);color:var(--color-text-secondary)}.notify-reminder.is-sent .notify-reminder__title{color:var(--color-text-secondary)}.notify-test{margin-top:var(--space-6)}.proposals{gap:var(--space-3);flex-direction:column;display:flex}.proposals__title{font:var(--type-overline);letter-spacing:var(--tracking-caps);text-transform:uppercase;color:var(--color-text-tertiary);margin:0}.proposals__all{min-height:var(--size-touch-min);font:var(--type-body-sm);color:var(--color-text-primary);align-self:flex-start;align-items:center;font-weight:600;text-decoration:none;display:inline-flex}.proposal{align-items:stretch;gap:var(--space-2);flex-direction:column;display:flex}.proposal__head{justify-content:space-between;align-items:baseline;gap:var(--space-3);display:flex}.proposal__overline,.proposal__when{font:var(--type-overline);letter-spacing:var(--tracking-caps);text-transform:uppercase;color:var(--color-text-secondary);margin:0}.proposal__when{letter-spacing:normal;text-transform:none;font:var(--type-caption);color:var(--color-text-tertiary)}.proposal__title{font:var(--type-heading);color:var(--color-text-primary);margin:0}.proposal__change{align-items:baseline;gap:var(--space-2);flex-wrap:wrap;margin:0;display:flex}.proposal__from,.proposal__arrow{font:var(--type-body);color:var(--color-text-secondary)}.proposal__to{font:var(--type-display-sm);letter-spacing:var(--tracking-display);color:var(--color-text-accent);font-weight:400}.proposal__detail,.proposal__reason{font:var(--type-body-sm);color:var(--color-text-secondary);margin:0}.proposal__reason.is-clamped{-webkit-line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.proposal__more{min-height:var(--size-touch-min);font:var(--type-body-sm);color:var(--color-text-primary);cursor:pointer;background:0 0;align-self:flex-start;padding:0;font-weight:600}.proposal__error{font:var(--type-body-sm);color:var(--color-text-danger);margin:0}.proposal__offline,.proposal__expiry{font:var(--type-caption);color:var(--color-text-secondary);margin:0}.proposal__actions{gap:var(--space-3);width:100%;margin-top:var(--space-2);display:flex}.proposal__actions>*{flex:1}.proposal__accept{border-color:var(--color-accent-border)}.proposal--done{background:var(--color-surface-sunken)}.proposal--compact{gap:var(--space-2)}.proposal__row{justify-content:space-between;align-items:center;gap:var(--space-3);min-height:var(--size-touch-xl);display:flex}.proposal__row .ui-btn{flex-shrink:0}.proposal__why-toggle{align-items:flex-start;gap:var(--space-0-5);text-align:left;min-width:0;color:var(--color-text-primary);cursor:pointer;background:0 0;flex-direction:column;flex:1;padding:0;display:flex}.proposal__compact-title{font:var(--type-body-sm);overflow-wrap:anywhere;font-weight:600}.proposal__compact-why{align-items:center;gap:var(--space-0-5);font:var(--type-caption);color:var(--color-text-secondary);display:inline-flex}.proposal__compact-why svg{width:var(--size-icon-xs);height:var(--size-icon-xs);transition:transform var(--duration-fast) var(--ease-standard)}.proposal__compact-why svg.is-open{transform:rotate(180deg)}.proposal__offline{font:var(--type-caption);color:var(--color-text-secondary);white-space:normal;margin:0}.proposal--compact{align-items:stretch;gap:var(--space-2);flex-direction:column}.proposal__compact-row{justify-content:space-between;align-items:center;gap:var(--space-3);display:flex}.proposal__compact-title{min-width:0;font:var(--type-body);flex:1;margin:0}.proposal__accept{border-color:var(--color-accent-border);flex:none}.proposal,.proposal>*{min-width:0;max-width:100%}.proposal :is(p,h3,dt,dd){overflow-wrap:anywhere}.proposal,.proposal__title,.proposal__reason,.proposal__detail,.proposal__change,.proposal__compact-title{overflow-wrap:anywhere;min-width:0}.proposal__expiry{white-space:nowrap}.proposal__actions{flex-wrap:wrap}.home-hero{margin-bottom:24px}.home-hero-top{justify-content:space-between;align-items:flex-start;margin-bottom:16px;display:flex}.home-greeting{color:var(--text-secondary);margin-bottom:4px;font-size:14px;font-weight:500}.home-name{font-family:var(--font-display);letter-spacing:.01em;font-size:52px;font-weight:400;line-height:.9}.home-avatar{color:#fff;text-shadow:0 1px 2px #0000004d;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:48px;height:48px;font-size:18px;font-weight:700;display:flex;box-shadow:0 4px 16px #0000004d}.home-quote{color:var(--text-secondary);background:var(--bg-card);border:1px solid var(--border-subtle);border-radius:var(--r-full);align-items:center;gap:8px;padding:8px 14px;font-size:13px;display:inline-flex}.home-quote svg{color:var(--accent)}.home-goal-pill{color:var(--text-secondary);background:#d4ff3a14;border:1px solid #d4ff3a24;border-radius:999px;align-items:center;gap:8px;margin-top:14px;padding:8px 12px;font-size:12px;display:inline-flex}.home-goal-pill strong{color:var(--accent);font-weight:700}.active-workout-banner{background:linear-gradient(135deg, var(--warning-soft), transparent);border:1px solid var(--warning);border-radius:var(--r-lg);cursor:pointer;color:var(--text-primary);align-items:center;gap:14px;margin-bottom:16px;padding:16px;transition:transform .15s;display:flex;position:relative;overflow:hidden}.active-workout-banner:active{transform:scale(.98)}.active-pulse-wrap{flex-shrink:0;width:32px;height:32px;position:relative}.active-pulse{background:var(--warning);opacity:.3;animation:pulseRing var(--duration-loop-pulse) cubic-bezier(0, 0, .2, 1) infinite;border-radius:50%;position:absolute;inset:0}.active-pulse:nth-child(2){animation-delay:.5s}.active-pulse-dot{background:var(--warning);box-shadow:0 0 16px var(--warning);border-radius:50%;position:absolute;inset:8px}@keyframes pulseRing{0%{opacity:.6;transform:scale(.6)}to{opacity:0;transform:scale(1.6)}}.active-label{letter-spacing:.15em;color:var(--warning);margin-bottom:2px;font-size:10px;font-weight:700}.active-name{font-size:15px;font-weight:600}.hero-cta{background:var(--bg-card);border:1px solid var(--border-subtle);border-radius:var(--r-xl);width:100%;margin-bottom:28px;padding:0;transition:transform .15s;display:block;position:relative;overflow:hidden}.hero-cta:active{transform:scale(.98)}.hero-cta-inner{z-index:1;justify-content:space-between;align-items:center;padding:24px 28px;display:flex;position:relative}.hero-cta-text{flex-direction:column;align-items:flex-start;gap:4px;display:flex}.hero-cta-label{font-family:var(--font-mono);letter-spacing:.25em;color:var(--color-text-tertiary);font-size:10px;font-weight:700}.hero-cta-action{font-family:var(--font-display);letter-spacing:.02em;color:var(--text-primary);font-size:36px;line-height:1}.hero-cta-icon{background:var(--accent);width:64px;height:64px;color:var(--text-on-accent);box-shadow:0 0 32px var(--accent-glow);border-radius:50%;justify-content:center;align-items:center;transition:transform .2s;display:flex}.hero-cta:hover .hero-cta-icon{transform:rotate(90deg)}.hero-cta-glow{background:radial-gradient(circle, var(--accent-soft) 0%, transparent 70%);pointer-events:none;filter:blur(20px);width:200px;height:200px;position:absolute;bottom:-100px;right:-50px}.stats-grid{grid-template-columns:repeat(2,1fr);gap:12px;margin-bottom:32px;display:grid}.stat-card{background:var(--bg-card);border:1px solid var(--border-subtle);border-radius:var(--r-lg);padding:18px;position:relative;overflow:hidden}.stat-card.stat-primary{background:linear-gradient(135deg, var(--accent-soft), transparent);border-color:var(--accent)}.stat-card.stat-primary .stat-icon-wrap{background:var(--accent);color:var(--text-on-accent)}.stat-icon-wrap{background:var(--bg-elevated);width:36px;height:36px;color:var(--text-secondary);border-radius:10px;justify-content:center;align-items:center;margin-bottom:12px;display:flex}.stat-value{font-family:var(--font-display);letter-spacing:.01em;margin-bottom:4px;font-size:38px;line-height:1}.stat-label{text-transform:uppercase;letter-spacing:.1em;color:var(--color-text-tertiary);font-size:11px;font-weight:600}.home-section{margin-bottom:24px}.home-section-head{justify-content:space-between;align-items:center;margin-bottom:14px;display:flex}.section-title{font-family:var(--font-display);letter-spacing:.02em;font-size:26px;font-weight:400}.see-all{letter-spacing:.1em;color:var(--text-secondary);align-items:center;gap:4px;padding:6px 8px;font-size:11px;font-weight:700;display:inline-flex}.template-strip{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;display:grid}.template-card{border:1px solid var(--border-subtle);background:linear-gradient(180deg, var(--bg-card), #ffffff03);text-align:left;border-radius:20px;flex-direction:column;gap:10px;min-height:142px;padding:16px;display:flex}.template-card-top{letter-spacing:.1em;text-transform:uppercase;color:var(--accent);align-items:center;gap:6px;font-size:10px;font-weight:700;display:inline-flex}.template-card strong{color:var(--text-primary);font-size:16px}.template-card small{color:var(--color-text-tertiary);font-size:12px}.template-card-action{color:var(--text-primary);letter-spacing:.1em;align-items:center;gap:6px;margin-top:auto;font-size:11px;font-weight:700;display:inline-flex}.recent-list{flex-direction:column;gap:10px;display:flex}.recent-item{background:var(--bg-card);border:1px solid var(--border-subtle);border-radius:var(--r-md);cursor:pointer;align-items:center;gap:12px;padding:14px;transition:background .15s,transform .15s;display:flex}.recent-item:active{background:var(--bg-card-hover);transform:scale(.98)}.recent-bar{background:linear-gradient(180deg, var(--accent), var(--warning));border-radius:4px;flex-shrink:0;align-self:stretch;width:4px}.starter-block{margin-bottom:18px}.starter-block-templates .starter-item:hover{background:linear-gradient(135deg,#4a9eff14,#0000);border-color:#4a9eff59}.starter-head{justify-content:space-between;align-items:center;gap:10px;margin-bottom:10px;display:flex}.starter-hint{color:var(--color-text-tertiary);letter-spacing:.04em;font-size:11px}.starter-list{flex-direction:column;gap:8px;display:flex}.starter-item{border-radius:var(--r-md);background:var(--bg-card);border:1px solid var(--border-subtle);text-align:left;justify-content:space-between;align-items:center;gap:12px;width:100%;padding:14px;transition:border-color .15s,background .15s,transform .15s;display:flex}.starter-item:hover{border-color:var(--accent);background:linear-gradient(135deg, var(--accent-soft), transparent)}.starter-item:active{transform:scale(.985)}.starter-item:disabled{opacity:.6}.starter-item-copy{flex-direction:column;gap:4px;min-width:0;display:flex}.starter-item-copy strong{color:var(--text-primary);white-space:nowrap;text-overflow:ellipsis;font-size:14px;overflow:hidden}.starter-item-copy span{color:var(--text-secondary);font-size:12px}.starter-item-icon{background:var(--bg-elevated);width:34px;height:34px;color:var(--accent);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;display:flex}@media (width<=640px){.template-strip{grid-template-columns:1fr}}.recent-name{white-space:nowrap;text-overflow:ellipsis;margin-bottom:4px;font-size:15px;font-weight:600;overflow:hidden}.recent-meta{color:var(--color-text-tertiary);align-items:center;gap:6px;font-size:12px;display:flex}.dot-sep{color:var(--border-strong)}.empty-state{text-align:center;background:var(--bg-card);border:1px dashed var(--border-medium);border-radius:var(--r-lg);padding:40px 20px}.empty-icon{background:var(--bg-elevated);width:56px;height:56px;color:var(--color-text-tertiary);border-radius:50%;justify-content:center;align-items:center;margin:0 auto 12px;display:flex}.empty-title{margin-bottom:4px;font-weight:600}.empty-desc{color:var(--text-secondary);font-size:13px}.quick-suggestions{margin-top:8px}.suggestion-chips{flex-wrap:wrap;gap:8px;display:flex}.chip{background:var(--bg-card);border:1px solid var(--border-medium);border-radius:var(--r-full);color:var(--text-secondary);padding:8px 14px;font-size:13px;font-weight:500;transition:all .15s}.chip:hover{background:var(--accent-soft);border-color:var(--accent);color:var(--accent)}@media (prefers-reduced-motion:reduce){.active-pulse{animation:none}}.today-page{gap:var(--space-4);width:100%;min-width:0;padding:calc(var(--safe-top) + var(--space-6)) var(--layout-gutter) var(--layout-page-bottom);flex-direction:column;flex:1;display:flex}.today-head{justify-content:space-between;align-items:flex-start;gap:var(--space-3);display:flex}.today-head__date{font:var(--type-overline);letter-spacing:var(--tracking-caps);text-transform:uppercase;color:var(--color-text-secondary);margin:0}.today-head__greeting{margin:var(--space-1) 0 0;font:var(--type-body-lg);color:var(--color-text-secondary)}.today-head>div{min-width:0}.today-head__name{text-overflow:ellipsis;overflow-wrap:anywhere;max-width:100%;font:var(--type-display-lg);letter-spacing:var(--tracking-display);text-transform:uppercase;color:var(--color-text-primary);margin:0;overflow:hidden}.today-head__avatar{flex:0 0 var(--size-avatar-md);width:var(--size-avatar-md);height:var(--size-avatar-md);border-radius:var(--radius-full);justify-content:center;align-items:center;text-decoration:none;display:inline-flex}.today-coach__text{font:var(--type-body-lg);color:var(--color-text-primary);margin:0}.today-hint{font:var(--type-body-sm);color:var(--color-text-secondary);margin:0}.today-error{font:var(--type-body-sm);color:var(--color-text-danger);margin:0}.today-link{min-height:var(--size-touch-min);min-width:var(--size-touch-min);font:var(--type-body-sm);color:var(--color-text-primary);justify-content:flex-end;align-items:center;font-weight:600;text-decoration:none;display:inline-flex}.session>.ui-card__main{gap:var(--space-3);flex-direction:column;display:flex}.session--hero .ui-card__title{font:var(--type-display-md);letter-spacing:var(--tracking-display);text-transform:uppercase}.session--hero .ui-card__header{margin-bottom:0}.session--hero>.ui-card__main{gap:var(--space-2)}.session__mark{width:var(--size-brand-mark);height:var(--size-brand-mark)}.session__sub{margin-top:calc(-1 * var(--space-1))}.steps-strip{flex:none;display:block;overflow:visible}.steps-strip__step{transition:fill var(--duration-moderate) var(--ease-standard)}.steps-strip__step--done{fill:var(--color-viz-seq-3)}.steps-strip__step--todo{fill:var(--color-surface-sunken)}.steps-strip__step--missed{fill:none;stroke:var(--color-border-strong);stroke-width:1px}.steps-strip__dot{fill:var(--color-brand-mark);transition:transform var(--duration-base) var(--ease-spring)}.session,.session .ui-card__main{min-width:0}.session :is(p,h2,li,span){overflow-wrap:anywhere}.session__sub{font:var(--type-body);color:var(--color-text-secondary);margin:0}.session__note{margin:0 0 var(--space-3);font:var(--type-caption);color:var(--color-text-secondary)}.session__note:last-child{margin-bottom:0}.session__done{align-items:center;gap:var(--space-2);display:inline-flex}.session__list{flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.session__ex{justify-content:space-between;align-items:baseline;gap:var(--space-3);min-height:32px;padding:var(--space-1) 0;border-bottom:var(--size-hairline) solid var(--color-border-subtle);font:var(--type-body);display:flex}.session__ex-name{min-width:0}.session__rise{margin-inline-start:var(--space-1)}.session__ex-meta{font:var(--type-numeric-sm);color:var(--color-text-secondary);flex:none}.session__links{justify-content:space-between;display:flex}.session__link,.session__more{color:var(--color-text-primary);font-weight:600}.session__more{min-height:var(--size-touch-min);align-self:flex-start;padding-inline:0}.coach-line{justify-content:space-between;align-items:center;gap:var(--space-3);width:100%;min-height:48px;padding:0 var(--space-1);text-align:left;font:var(--type-body-sm);color:var(--color-text-secondary);cursor:pointer;background:0 0;border:0;display:flex}.coach-line__text{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.coach-line__cta{color:var(--color-text-primary);flex:none;font-weight:600}.today-hero-error{border:var(--size-hairline) solid var(--color-border-subtle);border-radius:var(--radius-card);background:var(--color-surface-card);min-height:280px}.today-tile__empty{font:var(--type-body);color:var(--color-text-secondary);margin:0;font-weight:600}.today-meter{height:6px;margin-top:var(--space-2);border-radius:var(--radius-full);background:var(--color-surface-sunken);overflow:hidden}.today-meter__fill{border-radius:var(--radius-full);background:var(--color-viz-seq-3);height:100%}.today-page .ui-listrow__icon,.today-page .ui-listrow svg{color:var(--color-text-secondary)}.today-optional__row{justify-content:space-between;align-items:center;gap:var(--space-3);display:flex}.today-week{gap:var(--space-3);flex-direction:column;display:flex}.today-section-head{justify-content:space-between;align-items:center;display:flex}.today-overline{font:var(--type-overline);letter-spacing:var(--tracking-caps);text-transform:uppercase;color:var(--color-text-secondary);margin:0}.week-strip{gap:var(--space-1);grid-template-columns:repeat(7,minmax(0,1fr));margin:0;padding:0;list-style:none;display:grid}.week-strip li{align-items:center;gap:var(--space-1);flex-direction:column;display:flex}.week-strip__letter{font:var(--type-overline);color:var(--color-text-secondary)}.week-strip__day{width:100%;max-width:var(--size-touch-min);height:var(--size-touch-min);cursor:pointer;background:0 0;border:0;justify-content:center;align-items:center;padding:0;display:inline-flex}.week-mark{border-radius:var(--radius-full);width:32px;height:32px;color:var(--color-text-secondary);justify-content:center;align-items:center;display:inline-flex;position:relative}.week-mark svg{width:14px;height:14px}.week-mark--done{background:var(--color-viz-seq-3);color:var(--color-text-primary)}.week-mark--today{border:2px solid var(--color-accent)}.week-mark--today:after{border-radius:var(--radius-full);background:var(--color-accent);content:"";width:8px;height:8px}.week-mark--todo{border:2px solid var(--color-border-strong)}.week-mark--skipped{border:2px solid var(--color-border-default)}.week-mark__dot{border-radius:var(--radius-full);background:var(--color-accent);width:6px;height:6px;position:absolute;bottom:2px}.today-tiles{gap:var(--space-3);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.today-tiles>:only-child{grid-column:1/-1}.today-tile__label{font:var(--type-overline);letter-spacing:var(--tracking-caps);text-transform:uppercase;color:var(--color-text-secondary);margin:0}.today-tile__value{font:var(--type-display-md);letter-spacing:var(--tracking-display);text-transform:uppercase;margin:0}.today-weigh__row{justify-content:space-between;align-items:center;gap:var(--space-3);margin:var(--space-3) 0;flex-wrap:wrap;display:flex}.today-weigh__value{align-items:baseline;gap:var(--space-2);min-height:var(--size-touch-min);color:var(--color-text-primary);cursor:pointer;background:0 0;border:0;padding:0;display:inline-flex}.today-weigh__number{font:var(--type-display-md);letter-spacing:var(--tracking-display);font-variant-numeric:tabular-nums}.today-weigh__unit{font:var(--type-overline);letter-spacing:var(--tracking-caps);text-transform:uppercase;color:var(--color-text-secondary)}.today-weigh__steps{gap:var(--space-2);margin-bottom:var(--space-3);flex-wrap:wrap;display:flex}.today-weigh__done{margin:0 0 var(--space-1);font:var(--type-body-lg)}.today-checkin>.ui-card__main{gap:var(--space-3);flex-direction:column;display:flex}.today-checkin__q{gap:var(--space-2);flex-direction:column;display:flex}.today-checkin__title{font:var(--type-body);margin:0}.today-stale{justify-content:space-between;align-items:center;gap:var(--space-3,12px);display:flex}.today-stale__row{gap:var(--space-2,8px);padding-block:var(--space-2,8px);flex-direction:column;display:flex}.today-stale__actions{gap:var(--space-2,8px);display:flex}.today-coach__actions{gap:var(--space-2) var(--space-4);flex-wrap:wrap;display:flex}.today-checkin .ui-chipgroup--fill{gap:var(--space-2);grid-template-columns:repeat(3,minmax(0,1fr));display:grid}.today-checkin .ui-chipgroup--fill>.ui-chip{min-width:0;padding-inline:var(--space-2);font:var(--type-body-sm)}.today-checkin .ui-chip__label{text-overflow:clip;white-space:normal;text-align:center;overflow:visible}.today-tiles .ui-stat__value,.today-tile .ui-stat__value{flex-wrap:wrap;row-gap:0}.ui-btn.session__start{padding-inline:var(--space-1)}.profile-page{padding-bottom:calc(var(--safe-bottom) + var(--layout-page-bottom))}.profile-title{margin:0 0 var(--space-4);font:var(--type-display-lg);letter-spacing:var(--tracking-display);text-transform:uppercase;color:var(--color-text-primary);font-weight:400}.profile-head{align-items:center;gap:var(--space-4);min-width:0;display:flex}.profile-head__avatar{width:56px;height:56px;font-size:var(--font-size-xl)}.profile-head__text{gap:var(--space-0-5);flex-direction:column;min-width:0;display:flex}.profile-name{-webkit-line-clamp:2;font:var(--type-display-sm);letter-spacing:var(--tracking-display);text-transform:uppercase;color:var(--color-text-primary);overflow-wrap:anywhere;-webkit-box-orient:vertical;margin:0;font-weight:400;display:-webkit-box;overflow:hidden}.profile-email,.profile-since{min-width:0;max-width:100%;font:var(--type-caption);color:var(--color-text-secondary);overflow-wrap:anywhere;margin:0}.profile-numbers{margin:var(--space-4) 0 0;font:var(--type-body);color:var(--color-text-primary);font-weight:600}.profile-plan{margin-top:var(--space-4)}.profile-plan__text{font:var(--type-body);color:var(--color-text-secondary);margin:0}.profile-plan__text strong{color:var(--color-text-primary)}.profile-stats-error{align-items:center;gap:var(--space-2);margin-top:var(--space-4);font:var(--type-body-sm);color:var(--color-text-secondary);flex-wrap:wrap;display:flex}.profile-stats-error p{margin:0}.profile-group{min-width:0}.profile-card-list{display:block;overflow:hidden}.profile-card-list .ui-card__main{display:block}.profile-fact .ui-listrow__text{flex:none}.profile-card-list .ui-listrow__value{overflow-wrap:anywhere;flex-shrink:1;min-width:0}.profile-fact .ui-listrow__value{overflow-wrap:anywhere;flex:auto;min-width:0}.profile-session,.profile-danger{margin-top:var(--space-8)}.profile-danger .ui-listrow{padding-inline:0}.profile-danger .ui-listrow__icon{color:var(--color-text-danger)}.profile-footer{align-items:center;gap:var(--space-2);margin-top:var(--space-10);text-align:center;flex-direction:column;display:flex}.profile-footer__motto,.profile-footer__version{font:var(--type-caption);color:var(--color-text-tertiary);margin:0}.profile-sheet-text{margin:0 0 var(--space-5);font:var(--type-body);color:var(--color-text-secondary)}.profile-sheet-actions{gap:var(--space-3);display:flex}.profile-edit{gap:var(--space-3);padding-bottom:var(--space-4);flex-direction:column;display:flex}.profile-edit__options{gap:var(--space-2);flex-direction:column;display:flex}.profile-inline-note{font:var(--type-caption);color:var(--color-text-secondary)}.profile-page .section-label,.profile-edit .section-label{color:var(--color-text-tertiary)}.ftx{--lime:var(--ft-lime);--black:var(--ft-bg);--ink:var(--ft-ink);--s:clamp(44px, 9vw, 110px);background:var(--black);-webkit-tap-highlight-color:transparent;cursor:pointer;-webkit-user-select:none;user-select:none;justify-content:center;align-items:center;display:flex;position:relative;overflow:hidden}.ftx *{box-sizing:border-box}.ftx .lockup{align-items:center;gap:calc(var(--s) * .175);display:flex}.ftx .sym{width:calc(var(--s) * .84);height:calc(var(--s) * .84);transform:translateX(var(--shift,0px)) scale(1.9);transform-origin:50%;flex:none;overflow:visible}.ftx .sym *{transform-box:fill-box}.ftx .s1,.ftx .s2,.ftx .dot{fill:var(--lime)}.ftx .s1,.ftx .s2{transform-origin:50% 100%}.ftx .dot,.ftx .ring{transform-origin:50%}.ftx .ring{fill:none;stroke:var(--lime);stroke-width:1.2px;opacity:0}.ftx .word{align-items:center;gap:calc(var(--s) * .16);display:flex}.ftx .wm{font-family:var(--ft-font-display);font-size:var(--s);letter-spacing:.02em;color:var(--ink);padding-top:calc(var(--s) * .08);line-height:1;display:flex}.ftx .m{padding:0 .01em;display:inline-block;overflow:hidden}.ftx .ch{display:inline-block}.ftx .pro{font-family:var(--ft-font-sans);font-weight:700;font-size:calc(var(--s) * .22);letter-spacing:.18em;background:var(--lime);color:var(--black);border-radius:var(--ft-radius-pill);padding:calc(var(--s) * .1) calc(var(--s) * .16) calc(var(--s) * .1) calc(var(--s) * .18);line-height:1}.ftx .flash{background:var(--lime);opacity:0;pointer-events:none;position:absolute;inset:0}.ftx .streaks{pointer-events:none;position:absolute;inset:0}.ftx .streak{height:calc(var(--s) * .07);background:var(--lime);opacity:0;border-radius:99px;position:absolute;left:-30%}.ftx:not(.play) .s1,.ftx:not(.play) .s2{transform:scaleY(0)}.ftx:not(.play) .dot{transform:scale(0)}.ftx:not(.play) .ch{transform:translateY(110%)}.ftx:not(.play) .pro{transform:scale(0)}.ftx.play .s1{animation:.36s cubic-bezier(.2,.9,.3,1.2) .15s both ftx-rise}.ftx.play .s2{animation:.4s cubic-bezier(.2,.9,.3,1.2) .34s both ftx-rise}.ftx.play .dot{animation:.5s cubic-bezier(.3,.7,.4,1) .64s both ftx-fly}.ftx.play .ring{animation:.6s cubic-bezier(.1,.7,.3,1) 1.1s forwards ftx-ring}.ftx.play .flash{animation:.32s ease-out 1.1s both ftx-flash}.ftx.play .lockup{animation:.32s linear 1.1s both ftx-shake}.ftx.play .sym{animation:.55s cubic-bezier(.75,0,.2,1) 1.45s both ftx-shift}.ftx.play .ch{animation:ftx-up .5s cubic-bezier(.2, .9, .25, 1.15) calc(1.62s + var(--i) * 45ms) both}.ftx.play .pro{animation:.42s cubic-bezier(.2,.9,.3,1.6) 2.08s both ftx-pop}.ftx.play .streak{animation:.45s cubic-bezier(.6,0,.3,1) both ftx-streak}@keyframes ftx-rise{0%{transform:scaleY(0)}55%{transform:scaleY(1.22)}78%{transform:scaleY(.94)}to{transform:scaleY(1)}}@keyframes ftx-fly{0%{transform:translate(-7px,5px)scale(0)}45%{transform:translate(-2.5px,-5.5px)scale(1.1)}80%{transform:translateY(.8px)scale(1.3,.72)}to{transform:translate(0)scale(1)}}@keyframes ftx-ring{0%{opacity:1;stroke-width:1.6px;transform:scale(1)}to{opacity:0;stroke-width:.1px;transform:scale(6)}}@keyframes ftx-flash{0%{opacity:0}15%{opacity:.9}to{opacity:0}}@keyframes ftx-shake{0%,to{transform:none}12%{transform:translate(-5px,3px)rotate(-1deg)}25%{transform:translate(5px,-3px)rotate(1deg)}40%{transform:translate(-3px,-2px)}55%{transform:translate(3px,2px)}72%{transform:translate(-1px,1px)}}@keyframes ftx-shift{0%{transform:translateX(var(--shift,0px)) scale(1.9)}to{transform:translate(0)scale(1)}}@keyframes ftx-up{0%{transform:translateY(110%)skewY(8deg)}to{transform:translateY(0)skewY(0)}}@keyframes ftx-pop{0%{transform:scale(0)rotate(-12deg)}to{transform:scale(1)rotate(0)}}@keyframes ftx-streak{0%{opacity:0;transform:translate(0)scaleX(.2)}20%{opacity:.9}to{opacity:0;transform:translate(180vw)scaleX(1)}}@media (prefers-reduced-motion:reduce){.ftx.play *{animation:none!important}.ftx .sym{transform:none!important}.ftx .flash,.ftx .ring,.ftx .streak{display:none}.ftx .s1,.ftx .s2,.ftx .dot,.ftx .ch,.ftx .pro{transform:none!important}}.ftx-root{z-index:2147483000;transition:opacity .3s;position:fixed;inset:0}.ftx-root.out{opacity:0;pointer-events:none}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent;margin:0;padding:0}html{scroll-padding-bottom:var(--layout-page-bottom);font-size:100%}html[data-keyboard=open]{scroll-padding-bottom:var(--space-6)}html,body{background:var(--bg-base);height:100%;color:var(--text-primary);font-family:var(--font-body);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;overscroll-behavior-y:none;line-height:1.5;overflow-x:hidden}body{font-size:var(--font-size-md);background-image:var(--gradient-app-backdrop);background-attachment:fixed;min-height:100dvh}#root{flex-direction:column;min-height:100dvh;display:flex}.display{font-family:var(--font-display);letter-spacing:.02em;font-weight:400;line-height:.9}.mono{font-family:var(--font-mono);letter-spacing:-.02em}button{font-family:inherit;font-size:inherit;cursor:pointer;color:inherit;background:0 0;border:none}.btn{border-radius:var(--r-full);letter-spacing:.01em;-webkit-user-select:none;user-select:none;white-space:nowrap;justify-content:center;align-items:center;gap:8px;padding:16px 24px;font-size:15px;font-weight:600;transition:transform .15s,background .15s,box-shadow .2s;display:inline-flex}.btn:active{transform:scale(.97)}.btn-primary{background:var(--accent);color:var(--text-on-accent);box-shadow:0 0 0 0 var(--accent-glow)}.btn-primary:hover{background:var(--accent-hover);box-shadow:0 8px 32px -8px var(--accent-glow)}.btn-secondary{background:var(--bg-card);color:var(--text-primary);border:1px solid var(--border-medium)}.btn-secondary:hover{background:var(--bg-card-hover);border-color:var(--border-strong)}.btn-ghost{color:var(--text-secondary);background:0 0}.btn-ghost:hover{color:var(--text-primary);background:var(--bg-card)}.btn-danger{background:var(--danger-soft);color:var(--danger);border:1px solid #0000}.btn-danger:hover{background:var(--danger);color:#fff}.btn-icon{border-radius:var(--r-full);flex-shrink:0;width:44px;height:44px;padding:12px}.btn-block{width:100%}.btn-lg{padding:20px 28px;font-size:17px;font-weight:700}input,textarea,select{background:var(--bg-card);border:1px solid var(--border-subtle);border-radius:var(--r-md);width:100%;color:var(--text-primary);outline:none;padding:16px 18px;font-family:inherit;font-size:16px;transition:border-color .2s,background .2s}input::placeholder,textarea::placeholder{color:var(--text-tertiary)}input:focus,textarea:focus,select:focus{border-color:var(--accent);background:var(--bg-elevated)}textarea{resize:vertical;min-height:80px}input[type=number]::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}input[type=number]::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}input[type=number]{-moz-appearance:textfield}.card{background:var(--bg-card);border:1px solid var(--border-subtle);border-radius:var(--r-lg);padding:20px}.app-shell{width:100%;max-width:var(--layout-max-width);flex-direction:column;flex:1;margin:0 auto;display:flex;position:relative}.page{padding:calc(var(--safe-top) + 24px) 20px calc(var(--safe-bottom) + 100px);animation:pageEnter var(--duration-slow) cubic-bezier(.2, 0, .2, 1);flex:1}.page-no-nav{padding-bottom:calc(var(--safe-bottom) + 24px)}@keyframes pageEnter{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}::-webkit-scrollbar{width:0;height:0}.hidden{display:none!important}.flex{display:flex}.flex-col{flex-direction:column}.items-center{align-items:center}.justify-between{justify-content:space-between}.justify-center{justify-content:center}.gap-1{gap:4px}.gap-2{gap:8px}.gap-3{gap:12px}.gap-4{gap:16px}.gap-6{gap:24px}.text-secondary{color:var(--text-secondary)}.text-tertiary{color:var(--text-tertiary)}.text-accent{color:var(--accent)}.text-warning{color:var(--warning)}.text-success{color:var(--success)}.text-danger{color:var(--danger)}.mb-2{margin-bottom:8px}.mb-4{margin-bottom:16px}.mb-6{margin-bottom:24px}.mb-8{margin-bottom:32px}.mt-4{margin-top:16px}.mt-6{margin-top:24px}.spinner{width:20px;height:20px;animation:spin var(--duration-loop-spin) linear infinite;border:2px solid;border-right-color:#0000;border-radius:50%}.spinner-lg{border-width:3px;width:36px;height:36px}@keyframes spin{to{transform:rotate(360deg)}}.full-loader{color:var(--text-secondary);flex-direction:column;flex:1;justify-content:center;align-items:center;gap:16px;display:flex}.pill{border-radius:var(--r-full);letter-spacing:.02em;text-transform:uppercase;align-items:center;gap:6px;padding:6px 12px;font-size:12px;font-weight:600;display:inline-flex}.pill-accent{background:var(--accent-soft);color:var(--accent)}.pill-warning{background:var(--warning-soft);color:var(--warning)}.pill-success{background:var(--success-soft);color:var(--success)}.pill-danger{background:var(--danger-soft);color:var(--danger)}.pill-muted{background:var(--bg-card);color:var(--text-secondary)}.section-label{text-transform:uppercase;letter-spacing:.15em;color:var(--text-tertiary);margin-bottom:12px;font-size:11px;font-weight:600}.form-field{margin-bottom:16px}.form-field label{text-transform:uppercase;letter-spacing:.1em;color:var(--text-tertiary);margin-bottom:8px;font-size:12px;font-weight:600;display:block}:where(a,button,[role=button],[tabindex]:not([tabindex="-1"])):where(:focus-visible){outline:var(--size-focus-ring) solid var(--color-focus-ring);outline-offset:var(--size-focus-offset)}.app-main{flex-direction:column;flex:1;min-width:0;display:flex}@media (width>=64rem),(orientation:landscape) and (height<=31.25rem){html[data-nav=on]{--layout-rail-offset:var(--layout-rail-width);--layout-nav-height:0px;--layout-nav-margin:0px}}#root{padding-left:var(--layout-rail-offset)}.layout-wide,.layout-panes{width:100%;min-width:0}.layout-panes{gap:var(--layout-section-gap);flex-direction:column;display:flex}@media (width>=64rem){.layout-wide{--layout-wide-width:min(var(--layout-content-max), calc(100vw - var(--layout-rail-offset) - 2 * var(--layout-gutter)));width:var(--layout-wide-width);max-width:none;margin-inline:calc((100% - var(--layout-wide-width)) / 2)}.layout-panes{align-items:start;gap:var(--space-6);display:grid}.layout-panes--main-side{grid-template-columns:minmax(0, var(--layout-pane-detail)) minmax(0, var(--layout-pane-list))}.layout-panes--list-detail{grid-template-columns:minmax(0, var(--layout-pane-list)) minmax(0, var(--layout-pane-detail))}}:root[data-contrast=high]{--color-text-tertiary:#a3a3a3;--font-size-2xs:.75rem}
