@font-face{font-family:Manrope;font-style:normal;font-weight:200 800;font-display:swap;src:url(../media/a342834df7752944-s.3hd2l7bm32o7k.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Manrope;font-style:normal;font-weight:200 800;font-display:swap;src:url(../media/d3fe2f289711ac3f-s.1l2zhvq5eocqf.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Manrope;font-style:normal;font-weight:200 800;font-display:swap;src:url(../media/58c4895d0a0ef7cc-s.2vhvl9vrvk-va.woff2)format("woff2");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:Manrope;font-style:normal;font-weight:200 800;font-display:swap;src:url(../media/bfc7db5c00d21bc5-s.173xwsdme27n8.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Manrope;font-style:normal;font-weight:200 800;font-display:swap;src:url(../media/6ab0db14f70d8ed6-s.13hnt-xgp82zk.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Manrope;font-style:normal;font-weight:200 800;font-display:swap;src:url(../media/a343f882a40d2cc9-s.p.1sj6eobyi31rd.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Manrope Fallback;src:local(Arial);ascent-override:103.31%;descent-override:29.07%;line-gap-override:0.0%;size-adjust:103.19%}.manrope_9b24f49e-module__hJlnFq__className{font-family:Manrope,Manrope Fallback;font-style:normal}.manrope_9b24f49e-module__hJlnFq__variable{--font-manrope:"Manrope", "Manrope Fallback"}
@font-face{font-family:Barlow Condensed;font-style:normal;font-weight:700;font-display:swap;src:url(../media/e37557cf0085218d-s.2dbbbbabmw4n4.woff2)format("woff2");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:Barlow Condensed;font-style:normal;font-weight:700;font-display:swap;src:url(../media/146a3e5eadafdf83-s.1oqo1buse5xew.woff2)format("woff2");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:Barlow Condensed;font-style:normal;font-weight:700;font-display:swap;src:url(../media/d9b5d46d9a89ffe6-s.p.0xxdg0o7uh536.woff2)format("woff2");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:Barlow Condensed Fallback;src:local(Arial);ascent-override:130.73%;descent-override:26.15%;line-gap-override:0.0%;size-adjust:76.49%}.barlow_condensed_e1caf02e-module__DGZdYa__className{font-family:Barlow Condensed,Barlow Condensed Fallback;font-style:normal;font-weight:700}.barlow_condensed_e1caf02e-module__DGZdYa__variable{--font-barlow:"Barlow Condensed", "Barlow Condensed Fallback"}
:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg-deep:#030201;--bg:#070503;--surface-2:#0d0b08;--panel:#120f0b;--panel-2:#18140f;--panel-hover:#1f1b16;--track:#24211c;--border:#2f2b25;--border-strong:#47413a;--control-border:#68625b;--text:#f5f1e9;--muted:#aaa49a;--faint:#8b857d;--gold:#e5ac4c;--gold-2:#f5c66d;--on-gold:#090704;--green:#43c07a;--warn:#fc9f30;--red:#ff645f;--blue:#78bff9;--purple:#c9a3f5;--font-display:var(--font-barlow), "Arial Narrow", "Helvetica Neue", Arial, sans-serif;--font-body:var(--font-manrope), -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;--fs-micro:11px;--fs-xs:12px;--fs-sm:13px;--fs-base:15px;--fs-lg:18px;--fs-xl:22px;--fs-2xl:28px;--fs-display:34px;--fs-hero:clamp(38px, 9.4vw, 62px);--tracking-micro:.14em;--sp-1:4px;--sp-2:8px;--sp-3:12px;--sp-4:16px;--sp-5:20px;--sp-6:24px;--sp-8:32px;--sp-10:40px;--sp-12:48px;--sp-16:64px;--radius-xs:4px;--radius-sm:8px;--radius-md:10px;--radius-lg:12px;--radius-pill:999px;--shadow-sm:0 1px 2px #0000004d;--shadow-md:0 1px 0 #ffffff08 inset, 0 12px 28px -16px #000000b3;--shadow-lg:0 24px 56px -12px #000000a6;--shadow-glow:0 8px 24px -8px color-mix(in oklch, var(--gold) 55%, transparent);--ease-out:cubic-bezier(.23, 1, .32, 1);--ease-in-out:cubic-bezier(.77, 0, .175, 1);--dur-fast:.12s;--dur:.18s;--dur-slow:.42s;--transition:.16s var(--ease-out);--z-sticky:100;--z-nav:1000;--z-toast:2000;--z-modal:3000;--nav-h:72px}@supports (color:lab(0% 0 0)){:root{--bg-deep:lab(.659458% .118159 .38223);--bg:lab(1.56316% .280075 .90602);--surface-2:lab(3.053% .420928 1.44176);--panel:lab(4.44436% .686906 2.2975);--panel-2:lab(6.70754% .987135 3.33622);--panel-hover:lab(10.1125% 1.18753 4.53593);--track:lab(13.0124% .952899 3.76472);--border:lab(17.6547% 1.14807 4.52147);--border-strong:lab(28.0981% 1.32175 5.26062);--control-border:lab(42.02% 1.28701 5.23374);--text:lab(95.4076% .351816 4.58115);--muted:lab(67.5604% .916243 5.69047);--faint:lab(55.9573% .862151 5.31621);--gold:lab(74.4885% 14.4062 56.2833);--gold-2:lab(82.7556% 9.81039 50.662);--on-gold:lab(1.98726% .422843 1.31049);--green:lab(69.4676% -47.8625 24.6835);--warn:lab(73.9802% 29.8539 68.1053);--red:lab(63.3139% 59.7937 35.1683);--blue:lab(74.3064% -10.7493 -36.3628);--purple:lab(72.8614% 25.9544 -35.7865);--shadow-sm:0 1px 2px lab(0% 0 0/.3);--shadow-md:0 1px 0 lab(100% 0 0/.03) inset, 0 12px 28px -16px lab(0% 0 0/.7);--shadow-lg:0 24px 56px -12px lab(0% 0 0/.65)}}
*{box-sizing:border-box}html{scroll-behavior:smooth;background:var(--bg);-moz-text-size-adjust:100%;text-size-adjust:100%}body{background:radial-gradient(60rem 26rem at 50% -8rem, color-mix(in oklch, var(--gold) 7%, transparent), transparent 70%), var(--bg);min-height:100vh;color:var(--text);font-family:var(--font-body);font-size:var(--fs-base);-webkit-font-smoothing:antialiased;-webkit-tap-highlight-color:transparent;padding-left:env(safe-area-inset-left);padding-right:env(safe-area-inset-right);margin:0;line-height:1.5}a{color:inherit;text-decoration:none}.skip-link{top:max(8px, env(safe-area-inset-top));left:max(8px, env(safe-area-inset-left));z-index:calc(var(--z-modal) + 1);border-radius:var(--radius-sm);background:var(--gold);color:var(--on-gold);padding:12px 18px;font-size:14px;font-weight:700;position:fixed;transform:translateY(calc(-100% - 16px))}.skip-link:focus-visible{outline:2px solid var(--text);outline-offset:2px;transform:none}[tabindex="-1"]:focus{outline:none}::selection{background:color-mix(in oklch, var(--gold) 35%, transparent)}h1,h2,h3,h4,.display{font-family:var(--font-display);text-transform:uppercase;letter-spacing:.01em;text-wrap:balance;font-weight:700;line-height:1.05}h1{font-size:var(--fs-display)}h2{font-size:var(--fs-xl)}h3{font-size:var(--fs-lg)}h4{font-size:var(--fs-base)}h2,h3{align-items:center;gap:var(--sp-2);display:flex}.micro,.eyebrow{color:var(--muted);font-family:var(--font-body);font-size:var(--fs-micro);letter-spacing:var(--tracking-micro);text-transform:uppercase;margin:0;font-weight:700;line-height:1.3}.micro-gold,.eyebrow{color:var(--gold)}.muted{color:var(--muted)}.tabular{font-variant-numeric:tabular-nums}button,input,select,textarea{font:inherit;letter-spacing:inherit}input,select,textarea{background:var(--surface-2);color:var(--text);border:1px solid var(--control-border);border-radius:var(--radius-sm);outline-offset:2px;min-height:44px;transition:border-color var(--transition), box-shadow var(--transition), background-color var(--transition);outline:2px solid #0000;padding:10px 12px}input::placeholder,textarea::placeholder{color:var(--faint)}input:hover:not(:disabled):not(:focus),select:hover:not(:disabled):not(:focus),textarea:hover:not(:disabled):not(:focus){border-color:color-mix(in oklch, var(--control-border), var(--text) 35%)}input:focus,select:focus,textarea:focus{border-color:var(--gold);outline-color:var(--gold);box-shadow:0 0 0 3px color-mix(in oklch, var(--gold) 20%, transparent)}input:disabled,select:disabled,textarea:disabled{opacity:.5;cursor:not-allowed}input[type=checkbox],input[type=radio]{min-height:0;accent-color:var(--gold)}input[type=range]{min-height:0;accent-color:var(--gold);padding:0}button,.btn,.button-link,.demo-cta{justify-content:center;align-items:center;gap:var(--sp-2);border-radius:var(--radius-sm);background:var(--gold);min-height:40px;color:var(--on-gold);font-family:var(--font-body);letter-spacing:.005em;cursor:pointer;transition:transform var(--transition), box-shadow var(--transition), background-color var(--transition), border-color var(--transition), color var(--transition), opacity var(--transition);border:1px solid #0000;padding:9px 18px;font-size:14px;font-weight:700;line-height:1.2;display:inline-flex}@media (hover:hover) and (pointer:fine){:where(button:not(:disabled),.btn,.button-link,.demo-cta):hover{background:var(--gold-2);box-shadow:var(--shadow-glow);transform:translateY(-1px)}}button:active:not(:disabled),.btn:active,.button-link:active,.demo-cta:active{box-shadow:none;transform:scale(.97)}button:disabled{opacity:.45;cursor:not-allowed}button:focus-visible,a:focus-visible,[role=button]:focus-visible,summary:focus-visible,input[type=checkbox]:focus-visible,input[type=radio]:focus-visible,input[type=range]:focus-visible,select:focus-visible,[tabindex]:not([tabindex="-1"]):focus-visible{outline:2px solid var(--gold);outline-offset:2px}.ghost,.btn-ghost{color:var(--text);border-color:var(--border-strong);background:0 0;font-weight:600}.secondary,.btn-secondary,.button-link.secondary{background:var(--panel-2);color:var(--text);border-color:var(--border);font-weight:600}.danger-button{color:var(--red);border-color:color-mix(in oklch, var(--red) 45%, transparent)}@media (hover:hover) and (pointer:fine){.ghost:hover:not(:disabled),.btn-ghost:hover{background:color-mix(in oklch, var(--gold) 9%, transparent);border-color:color-mix(in oklch, var(--gold) 55%, transparent);color:var(--text);box-shadow:none}.secondary:hover:not(:disabled),.btn-secondary:hover,.button-link.secondary:hover{background:var(--panel-hover);border-color:var(--border-strong);color:var(--text);box-shadow:none}.danger-button:hover:not(:disabled){background:color-mix(in oklch, var(--red) 12%, transparent);border-color:color-mix(in oklch, var(--red) 65%, transparent);color:var(--red)}}.btn-sm{min-height:34px;font-size:var(--fs-sm);padding:6px 12px}.btn-lg{min-height:52px;padding:12px 26px;font-size:16px}.btn-block{width:100%}.btn-text{min-height:0;color:var(--gold);background:0 0;border:none;padding:0;font-weight:700}@media (hover:hover) and (pointer:fine){.btn-text:hover:not(:disabled){box-shadow:none;text-underline-offset:3px;background:0 0;text-decoration:underline;transform:none}}.exercise-name-button{color:var(--gold);text-align:left;min-height:auto;box-shadow:none;background:0 0;border:none;border-radius:0;padding:0;font-weight:700;display:inline}@media (hover:hover) and (pointer:fine){.exercise-name-button:hover:not(:disabled){box-shadow:none;background:0 0;text-decoration:underline;transform:none}}.tabs,.button-row,.filter-row{gap:var(--sp-2);margin:var(--sp-5) 0;flex-wrap:wrap;display:flex}.lower-grid{gap:var(--sp-5);margin-top:var(--sp-6);grid-template-columns:1fr 1.4fr;display:grid}@media (max-width:1200px){.lower-grid{grid-template-columns:1fr 1fr}}@media (max-width:800px){.lower-grid{grid-template-columns:1fr}}@media (max-width:900px){.tabs{margin:var(--sp-4) 0;scrollbar-width:none;flex-wrap:nowrap;padding-bottom:6px;overflow-x:auto}.tabs::-webkit-scrollbar{display:none}.tabs button,.tabs select{white-space:nowrap;min-height:44px}.button-row button,.filter-row button,.tabs select{flex:auto;min-height:44px}button,input,select,textarea{min-height:44px;font-size:16px}input[type=checkbox],input[type=radio],input[type=range]{min-height:0}section{scroll-margin-top:88px}}@media (pointer:coarse){:is(.btn,.button-link,.demo-cta,.btn-sm,.setup-hide,.roster-refresh,.roster-row>button,.attention-row>button,.logged-set>button,.input-increments button,.warm-up-toggle,.cues-toggle,.team-switcher-new,.inline-error button,.load-error-banner .sync-toast-retry,.landing-header-nav .btn):not(#_){min-height:44px}.demo-tour-button:not(#_){min-width:44px}:is(.swap-picker select,.exercise-log-input):not(#_){min-height:44px}input:not([type=checkbox]):not([type=radio]):not([type=range]),select,textarea{font-size:16px}}@media (hover:none){button:active:not(:disabled),.nav a:active,.exercise-card:active,.day-card:active{transform:scale(.98)}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}html{scroll-behavior:auto}}
.panel,.card{background:var(--panel);border:1px solid var(--border);border-radius:var(--radius-lg);padding:var(--sp-6);box-shadow:var(--shadow-md)}.panel h2{margin-top:0}.section-heading{justify-content:space-between;align-items:center;gap:var(--sp-3);margin:0 0 var(--sp-4);display:flex}.section-heading h2,.section-heading h3{margin:0}.section-caption{color:var(--muted);font-size:var(--fs-micro);letter-spacing:var(--tracking-micro);text-transform:uppercase;white-space:nowrap;margin:0;font-weight:700}.card-interactive{transition:transform var(--transition), border-color var(--transition), background-color var(--transition)}@media (hover:hover) and (pointer:fine){.card-interactive:hover{border-color:var(--border-strong);background:var(--panel-2);transform:translateY(-2px)}}.card h3,.card .card-label{margin:0 0 var(--sp-3);color:var(--muted);font-family:var(--font-body);font-size:var(--fs-micro);letter-spacing:var(--tracking-micro);font-weight:700;line-height:1.3}.card h2,.card .card-figure{margin:0 0 var(--sp-1);font-variant-numeric:tabular-nums;font-size:44px;line-height:1}.card p{font-size:var(--fs-sm)}.stat-tile{min-width:0;padding:var(--sp-4) var(--sp-5);border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--panel);align-content:start;gap:2px;display:grid}.stat-tile p{margin:0}.stat-label{color:var(--muted);font-size:var(--fs-micro);letter-spacing:var(--tracking-micro);text-transform:uppercase;font-weight:700;line-height:1.3}.stat-value{margin-top:var(--sp-2);font-family:var(--font-display);font-variant-numeric:tabular-nums;font-size:44px;font-weight:700;line-height:1}.stat-value small{color:var(--muted);margin-left:2px;font-size:.55em;font-weight:700}.stat-delta{margin-top:var(--sp-1);color:var(--muted);font-size:var(--fs-xs);font-weight:600;line-height:1.35}.stat-delta.is-up{color:var(--green)}.stat-delta.is-warn{color:var(--warn)}.stat-delta.is-alert{color:var(--red)}.stat-tile-accent{background:var(--gold);color:var(--on-gold);border-color:#0000}.stat-tile-accent .stat-label,.stat-tile-accent .stat-value small,.stat-tile-accent .stat-delta{color:color-mix(in oklch, var(--on-gold) 78%, transparent)}.pill,.badge{border-radius:var(--radius-pill);background:color-mix(in oklch, var(--green) 14%, transparent);border:1px solid color-mix(in oklch, var(--green) 30%, transparent);color:var(--green);font-size:var(--fs-xs);align-items:center;gap:5px;padding:3px 10px;font-weight:700;line-height:1.4;display:inline-flex}.badge-neutral{background:var(--surface-2);border-color:var(--border);color:var(--muted)}.badge-gold{background:color-mix(in oklch, var(--gold) 14%, transparent);border-color:color-mix(in oklch, var(--gold) 32%, transparent);color:var(--gold)}.badge-alert{background:color-mix(in oklch, var(--red) 13%, transparent);border-color:color-mix(in oklch, var(--red) 32%, transparent);color:var(--red)}.status{color:var(--status-color,var(--muted));font-size:var(--fs-sm);white-space:nowrap;align-items:center;gap:7px;font-weight:700;display:inline-flex}.status:before,.status-dot{content:"";width:8px;height:8px;box-shadow:0 0 0 3px color-mix(in oklch, currentColor 18%, transparent);background:currentColor;border-radius:50%;flex:none}.status-dot{display:inline-block}.status-ready,.status-dot.status-ready{--status-color:var(--green)}.status-monitor,.status-dot.status-monitor{--status-color:var(--warn)}.status-limited,.status-dot.status-limited{--status-color:var(--red)}.status-dot{color:var(--status-color,var(--muted))}.avatar-initials{border-radius:var(--radius-sm);background:var(--panel-2);border:1px solid var(--border);width:36px;height:36px;color:var(--text);font-family:var(--font-display);letter-spacing:.04em;-webkit-user-select:none;user-select:none;flex:none;place-items:center;font-size:15px;font-weight:700;line-height:1;display:grid}.avatar-initials-sm{width:30px;height:30px;font-size:13px}.progress-bar{height:6px;margin-top:var(--sp-4);border-radius:var(--radius-pill);background:var(--track);overflow:hidden}.progress-fill{border-radius:var(--radius-pill);background:var(--gold);transform-origin:0;height:100%;transition:width .4s var(--ease-out);animation:bar-grow .7s var(--ease-out) both}.empty-state{margin:var(--sp-4) 0;padding:var(--sp-5);border:1px dashed var(--border-strong);border-radius:var(--radius-lg);background:color-mix(in oklch, var(--gold) 4%, transparent)}.empty-state p{margin:0}.sync-toast{top:calc(var(--sp-4) + env(safe-area-inset-top));z-index:var(--z-toast);align-items:center;gap:var(--sp-3);background:var(--panel-2);border:1px solid color-mix(in oklch, var(--red) 40%, transparent);max-width:min(480px,100vw - 32px);color:var(--text);border-radius:var(--radius-md);padding:var(--sp-3) var(--sp-4);box-shadow:var(--shadow-lg);font-size:var(--fs-sm);display:flex;position:fixed;left:50%;transform:translate(-50%)}.sync-toast svg:first-child{color:var(--red);flex:none}.sync-toast-dismiss{color:var(--muted);border-radius:var(--radius-pill);background:0 0;flex:none;min-height:auto;padding:4px}@media (hover:hover) and (pointer:fine){.sync-toast-dismiss:hover:not(:disabled){color:var(--text);box-shadow:none;background:#ffffff14;transform:none}}.sync-toast-retry{color:var(--gold);border:1px solid color-mix(in oklch, var(--gold) 40%, transparent);min-height:auto;font-size:var(--fs-xs);background:0 0;flex:none;padding:4px 10px}@media (hover:hover) and (pointer:fine){.sync-toast-retry:hover:not(:disabled){background:color-mix(in oklch, var(--gold) 9%, transparent);color:var(--gold);box-shadow:none}}.load-error-banner{align-items:center;gap:var(--sp-3);margin-bottom:var(--sp-5);padding:var(--sp-3) var(--sp-4);background:var(--panel-2);border:1px solid color-mix(in oklch, var(--red) 40%, transparent);border-radius:var(--radius-md);font-size:var(--fs-sm);display:flex}.load-error-banner svg:first-child{color:var(--red);flex:none}.load-error-banner p{flex:1;margin:0}.load-error-banner .sync-toast-retry{align-items:center;gap:var(--sp-1);min-height:36px;display:inline-flex}.brand-lockup{align-items:center;gap:10px;min-width:0;display:inline-flex}.brand-mark{background:var(--gold);color:var(--on-gold);border-radius:9px;flex:none;place-items:center;display:grid}.brand-text{min-width:0;line-height:1;display:grid}.brand-wordmark{font-family:var(--font-display);letter-spacing:.06em;color:var(--text);font-size:22px;font-weight:700}.brand-wordmark span{color:var(--gold)}.brand-tagline{color:var(--muted);letter-spacing:.16em;text-transform:uppercase;white-space:nowrap;margin-top:4px;font-size:9px;font-weight:700}@media (max-width:900px){.card,.panel{padding:var(--sp-5) var(--sp-4)}.card h2,.card .card-figure,.stat-value{font-size:38px}.stat-tile{padding:var(--sp-3) var(--sp-4)}.pill,.badge{font-size:var(--fs-xs);padding:3px 9px}}
@keyframes bar-grow{0%{transform:scaleX(0)}}@keyframes fade-up{0%{opacity:0;transform:translateY(8px)}}@keyframes pop-in{0%{opacity:0;transform:scale(.92)}}@keyframes ring-draw{0%{stroke-dashoffset:var(--ring-c)}}.stagger>*{animation:fade-up .4s var(--ease-out) backwards}.stagger>:nth-child(2){animation-delay:50ms}.stagger>:nth-child(3){animation-delay:.1s}.stagger>:nth-child(4){animation-delay:.15s}.stagger>:nth-child(5){animation-delay:.2s}.stagger>:nth-child(n+6){animation-delay:.25s}.ring{width:var(--ring-size,96px);height:var(--ring-size,96px);flex:none;place-items:center;display:grid;position:relative}.ring svg{width:100%;height:100%;position:absolute;inset:0;transform:rotate(-90deg)}.ring-track{fill:none;stroke:var(--track)}.ring-value{fill:none;stroke:var(--ring-color,var(--gold));stroke-linecap:round;stroke-dasharray:var(--ring-c);stroke-dashoffset:calc(var(--ring-c) * (1 - var(--ring-p)));animation:ring-draw .9s var(--ease-out) both;transition:stroke-dashoffset .6s var(--ease-out)}.ring-label{text-align:center;place-items:center;line-height:1;display:grid;position:relative}.ring-label strong{font-family:var(--font-display);font-size:calc(var(--ring-size,96px) * .3);font-variant-numeric:tabular-nums;font-weight:700}.ring-label small{color:var(--muted);font-size:var(--fs-micro);letter-spacing:.1em;text-transform:uppercase;margin-top:2px;font-weight:700}.celebrate{pointer-events:none;width:0;height:0;position:absolute;top:50%;left:50%}.celebrate-bit{background:var(--bit-color,var(--gold));opacity:0;width:7px;height:11px;animation:celebrate-burst .9s var(--ease-out) var(--bit-delay,0s) both;border-radius:2px;margin:-5px 0 0 -3px;position:absolute;top:0;left:0}@keyframes celebrate-burst{0%{opacity:1;transform:translate(0)rotate(0)scale(.6)}70%{opacity:1}to{opacity:0;transform:translate(var(--bit-x), var(--bit-y)) rotate(var(--bit-rot)) scale(1)}}.success-mark{background:color-mix(in oklch, var(--gold) 16%, transparent);border:1px solid color-mix(in oklch, var(--gold) 45%, transparent);width:64px;height:64px;color:var(--gold);animation:pop-in .42s var(--ease-out) both;border-radius:50%;place-items:center;display:grid;position:relative}.success-mark:after{content:"";border:2px solid var(--gold);opacity:0;animation:halo .9s var(--ease-out) .15s both;border-radius:50%;position:absolute;inset:-1px}@keyframes halo{0%{opacity:.7;transform:scale(1)}to{opacity:0;transform:scale(1.7)}}@media (prefers-reduced-motion:reduce){.stagger>*,.progress-fill,.ring-value,.success-mark{animation:none}.celebrate,.success-mark:after{display:none}}
.app-shell{grid-template-columns:264px 1fr;min-height:100vh;display:grid}.sidebar{height:100vh;padding:var(--sp-6) var(--sp-4);background:var(--bg-deep);border-right:1px solid var(--border);gap:var(--sp-8);flex-direction:column;display:flex;position:sticky;top:0}.brand{padding:0 var(--sp-2);align-items:center;display:flex}.nav{flex-direction:column;gap:2px;display:flex}.nav a,.nav .nav-more-toggle{justify-content:flex-start;align-items:center;gap:var(--sp-3);width:100%;min-height:0;padding:11px var(--sp-3);border-radius:var(--radius-sm);color:var(--muted);font-family:var(--font-body);transition:background-color var(--transition), color var(--transition);background:0 0;border:none;font-size:14px;font-weight:600;line-height:1.2;display:flex}@media (hover:hover) and (pointer:fine){.nav a:hover,.nav .nav-more-toggle:hover{background:var(--panel);color:var(--text);box-shadow:none;transform:none}}.nav .nav-more-toggle:active{transform:none}.nav a.active,.nav .nav-more-toggle.active{background:color-mix(in oklch, var(--gold) 12%, transparent);color:var(--gold);box-shadow:inset 0 0 0 1px color-mix(in oklch, var(--gold) 22%, transparent)}.nav .nav-more-toggle[aria-expanded=true]:not(.active){color:var(--text)}.nav-more-menu{margin:2px 0 0 var(--sp-5);padding-left:var(--sp-2);border-left:1px solid var(--border);flex-direction:column;gap:2px;display:flex}.nav-more-menu[hidden]{display:none}.streak-box{border:1px solid var(--border);border-radius:var(--radius-lg);padding:var(--sp-4);background:var(--panel);margin-top:auto}.streak-box .streak-title{align-items:center;gap:var(--sp-2);margin:0 0 var(--sp-2);font-size:var(--fs-lg);display:flex}.streak-box .streak-count{margin:0 0 var(--sp-1);color:var(--gold);font-size:34px;line-height:1}.streak-box p{font-size:var(--fs-sm);margin:0}.main{min-width:0;padding:var(--sp-8) 44px var(--sp-10)}.topbar{justify-content:space-between;align-items:center;gap:var(--sp-4);margin-bottom:var(--sp-8);display:flex}.topbar h1{margin:0;font-size:40px;line-height:1}.topbar p{color:var(--muted);margin:var(--sp-2) 0 0;font-size:var(--fs-sm)}.topbar p.micro{margin:0 0 var(--sp-2);color:var(--gold)}.topbar-user{align-items:center;gap:var(--sp-3);display:flex}.avatar{border-radius:var(--radius-pill);background:color-mix(in oklch, var(--gold) 14%, transparent);border:1px solid color-mix(in oklch, var(--gold) 35%, transparent);width:40px;height:40px;color:var(--gold);font-family:var(--font-display);flex:none;place-items:center;font-size:18px;font-weight:700;display:grid}@media (max-width:900px){.app-shell{display:block}.sidebar{z-index:var(--z-nav);width:100%;height:calc(var(--nav-h) + env(safe-area-inset-bottom));padding:6px max(8px, env(safe-area-inset-right)) calc(6px + env(safe-area-inset-bottom)) max(8px, env(safe-area-inset-left));border-right:none;border-top:1px solid var(--border);background:color-mix(in oklch, var(--bg-deep) 90%, transparent);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);display:block;position:fixed;inset:auto 0 0}.brand,.streak-box{display:none}.nav{grid-auto-columns:minmax(0,1fr);grid-auto-flow:column;gap:4px;height:100%;display:grid}.nav>a,.nav .nav-more-toggle{border-radius:var(--radius-md);height:100%;min-height:52px;font-size:var(--fs-micro);flex-direction:column;justify-content:center;gap:3px;padding:6px 2px}.nav-label{text-overflow:ellipsis;white-space:nowrap;max-width:100%;overflow:hidden}.nav>a.active,.nav .nav-more-toggle.active{box-shadow:none;background:color-mix(in oklch, var(--gold) 14%, transparent)}.nav-more{min-width:0;height:100%}.nav-more-menu{right:max(8px, env(safe-area-inset-right));bottom:calc(var(--nav-h) + env(safe-area-inset-bottom) + var(--sp-2));width:min(260px,100vw - 16px);padding:var(--sp-2);border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--panel-2);box-shadow:var(--shadow-lg);margin:0;position:fixed}.nav-more-menu a{min-height:48px;font-size:var(--fs-base)}.main{padding:var(--sp-5) var(--sp-4) calc(var(--nav-h) + var(--sp-8) + env(safe-area-inset-bottom))}.topbar{z-index:50;margin:calc(var(--sp-5) * -1) calc(var(--sp-4) * -1) var(--sp-5);padding:var(--sp-4);background:color-mix(in oklch, var(--bg) 88%, transparent);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);border-bottom:1px solid var(--border);position:sticky;top:0}.topbar h1{font-size:30px}.topbar p{font-size:var(--fs-xs)}.avatar{width:36px;height:36px}}@media (max-width:900px) and (pointer:coarse){body:has(input:not([type=checkbox]):not([type=radio]):not([type=range]):focus,textarea:focus,select:focus) :is(.sidebar,.workout-actions,.install-banner){display:none}}@media (max-width:520px){.main{padding-left:var(--sp-4);padding-right:var(--sp-4)}.topbar{align-items:flex-start}.topbar h1{font-size:28px}}
.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.skeleton{border-radius:var(--radius-sm);background:linear-gradient(90deg,#ffffff0d 25%,#ffffff1a 50%,#ffffff0d 75%) 0 0/200% 100%;animation:1.5s linear infinite skeleton-shimmer;display:block}@keyframes skeleton-shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.skeleton-line{height:12px}.skeleton-line-lg{height:22px}.skeleton-icon{width:36px;height:36px;margin-bottom:var(--sp-3)}.skeleton-stack{gap:var(--sp-3);display:grid}.skeleton-cta{border-radius:var(--radius-md);height:62px;margin-bottom:20px}.skeleton-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:20px;display:grid}.skeleton-card{min-height:172px}.skeleton-row{justify-content:space-between;align-items:center;gap:var(--sp-4);padding:var(--sp-3) 0;border-top:1px solid var(--border);display:flex}.skeleton-row:first-child{border-top:none}.skeleton-row>.skeleton-stack{flex:1}.skeleton-pill{border-radius:999px;width:96px;height:28px}.skeleton-lower{grid-template-columns:1fr 1.4fr;gap:20px;margin-top:24px;display:grid}@media (max-width:1200px){.skeleton-grid{grid-template-columns:1fr 1fr}}@media (max-width:900px){.skeleton-grid{gap:12px}}@media (max-width:800px){.skeleton-lower{grid-template-columns:1fr}}@media (max-width:520px){.skeleton-grid{grid-template-columns:1fr}.skeleton-card{min-height:132px}}@media (prefers-reduced-motion:reduce){.skeleton{animation:none}}.state-page{min-height:100dvh;padding:var(--sp-6) var(--sp-4);place-items:center;display:grid}.state-inline{min-height:50vh;padding:var(--sp-4) 0;place-items:center;display:grid}.state-card{text-align:center;width:100%;max-width:460px}.state-mark{width:56px;height:56px;margin:0 auto var(--sp-4);color:var(--gold);background:color-mix(in srgb, var(--gold) 12%, transparent);border:1px solid color-mix(in srgb, var(--gold) 30%, transparent);border-radius:999px;place-items:center;display:grid}.state-card h1,.state-card h2{margin:0 0 var(--sp-2);font-size:var(--fs-display);justify-content:center;line-height:1;display:block}.state-card p{max-width:36ch;margin:0 auto;line-height:1.5}.state-actions{justify-content:center;gap:var(--sp-3);margin-top:var(--sp-6);flex-wrap:wrap;display:flex}.state-actions button,.state-link{justify-content:center;align-items:center;gap:var(--sp-2);min-height:44px;display:inline-flex}.state-link{border:1px solid var(--border-strong);border-radius:var(--radius-sm);color:var(--text);transition:background var(--transition), border-color var(--transition);padding:9px 18px;font-weight:600}.state-link:hover{border-color:color-mix(in srgb, var(--gold) 40%, transparent);background:#ffffff0d}.state-card .state-reference{margin:var(--sp-5) auto 0;font-size:var(--fs-xs);color:var(--muted)}.state-reference code{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace}.inline-error{align-items:center;gap:var(--sp-3);padding:var(--sp-4);border:1px solid color-mix(in srgb, var(--red) 40%, transparent);border-radius:var(--radius-md);background:color-mix(in srgb, var(--red) 6%, transparent);display:flex}.inline-error>svg{color:var(--red);flex:none}.inline-error p{font-size:var(--fs-sm);flex:1;margin:0}.inline-error button{align-items:center;gap:var(--sp-1);flex:none;min-height:36px;display:inline-flex}@media (max-width:520px){.inline-error{flex-wrap:wrap}.state-actions>*{flex:100%}}

