:root{color-scheme:light dark;--font: "Noto Sans KR", -apple-system, BlinkMacSystemFont, "Apple SD Gothic Neo", system-ui, sans-serif;--font-num: "Barlow Condensed", "Noto Sans KR", sans-serif;--t-xs: .8125rem;--t-sm: .875rem;--t-md: .9375rem;--t-lg: 1.125rem;--t-xl: 1.5rem;--t-2xl: 2rem;--t-stat: 2.75rem;--t-title: 2.5rem;--t-logo: 4.125rem;--t-cd: 8.25rem;--t-3xl: var(--t-stat);--t-display: var(--t-title);--t-hero: var(--t-logo);--t-huge: var(--t-cd);--s-1: 4px;--s-2: 8px;--s-3: 12px;--s-4: 16px;--s-5: 20px;--s-6: 24px;--s-8: 32px;--s-10: 40px;--r-sm: 6px;--r-md: 10px;--r-lg: 10px;--r-xl: 16px;--r-full: 999px;--tap: 44px;--tabbar-h: 54px;--ease-out: cubic-bezier(.22, 1, .36, 1);--ease-pop: cubic-bezier(.34, 1.4, .64, 1);--dur-fast: .14s;--dur: .22s;--dur-slow: .4s;--shake: 0px}:root{--bg: #ffffff;--surface: #ffffff;--surface-2: #edf5f3;--line: #d5e0dd;--text: #09090b;--text-dim: #5a6169;--accent: #ffd60a;--on-accent: #16130a;--accent-text: #8a6200;--mint: #12c4b0;--on-mint: #052622;--mint-text: #0a7d72;--hot: #c3350f;--on-hot: #ffffff;--danger: #b32720;--success: #14663f}@media(prefers-color-scheme:dark){:root:not([data-theme=light]){--bg: #000000;--surface: #0b1010;--surface-2: #101a19;--line: #26302f;--text: #fafafa;--text-dim: #8f959d;--accent: #ffd60a;--on-accent: #16130a;--accent-text: #ffd60a;--mint: #2ed3b7;--on-mint: #04211d;--mint-text: #2ed3b7;--hot: #ff5a2b;--on-hot: #1a0a03;--danger: #ff7a6b;--success: #4ade80}}:root[data-theme=dark]{--bg: #000000;--surface: #0b1010;--surface-2: #101a19;--line: #26302f;--text: #fafafa;--text-dim: #8f959d;--accent: #ffd60a;--on-accent: #16130a;--accent-text: #ffd60a;--mint: #2ed3b7;--on-mint: #04211d;--mint-text: #2ed3b7;--hot: #ff5a2b;--on-hot: #1a0a03;--danger: #ff7a6b;--success: #4ade80}:root{--overlay: rgba(8, 12, 16, .62);--shadow: 0 6px 20px rgba(16, 30, 40, .16)}@media(prefers-color-scheme:dark){:root:not([data-theme=light]){--shadow: 0 6px 20px rgba(0, 0, 0, .5)}}:root[data-theme=dark]{--shadow: 0 6px 20px rgba(0, 0, 0, .5)}:root{--card: var(--surface);--ink: var(--text);--muted: var(--text-dim);--fire: var(--hot);--volt: var(--accent);--cool: var(--mint-text)}*,*:before,*:after{box-sizing:border-box}*{-webkit-tap-highlight-color:transparent}html{overflow-x:clip;-webkit-text-size-adjust:100%}html,body{height:100%}body{margin:0;min-height:100dvh;background:var(--bg);color:var(--text);font-family:var(--font);font-size:var(--t-md);line-height:1.5;overflow:hidden;display:flex;justify-content:center;-webkit-font-smoothing:antialiased}button,.mute-btn,.lang-btn,.week-day,.cal-day,.eyebrow,.hud{user-select:none;-webkit-user-select:none}[hidden]{display:none!important}h1,h2,h3,h4,p,ul,ol{margin:0}ul,ol{padding:0;list-style:none}img{max-width:100%;display:block}button{font:inherit;color:inherit;border:none;background:none;cursor:pointer}:focus-visible{outline:3px solid var(--mint);outline-offset:2px;border-radius:var(--r-sm)}#app{position:relative;z-index:1;width:100%;max-width:480px;height:100dvh;display:flex;flex-direction:column;transform:translate(var(--shake))}.screen{position:absolute;inset:0;z-index:1;display:flex;flex-direction:column;gap:var(--s-4);padding:calc(var(--s-6) + env(safe-area-inset-top)) calc(var(--s-5) + env(safe-area-inset-right)) calc(var(--s-8) + var(--tabbar-h) + env(safe-area-inset-bottom)) calc(var(--s-5) + env(safe-area-inset-left));overflow-y:auto;overflow-x:hidden;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;opacity:0;pointer-events:none;transform:translate(10px);transition:opacity var(--dur) var(--ease-out),transform var(--dur) var(--ease-out)}.screen.active{opacity:1;pointer-events:auto;transform:none}#countdown-screen,#game-screen,#wod-preview-screen,#warmup-screen{justify-content:center;align-items:center}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--line);border-radius:var(--r-full);border:2px solid transparent;background-clip:padding-box}@supports not selector(::-webkit-scrollbar){*{scrollbar-width:thin;scrollbar-color:var(--line) transparent}}@media(prefers-reduced-motion:reduce){.confetti-layer,.flash-overlay{display:none}#app{transform:none}.screen{transition:none;transform:none}.clear-banner,.boss-banner,.bonus-banner,.pr-badge{animation:none}}body.immersive .screen{padding-bottom:calc(var(--s-6) + env(safe-area-inset-bottom))}.eyebrow{font-family:var(--font-num);font-size:var(--t-xs);font-weight:600;letter-spacing:.16em;text-transform:uppercase;color:var(--text-dim)}.lb-title,.big{font-size:var(--t-display);font-weight:700;line-height:1.02;letter-spacing:-.03em;color:var(--text)}.eyebrow+.lb-title{margin-top:calc(var(--s-2) * -1)}.section-label{font-size:var(--t-sm);font-weight:700;color:var(--text-dim)}.tagline,.sub{font-size:var(--t-sm);color:var(--text-dim)}.hero-line{font-size:var(--t-xl);font-weight:700;letter-spacing:-.02em;color:var(--text)}.primary{display:flex;align-items:center;justify-content:center;width:100%;min-height:60px;padding:var(--s-4) var(--s-6);border:none;border-radius:var(--r-full);background:var(--accent);color:var(--on-accent);font-size:var(--t-lg);font-weight:700;letter-spacing:-.01em;transition:transform var(--dur-fast) var(--ease-out),opacity var(--dur-fast) linear}.primary:active{transform:scale(.972)}.btn-restart,.mode-btn,.quiz-btn,.repeat-chip,.save-routine-btn,.jump-to-injury-btn,.install-action-btn,.auth-tab{display:inline-flex;align-items:center;justify-content:center;gap:var(--s-2);min-height:var(--tap);padding:var(--s-3) var(--s-4);border:1px solid var(--line);border-radius:var(--r-md);background:transparent;color:var(--text);font-size:var(--t-md);font-weight:600;transition:transform var(--dur-fast) var(--ease-out),background var(--dur-fast) linear}.btn-restart:active,.mode-btn:active,.quiz-btn:active,.repeat-chip:active,.save-routine-btn:active,.jump-to-injury-btn:active,.install-action-btn:active{transform:scale(.98);background:var(--surface-2)}.btn-restart,.save-routine-btn{width:100%}.mode-btn{flex:1}.quiz-btn{width:100%;justify-content:flex-start;min-height:58px;text-align:left}.repeat-chip{border-radius:var(--r-full);font-size:var(--t-sm)}.repeat-chip{width:100%}.jump-to-injury-btn{width:100%;color:var(--mint-text);border-color:var(--mint-text)}.auth-tab{flex:1;border-radius:var(--r-full)}.install-action-btn{min-height:38px;border-radius:var(--r-full);font-size:var(--t-sm)}.auth-tab.active{background:var(--accent);color:var(--on-accent);border-color:var(--accent)}.link-btn,.back-link-btn,.btn-home{display:inline-flex;align-items:center;justify-content:center;gap:var(--s-2);min-height:var(--tap);padding:var(--s-2) var(--s-3);background:none;border:none;color:var(--text-dim);font-size:var(--t-sm);font-weight:500}.btn-home{width:100%}.back-link-btn{align-self:flex-start;padding-left:0}.link-btn:active,.back-link-btn:active,.btn-home:active{color:var(--text)}.menu-box,.settings-list,.lb-list{display:flex;flex-direction:column;border-top:1px solid var(--line)}.menu-btn,.settings-row,.routine-row{display:flex;align-items:center;gap:var(--s-3);min-height:56px;padding:var(--s-3) 0;border:none;border-bottom:1px solid var(--line);border-radius:0;background:none;color:var(--text);font-size:var(--t-md);font-weight:500;text-align:left}.settings-row{position:relative;justify-content:space-between}.settings-group{display:flex;flex-direction:column;gap:var(--s-2)}.settings-foot{text-align:center}.settings-link{width:100%;cursor:pointer}.settings-val{flex:none;font-size:var(--t-md);font-weight:600;color:var(--text-dim)}.settings-danger .row-t{color:var(--danger)}.profile-card{display:flex;align-items:center;gap:var(--s-3);padding:14px}.profile-avatar{display:flex;align-items:center;justify-content:center;width:48px;height:48px;flex:none;border-radius:var(--r-full);background:var(--surface-2);font-family:var(--font-num);font-size:var(--t-lg);font-weight:700}.profile-name{display:block;font-size:var(--t-md);font-weight:700;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.profile-login{min-height:52px;font-size:var(--t-md)}.menu-btn:after{content:"";margin-left:auto;width:7px;height:7px;border-right:1.6px solid var(--text-dim);border-top:1.6px solid var(--text-dim);transform:rotate(45deg)}.menu-btn:active,.settings-row:active{background:var(--surface-2)}.routine-row>span{flex:1;min-width:0}.routine-row button{min-height:var(--tap);min-width:var(--tap);padding:0 var(--s-2);font-size:var(--t-sm);font-weight:500;color:var(--text-dim)}.routine-row button.danger{color:var(--danger)}.lb-empty,.search-empty{padding:var(--s-8) 0;color:var(--text-dim);font-size:var(--t-sm)}.mode-card,.one-min-panel,.calendar-card,.injury-accordion,.daily-challenge-card{padding:var(--s-4);border-radius:var(--r-lg);background:var(--surface-2)}.setup-card,.mode-card{display:flex;flex-direction:column;gap:var(--s-3)}.mode-card-title{font-size:var(--t-sm);font-weight:700;color:var(--text-dim)}.mode-card-divider{height:1px;background:var(--line);border:none;margin:var(--s-1) 0}.mode-grid,.auth-tabs{display:flex;gap:var(--s-2)}.mode-grid>*{flex:1}.one-min-panel{display:flex;flex-direction:column;gap:var(--s-3);animation:panelReveal var(--dur) var(--ease-out)}@keyframes panelReveal{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}.nickname-input,.auth-input,.search-input,.routine-name-input,.weight-input-row input{width:100%;min-height:var(--tap);padding:var(--s-3) 0;background:none;border:none;border-bottom:1px solid var(--line);border-radius:0;color:var(--text);font:inherit;font-size:var(--t-lg)}.custom-duration-input{width:84px;min-height:var(--tap);padding:var(--s-2);text-align:center;background:var(--surface-2);border:1px solid var(--line);border-radius:var(--r-md);color:var(--text);font:inherit}.nickname-input::placeholder,.auth-input::placeholder,.search-input::placeholder,.ex-search-input::placeholder,.routine-name-input::placeholder,.weight-input-row input::placeholder{color:var(--text-dim)}.nickname-input:focus,.auth-input:focus,.search-input:focus,.routine-name-input:focus,.custom-duration-input:focus,.weight-input-row input:focus{outline:none;border-color:var(--text)}.nickname-hint,.duration-hint,.set-note,.xp-bottle-hint,.recovery-note{font-size:var(--t-sm);color:var(--text-dim)}.weight-input-row,.save-routine-row,.custom-toggle,.warmup-toggle{display:flex;align-items:center;gap:var(--s-3)}.weight-input-row>span{flex:none;white-space:nowrap;color:var(--text-dim);font-size:var(--t-sm)}.weight-input-row input{flex:0 1 110px;min-width:0}.custom-toggle{justify-content:space-between;min-height:56px;padding:var(--s-2) 0;border-bottom:1px solid var(--line);font-size:var(--t-md);cursor:pointer}.custom-toggle input[type=checkbox]{width:22px;height:22px;flex:none;accent-color:var(--mint)}.warmup-toggle{position:relative;padding:var(--s-3) 14px;cursor:pointer}.warmup-toggle .sw-input{right:14px}.sw-input{position:absolute;right:0;top:50%;width:52px;height:32px;margin:-16px 0 0;opacity:0;cursor:pointer}.sw-input:checked+.sw{background:var(--mint)}.sw-input:checked+.sw i{transform:translate(20px)}.sw-input:focus-visible+.sw{outline:3px solid var(--mint);outline-offset:2px}.warmup-toggle .sw{margin-left:auto}.save-routine-row{flex-wrap:wrap}.save-routine-msg{font-size:var(--t-sm);color:var(--success)}.auth-form{display:flex;flex-direction:column;gap:var(--s-4)}.auth-error{font-size:var(--t-sm);color:var(--danger);min-height:1.4em}.account-badge{font-size:var(--t-md);color:var(--text-dim)}.account-badge b{color:var(--text);font-weight:700}.or-divider{display:flex;align-items:center;gap:var(--s-3);color:var(--text-dim);font-size:var(--t-xs);letter-spacing:.1em;text-transform:uppercase}.or-divider:before,.or-divider:after{content:"";flex:1;height:1px;background:var(--line)}.comeback-banner,.weekend-banner,.challenge-invite,.install-banner,.result-recovery-tip{display:flex;flex-direction:column;gap:var(--s-2);padding:var(--s-2) 0 var(--s-2) var(--s-4);border-left:2px solid var(--accent);font-size:var(--t-sm);color:var(--text-dim);text-align:left}.comeback-banner{border-left-color:var(--mint)}.challenge-invite{border-left-color:var(--hot)}.result-recovery-tip{border-left-color:var(--mint)}.comeback-banner b,.result-recovery-tip b{color:var(--text);font-weight:700}.ci-title{font-weight:700;font-size:var(--t-md);color:var(--text)}.challenge-invite button{align-self:flex-start;min-height:var(--tap);padding:0 var(--s-4);border-radius:var(--r-full);background:var(--hot);color:var(--on-hot);font-weight:700}.install-banner-main{display:flex;align-items:center;gap:var(--s-3)}.install-banner-text{flex:1;min-width:0;color:var(--text)}.install-banner-detail{font-size:var(--t-xs)}.install-dismiss-btn{display:flex;align-items:center;justify-content:center;width:var(--tap);height:var(--tap);flex:none;border-radius:var(--r-full);color:var(--text-dim)}.daily-challenge-card{display:flex;align-items:center;gap:var(--s-3)}.daily-challenge-card.done{opacity:.6}.dc-text{flex:1;min-width:0}.dc-title{font-weight:700}.dc-sub{font-size:var(--t-sm);color:var(--text-dim)}.mute-btn,.lang-btn,.pause-btn,.video-lightbox-close{position:absolute;top:calc(var(--s-3) + env(safe-area-inset-top));z-index:4;display:flex;align-items:center;justify-content:center;width:var(--tap);height:var(--tap);border:none;border-radius:var(--r-full);background:none;color:var(--text);cursor:pointer}.home-top .mute-btn,.home-top .lang-btn{position:static;top:auto;left:auto}.mute-btn{left:calc(var(--s-3) + env(safe-area-inset-left))}.lang-btn{left:calc(var(--s-3) + var(--tap) + env(safe-area-inset-left));width:auto;min-width:var(--tap);padding:0 var(--s-2);font-size:var(--t-xs);font-weight:700;letter-spacing:.08em;color:var(--text-dim)}.pause-btn,.video-lightbox-close{right:calc(var(--s-3) + env(safe-area-inset-right))}.mute-btn:active,.lang-btn:active,.pause-btn:active{background:var(--surface-2)}.pause-overlay,.video-lightbox,.inapp-banner{position:fixed;inset:0;z-index:20;display:none;flex-direction:column;align-items:center;justify-content:center;gap:var(--s-4);padding:var(--s-6);background:var(--overlay);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}.pause-overlay.on,.video-lightbox.on,.inapp-banner.on{display:flex}#pause-overlay{gap:14px;padding:0 28px;background:color-mix(in oklch,var(--bg) 88%,transparent);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);animation:qfFade var(--dur) var(--ease-out)}@keyframes qfFade{0%{opacity:0}to{opacity:1}}#pause-overlay .pause-title{margin-bottom:10px}#pause-overlay .primary,#pause-overlay .sec2{max-width:340px}.pause-box,.inapp-box{width:100%;max-width:340px;display:flex;flex-direction:column;gap:var(--s-4);padding:var(--s-6);border-radius:var(--r-lg);background:var(--bg);text-align:center}.pause-title,.inapp-title{font-size:var(--t-xl);font-weight:800;letter-spacing:-.02em}.inapp-text{font-size:var(--t-md);color:var(--text-dim)}.inapp-hint{font-size:var(--t-sm);color:var(--text-dim)}.inapp-hint b{color:var(--text)}.login-prompt-text{font-size:var(--t-md);color:var(--text-dim)}.flash-overlay{position:fixed;inset:0;z-index:15;pointer-events:none;opacity:0;background:var(--accent);mix-blend-mode:screen}.confetti-layer{position:fixed;inset:0;z-index:16;pointer-events:none;overflow:hidden}.confetti-piece{position:absolute;width:7px;height:12px;border-radius:1px;animation:confettiFall 2.4s linear forwards}@keyframes confettiFall{to{transform:translateY(110vh) rotate(720deg);opacity:0}}.ci-sub{font-size:var(--t-sm);color:var(--text-dim)}.tabbar{position:absolute;left:0;right:0;bottom:0;z-index:10;display:flex;background:var(--bg);border-top:1px solid var(--line);padding-bottom:env(safe-area-inset-bottom);transition:transform var(--dur) var(--ease-out),opacity var(--dur) linear}body.immersive .tabbar{transform:translateY(100%);opacity:0;pointer-events:none}.tab{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;min-height:54px;padding:var(--s-2) var(--s-1);color:var(--text-dim);background:none;border:none}.tab-icon{display:flex}.tab-label{font-size:var(--t-xs);font-weight:500}.tab.on{color:var(--accent-text);font-weight:700}.tab{position:relative}.tab:active{background:var(--surface-2)}.sheet-backdrop{position:fixed;inset:0;z-index:30;background:var(--overlay);opacity:0;pointer-events:none;transition:opacity var(--dur) linear}.sheet-backdrop.on{opacity:1;pointer-events:auto}.sheet{position:fixed;left:0;right:0;bottom:0;z-index:31;display:flex;flex-direction:column;gap:var(--s-3);max-height:82%;padding:var(--s-2) var(--s-5) calc(var(--s-6) + env(safe-area-inset-bottom));border-radius:var(--r-lg) var(--r-lg) 0 0;background:var(--bg);border-top:1px solid var(--line);transform:translateY(100%);transition:transform var(--dur) var(--ease-out);touch-action:pan-y}.sheet.on{transform:none}.sheet-grab{align-self:center;width:36px;height:4px;margin:var(--s-1) 0 var(--s-2);border-radius:var(--r-full);background:var(--line)}.sheet-title{font-size:var(--t-xl);font-weight:700;letter-spacing:-.02em;color:var(--text)}.sheet-body{overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch}.sheet-body .one-min-panel{padding:0;background:none;border-radius:0;animation:none;gap:var(--s-3)}body.sheet-open .screen{overflow:hidden}.game-top-row .mute-btn,.game-top-row .pause-btn{position:static;top:auto;left:auto;right:auto}.custom-duration-input.out-of-range{border-color:var(--danger);color:var(--danger)}.range-note{display:block;font-size:var(--t-xs);color:var(--danger);line-height:1.4}.range-note:empty{display:none}.empty-state{display:flex;flex-direction:column;gap:var(--s-5);padding:var(--s-8) 0}.empty-line{font-size:var(--t-lg);line-height:1.5;color:var(--text-dim)}.search-empty{grid-column:1 / -1}.clear-filter{min-height:var(--tap);padding:0 var(--s-2);color:var(--mint-text);font-size:var(--t-sm);font-weight:600;text-decoration:underline;text-underline-offset:3px}.primary:disabled{opacity:.4;pointer-events:none}.hd{position:relative;display:flex;align-items:center;gap:var(--s-1);flex:none;height:52px;margin:0 0 var(--s-2) calc(var(--s-3) * -1)}.hd-back{display:flex;align-items:center;justify-content:center;width:var(--tap);height:var(--tap);flex:none;border-radius:var(--r-full);color:var(--text)}.hd-back:active{background:var(--surface-2)}.hd-title{flex:1;min-width:0;font-size:var(--t-md);font-weight:700;letter-spacing:-.01em;color:var(--text)}.icb{display:flex;align-items:center;justify-content:center;width:var(--tap);height:var(--tap);flex:none;padding:0;border:none;border-radius:var(--r-full);background:none;color:var(--text)}.icb:active{background:var(--surface-2)}.txtb{min-height:var(--tap);padding:0 var(--s-3);border:none;background:none;font-size:var(--t-sm);font-weight:600;color:var(--accent-text)}.txtb:active{text-decoration:underline}.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-md)}button.card{color:var(--text)}button.card:active{background:var(--surface-2)}.tile{background:var(--surface-2);border-radius:var(--r-md);padding:var(--s-3)}.dim{font-size:var(--t-xs);line-height:1.5;font-weight:400;color:var(--text-dim)}.row44{display:flex;align-items:center;gap:var(--s-3);width:100%;min-height:56px;text-align:left}.sec2{display:flex;align-items:center;justify-content:center;gap:var(--s-2);width:100%;height:52px;border-radius:var(--r-full);border:1px solid var(--line);background:var(--surface);color:var(--text);font-size:var(--t-md);font-weight:600;transition:background var(--dur-fast) var(--ease-out)}.sec2:active{transform:scale(.98);background:var(--surface-2)}.sec2-danger{border-color:var(--danger);color:var(--danger)}.sw{position:relative;width:52px;height:32px;flex:none;border-radius:var(--r-full);background:var(--line);transition:background var(--dur) var(--ease-out)}.sw i{position:absolute;top:3px;left:3px;width:26px;height:26px;border-radius:var(--r-full);background:#fff;box-shadow:0 1px 3px #0000004d;transition:transform var(--dur) var(--ease-pop)}.sw[data-on="1"]{background:var(--mint)}.sw[data-on="1"] i{transform:translate(20px)}.sheet-head{display:flex;align-items:center;justify-content:space-between;gap:var(--s-2)}.sheet-head .icb{margin-right:calc(var(--s-2) * -1)}.sheet-note{margin:0}.sheet-rows{display:flex;flex-direction:column;gap:var(--s-2)}.sheet-rows .row44{padding:14px;border-radius:var(--r-md)}.row-ic{display:flex;align-items:center;justify-content:center;width:40px;height:40px;flex:none;border-radius:var(--r-md);background:var(--surface-2);color:var(--text)}.row-main{flex:1;min-width:0}.row-t{display:block;font-size:var(--t-md);font-weight:700}.row-d{display:block;margin-top:2px;font-size:var(--t-xs);line-height:1.5;color:var(--text-dim);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.row-accent{border-radius:var(--r-md);background:var(--accent);color:var(--on-accent)}.row-accent .row-ic{background:#16130a1f;color:var(--on-accent)}.row-accent .row-d{color:var(--on-accent);opacity:.75}.row-accent:active{transform:scale(.98)}.row-mint{border-color:var(--mint)}.row-mint .row-ic{color:var(--mint-text)}.chip{display:flex;align-items:center;justify-content:center;min-width:64px;height:var(--tap);padding:0 var(--s-4);flex:none;border:1px solid var(--line);border-radius:var(--r-full);background:var(--surface);color:var(--text);font-size:var(--t-sm);font-weight:600;transition:background var(--dur-fast) var(--ease-out),border-color var(--dur-fast) var(--ease-out)}.chip[data-on="1"],.chip.active{background:var(--accent);border-color:var(--accent);color:var(--on-accent)}.chip:disabled{opacity:.4;pointer-events:none}.chip-row{display:flex;flex:none;gap:var(--s-2);overflow-x:auto;overscroll-behavior-x:contain;scrollbar-width:none;padding:3px 0;margin:-3px 0}.chip-row::-webkit-scrollbar{display:none}.inp{width:100%;height:48px;padding:0 14px;border:1px solid var(--line);border-radius:var(--r-md);background:var(--surface);color:var(--text);font:inherit;font-size:var(--t-md)}.inp::placeholder{color:var(--text-dim)}.inp:focus{outline:none;border-color:var(--mint);box-shadow:0 0 0 3px color-mix(in oklch,var(--mint) 26%,transparent)}.inp-wrap{position:relative;display:block}.inp-wrap .inp{padding-left:40px}.inp-ic{position:absolute;left:13px;top:14px;display:flex;color:var(--text-dim);pointer-events:none}.screen-foot{position:sticky;bottom:0;z-index:5;flex:none;padding:var(--s-3) 0 calc(var(--s-3) + env(safe-area-inset-bottom));border-top:1px solid var(--line);background:var(--bg)}.screen:has(>.screen-foot){padding-bottom:0}body:not(.immersive) .screen-foot{padding-bottom:calc(var(--s-3) + var(--tabbar-h) + env(safe-area-inset-bottom))}.toast{position:absolute;left:50%;bottom:calc(var(--s-8) + var(--tabbar-h) + env(safe-area-inset-bottom));z-index:60;max-width:calc(100% - var(--s-10));padding:var(--s-3) var(--s-5);border-radius:var(--r-full);background:var(--text);color:var(--bg);font-size:var(--t-sm);font-weight:600;text-align:center;opacity:0;pointer-events:none;transform:translate(-50%,14px);transition:opacity var(--dur) var(--ease-out),transform var(--dur) var(--ease-out)}.toast.on{opacity:1;transform:translate(-50%)}body.immersive .toast{bottom:calc(var(--s-8) + env(safe-area-inset-bottom))}body:has(.screen.active>.screen-foot) .toast{bottom:calc(var(--s-10) + var(--tap) + var(--tabbar-h) + env(safe-area-inset-bottom))}.hd-aside{margin-left:auto;padding-right:var(--s-2);font-size:var(--t-xs);font-weight:600;color:var(--accent-text);white-space:nowrap}#start-screen{justify-content:flex-start;gap:var(--s-5);padding-top:calc(var(--s-6) + var(--tap) + env(safe-area-inset-top))}.logo{font-family:var(--font-num);font-size:var(--t-logo);font-weight:700;line-height:.92;letter-spacing:-.03em;color:var(--text)}.logo-dot{color:var(--accent-text)}.hero{display:flex;flex-direction:column;gap:var(--s-2)}.hero-line{max-width:26ch;font-size:var(--t-md);font-weight:400;line-height:1.5;letter-spacing:0;color:var(--text-dim)}.home-top{display:flex;align-items:center;gap:var(--s-1);min-height:52px;flex:none}.home-top-gap{flex:1}.start-block{margin-top:var(--s-1);display:flex;flex-direction:column;gap:var(--s-3)}.start-note{text-align:center}.start-note:empty{display:none}.home-grid{display:grid;grid-template-columns:1fr 1fr;gap:var(--s-3)}.home-tile{display:flex;flex-direction:column;align-items:flex-start;gap:var(--s-2);min-height:88px;padding:14px;text-align:left}.home-tile-icon{display:flex;color:var(--text)}.home-tile:first-child .home-tile-icon{color:var(--mint-text)}.home-tile-label{font-size:var(--t-sm);font-weight:700}.week-card{padding:14px 12px}.week-head{display:flex;align-items:baseline;justify-content:space-between;padding:0 4px 10px}.week-title{font-size:var(--t-sm);font-weight:700}.week-strip{display:grid;grid-template-columns:repeat(7,1fr);gap:6px}.week-day{display:flex;flex-direction:column;align-items:center;gap:6px;min-width:0}.wd-label{font-size:var(--t-xs);color:var(--text-dim)}.wd-dot{display:flex;align-items:center;justify-content:center;width:100%;aspect-ratio:1;border-radius:var(--r-sm);font-size:var(--t-xs);font-weight:600;color:var(--text-dim)}.week-day.done .wd-dot{background:var(--mint);color:var(--on-mint)}.week-day.today .wd-dot{border:2px solid var(--accent);color:var(--text)}.week-day.miss .wd-dot{background:var(--surface-2);color:var(--text-dim)}.week-day.future .wd-dot{opacity:.55}.records-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--s-2)}.result-stats-grid{display:grid;grid-template-columns:1fr 1fr;gap:var(--s-3)}.record-box,.result-stat-box{display:flex;flex-direction:column;gap:2px;min-width:0}.records-grid .record-box{padding:12px 10px}.record-val,.stat-val{margin-top:var(--s-1);font-family:var(--font-num);font-variant-numeric:tabular-nums;font-size:var(--t-stat);font-weight:700;line-height:1;letter-spacing:-.04em;color:var(--text)}.records-grid .record-val{font-size:var(--t-xl)}.records-grid .record-label{font-size:var(--t-xs);word-break:keep-all}.val-sub{margin-left:var(--s-2);font-size:var(--t-sm);font-weight:500;letter-spacing:0;color:var(--text-dim);white-space:nowrap}.record-label,.stat-label{font-size:var(--t-sm);font-weight:500;color:var(--text-dim)}.best-score{padding:14px}.best-score-line{display:flex;align-items:baseline;gap:var(--s-2);margin-top:var(--s-2)}.best-score-line b{font-family:var(--font-num);font-size:var(--t-stat);font-weight:700;line-height:1;font-variant-numeric:tabular-nums}.best-score-line span{font-size:var(--t-md);font-weight:600;color:var(--text-dim)}.calendar-card{display:flex;flex-direction:column;gap:var(--s-3);padding:14px}.cal-head{display:flex;align-items:baseline;justify-content:space-between}.cal-month{font-size:var(--t-sm);font-weight:700}.calendar-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:5px}.cal-dow{text-align:center;font-size:var(--t-xs);color:var(--text-dim)}.cal-day{display:flex;align-items:center;justify-content:center;aspect-ratio:1;border-radius:var(--r-sm);font-size:var(--t-xs);font-weight:600;color:var(--text-dim)}.cal-day.empty{visibility:hidden}.cal-day.done{background:var(--mint);color:var(--on-mint);font-weight:700}.cal-day.miss{background:var(--surface-2)}.cal-day.future{opacity:.55}.cal-day.today{border:2px solid var(--accent);color:var(--text);font-weight:700}.cal-legend{display:flex;gap:var(--s-3);flex-wrap:wrap}.cal-legend>span{display:flex;align-items:center;gap:5px}.lg{width:10px;height:10px;border-radius:3px;display:inline-block;flex:none}.lg-done{background:var(--mint)}.lg-miss{background:var(--surface-2);border:1px solid var(--line)}.lg-today{border:2px solid var(--accent)}.badge-progress{display:flex;flex-direction:column;gap:var(--s-2)}.badge-row{display:flex;align-items:baseline;justify-content:space-between;gap:var(--s-3);font-size:var(--t-md);font-weight:600}.badge-row span:last-child{font-size:var(--t-sm);font-weight:400;color:var(--text-dim)}.badge-bar-track,.result-xp-track{height:4px;border-radius:var(--r-full);background:var(--surface-2);overflow:hidden}.badge-bar-fill,.result-xp-fill{height:100%;width:0;border-radius:var(--r-full);background:var(--mint);transition:width var(--dur-slow) var(--ease-out)}.neon-avatar-card,.xp-bottle-card{display:flex;align-items:center;gap:var(--s-4)}.neon-avatar{display:flex;align-items:center;justify-content:center;width:52px;height:52px;flex:none;border-radius:var(--r-full);border:1px solid var(--line);font-size:var(--t-xl);font-weight:800;color:var(--text)}.neon-avatar-label{font-size:var(--t-sm);color:var(--text-dim)}.xp-bottle{width:40px;height:76px;flex:none}.bottle-outline{fill:none;stroke:var(--line);stroke-width:3}.bottle-cap{fill:var(--text-dim)}.xp-water{fill:var(--mint);transition:y var(--dur-slow) var(--ease-out),height var(--dur-slow) var(--ease-out)}.xp-bottle-info{display:flex;flex-direction:column;gap:2px}.xp-bottle-info #xp-level-label{font-size:var(--t-xl);font-weight:800;letter-spacing:-.02em}.xp-bottle-info #xp-progress-label{font-size:var(--t-sm);color:var(--text-dim)}.xp-bottle-hint{font-size:var(--t-xs)}.achievements-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--s-4) var(--s-2)}.achv-box{display:flex;flex-direction:column;align-items:center;gap:var(--s-1);opacity:.45}.achv-box.done{opacity:1}.achv-box .achv-icon{display:flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:var(--r-full);border:1px solid var(--line)}.achv-box.done .achv-icon{background:var(--mint);border-color:transparent}.achv-box .achv-label{font-size:var(--t-xs);text-align:center;color:var(--text-dim);line-height:1.25}.recovery-intro,.injury-intro{font-size:var(--t-md);color:var(--text-dim)}#recovery-cards{display:flex;flex-direction:column;gap:var(--s-2)}.recovery-card{padding:0}.rc-tag{flex:none;padding:4px 9px;border-radius:var(--r-full);background:var(--surface-2);color:var(--text);font-size:var(--t-xs);font-weight:700}.recovery-card:first-child .rc-tag{background:var(--mint);color:var(--on-mint)}.rc-title{flex:1;font-size:var(--t-md);font-weight:700}.recovery-list{display:flex;flex-direction:column;gap:var(--s-2)}.recovery-list li,.injury-body li{position:relative;padding-left:var(--s-4);font-size:var(--t-md);color:var(--text-dim)}.recovery-list li:before,.injury-body li:before{content:"";position:absolute;left:0;top:.6em;width:4px;height:4px;border-radius:var(--r-full);background:var(--text-dim)}.recovery-list b{color:var(--text);font-weight:700}.injury-section-title{font-size:var(--t-md);font-weight:700;margin-top:var(--s-4)}#injury-list{display:flex;flex-direction:column;gap:var(--s-2)}.injury-accordion{padding:0;overflow:hidden}.injury-summary{display:flex;align-items:center;justify-content:space-between;gap:var(--s-3);min-height:56px;padding:var(--s-3) var(--s-4);font-size:var(--t-md);font-weight:600;cursor:pointer;list-style:none}.injury-summary::-webkit-details-marker{display:none}.injury-summary:after{content:"";flex:none;width:8px;height:8px;border-right:1.6px solid var(--text-dim);border-bottom:1.6px solid var(--text-dim);transform:rotate(45deg) translate(-2px,-2px);transition:transform var(--dur) var(--ease-out)}.injury-accordion.open .injury-summary:after{transform:rotate(-135deg) translate(-3px,-3px)}.injury-body{display:none;padding:0 var(--s-4) var(--s-4)}.injury-accordion.open .injury-body{display:block}.injury-body h4{font-size:var(--t-sm);font-weight:700;color:var(--text-dim);margin-top:var(--s-4)}.injury-body h4:first-child{margin-top:0}.injury-body ul{display:flex;flex-direction:column;gap:var(--s-2);margin-top:var(--s-2)}.warn-line{color:var(--hot);font-weight:600}.video-gallery-grid{display:grid;grid-template-columns:1fr 1fr;grid-auto-rows:min-content;gap:var(--s-3)}.video-clip-card{display:flex;flex-direction:column;overflow:hidden;cursor:pointer;background:var(--surface);border:1px solid var(--line);border-radius:var(--r-md)}.video-clip-card:active{transform:scale(.98)}.video-clip-shot{position:relative;flex:none}.video-clip-card video{display:block;width:100%;height:92px;object-fit:cover;background:var(--surface-2)}.video-clip-play{position:absolute;inset:0;z-index:2;display:flex;align-items:center;justify-content:center;pointer-events:none}.video-clip-play svg{width:38px;height:38px;padding:10px;border-radius:var(--r-full);background:var(--accent);color:var(--on-accent)}.video-clip-error{padding:var(--s-5) var(--s-2);text-align:center;font-size:var(--t-xs);color:var(--text-dim);background:var(--surface-2)}.video-clip-text{display:flex;flex-direction:column;gap:2px;padding:var(--s-2) var(--s-3) var(--s-3)}.video-clip-label{font-size:var(--t-sm);font-weight:700;word-break:keep-all}.video-clip-desc{font-size:var(--t-xs);color:var(--text-dim)}.video-clip-tip,.video-clip-risk{margin-top:var(--s-1);font-size:var(--t-xs);line-height:1.5;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.video-clip-tip{color:var(--mint-text)}.video-clip-risk{color:var(--hot)}.video-clip-risk:empty{display:none}.video-lightbox video{width:100%;max-width:420px;border-radius:var(--r-lg);background:#000}.video-lightbox-label{font-size:var(--t-xl);font-weight:800;color:#fff;letter-spacing:-.02em}.video-lightbox-desc{max-width:420px;font-size:var(--t-sm);color:#ffffffd1}.video-lightbox-tip,.video-lightbox-risk{max-width:420px;font-size:var(--t-sm);color:#ffd60aeb}.video-lightbox-close{color:#fff}#manual-select-screen{overflow:hidden;gap:0;padding-bottom:0}.select-tools{display:flex;flex-direction:column;gap:var(--s-3);flex:none;padding-bottom:var(--s-3)}.ex-grid{display:grid;grid-template-columns:1fr 1fr;grid-auto-rows:min-content;align-content:start;gap:var(--s-3);flex:1;min-height:0;overflow-y:auto;overscroll-behavior:contain;padding-bottom:var(--s-4)}.ex-empty{grid-column:1 / -1;align-items:center;text-align:center;gap:var(--s-3)}.ex-empty .sec2{width:auto;padding:0 var(--s-5);margin-top:var(--s-2)}.ex-card{display:flex;flex-direction:column;padding:0;overflow:hidden;text-align:left;background:var(--surface);border:1px solid var(--line);border-radius:var(--r-md);color:var(--text);transition:border-color var(--dur-fast) var(--ease-out)}.ex-card:active{transform:scale(.98)}.ex-card.checked{border:2px solid var(--accent)}.ex-card-photo{display:block;height:82px;flex:none;background:var(--surface-2)}.ex-card-photo img{width:100%;height:100%;object-fit:cover}.ex-card-head{display:flex;align-items:flex-start;gap:var(--s-2);padding:var(--s-2) var(--s-3) 0}.ex-card-name{flex:1;font-size:var(--t-sm);font-weight:700;line-height:1.3;word-break:keep-all}.ex-card-check{display:flex;align-items:center;justify-content:center;width:24px;height:24px;flex:none;border-radius:var(--r-full);border:1.5px solid var(--line);color:transparent}.ex-card-check svg{width:14px;height:14px;stroke-width:3}.ex-card.checked .ex-card-check{background:var(--accent);border-color:var(--accent);color:var(--on-accent)}.ex-card-meta{display:block;padding:var(--s-1) var(--s-3) var(--s-3)}.recovery-lead{margin-top:calc(var(--s-2) * -1);font-size:var(--t-md);line-height:1.5;color:var(--text-dim)}.recovery-warn{padding:14px;border-color:var(--danger)}.recovery-warn-t{font-size:var(--t-sm);font-weight:700;color:var(--danger)}.recovery-warn .dim{margin-top:var(--s-1)}#setup-screen{gap:var(--s-6);padding-bottom:0}.setup-summary{padding:var(--s-4);border-color:var(--mint)}.setup-summary-kick{color:var(--mint-text)}.setup-summary-nums{display:flex;align-items:baseline;gap:var(--s-1);flex-wrap:wrap;margin-top:var(--s-2)}.setup-summary-nums b{font-family:var(--font-num);font-size:var(--t-stat);font-weight:700;line-height:1}.setup-summary-nums b.narrow{font-size:var(--t-xl)}.setup-summary-nums span{font-size:var(--t-md);font-weight:600}.setup-summary-dot{padding:0 var(--s-1);opacity:.3;font-style:normal}.setup-summary .dim{margin-top:var(--s-1)}.setup-sec{display:flex;flex-direction:column;gap:var(--s-3)}.setup-sec-t{display:flex;align-items:center;gap:var(--s-2);font-size:var(--t-md);font-weight:700}.setup-sec-t i{font-family:var(--font-num);font-style:normal;font-weight:600;color:var(--text-dim)}.setup-sec .nickname-hint{margin-top:calc(var(--s-2) * -1)}.me-row{display:flex;gap:var(--s-3)}.me-field{flex:1;min-width:0;display:flex;flex-direction:column;gap:6px}.me-field-weight{flex:none;width:104px}.stepper-panel{display:flex;flex-direction:column;gap:var(--s-4)}.stepper{display:flex;align-items:center;gap:var(--s-3)}.stepper-btn{border:1px solid var(--line);border-radius:var(--r-md)}.stepper-val{flex:1;text-align:center;font-family:var(--font-num);font-size:var(--t-stat);font-weight:700;line-height:1;font-variant-numeric:tabular-nums}.save-check{justify-content:center;gap:var(--s-2);min-height:var(--tap);cursor:pointer}.save-check-t{font-size:var(--t-sm);font-weight:600}.chk-input{position:absolute;width:24px;height:24px;margin:0;opacity:0;cursor:pointer}.chk{display:flex;align-items:center;justify-content:center;width:24px;height:24px;flex:none;border-radius:var(--r-sm);border:1.5px solid var(--line);color:transparent}.chk:after{content:"✓";font-size:13px;font-weight:700;line-height:1}.chk-input:checked+.chk{background:var(--mint);border-color:var(--mint);color:var(--on-mint)}.chk-input:focus-visible+.chk{outline:3px solid var(--mint);outline-offset:2px}.quiz-progress{display:flex;flex:1;align-items:center;justify-content:center;gap:6px}.quiz-progress #quiz-skip-btn{position:absolute;right:var(--s-2)}.quiz-progress .dot{width:8px;height:8px;flex:none;border-radius:var(--r-full);background:var(--line);transition:width var(--dur) var(--ease-out),background var(--dur) var(--ease-out)}.quiz-progress .dot.active{width:20px;background:var(--accent)}.quiz-body{display:flex;flex-direction:column;gap:var(--s-2)}.quiz-step-label{color:var(--accent-text)}.quiz-title{max-width:14ch;margin-top:var(--s-1)}.quiz-sub{font-size:var(--t-md);line-height:1.5;color:var(--text-dim)}.quiz-step{display:flex;flex-direction:column;gap:var(--s-3);margin-top:var(--s-5)}.quiz-btn{padding:var(--s-4)}.quiz-opt-t{font-size:var(--t-lg)}.quiz-btn.on{border:2px solid var(--accent);padding:calc(var(--s-4) - 1px)}.radio{width:24px;height:24px;flex:none;border-radius:var(--r-full);border:1.5px solid var(--line);transition:border var(--dur-fast) var(--ease-pop)}.quiz-btn.on .radio{border:7px solid var(--accent)}.bodyparts{display:flex;flex-direction:column;gap:var(--s-3)}.bp-row{display:flex;align-items:center;gap:var(--s-3)}.bp-name{flex:none;width:3.5em;font-size:var(--t-sm);color:var(--text-dim)}.bp-track{flex:1;height:8px;border-radius:var(--r-full);background:var(--surface-2);overflow:hidden}.bp-fill{display:block;height:100%;background:var(--mint);border-radius:var(--r-full)}.bp-pct{flex:none;width:3em;text-align:right;font-family:var(--font-num);font-variant-numeric:tabular-nums;font-size:var(--t-md);font-weight:700}.dim-note{font-size:var(--t-sm);color:var(--text-dim)}.records-body{display:flex;flex-direction:column;gap:var(--s-5)}#wod-preview-screen{justify-content:flex-start;align-items:stretch;gap:var(--s-3)}.preview-warm{padding:var(--s-3);border-color:var(--mint)}.preview-warm .row-ic{color:var(--mint-text)}.preview-note{text-align:center}.wod-preview-list{display:flex;flex-direction:column;gap:var(--s-2);width:100%}.wod-preview-item{display:flex;align-items:center;gap:var(--s-3);padding:var(--s-3);font-size:var(--t-md)}.wod-preview-item .wpi-num{display:flex;align-items:center;justify-content:center;width:32px;height:32px;flex:none;border-radius:var(--r-full);background:var(--surface-2);font-family:var(--font-num);font-size:var(--t-sm);font-weight:700;color:var(--text)}.wod-preview-item .wpi-shot{width:52px;height:52px;flex:none;overflow:hidden;border-radius:var(--r-sm);background:var(--surface-2)}.wod-preview-item .wpi-shot img{width:100%;height:100%;object-fit:cover}.wod-preview-item .wpi-main{flex:1;min-width:0;text-align:left}.wod-preview-item .wpi-name{display:block;font-size:var(--t-md);font-weight:700;word-break:keep-all}.wod-preview-item .wpi-meta{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.wod-preview-item .wpi-tag{flex:none;padding:var(--s-1) 9px;border-radius:var(--r-full);border:1px solid var(--line);font-size:var(--t-xs);font-weight:700;color:var(--text-dim)}.wod-preview-item .wpi-tag.hold{background:var(--mint);border-color:var(--mint);color:var(--on-mint)}.wod-preview-item .wpi-icon{flex:none}.wod-preview-item.boss{border-color:var(--hot)}.wod-preview-item.boss .wpi-name{color:var(--hot)}.warmup-video{width:100%;max-width:400px;border-radius:var(--r-lg);background:var(--surface-2)}.warmup-video-error{font-size:var(--t-sm);color:var(--text-dim);text-align:center}#countdown-screen{justify-content:space-between;align-items:stretch}.cd-mid{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--s-2)}#countdown-num{font-family:var(--font-num);font-size:var(--t-cd);font-weight:700;line-height:.9;color:var(--accent-text);font-variant-numeric:tabular-nums}.cd-cue{font-size:var(--t-lg);font-weight:600;color:var(--text-dim)}.cd-foot{flex:none;padding-bottom:env(safe-area-inset-bottom)}@keyframes countPop{0%{transform:scale(.55);opacity:0}45%{transform:scale(1.08);opacity:1}to{transform:scale(1);opacity:1}}@media(prefers-reduced-motion:reduce){@keyframes countPop{0%{opacity:0}to{opacity:1}}}#game-screen{justify-content:flex-start;align-items:stretch;gap:0;padding:0}.gz-top{flex:none;padding-top:env(safe-area-inset-top)}.mission-timebar{width:100%;height:4px;background:var(--line);overflow:hidden}.mission-timebar-fill{height:100%;background:var(--accent);transition:width 1s linear}#game-screen.boss .mission-timebar-fill{background:var(--hot)}.hud{display:flex;align-items:center;justify-content:space-between;height:44px;padding:0 var(--s-5)}.hud-step,.hud-score{display:flex;align-items:baseline;gap:var(--s-1)}.hud-score{gap:var(--s-2)}.hud b,.score{font-family:var(--font-num);font-size:var(--t-lg);font-weight:700;line-height:1}.hud-step b{color:var(--text)}.hud-score b{color:var(--accent-text)}.hud i,.mission-count{font-size:var(--t-xs);font-style:normal;color:var(--text-dim)}.kick{font-family:var(--font-num);font-size:var(--t-xs);font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--text-dim)}.mission-zone{position:relative;flex:1;min-height:0;display:flex;flex-direction:column;justify-content:center;gap:var(--s-2);padding:0 var(--s-5)}.photo-demo-wrap{position:relative;flex:none;height:190px;max-height:34vh;border-radius:var(--r-xl);overflow:hidden;background:var(--surface-2)}.photo-demo-layer{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;opacity:0;transition:opacity .45s var(--ease-out)}.photo-demo-layer.active{opacity:1}.ex-name{margin-top:var(--s-3);font-size:var(--t-2xl);font-weight:700;letter-spacing:-.02em;line-height:1.15;word-break:keep-all;color:var(--text)}#game-screen.boss .ex-name{color:var(--hot)}.ex-target{display:flex;align-items:baseline;gap:var(--s-2)}.ex-target b{font-family:var(--font-num);font-size:var(--t-logo);font-weight:700;line-height:.95;letter-spacing:-.02em;font-variant-numeric:tabular-nums;color:var(--text)}.ex-target i{font-style:normal;font-size:var(--t-xl);font-weight:700;color:var(--text-dim)}.hold-ring{position:relative;width:132px;height:132px;flex:none}.hold-ring svg{width:100%;height:100%;transform:rotate(-90deg)}.hold-ring circle{fill:none;stroke-width:9}.hold-ring .track{stroke:var(--line)}.hold-ring .prog{stroke:var(--mint);stroke-linecap:round;transition:stroke-dashoffset 1s linear}#game-screen.boss .hold-ring .prog{stroke:var(--hot)}.hold-ring .num{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;font-family:var(--font-num);font-size:var(--t-stat);font-weight:700;line-height:1;font-variant-numeric:tabular-nums;color:var(--text)}.hold-ring .num i{font-family:var(--font);font-style:normal;font-size:var(--t-xs);font-weight:400;color:var(--text-dim)}.ex-cue{font-size:var(--t-md);line-height:1.5;color:var(--text)}.ex-warn{font-size:var(--t-xs);line-height:1.5;color:var(--hot)}.ex-warn:empty{display:none}.gz-bottom{flex:none;display:flex;align-items:center;gap:var(--s-3);padding:var(--s-3) var(--s-5) calc(var(--s-5) + env(safe-area-inset-bottom));border-top:1px solid var(--line)}.next-preview{flex:1;min-width:0;font-size:var(--t-sm);font-weight:600;color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.gz-bottom .mute-btn,.gz-bottom .pause-btn{position:static;flex:none;width:52px;height:52px;border:1px solid var(--line);border-radius:var(--r-full)}.wod-side-progress{position:absolute;top:180px;right:0;width:4px;height:300px;z-index:3;display:flex;align-items:flex-end}.wod-side-track{position:absolute;inset:0;background:var(--line)}.wod-side-fill{position:relative;width:100%;background:var(--mint);transition:height var(--dur-slow) var(--ease-out)}.wod-side-badge{position:absolute;right:0;bottom:-18px;font-family:var(--font-num);font-size:var(--t-xs);font-weight:700;color:var(--text-dim)}.wod-side-badge-q{color:var(--mint-text)}.boss-banner,.bonus-banner{flex:none;display:none;margin:var(--s-2) var(--s-5) 0;padding:10px 14px;border-radius:var(--r-md);font-size:var(--t-sm);font-weight:700;animation:pop var(--dur-slow) var(--ease-pop)}.boss-banner.on,.bonus-banner.on{display:flex;align-items:center;justify-content:space-between;gap:var(--s-3)}.boss-banner b,.bonus-banner b{font-family:var(--font-num);font-size:var(--t-lg);font-weight:700}.bonus-banner{background:var(--mint);color:var(--on-mint)}.boss-banner{background:var(--hot);color:var(--on-hot)}.clear-banner{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);z-index:3;padding:var(--s-3) var(--s-5);border-radius:var(--r-full);font-family:var(--font-num);font-size:var(--t-xl);font-weight:700;letter-spacing:.06em;white-space:nowrap;pointer-events:none;background:var(--accent);color:var(--on-accent);animation:pop var(--dur-slow) var(--ease-pop)}@keyframes pop{0%{opacity:0;transform:translate(-50%,-50%) scale(.82)}to{opacity:1;transform:translate(-50%,-50%) scale(1)}}.boss-banner,.bonus-banner{animation-name:popFlow}@keyframes popFlow{0%{opacity:0;transform:translateY(-10px) scale(.96)}to{opacity:1;transform:none}}#app.workout-mode .lang-btn{display:none}.wod-preview-item{width:100%;text-align:left}.wpi-name{flex:1;min-width:0}.wod-preview-item.has-clip{cursor:pointer}.wpi-play{flex:none;width:0;height:0;border-left:9px solid var(--mint-text);border-top:6px solid transparent;border-bottom:6px solid transparent}.wod-preview-item.has-clip:active{background:var(--surface-2)}#preview-start-btn{max-width:340px;margin-top:var(--s-4)}#result-screen{justify-content:flex-start;align-items:stretch;gap:var(--s-4)}.result-hero{display:flex;flex-direction:column;align-items:center;gap:var(--s-1);text-align:center;padding-top:var(--s-3)}.result-mark{display:flex;align-items:center;justify-content:center;width:64px;height:64px;margin-bottom:var(--s-2);border-radius:var(--r-full);background:var(--mint);color:var(--on-mint);animation:countPop var(--dur-slow) var(--ease-pop)}.result-mark svg{width:34px;height:34px;stroke-width:2.4}.result-check{color:var(--mint-text)}.result-score{font-family:var(--font-num);font-size:var(--t-logo);font-weight:700;line-height:1;letter-spacing:-.02em;font-variant-numeric:tabular-nums;color:var(--text)}.result-score-unit{font-size:var(--t-md);font-weight:600;color:var(--text-dim)}.result-sub{margin-top:var(--s-2);font-size:var(--t-md);color:var(--text-dim)}.vs-last-line{padding:var(--s-3);border-radius:var(--r-md);background:var(--surface-2);font-size:var(--t-sm);line-height:1.5;color:var(--text)}.vs-last-line b{color:var(--text);font-weight:700}.result-side{display:flex;gap:var(--s-2)}.result-side .sec2{flex:1;font-size:var(--t-sm)}.result-side .sec2 [data-icon]{display:flex}.persona-badge,.result-rank{display:inline-flex;align-items:center;align-self:flex-start;gap:var(--s-2);min-height:32px;padding:0 var(--s-3);border-radius:var(--r-full);font-size:var(--t-sm);font-weight:700}.pr-badge{display:flex;align-items:center;gap:var(--s-3);padding:var(--s-3) 14px;border-radius:var(--r-md);background:var(--accent);color:var(--on-accent);animation:prPop var(--dur-slow) var(--ease-pop)}.pr-ic{display:flex;align-items:center;justify-content:center;width:40px;height:40px;flex:none;border-radius:var(--r-full);background:#16130a24}.pr-t{display:block;font-size:var(--t-sm);font-weight:700}.pr-d{display:block;font-size:var(--t-xs);opacity:.78}.persona-badge,.result-rank{border:1px solid var(--line);color:var(--text-dim);font-weight:500}@keyframes prPop{0%{opacity:0;transform:scale(.82)}to{opacity:1;transform:scale(1)}}.result-xp-gauge{display:flex;flex-direction:column;gap:var(--s-2);padding:14px}.result-xp-label{display:flex;align-items:baseline;justify-content:space-between;gap:var(--s-3);font-size:var(--t-sm);color:var(--text-dim)}.result-xp-label #result-xp-level{font-weight:700;color:var(--text)}.result-xp-label #result-xp-gain{color:var(--mint-text);font-weight:700}.result-actions{display:flex;flex-direction:column;align-items:stretch;gap:var(--s-2);margin-top:auto;padding-top:var(--s-5)}.result-actions .txtb{text-align:center;color:var(--text-dim)}.result-recovery-tip u{text-underline-offset:3px;cursor:pointer}.figure-wrap{width:104px;height:126px;margin-bottom:0}.figure-wrap svg{width:100%;height:100%;overflow:visible}.figure-wrap .fig-part{stroke:var(--text);stroke-width:7;stroke-linecap:round;fill:none}.figure-wrap .fig-head{fill:var(--text)}#game-screen.boss .figure-wrap .fig-part{stroke:#ff6b5b}#game-screen.boss .figure-wrap .fig-head{fill:#ff6b5b}#figure-outer,#figure-group{transform-origin:50px 70px}.figure-wrap .armL,.figure-wrap .armR{transform-origin:50px 38px}.figure-wrap .legL,.figure-wrap .legR{transform-origin:50px 82px}@keyframes jsBody{0%,to{transform:translateY(0) scaleY(1)}35%{transform:translateY(14px) scaleY(.82)}60%{transform:translateY(-20px) scaleY(1.05)}}@keyframes jsLegL{0%,60%,to{transform:rotate(0)}35%{transform:rotate(-20deg)}}@keyframes jsLegR{0%,60%,to{transform:rotate(0)}35%{transform:rotate(20deg)}}@keyframes armUpL{0%,to{transform:rotate(0)}50%{transform:rotate(-45deg)}}@keyframes armUpR{0%,to{transform:rotate(0)}50%{transform:rotate(45deg)}}.anim-jumpsquat #figure-group{animation:jsBody 1s ease-in-out infinite;transform-origin:50px 118px}.anim-jumpsquat .legL{animation:jsLegL 1s ease-in-out infinite}.anim-jumpsquat .legR{animation:jsLegR 1s ease-in-out infinite}.anim-jumpsquat .armL{animation:armUpL 1s ease-in-out infinite}.anim-jumpsquat .armR{animation:armUpR 1s ease-in-out infinite}@keyframes figSquat{0%,to{transform:translateY(0)}30%,70%{transform:translateY(16px)}}@keyframes legOutL{0%,to{transform:rotate(0)}30%,70%{transform:rotate(-32deg)}}@keyframes legOutR{0%,to{transform:rotate(0)}30%,70%{transform:rotate(32deg)}}.anim-squat #figure-group{animation:figSquat 1.6s ease-in-out infinite;transform-origin:50px 118px}.anim-squat .legL{animation:legOutL 1.6s ease-in-out infinite}.anim-squat .legR{animation:legOutR 1.6s ease-in-out infinite}@keyframes runLegL{0%,to{transform:rotate(-45deg)}50%{transform:rotate(20deg)}}@keyframes runLegR{0%,to{transform:rotate(20deg)}50%{transform:rotate(-45deg)}}@keyframes runArmL{0%,to{transform:rotate(40deg)}50%{transform:rotate(-40deg)}}@keyframes runArmR{0%,to{transform:rotate(-40deg)}50%{transform:rotate(40deg)}}.anim-runinplace .armL{animation:runArmL .5s ease-in-out infinite}.anim-runinplace .armR{animation:runArmR .5s ease-in-out infinite}.anim-runinplace .legL{animation:runLegL .5s ease-in-out infinite}.anim-runinplace .legR{animation:runLegR .5s ease-in-out infinite}@keyframes lungeLegL{0%,to{transform:rotate(0)}50%{transform:rotate(-38deg)}}@keyframes lungeLegR{0%,to{transform:rotate(0)}50%{transform:rotate(38deg)}}@keyframes lungeBody{0%,to{transform:translateY(0)}50%{transform:translateY(10px)}}.anim-lunge .legL{animation:lungeLegL 1s ease-in-out infinite}.anim-lunge .legR{animation:lungeLegR 1s ease-in-out infinite reverse}.anim-lunge #figure-group{animation:lungeBody 1s ease-in-out infinite}@keyframes burpeeOuter{0%,15%{transform:rotate(-90deg)}40%,65%{transform:rotate(0)}90%,to{transform:rotate(-90deg)}}@keyframes figBurpee{0%,15%{transform:translateY(0) scaleY(1)}40%{transform:translateY(10px) scaleY(.85)}60%{transform:translateY(-20px) scaleY(1.05)}90%,to{transform:translateY(0) scaleY(1)}}@keyframes burpeeArmL{0%,40%,90%,to{transform:rotate(0)}60%{transform:rotate(-50deg)}}@keyframes burpeeArmR{0%,40%,90%,to{transform:rotate(0)}60%{transform:rotate(50deg)}}.anim-burpee #figure-outer{animation:burpeeOuter 2.2s ease-in-out infinite}.anim-burpee #figure-group{animation:figBurpee 2.2s ease-in-out infinite;transform-origin:50px 118px}.anim-burpee .armL{animation:burpeeArmL 2.2s ease-in-out infinite}.anim-burpee .armR{animation:burpeeArmR 2.2s ease-in-out infinite}@keyframes figBob{0%,to{transform:translateY(0)}50%{transform:translateY(-6px)}}@keyframes pushArmL{0%,to{transform:rotate(0)}50%{transform:rotate(16deg)}}@keyframes pushArmR{0%,to{transform:rotate(0)}50%{transform:rotate(-16deg)}}.anim-pushup #figure-outer{transform:rotate(-90deg)}.anim-pushup #figure-group{animation:figBob .8s ease-in-out infinite}.anim-pushup .armL{animation:pushArmL .8s ease-in-out infinite}.anim-pushup .armR{animation:pushArmR .8s ease-in-out infinite}@keyframes figTremor{0%,to{transform:translate(0)}25%{transform:translate(.6px,-.5px)}50%{transform:translate(-.5px,.5px)}75%{transform:translate(.4px,.3px)}}.anim-plank #figure-outer{transform:rotate(-90deg)}.anim-plank #figure-group{animation:figTremor .22s linear infinite}.anim-legraise #figure-outer{transform:rotate(-90deg)}@keyframes hipLift{0%,to{transform:translateY(0)}50%{transform:translateY(-11px)}}@keyframes hipLegL{0%,to{transform:rotate(0)}50%{transform:rotate(-12deg)}}@keyframes hipLegR{0%,to{transform:rotate(0)}50%{transform:rotate(12deg)}}.anim-hipbridge #figure-outer{transform:rotate(-90deg)}.anim-hipbridge #figure-group{animation:hipLift 1s ease-in-out infinite}.anim-hipbridge .legL{animation:hipLegL 1s ease-in-out infinite}.anim-hipbridge .legR{animation:hipLegR 1s ease-in-out infinite}@keyframes crunchBody{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}@keyframes crunchLegL{0%,to{transform:rotate(-20deg)}}@keyframes crunchLegR{0%,to{transform:rotate(20deg)}}.anim-crunch #figure-outer{transform:rotate(-90deg)}.anim-crunch #figure-group{animation:crunchBody .8s ease-in-out infinite}.anim-crunch .legL{animation:crunchLegL 0s linear forwards}.anim-crunch .legR{animation:crunchLegR 0s linear forwards}@keyframes crawlArmL{0%,50%,to{transform:rotate(0)}25%{transform:rotate(-38deg)}}@keyframes crawlArmR{0%,50%,to{transform:rotate(0)}75%{transform:rotate(38deg)}}@keyframes crawlBody{0%,to{transform:translate(0)}50%{transform:translate(5px)}}.anim-armycrawl #figure-outer{transform:rotate(-90deg)}.anim-armycrawl #figure-group{animation:crawlBody 1.4s ease-in-out infinite}.anim-armycrawl .armL{animation:crawlArmL 1.4s ease-in-out infinite}.anim-armycrawl .armR{animation:crawlArmR 1.4s ease-in-out infinite}@keyframes pikeBob{0%,to{transform:translateY(0)}50%{transform:translateY(8px)}}.anim-pikepushup #figure-outer{transform:rotate(-58deg)}.anim-pikepushup #figure-group{animation:pikeBob 1s ease-in-out infinite}.anim-pikepushup .armL{animation:pushArmL 1s ease-in-out infinite}.anim-pikepushup .armR{animation:pushArmR 1s ease-in-out infinite}
