*,:before,:after{box-sizing:border-box;margin:0;padding:0}:root{--s0:#08080e;--s1:#12121c;--s2:#1a1a28;--s2-edge:#ffffff12;--s3-edge:#ff9a3c59;--s3-glow:0 24px 48px -20px #ff7a1a73;--s4:#1e1e2ee0;--shadow-card:inset 0 0 0 1px var(--s2-edge), inset 0 1px 0 #ffffff0d, 0 12px 28px -14px #000c;--shadow-hero:inset 0 0 0 1px var(--s3-edge), var(--s3-glow);--do-1:#ff7a1a;--do-2:#ffb23f;--grad-do:linear-gradient(135deg, var(--do-1), var(--do-2));--achieve:#ffd166;--recover:#2dd4bf;--data:#8b8cff;--done:#34d399;--text:#ececf4;--text-muted:#a3a3bd;--text-dim:#7c7c96;--danger:#f87171;--warning:#fbbf24;--bg:var(--s0);--bg-card:var(--s2);--bg-hover:#262638;--bg-input:var(--s1);--border:#ffffff14;--border-soft:#ffffff0d;--accent:var(--do-1);--accent-2:var(--do-2);--accent-hover:var(--do-2);--grad-accent:var(--grad-do);--success:var(--done);--radius:16px;--radius-sm:10px;--radius-chip:999px;--font:"Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;--font-display:"Barlow Condensed", "Inter", -apple-system, sans-serif;--tabbar-h:64px}html,body,#root{height:100%}body{font-family:var(--font);background:radial-gradient(1200px 620px at 78% -10%, #241823 0%, var(--s0) 55%) var(--s0);color:var(--text);-webkit-font-smoothing:antialiased;overscroll-behavior-y:contain;background-attachment:fixed;line-height:1.5}button,a,input,select,textarea,.chip,.tab-item,[tabindex]{outline:none}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,.chip:focus-visible,.tab-item:focus-visible,[tabindex]:focus-visible{outline:2px solid var(--do-2);outline-offset:2px;border-radius:inherit}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.001ms!important;animation-duration:.001ms!important;animation-iteration-count:1!important}}.app-shell{flex-direction:column;min-height:100vh;display:flex}.app-content{padding:16px 16px calc(var(--tabbar-h) + 24px);flex:1;width:100%;max-width:720px;margin:0 auto}.tabbar{height:var(--tabbar-h);background:var(--s4);-webkit-backdrop-filter:blur(20px);z-index:50;padding-bottom:env(safe-area-inset-bottom);justify-content:space-around;align-items:center;display:flex;position:fixed;bottom:0;left:0;right:0;box-shadow:inset 0 1px #ffffff0f,0 -12px 28px -18px #000c}.tab-item{color:var(--text-dim);border-radius:var(--radius-sm);flex-direction:column;justify-content:center;align-items:center;gap:3px;min-width:56px;min-height:44px;padding:6px 12px;font-size:11px;font-weight:600;text-decoration:none;transition:color .15s;display:flex}.tab-item.active{color:var(--do-2)}.tab-icon{border-radius:8px;justify-content:center;align-items:center;width:30px;height:22px;transition:background-color .15s,box-shadow .15s;display:flex}.tab-item.active .tab-icon{background:#ff7a1a29;box-shadow:inset 0 0 0 1px #ff9a3c4d}.eyebrow{text-transform:uppercase;letter-spacing:.1em;color:var(--text-muted);font-size:11px;font-weight:700}.text-display{font-family:var(--font-display);font-size:48px;font-weight:800;line-height:.95}.text-h1{font-family:var(--font);letter-spacing:-.02em;font-size:28px;font-weight:800;line-height:1.1}.text-h2{font-family:var(--font);font-size:20px;font-weight:700;line-height:1.2}.text-meta{color:var(--text-muted);font-size:13px}.num{font-family:var(--font-display);font-variant-numeric:tabular-nums;font-feature-settings:"tnum" 1, "lnum" 1}.card{background:var(--s2);border-radius:var(--radius);box-shadow:var(--shadow-card);border:none;margin-bottom:14px;padding:16px;transition:transform .12s}.card-live{box-shadow:inset 0 0 0 1.5px var(--do-1), var(--shadow-card)}.card-header{justify-content:space-between;align-items:center;margin-bottom:12px;display:flex}.card-title{letter-spacing:-.01em;font-size:16px;font-weight:600}.card-sub{color:var(--text-muted);margin-top:2px;font-size:13px}.hero{border-radius:var(--radius);box-shadow:var(--shadow-hero);background:radial-gradient(120% 80% at 0 0,#ff7a1a4d,#0000 60%),linear-gradient(165deg,#2a1d22,#16141f);padding:20px;position:relative}.surface-sunken{background:var(--s1);border-radius:var(--radius-sm)}.card[style*="cursor: pointer"]:active,.card[style*=cursor\:pointer]:active,.card.card-tappable:active,.exercise-card:active,.set-row[style*="cursor: pointer"]:active,.set-row[style*=cursor\:pointer]:active{transform:scale(.985)}.btn{border-radius:var(--radius-sm);cursor:pointer;font-size:15px;font-weight:700;font-family:var(--font);border:none;justify-content:center;align-items:center;gap:6px;min-height:44px;padding:12px 18px;transition:transform .1s,filter .15s;display:inline-flex}.btn:active:not(:disabled){transform:scale(.97)}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-primary{background:var(--grad-do);color:#1a1400;width:100%;box-shadow:0 10px 22px -8px #ff7a1a80}.btn-primary:hover:not(:disabled){filter:brightness(1.06)}.btn-secondary{background:var(--bg-hover);color:var(--text);border:1px solid var(--border)}.btn-danger{background:var(--danger);color:#1a0505}.btn-sm{min-height:44px;padding:8px 14px;font-size:13px}.btn-block{width:100%}.btn-link{width:100%;color:var(--text-muted);cursor:pointer;font-size:13px;font-weight:600;font-family:var(--font);text-align:center;text-underline-offset:2px;background:0 0;border:none;padding:10px 0 0;text-decoration:underline;display:block}.btn-link:disabled{opacity:.5;cursor:not-allowed}.btn-link:hover:not(:disabled){color:var(--text)}.btn-icon{width:40px;min-height:44px;color:var(--text-muted);cursor:pointer;font-size:13px;font-family:var(--font);background:0 0;border:none;justify-content:center;align-items:center;display:inline-flex}.btn-icon:disabled{opacity:.4;cursor:not-allowed}.btn-icon:hover:not(:disabled){color:var(--text)}.chip{border-radius:var(--radius-chip);cursor:pointer;border:1px solid var(--border);background:var(--bg-hover);color:var(--text);white-space:nowrap;align-items:center;gap:6px;min-height:44px;padding:10px 16px;font-size:13px;font-weight:600;display:inline-flex}.chip.selected{background:color-mix(in srgb, var(--do-1) 22%, var(--bg-hover));border-color:var(--do-1);color:var(--do-2)}.chip-row{-webkit-overflow-scrolling:touch;gap:8px;padding-bottom:4px;display:flex;overflow-x:auto}input,select,textarea{font-family:var(--font);background:var(--bg-input);border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text);width:100%;min-height:44px;padding:12px 14px;font-size:16px}input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid var(--do-2);outline-offset:1px}.stepper{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.stepper-btn{border-radius:var(--radius-sm);border:1px solid var(--border);background:var(--bg-hover);width:44px;height:44px;color:var(--text);cursor:pointer;flex:0 0 44px;font-size:20px;font-weight:700}.stepper input{text-align:center;flex:60px;min-width:60px;max-width:72px}.set-row{border-bottom:1px solid var(--border-soft);font-variant-numeric:tabular-nums;justify-content:space-between;align-items:center;padding:8px 0;font-size:14px;transition:transform .12s;display:flex}.set-row:last-child{border-bottom:none}.set-num{color:var(--text-dim);width:24px}.set-warmup{opacity:.55;font-style:italic}.exercise-card{border-radius:var(--radius-sm);background:var(--s1);border:none;margin-bottom:10px;padding:12px;transition:transform .12s,box-shadow .15s;box-shadow:inset 0 1px 2px #00000059}.exercise-card.current{box-shadow:inset 0 1px 2px #00000059, inset 0 0 0 1.5px var(--s3-edge), 0 0 20px -8px #ff7a1a66;background:color-mix(in srgb, var(--do-1) 5%, var(--s1))}.exercise-card-body{align-items:flex-start;gap:10px;display:flex}.exercise-card-main{flex:1;min-width:0}.exercise-title{justify-content:space-between;align-items:center;font-size:15px;font-weight:700;display:flex}.exercise-meta{color:var(--text-muted);margin-top:2px;font-size:13px}.exercise-reason{color:var(--text-muted);margin-top:4px;font-size:13px}.exercise-demo{border-radius:var(--radius-sm);background:var(--s0);border:1px solid var(--border-soft);flex-shrink:0;position:relative;overflow:hidden}.exercise-demo img{object-fit:cover;width:100%;height:100%;transition:opacity .4s;position:absolute;inset:0}button.exercise-demo{cursor:zoom-in;min-height:0;font:inherit;color:inherit;box-shadow:none;margin:0;padding:0;display:block}.demo-viewer{z-index:200;cursor:zoom-out;background:#000000e0;flex-direction:column;justify-content:center;align-items:center;gap:16px;padding:16px;animation:.18s ease-out demo-viewer-in;display:flex;position:fixed;inset:0}.demo-viewer-frame{aspect-ratio:1;border-radius:var(--radius);background:var(--s1);width:min(92vw,70vh,520px);position:relative;overflow:hidden}.demo-viewer-frame img{object-fit:contain;width:100%;height:100%;transition:opacity .4s;position:absolute;inset:0}.demo-viewer-name{color:#fff;text-align:center;font-size:18px;font-weight:700}.demo-viewer-close{top:calc(12px + env(safe-area-inset-top));color:#fff;cursor:pointer;background:#ffffff24;border:none;border-radius:50%;width:44px;height:44px;padding:0;font-size:18px;position:absolute;right:12px}@keyframes demo-viewer-in{0%{opacity:0}to{opacity:1}}@media (prefers-reduced-motion:reduce){.demo-viewer{animation:none}.demo-viewer-frame img{transition:none}}.session-topbar{z-index:40;background:var(--s4);-webkit-backdrop-filter:blur(20px);justify-content:space-between;align-items:center;margin:-16px -16px 16px;padding:12px 16px;display:flex;position:sticky;top:0;box-shadow:inset 0 -1px #ffffff0f}.session-timer{font-family:var(--font-display);font-variant-numeric:tabular-nums;font-size:20px;font-weight:700}.session-progress{color:var(--text-muted);font-size:13px}.rest-ring-wrap{background:radial-gradient(120% 120% at 50% 0,#2dd4bf1f,#0000 70%);flex-direction:column;align-items:center;gap:10px;padding:24px 0;display:flex}.rest-timer-text{font-family:var(--font-display);font-variant-numeric:tabular-nums;color:var(--recover);font-size:56px;font-weight:800;line-height:1}.empty-state{text-align:center;color:var(--text-dim);padding:32px 16px}.empty-state .btn{margin-top:14px}.rest-day-card{text-align:center;padding:36px 20px}.today-icon-badge{background:radial-gradient(circle at 35% 30%, color-mix(in srgb, var(--do-1) 35%, var(--s2)), var(--s2));width:72px;height:72px;box-shadow:inset 0 0 0 1px var(--s2-edge);border-radius:50%;justify-content:center;align-items:center;margin:0 auto 14px;font-size:34px;display:flex}.rest-day-title{margin-bottom:4px;font-size:20px;font-weight:800}.today-quick-actions{justify-content:center;gap:8px;margin-top:18px;display:flex}.today-quick-actions .btn{width:auto;padding:0 16px}.week-grid{gap:4px;display:flex}.week-day{background:var(--s1);width:24px;height:24px;box-shadow:inset 0 0 0 1px var(--border);border-radius:6px}.week-day.done{background:var(--done);box-shadow:none}.pr-badge{font-family:var(--font-display);font-variant-numeric:tabular-nums;background:color-mix(in srgb, var(--achieve) 18%, transparent);color:var(--achieve);border-radius:var(--radius-chip);align-items:center;gap:4px;padding:5px 12px;font-size:13px;font-weight:700;display:inline-flex}.login-screen{text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:20px;min-height:100vh;padding:24px;display:flex}.login-logo{font-family:var(--font-display);letter-spacing:-.01em;font-size:44px;font-weight:800}.login-logo span{color:var(--do-1)}.toast-stack{z-index:100;pointer-events:none;flex-direction:column;align-items:center;gap:8px;display:flex;position:fixed;top:16px;left:0;right:0}.toast{border-radius:var(--radius-sm);background:var(--s4);-webkit-backdrop-filter:blur(20px);padding:10px 16px;font-size:14px;font-weight:600;animation:.18s ease-out toast-in;box-shadow:inset 0 0 0 1px #ffffff14,0 16px 32px -14px #000000b3}@keyframes toast-in{0%{opacity:0;transform:translateY(-8px)scale(.98)}to{opacity:1;transform:translateY(0)scale(1)}}.toast-error{box-shadow:inset 3px 0 0 var(--danger), inset 0 0 0 1px #ffffff14, 0 16px 32px -14px #000000b3;color:#ffd7d7}.toast-success{box-shadow:inset 3px 0 0 var(--done), inset 0 0 0 1px #ffffff14, 0 16px 32px -14px #000000b3;color:#d7fff0}.toast-info{box-shadow:inset 3px 0 0 var(--do-1), inset 0 0 0 1px #ffffff14, 0 16px 32px -14px #000000b3;color:var(--do-2)}.load-error{border-radius:var(--radius-sm);background:color-mix(in srgb, var(--warning) 12%, transparent);border:1px solid color-mix(in srgb, var(--warning) 35%, transparent);justify-content:space-between;align-items:center;gap:10px;margin-bottom:12px;padding:10px 14px;font-size:13px;display:flex}.spinner{border:3px solid var(--border);border-top-color:var(--do-1);border-radius:50%;width:28px;height:28px;margin:40px auto;animation:.8s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.header-row{justify-content:space-between;align-items:center;margin-bottom:16px;padding-top:8px;display:flex}.header-row h1{font-family:var(--font);letter-spacing:-.02em;font-size:28px;font-weight:800;line-height:1.1}.coach-intro{text-align:center;padding:28px 16px}.coach-avatar{background:var(--grad-do);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:44px;height:44px;margin:0 auto;font-size:20px;display:flex;box-shadow:0 6px 16px -6px #ff7a1a80}.coach-avatar-sm{width:32px;height:32px;margin:0;font-size:15px}.coach-exchange{margin-bottom:16px}.coach-bubble-user{background:var(--bg-hover);color:var(--text);border-radius:var(--radius) var(--radius) 4px var(--radius);width:fit-content;max-width:82%;margin:0 0 8px auto;padding:10px 14px;font-size:14px;font-weight:600}.coach-bubble-reply{align-items:flex-start;gap:10px;display:flex}.coach-bubble-content{background:var(--s2);border-radius:4px var(--radius) var(--radius) var(--radius);min-width:0;box-shadow:var(--shadow-card);flex:1;padding:12px 14px}.coach-bubble-content p{margin:0 0 8px;font-size:14.5px;line-height:1.5}.coach-bubble-content p:last-child{margin-bottom:0}.coach-bullet{margin-bottom:4px;padding-left:14px;font-size:14.5px;line-height:1.5;position:relative}.coach-bullet:before{content:"•";color:var(--do-1);position:absolute;left:0}.coach-workout{border-top:1px solid var(--border-soft);margin-top:12px;padding-top:12px}.coach-typing{align-items:center;gap:4px;padding:16px 14px;display:flex}.coach-typing span{background:var(--text-dim);border-radius:50%;width:6px;height:6px;animation:1.2s ease-in-out infinite coach-bounce}.coach-typing span:nth-child(2){animation-delay:.15s}.coach-typing span:nth-child(3){animation-delay:.3s}@keyframes coach-bounce{0%,60%,to{opacity:.5;transform:translateY(0)}30%{opacity:1;transform:translateY(-4px)}}.tv-root{background:var(--s0);gap:32px;min-height:100vh;padding:40px;display:flex}.tv-column{background:var(--s2);box-shadow:var(--shadow-card);border-radius:24px;flex:1;padding:32px}.tv-name{font-family:var(--font-display);margin-bottom:8px;font-size:32px;font-weight:800}.tv-day{color:var(--do-2);margin-bottom:20px;font-size:20px;font-weight:700}.tv-exercise{border-bottom:1px solid var(--border-soft);font-variant-numeric:tabular-nums;justify-content:space-between;padding:10px 0;font-size:22px;display:flex}.tv-code{font-family:var(--font-display);letter-spacing:.1em;text-align:center;color:var(--do-1);font-variant-numeric:tabular-nums;font-size:96px;font-weight:800}.tv-pairing{background:var(--s0);flex-direction:column;justify-content:center;align-items:center;gap:24px;min-height:100vh;display:flex}@media (width<=700px){.tv-root{flex-direction:column;padding:20px}}.hero-recover{text-align:center;background:radial-gradient(120% 80% at 0 0,#2dd4bf47,#0000 60%),linear-gradient(165deg,#182422,#14181f);padding:32px 20px}.today-exercise-row{cursor:pointer;align-items:flex-start;gap:10px;margin-bottom:8px;padding:12px;transition:transform .12s;display:flex}.today-exercise-row:active{transform:scale(.985)}.today-exercise-note{color:var(--do-2);margin-top:4px;font-size:12.5px}.streak-card{justify-content:space-between;align-items:center;gap:12px;display:flex}.review-banner{cursor:pointer;justify-content:space-between;align-items:center;padding:12px 16px;display:flex}.day-pick-row{cursor:pointer}.next-time-row{color:var(--achieve);margin-top:8px;font-size:13px;font-weight:600}.just-finished-banner{text-align:center;background:var(--grad-do);color:#0000;-webkit-background-clip:text;background-clip:text;padding:18px 0 10px;font-size:20px;font-weight:800}.skeleton-line{background:linear-gradient(90deg, var(--s1), var(--bg-hover), var(--s1));background-size:200% 100%;border-radius:6px;height:13px;margin-bottom:8px;animation:1.4s ease-in-out infinite skeleton-pulse}.skeleton-line:last-child{margin-bottom:0}@keyframes skeleton-pulse{0%{background-position:200% 0}to{background-position:-200% 0}}.muscle-bar-row{align-items:center;gap:10px;margin-bottom:10px;display:flex}.muscle-bar-row:last-child{margin-bottom:0}.muscle-bar-label{width:88px;color:var(--text-muted);flex-shrink:0;font-size:13px}.muscle-bar-track{background:var(--s1);border-radius:999px;flex:1;height:10px;overflow:hidden}.muscle-bar-fill{background:var(--grad-do);border-radius:999px;height:100%}.muscle-bar-value{text-align:right;flex-shrink:0;width:48px;font-size:13px}.coach-briefing-card{margin-bottom:16px;padding:16px}.coach-briefing-header{align-items:center;gap:10px;margin-bottom:8px;display:flex}.coach-briefing-reply{line-height:1.5}.coach-briefing-cues{border-top:1px solid var(--border-soft);margin-top:10px;padding-top:10px}.coach-briefing-cue{justify-content:space-between;gap:12px;margin-bottom:6px;font-size:13px;display:flex}.coach-briefing-cue:last-child{margin-bottom:0}.coach-briefing-cue-name{color:var(--text-dim);flex-shrink:0}.coach-briefing-cue-text{text-align:right;color:var(--text)}.coach-stalls{margin-bottom:16px}.coach-stall-card{margin-bottom:10px;padding:14px}.ring-wrap{flex-shrink:0;width:88px;height:88px;position:relative}.ring-wrap svg{width:100%;height:100%;transform:rotate(-90deg)}.ring-track{stroke:var(--s1)}.ring-progress{stroke-linecap:round;transition:stroke-dashoffset .6s}.ring-label{flex-direction:column;justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.ring-label .num{font-size:20px;font-weight:800;line-height:1}.ring-label-sub{color:var(--text-muted);text-transform:uppercase;letter-spacing:.07em;margin-top:2px;font-size:9px}.crew-week-card{align-items:center;gap:16px;display:flex}.crew-week-body{flex:1;min-width:0}.crew-week-title{margin-bottom:6px;font-size:15px;font-weight:700}.crew-recent-row{color:var(--text-muted);justify-content:space-between;align-items:center;gap:10px;padding:6px 0;font-size:13px;display:flex}.crew-highfive-btn{cursor:pointer;background:0 0;border:none;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:36px;height:36px;font-size:20px;display:inline-flex}.crew-highfive-btn:active{transform:scale(.88)}.crew-highfive-btn:disabled{opacity:.35;cursor:default}.crew-highfive-banner{background:color-mix(in srgb, var(--achieve) 14%, transparent);border:1px solid color-mix(in srgb, var(--achieve) 35%, transparent);border-radius:var(--radius-sm);justify-content:space-between;align-items:center;gap:10px;margin-bottom:10px;padding:10px 14px;font-size:13px;font-weight:600;display:flex}.crew-empty-link{text-align:center;display:block}.join-crew-screen{text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:18px;min-height:100vh;padding:24px;display:flex}.join-crew-card{max-width:360px}.settings-crew-member-row{border-bottom:1px solid var(--border-soft);justify-content:space-between;align-items:center;padding:8px 0;font-size:14px;display:flex}.settings-crew-member-row:last-child{border-bottom:none}.tv-topbar{justify-content:center;align-items:center;gap:20px;padding:0 40px 20px;display:flex}.tv-turn-banner{text-align:center;color:var(--do-2);padding:0 40px 20px;font-size:20px;font-weight:700}.tv-feed{background:var(--s1);border-radius:var(--radius);margin:0 40px 24px;padding:14px 20px}.tv-feed-row{justify-content:space-between;gap:12px;padding:6px 0;font-size:17px;display:flex}.tv-feed-row .num{font-weight:700}.tv-rest{color:var(--text-muted);margin-top:10px;font-size:15px;font-weight:700}.tv-rest.resting{color:var(--recover)}.tv-column-record{box-shadow:inset 0 0 0 2px var(--achieve), 0 0 32px -8px #ffd16680}.tv-record-flash{z-index:200;background:radial-gradient(circle at 50% 50%, color-mix(in srgb, var(--achieve) 30%, transparent), #08080ef0);justify-content:center;align-items:center;animation:.4s ease-out record-flash-in;display:flex;position:fixed;inset:0}.tv-record-flash-text{font-family:var(--font-display);color:var(--achieve);text-align:center;text-shadow:0 0 40px #ffd16699;font-size:64px;font-weight:800}@keyframes record-flash-in{0%{opacity:0;transform:scale(.9)}to{opacity:1;transform:scale(1)}}.app-content--full{padding-bottom:16px}.session-actionbar{z-index:60;min-height:56px;padding:8px 16px calc(8px + env(safe-area-inset-bottom));background:var(--s4);-webkit-backdrop-filter:blur(20px);align-items:center;gap:10px;display:flex;position:fixed;bottom:0;left:0;right:0;box-shadow:inset 0 1px #ffffff0f,0 -12px 28px -18px #000c}.session-actionbar-log{flex:1;min-height:44px}.session-actionbar-rest-time{color:var(--recover);min-width:52px;font-size:24px;font-weight:800}.session-actionbar.pulse{animation:.35s 2 session-bar-pulse}@keyframes session-bar-pulse{0%,to{box-shadow:inset 0 1px #ffffff0f,0 -12px 28px -18px #000c}50%{box-shadow:inset 0 0 0 2px var(--recover), 0 -12px 28px -18px #000c}}@keyframes set-row-in{0%{opacity:0;transform:translate(14px)}to{opacity:1;transform:none}}.set-row-new{animation:.28s set-row-in}.pr-burst{z-index:45;background:color-mix(in srgb, var(--achieve) 20%, var(--s2));color:var(--achieve);justify-content:center;align-items:center;gap:8px;margin:-16px -16px 14px;padding:12px 16px;font-size:14px;font-weight:700;animation:.3s pr-burst-in;display:flex;position:sticky;top:0;box-shadow:inset 0 -1px #ffd1664d}@keyframes pr-burst-in{0%{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:none}}.chip-removable{cursor:default;padding-right:8px}.chip-remove{width:20px;height:20px;color:inherit;opacity:.7;cursor:pointer;background:0 0;border:none;border-radius:50%;justify-content:center;align-items:center;margin-left:2px;font-size:15px;line-height:1;display:inline-flex}.chip-remove:hover{opacity:1;background:#0000001f}.sheet-backdrop{z-index:90;background:#04040899;justify-content:center;align-items:flex-end;display:flex;position:fixed;inset:0}.sheet{background:var(--s2);width:100%;max-width:720px;max-height:85vh;box-shadow:var(--shadow-card);padding:12px 16px calc(16px + env(safe-area-inset-bottom));border-radius:20px 20px 0 0;animation:.2s ease-out sheet-in;overflow-y:auto}@keyframes sheet-in{0%{opacity:.4;transform:translateY(28px)}to{opacity:1;transform:none}}.sheet-handle{background:var(--border);border-radius:999px;width:36px;height:4px;margin:0 auto 12px}.sheet-title{font-size:16px;font-weight:800}.ask-bruh-sheet{flex-direction:column;display:flex}.ask-bruh-scroll{max-height:46vh;overflow-y:auto}.coach-note-banner{background:color-mix(in srgb, var(--do-1) 12%, var(--s1));border-left:3px solid var(--do-1);border-radius:var(--radius-sm);color:var(--text);margin-top:6px;padding:10px 12px;font-size:13px;line-height:1.4}.mic-btn{border:1px solid var(--border);background:var(--bg-hover);width:44px;height:44px;color:var(--text-muted);cursor:pointer;border-radius:50%;flex:0 0 44px;justify-content:center;align-items:center;display:inline-flex}.mic-btn.listening{background:color-mix(in srgb, var(--danger) 20%, var(--bg-hover));color:var(--danger);border-color:var(--danger);animation:1.1s ease-in-out infinite mic-pulse}@keyframes mic-pulse{0%,to{box-shadow:0 0 0 0 color-mix(in srgb, var(--danger) 45%, transparent)}50%{box-shadow:0 0 0 7px #0000}}.effort-chip-row{gap:6px;margin-top:6px;display:flex}.effort-chip{text-align:center;border-radius:var(--radius-sm);border:1px solid var(--border);background:var(--bg-hover);min-height:36px;color:var(--text);cursor:pointer;flex:1;padding:6px 4px;font-size:12px;font-weight:700}.effort-chip:active{transform:scale(.97)}.effort-badge{border-radius:var(--radius-chip);background:var(--bg-hover);color:var(--text-muted);margin-left:6px;padding:2px 8px;font-size:11px;font-weight:700}.tough-call-banner{background:color-mix(in srgb, var(--warning) 14%, var(--s1));border:1px solid color-mix(in srgb, var(--warning) 35%, transparent);border-radius:var(--radius-sm);justify-content:space-between;align-items:center;gap:10px;margin-top:8px;padding:8px 10px;font-size:13px;display:flex}.tough-call-banner .btn{width:auto;min-height:36px;padding:0 12px;font-size:13px}.checkin-collapsed{justify-content:space-between;align-items:center;gap:10px;display:flex}.checkin-label{margin:12px 0 6px}.checkin-label:first-of-type{margin-top:4px}.checkin-chip-lg{justify-content:center;min-width:84px;padding:12px 20px;font-size:14px}.checkin-note-row{align-items:flex-start;gap:8px;margin-top:12px;display:flex}.checkin-note-input{resize:vertical;flex:1;min-height:44px;font-size:14px}.checkin-mic{background:var(--bg-hover);border:1px solid var(--border);border-radius:var(--radius-sm);flex:0 0 44px;font-size:18px}.checkin-mic-active{box-shadow:inset 0 0 0 1.5px var(--do-1);color:var(--do-2)}.checkin-reply{margin-bottom:12px}.checkin-exercise-list{flex-direction:column;gap:8px;display:flex}.checkin-exercise-row{background:var(--s1);border-radius:var(--radius-sm);padding:10px 12px}.checkin-exercise-changed{box-shadow:inset 0 0 0 1.5px var(--s3-edge)}.checkin-exercise-row-top{justify-content:space-between;align-items:center;gap:8px;font-size:14px;font-weight:600;display:flex}.checkin-action-chip{cursor:default;background:color-mix(in srgb, var(--do-1) 20%, var(--bg-hover));min-height:0;color:var(--do-2);border:none;padding:3px 10px;font-size:11px}.checkin-exercise-target{color:var(--text-muted);margin-top:2px;font-size:13px}.checkin-coach-note{margin-top:4px;font-style:italic}.recovery-suggestion{background:color-mix(in srgb, var(--recover) 14%, var(--s1));border:1px solid color-mix(in srgb, var(--recover) 35%, transparent);border-radius:var(--radius-sm);justify-content:space-between;align-items:center;gap:10px;margin-bottom:12px;padding:10px 12px;font-size:13px;display:flex}.recovery-suggestion .btn-link{color:var(--recover);white-space:nowrap;font-weight:600}.recovery-chip-row{margin-bottom:10px}.recovery-safety-note{margin:8px 0}.recovery-form{background:var(--s1);border-radius:var(--radius-sm);margin-top:10px;padding:12px}.recovery-form-row{justify-content:space-between;align-items:center;gap:10px;margin-top:10px;display:flex}.recovery-form-row input{text-align:right;width:90px}.recovery-log-list{flex-direction:column;gap:6px;margin-top:12px;display:flex}.recovery-log-row{background:var(--s1);border-radius:var(--radius-sm);justify-content:space-between;align-items:center;gap:8px;padding:8px 12px;font-size:13px;display:flex}.checkin-feeling-chip{justify-content:center;min-width:44px;padding:8px 14px;font-size:22px}.gym-scan-sheet{flex-direction:column;max-height:92vh;padding-bottom:0;display:flex}.gym-scan-scroll{flex:1;padding-bottom:12px;overflow-y:auto}.gym-scan-footer{padding:10px 16px calc(10px + env(safe-area-inset-bottom));background:var(--s2);margin:0 -16px;position:sticky;bottom:0;box-shadow:inset 0 1px #ffffff0f}.gym-scan-thumb-grid{grid-template-columns:repeat(auto-fill,minmax(72px,1fr));gap:8px;display:grid}.gym-scan-thumb{aspect-ratio:1;border-radius:var(--radius-sm);background:var(--s1);position:relative;overflow:hidden}.gym-scan-thumb img{object-fit:cover;width:100%;height:100%;display:block}.gym-scan-thumb-remove{color:#fff;cursor:pointer;background:#08080ebf;border:none;border-radius:50%;width:22px;height:22px;font-size:15px;line-height:1;position:absolute;top:2px;right:2px}.gym-scan-thumb-badge{border:none;border-radius:50%;justify-content:center;align-items:center;min-width:20px;height:20px;padding:0 4px;font-size:11px;font-weight:700;display:flex;position:absolute;bottom:2px;right:2px}.gym-scan-thumb-badge--busy{color:var(--text-muted);background:#08080ebf}.gym-scan-thumb-badge--ok{background:var(--do-1);color:#1a1400}.gym-scan-thumb-badge--error{background:var(--danger,#e5484d);color:#fff;cursor:pointer}.gym-scan-item{margin-bottom:8px;padding:12px}.gym-scan-item--owned{opacity:.55}.gym-scan-item input[type=text],.gym-scan-item input:not([type]){background:0 0;border:none;width:100%;padding:2px 0;font-size:14px}.gym-scan-item input[type=checkbox]{accent-color:var(--do-1)}.gym-scan-seen-thumb{object-fit:cover;border-radius:6px;flex:none;width:32px;height:32px}.gym-scan-qty{background:var(--s0);border-radius:var(--radius-chip);flex:none;align-items:center;gap:6px;padding:2px 4px;display:flex}.gym-scan-qty .btn-icon{width:28px;height:28px;min-height:0}.gym-scan-qty .num{text-align:center;min-width:16px;font-size:14px}.feedback-fab{right:16px;bottom:calc(var(--tabbar-h) + 16px + env(safe-area-inset-bottom));cursor:pointer;background:var(--grad-do);color:#1a1400;z-index:45;border:none;border-radius:50%;justify-content:center;align-items:center;width:52px;height:52px;display:flex;position:fixed;box-shadow:0 10px 22px -8px #ff7a1a8c,inset 0 1px #ffffff40}.feedback-fab:active{transform:scale(.96)}.feedback-textarea{resize:none;flex:1;min-height:96px}.feedback-token-box{background:var(--s0);border:1px solid var(--border);border-radius:var(--radius-sm);word-break:break-all;flex:1;padding:10px 12px;font-family:ui-monospace,SF Mono,Menlo,Consolas,monospace;font-size:13px;display:block}.surface-sunken code{color:var(--do-2);font-family:ui-monospace,SF Mono,Menlo,Consolas,monospace;font-size:12px}.error-boundary-screen{background:var(--s0);justify-content:center;align-items:center;min-height:100vh;padding:24px;display:flex}.hero-done{background:radial-gradient(120% 80% at 0% 0%, color-mix(in srgb, var(--done) 28%, transparent), transparent 60%), linear-gradient(165deg, #17241f, #14141f);border-radius:var(--radius);box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--done) 35%, transparent), 0 24px 48px -20px #34d39959;padding:20px;position:relative}.hero-done-check{color:var(--done)}.next-up-row{border-top:1px solid var(--border-soft);color:var(--text-muted);align-items:center;gap:8px;margin-top:14px;padding-top:14px;font-size:13px;font-weight:600;display:flex}.next-up-row strong{color:var(--text);font-weight:700}.bonus-chip{background:color-mix(in srgb, var(--achieve) 16%, var(--bg-hover));border-color:var(--achieve);color:var(--achieve)}.schedule-toggle{background:var(--s1);border-radius:var(--radius-chip);gap:4px;margin-bottom:14px;padding:4px;display:flex}.schedule-toggle-option{border-radius:var(--radius-chip);cursor:pointer;min-height:44px;font-family:var(--font);color:var(--text-muted);background:0 0;border:none;flex:1;font-size:13px;font-weight:700}.schedule-toggle-option.selected{background:var(--grad-do);color:#1a1400}.schedule-toggle-option:disabled{opacity:.6;cursor:not-allowed}.import-badge{border-radius:var(--radius-chip);white-space:normal;align-items:center;padding:3px 10px;font-size:12px;font-weight:700;display:inline-flex}.import-badge--matched{background:color-mix(in srgb, var(--done) 18%, transparent);color:var(--done)}.import-badge--swapped{background:color-mix(in srgb, var(--warning) 18%, transparent);color:var(--warning)}.import-badge--new{background:color-mix(in srgb, var(--data) 20%, transparent);color:var(--data)}.family-kid-block{border-bottom:1px solid var(--border-soft);margin-bottom:14px;padding-bottom:14px}.family-kid-block:last-child{border-bottom:none;margin-bottom:0;padding-bottom:0}.family-kid-row{cursor:pointer;align-items:center;gap:10px;min-height:44px;display:flex}.family-kid-avatar{background:var(--s1);width:44px;height:44px;box-shadow:inset 0 0 0 1px var(--border);border-radius:50%;flex:0 0 44px;justify-content:center;align-items:center;font-size:22px;display:flex}.family-kid-name{font-size:15px;font-weight:700}.family-badge-count{color:var(--achieve);flex:none;font-size:13px;font-weight:700}.family-suggestions{flex-direction:column;gap:6px;margin-top:10px;display:flex}.family-suggestion-row{background:var(--s1);border-radius:var(--radius-sm);align-items:center;gap:10px;min-height:44px;padding:6px 10px 6px 12px;display:flex}.family-suggestion-name{font-size:14px;font-weight:600}.family-custom-log{align-items:center;gap:6px;margin-top:10px;display:flex}.family-custom-log input{min-height:44px}.family-member-form{margin-top:12px}.family-avatar-picker{flex-wrap:wrap;gap:8px;display:flex}.family-avatar-option{border-radius:var(--radius-sm);border:1px solid var(--border);background:var(--bg-hover);cursor:pointer;justify-content:center;align-items:center;width:44px;height:44px;font-size:20px;display:flex}.family-avatar-option.selected{border-color:var(--do-1);background:color-mix(in srgb, var(--do-1) 22%, var(--bg-hover))}.family-week-day.done{background:var(--achieve);box-shadow:none}.family-badge-grid{flex-direction:column;gap:8px;display:flex}.family-badge-chip{border-radius:var(--radius-sm);background:var(--s1);min-height:44px;color:var(--text-muted);opacity:.55;align-items:center;gap:8px;padding:0 12px;font-size:14px;display:flex}.family-badge-chip.earned{background:color-mix(in srgb, var(--achieve) 16%, var(--s1));color:var(--achieve);opacity:1;font-weight:700}.family-badge-chip-icon{font-size:18px}.family-celebration{text-align:center}.family-celebration-stickers{justify-content:center;gap:6px;margin-bottom:10px;font-size:30px;animation:.4s ease-out family-sticker-pop;display:flex}@keyframes family-sticker-pop{0%{opacity:0;transform:scale(.5)}to{opacity:1;transform:scale(1)}}.family-celebration-title{margin-bottom:12px;font-size:20px;font-weight:800}.family-celebration-badge{background:color-mix(in srgb, var(--achieve) 14%, transparent);border:1px solid color-mix(in srgb, var(--achieve) 35%, transparent);border-radius:var(--radius-sm);text-align:left;margin-bottom:8px;padding:10px 14px}.family-celebration-badge-name{color:var(--achieve);margin-bottom:2px;font-weight:700}.stretch-warmup-card,.stretch-cooldown-card{margin-bottom:16px}.stretch-card .chip-row{row-gap:8px}.stretch-player{min-height:calc(100vh - 32px);padding-bottom:env(safe-area-inset-bottom);flex-direction:column;display:flex}.stretch-player-topbar{justify-content:space-between;align-items:center;padding:4px 0 12px;display:flex}.stretch-stage{text-align:center;flex-direction:column;flex:1;justify-content:center;align-items:center;gap:14px;padding:8px 0;display:flex}.stretch-demo-large{border-radius:var(--radius);background:var(--s1);width:min(220px,60vw);height:min(220px,60vw);position:relative;overflow:hidden}.stretch-demo-large img{object-fit:cover;width:100%;height:100%;transition:opacity .4s;position:absolute;inset:0}.stretch-demo-placeholder{border-radius:var(--radius);background:var(--s1);justify-content:center;align-items:center;width:min(220px,60vw);height:min(220px,60vw);font-size:64px;display:flex}.stretch-ring-wrap{width:220px;height:220px;position:relative}.stretch-ring-wrap .stretch-ring{width:100%;height:100%}.stretch-ring-label{flex-direction:column;justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.stretch-ring-label .num{font-family:var(--font-display);font-size:56px;font-weight:800;line-height:1}.stretch-ring-sub{color:var(--text-muted);text-transform:uppercase;letter-spacing:.08em;margin-top:2px;font-size:12px}.stretch-switch-banner{background:color-mix(in srgb, var(--recover) 18%, transparent);border:1px solid color-mix(in srgb, var(--recover) 40%, transparent);color:var(--recover);border-radius:var(--radius-chip);padding:8px 18px;font-weight:700;animation:1.2s ease-in-out infinite stretch-switch-pulse}@keyframes stretch-switch-pulse{0%,to{opacity:1}50%{opacity:.6}}@media (prefers-reduced-motion:reduce){.stretch-switch-banner{animation:none}.stretch-demo-large img{transition:none}}.stretch-instructions{max-width:320px}.stretch-controls{padding:16px 0 calc(16px + env(safe-area-inset-bottom));justify-content:center;align-items:center;gap:16px;display:flex}.stretch-play-pause{border-radius:50%;width:64px;height:64px;padding:0}.stretch-done-screen{text-align:center;flex-direction:column;flex:1;justify-content:center;align-items:center;padding:24px;display:flex}.family-workout-panel{margin-bottom:4px}.family-workout-start-btn{margin-bottom:12px}.family-workout-picker{margin-bottom:14px}.family-workout-picker-row{cursor:pointer;align-items:center;gap:10px;min-height:44px;font-size:15px;display:flex}.family-workout-picker-row input[type=checkbox]{flex:none;width:18px;height:18px}.family-kid-strip{flex-wrap:wrap;gap:10px;margin:8px 0 14px;display:flex}.family-kid-strip-card{background:var(--s1);border-radius:var(--radius-sm);box-shadow:inset 0 0 0 1px var(--s2-edge);flex:200px;padding:12px 14px}.family-kid-strip-header{align-items:center;gap:8px;margin-bottom:6px;display:flex}.family-kid-strip-name{font-size:15px;font-weight:700}.family-kid-strip-activity{margin-bottom:4px;font-size:20px;font-weight:800}.family-kid-strip-instructions{color:var(--text-muted);margin-bottom:6px;font-size:15px}.family-kid-strip-safety{color:var(--warning);font-size:13px;font-weight:600}.family-workout-finish-card{border:1px solid color-mix(in srgb, var(--do-1) 30%, transparent)}.family-show-on-tv-toggle{cursor:pointer;align-items:center;gap:6px;display:flex}.family-show-on-tv-toggle input[type=checkbox]{width:16px;height:16px}.tv-family-ring{margin-top:-4px}.tv-kids-row{flex-direction:column;gap:10px;margin-top:18px;display:flex}.tv-kid-chip{background:var(--s1);border-radius:var(--radius-sm);box-shadow:inset 0 0 0 1px var(--s2-edge);padding:10px 16px}.tv-kid-chip-name{align-items:center;gap:6px;font-size:20px;font-weight:700;display:flex}.tv-kid-chip-sparkle{font-size:18px}.tv-kid-chip-meta{color:var(--text-muted);margin-top:2px;font-size:15px}.settings-hub-header{align-items:center;gap:14px;display:flex}.settings-avatar{width:52px;height:52px;font-family:var(--font-display);color:#1a1400;background:var(--grad-do);border-radius:50%;flex:0 0 52px;justify-content:center;align-items:center;font-size:22px;font-weight:800;display:flex}.settings-hub-header-body{min-width:0}.settings-hub-stat{margin-top:4px}.settings-group{padding:2px 4px}.settings-row{border-radius:var(--radius-sm);min-height:52px;color:inherit;border-bottom:1px solid var(--border-soft);align-items:center;gap:12px;padding:8px 6px;text-decoration:none;display:flex}.settings-row:last-child{border-bottom:none}a.settings-row:active{background:var(--bg-hover)}.settings-row--static{cursor:default}.settings-row-icon{background:color-mix(in srgb, var(--do-1) 18%, var(--s1));width:32px;height:32px;color:var(--do-2);border-radius:9px;flex:0 0 32px;justify-content:center;align-items:center;display:flex}.settings-row-body{flex-direction:column;flex:1;gap:1px;min-width:0;display:flex}.settings-row-title{font-size:15px;font-weight:600}.settings-row-summary{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.settings-row-summary--accent{color:var(--do-2);font-weight:600}.settings-row-chevron{color:var(--text-dim);flex:none}.settings-unit-toggle{background:var(--s1);border-radius:var(--radius-chip);flex:none;gap:3px;padding:3px;display:flex}.settings-unit-toggle button{border-radius:var(--radius-chip);cursor:pointer;min-width:40px;min-height:32px;font-family:var(--font);color:var(--text-muted);background:0 0;border:none;padding:0 12px;font-size:12px;font-weight:700}.settings-unit-toggle button.selected{background:var(--grad-do);color:#1a1400}.settings-signout{text-align:center;width:100%;color:var(--danger);cursor:pointer;font-size:15px;font-weight:700;font-family:var(--font);background:0 0;border:none;min-height:44px;padding:16px 0 6px;display:block}.settings-signout:active{opacity:.7}.settings-version{text-align:center;color:var(--text-dim);margin:4px 0 8px;font-size:12px}.settings-subpage-header{z-index:40;background:var(--s4);-webkit-backdrop-filter:blur(20px);align-items:center;gap:4px;margin:-16px -16px 16px;padding:8px 16px;display:flex;position:sticky;top:0;box-shadow:inset 0 -1px #ffffff0f}.settings-subpage-back{border-radius:var(--radius-sm);width:40px;height:40px;color:var(--text);cursor:pointer;background:0 0;border:none;flex:none;justify-content:center;align-items:center;display:inline-flex}.settings-subpage-back:active{transform:scale(.94)}.settings-subpage-title{font-size:17px;font-weight:800}.eq-hero-title{margin-bottom:4px;font-size:17px;font-weight:800}.eq-hero-summary{margin-top:10px}.eq-nudge-line{color:var(--do-2);justify-content:space-between;align-items:center;gap:10px;margin-bottom:10px;padding:8px 4px;font-size:12.5px;line-height:1.4;display:flex}.eq-nudge-dismiss{width:28px;height:28px;color:var(--text-dim);cursor:pointer;background:0 0;border:none;border-radius:50%;flex:none;justify-content:center;align-items:center;display:inline-flex}.eq-nudge-dismiss:hover{color:var(--text)}.eq-group{border-bottom:1px solid var(--border-soft)}.eq-group:last-child{border-bottom:none}.eq-group-header{cursor:pointer;width:100%;min-height:52px;color:var(--text);font-family:var(--font);text-align:left;background:0 0;border:none;justify-content:space-between;align-items:center;gap:8px;padding:10px 6px;display:flex}.eq-group-header-label{font-size:15px;font-weight:700}.eq-group-header-count{font-weight:500}.eq-group-chevron{color:var(--text-dim);flex:none;transition:transform .15s}.eq-group-chevron.open{transform:rotate(180deg)}.eq-group-content{flex-direction:column;gap:10px;padding:0 6px 16px;display:flex}.eq-sticky-save{left:0;right:0;bottom:var(--tabbar-h);z-index:55;padding:10px 16px calc(10px + env(safe-area-inset-bottom));background:var(--s4);-webkit-backdrop-filter:blur(20px);justify-content:center;display:flex;position:fixed;box-shadow:inset 0 1px #ffffff0f,0 -12px 28px -18px #000c}.eq-sticky-save-inner{width:100%;max-width:720px}.hero-streak-line{margin-top:10px}.hero-slim-row{border-radius:var(--radius-sm);cursor:pointer;background:#0000002e;justify-content:space-between;align-items:center;gap:10px;min-height:44px;margin-top:10px;padding:10px 12px;font-size:13px;font-weight:600;display:flex}.hero-slim-row:active{transform:scale(.99)}.hero-slim-row-text{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.hero-briefing-text{color:var(--do-2)}.hero-slim-row-arrow{color:var(--text-muted);flex:none}.today-tiles-section{margin-top:20px}.today-tiles-row{grid-template-columns:repeat(2,1fr);gap:10px;margin-bottom:20px;display:grid}.today-tile{text-align:center;aspect-ratio:1.3;background:var(--s2);border-radius:var(--radius);box-shadow:var(--shadow-card);color:var(--text);cursor:pointer;font-family:var(--font);border:none;flex-direction:column;justify-content:center;align-items:center;gap:6px;padding:14px 10px;transition:transform .12s;display:flex}.today-tile:active{transform:scale(.97)}.today-tile-icon{color:var(--do-1)}.today-tile-title{font-size:13px;font-weight:700}.today-tile-status{color:var(--text-muted);text-overflow:ellipsis;white-space:nowrap;max-width:100%;font-size:12px;overflow:hidden}.today-sheet-header{justify-content:space-between;align-items:center;margin-bottom:12px;display:flex}.week-review-line{cursor:pointer;color:var(--text-muted);justify-content:space-between;align-items:center;margin-top:20px;padding:4px 2px;font-size:13px;font-weight:600;display:flex}.week-review-line:hover{color:var(--text)}.chip-warn{background:color-mix(in srgb, var(--warning) 16%, var(--bg-hover));border-color:color-mix(in srgb, var(--warning) 45%, var(--border));min-height:32px;color:var(--warning);padding:6px 12px;font-size:12px}.chip-warn:hover{background:color-mix(in srgb, var(--warning) 26%, var(--bg-hover))}.tv-exercise{justify-content:space-between;align-items:baseline;gap:16px;display:flex}.tv-exercise-name{flex:1;min-width:0}.tv-exercise-target{white-space:nowrap;text-align:right;flex:none}
