:root{--accent:#9b4dff;--lime:var(--accent)}.brand-mark,.primary{background:var(--accent)}h1 em,.day,.topline button,.text-button,.plan-row b,.coach-callout span,.prescription,.next-card>strong{color:var(--accent)}.hero{padding-top:18px}.today-hero{background:linear-gradient(145deg,#21132f,#11171c);border:1px solid #49305e;border-radius:18px;padding:24px 18px}.session-meta{flex-wrap:wrap;gap:10px;margin:22px 0;display:flex}.session-meta span{color:#d6c8e2;background:#28193a;border-radius:8px;padding:10px;font-size:12px}.session-meta b{color:#fff;margin-bottom:3px;font-size:16px;display:block}.exercise-overview,.dashboard{margin-top:14px}.dashboard strong{margin:8px 0;font-size:21px;display:block}.dashboard p{color:var(--muted);font-size:14px;line-height:1.4}.readiness-card{background:linear-gradient(145deg,#1a1224,#11171c)}.empty-grid{gap:9px;margin-top:12px;display:grid}.empty-grid button{border:1px solid var(--line);color:#fff;text-align:left;background:#0d1216;border-radius:9px;padding:14px;font-weight:800}.empty-grid small{color:var(--muted);margin-top:4px;font-weight:400;display:block}.quick-log{gap:8px;margin-top:14px;display:flex}.quick-log button{flex:1;padding:0 8px;font-size:12px}.plan-line{border-bottom:1px solid var(--line);justify-content:space-between;gap:14px;padding:10px 0;display:flex}.plan-line:last-of-type{border-bottom:0}.plan-line span{color:#fff}.coach-callout{background:#1c1325}.readiness-label,.readiness-card>strong{display:none}.coach-greeting{margin-bottom:18px;display:block}.readiness-advice{margin-top:14px}.auth-splash,.auth-welcome{flex-direction:column;justify-content:center;gap:14px;min-height:100svh;display:flex}.auth-splash{text-align:center;color:var(--muted);align-items:center}.auth-welcome h1{max-width:620px}.auth-welcome>p:not(.eyebrow){max-width:520px;color:var(--muted)}.auth-welcome-actions{flex-wrap:wrap;gap:10px;margin-top:14px;display:flex}.auth-welcome-actions a{text-align:center;text-decoration:none}
.plan-block{border-bottom:1px solid var(--line);gap:6px;padding:13px 0;display:grid}.plan-block:last-child{border-bottom:0}.plan-block b{color:var(--muted);text-transform:uppercase;letter-spacing:1px;font-size:11px}.plan-block strong{color:var(--accent);font-size:28px}.plan-block span{color:var(--text);font-size:17px}.log .plan-line{gap:6px;padding:14px 0;display:grid}.log .plan-line b{text-transform:uppercase;letter-spacing:1px;color:var(--muted);font-size:11px}.log .plan-line span{font-size:18px;font-weight:800}.log .plan-line:nth-of-type(2){display:none}.readiness-strip{background:#171020;border:1px solid #49305e;border-radius:10px;margin-top:16px;padding:12px}.readiness-strip b{color:#fff;margin-top:4px;font-size:14px;display:block}body[data-set-kind=warmup] .log .inputs .rir-input,body[data-set-kind=ramp] .log .inputs .rir-input{display:none}
.skip-controls{background:0 0;border-top:1px solid #49305e;gap:8px;width:100%;margin:16px 0 8px;padding:8px 0;display:flex;position:static}.skip-controls button{flex:1;min-height:42px;font-size:12px}.skip-controls .danger{background:#3a202d}
.site-footer{max-width:600px;padding:10px 18px calc(18px + env(safe-area-inset-bottom));color:#7f8c89;letter-spacing:.4px;justify-content:space-between;gap:16px;margin:0 auto;font-size:11px;display:flex}.site-footer nav{gap:14px;display:flex}.site-footer a{color:#b7a1ff;text-decoration:none}.legal-page{max-width:760px;margin:0 auto;padding:42px 22px 30px}.legal-page header{margin-bottom:26px}.legal-page h1{font-size:42px}.legal-page h2{color:#d6c8ff;margin:28px 0 8px;font-size:20px}.legal-page p,.legal-page li{color:#d0d8d5;font-size:15px;line-height:1.65}.legal-page ul{padding-left:22px}.legal-page a{color:#c2adff}.whoop-date{color:var(--muted);font-size:12px}.whoop-metrics{grid-template-columns:repeat(2,1fr);gap:10px;margin:16px 0;display:grid}.whoop-metrics span{border:1px solid var(--line);background:#0a0f12;border-radius:8px;padding:10px}.whoop-metrics b{color:var(--muted);font-size:11px;display:block}.whoop-metrics strong{margin-top:5px;font-size:22px;display:block}.sync-details{background:#0a0f12;border-radius:8px;gap:5px;margin:8px 0;padding:10px;display:grid}.error-text{color:var(--danger)!important}.whoop-heading{justify-content:space-between;gap:10px;margin-top:18px;display:flex}.whoop-heading small,.manual-recovery small{color:var(--muted)}.manual-recovery{border-top:1px solid var(--line);gap:8px;margin-top:18px;padding-top:14px;display:grid}.activity-grid{grid-template-columns:repeat(3,1fr);gap:8px;margin-top:14px;display:grid}.activity-grid span{border:1px solid var(--line);background:#0a0f12;border-radius:8px;padding:9px}.activity-grid b,.activity-grid small{color:var(--muted);font-size:10px;display:block}.activity-grid strong{margin:6px 0 2px;font-size:19px;display:block}.account-page label{color:var(--muted);margin-top:16px;font-size:12px;font-weight:800;display:block}.account-actions{gap:10px;margin-top:18px;display:flex}.account-actions button{flex:1}.account-card{margin-top:20px}.account-card h2{margin:10px 0 18px;font-size:20px;line-height:1.25}.muted{color:var(--muted)!important;font-size:13px!important}.settings-row{color:inherit;text-align:left;width:100%;min-height:52px;font:inherit;cursor:pointer;background:0 0;border:0;border-radius:12px;justify-content:space-between;align-items:center;gap:16px;padding:12px 14px;text-decoration:none;display:flex}.settings-row:hover,.settings-row:focus-visible{color:#fff;background:#21152d}.settings-row:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.settings-row>span{flex-direction:column;gap:4px;display:flex}.settings-row small{color:var(--muted);font-size:12px;font-weight:400}.legal-page a,.site-footer a{color:#c2adff;text-decoration:none}.legal-page a:visited,.site-footer a:visited{color:#c2adff}.legal-page a:hover,.site-footer a:hover{color:#fff}.history-exercise{border-bottom:1px solid var(--line);padding:14px 0}.history-exercise h3{margin:0 0 8px;font-size:16px}.history-set{color:#e8ecea;justify-content:space-between;padding:6px 0;display:flex}.history-prep{padding:4px 0;display:block}.pb-row{align-items:flex-start}.pb-row strong{font-size:16px}.pb-badge{color:var(--accent);letter-spacing:.08em;font-size:10px;font-weight:800}.auth-links{align-items:center;gap:12px;margin-top:12px;display:flex}.auth-links button{min-height:44px}.recovery-review{background:#0d1317;margin-top:20px}.recovery-review h3{margin:8px 0;font-size:18px}.recovery-review p{font-size:13px}.recovery-comparison{gap:8px;margin:14px 0;display:grid}.recovery-comparison span{border-bottom:1px solid var(--line);justify-content:space-between;gap:10px;padding:10px;display:flex}.recovery-comparison b,.recovery-comparison small,.recovery-preview small{display:block}.recovery-comparison b{color:var(--muted);font-size:10px}.recovery-preview{background:#0a0f12;border-radius:8px;gap:7px;padding:12px;display:grid}.recovery-preview small{color:var(--muted);line-height:1.35}.verification-page{text-align:center;justify-content:center;gap:16px;max-width:520px}.verification-page .brand-lockup{margin:0 auto}.verification-brand{color:#d8b4fe;letter-spacing:1.5px;font-size:12px;font-weight:900}.verification-page h1{letter-spacing:-1.5px;text-transform:uppercase;font-size:clamp(32px,9vw,46px);line-height:1.02}.verification-copy{font-size:15px!important;line-height:1.55!important}.verification-email{color:#fff;overflow-wrap:anywhere;background:#171321;border:1px solid #44335a;border-radius:12px;padding:15px;font-size:16px;display:block}.verification-page .primary{width:100%;margin-top:4px}.verification-status{font-size:13px!important}.verification-back{min-height:44px;padding:12px;display:inline-block}.verification-footer{color:#aeb9b7;letter-spacing:.4px;margin-top:20px;font-size:12px!important}.staff-claim-summary{border:1px solid var(--club-border,#34303e);background:#120f19b3;border-radius:12px;gap:0;margin:18px 0;padding:0;display:grid}.staff-claim-summary>div{border-bottom:1px solid var(--club-border,#34303e);justify-content:space-between;gap:18px;padding:14px;display:flex}.staff-claim-summary>div:last-child{border-bottom:0}.staff-claim-summary dt{color:var(--muted);font-size:13px}.staff-claim-summary dd{text-align:right;margin:0;font-weight:800}.staff-claim-page .primary,.staff-claim-page .secondary{justify-content:center;align-items:center;min-height:48px;padding:0 18px;text-decoration:none;display:inline-flex}.staff-claim-page form{margin-top:18px}.staff-claim-actions{gap:10px;margin-top:20px;display:grid}.staff-claim-actions .text-button{text-align:center;min-height:44px;padding:12px;display:block}.glow-auth{color:#f7f7f8;background:radial-gradient(at top,#1b1123 0%,#08090b 43%,#060809 100%);min-height:100svh}.glow-auth-brand{text-align:center;flex-direction:column;align-items:center;gap:4px;margin:22px auto 38px;display:flex}.glow-auth-symbol{color:#c9ff57;font-size:56px;line-height:1}.glow-auth-brand strong{letter-spacing:.13em;color:#c9ff57;font-size:clamp(30px,9vw,44px);font-weight:900}.glow-auth-brand strong span{color:#f4f4f5}.glow-auth-brand small{letter-spacing:.26em;color:#c88bf0;font-size:10px;font-weight:800}.glow-auth h1{font-size:clamp(30px,8vw,42px)}.glow-auth .primary{color:#10120b;background:#c9ff57;border-color:#c9ff57;font-weight:800}.glow-auth .text-button,.glow-auth a{color:#eaa0f9}.glow-auth-powered{text-align:center;color:#a9adb0;margin-top:28px;font-size:12px}.glow-account .account-signout{color:#c9ff57;border-color:#c9ff57}
.timer{top:calc(8px + env(safe-area-inset-top));z-index:3;position:sticky;box-shadow:0 8px 24px #0008}.timer select{color:#111600;background:#c6dd37;border:0;border-radius:8px;min-height:35px;padding:0 8px;font-size:12px}:root{--surface-0:#07080b;--surface-1:#101116;--surface-2:#171922;--surface-3:#202330;--text-primary:#f7f7fb;--text-secondary:#a9abb8;--text-tertiary:#777b8d;--separator:#ffffff17;--accent:#a855f7;--accent-bright:#c084fc;--success:#5ee6a8;--warning:#f4c76b;--danger:#ff8178;--radius-sm:10px;--radius-md:16px;--radius-lg:22px;--space-1:6px;--space-2:10px;--space-3:14px;--space-4:18px;--space-5:24px;--space-6:32px;--control-height:48px}html,body{background:var(--surface-0)}body{color:var(--text-primary);background-image:radial-gradient(circle at 95% -10%,#a855f724,#0000 34%),linear-gradient(#09090d 0%,#07080b 55%);font-family:-apple-system,BlinkMacSystemFont,SF Pro Display,SF Pro Text,Inter,Arial,sans-serif}button,input,select{font-family:inherit}button,a{-webkit-tap-highlight-color:transparent;transition:transform .16s,background-color .16s,border-color .16s,opacity .16s}button:active,a:active{transform:scale(.98)}input,select{min-height:var(--control-height);font-size:16px}.shell{max-width:620px;padding:calc(18px + env(safe-area-inset-top)) 20px calc(34px + env(safe-area-inset-bottom))}.shell.module-page,.shell.home-screen{padding-bottom:calc(112px + env(safe-area-inset-bottom))}.home-screen{gap:var(--space-3);flex-direction:column;display:flex}.home-screen>.dashboard{margin-top:0}.home-screen>header{order:1}.home-screen>.readiness-card{order:2}.home-screen>.member-gym-shortcut{order:3}.home-screen>.today-hero{order:4}.home-screen>.exercise-overview{order:5}.home-screen>.post-workout{order:4}.home-screen>.upcoming-card{order:5}.home-screen>.block-card{order:6}.home-screen>.activity-card{order:7}.home-screen>.dashboard:not(.readiness-card):not(.member-gym-shortcut):not(.upcoming-card):not(.block-card):not(.activity-card):not(.post-workout){order:8}.member-gym-row{display:block}.member-gym-row>div{grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:16px;display:grid}.member-gym-row>div>div{gap:4px;display:grid}.member-gym-row .secondary{white-space:nowrap;background:#a855f71f;border-color:#a855f759;min-height:48px;padding:0 16px;text-decoration:none}header{align-items:center;margin:10px 0 20px}.brand-mark{background:var(--accent);color:#160c21;clip-path:none;letter-spacing:-1.5px;border-radius:11px;width:42px;height:42px}h1{letter-spacing:-1.8px;font-size:clamp(30px,8vw,38px);line-height:.98}h1 em,.day,.topline button,.text-button,.plan-row b,.coach-callout span{color:var(--accent-bright)}.eyebrow,.topline{color:var(--text-tertiary);letter-spacing:1.4px}.card{border:1px solid var(--separator);border-radius:var(--radius-md);padding:var(--space-5);background:#111219eb;box-shadow:0 10px 28px #00000029}.dashboard{margin-top:12px}.dashboard strong{font-size:20px}.dashboard p,.dashboard small{color:var(--text-secondary)}.today-hero{padding:var(--space-5);background:linear-gradient(145deg,#2d183ddb,#101116f5);border-color:#a855f74d;margin-top:0}.hero h2{margin:10px 0;font-size:clamp(26px,7vw,34px)}.session-meta{gap:8px;margin:18px 0}.session-meta span{color:var(--text-secondary);border-radius:var(--radius-sm);background:#a855f721;border:1px solid #c084fc29;padding:10px 11px}.session-meta b{color:var(--text-primary);font-variant-numeric:tabular-nums}.primary{background:var(--accent);color:#fff;min-height:var(--control-height);border-radius:var(--radius-sm)}.primary:hover{background:var(--accent-bright)}.secondary{background:var(--surface-3);color:var(--text-primary);border:1px solid var(--separator);min-height:var(--control-height);border-radius:var(--radius-sm)}.danger{color:#ffb1aa;border-radius:var(--radius-sm);background:#ff817824}.big{min-height:56px}.exercise-overview{padding-top:16px;padding-bottom:10px}.plan-row{border-bottom-color:var(--separator);gap:14px;padding:13px 0}.plan-row b{font-variant-numeric:tabular-nums;min-width:24px}.plan-row span{line-height:1.25}.plan-row small{color:var(--text-tertiary);margin-top:4px}.readiness-card{background:linear-gradient(145deg,#1c1425f5,#101116f5);border-color:#a855f747}.coach-greeting{letter-spacing:-.35px;margin-bottom:16px;font-size:22px;font-weight:700;display:block}.today-greeting{margin:0 0 var(--space-4)}.today-greeting h1{font-size:var(--type-page-title);line-height:1.05}.readiness-advice{margin:14px 0 0;font-weight:650;color:var(--text-primary)!important}.readiness-rings{grid-template-columns:repeat(3,1fr);gap:10px;margin:16px 0 12px;display:grid}.readiness-metric{border:1px solid var(--separator);aspect-ratio:1;background:radial-gradient(circle,#a855f72e,#0a0b0fe6 68%);border-radius:50%;flex-direction:column;justify-content:center;align-items:center;gap:5px;min-width:0;padding:13px 6px;display:flex}.readiness-metric b{color:var(--text-tertiary);letter-spacing:.9px;font-size:9px}.readiness-metric strong{font-variant-numeric:tabular-nums;font-size:clamp(21px,6vw,28px);line-height:1}.whoop-date{color:var(--text-tertiary);font-variant-numeric:tabular-nums;margin-bottom:8px;display:block}.readiness-card>.text-button{font-size:12px}.manual-recovery{border-top-color:var(--separator)}.manual-recovery .secondary{font-size:13px}.upcoming-card .plan-row{align-items:center}.upcoming-card select{background:var(--surface-3);max-width:112px;min-height:38px;color:var(--text-secondary);border:1px solid var(--separator);border-radius:8px;padding:0 5px;font-size:12px}.block-card p{font-variant-numeric:tabular-nums}.activity-grid{grid-template-columns:repeat(2,1fr);gap:8px}.activity-grid span{background:var(--surface-0);border-color:var(--separator)}.activity-grid strong{font-variant-numeric:tabular-nums}.post-workout{background:linear-gradient(145deg,#162d25e6,#101116f5);border-color:#5ee6a833}.post-workout h2{margin:9px 0 6px;font-size:27px}.post-workout-actions{gap:8px;margin-top:16px;display:flex}.post-workout-actions button{flex:1;font-size:13px}.workout-header{margin:4px 0 15px}.workout-header h1{font-size:clamp(28px,8vw,34px)}.log{margin-top:10px;padding:16px}.log .plan-line{padding:10px 0}.log .plan-line span{font-variant-numeric:tabular-nums;font-size:16px}.logged{gap:6px;margin:13px 0}.logged span{padding:10px;font-size:12px}.logged b{font-variant-numeric:tabular-nums}.coach-callout{border-left-color:var(--accent);background:#2d193aa8;margin:13px 0;padding:13px 15px}.coach-callout.reduce{border-color:var(--danger);background:#531f256b}.timer{background:var(--accent);color:#fff;border-radius:var(--radius-md);padding:13px 14px;box-shadow:0 8px 24px #0006}.timer .eyebrow{color:#ffffffb8}.timer strong{font-variant-numeric:tabular-nums;font-size:36px}.timer .secondary,.timer select{color:#fff;background:#14081b52;border-color:#ffffff29}.timer select{min-height:35px}.skip-controls{border-top-color:#a855f74d}.ask-coach,.text-button{min-height:44px}.auth-welcome{max-width:620px;padding-top:calc(36px + env(safe-area-inset-top))}.auth-welcome h1{max-width:560px;font-size:clamp(34px,10vw,54px)}.auth-welcome>p:not(.eyebrow){font-size:17px;line-height:1.45}.welcome-glimpse{flex-wrap:wrap;gap:8px;margin-top:4px;display:flex}.welcome-glimpse span{color:var(--text-secondary);border:1px solid var(--separator);background:var(--surface-1);border-radius:999px;padding:9px 12px;font-size:12px}.auth-welcome-actions{margin-top:10px}.auth-welcome-actions a{min-width:140px}.upcoming-row{align-items:center}.upcoming-row>span{flex:1;min-width:0}.status-pill{border:1px solid var(--separator);min-height:32px;color:var(--text-secondary);background:#ffffff0f;border-radius:999px;flex:none;padding:0 10px;font-size:11px;font-weight:750}.status-planned{color:var(--accent-bright);background:#a855f71f;border-color:#a855f73d}.status-completed{color:var(--success);background:#5ee6a81a}.status-rest,.status-recovery_rest{color:var(--text-tertiary)}.status-missed,.status-illness_injury{color:#ffb1aa;background:#ff81781a}.sheet-heading{justify-content:space-between;align-items:flex-start;gap:16px;display:flex}.sheet-heading h2{margin-top:6px}.status-options{grid-template-columns:repeat(2,1fr);gap:8px;display:grid}.status-options button{font-size:13px}.block-sheet{max-height:min(86svh,760px);overflow-y:auto}.block-progress{font-variant-numeric:tabular-nums;font-weight:700;color:var(--accent-bright)!important}.block-week{border-top:1px solid var(--separator);gap:7px;margin-top:18px;padding-top:14px;display:grid}.block-week>div{justify-content:space-between;align-items:baseline;display:flex}.block-week>div b{font-size:16px}.block-week>div small{color:var(--accent-bright)}.block-week>span{color:var(--text-secondary);justify-content:space-between;gap:10px;padding:9px 0;display:flex}.block-week>span strong{font-size:13px;font-weight:600}.block-week>span em{color:var(--text-tertiary);font-size:12px;font-style:normal}.sheet-input{color:var(--text-secondary);gap:6px;font-size:12px;font-weight:700;display:grid}.sheet-input input,.sheet-input select{width:100%;margin:0}.guide-link{color:var(--accent-bright);margin:4px 0 8px;font-size:12px}.exercise-guide{gap:var(--space-md)}.modal:has(.exercise-guide){z-index:10}.exercise-guide-media,.exercise-guide-placeholder{aspect-ratio:16/8;object-fit:cover;border-radius:var(--radius-sm);border:1px solid var(--separator);width:100%}.exercise-guide-placeholder{color:var(--text-tertiary);background:linear-gradient(135deg, var(--surface-2), var(--surface-0));font-size:var(--type-eyebrow);letter-spacing:1.5px;place-items:center;font-weight:800;display:grid}.guide-section{gap:var(--space-xs);display:grid}.guide-section p,.guide-section li{color:var(--text-secondary);line-height:1.5}.guide-section ul{gap:5px;margin:0;padding-left:20px;display:grid}.guide-caution{color:var(--warning);border-top:1px solid var(--separator);padding-top:var(--space-md);font-size:13px;line-height:1.45}.guide-empty{color:var(--text-secondary);line-height:1.5}.exercise-guide-modal{z-index:20}.exercise-guide-written-media{border:1px solid var(--separator);border-radius:var(--radius-sm);width:100%;min-height:112px;color:var(--text-tertiary);background:linear-gradient(135deg, var(--surface-2), var(--surface-0));font-size:var(--type-eyebrow);letter-spacing:1.5px;place-items:center;font-weight:800;display:grid}.exercise-guide-meta{color:var(--text-tertiary);flex-wrap:wrap;gap:7px;font-size:12px;display:flex}.exercise-guide-meta span{border:1px solid var(--separator);border-radius:999px;padding:5px 8px}.exercise-guide-muscles{gap:10px;display:grid}.exercise-guide-muscles>div{gap:6px;display:grid}.guide-muscle-list{flex-wrap:wrap;gap:6px;display:flex}.guide-muscle{border:1px solid var(--separator);color:var(--text-secondary);text-transform:capitalize;border-radius:999px;padding:6px 9px;font-size:12px}.guide-muscle.primary{color:var(--accent-bright);border-color:#a855f7b3}.guide-muscle.secondary{border-style:dashed}.guide-muscle.stabiliser{background:repeating-linear-gradient(135deg,#0000 0 4px,#ffffff0f 4px 8px)}@media (prefers-reduced-data:reduce){.exercise-guide-media{display:none}}.conversation{align-items:center;min-height:54px;display:flex}.conversation small{color:var(--text-tertiary)}.modal section{max-height:min(90svh, calc(100dvh - env(safe-area-inset-top)));padding-bottom:calc(var(--space-xl) + 72px + env(safe-area-inset-bottom));overflow-y:auto}.programme-action-modal{z-index:30}.programme-action-sheet{max-height:min(76svh,560px);padding-bottom:calc(var(--space-xl) + 72px + env(safe-area-inset-bottom));overflow-y:auto}.session-exception{color:var(--text-tertiary);flex-wrap:wrap;justify-content:flex-start;align-items:baseline;gap:4px 8px;margin:12px 0 20px;font-size:13px;display:flex}.session-exception .text-button{font-size:13px}.session-exception span{white-space:nowrap}.legal-page{max-width:620px;padding:calc(26px + env(safe-area-inset-top)) 20px calc(34px + env(safe-area-inset-bottom))}.legal-page header{margin-bottom:var(--space-5);display:block}.legal-page header h1{overflow-wrap:anywhere;max-width:100%}.legal-page header p{margin-top:var(--space-2)}.account-page{min-height:100svh;padding:calc(22px + env(safe-area-inset-top)) var(--page-gutter) calc(34px + env(safe-area-inset-bottom))}.account-page header{margin-bottom:24px}.account-card{gap:12px;margin-top:18px;display:grid}.account-card label{margin-top:2px}.account-card input{margin-top:7px}.account-card button{width:100%}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important}}@media (min-width:700px){.shell{padding-left:28px;padding-right:28px}.readiness-rings{max-width:360px}}:root{--color-bg:var(--surface-0);--color-surface:var(--surface-1);--color-surface-elevated:var(--surface-2);--color-surface-interactive:var(--surface-3);--color-border:var(--separator);--color-text:var(--text-primary);--color-text-secondary:var(--text-secondary);--color-text-muted:var(--text-tertiary);--color-accent:var(--accent);--color-accent-strong:var(--accent-bright);--space-page:20px;--space-section:20px;--space-card:14px;--radius-surface:var(--radius-md);--bg:var(--color-bg);--panel:var(--color-surface);--panel2:var(--color-surface-interactive);--text:var(--color-text);--muted:var(--color-text-secondary);--line:var(--color-border);--lime:var(--color-accent-strong)}.shell,.legal-page{padding-left:var(--space-page);padding-right:var(--space-page)}.module-page,.account-page,.home-screen{gap:var(--space-section)}.surface,.card{border-radius:var(--radius-surface);border-color:var(--color-border)}.surface+.surface,.card+.card{margin-top:0}.page-stack,.section-stack,.card-stack{gap:var(--space-section);flex-direction:column;display:flex}.section-stack{gap:var(--space-lg)}.card-stack{gap:var(--space-card)}.brand-lockup.compact{filter:drop-shadow(0 6px 16px #a855f72e);width:42px;height:42px}.brand-lockup.compact img{object-fit:contain;width:42px;height:42px}.brand-mark{color:#0000;clip-path:none;background:url(/icons/icon-64.png) 50%/contain no-repeat;border-radius:11px;width:42px;height:42px}.legal-page header>div>.eyebrow{display:none}.loading-surface{align-items:center;gap:var(--space-md);display:flex}.loading-surface .brand-lockup.compact{flex:none}.primary,.secondary,.danger{box-shadow:none}.secondary{background:var(--color-surface-interactive)}.tertiary-button,.text-button{color:var(--color-accent-strong)}.primary:focus-visible,.secondary:focus-visible,.tertiary-button:focus-visible,.text-button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline:2px solid var(--color-accent-strong);outline-offset:2px}.modal section{background:var(--color-surface);border:1px solid var(--color-border)}.app-nav{padding-bottom:env(safe-area-inset-bottom)}.page-header-identity{align-items:flex-start;gap:var(--space-md);min-width:0;display:flex}.page-header-identity>div:last-child{min-width:0}.page-header-identity .brand-lockup.compact{margin-top:1px}.page-header-identity h1{font-weight:780}.surface,.card{background:linear-gradient(145deg,#13141cf5,#0c0d12f5);box-shadow:0 12px 30px #0000002e}.surface .eyebrow,.card .eyebrow{color:#a9abb8d1}.auth-welcome{isolation:isolate;text-align:left;padding-top:calc(52px + env(safe-area-inset-top));padding-bottom:calc(34px + env(safe-area-inset-bottom));justify-content:flex-start;align-items:stretch;position:relative;overflow:hidden}.auth-welcome:before{content:"";z-index:-1;pointer-events:none;background:radial-gradient(#843aed3b,#0000 66%);width:120vw;height:62vh;position:absolute;top:28vh;left:-10vw}.auth-welcome .brand-lockup{align-self:center;margin:0 0 12vh}.auth-welcome .brand-lockup img{width:132px;height:132px}.landing-kicker{color:var(--accent-bright);letter-spacing:.16em;margin-bottom:var(--space-md);font-size:11px;font-weight:800}.auth-welcome h1{letter-spacing:-2.8px;max-width:11ch;font-size:clamp(42px,12vw,66px);line-height:.98}.auth-welcome h1 em{color:var(--accent-bright);font-style:normal}.auth-welcome>p:not(.landing-kicker):not(.landing-note){max-width:34ch;margin-top:var(--space-lg);color:var(--text-secondary);font-size:17px;line-height:1.45}.welcome-glimpse{margin-top:var(--space-xl)}.welcome-glimpse span{background:0 0;border-color:#ffffff24}.auth-welcome-actions{margin-top:var(--space-xl);gap:10px;display:grid}.auth-welcome-actions a{width:100%}.auth-welcome-actions .primary{background:linear-gradient(100deg,#9942f2,#b668ff);box-shadow:0 12px 30px #9139e747}.landing-note{padding-top:var(--space-2xl);text-align:center;color:var(--text-tertiary);margin-top:auto;font-size:12px}.loading-indicator{background:linear-gradient(90deg, transparent, var(--accent-bright), transparent);border-radius:999px;width:28px;height:3px;animation:1.2s ease-in-out infinite loading-sweep}@keyframes loading-sweep{0%,to{opacity:.25;transform:scaleX(.55)}50%{opacity:1;transform:scaleX(1)}}@media (prefers-reduced-motion:reduce){.loading-indicator{opacity:.7;animation:none}}:root{--space-xs:6px;--space-sm:10px;--space-md:14px;--space-lg:18px;--space-xl:24px;--space-2xl:32px;--page-gutter:20px;--section-gap:20px;--card-gap:14px;--type-display:clamp(34px, 10vw, 54px);--type-page-title:clamp(30px, 8vw, 40px);--type-section-title:18px;--type-card-title:16px;--type-body:15px;--type-caption:12px;--type-eyebrow:10px;--motion-fast:.16s;--motion-normal:.22s;--ease-standard:cubic-bezier(.2,.8,.2,1)}.app-shell{width:100%;min-height:100svh;padding-bottom:calc(88px + env(safe-area-inset-bottom))}.module-page,.account-page{gap:var(--card-gap);flex-direction:column;display:flex}main.legal-page{flex-direction:column;display:flex}.home-screen,.legal-page,.account-page{gap:var(--card-gap)}.page-header{justify-content:space-between;align-items:flex-start;gap:var(--space-lg);margin:0;display:flex}.page-header h1{font-size:var(--type-page-title);overflow-wrap:anywhere;margin-top:var(--space-xs);line-height:1}.page-header-description{color:var(--text-secondary);font-size:var(--type-body);margin-top:var(--space-sm);max-width:42ch;line-height:1.45}.back-button{min-height:44px;margin-top:var(--space-md);border-radius:999px;align-items:center;gap:5px;padding:4px 10px 4px 2px;font-size:14px;font-weight:650;display:inline-flex;color:var(--text-secondary)!important;text-decoration:none!important}.back-button span{color:var(--accent-bright);transition:transform var(--motion-fast) var(--ease-standard);font-size:25px;line-height:1}.back-button:hover,.back-button:focus-visible{background:#ffffff0f;outline:none;color:var(--text-primary)!important}.back-button:hover span{transform:translate(-2px)}.surface{border:1px solid var(--separator);border-radius:var(--radius-md);padding:var(--space-xl);background:#111219eb;box-shadow:0 10px 28px #00000029}.navigation-row{color:inherit;justify-content:space-between;align-items:center;gap:var(--space-lg);border-radius:var(--radius-sm);text-align:left;width:100%;min-height:56px;font:inherit;cursor:pointer;background:0 0;border:0;padding:12px 4px;text-decoration:none;display:flex}.navigation-row+.navigation-row{border-top:1px solid var(--separator)}.navigation-row:hover,.navigation-row:focus-visible{background:#a855f717;outline:none}.navigation-row:focus-visible{box-shadow:0 0 0 2px var(--accent)}.navigation-row>span{flex-direction:column;gap:4px;min-width:0;display:flex}.navigation-row strong{font-size:var(--type-card-title);overflow-wrap:anywhere}.navigation-row small{color:var(--text-secondary);font-size:var(--type-caption)}.navigation-row>b{color:var(--accent-bright);font-size:23px;font-weight:500}.metric-card{gap:var(--space-xs);padding:var(--space-md);background:var(--surface-0);border:1px solid var(--separator);border-radius:var(--radius-sm);display:grid}.metric-card strong{font-variant-numeric:tabular-nums;font-size:25px}.metric-card small{color:var(--text-secondary)}.progress-page{gap:var(--space-lg);max-width:680px;padding:calc(22px + env(safe-area-inset-top)) var(--page-gutter) calc(34px + env(safe-area-inset-bottom));margin:0 auto}.progress-page h2{margin:6px 0 0}.progress-form{gap:10px;margin-top:16px;display:grid}.progress-form label{color:var(--text-secondary);gap:6px;font-size:12px;font-weight:700;display:grid}.progress-form input,.progress-form select{border:1px solid var(--separator);border-radius:var(--radius-sm);background:var(--surface-0);min-height:44px;color:var(--text-primary);font:inherit;padding:0 12px}.progress-spark{border-bottom:1px solid var(--separator);align-items:end;gap:6px;height:72px;margin:18px 0 8px;padding:8px;display:flex}.progress-spark span{background:var(--accent);opacity:.75;border-radius:4px 4px 0 0;flex:1;min-width:8px}.progress-entry{border-top:1px solid var(--separator);color:var(--text-secondary);justify-content:space-between;align-items:center;gap:12px;padding:11px 0;display:flex}.progress-entry strong,.progress-entry b{color:var(--text-primary)}.progress-entry span{gap:3px;display:grid}.progress-entry small{color:var(--text-secondary)}.progress-positive{color:#a7e3c0}.measurement-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-top:18px;display:grid}.caption{color:var(--text-tertiary);font-size:12px;line-height:1.45}.compact-action{text-align:left;width:100%;min-height:44px}.compact-form{border-top:1px solid var(--separator);gap:10px;margin-top:12px;padding-top:12px;display:grid}.compact-form label,.progress-form-label{color:var(--text-secondary);gap:6px;font-size:12px;font-weight:700;display:grid}.compact-form input{min-height:44px}.unit-switch{background:var(--surface-0);border:1px solid var(--separator);border-radius:999px;gap:4px;margin:4px 0 12px;padding:4px;display:inline-flex}.unit-switch button{min-width:42px;min-height:32px;color:var(--text-secondary);background:0 0;border:0;border-radius:999px;font-weight:700}.unit-switch button.selected{color:var(--text-primary);background:#a855f733}.measurement-group{margin-top:20px}.measurement-group .measurement-grid{margin-top:8px}.guidance{color:var(--text-secondary);border-left:2px solid var(--accent);border-radius:0 var(--radius-sm) var(--radius-sm) 0;background:#a855f714;margin:0;padding:10px 12px;font-size:13px;line-height:1.45}.picker-trigger{min-height:46px;color:var(--text-primary);background:var(--surface-0);border:1px solid var(--separator);border-radius:var(--radius-sm);text-align:left;font:inherit;justify-content:space-between;align-items:center;padding:0 12px;display:flex}.option-sheet{max-height:86svh;overflow:auto}.option-row{width:100%;min-height:48px;color:var(--text-primary);border:0;border-bottom:1px solid var(--separator);text-align:left;font:inherit;background:0 0;justify-content:space-between;align-items:center;padding:10px 4px;display:flex}.option-row.selected{color:var(--accent-bright)}.subtle-danger{color:var(--text-tertiary);font-size:11px}.account-profile-summary{color:var(--text-primary);text-transform:capitalize;margin:12px 0 4px}.account-signout{width:100%;margin-top:2px}.progress-bar{height:6px;margin:var(--space-md) 0;background:#ffffff1a;border-radius:999px;overflow:hidden}.progress-bar span{border-radius:inherit;background:linear-gradient(90deg, var(--accent), var(--accent-bright));height:100%;transition:width var(--motion-normal) var(--ease-standard);display:block}.empty-state{gap:var(--space-sm);padding:var(--space-lg) 0;color:var(--text-secondary);display:grid}.empty-state strong{color:var(--text-primary);font-size:var(--type-card-title)}.empty-state p{color:var(--text-secondary);margin:0;line-height:1.5}.card,.surface{margin:0}.home-screen>.card+.card,.home-screen>.dashboard+.dashboard{margin-top:0}.today-hero .big{transition:filter var(--motion-fast) var(--ease-standard), transform var(--motion-fast) var(--ease-standard)}.today-hero .big:hover{filter:brightness(1.08)}.today-hero .big:hover span{transform:translate(3px)}.today-hero .big span{transition:transform var(--motion-fast) var(--ease-standard)}.site-footer{opacity:.72;padding-top:var(--space-xl)}.site-footer a{transition:color var(--motion-fast) var(--ease-standard), opacity var(--motion-fast) var(--ease-standard)}.site-footer a:hover,.site-footer a:focus-visible{opacity:1}.block-progress-bar{margin-top:var(--space-sm)}.training-links .settings-row{min-height:56px}@media (max-width:520px){.page-header{display:block}.page-header-description{max-width:32ch}.legal-page,.shell{padding-left:var(--page-gutter);padding-right:var(--page-gutter)}.surface{padding:var(--space-lg)}}@media (prefers-reduced-motion:reduce){.progress-bar span,.today-hero .big span,.back-button span{transition:none}}.topline-actions{align-items:center;gap:var(--space-sm);display:flex}.tertiary-button{min-height:44px;color:var(--text-secondary);font:inherit;background:0 0;border:0;border-radius:999px;padding:8px 10px;font-size:13px;font-weight:650}.tertiary-button:hover,.tertiary-button:focus-visible{color:var(--text-primary);background:#ffffff12;outline:none}.tertiary-button:focus-visible{box-shadow:0 0 0 2px var(--accent)}.workout-actions{gap:var(--space-sm);margin:var(--section-gap) 0 calc(var(--section-gap) + env(safe-area-inset-bottom));display:grid}.workout-actions .ask-coach{width:100%}.skip-controls{gap:var(--space-sm);margin:var(--space-xl) 0 0;padding-top:var(--space-md);border-top:1px solid var(--separator);display:grid}.skip-controls .danger{border:1px solid #ff817833}.timer{color:var(--text-primary);margin:var(--space-md) 0;background:#1d182af5;border:1px solid #c084fc52;padding:12px 14px;box-shadow:0 10px 28px #00000052}.timer strong{font-size:32px}.timer .secondary,.timer select{color:var(--text-primary);background:#a855f729}.settings-row,.navigation-row{transition:background-color var(--motion-fast) var(--ease-standard), transform var(--motion-fast) var(--ease-standard)}.settings-row:active,.navigation-row:active,.back-button:active,.tertiary-button:active{transform:scale(.985)}.pb-badge{display:none}.history-set b{font-variant-numeric:tabular-nums}.app-nav{z-index:20;padding:8px var(--page-gutter) calc(8px + env(safe-area-inset-bottom));border-top:1px solid var(--separator);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#0c0d12f0;grid-template-columns:repeat(4,1fr);gap:4px;margin:0;display:grid;position:fixed;bottom:0;left:0;right:0;box-shadow:0 -8px 24px #0000002e}.app-nav a{border-radius:var(--radius-sm);min-height:52px;color:var(--text-tertiary);align-content:center;place-items:center;gap:2px;text-decoration:none;display:grid}.app-nav a span{font-size:20px;line-height:1}.app-nav a small{font-size:11px;font-weight:700}.app-nav a.selected{color:var(--accent-bright);background:#a855f71f}.app-nav.has-coach{grid-template-columns:repeat(5,1fr)}.check-in-sheet{max-height:min(90svh,720px);overflow-y:auto}.check-in-field{border:0;gap:8px;margin:0;padding:0;display:grid}.check-in-field legend{color:var(--text-primary);font-size:14px;font-weight:700}.check-in-options{grid-template-columns:repeat(5,1fr);gap:8px;display:grid}.check-in-options button{border:1px solid var(--separator);border-radius:var(--radius-sm);background:var(--surface-2);min-height:44px;color:var(--text-secondary);font-weight:800}.check-in-options button.selected{color:var(--text-primary);border-color:var(--accent);background:#a855f738}.check-in-actions{grid-template-columns:1fr 1fr;gap:8px;margin-top:4px;display:grid}.readiness-card>.text-button{width:auto;color:var(--text-tertiary);justify-self:start;font-size:12px;font-weight:600;text-decoration:none}.member-class-list{gap:2px;display:grid}.member-class-row{justify-content:space-between;align-items:center;gap:var(--space-md);border-bottom:1px solid var(--separator);padding:14px 0;display:flex}.member-class-row:last-child{border-bottom:0}.member-class-row>div:first-child{gap:4px;min-width:0;display:grid}.member-class-row small{color:var(--text-secondary)}.member-class-action{flex-shrink:0;align-items:center;gap:8px;display:flex}.active-workout-card{background:var(--surface-1);border-color:#a855f780;animation:3s ease-in-out infinite active-border;box-shadow:0 0 0 1px #a855f71f,0 12px 30px #0000003d}.calibration-feedback{gap:8px;margin:14px 0;display:grid}.calibration-feedback>div{grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;display:grid}.calibration-feedback button{text-align:left;border:1px solid var(--separator);border-radius:var(--radius-sm);background:var(--surface-2);min-height:48px;color:var(--text-primary);gap:2px;padding:8px;display:grid}.calibration-feedback button.selected{border-color:var(--accent);background:#a855f729}.calibration-feedback button small{color:var(--text-secondary);text-transform:uppercase;letter-spacing:.06em;font-size:10px}.active-workout-card h2{margin:var(--space-sm) 0}@keyframes active-border{0%,to{border-color:#a855f761}50%{border-color:#c084fcb8}}@media (prefers-reduced-motion:reduce){.active-workout-card{animation:none}}.session-list{gap:var(--space-sm);max-height:58svh;display:grid;overflow:auto}.session-item{border-top:1px solid var(--separator);padding-top:var(--space-sm)}.session-item.current{border-color:#c084fc80}.session-select{justify-content:space-between;align-items:center;gap:var(--space-sm);width:100%;min-height:48px;color:var(--text-primary);text-align:left;background:0 0;padding:8px 0;display:flex}.session-select span{gap:3px;min-width:0;display:grid}.session-select small,.session-select i{color:var(--text-secondary);font-size:12px;font-style:normal}.session-select i{color:var(--accent-bright)}.session-set{color:var(--text-secondary);align-items:center;gap:8px;padding:5px 0;font-size:12px;display:flex}.session-set span{text-transform:capitalize;min-width:52px}.session-set b{color:var(--text-primary);font-variant-numeric:tabular-nums;margin-right:auto}.session-set .tertiary-button{min-height:34px;padding:4px 7px;font-size:11px}.danger-text{color:var(--danger)!important}.edit-set{gap:var(--space-sm);margin-top:var(--space-md);padding-top:var(--space-md);border-top:1px solid var(--separator);display:grid}.exercise-actions{gap:var(--space-sm);margin-top:var(--space-md);display:grid}.exercise-thumbnail{object-fit:cover;border-radius:var(--radius-sm);border:1px solid var(--separator);width:64px;height:64px}@media (max-width:420px){.topline{align-items:flex-start;gap:var(--space-sm)}.topline-actions{flex-wrap:wrap;justify-content:flex-end}.workout-header h1{font-size:clamp(27px,8vw,34px)}}.home-screen>.session-exception{display:none}.today-hero .session-exception{margin-top:14px}.upcoming-card .upcoming-row{grid-template-columns:minmax(72px,.35fr) minmax(0,1fr) auto;align-items:start;gap:8px;display:grid}.upcoming-card .upcoming-row>span{gap:3px;min-width:0;display:grid}.upcoming-card .upcoming-row>span small{display:block}.upcoming-card .upcoming-row .status-pill{justify-self:end}
