:root{color-scheme:dark;font-family:Inter,Pretendard,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-synthesis:none;text-rendering:optimizeLegibility;--safe-area-top: env(safe-area-inset-top, 0px);--safe-area-right: env(safe-area-inset-right, 0px);--safe-area-bottom: env(safe-area-inset-bottom, 0px);--safe-area-left: env(safe-area-inset-left, 0px);--game-navigation-overlay-height: 0px;--monetization-banner-height: 96px;--game-control-edge: 16px;--game-control-bottom: 22px;--ball-camera-size: 116px;--icon-column-width: 56px;--direction-control-width: 128px;--direction-control-height: 84px;--direction-button-size: 40px;--panel: rgba(7, 13, 28, .76);--panel-solid: #0d172c;--panel-border: rgba(147, 197, 253, .2);--text: #f8fafc;--muted: #9ca9c2;--cyan: #67e8f9;--blue: #3b82f6;--lime: #bef264;--danger: #fda4af}*{box-sizing:border-box}html,body{width:100%;height:100%;margin:0;overflow:hidden;background:#050816;overscroll-behavior:none}button{border:0;color:inherit;font:inherit;-webkit-tap-highlight-color:transparent}button:focus-visible,summary:focus-visible{outline:3px solid var(--cyan);outline-offset:3px}button:disabled{cursor:not-allowed;opacity:.42}[hidden]{display:none!important}#game{position:fixed;inset:calc(var(--safe-area-top) + var(--game-navigation-overlay-height)) var(--safe-area-right) var(--safe-area-bottom) var(--safe-area-left);min-width:0;min-height:0;background:radial-gradient(circle at 50% 0%,rgba(37,99,235,.2),transparent 42%),#050816}body.monetization-banner-visible #game{bottom:calc(var(--safe-area-bottom) + var(--monetization-banner-height))}body.monetization-banner-visible .game-dialog{margin-bottom:calc(var(--safe-area-bottom) + var(--monetization-banner-height))}body.monetization-banner-visible .game-dialog::backdrop{bottom:calc(var(--safe-area-bottom) + var(--monetization-banner-height))}body.monetization-banner-visible .store-sheet{height:calc(100% - var(--safe-area-bottom) - var(--monetization-banner-height));margin-top:0;margin-bottom:auto;padding-bottom:14px}#game-canvas{display:block;width:100%;height:100%;touch-action:none}.home-screen{position:absolute;inset:0;z-index:60;display:flex;align-items:center;justify-content:center;overflow:auto;padding:32px 18px;background:radial-gradient(circle at 50% 15%,rgba(8,145,178,.24),transparent 34%),linear-gradient(180deg,#050816e6,#050816fa);color:var(--text);pointer-events:auto}.home-panel{width:min(390px,100%);padding:24px;border:1px solid rgba(103,232,249,.24);border-radius:26px;background:radial-gradient(circle at 50% 0%,rgba(37,99,235,.2),transparent 34%),#0d172cf0;box-shadow:0 28px 84px #00000085;backdrop-filter:blur(20px)}.home-panel h2{margin:0;font-size:clamp(25px,7vw,34px);line-height:1.08;letter-spacing:-.05em;text-wrap:balance}.home-copy{margin:10px 0 18px;color:var(--muted);font-size:12px;line-height:1.55}.home-summary{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-bottom:14px}.home-summary div{display:flex;min-width:0;flex-direction:column;gap:5px;padding:11px 12px;border:1px solid var(--panel-border);border-radius:14px;background:#0f172abd}.home-summary span{color:var(--muted);font-size:9px;font-weight:750}.home-summary strong{overflow:hidden;color:var(--lime);font-size:15px;font-variant-numeric:tabular-nums;text-overflow:ellipsis;white-space:nowrap}.home-modes{display:grid;gap:9px}.home-mode-button{display:grid;grid-template-columns:auto 1fr;gap:3px 10px;min-height:76px;padding:13px 14px;border:1px solid var(--panel-border);border-radius:16px;background:#0f172ac7;text-align:left;cursor:pointer}.home-mode-button:hover,.home-mode-button:focus-visible{border-color:#67e8f9ad;background:#0891b22e}.home-mode-button .home-mode-tag{grid-row:1 / span 2;align-self:center;min-width:48px;color:var(--cyan);font-size:9px;font-weight:900;letter-spacing:.12em}.home-mode-button strong{font-size:14px}.home-mode-button span:last-child{color:var(--muted);font-size:10px;line-height:1.35}.home-secondary-button{width:100%;min-height:44px;margin-top:10px;border:1px solid var(--panel-border);border-radius:14px;background:#1e293bbd;font-size:12px;font-weight:800;cursor:pointer}.home-control-copy{margin:10px 0 0;color:var(--muted);font-size:10px;text-align:center}#appintoss-banner-slot{position:fixed;right:0;bottom:var(--safe-area-bottom);left:0;z-index:800;width:100%;height:var(--monetization-banner-height)}#game-accessibility{position:absolute;inset:0;z-index:20;pointer-events:none}.top-bar{position:absolute;top:16px;right:16px;left:16px;display:flex;align-items:flex-start;justify-content:space-between;gap:16px}.top-bar-tools{display:grid;gap:6px;justify-items:end}.camera-mode-button{min-width:92px;min-height:44px;padding:0 12px;border:1px solid var(--panel-border);border-radius:999px;background:var(--panel);color:var(--muted);font-size:10px;font-weight:800;pointer-events:auto;cursor:pointer;backdrop-filter:blur(16px)}.camera-mode-button[data-mode=close]{border-color:#67e8f994;background:#0e7490d1;color:var(--text);box-shadow:0 0 22px #67e8f924}.eyebrow,.startup-eyebrow,.dialog-eyebrow{margin:0 0 4px;color:var(--cyan);font-size:10px;font-weight:850;letter-spacing:.18em}.top-bar h1{margin:0;font-size:clamp(23px,6vw,32px);line-height:1;letter-spacing:-.045em}.status-chip{min-width:78px;padding:7px 10px;border:1px solid var(--panel-border);border-radius:999px;background:var(--panel);color:var(--muted);font-size:11px;font-weight:750;text-align:center;backdrop-filter:blur(16px)}.status-chip[data-state=active]{border-color:#bef26473;color:var(--lime);box-shadow:0 0 20px #bef2641f}.status-chip[data-state=error]{border-color:#fb71857a;color:var(--danger)}.mission-copy{position:absolute;top:70px;left:16px;width:min(272px,calc(100% - 32px));margin:0;color:#e2e8f0bd;font-size:11px;line-height:1.5;text-wrap:balance}.score-hud{position:absolute;top:110px;right:16px;display:grid;grid-template-columns:repeat(2,auto);gap:7px 14px;padding:11px 13px;border:1px solid var(--panel-border);border-radius:16px;background:var(--panel);box-shadow:0 14px 36px #0003;backdrop-filter:blur(16px)}.score-hud div{display:flex;min-width:54px;flex-direction:column;align-items:flex-end}.score-hud .score-main{grid-row:1 / 5;align-self:center;align-items:flex-start;padding-right:4px}.score-hud span,.result-score-row span{color:var(--muted);font-size:9px;font-weight:750;letter-spacing:.08em}.score-hud strong{color:var(--text);font-size:13px;font-variant-numeric:tabular-nums}.score-hud .score-main strong{color:var(--lime);font-size:34px;line-height:1}.tutorial-objective{position:absolute;top:calc(var(--ball-camera-size) + 30px);left:12px;right:calc(var(--icon-column-width) + 20px);display:flex;flex-direction:column;align-items:flex-start;gap:8px;padding:8px 12px 10px;border-radius:14px;pointer-events:none;background:linear-gradient(to bottom,#070d1c70,#070d1c4d 62%,#070d1c29);text-align:left}.tutorial-skip{position:absolute;bottom:28px;left:50%;transform:translate(-50%);pointer-events:auto;cursor:pointer}#game-accessibility:not([data-tutorial=true]) .tutorial-skip{display:none}#game-accessibility[data-tutorial=true] .mission-copy,#game-accessibility[data-tutorial=true] .score-hud,#game-accessibility[data-tutorial=true] .diagnostics{display:none}.diagnostics{position:absolute;top:112px;left:16px;width:174px;overflow:hidden;border:1px solid var(--panel-border);border-radius:13px;background:var(--panel);pointer-events:auto;backdrop-filter:blur(16px)}.diagnostics summary{padding:9px 11px;color:var(--muted);font-size:10px;font-weight:750;cursor:pointer;user-select:none}.diagnostic-grid{display:grid;grid-template-columns:repeat(2,minmax(70px,1fr));gap:1px;padding:1px;background:#94a3b81f}.diagnostic-grid div{display:flex;min-width:0;flex-direction:column;gap:2px;padding:7px 9px;background:#070d1cf0}.diagnostic-grid span{color:var(--muted);font-size:9px;font-weight:650}.diagnostic-grid strong{overflow:hidden;color:var(--text);font-size:11px;font-variant-numeric:tabular-nums;text-overflow:ellipsis;white-space:nowrap}.ball-camera-overlay{position:absolute;top:0;left:0;bottom:auto;width:var(--ball-camera-size);height:var(--ball-camera-size);overflow:hidden;border:2px solid rgba(103,232,249,.62);border-radius:0 0 22px;background:radial-gradient(circle at 50% 52%,transparent 48%,rgba(5,8,22,.32) 78%,rgba(5,8,22,.7) 100%);box-shadow:0 12px 30px #0006,inset 0 0 24px #67e8f91a;pointer-events:none}.primary-actions{position:absolute;right:var(--game-control-edge);top:6px;display:flex;flex-direction:column;align-items:flex-end;gap:10px;width:var(--icon-column-width);pointer-events:auto}.primary-button,.secondary-button,.icon-button{min-height:42px;border:1px solid var(--panel-border);border-radius:12px;background:var(--panel);font-size:12px;font-weight:800;cursor:pointer;backdrop-filter:blur(18px)}.primary-button{grid-column:1 / -1;border-color:#67e8f95c;background:linear-gradient(135deg,#0e7490e6,#2563ebe6);box-shadow:0 10px 28px #2563eb47}.secondary-button{min-width:0;padding:0 8px}.icon-button{width:42px;font-size:19px}.direction-pad{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.direction-pad button{border:1px solid rgba(148,163,184,.22);border-radius:12px;background:#070d1cd1;color:#f8fafcdb;font-size:13px;font-weight:900;cursor:pointer;backdrop-filter:blur(16px);user-select:none}.direction-pad button[data-direction=up]{grid-area:up}.direction-pad button[data-direction=left]{grid-area:left}.direction-pad button[data-direction=down]{grid-area:down}.direction-pad button[data-direction=right]{grid-area:right}.direction-pad button[data-active=true]{border-color:var(--cyan);background:#0e7490db;transform:translateY(1px) scale(.96)}.game-dialog{width:min(370px,calc(100vw - 32px));max-height:calc(100vh - 40px - var(--safe-area-top) - var(--safe-area-bottom));padding:24px;overflow:auto;border:1px solid rgba(103,232,249,.24);border-radius:24px;background:radial-gradient(circle at 50% 0%,rgba(37,99,235,.24),transparent 40%),var(--panel-solid);color:var(--text);box-shadow:0 26px 80px #00000094}.game-dialog::backdrop{background:#020617c2;backdrop-filter:blur(7px)}.game-dialog h2{margin:0;font-size:25px;line-height:1.15;letter-spacing:-.045em;text-wrap:balance}.game-dialog.run-mode-sheet{--run-mode-row: var(--tap-target-cta);width:374px;max-width:calc(100vw - 32px);padding:var(--space-5);overflow:visible}.run-mode-stack{display:grid;align-content:start;justify-items:stretch;gap:var(--space-4)}.run-mode-stack h2{justify-self:start}.run-mode-sheet .dialog-eyebrow{display:none}.run-mode-sheet h2{margin:0;font-size:var(--font-size-title);line-height:1.15;white-space:nowrap}.run-mode-options{display:grid;gap:var(--space-3);justify-items:stretch}.run-mode-sheet .run-mode-option,#run-mode-close{width:100%;min-height:var(--run-mode-row);padding:0 var(--space-4);border-radius:var(--radius-lg)}.run-mode-sheet .run-mode-option{display:flex;flex-direction:column;gap:2px;line-height:1.1}.run-mode-stars{font-size:var(--font-size-caption);letter-spacing:2px}.run-mode-quota{font-size:var(--font-size-caption);opacity:.85}.run-mode-stars-row{display:inline-flex;align-items:center;justify-content:center;gap:8px}.run-mode-reward{display:inline-flex;align-items:center;justify-content:center;gap:4px;font-size:var(--font-size-caption);white-space:nowrap}.run-mode-reward__icon{width:18px;height:18px;flex:none;object-fit:contain}.run-mode-sheet .run-mode-option:disabled{opacity:.5;cursor:default}.dialog-ball{width:48px;height:48px;margin-bottom:18px;border:1px solid rgba(226,232,240,.65);border-radius:50%;background:radial-gradient(circle at 34% 27%,#fff 0 6%,#cbd5e1 8% 20%,#475569 60%,#111827);box-shadow:0 0 46px #3b82f673}.notice-list{display:grid;gap:8px;margin:14px 0 20px;padding:0;list-style:none}.notice-list li{display:flex;align-items:center;gap:10px}.mode-selector{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:0 0 12px;padding:0;border:0}.mode-selector legend{margin-bottom:7px;color:var(--muted);font-size:10px;font-weight:800;letter-spacing:.08em}.mode-selector button{display:flex;min-height:66px;padding:10px;border:1px solid var(--panel-border);border-radius:13px;background:#0f172ab8;color:var(--text);flex-direction:column;justify-content:center;gap:4px;text-align:left;cursor:pointer}.mode-selector button[aria-pressed=true]{border-color:#67e8f9b8;background:#0891b23d;box-shadow:inset 0 0 0 1px #67e8f91f}.mode-selector button strong{font-size:12px}.mode-selector button span{color:var(--muted);font-size:9px;line-height:1.35}.store-balance{margin:0 0 10px;color:var(--lime);font-size:12px;font-weight:800}.store-items{display:grid;gap:8px;margin:0 0 10px;padding:0;list-style:none}.store-item{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px 12px;border:1px solid var(--panel-border);border-radius:13px;background:#0f172ab8}.store-item-copy{display:flex;min-width:0;flex-direction:column;gap:3px;text-align:left}.store-item-copy strong{font-size:12px}.store-item-copy span{color:var(--muted);font-size:9px;line-height:1.35}.store-item-state{display:flex;flex-shrink:0;flex-direction:column;align-items:flex-end;gap:5px}.store-item-state .store-status{color:var(--cyan);font-size:9px;font-weight:800}.store-item-state button{min-height:34px;padding:0 12px}.store-item-state button:disabled{opacity:.55;cursor:default}.store-message{min-height:14px;margin:0 0 8px;color:var(--text);font-size:10px;text-align:center}.dialog-actions{display:grid;gap:9px}.dialog-primary,.dialog-secondary{width:100%;min-height:48px;border-radius:14px;font-size:14px;font-weight:850;cursor:pointer}.dialog-primary{background:linear-gradient(135deg,#0891b2,#2563eb);box-shadow:0 12px 28px #2563eb4d}.dialog-secondary{border:1px solid var(--panel-border);background:#1e293bbd}#result-dialog .dialog-secondary{margin-top:9px}.tutorial-complete-copy{margin:14px 0 20px;color:var(--text);font-size:13px;line-height:1.6}.result-reason{margin:12px 0 20px;color:var(--danger);font-size:13px;font-weight:700}.result-score-row{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.result-score-row div{display:flex;flex-direction:column;gap:4px;padding:14px;border:1px solid var(--panel-border);border-radius:14px;background:#0f172ab8}.result-score-row strong{color:var(--lime);font-size:24px;font-variant-numeric:tabular-nums}#result-fatigue{font-size:14px}.result-gap{min-height:38px;margin:15px 0;color:var(--muted);font-size:12px;line-height:1.5}#startup-splash{position:fixed;inset:0;z-index:1000;display:flex;align-items:center;justify-content:center;flex-direction:column;padding:28px;background:radial-gradient(circle at 50% 38%,rgba(37,99,235,.3),transparent 28%),linear-gradient(160deg,#0b1225,#050711);color:var(--text);transition:opacity .28s ease,visibility .28s ease}#startup-splash[data-complete=true]{visibility:hidden;opacity:0;pointer-events:none}.startup-mark{width:58px;height:58px;margin-bottom:22px;border:2px solid rgba(103,232,249,.7);border-radius:50%;background:radial-gradient(circle at 34% 28%,#fff 0 4%,#94a3b8 5% 18%,#334155 58%,#0f172a);box-shadow:0 0 54px #3b82f661;animation:float 1.8s ease-in-out infinite alternate}#startup-splash h1{margin:0 0 26px;font-size:clamp(34px,10vw,52px);letter-spacing:-.06em}#startup-splash-progress{width:min(280px,76vw);height:4px;overflow:hidden;border-radius:999px;background:#94a3b82e}#startup-splash-progress-value{width:0%;height:100%;border-radius:inherit;background:linear-gradient(90deg,var(--blue),var(--cyan));box-shadow:0 0 12px #67e8f9b3;transition:width .18s ease}#startup-splash-status{min-height:20px;margin:14px 0 0;color:var(--muted);font-size:12px}#startup-splash-retry{min-height:42px;margin-top:12px;padding:0 18px;border-radius:12px;background:var(--blue);font-weight:800;cursor:pointer}.sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}@keyframes float{0%{transform:translateY(-4px) rotate(-3deg)}to{transform:translateY(5px) rotate(3deg)}}@media(max-height:700px){.mission-copy{display:none}.diagnostics{top:72px}.game-dialog{padding:20px}.game-dialog.run-mode-sheet{padding:var(--space-4)}.run-mode-stack{gap:var(--space-3)}}@media(max-width:360px){:root{--game-control-edge: 10px;--game-control-bottom: 18px;--ball-camera-size: 96px;--icon-column-width: 50px;--direction-control-width: 116px;--direction-control-height: 76px;--direction-button-size: 36px}.score-hud{right:10px}.diagnostics{left:10px;width:152px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;transition-duration:.001ms!important;animation-duration:.001ms!important;animation-iteration-count:1!important}}@font-face{font-family:Jua;font-style:normal;font-weight:400;font-display:swap;src:url(/assets/jua-latin-400-B0wF3VKp.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+2000-206F,U+20A0-20CF,U+2122}@font-face{font-family:Jua;font-style:normal;font-weight:400;font-display:swap;src:url(/assets/jua-korean-400-WRlc2lCz.woff2) format("woff2");unicode-range:U+1100-11FF,U+3000-303F,U+3130-318F,U+A960-A97F,U+AC00-D7A3,U+D7B0-D7FF}:root{color-scheme:light;--ui-cream: #fff7e6;--ui-cream-deep: #ffefc9;--ui-sky: #bde3ff;--ui-sky-soft: #e6f4ff;--ui-ink: #243047;--ui-ink-soft: #3a4a68;--ui-muted: #7b88a3;--ui-grass: #58c24a;--ui-grass-deep: #2f7d28;--ui-grass-soft: #9bda92;--ui-blue: #4fa9f5;--ui-blue-deep: #2b6cb0;--ui-amber: #ffc53d;--ui-amber-deep: #b45309;--ui-coral: #ff6b6b;--ui-coral-deep: #c53030;--ui-coral-soft: #ffa6a6;--ui-orange: #ff8f3c;--ui-orange-deep: #c05c10;--ui-white: #ffffff;--ranking-bg: #19191f;--ranking-text: #f2f2f5;--ranking-muted: #a5a5b0;--ranking-line: #34343d;--ranking-own-bg: #332c23;--ranking-accent: #ffce4a;--ranking-accent-bg: #4a3e27;--ranking-emblem-mint: #354f47;--ranking-emblem-plum: #513b50;--ranking-emblem-blue: #354b63;--ranking-emblem-ochre: #57502d;--ranking-emblem-coral: #65473e;--ranking-emblem-violet: #494464;--ranking-ball: radial-gradient(circle at 30% 24%, #fff 0%, #d3d7df 18%, #606879 54%, #e6e9ef 78%, #303745 100%);--surface-page: linear-gradient(#bde3ff 0%, #e6f4ff 34%, #fff7e6 60%, #ffefc9 100%);--surface-panel: var(--ui-white);--surface-panel-border: 3px solid var(--ui-ink);--surface-hard-shadow: 0 4px 0 rgba(36, 48, 71, .9);--surface-hard-shadow-lg: 0 5px 0 rgba(36, 48, 71, .85);--font-display: "Jua", Pretendard, -apple-system, sans-serif;--font-body: Pretendard, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-size-caption: 13px;--font-size-body: 15px;--font-size-label: 17px;--font-size-title: 20px;--font-size-heading: 24px;--font-size-hero: 32px;--font-size-display-sm: 48px;--font-size-display: 64px;--font-size-display-xl: 96px;--tap-target-min: 48px;--tap-target-cta: 56px;--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-5: 24px;--space-6: 32px;--radius-sm: 12px;--radius-md: 16px;--radius-lg: 20px;--radius-xl: 24px;--radius-pill: 999px;--motion-fast: .12s;--motion-base: .2s;--motion-slow: .32s;--ease-pop: cubic-bezier(.34, 1.56, .64, 1);--z-hud: 10;--z-sheet: 100;--z-splash: 1000;--panel: rgba(255, 255, 255, .92);--panel-solid: #ffffff;--panel-border: rgba(36, 48, 71, .85);--text: var(--ui-ink);--muted: var(--ui-muted);--cyan: var(--ui-blue);--blue: var(--ui-blue);--monetization-banner-height: 0px;--lime: var(--ui-grass);--danger: var(--ui-coral)}.ui-button{font-family:var(--font-display);letter-spacing:.5px;border:none;cursor:pointer;border-radius:var(--radius-lg);color:var(--ui-white);position:relative;display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);min-height:var(--tap-target-min);padding:0 var(--space-5);font-size:var(--font-size-title);text-shadow:0 2px 0 rgba(0,0,0,.25);transition:transform var(--motion-fast) ease,box-shadow var(--motion-fast) ease;user-select:none;white-space:nowrap;-webkit-tap-highlight-color:transparent}.ui-button:disabled{cursor:default;filter:saturate(.35) brightness(1.04)}.ui-button:focus-visible{outline:4px solid var(--ui-blue);outline-offset:2px}.ui-button--lg{min-height:var(--tap-target-cta);padding:var(--space-2) var(--space-5);font-size:25px;line-height:1.15;width:100%;white-space:normal;text-wrap:balance}.ui-button--primary{background:var(--ui-grass);box-shadow:0 6px 0 var(--ui-grass-deep),0 10px 14px -6px #2f7d2880}.ui-button--primary:not(:disabled):active{transform:translateY(4px);box-shadow:0 2px 0 var(--ui-grass-deep),0 6px 10px -6px #2f7d2880}.ui-button--secondary{background:var(--ui-blue);box-shadow:0 6px 0 var(--ui-blue-deep),0 10px 14px -6px #2b6cb080}.ui-button--secondary:not(:disabled):active{transform:translateY(4px);box-shadow:0 2px 0 var(--ui-blue-deep),0 6px 10px -6px #2b6cb080}.ui-button--reward{background:var(--ui-orange);box-shadow:0 6px 0 var(--ui-orange-deep),0 10px 14px -6px #c05c1080}.ui-button--reward:not(:disabled):active{transform:translateY(4px);box-shadow:0 2px 0 var(--ui-orange-deep),0 6px 10px -6px #c05c1080}.ui-button--ghost{background:var(--ui-white);color:var(--ui-ink);text-shadow:none;box-shadow:0 5px #243047d9;border:2px solid var(--ui-ink)}.ui-button--ghost:not(:disabled):active{transform:translateY(3px);box-shadow:0 2px #243047d9}.ui-button--mode{background:var(--ui-sky-soft);color:var(--ui-ink);text-shadow:none;border:2px solid var(--ui-blue-deep);box-shadow:0 5px 0 var(--ui-blue-deep)}.ui-button--mode[aria-pressed=true]{background:var(--ui-blue);color:var(--ui-white);text-shadow:0 2px 0 var(--ui-blue-deep);transform:translateY(3px);box-shadow:0 2px 0 var(--ui-blue-deep)}.ui-button--mode:not(:disabled):active{transform:translateY(3px);box-shadow:0 2px 0 var(--ui-blue-deep)}.ui-button--roll{background:var(--ui-coral);color:var(--ui-white);text-shadow:0 2px 0 var(--ui-coral-deep);box-shadow:0 6px 0 var(--ui-coral-deep),0 12px 16px -6px #c530308c}.ui-button--roll:not(:disabled):active{transform:translateY(4px);box-shadow:0 2px 0 var(--ui-coral-deep),0 6px 10px -6px #c5303080}.ui-button--practice{background:var(--ui-amber);color:var(--ui-ink);text-shadow:none;border:2px solid var(--ui-ink);box-shadow:0 5px 0 var(--ui-amber-deep)}.ui-button--practice:not(:disabled):active{transform:translateY(3px);box-shadow:0 2px 0 var(--ui-amber-deep)}.ui-button--icon{width:var(--tap-target-min);min-width:var(--tap-target-min);padding:0;font-size:21px;border-radius:var(--radius-md);background:var(--ui-white);color:var(--ui-ink);text-shadow:none;border:2px solid var(--ui-ink);box-shadow:0 4px #243047d9}.ui-button--icon:not(:disabled):active,.ui-button--icon[aria-pressed=true]{transform:translateY(3px);box-shadow:0 1px #243047d9}.ui-button--icon[aria-pressed=true]{background:var(--ui-sky)}@keyframes ui-button-heartbeat{0%{scale:1}10%{scale:1.12}20%{scale:1}30%{scale:1.07}40%{scale:1}to{scale:1}}.ui-button--pulse{animation:ui-button-heartbeat 1.8s ease-in-out infinite}@media(prefers-reduced-motion:reduce){.ui-button--pulse{animation:none}}#sound-toggle[aria-pressed=false]{background:var(--ui-coral)}.ui-chip{display:inline-flex;align-items:center;gap:7px;min-height:40px;padding:0 var(--space-4) 0 10px;border-radius:var(--radius-pill);background:var(--ui-white);border:3px solid var(--ui-ink);color:var(--ui-ink);font-family:var(--font-display);font-size:var(--font-size-label);box-shadow:var(--surface-hard-shadow);font-variant-numeric:tabular-nums;white-space:nowrap}.ui-chip--sm{min-height:34px;font-size:var(--font-size-body)}.ui-chip .ui-chip__icon{width:22px;height:22px;border-radius:50%;flex:none}.ui-chip--sm .ui-chip__icon{width:18px;height:18px}.ui-chip__icon--gold{background:radial-gradient(circle at 34% 30%,#ffe9a8,#ffc53d 55%,#d9940f);box-shadow:inset 0 0 0 2px #965a0059}.ui-chip__icon--fatigue{background:radial-gradient(circle at 34% 30%,#d6f5c9,#58c24a 60%,#2f7d28)}.ui-chip__icon--best{background:radial-gradient(circle at 34% 30%,#cfe8ff,#4fa9f5 60%,#2b6cb0)}.ui-chip__icon--time{position:relative;background:radial-gradient(circle at 34% 30%,#fff3d6,#ffd98a 58%,#e0a63c);box-shadow:inset 0 0 0 2px #784c0a73}.ui-chip__icon--time:before,.ui-chip__icon--time:after{content:"";position:absolute;left:50%;bottom:50%;width:2px;border-radius:1px;background:#5b3a08;transform-origin:50% 100%}.ui-chip__icon--time:before{height:34%;transform:translate(-50%)}.ui-chip__icon--time:after{height:26%;transform:translate(-50%) rotate(115deg)}.ui-badge{display:inline-block;padding:4px 12px;border-radius:var(--radius-pill);font-family:var(--font-display);font-size:var(--font-size-body);background:var(--ui-white);color:var(--ui-ink);box-shadow:var(--surface-hard-shadow);border:2px solid var(--ui-ink);white-space:nowrap}.ui-badge--new{background:var(--ui-coral);border-color:var(--ui-coral-deep);color:var(--ui-white);transform:rotate(-4deg);font-size:var(--font-size-label)}.ui-badge--equip{background:var(--ui-grass);border-color:var(--ui-grass-deep);color:var(--ui-white)}.ui-badge--own{background:var(--ui-blue);border-color:var(--ui-blue-deep);color:var(--ui-white)}.ui-badge--price{background:var(--ui-amber);border-color:var(--ui-amber-deep);color:#5c3d00}.ui-gauge{width:100%;height:18px;border-radius:var(--radius-pill);background:var(--ui-white);border:2px solid var(--ui-ink);box-shadow:var(--surface-hard-shadow);overflow:hidden}.ui-gauge__fill{height:100%;width:0%;border-radius:var(--radius-pill);background:linear-gradient(90deg,#8ee07f,var(--ui-grass));transition:width var(--motion-base) ease}.ui-display-number{font-family:var(--font-display);line-height:1;color:var(--ui-white);-webkit-text-stroke:3px var(--ui-ink);paint-order:stroke fill;text-shadow:0 5px 0 var(--ui-ink);font-variant-numeric:tabular-nums}.ui-panel{background:var(--surface-panel);border:var(--surface-panel-border);border-radius:var(--radius-xl);box-shadow:var(--surface-hard-shadow-lg);color:var(--ui-ink)}@media(prefers-reduced-motion:reduce){.ui-button,.ui-gauge__fill{transition:none}.ui-button:not(:disabled):active{transform:none}}body{font-family:var(--font-body);background:var(--surface-page);color:var(--ui-ink)}.eyebrow{color:var(--ui-muted);letter-spacing:4px}#startup-splash{background:var(--surface-page);color:var(--ui-ink);z-index:var(--z-splash)}.top-loading{position:fixed;top:var(--safe-area-top);left:0;right:0;height:6px;overflow:hidden;background:#24304759;z-index:var(--z-splash);pointer-events:none}.top-loading[hidden]{display:none}.top-loading-bar{display:block;width:40%;height:100%;border-radius:0 999px 999px 0;background:linear-gradient(90deg,var(--ui-grass),var(--ui-sky));animation:top-loading-slide 1.1s ease-in-out infinite}@keyframes top-loading-slide{0%{transform:translate(-100%)}to{transform:translate(250%)}}@media(prefers-reduced-motion:reduce){.top-loading-bar{width:100%;animation:none}}#startup-splash h1{font-family:var(--font-display);color:var(--ui-white);-webkit-text-stroke:3px var(--ui-ink);paint-order:stroke fill;text-shadow:0 5px 0 var(--ui-ink);font-size:var(--font-size-display-sm)}#startup-splash .startup-eyebrow{color:var(--ui-ink-soft)}#startup-splash .startup-mark{background:radial-gradient(circle at 35% 30%,#fff 2%,#cfd8e6 34%,#8d9bb1 70%,#4c586c);box-shadow:inset -8px -10px 18px #141e3259,0 12px 14px -8px #24304780;border:none}#startup-splash-progress{background:var(--ui-white);border:2px solid var(--ui-ink);border-radius:var(--radius-pill);box-shadow:var(--surface-hard-shadow);overflow:hidden}#startup-splash-progress-value{background:linear-gradient(90deg,#8ee07f,var(--ui-grass));border-radius:var(--radius-pill)}#startup-splash-status{color:var(--ui-ink-soft);font-size:var(--font-size-body)}#startup-splash-retry{font-family:var(--font-display);min-height:var(--tap-target-min);padding:0 var(--space-5);border:none;border-radius:var(--radius-lg);background:var(--ui-grass);color:var(--ui-white);box-shadow:0 6px 0 var(--ui-grass-deep);font-size:var(--font-size-label);cursor:pointer}.mission-copy{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}.hud-top{position:absolute;top:6px;left:calc(var(--ball-camera-size) + var(--space-2));right:calc(var(--icon-column-width) + var(--game-control-edge) + var(--space-2));display:flex;flex-direction:column;align-items:center;gap:2px;pointer-events:none;z-index:var(--z-hud)}.hud-top{transition:opacity .2s ease}body.control-guide-open .hud-top{opacity:0}body.mission-panel-open .hud-top{z-index:calc(var(--z-hud) + 2)}#tutorial-objective{transition:opacity .2s ease}body.control-guide-open #tutorial-objective{opacity:0}body.control-guide-visible #tutorial-hint,body.control-guide-visible .tutorial-gesture{display:none}.hud-resources{--hud-chip-scale: 1;--hud-chip-font: var(--font-size-title);--hud-chip-pad: 14px;--hud-chip-lead: 6px;--hud-icon-size: 32px;display:flex;flex-wrap:nowrap;align-items:center;justify-content:center;width:100%;gap:calc(var(--space-2) * var(--hud-chip-scale))}.hud-chip{padding:0 calc(var(--hud-chip-pad) * var(--hud-chip-scale)) 0 calc(var(--hud-chip-lead) * var(--hud-chip-scale));gap:calc(var(--hud-chip-lead) * var(--hud-chip-scale));min-height:44px;white-space:nowrap;flex:0 0 auto;font-size:calc(var(--hud-chip-font) * var(--hud-chip-scale))}.hud-chip .hud-icon{width:calc(var(--hud-icon-size) * var(--hud-chip-scale));height:calc(var(--hud-icon-size) * var(--hud-chip-scale))}.mission-hud{width:min(300px,calc(100vw - 2 * var(--game-control-edge)));display:flex;flex-direction:column;align-items:center;gap:4px;pointer-events:none;position:relative}.mission-hud[hidden]{display:none}.mission-chip{display:inline-flex;align-items:center;gap:6px;max-width:100%;min-height:30px;margin:0;padding:3px 12px 3px 6px;border:2px solid var(--ui-ink);border-radius:var(--radius-pill);background:#243047d1;color:var(--ui-white);font-family:var(--font-display);font-size:var(--font-size-caption);letter-spacing:.01em;pointer-events:auto;touch-action:manipulation;cursor:pointer;transition:transform .16s ease,background-color .2s ease}.mission-chip-icon{width:20px;height:20px;object-fit:contain;flex:none;pointer-events:none}.mission-chip-label{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mission-chip-progress{flex:none;color:var(--ui-sky);font-variant-numeric:tabular-nums}.mission-chip[data-flash=true]{background:var(--ui-amber);color:var(--ui-ink);transform:scale(1.08)}.mission-chip[data-flash=true] .mission-chip-progress{color:var(--ui-ink)}.mission-panel{position:absolute;top:calc(100% + 4px);left:0;width:100%;margin:0;padding:8px 10px;border:2px solid var(--ui-ink);border-radius:var(--radius-md);background:#243047;color:var(--ui-white);pointer-events:none}.mission-panel[hidden]{display:none}.mission-panel-section{margin:0 0 4px;color:var(--ui-sky);font-family:var(--font-display);font-size:11px;letter-spacing:.04em}.mission-panel-section+.mission-list{margin-bottom:6px}.mission-list{display:grid;gap:8px;margin:0 0 var(--space-3);padding:0;list-style:none}.mission-list--compact{gap:5px;margin-bottom:0}.mission-row{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:8px;text-align:left}.mission-row-icon{width:22px;height:22px;object-fit:contain;flex:none}span.mission-row-icon{display:none}.mission-row-text{display:flex;flex-direction:column;gap:2px;min-width:0}.mission-row-label{font-family:var(--font-display);font-size:var(--font-size-body);line-height:1.25}.mission-list--compact .mission-row-label{font-size:var(--font-size-caption)}.mission-row-hint{color:var(--ui-muted);font-size:var(--font-size-caption)}.mission-row-bar{position:relative;height:6px;border-radius:999px;background:#24304747;overflow:hidden}.mission-row-bar>span{position:absolute;inset:0 auto 0 0;border-radius:inherit;background:var(--ui-sky);transition:width .2s ease}.mission-row[data-completed=true] .mission-row-bar>span{background:var(--ui-grass)}.mission-row-meta{display:flex;align-items:center;gap:4px;flex:none;font-family:var(--font-display);font-size:var(--font-size-caption);font-variant-numeric:tabular-nums}.mission-row-coin{width:16px;height:16px;object-fit:contain}.mission-row[data-completed=true] .mission-row-meta{color:var(--ui-grass)}.mission-remaining{margin:0 0 var(--space-3);color:var(--ui-muted);font-size:var(--font-size-caption);text-align:center}.notice-section-icon{width:24px;height:24px;object-fit:contain;vertical-align:-5px;margin-right:4px}.mission-toast{position:absolute;top:34%;left:50%;display:flex;flex-direction:column;align-items:center;gap:2px;padding:10px 18px;border:3px solid var(--ui-ink);border-radius:var(--radius-xl);background:var(--ui-amber);color:var(--ui-ink);font-family:var(--font-display);text-align:center;pointer-events:none;z-index:var(--z-hud);transform:translate(-50%) scale(1);animation:mission-toast-pop 1.6s ease forwards}.mission-toast[hidden]{display:none}.distance-toast{position:absolute;top:18%;left:50%;padding:6px 18px;border:3px solid var(--ui-ink);border-radius:var(--radius-xl);background:var(--ui-white);color:var(--ui-ink);font-family:var(--font-display);font-size:var(--font-size-heading);text-align:center;pointer-events:none;z-index:var(--z-hud);transform:translate(-50%);animation:distance-toast-pop 1.4s ease forwards}.distance-toast[hidden]{display:none}@keyframes distance-toast-pop{0%{opacity:0;transform:translate(-50%,10px) scale(.9)}12%{opacity:1;transform:translate(-50%) scale(1.08)}24%{transform:translate(-50%) scale(1)}76%{opacity:1}to{opacity:0;transform:translate(-50%,-12px) scale(.98)}}@media(prefers-reduced-motion:reduce){.distance-toast{animation:distance-toast-fade 1.4s ease forwards}}@keyframes distance-toast-fade{0%{opacity:1}76%{opacity:1}to{opacity:0}}.mission-toast:popover-open{position:fixed;inset:auto;top:calc(env(safe-area-inset-top,0px) + 128px);left:50%;margin:0;border-color:var(--ui-ink);overflow:visible}.mission-toast[data-group=promotion]{background:#ff7ac6;color:var(--ui-ink)}.mission-toast-title{font-size:var(--font-size-label)}.mission-toast-body{font-size:var(--font-size-caption)}.mission-toast-reward{font-size:var(--font-size-heading);animation:mission-reward-rise 1.6s ease forwards}.mission-toast-reward:empty{display:none}.mission-toast-burst{position:absolute;inset:50% auto auto 50%;width:8px;height:8px;border-radius:50%;background:var(--ui-white);box-shadow:0 0 0 2px var(--ui-ink),26px -18px 0 -1px var(--ui-white),26px -18px 0 1px var(--ui-ink),-26px -18px 0 -1px var(--ui-white),-26px -18px 0 1px var(--ui-ink),34px 10px 0 -2px var(--ui-white),34px 10px 0 0 var(--ui-ink),-34px 10px 0 -2px var(--ui-white),-34px 10px 0 0 var(--ui-ink),0 -30px 0 -1px var(--ui-white),0 -30px 0 1px var(--ui-ink);animation:mission-burst .7s ease-out forwards}@keyframes mission-toast-pop{0%{transform:translate(-50%,8px) scale(.86);opacity:0}12%{transform:translate(-50%) scale(1.06);opacity:1}22%{transform:translate(-50%) scale(1);opacity:1}82%{transform:translate(-50%) scale(1);opacity:1}to{transform:translate(-50%,-10px) scale(.96);opacity:0}}@keyframes mission-reward-rise{0%{transform:translateY(6px);opacity:0}25%{transform:translateY(0);opacity:1}to{transform:translateY(-4px);opacity:1}}@keyframes mission-burst{0%{transform:scale(.2);opacity:.95}to{transform:scale(2.1);opacity:0}}@media(prefers-reduced-motion:reduce){.mission-toast,.mission-toast-reward,.mission-toast-burst{animation:none}.mission-toast{transform:translate(-50%)}.mission-toast-burst{display:none}.mission-chip[data-flash=true]{transform:none}}.result-missions{display:flex;justify-content:center;gap:var(--space-3);margin:0 0 var(--space-2);color:var(--ui-ink-soft);font-family:var(--font-display);font-size:var(--font-size-body);font-variant-numeric:tabular-nums}.result-missions[hidden]{display:none}.result-missions span{display:inline-flex;align-items:center;gap:4px}.hud-icon{width:32px;height:32px;flex:none;object-fit:contain}.score-display-slot{display:flex;align-items:center;justify-content:center;min-width:0}.hud-score{position:relative;display:flex;flex-direction:column;align-items:center;width:100%;line-height:1}.hud-score-number-slot{width:100%;height:78px;margin-block:-15px}.hud-score-display{position:relative;display:inline-block;width:max-content;font-size:48px;white-space:nowrap}.hud-score-number{display:inline-block;max-width:none;font-size:1em;white-space:nowrap}.score-award-toast{position:absolute;top:5px;left:calc(100% + 8px);color:var(--ui-amber);font-family:var(--font-display);font-size:var(--font-size-heading);white-space:nowrap;pointer-events:none;-webkit-text-stroke:2px var(--ui-ink);paint-order:stroke fill;text-shadow:0 3px 0 var(--ui-ink);animation:score-award-pop .9s ease-out forwards}.score-award-toast[hidden]{display:none}@keyframes score-award-pop{0%{opacity:0;transform:translateY(10px) scale(.85)}16%{opacity:1;transform:translateY(0) scale(1.12)}55%{opacity:1;transform:translateY(-4px) scale(1)}to{opacity:0;transform:translateY(-18px) scale(.96)}}@media(prefers-reduced-motion:reduce){.score-award-toast{animation-name:score-award-fade}}@keyframes score-award-fade{0%{opacity:1}70%{opacity:1}to{opacity:0}}.graze-score-fx{position:absolute;top:42%;left:50%;width:min(320px,calc(100% - 2 * var(--game-control-edge)));height:176px;transform:translate(-50%,-50%);pointer-events:none;white-space:nowrap;font-family:var(--font-display);color:var(--ui-amber);-webkit-text-stroke:2px var(--ui-ink);paint-order:stroke fill;text-shadow:0 3px 0 var(--ui-ink)}.graze-score-fx[hidden]{display:none}.draw-shot-score-fx{top:64%}body[data-box-height=short] .draw-shot-score-fx{top:60%}body[data-box-height=short] .draw-shot-score-fx .graze-score-fx__body{font-size:32px}.draw-shot-score-fx .graze-score-fx__row{animation:none}.graze-score-fx__body{display:inline-flex;flex-direction:column;align-items:center;width:max-content;gap:2px;font-size:48px;line-height:1;animation:graze-score-idle .62s ease-in-out infinite alternate}.graze-score-fx__label{font-size:1em;color:var(--ui-white)}.graze-score-fx__row{display:inline-flex;align-items:baseline;gap:.125em;animation:graze-score-tick .22s ease-out}.graze-score-fx__number{display:inline-block;font-size:1em;font-variant-numeric:tabular-nums}.graze-score-fx__combo{font-size:.5em;color:var(--ui-sky)}.graze-score-fx__combo[hidden]{display:none}@keyframes graze-score-idle{0%{transform:scale(1)}to{transform:scale(1.07)}}@keyframes graze-score-tick{0%{transform:scale(1.38)}to{transform:scale(1)}}.hud-score-number--merge{display:inline-block;animation:graze-score-merge .26s ease-out}@keyframes graze-score-merge{0%{transform:scale(1.3)}to{transform:scale(1)}}@media(prefers-reduced-motion:reduce){.graze-score-fx__body,.graze-score-fx__row,.hud-score-number--merge{animation:none}}.draw-shot-cue{position:absolute;top:calc(42% + min(80px,15%));left:var(--game-control-edge);right:var(--game-control-edge);pointer-events:none;text-align:center;white-space:nowrap;font-family:var(--font-display);font-size:clamp(30px,9vw,48px);line-height:1;color:var(--ui-white);-webkit-text-stroke:2px var(--ui-ink);paint-order:stroke fill;text-shadow:0 3px 0 var(--ui-ink)}.draw-shot-cue[hidden]{display:none}.draw-shot-cue.is-playing{animation:score-award-pop var(--draw-shot-cue-ms) ease-out both}@media(prefers-reduced-motion:reduce){.draw-shot-cue.is-playing{animation:none}}.hud-score-number[data-unit]:after{content:attr(data-unit);margin-left:.2353em;font-family:var(--font-display);font-size:.3542em;letter-spacing:0;-webkit-text-stroke:.0589em var(--ui-ink)}.hud-best-slot{width:100%;height:24px;margin-top:2px}.hud-best{display:inline-block;width:max-content;font-family:var(--font-display);font-variant-numeric:tabular-nums;font-size:var(--font-size-label);color:var(--ui-white);white-space:nowrap;-webkit-text-stroke:2px var(--ui-ink);paint-order:stroke fill;text-shadow:0 3px 0 var(--ui-ink)}.hud-best:before{content:"BEST ";font-size:.7648em;letter-spacing:.0769em}.lobby-record-label{font-family:var(--font-display);font-size:var(--font-size-caption);line-height:18px;color:var(--ui-white);-webkit-text-stroke:1.5px var(--ui-ink);paint-order:stroke fill;text-shadow:0 2px 0 var(--ui-ink)}.hud-score--lobby .hud-score-number{color:var(--ui-grass-soft)}.hud-score--lobby .hud-best{color:var(--ui-coral-soft)}.hud-score--lobby .hud-score-number-slot{height:60px;margin-block:0}.hud-score--lobby .hud-best-slot{height:42px;margin-top:0}.hud-score--lobby .hud-best{font-size:32px}.hud-score--lobby .hud-best:before{content:none}.hud-best-slot.hud-best--course .hud-best:before{content:"GOAL "}.lobby-controls{position:absolute;left:50%;transform:translate(-50%);bottom:12px;width:min(320px,calc(100% - 2 * var(--game-control-edge)));display:flex;flex-direction:column;align-items:stretch;gap:var(--space-2);pointer-events:auto;z-index:var(--z-hud)}.lobby-controls[hidden]{display:none}.run-speed{position:absolute;left:0;top:var(--ball-camera-size);min-width:var(--ball-camera-size);width:max-content;max-width:calc(100% - 8px);margin:0;padding:2px 6px 3px;white-space:nowrap;border:3px solid var(--ui-ink);border-top:0;border-top-left-radius:0;border-top-right-radius:0;border-bottom-right-radius:var(--radius-xl);background:#243047d1;color:var(--ui-white);font-size:11px;font-variant-numeric:tabular-nums;letter-spacing:.01em;text-align:center;pointer-events:none;z-index:var(--z-hud)}.route-debug-footer{position:absolute;left:50%;bottom:6px;z-index:var(--z-hud);max-width:calc(100% - 2 * var(--game-control-edge));margin:0;padding:3px 10px;overflow:hidden;border:2px solid var(--ui-ink);border-radius:var(--radius-md);background:#243047d1;color:var(--ui-white);font-family:var(--font-display);font-size:var(--font-size-caption);line-height:1.2;text-overflow:ellipsis;white-space:nowrap;transform:translate(-50%);pointer-events:none}.route-debug-footer[hidden]{display:none}.sensor-debug{position:absolute;top:calc(var(--ball-camera-size) + 118px);left:var(--game-control-edge);z-index:var(--z-hud);max-width:calc(100% - 2 * var(--game-control-edge));margin:0;padding:4px 8px;border:2px solid var(--ui-ink);border-radius:var(--radius-md);background:#243047d1;color:var(--ui-white);font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:11px;line-height:1.3;white-space:pre;pointer-events:none}.sensor-debug[hidden]{display:none}.ball-difficulty{position:absolute;top:calc(var(--ball-camera-size) - 24px);left:calc(var(--ball-camera-size) - 46px);display:flex;gap:3px;align-items:baseline;min-width:44px;padding:1px 6px 2px;border:2px solid var(--ui-ink);border-radius:var(--radius-lg);background:#243047eb;color:var(--ui-white);font-family:var(--font-display);font-variant-numeric:tabular-nums;line-height:1.2;pointer-events:none;z-index:calc(var(--z-hud) + 1)}.ball-difficulty[data-tier=mid]{background:#a86025f0}.ball-difficulty[data-tier=high]{background:#a83425f0}.ball-difficulty-label{font-size:9px;font-weight:700;letter-spacing:.02em;opacity:.85}.ball-difficulty-value{font-size:14px;font-weight:700}.ball-difficulty-detail{position:absolute;left:0;top:calc(var(--ball-camera-size) + 60px);margin:0;padding:2px 8px 3px;max-width:calc(100% - 8px);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;border:2px solid var(--ui-ink);border-left:0;border-radius:0 var(--radius-md) var(--radius-md) 0;background:#243047d1;color:var(--ui-white);font-family:var(--font-display);font-size:10px;font-variant-numeric:tabular-nums;letter-spacing:.01em;line-height:1.2;pointer-events:none;z-index:var(--z-hud)}.ball-difficulty-detail[hidden]{display:none}.run-difficulty-badge{position:absolute;left:6px;top:calc(var(--ball-camera-size) - 24px);margin:0;padding:1px 8px 2px;border:2px solid var(--ui-ink);border-radius:999px;background:var(--ui-grass);color:var(--ui-white);font-family:var(--font-display);font-size:11px;line-height:1.2;text-shadow:0 1px 0 var(--ui-grass-deep);pointer-events:none;z-index:calc(var(--z-hud) + 1)}.run-difficulty-badge[hidden]{display:none}.debug-badge{position:absolute;left:0;top:calc(var(--ball-camera-size) + 84px);margin:0;padding:3px 10px;border:2px solid var(--ui-ink);border-left:0;border-radius:0 var(--radius-md) var(--radius-md) 0;background:#ef4444e6;color:var(--ui-white);font-family:var(--font-display);font-size:var(--font-size-caption);pointer-events:none;z-index:var(--z-hud)}.debug-badge[hidden]{display:none}.lobby-modes{display:flex;gap:var(--space-2)}.lobby-modes .ui-button{flex:1}.lobby-secondary{display:flex;align-items:stretch;gap:var(--space-2)}.lobby-secondary .ui-button--icon{flex:none}.lobby-secondary .ui-button--practice{flex:1;min-width:0;padding-inline:var(--space-1)}.test-stage-bar{position:absolute;left:50%;transform:translate(-50%);bottom:12px;width:min(320px,calc(100% - 2 * var(--game-control-edge)));display:flex;flex-direction:column;align-items:stretch;gap:var(--space-2);pointer-events:auto;z-index:var(--z-hud)}.test-stage-bar[hidden]{display:none}.test-stage-bar-copy{margin:0;padding:6px var(--space-3);border-radius:var(--radius-md);background:#243047b8;color:var(--ui-white);font-size:var(--font-size-caption);text-align:center}.ui-button--sm{min-height:var(--tap-target-min);font-size:var(--font-size-body);padding:0 var(--space-3);border-radius:var(--radius-md)}.lobby-guide{position:absolute;top:44%;left:50%;transform:translate(-50%);display:flex;flex-direction:column;align-items:center;gap:2px;margin:0;padding:10px var(--space-4);border-radius:999px;background:#24304785;backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);color:var(--ui-white);font-family:var(--font-display);text-align:center;max-width:calc(100% - (var(--icon-column-width) + var(--game-control-edge) + var(--space-2)) * 2);white-space:normal;pointer-events:none;z-index:var(--z-hud)}.lobby-guide-eyebrow{font-size:var(--font-size-caption);letter-spacing:3px;color:var(--ui-sky);white-space:nowrap}.lobby-guide strong{font-size:var(--font-size-title);line-height:1.2;text-shadow:0 2px 0 rgba(36,48,71,.9)}.lobby-guide[hidden]{display:none}.lobby-guide[data-with-control-guide=true]{top:18%}.control-guide{--control-guide-cycle: 2.4s;position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--space-4);pointer-events:none;z-index:calc(var(--z-hud) + 1);background:#070d1c66;transition:opacity .32s ease}.control-guide[hidden]{display:none}.control-guide[data-leaving=true]{opacity:0}.control-guide[data-detail=simple]{background:#070d1c47}.control-guide[data-detail=simple] .control-guide-grid,.control-guide[data-detail=simple] .control-guide-callout{display:none}.control-guide-reason{margin:0;padding:8px var(--space-4);border-radius:999px;background:#ef4444d1;color:var(--ui-white);font-family:var(--font-display);font-size:var(--font-size-label);text-align:center;max-width:calc(100% - (var(--icon-column-width) + var(--game-control-edge) + var(--space-2)) * 2);border-radius:var(--radius-lg)}.control-guide-reason[hidden]{display:none}.control-guide-grid{display:grid;grid-template-columns:repeat(3,auto);align-items:center;justify-items:center;column-gap:var(--space-4);row-gap:var(--space-3)}.control-guide-grid figure:nth-of-type(1){grid-area:1 / 1}.control-guide-grid figure:nth-of-type(2){grid-area:1 / 3}.control-guide-grid figure:nth-of-type(3){grid-area:2 / 1}.control-guide-grid figure:nth-of-type(4){grid-area:2 / 3}.control-guide-item{margin:0;display:flex;flex-direction:column;align-items:center;gap:8px;width:124px}.control-guide-stage{position:relative;width:108px;height:108px;display:grid;place-items:center;perspective:110px}.control-guide-phone,.control-guide-swipe{width:auto;height:88px;object-fit:contain;transform-style:preserve-3d;filter:drop-shadow(0 3px 6px rgba(7,13,28,.55))}.control-guide-swipe{height:82px}.control-guide-phone--forward,.control-guide-swipe--forward{height:106px}.control-guide-phone--lateral{animation:control-guide-tilt var(--control-guide-cycle) ease-in-out infinite}.control-guide-phone--forward{animation:control-guide-tilt-forward var(--control-guide-cycle) ease-in-out infinite}.control-guide-swipe--lateral{animation:control-guide-drag var(--control-guide-cycle) ease-in-out infinite}.control-guide-swipe--forward{animation:control-guide-drag-forward var(--control-guide-cycle) ease-in-out infinite}@keyframes control-guide-tilt{0%,to{transform:rotate(0)}25%{transform:rotate(-13deg)}50%{transform:rotate(0)}75%{transform:rotate(13deg)}}@keyframes control-guide-tilt-forward{0%,to{transform:rotateX(0) translateY(0)}25%{transform:rotateX(24deg) translateY(5px)}50%{transform:rotateX(0) translateY(0)}75%{transform:rotateX(-24deg) translateY(-5px)}}@keyframes control-guide-drag{0%,to{transform:translate(0)}25%{transform:translate(-18px)}50%{transform:translate(0)}75%{transform:translate(18px)}}@keyframes control-guide-drag-forward{0%,to{transform:translateY(0)}25%{transform:translateY(-18px)}50%{transform:translateY(0)}75%{transform:translateY(18px)}}.control-guide-or{grid-area:1 / 2 / 3 / 3;font-family:var(--font-display);font-size:var(--font-size-label);color:var(--ui-white);-webkit-text-stroke:3px #2f3540;paint-order:stroke fill;letter-spacing:.06em}.control-guide-item figcaption{font-family:var(--font-display);font-size:var(--font-size-body);line-height:1.3;text-align:center;color:var(--ui-white);-webkit-text-stroke:3px #2f3540;paint-order:stroke fill}.control-guide-hold{margin:0;display:flex;flex-direction:column;align-items:center;gap:6px}.control-guide-hold img{width:auto;height:108px;object-fit:contain;filter:drop-shadow(0 3px 6px rgba(7,13,28,.55))}.control-guide-hold figcaption{font-family:var(--font-display);font-size:var(--font-size-body);color:var(--ui-white);-webkit-text-stroke:3px #2f3540;paint-order:stroke fill;text-align:center}.control-guide-cta{margin:0;font-family:var(--font-display);font-size:var(--font-size-title);color:var(--ui-white);-webkit-text-stroke:4px #2f3540;paint-order:stroke fill;animation:control-guide-cta var(--control-guide-cycle) ease-in-out infinite}@keyframes control-guide-cta{0%,to{opacity:.72;transform:scale(1)}50%{opacity:1;transform:scale(1.06)}}.control-guide-callout{position:absolute;left:var(--callout-x, 50%);top:var(--callout-y, 50%);width:0;height:0}.control-guide-callout[hidden]{display:none}.control-guide-ring{position:absolute;left:50%;top:50%;width:var(--callout-size, 56px);height:var(--callout-size, 56px);transform:translate(-50%,-50%);border:3px solid var(--ui-amber);border-radius:999px;background:#243047b8;box-shadow:0 0 0 3px #243047bf,0 0 14px #ffc53d8c;animation:control-guide-ring var(--control-guide-cycle) ease-in-out infinite}@keyframes control-guide-ring{0%,to{transform:translate(-50%,-50%) scale(1);opacity:.85}50%{transform:translate(-50%,-50%) scale(1.12);opacity:1}}.control-guide-callout-text{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:calc(var(--callout-size, 56px) * .72);display:block;text-align:center;white-space:normal;word-break:keep-all;line-height:1.08;font-family:var(--font-display);font-size:13px;color:var(--ui-white);-webkit-text-stroke:2.5px #2f3540;paint-order:stroke fill}.tutorial-gesture{--control-guide-cycle: 2.4s;display:flex;align-items:flex-end;gap:6px;pointer-events:none}.tutorial-gesture-item{display:flex;flex-direction:column;align-items:center;gap:2px;margin:0}.tutorial-gesture-item figcaption{font-family:var(--font-display);font-size:var(--font-size-caption);color:var(--ui-white);text-shadow:0 1px 2px rgba(7,13,28,.75);white-space:nowrap}.tutorial-gesture-stage{position:relative;width:76px;height:76px;display:grid;place-items:center;perspective:110px}.tutorial-gesture-art{grid-area:1 / 1;width:auto;height:60px;object-fit:contain;transform-style:preserve-3d;filter:drop-shadow(0 2px 5px rgba(7,13,28,.55))}.tutorial-gesture-art--tilt-forward,.tutorial-gesture-art--drag-forward{height:74px}.tutorial-gesture-art--tilt-lateral{animation:control-guide-tilt var(--control-guide-cycle) ease-in-out infinite}.tutorial-gesture-art--tilt-forward{animation:control-guide-tilt-forward var(--control-guide-cycle) ease-in-out infinite}.tutorial-gesture-art--drag-lateral{animation:control-guide-drag var(--control-guide-cycle) ease-in-out infinite}.tutorial-gesture-art--drag-forward{animation:control-guide-drag-forward var(--control-guide-cycle) ease-in-out infinite}.tutorial-gesture[data-axis=forward] .tutorial-gesture-art--tilt-lateral,.tutorial-gesture[data-axis=forward] .tutorial-gesture-art--drag-lateral,.tutorial-gesture[data-axis=lateral] .tutorial-gesture-art--tilt-forward,.tutorial-gesture[data-axis=lateral] .tutorial-gesture-art--drag-forward,.tutorial-gesture-hop,.tutorial-gesture-draw-shot,.tutorial-gesture-arrow{display:none}.tutorial-gesture[data-skill=hop] .tutorial-gesture-hop,.tutorial-gesture[data-skill=draw-shot] .tutorial-gesture-draw-shot{display:flex}.tutorial-gesture[data-skill=hop] .tutorial-gesture-arrow,.tutorial-gesture[data-skill=draw-shot] .tutorial-gesture-arrow{display:block;padding-bottom:22px;font-family:var(--font-display);font-size:var(--font-size-caption);color:var(--ui-white);opacity:.85;text-shadow:0 1px 2px rgba(7,13,28,.75)}.tutorial-gesture-shot{width:76px;height:72px;border:3px solid var(--ui-ink);border-radius:4px;object-fit:cover;filter:drop-shadow(0 2px 5px rgba(7,13,28,.55))}.tutorial-gesture-or{padding-bottom:22px;font-family:var(--font-display);font-size:var(--font-size-caption);color:var(--ui-white);opacity:.85;text-shadow:0 1px 2px rgba(7,13,28,.75)}@media(prefers-reduced-motion:reduce){.control-guide-phone,.control-guide-swipe,.control-guide-cta,.control-guide-ring,.tutorial-gesture-art{animation:none}}@media(max-width:374px){.control-guide-grid{column-gap:var(--space-3)}.control-guide-item{width:106px}.control-guide-stage{width:92px;height:92px}.control-guide-phone{height:74px}.control-guide-swipe{height:70px}}body[data-box-height=short] .control-guide{gap:var(--space-2)}body[data-box-height=short] .control-guide-stage{width:88px;height:88px}body[data-box-height=short] .control-guide-phone{height:70px}body[data-box-height=short] .control-guide-swipe{height:66px}body[data-box-height=short] .control-guide-phone--forward,body[data-box-height=short] .control-guide-swipe--forward{height:86px}body[data-box-height=short] .control-guide-hold img{height:84px}.tutorial-objective[data-gesture=compact]{gap:4px}.tutorial-objective[data-gesture=compact] .tutorial-gesture-stage{width:58px;height:58px}.tutorial-objective[data-gesture=compact] .tutorial-gesture-art{height:46px}.tutorial-objective[data-gesture=compact] .tutorial-gesture-art--tilt-forward,.tutorial-objective[data-gesture=compact] .tutorial-gesture-art--drag-forward{height:54px}.tutorial-objective[data-gesture=compact] .tutorial-gesture-or,.tutorial-objective[data-gesture=compact] .tutorial-gesture-arrow{padding-bottom:16px}.tutorial-objective[data-gesture=compact] .tutorial-gesture-shot{width:58px;height:55px}.tutorial-objective[data-gesture=tiny]{gap:4px}.tutorial-objective[data-gesture=tiny] .tutorial-gesture{gap:10px}.tutorial-objective[data-gesture=tiny] .tutorial-gesture-item figcaption,.tutorial-objective[data-gesture=tiny] .tutorial-gesture-or,.tutorial-objective[data-gesture=tiny] .tutorial-gesture-arrow{display:none}.tutorial-objective[data-gesture=tiny] .tutorial-gesture-stage{width:42px;height:42px}.tutorial-objective[data-gesture=tiny] .tutorial-gesture-art{height:34px}.tutorial-objective[data-gesture=tiny] .tutorial-gesture-art--tilt-forward,.tutorial-objective[data-gesture=tiny] .tutorial-gesture-art--drag-forward{height:40px}.tutorial-objective[data-gesture=tiny] .tutorial-gesture-shot{width:44px;height:42px;border-width:2px}.tutorial-objective[data-gesture=none] .tutorial-gesture{display:none}.primary-actions{z-index:var(--z-hud)}.primary-actions .ui-button--icon{width:var(--icon-column-width);min-width:var(--icon-column-width);height:var(--icon-column-width)}.primary-actions .ui-button--icon[hidden]{display:none}.home-side-actions{position:absolute;left:var(--game-control-edge);bottom:calc(12px + var(--lobby-stack-height, 0px) + var(--space-2));display:flex;flex-direction:column;gap:10px;width:var(--icon-column-width);pointer-events:auto;z-index:var(--z-hud)}.home-side-actions .ui-button--icon{width:var(--icon-column-width);min-width:var(--icon-column-width);height:var(--icon-column-width)}.home-side-actions .ui-button--icon[hidden]{display:none}.action-icon{width:34px;height:34px;object-fit:contain;pointer-events:none}.tutorial-objective,.tutorial-objective h2{color:var(--ui-white)}.tutorial-card{display:flex;flex-direction:column;align-items:flex-start;gap:2px;animation:tutorial-card-in .24s ease-out}.tutorial-objective[data-recovered=true] .tutorial-card{animation:tutorial-card-recovered .42s ease-out}@keyframes tutorial-card-in{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}@keyframes tutorial-card-recovered{0%,to{filter:none}30%{filter:drop-shadow(0 0 10px rgba(239,68,68,.95))}}.tutorial-card-step{margin:0;font-family:var(--font-display);font-size:var(--font-size-caption);letter-spacing:2px;opacity:.9;text-shadow:0 1px 2px rgba(7,13,28,.7)}#tutorial-objective-copy,.tutorial-card-title{margin:0;color:var(--ui-white);font-family:var(--font-display);font-size:var(--font-size-title);line-height:1.25;text-shadow:0 2px 0 rgba(7,13,28,.85),0 6px 14px rgba(7,13,28,.5)}.tutorial-checklist{margin:2px 0 0;padding:0;list-style:none;display:flex;flex-direction:column;gap:1px}.tutorial-checklist li{font-family:var(--font-display);font-size:var(--font-size-label);line-height:1.35;opacity:.86;text-shadow:0 1px 2px rgba(7,13,28,.8);transition:color .16s ease,opacity .16s ease}.tutorial-checklist li[data-done=true]{color:var(--ui-grass);opacity:1}.tutorial-hint{position:absolute;left:50%;top:44%;transform:translate(-50%);display:flex;align-items:center;gap:var(--space-2);padding:8px var(--space-4);border-radius:999px;background:#24304794;backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);color:var(--ui-white);font-family:var(--font-display);font-size:var(--font-size-label);white-space:nowrap;pointer-events:none;z-index:var(--z-hud)}.tutorial-hint[hidden],.tutorial-objective.is-success .tutorial-gesture{display:none}.tutorial-hint[data-urgency=success]{padding:var(--space-3) var(--space-6);border:3px solid var(--ui-ink);border-radius:var(--radius-lg);background:var(--ui-grass);box-shadow:0 5px 0 var(--ui-grass-deep);color:var(--ui-white);font-size:var(--font-size-hero);text-shadow:0 2px 0 var(--ui-grass-deep);backdrop-filter:none;-webkit-backdrop-filter:none}.tutorial-hint[data-urgency=now]{background:#ef4444b8;animation:tutorial-hint-now .52s ease-in-out infinite}@keyframes tutorial-hint-now{0%,to{transform:translate(-50%) scale(1)}50%{transform:translate(-50%) scale(1.05)}}.tutorial-hint-arrow[data-arrow=none]{display:none}.tutorial-hint-arrow[data-arrow=left]:before{content:"◀"}.tutorial-hint-arrow[data-arrow=right]:before{content:"▶"}.tutorial-hint-arrow[data-arrow=forward]:before{content:"▲"}.tutorial-hint-arrow[data-arrow=back]:before{content:"▼"}.tutorial-hint-arrow{font-size:var(--font-size-body);animation:tutorial-hint-arrow .9s ease-in-out infinite}@keyframes tutorial-hint-arrow{0%,to{opacity:.55}50%{opacity:1}}.tutorial-hint[data-idle="1"],.tutorial-hint[data-idle="2"]{font-size:var(--font-size-title);background:#243047c2}.tutorial-hint[data-idle="1"] .tutorial-hint-arrow,.tutorial-hint[data-idle="2"] .tutorial-hint-arrow{animation:tutorial-hint-idle-arrow .7s ease-in-out 2}@keyframes tutorial-hint-idle-arrow{0%,to{opacity:1;transform:scale(1)}50%{opacity:.35;transform:scale(1.35)}}.tutorial-skip[data-emphasis=true]{border-color:var(--ui-amber);box-shadow:0 4px #243047d9,0 0 0 4px #ffc53d80;animation:tutorial-skip-emphasis 1.4s ease-in-out 3}@keyframes tutorial-skip-emphasis{0%,to{transform:translate(-50%) scale(1)}50%{transform:translate(-50%) scale(1.06)}}@media(prefers-reduced-motion:reduce){.tutorial-card,.tutorial-hint,.tutorial-hint-arrow,.tutorial-skip{animation:none!important}}.tutorial-objective button{font-family:var(--font-display);min-height:var(--tap-target-min);border-radius:var(--radius-md);border:2px solid var(--ui-ink);background:var(--ui-white);color:var(--ui-ink);box-shadow:0 4px #243047d9;padding:0 var(--space-4);cursor:pointer;font-size:var(--font-size-body)}.tutorial-skip{font-family:var(--font-display);min-height:var(--tap-target-min);padding:0 var(--space-5);border-radius:var(--radius-lg);border:2px solid var(--ui-ink);background:var(--ui-white);color:var(--ui-ink);box-shadow:0 4px #243047d9;font-size:var(--font-size-label)}.ball-camera-overlay{border:3px solid var(--ui-ink);border-radius:var(--radius-xl);background:transparent;box-shadow:var(--surface-hard-shadow-lg)}.game-dialog{background:var(--surface-panel);border:var(--surface-panel-border);border-radius:var(--radius-xl);box-shadow:0 8px #243047d9,0 26px 40px -18px #2430478c;color:var(--ui-ink)}.game-dialog::backdrop{background:#24304773;backdrop-filter:blur(3px)}.game-dialog h2{font-family:var(--font-display);color:var(--ui-ink)}.dialog-eyebrow{color:var(--ui-blue-deep);letter-spacing:3px;font-size:var(--font-size-caption)}.notice-dialog{max-height:calc(100dvh - 40px - var(--safe-area-top) - var(--game-navigation-overlay-height) - var(--safe-area-bottom) - var(--monetization-banner-height));overflow:hidden;text-align:center}.notice-dialog[open]{display:grid;grid-template-rows:minmax(0,1fr) auto}.notice-scroll{min-height:0;padding-right:4px;overflow-y:auto;overscroll-behavior:contain;scrollbar-gutter:stable}.notice-dialog>.dialog-actions{padding-top:var(--space-3)}.notice-dialog .dialog-ball{margin:0 auto 14px}.notice-dialog .notice-title{font-size:var(--font-size-hero);letter-spacing:-.02em}.notice-section{margin:12px 0 0;color:var(--ui-blue-deep);font-family:var(--font-display);font-size:var(--font-size-label);letter-spacing:1px}.notice-updates{display:grid;gap:var(--space-2);margin-top:var(--space-3)}.notice-skill{display:grid;align-items:start;gap:var(--space-2);padding:8px 10px;border:2px solid var(--ui-ink);border-radius:var(--radius-lg);background:var(--ui-cream);text-align:left}.notice-skill-media{position:relative;margin:0;overflow:hidden;border:2px solid rgb(36 48 71 / .2);border-radius:calc(var(--radius-lg) - 4px);background:var(--ui-sky-soft)}.notice-skill-preview{display:block;width:100%;height:auto}.notice-skill-copy{min-width:0}.notice-skill-title{margin:0;color:var(--ui-blue-deep);font-family:var(--font-display);font-size:var(--font-size-label);letter-spacing:.5px}.notice-skill-body{margin:2px 0 0;color:var(--ui-ink);font-family:var(--font-display);font-size:var(--font-size-caption);line-height:1.3;word-break:keep-all}@media(max-height:700px){.notice-dialog .dialog-ball{display:none}.notice-updates{gap:4px;margin-top:var(--space-2)}.notice-skill{padding:5px 8px}}.notice-list li{padding:12px 16px;border:2px solid rgba(36,48,71,.16);border-radius:var(--radius-lg);background:var(--ui-cream);color:var(--ui-ink);font-family:var(--font-display);font-size:var(--font-size-heading);line-height:1.3;text-align:left}.notice-list li:before{flex:0 0 auto;width:10px;height:10px;border-radius:999px;background:var(--ui-amber);box-shadow:0 0 0 2px #24304733;content:""}.tutorial-complete-copy{color:var(--ui-ink-soft);font-size:var(--font-size-body)}.dialog-ball{background:radial-gradient(circle at 35% 30%,#fff 2%,#cfd8e6 34%,#8d9bb1 70%,#4c586c);border:none;box-shadow:inset -6px -8px 14px #141e3259,0 10px 12px -6px #24304773}.dialog-actions{display:flex;flex-direction:column;gap:var(--space-3)}.easy-offer-dialog,body.monetization-banner-visible .easy-offer-dialog{inset:calc(var(--safe-area-top) + var(--game-navigation-overlay-height) + var(--space-2)) var(--safe-area-right) calc(var(--safe-area-bottom) + var(--monetization-banner-height) + var(--space-2)) var(--safe-area-left);width:min(320px,calc(100vw - var(--safe-area-left) - var(--safe-area-right) - 32px));box-sizing:border-box;height:fit-content;margin:auto;padding:var(--space-4);text-align:center}.easy-offer-dialog h2{margin:0;font-size:var(--font-size-title);line-height:1.2;overflow-wrap:anywhere}.easy-offer-question{margin:var(--space-2) 0 0;color:var(--ui-ink-soft);font-family:var(--font-display);font-size:var(--font-size-label);line-height:1.3;overflow-wrap:anywhere}.easy-offer-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-2);margin-top:var(--space-4)}.easy-offer-actions .ui-button{width:100%;min-height:var(--tap-target-min);white-space:normal}.pause-run-button>span{display:inline-block;padding-right:.12em;font-family:var(--font-display);font-size:25px;letter-spacing:-.25em;line-height:1}.pause-dialog,body.monetization-banner-visible .pause-dialog{inset:calc(var(--safe-area-top) + var(--game-navigation-overlay-height) + var(--space-2)) var(--safe-area-right) calc(var(--safe-area-bottom) + var(--monetization-banner-height) + var(--space-2)) var(--safe-area-left);width:min(340px,calc(100vw - var(--safe-area-left) - var(--safe-area-right) - 24px));box-sizing:border-box;height:fit-content;max-height:calc(100vh - var(--safe-area-top) - var(--game-navigation-overlay-height) - var(--safe-area-bottom) - var(--monetization-banner-height) - 16px);max-height:calc(100dvh - var(--safe-area-top) - var(--game-navigation-overlay-height) - var(--safe-area-bottom) - var(--monetization-banner-height) - 16px);margin:auto;padding:var(--space-3) var(--space-4) var(--space-4);overflow-y:auto;text-align:left}.pause-dialog[open]{display:flex;flex-direction:column;gap:var(--space-3)}.pause-dialog__header{min-width:0;text-align:center}.pause-dialog__header h2{min-width:0;margin:0;font-size:var(--font-size-heading);line-height:1.15;overflow-wrap:anywhere}.pause-menu,.pause-confirm{display:flex;flex-direction:column;gap:var(--space-2)}.pause-menu[hidden],.pause-confirm[hidden]{display:none}.pause-resume-button{width:100%;min-height:54px;margin-bottom:var(--space-2);white-space:normal}.pause-recovery-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-2)}.pause-recovery{display:flex;min-width:0}.pause-recovery>.ui-button{width:100%;min-height:var(--tap-target-min);padding-inline:var(--space-2);line-height:1.2;white-space:normal}.pause-local-status{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}.pause-sound-settings{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-2)}.pause-toggle{display:flex;align-items:center;justify-content:space-between;min-width:0;min-height:var(--tap-target-min);gap:var(--space-2);padding:0 var(--space-2) 0 var(--space-3);font-size:var(--font-size-label);line-height:1.2}.pause-toggle>span:first-child{min-width:0;overflow:hidden;text-overflow:ellipsis}.pause-toggle__state{flex:0 0 auto;min-width:44px;padding:3px 8px;border-radius:var(--radius-pill, 999px);background:var(--ui-grass);color:var(--ui-white);font-size:var(--font-size-caption);text-align:center;text-shadow:0 1px 0 var(--ui-grass-deep)}.pause-toggle[aria-pressed=false] .pause-toggle__state{background:#24304729;color:var(--ui-ink);text-shadow:none}.pause-secondary-actions,.pause-confirm__actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-2)}.pause-secondary-actions .ui-button,.pause-confirm__actions .ui-button{min-height:var(--tap-target-min);padding:var(--space-2);font-size:var(--font-size-caption);line-height:1.25;white-space:normal}.pause-confirm h3{margin:0;color:var(--ui-coral-deep);font-family:var(--font-display);font-size:var(--font-size-label);line-height:1.25;overflow-wrap:anywhere}@media(max-width:339px){.pause-recovery-row,.pause-sound-settings,.pause-secondary-actions,.pause-confirm__actions{grid-template-columns:minmax(0,1fr)}}body[data-run-paused=true] :is(.mission-toast,.mission-toast-reward,.mission-toast-burst,.distance-toast,.score-award-toast,.graze-score-fx__body,.graze-score-fx__row,.hud-score-number--merge,.draw-shot-cue.is-playing,.rewind-cue.is-playing,.dash-cue.is-playing,#game.is-rewinding){animation-play-state:paused!important}body[data-run-paused=true] #game.is-rewinding:after,body[data-run-paused=true] #game.is-dashing:before{animation-play-state:paused!important}.result-sheet,body.monetization-banner-visible .result-sheet{--result-sheet-max-height: calc( 100vh - var(--safe-area-top) - var(--game-navigation-overlay-height) - var(--safe-area-bottom) - var(--monetization-banner-height) - 16px );--result-sheet-max-height: calc( 100dvh - var(--safe-area-top) - var(--game-navigation-overlay-height) - var(--safe-area-bottom) - var(--monetization-banner-height) - 16px );inset:calc(var(--safe-area-top) + var(--game-navigation-overlay-height) + var(--space-2)) var(--safe-area-right) calc(var(--safe-area-bottom) + var(--monetization-banner-height) + var(--space-2)) var(--safe-area-left);width:min(384px,calc(100vw - var(--safe-area-left) - var(--safe-area-right) - 28px));max-width:calc(100vw - var(--safe-area-left) - var(--safe-area-right) - 28px);height:fit-content;max-height:var(--result-sheet-max-height);margin:auto;border:3px solid var(--ui-ink);border-radius:var(--radius-xl);padding:0;background:linear-gradient(#ffd76e,#ffb13c);overflow:hidden;box-shadow:0 8px #243047d9,0 26px 40px -18px #2430478c}.result-sunburst{position:absolute;inset:-40%;background:repeating-conic-gradient(#ffce5c 0 9deg,#ffbf3d 9deg 18deg);animation:result-spin 40s linear infinite}@keyframes result-spin{to{transform:rotate(360deg)}}.result-stack{position:relative;display:flex;flex-direction:column;align-items:center;gap:var(--space-2);width:100%;max-height:calc(var(--result-sheet-max-height) - 6px);padding:20px var(--space-5) var(--space-5);overflow-y:auto;overscroll-behavior:contain;scrollbar-gutter:stable;scroll-padding-block:var(--space-4);-webkit-overflow-scrolling:touch}.result-sheet .dialog-eyebrow{color:#8a5a06}.result-reason{font-family:var(--font-display);font-size:var(--font-size-title);color:#5c3d00;margin:0}.result-number-row{width:100%;height:104px;margin:-9px 0}.result-score-display{display:inline-flex;align-items:baseline;width:max-content;gap:.0698em;font-size:86px;white-space:nowrap}.result-number{font-size:1em;-webkit-text-stroke:4px var(--ui-ink);text-shadow:0 7px 0 var(--ui-ink)}.result-number-unit{font-family:var(--font-display);font-size:.3721em;color:var(--ui-white);-webkit-text-stroke:3px var(--ui-ink);paint-order:stroke fill;text-shadow:0 5px 0 var(--ui-ink)}.result-gap{font-family:var(--font-display);font-size:var(--font-size-title);color:#5c3d00;margin:0;text-align:center}.result-chips{display:flex;gap:var(--space-3);flex-wrap:wrap;justify-content:center}.result-chips .ui-chip{box-shadow:0 4px #5a3c008c}.result-substats{display:flex;gap:var(--space-4);color:#7a4c07;font-size:var(--font-size-body);margin:0}.substat-icon{width:22px;height:22px;object-fit:contain;vertical-align:-5px;margin-right:4px}.result-cta{width:100%;display:flex;flex-direction:column;gap:var(--space-2);padding-top:var(--space-2)}#exit-dialog{width:min(340px,calc(100vw - 2 * var(--space-4)));padding:var(--space-4);text-align:center}#exit-dialog .dialog-copy{margin:var(--space-2) 0 0;color:var(--ui-ink-soft, currentColor);font-size:var(--font-size-body)}#heart-dialog{width:min(340px,calc(100vw - 2 * var(--space-4)));padding:var(--space-4);text-align:center}#heart-dialog .dialog-copy{margin:var(--space-2) 0 0;color:var(--ui-ink, currentColor);font-size:var(--font-size-title);font-variant-numeric:tabular-nums}.course-clear-stars{display:flex;gap:10px;margin:8px 0 2px}.course-star{font-family:var(--font-display);font-size:44px;line-height:1;-webkit-text-stroke:2px var(--ui-ink);paint-order:stroke fill;transform-origin:50% 55%}.course-star[data-earned=true]{color:#fff;text-shadow:0 3px 0 var(--ui-ink);animation:course-star-pop .42s cubic-bezier(.2,1.4,.4,1) both}.course-star:nth-child(1){animation-delay:.12s}.course-star:nth-child(2){animation-delay:.3s}.course-star:nth-child(3){animation-delay:.48s}.course-star[data-earned=false]{color:#2430474d}@keyframes course-star-pop{0%{transform:scale(.2) rotate(-40deg);opacity:0}55%{transform:scale(1.3) rotate(8deg);opacity:1}to{transform:scale(1) rotate(0);opacity:1}}.course-clear-time{display:flex;align-items:center;justify-content:center;gap:6px;margin:0;font-family:var(--font-display);font-size:var(--font-size-heading);color:#7a4f05}.course-clear-time .ui-chip__icon--time{width:20px;height:20px;border-radius:50%;flex:none}.course-clear-reward{display:flex;align-items:center;justify-content:center;gap:6px;margin:2px 0 8px;font-size:var(--font-size-label);font-weight:700;color:#8a5a06;text-align:center}.course-clear-reward[data-gold=true]{margin:4px 0 10px;font-family:var(--font-display);font-size:30px;line-height:1.1;color:#fff;-webkit-text-stroke:3px var(--ui-ink);paint-order:stroke fill;text-shadow:0 3px 0 var(--ui-ink)}.course-clear-coin{width:30px;height:30px;filter:drop-shadow(0 2px 0 var(--ui-ink))}.course-clear-coin[hidden]{display:none}.course-clear-reward[data-gold=true] .course-clear-coin,.course-clear-reward[data-gold=true] #course-clear-reward-text{animation:course-star-pop .42s cubic-bezier(.2,1.4,.4,1) .62s both}#heart-dialog .dialog-note{margin:var(--space-2) 0 var(--space-3);color:var(--ui-ink-soft, currentColor);font-size:var(--font-size-caption);line-height:1.5}#heart-dialog .ui-button:disabled{opacity:.45;cursor:not-allowed}.settings-sheet{width:min(360px,calc(100vw - 28px));max-width:calc(100vw - 28px);max-height:calc(100vh - var(--safe-area-top) - var(--game-navigation-overlay-height) - var(--safe-area-bottom) - var(--monetization-banner-height) - var(--space-5));padding:var(--space-4) var(--space-5);display:flex;flex-direction:column;gap:var(--space-3);text-align:left}.settings-sheet:not([open]){display:none}.settings-sheet .dialog-eyebrow,.settings-sheet h2{margin:0}.settings-sheet h2{font-size:var(--font-size-title)}.settings-rows{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:var(--space-2);overflow-y:auto;-webkit-overflow-scrolling:touch}.settings-row{display:flex;align-items:center;gap:var(--space-3);min-height:44px;padding:var(--space-2) var(--space-3);border-radius:var(--radius-md);background:var(--ui-cream);border:2px solid var(--ui-ink)}.settings-row[hidden]{display:none}.settings-row__label{font-family:var(--font-display);margin-right:auto}.settings-row__choices{display:flex;gap:var(--space-2)}.settings-row__note,.settings-row__value{font-size:var(--font-size-caption);opacity:.72}.settings-promotion-tests{display:flex;flex-direction:column;gap:var(--space-2);padding:var(--space-3);border-radius:var(--radius-lg)}.settings-promotion-tests[hidden]{display:none}.settings-promotion-tests h3,.settings-promotion-test-hint,.settings-promotion-test-result{margin:0}.settings-promotion-tests h3{font-family:var(--font-display);font-size:var(--font-size-label);color:var(--ui-blue-deep)}.settings-promotion-test-hint,.settings-promotion-test-result{font-size:var(--font-size-caption);line-height:1.35}.settings-promotion-test-hint{color:var(--ui-muted)}.settings-promotion-test-actions{display:grid;gap:var(--space-2)}.settings-promotion-test-actions .ui-button{width:100%;min-height:var(--tap-target-min);padding:var(--space-2) var(--space-3);font-size:var(--font-size-caption);line-height:1.25;text-align:left;white-space:normal}.settings-promotion-test-result{min-height:1.35em;padding:6px 8px;border-radius:var(--radius-md);background:var(--ui-white);color:var(--ui-ink);overflow-wrap:anywhere}.settings-promotion-test-result:empty{display:none}.settings-promotion-test-result[data-outcome=granted]{border-left:5px solid var(--ui-grass)}.settings-promotion-test-result[data-outcome=failed]{border-left:5px solid var(--ui-coral)}.settings-promotion-test-result[data-outcome=unsupported],.settings-promotion-test-result[data-outcome=busy]{border-left:5px solid var(--ui-amber)}.settings-developer-reset{display:flex;flex-direction:column;gap:var(--space-2);padding:var(--space-3);border-radius:var(--radius-lg)}.settings-developer-reset[hidden]{display:none}.settings-developer-reset h3,.settings-developer-reset__hint{margin:0}.settings-developer-reset h3{color:var(--ui-coral-deep);font-family:var(--font-display);font-size:var(--font-size-label)}.settings-developer-reset__hint{color:var(--ui-muted);font-size:var(--font-size-caption);line-height:1.35}.settings-developer-reset .ui-button{width:100%;min-height:var(--tap-target-min);padding:var(--space-2) var(--space-3);font-size:var(--font-size-caption);line-height:1.25;white-space:normal}.reset-data-dialog,body.monetization-banner-visible .reset-data-dialog{width:min(390px,calc(100vw - 28px));max-width:calc(100vw - 28px);inset:calc(var(--safe-area-top) + var(--game-navigation-overlay-height)) 0 calc(var(--safe-area-bottom) + var(--monetization-banner-height));margin:auto;max-height:calc(100vh - var(--safe-area-top) - var(--game-navigation-overlay-height) - var(--safe-area-bottom) - var(--monetization-banner-height) - var(--space-5));max-height:calc(100dvh - var(--safe-area-top) - var(--game-navigation-overlay-height) - var(--safe-area-bottom) - var(--monetization-banner-height) - var(--space-5));padding:var(--space-4);overflow:hidden;text-align:left}.reset-data-dialog[open]{display:flex;flex-direction:column;gap:var(--space-3)}.reset-data-dialog .dialog-eyebrow,.reset-data-dialog h2,.reset-data-state h3,.reset-data-state p{margin:0}.reset-data-dialog h2{font-size:var(--font-size-title)}.reset-data-body{min-height:0;padding-right:3px;overflow-y:auto;overscroll-behavior:contain;scrollbar-gutter:stable;-webkit-overflow-scrolling:touch}.reset-data-state{display:flex;flex-direction:column;gap:var(--space-3)}.reset-data-state[hidden]{display:none}.reset-data-state h3{color:var(--ui-coral-deep);font-family:var(--font-display);font-size:var(--font-size-heading);line-height:1.2}.reset-data-state p,.reset-data-list{color:var(--ui-ink-soft);font-size:var(--font-size-body);line-height:1.45}.reset-data-list{margin:0;padding-left:1.35em}.reset-data-list li+li{margin-top:var(--space-2)}.reset-data-note{padding:var(--space-3);border-radius:var(--radius-lg);color:var(--ui-ink)}.reset-data-note--warning,.reset-data-state--failed{background:var(--ui-coral-soft);border-color:var(--ui-coral-deep)}.reset-data-state--center{min-height:180px;align-items:center;justify-content:center;text-align:center}.reset-data-busy-mark{min-width:70px;padding:2px 14px 8px;border:3px solid var(--ui-ink);border-radius:999px;background:var(--ui-amber);color:var(--ui-ink);font-family:var(--font-display);font-size:var(--font-size-heading);letter-spacing:5px;line-height:1}.reset-data-state--failed{padding:var(--space-3);border-radius:var(--radius-lg)}.reset-data-actions{flex:0 0 auto;padding-top:0}.reset-data-dialog[data-state=clearing] .reset-data-actions{display:none}body[data-box-height=short] .reset-data-dialog{gap:var(--space-2);padding:var(--space-3)}body[data-box-height=short] .reset-data-state{gap:var(--space-2)}@media(max-width:360px){.reset-data-dialog{padding-inline:var(--space-3)}.reset-data-state p,.reset-data-list{font-size:var(--font-size-caption)}}.store-sheet{width:min(430px,100vw);height:100%;max-height:100vh;max-width:100vw;border:none;border-radius:0;padding:calc(var(--safe-area-top) + var(--game-navigation-overlay-height) + 14px) calc(var(--safe-area-right) + 18px) calc(var(--safe-area-bottom) + var(--monetization-banner-height) + 14px) calc(var(--safe-area-left) + 18px);background:var(--surface-page);display:flex;flex-direction:column;gap:var(--space-3);box-shadow:none}.store-sheet:not([open]){display:none}.store-topbar{display:flex;align-items:center;gap:var(--space-3)}.store-topbar .dialog-eyebrow{margin-right:auto}.store-close{border-radius:50%}.adfree-dialog{text-align:center;max-width:320px}.adfree-dialog__icon{display:block;width:72px;height:72px;margin:var(--space-2) auto 0;object-fit:contain;filter:drop-shadow(0 3px 0 rgba(36,48,71,.3))}.adfree-dialog__message{min-height:1.3em;color:var(--ui-coral-deep)}.adfree-dialog__message:empty{display:none}.video-notice-dialog{text-align:center;max-width:320px}.video-notice__icon{display:block;width:72px;height:72px;margin:var(--space-2) auto 0;object-fit:contain;filter:drop-shadow(0 3px 0 rgba(36,48,71,.3))}.video-notice__promotion{display:inline-block;padding:var(--space-1) var(--space-3);border-radius:var(--radius-pill);background:#ff7ac6;color:var(--ui-ink);font-weight:700}.video-notice__promotion[hidden]{display:none}.store-hero{display:flex;gap:var(--space-4);align-items:center;padding:var(--space-4)}.store-preview{width:132px;height:132px;flex:none;border-radius:var(--radius-lg);background:var(--ui-cream);border:2px solid var(--ui-ink);display:flex;align-items:center;justify-content:center;overflow:hidden}.store-preview img{width:112px;height:112px;object-fit:contain}.store-preview-fallback{width:96px;height:96px;border-radius:50%;background:radial-gradient(circle at 35% 30%,#fff 2%,#cfd8e6 34%,#8d9bb1 70%,#4c586c);box-shadow:inset -8px -10px 16px #141e3259}.store-hero-copy{flex:1;display:flex;flex-direction:column;gap:var(--space-2);min-width:0}.store-hero-copy h3{font-family:var(--font-display);font-size:var(--font-size-heading);margin:0;color:var(--ui-ink)}.store-hero-copy p{margin:0;color:var(--ui-muted);font-size:var(--font-size-body)}.store-hero-meta{margin:0;display:flex;gap:var(--space-2)}.store-weight-chip{min-height:30px;padding:0 12px;font-size:var(--font-size-caption);background:var(--ui-sky-soft);border-color:var(--ui-blue-deep)}.store-cell-mass{position:absolute;top:6px;right:6px;padding:1px 6px;border-radius:999px;background:var(--ui-sky-soft);border:1px solid var(--ui-blue-deep);color:var(--ui-ink);font-size:var(--font-size-caption);line-height:1.5}.store-grid{list-style:none;margin:0;padding:2px;display:grid;grid-template-columns:repeat(3,1fr);gap:var(--space-3);overflow-y:auto;flex:1}.store-cell{position:relative;width:100%;aspect-ratio:1 / 1;border-radius:var(--radius-lg);background:var(--ui-white);border:3px solid var(--ui-ink);box-shadow:var(--surface-hard-shadow-lg);display:flex;align-items:center;justify-content:center;cursor:pointer;padding:0}.store-cell[data-selected=true]{outline:4px solid var(--ui-grass);outline-offset:-1px}.store-cell img,.store-cell .store-cell-fallback{width:72%;height:72%;object-fit:contain}.store-cell .store-cell-fallback{border-radius:50%;background:radial-gradient(circle at 35% 30%,#fff 2%,#cfd8e6 34%,#8d9bb1 70%,#4c586c)}.store-cell .ui-badge{position:absolute;bottom:8px;font-size:var(--font-size-caption);padding:2px 10px;max-width:calc(100% - 12px);overflow:hidden;text-overflow:ellipsis}.store-message{min-height:20px;color:var(--ui-ink-soft);font-size:var(--font-size-body);margin:0;text-align:center}body.monetization-banner-visible{--monetization-banner-height: 96px}#appintoss-banner-slot{display:flex;align-items:center;justify-content:center;background:var(--ui-cream);border-top:3px solid var(--ui-ink);color:var(--ui-muted);font-size:var(--font-size-caption)}#appintoss-banner-slot[hidden]{display:none}#appintoss-banner-slot:empty:after{content:"광고 영역";letter-spacing:2px}@media(max-width:374px){.hud-score-number-slot{height:67px;margin-block:-13.5px}.hud-score-display,.graze-score-fx__body{font-size:40px}.hud-resources{--hud-chip-font: var(--font-size-label);--hud-chip-pad: 10px;--hud-chip-lead: 4px;--hud-icon-size: 28px}.result-number-row{height:88px;margin-block:-8px}.result-score-display{font-size:72px}.store-grid{gap:var(--space-2)}.lobby-controls{width:min(300px,calc(100% - 2 * var(--game-control-edge)))}}@media(prefers-reduced-motion:reduce){.result-sunburst,.course-star[data-earned=true],.course-clear-reward[data-gold=true] .course-clear-coin,.course-clear-reward[data-gold=true] #course-clear-reward-text{animation:none}}.rewind-cue{position:absolute;top:168px;left:50%;transform:translate(-50%);display:flex;flex-direction:column;align-items:center;gap:4px;min-width:96px;max-width:60vw;padding:12px 16px 10px;border-radius:var(--radius-lg);background:var(--surface-panel);border:var(--surface-panel-border);box-shadow:var(--surface-hard-shadow-lg);pointer-events:none;opacity:0;z-index:calc(var(--z-hud) + 3)}.rewind-cue.is-playing{animation:rewind-cue var(--rewind-cue-ms, .9s) ease-out 1}.rewind-cue-icon{width:56px;height:56px;image-rendering:pixelated}.rewind-cue-name{font-family:var(--font-display);font-size:var(--font-size-label);line-height:1.1;color:var(--ui-ink);white-space:nowrap}@keyframes rewind-cue{0%{opacity:0;transform:translate(-50%) scale(.6)}16%{opacity:1;transform:translate(-50%) scale(1.08)}26%{opacity:1;transform:translate(-50%) scale(1)}70%{opacity:1;transform:translate(-50%) scale(1)}to{opacity:0;transform:translate(-50%) scale(.92)}}@media(prefers-reduced-motion:reduce){.rewind-cue.is-playing{animation:none;opacity:1}}.dash-cue{position:absolute;top:calc(26% + 6px);left:50%;transform:translate(-50%);display:flex;align-items:center;gap:var(--space-2);max-width:72vw;padding:2px 12px 2px 4px;border-radius:var(--radius-pill);background:var(--surface-panel);border:var(--surface-panel-border);box-shadow:var(--surface-hard-shadow);pointer-events:none;opacity:0;z-index:calc(var(--z-hud) + 3)}#rewind-cue.is-playing~.dash-cue{top:288px}.dash-cue-icon{width:26px;height:26px;image-rendering:pixelated}.dash-cue-name{font-family:var(--font-display);font-size:var(--font-size-label);line-height:1.1;color:var(--ui-ink);white-space:nowrap}@keyframes dash-cue{0%{opacity:0;transform:translate(-50%) translateY(-10px) scale(.92)}14%{opacity:1;transform:translate(-50%) translateY(0) scale(1.05)}24%{opacity:1;transform:translate(-50%) translateY(0) scale(1)}74%{opacity:1;transform:translate(-50%) translateY(0) scale(1)}to{opacity:0;transform:translate(-50%) translateY(-8px) scale(.96)}}.dash-cue.is-playing{animation:dash-cue var(--dash-cue-ms, .9s) ease-out 1}@media(prefers-reduced-motion:reduce){.dash-cue.is-playing{animation:none;opacity:1}}#game.is-rewinding{animation:rewind-flash var(--rewind-effect-ms, .3s) steps(6,end) 1}#game.is-rewinding:after{content:"";position:absolute;inset:0;pointer-events:none;z-index:calc(var(--z-hud) + 2);background:repeating-linear-gradient(to bottom,#d7bcff38 0 2px,#24304729 2px 5px);animation:rewind-scan var(--rewind-effect-ms, .3s) linear 1}@keyframes rewind-flash{0%{filter:saturate(.5) brightness(1.04) contrast(.94)}85%{filter:saturate(.55) brightness(1.03) contrast(.96)}to{filter:none}}@keyframes rewind-scan{0%{opacity:.55;background-position:0 0}85%{opacity:.45;background-position:0 -140px}to{opacity:0;background-position:0 -170px}}@media(prefers-reduced-motion:reduce){#game.is-rewinding{animation:rewind-fade .15s linear 1}#game.is-rewinding:after{animation:none;opacity:.35}@keyframes rewind-fade{0%{filter:saturate(.3) brightness(1.2)}to{filter:none}}}@property --dash-spin{syntax: "<angle>"; inherits: false; initial-value: 0deg;}#game.is-dashing:before{content:"";position:absolute;inset:0;pointer-events:none;z-index:calc(var(--z-hud) + 1);background:repeating-conic-gradient(from var(--dash-spin, 0deg) at var(--dash-center-x, 50%) var(--dash-center-y, 50%),rgb(255 143 60 / .3) 0deg .8deg,rgb(255 143 60 / 0) .8deg 2.4deg,rgb(255 255 255 / .2) 2.4deg 3deg,rgb(255 143 60 / 0) 3deg 6deg);-webkit-mask-image:radial-gradient(circle farthest-side at var(--dash-center-x, 50%) var(--dash-center-y, 50%),transparent 0 18%,rgb(0 0 0 / .45) 34%,#000 58%);mask-image:radial-gradient(circle farthest-side at var(--dash-center-x, 50%) var(--dash-center-y, 50%),transparent 0 18%,rgb(0 0 0 / .45) 34%,#000 58%);animation:dash-speedlines .24s steps(4,end) infinite}@keyframes dash-speedlines{0%{--dash-spin: 0deg}to{--dash-spin: 6deg}}@media(prefers-reduced-motion:reduce){#game.is-dashing:before{animation:none;opacity:.7}}.item-offer-dialog{text-align:center;max-width:320px}.item-offer-art{display:flex;align-items:center;justify-content:center;width:96px;height:96px;margin:6px auto 12px;border-radius:999px;background:radial-gradient(circle at 50% 38%,var(--ui-sky-soft) 0%,var(--ui-sky) 72%);border:var(--surface-panel-border);box-shadow:var(--surface-hard-shadow-lg)}.item-offer-icon{width:64px;height:64px;image-rendering:pixelated}@media(prefers-reduced-motion:no-preference){.item-offer-dialog[open] .item-offer-icon{animation:item-offer-bob 1.6s ease-in-out infinite}}@keyframes item-offer-bob{0%,to{transform:translateY(0)}50%{transform:translateY(-5px)}}.item-offer-dialog .dialog-note{color:var(--ui-blue-deep)}.achievements-sheet,body.monetization-banner-visible .achievements-sheet{inset:calc(var(--safe-area-top) + var(--game-navigation-overlay-height) + var(--space-2)) var(--safe-area-right) calc(var(--safe-area-bottom) + var(--monetization-banner-height) + var(--space-2)) var(--safe-area-left);width:min(420px,calc(100vw - var(--safe-area-left) - var(--safe-area-right) - 16px));max-width:calc(100vw - var(--safe-area-left) - var(--safe-area-right) - 16px);box-sizing:border-box;height:fit-content;max-height:calc(100vh - var(--safe-area-top) - var(--game-navigation-overlay-height) - var(--safe-area-bottom) - var(--monetization-banner-height) - 16px);max-height:calc(100dvh - var(--safe-area-top) - var(--game-navigation-overlay-height) - var(--safe-area-bottom) - var(--monetization-banner-height) - 16px);margin:auto;padding:0;overflow:hidden;text-align:left}.achievements-sheet[open]{display:flex;flex-direction:column}.achievements-topbar{display:flex;flex:none;align-items:center;gap:var(--space-2);padding:var(--space-3) var(--space-3) var(--space-3) var(--space-4);border-bottom:3px solid var(--ui-ink);background:var(--ui-cream)}.achievements-topbar__icon{width:28px;height:28px;flex:none}.achievements-topbar h2{flex:1;min-width:0;margin:0;line-height:1.1;font-size:clamp(18px,5.2vw,var(--font-size-heading));overflow-wrap:normal}.achievements-summary{flex:none;font-variant-numeric:tabular-nums}.achievements-summary[hidden]{display:none}.achievements-close{flex:none;width:40px;min-width:40px;height:40px}.achievements-scroll{flex:1 1 auto;min-height:0;padding:var(--space-3) var(--space-4) var(--space-4);overflow-y:auto;scrollbar-gutter:stable;-webkit-overflow-scrolling:touch}.achievements-notice{margin:0 0 var(--space-3);padding:var(--space-3);border:2px solid var(--ui-ink);border-radius:var(--radius-md);background:var(--ui-sky-soft);color:var(--ui-ink);font-size:var(--font-size-body);line-height:1.4}.achievement-groups{display:grid;gap:var(--space-3)}.achievement-group{display:grid;gap:var(--space-1)}.achievement-group h3{display:flex;align-items:center;gap:var(--space-2);margin:0 0 2px;color:var(--ui-blue-deep);font-family:var(--font-display);font-size:var(--font-size-caption);letter-spacing:.04em}.achievement-group h3:after{flex:1;height:2px;background:var(--ui-sky);content:""}.achievement-list{display:grid;gap:var(--space-1);margin:0;padding:0;list-style:none}.achievement-card{display:grid;grid-template-columns:34px minmax(0,1fr) auto;align-items:center;column-gap:var(--space-2);padding:6px 10px 6px 8px;border:2px solid var(--ui-ink);border-radius:var(--radius-md);background:var(--ui-white);box-shadow:0 3px #24304733}.achievement-card__medal{width:34px;height:34px;filter:grayscale(1) opacity(.4)}.achievement-card[data-completed=true]{background:var(--ui-cream)}.achievement-card[data-completed=true] .achievement-card__medal{filter:none}.achievement-card__copy{display:grid;min-width:0;gap:4px}.achievement-card__copy h4{margin:0;color:var(--ui-ink);font-family:var(--font-display);font-size:var(--font-size-label);line-height:1.15;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.achievement-progress{width:100%;height:7px;overflow:hidden;border-radius:var(--radius-pill);background:#24304724}.achievement-progress__fill{display:block;width:var(--achievement-progress, 0%);height:100%;border-radius:inherit;background:var(--ui-blue);transition:width var(--motion-base) ease}.achievement-card[data-completed=true] .achievement-progress__fill{background:var(--ui-grass)}.achievement-card__value{flex:none;min-width:44px;color:var(--ui-ink-soft);font-family:var(--font-display);font-size:var(--font-size-caption);font-variant-numeric:tabular-nums;text-align:right;white-space:nowrap}.achievement-card[data-completed=true] .achievement-card__value{color:var(--ui-grass-deep);font-size:var(--font-size-title)}.achievement-card__reward{margin:0;color:var(--ui-ink-soft);font-size:var(--font-size-caption);line-height:1.3;overflow-wrap:anywhere}.achievement-card__reward[data-tone=eligible]{color:#7a4c07}.achievement-card__reward[data-tone=granted]{color:var(--ui-grass-deep);font-weight:700}@media(prefers-reduced-motion:reduce){.achievement-progress__fill{transition:none}}@media(max-width:340px){.achievements-topbar,.achievements-scroll{padding-inline:var(--space-3)}}.game-dialog.leaderboard-sheet,body.monetization-banner-visible .leaderboard-sheet{inset:calc(var(--safe-area-top) + var(--game-navigation-overlay-height)) var(--safe-area-right) calc(var(--safe-area-bottom) + var(--monetization-banner-height)) var(--safe-area-left);width:calc(100vw - var(--safe-area-left) - var(--safe-area-right));height:calc(100vh - var(--safe-area-top) - var(--game-navigation-overlay-height) - var(--safe-area-bottom) - var(--monetization-banner-height));height:calc(100dvh - var(--safe-area-top) - var(--game-navigation-overlay-height) - var(--safe-area-bottom) - var(--monetization-banner-height));max-width:none;max-height:none;margin:0;padding:0;overflow:hidden;border:0;border-radius:0;background:var(--ranking-bg);color:var(--ranking-text);box-shadow:none;color-scheme:dark;font-family:var(--font-body);text-align:left}.game-dialog.leaderboard-sheet::backdrop{background:var(--ranking-bg);backdrop-filter:none}.leaderboard-sheet[open]{display:flex;flex-direction:column}.leaderboard-sheet .ui-button{font-family:var(--font-body);letter-spacing:0;text-shadow:none;box-shadow:none}.leaderboard-sheet .ui-button:not(:disabled):active{transform:translateY(1px);box-shadow:none}.leaderboard-topbar{display:flex;flex:0 0 64px;align-items:center;justify-content:flex-end;width:100%;max-width:640px;margin-inline:auto;padding:var(--space-2) var(--space-3)}.leaderboard-sheet .leaderboard-close{border:0;background:transparent;color:var(--ranking-muted);font-size:var(--font-size-title)}.leaderboard-tabs{display:flex;flex:0 0 auto;width:100%;max-width:640px;margin-inline:auto;padding-inline:var(--space-4);border-bottom:1px solid var(--ranking-line)}.leaderboard-sheet .leaderboard-tab{flex:1 1 0;min-width:0;min-height:56px;padding:var(--space-3) var(--space-2);border-radius:0;background:transparent;color:var(--ranking-muted);font-size:var(--font-size-label);font-weight:600;white-space:normal}.leaderboard-tab[aria-selected=true]{color:var(--ranking-text)}.leaderboard-tab[aria-selected=true]:after{position:absolute;right:var(--space-3);bottom:-1px;left:var(--space-3);height:2px;border-radius:2px;background:var(--ranking-text);content:""}.leaderboard-scroll{flex:1 1 auto;min-height:0;overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch}.leaderboard-content,.leaderboard-notice,.leaderboard-state{width:100%;max-width:640px;margin-inline:auto}.leaderboard-content{padding-block:var(--space-2) var(--space-4)}.leaderboard-caption{display:flex;justify-content:space-between;gap:var(--space-3);margin:0;padding:var(--space-3) var(--space-5);color:var(--ranking-muted);font-size:var(--font-size-caption);line-height:1.5}.leaderboard-notice,.leaderboard-state{padding:var(--space-4) var(--space-5);color:var(--ranking-muted);font-size:var(--font-size-body);line-height:1.5}.leaderboard-notice--warning,.leaderboard-state[data-tone=error]{color:var(--ranking-accent)}.leaderboard-state{display:flex;align-items:center;gap:var(--space-3)}.leaderboard-state p{margin:0}.leaderboard-loading-mark{display:none;flex:0 0 auto;width:24px;height:24px;border:3px solid var(--ranking-line);border-top-color:var(--ranking-text);border-radius:50%;animation:leaderboard-spin .8s linear infinite}.leaderboard-state[data-mode=loading] .leaderboard-loading-mark{display:block}@keyframes leaderboard-spin{to{transform:rotate(360deg)}}.leaderboard-list{margin:0;padding:0;list-style:none}.leaderboard-row{display:grid;grid-template-columns:28px 38px minmax(0,1fr) auto;align-items:center;gap:var(--space-3);min-height:72px;padding:var(--space-3) var(--space-5)}.leaderboard-row[data-me=true]{background:var(--ranking-own-bg)}.leaderboard-row__rank{color:var(--ranking-muted);font-size:var(--font-size-body);font-variant-numeric:tabular-nums;overflow-wrap:anywhere;text-align:center}.leaderboard-row[data-me=true] .leaderboard-row__rank{color:var(--ranking-accent)}.leaderboard-row__emblem{display:grid;place-items:center;width:38px;height:38px;border-radius:var(--radius-sm);background:var(--ranking-emblem-mint)}.leaderboard-row__emblem[data-color="1"]{background:var(--ranking-emblem-plum)}.leaderboard-row__emblem[data-color="2"]{background:var(--ranking-emblem-blue)}.leaderboard-row__emblem[data-color="3"]{background:var(--ranking-emblem-ochre)}.leaderboard-row__emblem[data-color="4"]{background:var(--ranking-emblem-coral)}.leaderboard-row__emblem[data-color="5"]{background:var(--ranking-emblem-violet)}.leaderboard-row__emblem:after{width:25px;height:25px;border-radius:50%;background:var(--ranking-ball);content:""}.leaderboard-row__details{display:flex;flex-direction:column;min-width:0;gap:2px}.leaderboard-row__nickname{color:var(--ranking-muted);font-size:var(--font-size-body);line-height:1.4;overflow-wrap:anywhere}.leaderboard-row__score{color:var(--ranking-text);font-size:var(--font-size-title);font-weight:650;font-variant-numeric:tabular-nums;line-height:1.3;overflow-wrap:anywhere}.leaderboard-you{margin-left:var(--space-2);color:var(--ranking-accent)}.leaderboard-percent{padding:5px 8px;border-radius:var(--radius-pill);background:var(--ranking-accent-bg);color:var(--ranking-accent);font-size:var(--font-size-caption);font-weight:600;white-space:nowrap}.leaderboard-gap{padding:0 var(--space-5);width:76px;color:var(--ranking-muted);text-align:center}.leaderboard-actions{display:grid;flex:0 0 auto;min-height:0;max-height:40%;overflow-y:auto;overscroll-behavior:contain;width:100%;max-width:640px;margin-inline:auto;gap:var(--space-3);padding:var(--space-4) var(--space-5) var(--space-5)}.leaderboard-local-record{display:flex;justify-content:space-between;gap:var(--space-3);margin:0;color:var(--ranking-muted);font-size:var(--font-size-caption)}.leaderboard-local-record strong{text-align:right;overflow-wrap:anywhere}.leaderboard-actions .ui-button{width:100%;min-height:var(--tap-target-cta);padding:var(--space-3) var(--space-4);border-radius:var(--radius-md);background:var(--ui-white);color:var(--ranking-bg);font-size:var(--font-size-label);font-weight:600;line-height:1.4;white-space:normal}.leaderboard-friends-hint{margin:0;color:var(--ranking-muted);font-size:var(--font-size-caption);line-height:1.4;text-align:center}@media(max-height:580px){.leaderboard-topbar{flex-basis:48px;padding-block:0}.leaderboard-sheet .leaderboard-tab{min-height:48px;padding-block:var(--space-2)}.leaderboard-actions{gap:var(--space-2);padding:var(--space-2) var(--space-4)}}.leaderboard-prompt__header{display:flex;flex:0 0 auto;align-items:center;justify-content:space-between;gap:var(--space-3);padding:var(--space-4) var(--space-5);border-bottom:2px solid rgb(36 48 71 / .16);background:var(--ui-sky-soft)}.leaderboard-prompt__header>div{min-width:0}.leaderboard-prompt__header .dialog-eyebrow,.leaderboard-prompt__header h2{margin:0}.leaderboard-prompt__header h2{font-size:var(--font-size-heading);line-height:1.15;overflow-wrap:anywhere}.leaderboard-close{flex:0 0 auto;border-radius:50%}.result-leaderboard-register{width:100%;min-height:var(--tap-target-min);padding:var(--space-2) var(--space-3);font-size:var(--font-size-label);line-height:1.2;white-space:normal}.leaderboard-prompt,body.monetization-banner-visible .leaderboard-prompt{inset:calc(var(--safe-area-top) + var(--game-navigation-overlay-height) + var(--space-2)) var(--safe-area-right) calc(var(--safe-area-bottom) + var(--monetization-banner-height) + var(--space-2)) var(--safe-area-left);width:min(390px,calc(100vw - var(--safe-area-left) - var(--safe-area-right) - 20px));height:fit-content;max-height:calc(100vh - var(--safe-area-top) - var(--game-navigation-overlay-height) - var(--safe-area-bottom) - var(--monetization-banner-height) - 16px);max-height:calc(100dvh - var(--safe-area-top) - var(--game-navigation-overlay-height) - var(--safe-area-bottom) - var(--monetization-banner-height) - 16px);margin:auto;padding:0;overflow-y:auto;overscroll-behavior:contain;scroll-padding-bottom:var(--space-5);text-align:left}.leaderboard-prompt[open]{display:flex;flex-direction:column}.leaderboard-prompt__body{display:flex;flex-direction:column;gap:var(--space-2);padding:var(--space-4) var(--space-5) 0}.leaderboard-prompt__summary,.leaderboard-prompt__disclosure,.leaderboard-nickname-hint,.leaderboard-prompt__status,.leaderboard-prompt__error{margin:0;font-size:var(--font-size-body);line-height:1.45}.leaderboard-prompt__summary{color:var(--ui-ink-soft)}.leaderboard-prompt__disclosure{padding:var(--space-2) var(--space-3);overflow-wrap:anywhere;border:2px solid var(--ui-blue-deep);border-radius:var(--radius-md);background:var(--ui-sky-soft);color:var(--ui-ink)}.leaderboard-nickname-field{display:flex;flex-direction:column;gap:6px;margin-top:var(--space-2);color:var(--ui-blue-deep);font-family:var(--font-display);font-size:var(--font-size-label)}.leaderboard-nickname-field input{width:100%;min-height:var(--tap-target-min);padding:9px var(--space-3);border:3px solid var(--ui-ink);border-radius:var(--radius-md);outline:none;background:var(--ui-white);color:var(--ui-ink);font-family:var(--font-body);font-size:16px;line-height:1.25;box-shadow:0 4px #2430474d}.leaderboard-nickname-field input:focus-visible{border-color:var(--ui-blue-deep);box-shadow:0 0 0 4px #4fa9f54d,0 4px #2b6cb080}.leaderboard-nickname-field input[aria-invalid=true]{border-color:var(--ui-coral-deep)}.leaderboard-nickname-hint{color:var(--ui-muted);font-size:var(--font-size-caption)}.leaderboard-prompt__status,.leaderboard-prompt__error{padding:var(--space-2) var(--space-3);border-radius:var(--radius-md)}.leaderboard-prompt__status{border-left:5px solid var(--ui-blue-deep);background:var(--ui-sky-soft);color:var(--ui-ink)}.leaderboard-prompt__error{border-left:5px solid var(--ui-coral-deep);background:var(--ui-coral-soft);color:var(--ui-coral-deep);font-weight:700}.leaderboard-prompt__actions{display:flex;flex:0 0 auto;flex-direction:column;gap:var(--space-2);padding:var(--space-4) var(--space-5) var(--space-5)}body[data-box-height=short] .leaderboard-prompt__header{padding:var(--space-3) var(--space-4)}body[data-box-height=short] .leaderboard-prompt__body{gap:var(--space-1);padding:var(--space-3) var(--space-4) 0}body[data-box-height=short] .leaderboard-prompt__actions{padding:var(--space-3) var(--space-4) var(--space-4)}@media(max-width:360px){.leaderboard-row{padding-inline:var(--space-4);gap:var(--space-2)}.leaderboard-row[data-me=true] .leaderboard-row__details{grid-column:3 / -1}.leaderboard-row[data-me=true] .leaderboard-row__rank,.leaderboard-row[data-me=true] .leaderboard-row__emblem{grid-row:1 / 3}.leaderboard-percent{grid-column:3 / -1;justify-self:start}}@media(max-height:580px){.leaderboard-prompt__header h2{font-size:var(--font-size-title)}.leaderboard-prompt__summary,.leaderboard-prompt__status,.leaderboard-prompt__error{font-size:var(--font-size-caption)}}@media(prefers-reduced-motion:reduce){.leaderboard-loading-mark{animation:none;border-color:var(--ranking-muted)}}.run-quest-dialog{position:fixed;inset:0;margin:auto;width:min(340px,calc(100vw - 40px));max-height:calc(100dvh - 64px - var(--monetization-banner-height));box-sizing:border-box;overflow:auto;padding:24px;text-align:center;font-family:var(--font-display);color:var(--ui-ink);background:var(--ui-cream);border:3px solid var(--ui-ink);border-radius:var(--radius-xl);box-shadow:0 6px 0 var(--ui-ink)}.run-quest-dialog::backdrop{background:#24304759}.run-quest-dialog h2{margin:0 0 16px;font-size:28px}.run-quest-dialog p{margin:12px 0;font-size:20px}.run-quest-dialog .ui-button{margin-top:12px;font-size:21px}.run-quest-hud{position:absolute;bottom:16px;left:50%;transform:translate(-50%);width:max-content;max-width:calc(100% - 32px);box-sizing:border-box;padding:10px 16px;border:2px solid var(--ui-ink);border-radius:var(--radius-lg);background:var(--ui-cream);color:var(--ui-ink);box-shadow:0 3px 0 var(--ui-ink);font:16px/1.3 var(--font-display);text-align:center;pointer-events:none;z-index:12}.run-quest-hud[hidden]{display:none}.run-quest-guide{--guide-back-y: 16px;--guide-forward-y: -16px;--guide-back-angle: 0deg;--guide-forward-angle: 0deg;position:absolute;top:var(--quest-guide-top, 112px);right:12px;display:grid;grid-template-columns:1fr 24px;align-items:center;width:132px;padding:10px;box-sizing:border-box;border:2px solid var(--ui-ink);border-radius:var(--radius-lg);background:var(--ui-cream);color:var(--ui-ink);box-shadow:0 3px 0 var(--ui-ink);font-family:var(--font-display);pointer-events:none;user-select:none;z-index:12}.run-quest-guide[hidden]{display:none}.run-quest-guide-steps{grid-column:1 / -1;display:flex;gap:5px;padding:0;margin:0 0 10px;list-style:none}.run-quest-guide-steps li{position:relative;flex:1;display:grid;justify-items:center;gap:2px;padding:3px 0;border:2px solid transparent;border-radius:var(--radius-sm);opacity:.4}.run-quest-guide-steps [data-state=current]{opacity:1;border-color:var(--ui-ink);background:var(--ui-amber)}.run-quest-guide-steps [data-state=confirmed]{opacity:1;background:var(--ui-grass-soft)}.run-quest-guide-number{font-size:11px;line-height:1}.run-quest-guide-direction{font-size:20px;line-height:1}.run-quest-guide-steps [data-state=confirmed] .run-quest-guide-direction{visibility:hidden}.run-quest-guide-steps [data-state=confirmed]:after{content:"✓";position:absolute;bottom:3px;font-size:20px;line-height:1}.run-quest-guide[data-phase=approach] .run-quest-guide-steps{display:none}.run-quest-guide-gestures{min-width:0}.run-quest-guide-picture{display:none;height:92px;place-items:center;perspective:120px}.run-quest-guide[data-source=tilt] [data-source=tilt],.run-quest-guide[data-source=drag] [data-source=drag],.run-quest-guide[data-source=keyboard] [data-source=keyboard],.run-quest-guide[data-source=none] [data-source=drag]{display:grid}.run-quest-guide-art{display:block;width:auto;height:68px;max-width:100%;object-fit:contain;transform-style:preserve-3d}.run-quest-guide[data-source=tilt]{--guide-back-y: 10px;--guide-forward-y: -10px;--guide-back-angle: 28deg;--guide-forward-angle: -28deg}.run-quest-guide[data-phase=backward] .run-quest-guide-art{animation:quest-guide-backward 1.4s ease-in-out infinite}.run-quest-guide[data-phase=forward] .run-quest-guide-art,.run-quest-guide[data-phase=approach] .run-quest-guide-art{animation:quest-guide-forward 1.4s ease-in-out infinite}.run-quest-guide[data-phase=flick] .run-quest-guide-art{animation:quest-guide-flick 1s linear infinite}@keyframes quest-guide-flick{0%,to{transform:translateY(0) rotateX(0)}20%{transform:translateY(var(--guide-back-y)) rotateX(var(--guide-back-angle))}37%,70%{transform:translateY(var(--guide-forward-y)) rotateX(var(--guide-forward-angle))}85%{transform:translateY(0) rotateX(0)}}@keyframes quest-guide-backward{0%,to{transform:translateY(0) rotateX(0)}30%,65%{transform:translateY(var(--guide-back-y)) rotateX(var(--guide-back-angle))}}@keyframes quest-guide-forward{0%,to{transform:translateY(0) rotateX(0)}30%,65%{transform:translateY(var(--guide-forward-y)) rotateX(var(--guide-forward-angle))}}.run-quest-guide-motion{font-size:32px;line-height:1;text-align:center}.run-quest-guide-motion:before{content:"↑"}.run-quest-guide[data-phase=backward] .run-quest-guide-motion:before{content:"↓"}.run-quest-guide[data-phase=flick] .run-quest-guide-motion:before{content:"↓↑";font-size:25px}.run-quest-guide[data-phase=flick] .run-quest-guide-motion:after{content:"»";display:block;color:var(--ui-blue-deep)}.run-quest-guide-keyboard{align-content:center;gap:8px}.run-quest-guide-keyboard kbd{width:32px;padding:3px;border:2px solid var(--ui-ink);border-radius:var(--radius-sm);box-shadow:0 3px 0 var(--ui-ink);font:24px/1 var(--font-display);text-align:center;opacity:.4}.run-quest-guide[data-phase=backward] kbd:first-child,.run-quest-guide[data-phase=forward] kbd:last-child,.run-quest-guide[data-phase=approach] kbd:last-child,.run-quest-guide[data-phase=flick] kbd{opacity:1;background:var(--ui-amber)}.run-quest-guide[data-phase=flick] kbd:first-child{animation:quest-guide-key-backward 1s steps(1) infinite}.run-quest-guide[data-phase=flick] kbd:last-child{animation:quest-guide-key-forward 1s steps(1) infinite}@keyframes quest-guide-key-backward{0%,20%,to{background:var(--ui-cream)}1%{background:var(--ui-amber)}}@keyframes quest-guide-key-forward{0%,70%,to{background:var(--ui-cream)}20%{background:var(--ui-amber)}}.run-quest-guide[data-source=none] .run-quest-guide-art{animation:none}.run-quest-guide-status{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0;pointer-events:none}body[data-box-height=short] .run-quest-guide{width:112px;padding:7px}body[data-box-height=short] .run-quest-guide-picture{height:70px}body[data-box-height=short] .run-quest-guide-art{height:50px}body[data-box-height=short] .run-quest-guide-steps{gap:2px;margin-bottom:5px}@media(prefers-reduced-motion:reduce){.run-quest-guide .run-quest-guide-art,.run-quest-guide[data-phase=flick] kbd{animation:none}}
