:root{--bg-1: #fce6c0;--bg-2: #f7c4a4;--ink: #5a3a1a;--ink-deep: #3a1810;--accent: #d24a2e;--accent-2: #ff7e3a;--accent-3: #ffb245;--accent-deep: #8a2818;--danger: #e84a5f;--danger-glow: rgba(232, 74, 95, .6);--panel-bg: #fff7e6;--panel-bg-2: #ffe8c4;--hud-bg: rgba(255, 255, 255, .55);--text: var(--ink);--muted: rgba(58, 24, 16, .6);--surface: #fff7e6;--surface-2: #ffe8c4;--surface-border: rgba(58, 24, 16, .3);--shadow-strong: rgba(58, 24, 16, .45);--shadow-soft: rgba(58, 24, 16, .25);--surface-grad-soft: linear-gradient(180deg, #fff7e6 0%, #ffe8c4 100%);--surface-grad-warm: linear-gradient(180deg, #fff7e6 0%, #ffe0a8 100%);--row-surface: rgba(120, 70, 30, .05);--row-border: rgba(120, 70, 30, .14);--board-grad: linear-gradient(180deg, #fff5d8 0%, #ffe5b8 100%);--board-vignette: rgba(58, 24, 16, .07);--board-highlight: rgba(255, 255, 255, .55);--board-inner-highlight: rgba(255, 255, 255, .7);--board-overflow-normal: rgba(210, 74, 46, .5);--board-overflow-danger: rgba(232, 74, 95, .85);--board-aim-ready-rgb: 58, 161, 74;--board-aim-reloading-rgb: 120, 70, 30;--safe-top: env(safe-area-inset-top, 0px);--safe-bottom: env(safe-area-inset-bottom, 0px);--font-display: "Fredoka", -apple-system, "Segoe UI", Roboto, sans-serif}:root[data-theme=dark]{--bg-1: #1a0f13;--bg-2: #0c0608;--ink: #fff0cc;--ink-deep: #2d1711;--accent: #ff7a3d;--accent-2: #ff9a4a;--accent-3: #ffc266;--accent-deep: #d94725;--danger: #ff6f9f;--danger-glow: rgba(255, 111, 159, .5);--panel-bg: #3a2430;--panel-bg-2: #462d38;--hud-bg: rgba(70, 45, 56, .85);--text: var(--ink);--muted: rgba(217, 185, 138, .85);--surface: #3a2430;--surface-2: #462d38;--surface-border: rgba(240, 201, 141, .22);--shadow-strong: rgba(0, 0, 0, .6);--shadow-soft: rgba(0, 0, 0, .4);--surface-grad-soft: linear-gradient(180deg, #462d38 0%, #3a2430 100%);--surface-grad-warm: linear-gradient(180deg, #f0c98d 0%, #d9a766 100%);--board-grad: linear-gradient(180deg, #66483a 0%, #4a3328 100%);--board-vignette: rgba(0, 0, 0, .32);--board-highlight: rgba(255, 255, 255, .1);--board-inner-highlight: rgba(255, 235, 195, .14);--board-overflow-normal: rgba(255, 140, 110, .7);--board-overflow-danger: rgba(255, 111, 159, .92);--board-aim-ready-rgb: 130, 220, 150;--board-aim-reloading-rgb: 240, 200, 140;--row-surface: rgba(255, 240, 204, .06);--row-border: rgba(240, 201, 141, .2)}:root[data-theme=dark] .big-btn:not(.primary){background:linear-gradient(180deg,#f0c98d,#d9a766);color:var(--ink-deep);border-color:#6e3a20}:root[data-theme=dark] .big-btn.ghost{background:linear-gradient(180deg,#c8a070,#a88052);color:var(--ink-deep)}:root[data-theme=dark] .big-btn.primary{border-color:#d94725;box-shadow:inset 0 1px #ffffff8c,inset 0 -2px #5e0e0673,0 4px #a82818,0 8px 18px #ff7a3d73,0 0 #ff9e5a40}:root[data-theme=dark] .big-btn[disabled],:root[data-theme=dark] .big-btn[aria-disabled=true]{opacity:.45;filter:saturate(.6);box-shadow:0 1px #00000059;cursor:not-allowed}:root[data-theme=dark] .join-row input{background:linear-gradient(180deg,#f0c98d,#d9a766);border-color:#6e3a20;color:var(--ink-deep);box-shadow:inset 0 1.5px #ffffff8c,inset 0 -1px #5e0e061f,0 2px #6e3a20}:root[data-theme=dark] .join-row input::placeholder{color:#2d171173}:root[data-theme=dark] .join-row input:focus{border-color:var(--accent-deep);box-shadow:inset 0 1.5px #ffffff8c,inset 0 -1px #5e0e061f,0 2px 0 var(--accent-deep),0 0 0 3px #ff9a4a66}:root[data-theme=dark] .leaderboard-yours-line{background:linear-gradient(180deg,#f0c98d,#d9a766);border-color:#6e3a20;color:var(--ink-deep);box-shadow:inset 0 1px #ffffff73,0 2px #6e3a20}:root[data-theme=dark] .leaderboard-yours-line.muted{background:#fce8c80f;border-color:#f0c98d33;color:var(--muted);box-shadow:none}body.is-menu .settings-btn{right:max(env(safe-area-inset-right,0px) + 8px,calc(50% - 184px))}:root[data-theme=dark] .panel .muted{color:var(--muted)}:root[data-theme=dark] .settings-name-input{background:#fce8c81a;border-color:#fce8c840;color:var(--ink)}:root[data-theme=dark] .settings-name-input:focus{border-color:var(--accent-2)}:root[data-theme=dark] .leaderboard-row{background:#fce8c814;border-color:#fce8c82e;color:var(--ink)}:root[data-theme=dark] .lb-rank{color:var(--muted)}:root[data-theme=dark] .leaderboard-row.you{background:linear-gradient(90deg,#ff7a3d33,#ff7a3d14);border-color:var(--accent);color:var(--ink);box-shadow:inset 3px 0 0 var(--accent),inset 0 1px #fff0cc1a,0 0 0 1px #ff7a3d59,0 4px 14px #ff7a3d33}:root[data-theme=dark] .leaderboard-row.you .lb-rank{color:var(--accent)}:root[data-theme=dark] .leaderboard-row.you .lb-name{color:var(--ink)}:root[data-theme=dark] .leaderboard-row.you .lb-value{color:var(--accent)}:root[data-theme=dark] .leaderboard-tab{background:#fce8c81a;color:var(--ink);border-color:#fce8c840}:root[data-theme=dark] .hud-self{background:var(--surface-grad-warm)}:root[data-theme=dark] .settings-toggle .toggle-track{background:#fce8c82e}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent;touch-action:manipulation}html,body{margin:0;padding:0;height:100%;background:radial-gradient(ellipse 90% 65% at 50% 38%,#fff0d28c,#fff0d200 60%),linear-gradient(180deg,var(--bg-1) 0%,var(--bg-2) 100%);font-family:Fredoka,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;color:var(--ink);overflow:hidden;user-select:none;touch-action:none;overscroll-behavior:none;-webkit-user-select:none}body:before{content:"";position:fixed;inset:-10% -5%;pointer-events:none;z-index:0;opacity:.55;background-image:radial-gradient(circle 1.5px at 10% 20%,rgba(255,255,255,.95),transparent 100%),radial-gradient(circle 1px at 25% 70%,rgba(255,255,255,.85),transparent 100%),radial-gradient(circle 1.2px at 45% 35%,rgba(255,255,255,.9),transparent 100%),radial-gradient(circle 1px at 60% 85%,rgba(255,255,255,.8),transparent 100%),radial-gradient(circle 1.5px at 75% 50%,rgba(255,255,255,.95),transparent 100%),radial-gradient(circle 1px at 90% 15%,rgba(255,255,255,.8),transparent 100%),radial-gradient(circle 1.2px at 18% 55%,rgba(255,210,150,.9),transparent 100%),radial-gradient(circle 1px at 55% 12%,rgba(255,210,150,.85),transparent 100%),radial-gradient(circle 1px at 82% 78%,rgba(255,210,150,.85),transparent 100%);background-size:100% 200%,100% 200%,100% 200%,100% 200%,100% 200%,100% 200%,100% 200%,100% 200%,100% 200%;animation:sparkleDrift 22s linear infinite}body:after{content:"";position:fixed;inset:-10% -5%;pointer-events:none;z-index:0;opacity:.4;background-image:radial-gradient(circle 2.5px at 15% 30%,rgba(255,200,140,.9),transparent 100%),radial-gradient(circle 2px at 70% 60%,rgba(255,210,150,.8),transparent 100%),radial-gradient(circle 2.5px at 35% 80%,rgba(255,235,180,.85),transparent 100%),radial-gradient(circle 2px at 85% 25%,rgba(255,180,100,.8),transparent 100%),radial-gradient(circle 2.5px at 50% 50%,rgba(255,200,140,.85),transparent 100%);background-size:100% 200%,100% 200%,100% 200%,100% 200%,100% 200%;animation:sparkleDriftSlow 38s linear infinite}@keyframes sparkleDrift{0%{background-position:0% 0%,30% 10%,60% 5%,80% 30%,0% 50%,50% 80%,25% 60%,70% 40%,10% 90%}to{background-position:0% -100%,30% -90%,60% -95%,80% -70%,0% -50%,50% -20%,25% -40%,70% -60%,10% -10%}}@keyframes sparkleDriftSlow{0%{background-position:0% 100%,30% 80%,60% 60%,80% 40%,50% 20%}to{background-position:0% 0%,30% -20%,60% -40%,80% -60%,50% -80%}}#app{display:flex;flex-direction:column;align-items:center;height:100vh;height:100dvh;width:100vw;padding:calc(8px + var(--safe-top)) 8px calc(8px + var(--safe-bottom));position:relative}.hud{display:flex;justify-content:space-between;align-items:flex-start;width:100%;max-width:460px;gap:8px;margin-bottom:8px;min-height:64px}.hud-self{position:relative;display:flex;align-items:center;gap:6px;padding:8px 50px 8px 12px;background:var(--surface-grad-soft);border:2.5px solid var(--ink-deep);border-radius:16px;box-shadow:inset 0 1.5px #ffffffd9,inset 0 -1.5px #78461e14,0 3px 0 var(--ink-deep),0 5px 12px #3a181038;flex:1;justify-content:flex-end;min-height:64px}.hud-self:before{content:"";position:absolute;inset:0;border-radius:inherit;pointer-events:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 200 200'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='2' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.6 0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");mix-blend-mode:multiply;opacity:.07;z-index:0}.hud-self>*{position:relative;z-index:1}.hud-block{display:flex;flex-direction:column;align-items:center;min-width:50px;padding:0 4px}.hud-label{font-family:var(--font-display);font-size:10px;font-weight:700;letter-spacing:1.4px;color:var(--ink-deep);opacity:.85;text-transform:uppercase}.hud-value{font-family:var(--font-display);font-size:22px;font-weight:700;font-variant-numeric:tabular-nums;line-height:1.05;color:var(--ink-deep);text-shadow:0 1.5px 0 rgba(255,255,255,.5);display:inline-block;transform-origin:center center;letter-spacing:.5px}.hud-value.score-bump{animation:scoreBump .22s cubic-bezier(.34,1.56,.64,1)}@keyframes scoreBump{0%{transform:scale(1)}45%{transform:scale(1.18);color:var(--accent)}to{transform:scale(1)}}.hud-value.score-combo-pulse{animation:scoreComboPulse .42s cubic-bezier(.34,1.56,.64,1)}@keyframes scoreComboPulse{0%{transform:scale(1)}35%{transform:scale(1.32);color:#ff7e3a}to{transform:scale(1)}}#current-canvas,#next-canvas{width:56px;height:56px;display:block;filter:drop-shadow(0 4px 4px rgba(58,24,16,.18))}#current-canvas.is-rolling-in,#next-canvas.is-rolling-in{animation:nextRollInRight .3s cubic-bezier(.22,1,.36,1) forwards}@keyframes nextRollInRight{0%{transform:translate(28px) scale(.92);opacity:0}to{transform:translate(0) scale(1);opacity:1}}#hud-next-block.cursed #next-canvas{animation:none}@media (prefers-reduced-motion: reduce){#current-canvas.is-rolling-in,#next-canvas.is-rolling-in{animation:none}}.hud-rounds.hidden,.hud-block-best.hidden,.hud-cascade.hidden{display:none}.hud-cascade{min-width:56px}.hud-pressure-pips{display:flex;gap:2px;margin-top:2px}.hud-pressure-pips .pip{width:6px;height:6px;border-radius:50%;background:#78461e38;transition:background .2s ease,transform .2s cubic-bezier(.34,1.56,.64,1)}.hud-pressure-pips .pip.lit{background:var(--accent-2)}.hud-pressure-pips .pip.lit.high{background:var(--accent)}.hud-cascade.bump-pressure .pip.lit:last-child{transform:scale(1.6)}.hud-multiplier{font-size:13px;font-weight:800;font-variant-numeric:tabular-nums;color:var(--accent-2);margin-top:2px;line-height:1.1}#hud-next-block{position:relative}#hud-current-block{position:relative;border:2px solid var(--ink-deep);border-radius:12px;padding:2px 6px;background:var(--surface-grad-warm);box-shadow:inset 0 1px #ffffffb3,inset 0 -1px #78461e14,0 2px 0 var(--ink-deep)}.next-curse-overlay{position:absolute;top:18px;left:50%;transform:translate(-50%);width:56px;height:56px;border-radius:10px;background:#28003cd9;color:#ffd866;font-size:38px;font-weight:900;display:none;align-items:center;justify-content:center;pointer-events:none;border:2px solid rgba(255,200,100,.4)}#hud-next-block.cursed .next-curse-overlay{display:flex}.solo-picker-panel{text-align:center}.solo-picker-panel h2{margin:0 0 14px;font-size:22px;color:var(--accent)}.hud-rounds-dots{display:flex;gap:4px;margin-top:2px}.hud-rounds-dots .dot{width:10px;height:10px;border-radius:50%;background:#00000026}.hud-rounds-dots .dot.win{background:#2ec27e;box-shadow:0 0 6px #2ec27e99}.hud-rounds-dots .dot.loss{background:var(--danger)}.pip-slot{width:96px;flex-shrink:0;position:relative}.pip-slot.hidden{display:none}.pip{position:relative;width:100%;aspect-ratio:380 / 600;background:#fff6;border-radius:14px;overflow:hidden;box-shadow:0 4px 12px #3a181038;transition:box-shadow .3s ease;z-index:5}.pip canvas{position:absolute;inset:0;display:block;width:100%;height:100%}.pip-frame{position:absolute;inset:0;border-radius:12px;pointer-events:none;border:4px solid transparent;transition:border-color .3s ease}.pip.danger .pip-frame{border-color:var(--danger);box-shadow:0 0 0 1px #ffffff80 inset,0 0 12px 2px var(--danger-glow);animation:dangerPulse .7s ease-in-out infinite alternate}.pip.big-flash .pip-frame{border-color:#ffd866;box-shadow:0 0 20px 6px #ffd866d9,0 0 0 2px #fff9 inset;animation:pipBigFlash .7s ease-out}@keyframes pipBigFlash{0%{box-shadow:0 0 #ffd86600;border-color:#fff}20%{box-shadow:0 0 28px 10px #ffd866f2;border-color:#fff}to{box-shadow:0 0 #ffd86600;border-color:transparent}}.pip.combo-flash .pip-frame{border-color:var(--accent-2);box-shadow:0 0 18px var(--accent-2)}.pip-hit-marker{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;pointer-events:none;z-index:7;opacity:0}.hit-x-line{position:absolute;width:70%;height:4px;background:#fff;border-radius:999px;box-shadow:0 0 8px #ff5050f2,0 0 14px #ff50508c,0 0 2px #0009}.hit-x-1{transform:rotate(45deg)}.hit-x-2{transform:rotate(-45deg)}.pip.hit{animation:pipHitShake .32s ease-out}.pip.hit .pip-hit-marker{animation:pipHitMarkerPop .5s ease-out forwards}@keyframes pipHitShake{0%,to{transform:translate(0)}20%{transform:translate(-3px,2px)}40%{transform:translate(3px,-2px)}60%{transform:translate(-2px,2px)}80%{transform:translate(2px,-1px)}}@keyframes pipHitMarkerPop{0%{opacity:0;transform:scale(.45)}20%{opacity:1;transform:scale(1.3)}40%{transform:scale(1)}to{opacity:0;transform:scale(.95)}}@keyframes dangerPulse{0%{box-shadow:0 0 6px 1px var(--danger-glow)}to{box-shadow:0 0 16px 4px var(--danger-glow)}}.pip-overlay{position:absolute;inset:0;pointer-events:none;display:flex;flex-direction:column;justify-content:space-between;padding:6px 8px}.pip-top{display:flex;justify-content:space-between;align-items:center;font-size:10px;font-weight:800;letter-spacing:.5px}.pip-name{background:#0000008c;color:#fff;padding:2px 6px;border-radius:6px;text-shadow:0 1px 1px rgba(0,0,0,.4)}.pip-danger{background:var(--danger);color:#fff;width:16px;height:16px;border-radius:50%;display:none;align-items:center;justify-content:center;font-size:11px;font-weight:900}.pip.danger .pip-danger{display:flex}.pip-bottom{display:flex;justify-content:space-between;align-items:flex-end}.pip-score{font-size:15px;font-weight:900;color:#fff;background:#0000008c;padding:1px 7px;border-radius:6px;text-shadow:0 1px 2px rgba(0,0,0,.6);font-variant-numeric:tabular-nums}.pip-combo{background:linear-gradient(135deg,var(--accent-2),var(--accent-3));color:#fff;padding:2px 6px;border-radius:999px;font-size:11px;font-weight:900;box-shadow:0 2px 6px #ff7e3a66;animation:comboPop .4s ease-out}.pip-combo.hidden{display:none}@keyframes comboPop{0%{transform:scale(.4);opacity:0}50%{transform:scale(1.25)}to{transform:scale(1);opacity:1}}.pip-incoming-strip{position:absolute;bottom:0;left:0;right:0;height:4px;background:#00000026;display:flex;gap:1px;padding:0 1px}.pip-incoming-strip .pip-incoming-blip{flex:1;background:var(--accent);border-radius:2px;animation:incomingFlash .6s ease-in-out infinite alternate}@keyframes incomingFlash{0%{opacity:.5}to{opacity:1}}.combo,.incoming-banner,.round-banner,.slow-mo-banner,.combo-ext-banner,.hazard-banner{position:absolute;top:88px;left:50%;transform:translate(-50%);z-index:10;pointer-events:none;font-weight:900;letter-spacing:1px;text-align:center}.hazard-banner{top:175px;display:inline-flex;align-items:center;gap:10px;background:linear-gradient(135deg,#ff9b3a,#c54040);color:#fff;padding:10px 22px;border-radius:12px;font-size:18px;letter-spacing:1.5px;box-shadow:0 6px 22px #c540408c,0 0 0 2px #fff6 inset;animation:hazardPulse .45s ease-in-out infinite alternate;white-space:nowrap}.hazard-banner.hidden{display:none}.hazard-banner-icon{font-size:22px}@keyframes hazardPulse{0%{transform:translate(-50%) scale(1);filter:brightness(1)}to{transform:translate(-50%) scale(1.06);filter:brightness(1.18)}}.slow-mo-banner{top:130px;display:inline-flex;align-items:center;gap:8px;background:linear-gradient(135deg,#2a73ff,#4ec3ff);color:#fff;padding:8px 18px;border-radius:999px;font-size:16px;box-shadow:0 6px 18px #50b4ff8c,0 0 0 2px #fff6 inset;animation:slowMoPulse .9s ease-in-out infinite alternate}.slow-mo-banner.hidden{display:none}.slow-mo-banner .slow-mo-icon{font-size:18px;line-height:1}.slow-mo-banner .slow-mo-count{font-variant-numeric:tabular-nums;min-width:30px;text-align:right;opacity:.92}.combo-ext-banner{top:130px;display:inline-flex;align-items:center;gap:8px;background:linear-gradient(135deg,#2ea05a,#86d050);color:#fff;padding:8px 18px;border-radius:999px;font-size:16px;box-shadow:0 6px 18px #86d0508c,0 0 0 2px #fff6 inset;animation:slowMoPulse .9s ease-in-out infinite alternate}.combo-ext-banner.hidden{display:none}.undo-drop-btn{position:fixed;bottom:calc(20px + var(--safe-bottom));left:14px;z-index:40;display:inline-flex;align-items:center;gap:6px;background:linear-gradient(135deg,#7a3aa8,#c779ff);color:#fff;padding:10px 14px;border:2.5px solid var(--ink-deep);border-radius:999px;font-family:var(--font-display, inherit);font-weight:700;font-size:13px;letter-spacing:.6px;cursor:pointer;touch-action:manipulation;box-shadow:0 4px 0 var(--ink-deep),0 6px 14px #7a3aa873;transition:transform 80ms ease,box-shadow 80ms ease}.undo-drop-btn:active{transform:translateY(2px);box-shadow:0 2px 0 var(--ink-deep),0 3px 8px #7a3aa866}.undo-drop-btn.hidden{display:none}.undo-drop-btn .undo-drop-icon{font-size:16px;line-height:1;display:inline-block;transform:translateY(-1px)}.undo-drop-btn .undo-drop-count{font-variant-numeric:tabular-nums;opacity:.92;font-size:12px}.combo-ext-banner .combo-ext-icon{font-size:18px;line-height:1}.combo-ext-banner .combo-ext-count{font-variant-numeric:tabular-nums;min-width:32px;text-align:right;opacity:.92}.banked-buffs{position:fixed;bottom:calc(20px + var(--safe-bottom));right:14px;z-index:40;display:flex;flex-direction:column;align-items:flex-end;gap:8px;pointer-events:none}.buff-badge{display:inline-flex;align-items:center;gap:6px;color:#fff;padding:8px 13px;border:2.5px solid var(--ink-deep);border-radius:999px;font-family:var(--font-display, inherit);font-weight:700;font-size:12px;letter-spacing:.6px;white-space:nowrap}.buff-badge.hidden{display:none}.buff-badge .buff-badge-icon{font-size:14px;line-height:1;display:inline-block;transform:translateY(-1px)}.buff-badge .buff-badge-count{font-variant-numeric:tabular-nums;font-size:13px;min-width:14px;text-align:right;opacity:.95}.merge-boost-badge{background:linear-gradient(135deg,#d99a1f,#ffd866);box-shadow:0 4px 0 var(--ink-deep),0 6px 14px #d99a1f73}.safety-net-badge{background:linear-gradient(135deg,#2ea05a,#6dd09a);box-shadow:0 4px 0 var(--ink-deep),0 6px 14px #2ea05a73}@keyframes slowMoPulse{0%{filter:brightness(1) saturate(1);transform:translate(-50%) scale(1)}to{filter:brightness(1.18) saturate(1.2);transform:translate(-50%) scale(1.04)}}#app.magnet-active:after{content:"";position:fixed;inset:0;pointer-events:none;z-index:5;box-shadow:inset 0 0 80px 18px #7ef0ff73;animation:magnetPulse 1s ease-in-out infinite alternate}@keyframes magnetPulse{0%{box-shadow:inset 0 0 60px 14px #7ef0ff52}to{box-shadow:inset 0 0 95px 22px #7ef0ff8c}}.combo{font-family:var(--font-display);background:linear-gradient(180deg,#ffc04a,#ff7e3a 55%,#d24a2e);color:#fff;padding:7px 18px;border:2.5px solid var(--accent-deep);border-radius:999px;font-size:17px;font-weight:700;-webkit-text-stroke:.75px rgba(58,12,6,.6);paint-order:stroke fill;text-shadow:0 2px 0 rgba(58,12,6,.45);box-shadow:inset 0 1.5px #ffffff8c,0 4px 0 var(--accent-deep),0 6px 14px #ff7e3a73;transition:opacity .2s,transform .25s cubic-bezier(.34,1.56,.64,1);transform-origin:top center}.combo.hidden{opacity:0;transform:translate(-50%) scale(.8)}.combo[data-tier="2"]{transform:translate(-50%) scale(1)}.combo[data-tier="3"]{transform:translate(-50%) scale(1.18);background:linear-gradient(135deg,#ff5e2e,#ffae45);box-shadow:0 5px 16px #ff5a1e8c}.combo[data-tier="4"]{transform:translate(-50%) scale(1.34);background:linear-gradient(135deg,#ff3e60,#ff9e3a);box-shadow:0 6px 20px #ff3c50a6;letter-spacing:1.5px}.combo[data-tier="5"]{transform:translate(-50%) scale(1.5);background:linear-gradient(135deg,#c779ff,#ff3e60,#ffae45);box-shadow:0 8px 24px #c779ff99;letter-spacing:2px}.combo[data-tier="6"]{transform:translate(-50%) scale(1.7) rotate(-2deg);background:linear-gradient(135deg,#ffd866,#ff6ad5,#4ec3ff,#86d050);box-shadow:0 10px 30px #ffc864b3;letter-spacing:2.5px;animation:comboPulse .45s ease-in-out infinite alternate}@keyframes comboPulse{0%{filter:brightness(1) saturate(1)}to{filter:brightness(1.15) saturate(1.25)}}.incoming-banner{top:130px;background:var(--danger);color:#fff;padding:10px 22px;border-radius:12px;font-size:18px;font-weight:900;letter-spacing:1.5px;box-shadow:0 6px 20px #e84a5f8c,0 0 0 2px #fff6 inset;animation:bannerPulse .45s ease-in-out infinite alternate;white-space:nowrap;transform-origin:center center}.incoming-banner.hidden{display:none}@keyframes shake{0%{transform:translate(-50%) translateY(0)}to{transform:translate(-52%) translateY(-1px)}}@keyframes bannerPulse{0%{transform:translate(-50%) scale(1);box-shadow:0 6px 20px #e84a5f8c,0 0 0 2px #fff6 inset}to{transform:translate(-50%) scale(1.13);box-shadow:0 10px 28px #e84a5fd9,0 0 0 3px #fff9 inset}}.round-banner{top:30%;font-family:var(--font-display);color:#fff;padding:14px 32px;font-size:36px;font-weight:700;letter-spacing:2px;-webkit-text-stroke:4px var(--ink-deep);paint-order:stroke fill;text-shadow:0 4px 0 var(--ink-deep),0 8px 22px rgba(0,0,0,.45);animation:roundIn 1.6s ease-out forwards}.round-banner.hidden{display:none}@keyframes roundIn{0%{opacity:0;transform:translate(-50%) scale(.4)}20%{opacity:1;transform:translate(-50%) scale(1.1)}35%{transform:translate(-50%) scale(1)}85%{opacity:1;transform:translate(-50%) scale(1)}to{opacity:0;transform:translate(-50%) scale(.95)}}#game-wrap{flex:1;width:100%;max-width:460px;display:flex;align-items:center;justify-content:center;position:relative;min-height:0}#game-stack{position:relative;display:inline-block;font-size:0;border-radius:18px;box-shadow:0 10px 24px #3a181047,0 2px 4px #3a18102e;transition:box-shadow .22s ease}#game-stack:before{content:"";position:absolute;inset:0;border-radius:inherit;pointer-events:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 200 200'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='2' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.5 0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");mix-blend-mode:multiply;opacity:.06;z-index:0}#game-stack:after{content:"";position:absolute;inset:0;border-radius:inherit;pointer-events:none;z-index:2;opacity:0;background:transparent;transition:opacity .28s ease}#game{position:relative;z-index:1;display:block;background:linear-gradient(180deg,var(--board-highlight, rgba(255, 255, 255, .55)) 0%,rgba(255,255,255,0) 16%),var(--board-grad);box-shadow:inset 0 0 28px 4px var(--board-vignette),inset 0 1px 0 var(--board-inner-highlight, rgba(255, 255, 255, .7));border-radius:18px;cursor:pointer;touch-action:none;-webkit-touch-callout:none;-webkit-user-select:none;user-select:none}#game-stack.board-pvp{box-shadow:0 0 0 2px #e84a5f38,0 12px 28px #e84a5f2e,0 2px 4px #3a18102e}#game-stack.board-cascade:after{opacity:1;background:linear-gradient(180deg,#ffb2451a,#ffb24500 60%)}#game-stack.board-danger:after{opacity:1;background:linear-gradient(180deg,#e84a5f38,#e84a5f00 40%);box-shadow:inset 0 0 0 2px #e84a5f80,inset 0 0 22px 6px #e84a5f33}#game-stack.board-combo{box-shadow:0 0 0 calc((var(--combo-tier, 3) - 2) * 1px + 1px) #ffc8648c,0 0 calc(var(--combo-tier, 3) * 4px + 6px) calc(var(--combo-tier, 3) * 1.5px) rgba(255,178,69,calc(var(--combo-tier, 3) * .05 + .2)),0 10px 24px #3a181047,0 2px 4px #3a18102e}#game-stack.board-pvp.board-combo{box-shadow:0 0 0 calc((var(--combo-tier, 3) - 2) * 1px + 1px) #ffc8648c,0 0 calc(var(--combo-tier, 3) * 4px + 8px) calc(var(--combo-tier, 3) * 2px) rgba(255,178,69,calc(var(--combo-tier, 3) * .06 + .22)),0 12px 28px #e84a5f2e,0 2px 4px #3a18102e}#game-stack.board-milestone:after{opacity:1;background:radial-gradient(ellipse at 50% 32%,#ffebc88c,#ffebc800 60%);box-shadow:inset 0 0 0 3px #ffdc8cb3;animation:boardMilestoneFlash .6s ease-out}@keyframes boardMilestoneFlash{0%{opacity:0;transform:scale(.985)}25%{opacity:1;transform:scale(1.008)}to{opacity:0;transform:scale(1)}}#game-stack.board-milestone-strong:after{background:radial-gradient(ellipse at 50% 36%,#ffdcc8b3,#ffc8dc00 65%);box-shadow:inset 0 0 0 4px #ffdc8cd9,inset 0 0 28px 8px #ffb4dc4d;animation:boardMilestoneFlashStrong .9s ease-out}@keyframes boardMilestoneFlashStrong{0%{opacity:0;transform:scale(.97)}18%{opacity:1;transform:scale(1.018)}60%{opacity:.85;transform:scale(1.004)}to{opacity:0;transform:scale(1)}}#game-stack.board-save:after{opacity:1;background:radial-gradient(ellipse at 50% 22%,#86d05066,#86d05000 60%);box-shadow:inset 0 0 0 3px #86d050bf,inset 0 0 18px 6px #ffdc8c40;animation:boardSaveFlash .7s ease-out}@keyframes boardSaveFlash{0%{opacity:0;transform:scale(.985)}20%{opacity:1;transform:scale(1.012)}to{opacity:0;transform:scale(1)}}@media (prefers-reduced-motion: reduce){#game-stack.board-milestone:after,#game-stack.board-milestone-strong:after,#game-stack.board-save:after{animation:none}}.perf-mobile #game-stack.board-milestone:after,.perf-mobile #game-stack.board-milestone-strong:after,.perf-mobile #game-stack.board-save:after{animation:none}#game-stack.shake{animation:gameShake .5s ease-in-out}#game-stack.big-shake{animation:gameBigShake .85s ease-in-out}@keyframes gameShake{0%,to{transform:translate(0)}20%{transform:translate(-4px,2px)}40%{transform:translate(3px,-3px)}60%{transform:translate(-2px,4px)}80%{transform:translate(4px,2px)}}@keyframes gameBigShake{0%,to{transform:translate(0) rotate(0)}10%{transform:translate(-9px,5px) rotate(-.6deg)}20%{transform:translate(8px,-7px) rotate(.7deg)}30%{transform:translate(-7px,9px) rotate(-.5deg)}40%{transform:translate(9px,4px) rotate(.5deg)}50%{transform:translate(-8px,-6px) rotate(-.4deg)}60%{transform:translate(7px,8px) rotate(.3deg)}70%{transform:translate(-6px,-5px) rotate(-.3deg)}80%{transform:translate(5px,6px) rotate(.2deg)}90%{transform:translate(-3px,-3px) rotate(0)}}#game.danger-flash{box-shadow:inset 0 0 0 4px var(--danger),inset 0 0 18px 4px #e84a5f8c}#game-stack:has(#game.danger-flash){box-shadow:0 6px 24px #e84a5f80}.hud-block-stats{display:flex;flex-direction:column;align-items:center;gap:1px;min-width:38px;padding:2px 4px}.hud-stat{display:flex;align-items:center;gap:3px;font-weight:900;font-size:13px;font-variant-numeric:tabular-nums;line-height:1.1;transition:transform .18s cubic-bezier(.34,1.56,.64,1)}.hud-stat.hidden{display:none}.hud-stat .hud-stat-icon{display:inline-block;font-weight:900;width:16px;height:16px;text-align:center;line-height:16px}.hud-stat canvas.hud-stat-icon{width:18px;height:18px}.hud-stat .hud-stat-num{min-width:14px;text-align:left}.hud-stat-wms{color:#1d5028}.hud-stat-cosmic{color:#6e3aa8}.hud-stat-out{color:#1d6f50}.hud-stat-in{color:#b8252b}.hud-stat-out .out-arrow{color:#2ec27e}.hud-stat-in .in-arrow{color:#e84a5f}.hud-stat.bump{animation:hudStatBump .4s cubic-bezier(.34,1.56,.64,1)}@keyframes hudStatBump{0%{transform:scale(1)}45%{transform:scale(1.45)}to{transform:scale(1)}}.hud-block.next-rerolled{animation:nextRerollBump .65s cubic-bezier(.34,1.56,.64,1)}@keyframes nextRerollBump{0%{transform:scale(1) rotate(0);filter:brightness(1) drop-shadow(0 0 0 rgba(134,208,80,0))}20%{transform:scale(1.3,.7) rotate(0);filter:brightness(1.15) drop-shadow(0 0 6px rgba(134,208,80,.6))}55%{transform:scale(.85,1.35) rotate(180deg);filter:brightness(1.4) drop-shadow(0 0 12px rgba(134,208,80,.95))}to{transform:scale(1) rotate(360deg);filter:brightness(1) drop-shadow(0 0 0 rgba(134,208,80,0))}}@media (max-width: 380px){.hud-block-stats{min-width:32px;padding:2px}.hud-stat{font-size:11px;gap:2px}.hud-stat .hud-stat-icon{width:13px;height:13px;line-height:13px}.hud-stat canvas.hud-stat-icon{width:15px;height:15px}}.fx-layer{position:fixed;inset:0;pointer-events:none;overflow:hidden;z-index:40}.fx-trail{position:absolute;width:22px;height:22px;border-radius:50%;box-shadow:0 0 12px #0000004d;pointer-events:none;z-index:8;will-change:transform}.fx-popup{position:absolute;font-weight:900;font-size:16px;color:#fff;text-shadow:0 2px 4px rgba(0,0,0,.5);background:#0000008c;padding:6px 14px;border-radius:999px;pointer-events:none;z-index:8;animation:popupFloat 1.4s ease-out forwards;white-space:nowrap}.fx-popup.send{background:linear-gradient(135deg,var(--accent-2),var(--accent-3))}.fx-popup.hit{background:var(--danger)}.fx-popup.combo{background:linear-gradient(135deg,#6e51ff,#ff7e3a)}.fx-popup.melon{background:linear-gradient(135deg,#2ea84a,#6fcf3a)}.fx-popup.brace{background:linear-gradient(135deg,#2a73ff,#4ec3ff)}@keyframes popupFloat{0%{opacity:0;transform:translate(-50%) scale(.6)}15%{opacity:1;transform:translate(-50%,-10px) scale(1.15)}30%{transform:translate(-50%,-12px) scale(1)}80%{opacity:1;transform:translate(-50%,-32px) scale(1)}to{opacity:0;transform:translate(-50%,-48px) scale(1)}}.attack-stack{position:fixed;top:38%;display:flex;flex-direction:column;gap:6px;z-index:9;pointer-events:none;max-height:60vh}.attack-stack.outgoing{right:6px;align-items:flex-end}.attack-stack.incoming{left:6px;align-items:flex-start}.attack-stack.outgoing.shake-once{animation:stackShakeOnce .28s ease-in-out}@keyframes stackShakeOnce{0%,to{transform:translate(0)}20%{transform:translate(-7px)}40%{transform:translate(7px)}60%{transform:translate(-4px)}80%{transform:translate(4px)}}.round-countdown{position:fixed;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:18px;background:radial-gradient(ellipse 80% 60% at center,#3a181073,#3a1810d9);z-index:200;pointer-events:auto;-webkit-tap-highlight-color:transparent;touch-action:none}.round-countdown.hidden{display:none}.round-countdown-label{font-family:var(--font-display);font-weight:700;font-size:15px;letter-spacing:2.5px;text-transform:uppercase;color:var(--ink-deep);background:var(--surface-grad-warm);border:2.5px solid var(--ink-deep);border-radius:999px;padding:5px 16px 4px;box-shadow:inset 0 1.5px #ffffffd9,0 3px 0 var(--ink-deep),0 5px 12px #3a181073;transform:rotate(-3deg);animation:countdownLabelIn .36s cubic-bezier(.34,1.56,.64,1)}@keyframes countdownLabelIn{0%{transform:rotate(-3deg) translateY(-12px) scale(.8);opacity:0}to{transform:rotate(-3deg) translateY(0) scale(1);opacity:1}}.round-countdown-num{position:relative;font-family:var(--font-display);font-weight:700;font-size:88px;line-height:1;letter-spacing:2px;-webkit-text-stroke:5px var(--ink-deep);paint-order:stroke fill;text-shadow:0 5px 0 var(--ink-deep),0 10px 22px rgba(58,24,16,.55);transform:rotate(-2deg)}.round-countdown-num.ready{color:#ffb245}.round-countdown-num.set{color:#ff6a4a}.round-countdown-num.go{color:#6ed46a;font-size:102px;letter-spacing:6px}.round-countdown-num.pop{animation:countdownPop .54s cubic-bezier(.34,1.56,.64,1)}@keyframes countdownPop{0%{transform:rotate(-2deg) scale(.55);opacity:0}35%{transform:rotate(-3.5deg) scale(1.2);opacity:1}60%{transform:rotate(-2deg) scale(1);opacity:1}to{transform:rotate(-2deg) scale(1);opacity:1}}.round-countdown-num.go:before,.round-countdown-num.go:after{content:"";position:absolute;top:50%;left:50%;width:60px;height:60px;margin:-30px 0 0 -30px;border-radius:50%;border:4px solid #6ed46a;pointer-events:none;transform:scale(.4);opacity:0;z-index:-1;animation:countdownGoBurst .6s ease-out forwards}.round-countdown-num.go:after{border-color:#ffb245;animation-delay:80ms;animation-duration:.72s}@keyframes countdownGoBurst{0%{transform:scale(.3);opacity:0;border-width:6px}20%{opacity:1}to{transform:scale(7);opacity:0;border-width:1px}}@media (max-width: 380px){.round-countdown-num{font-size:72px;-webkit-text-stroke-width:4px}.round-countdown-num.go{font-size:84px;letter-spacing:4px}.round-countdown-label{font-size:13px;padding:4px 12px 3px}}@media (prefers-reduced-motion: reduce){.round-countdown-label{animation:none;transform:none}.round-countdown-num{transform:none}.round-countdown-num.pop{animation:countdownPopReduced .22s ease-out}.round-countdown-num.go:before,.round-countdown-num.go:after{display:none}@keyframes countdownPopReduced{0%{opacity:0}to{opacity:1}}}.round-timer{position:absolute;top:8px;left:50%;transform:translate(-50%);font-family:var(--font-display);background:linear-gradient(180deg,#2a1a10,#1a0d06);color:#ffe6b3;font-size:14px;font-weight:700;font-variant-numeric:tabular-nums;letter-spacing:.5px;padding:4px 14px;border:2px solid #000;border-radius:999px;pointer-events:none;z-index:50;box-shadow:inset 0 1px #ffe6b32e,0 2px #000,0 4px 8px #0006;transition:background .2s ease,color .2s ease,border-color .2s ease}.round-timer.hidden{display:none}.round-timer.urgent{background:linear-gradient(180deg,#c83030,#8a1a1a);color:#ffd866;border-color:#5a0d0d;box-shadow:inset 0 1px #ffd86640,0 2px #5a0d0d,0 4px 14px #ff505099;animation:roundTimerPulse .48s ease-in-out infinite alternate}@keyframes roundTimerPulse{0%{transform:translate(-50%) scale(1)}to{transform:translate(-50%) scale(1.1)}}.queue-slot{position:relative;display:flex;align-items:center;justify-content:center;padding:22px 6px 18px;border:2.5px solid var(--ink-deep);border-radius:12px;box-shadow:inset 0 1.5px #ffffff80,inset 0 -1.5px #0000002e,0 3px 0 var(--ink-deep),0 5px 12px #00000052;color:#fff;font-family:var(--font-display);width:88px;height:112px;box-sizing:border-box;overflow:visible;transform-origin:center;user-select:none;-webkit-user-select:none;touch-action:manipulation}.queue-slot.outgoing{pointer-events:auto;cursor:pointer;transition:transform 80ms ease,filter 80ms ease,opacity .2s ease}.queue-slot.outgoing.secondary{opacity:.85}.queue-slot.outgoing.primary{opacity:1}.queue-slot.outgoing.pressing{transform:translateY(2px);filter:brightness(1.15);box-shadow:inset 0 1.5px #ffffff80,inset 0 -1px #0000002e,0 1px 0 var(--ink-deep),0 2px 6px #00000052}.queue-slot.entering{animation:slotEnter .18s ease-out}@keyframes slotEnter{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.attack-stack.outgoing.cap-full .queue-slot.outgoing{border-color:#c83040;box-shadow:inset 0 1.5px #ffc8c88c,inset 0 -1.5px #0000002e,0 3px #6a0d12,0 5px 14px #e84a5f8c}.queue-slot.outgoing.cap-full-badge{position:relative}.queue-slot.outgoing.cap-full-badge:after{content:"FULL — TAP";position:absolute;top:-8px;right:-4px;font-size:9px;font-weight:900;letter-spacing:1.2px;background:#e84a5f;color:#fff;padding:2px 6px;border-radius:999px;box-shadow:0 2px 4px #00000059;white-space:nowrap}.queue-slot.outgoing.tutorial-pulse{animation:tutorialPulse .7s ease-in-out 2}@keyframes tutorialPulse{0%,to{filter:brightness(1) drop-shadow(0 0 0 rgba(255,230,100,0))}50%{filter:brightness(1.18) drop-shadow(0 0 14px rgba(255,230,100,.95))}}.queue-slot.fire-flash{filter:brightness(1.4) drop-shadow(0 0 12px rgba(110,240,130,.95))}.queue-slot.fire-flying{filter:brightness(1.18) drop-shadow(0 4px 14px rgba(255,230,140,.6))}.queue-slot.fire-showcase{animation:cardShowcaseHold .7s ease-in-out}@keyframes cardShowcaseHold{0%,to{filter:brightness(1.15) drop-shadow(0 6px 16px rgba(255,230,140,.5))}50%{filter:brightness(1.35) drop-shadow(0 8px 22px rgba(110,240,130,.8))}}.queue-slot.fire-throwing{filter:brightness(1.25) drop-shadow(0 4px 18px rgba(232,74,95,.55))}.queue-slot.incoming{background:linear-gradient(180deg,#ff5e72,#b8252b);border-color:#5a0d0d;box-shadow:inset 0 1.5px #ffc8c866,inset 0 -1.5px #50000a66,0 3px #5a0d0d,0 5px 14px #e84a5f80;animation:incomingShake .32s ease-in-out infinite alternate}.queue-slot.outgoing.rarity-common{background:linear-gradient(180deg,#4ad860,#1a7a2a);box-shadow:inset 0 1.5px #ffffff8c,inset 0 -1.5px #0a321466,0 3px #0e4a18,0 5px 16px #2ec85073}.queue-slot.outgoing.rarity-uncommon{background:linear-gradient(180deg,#4ea8ff,#1c4a8a);box-shadow:inset 0 1.5px #ffffff8c,inset 0 -1.5px #08183c66,0 3px #0e2a5a,0 5px 16px #3c8cf080}.queue-slot.outgoing.rarity-rare{background:linear-gradient(180deg,#c97aff,#5a1e8a);box-shadow:inset 0 1.5px #ffffff8c,inset 0 -1.5px #28083c66,0 3px #2e0a4a,0 5px 16px #b45aff8c}.queue-slot.outgoing.rarity-epic{background:linear-gradient(180deg,#ffb04a,#a04500);box-shadow:inset 0 1.5px #ffffff8c,inset 0 -1.5px #3c140066,0 3px #5a2400,0 5px 16px #ff8c1e99}.queue-slot.outgoing.rarity-legendary{background:linear-gradient(180deg,#ff5050,#8b0000);box-shadow:inset 0 1.5px #ffc8c880,inset 0 -1.5px #3c000073,0 3px #4a0000,0 5px 18px #ff3c3ca6}@keyframes incomingShake{0%{transform:translate(0) scale(1.02)}to{transform:translate(2px) scale(1.08)}}.queue-slot .slot-arrow-badge{position:absolute;top:5px;left:5px;width:20px;height:20px;background:linear-gradient(180deg,#fff,#f4ead8);border:1.5px solid var(--ink-deep);border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:11px;font-weight:700;color:var(--ink-deep);line-height:1;text-shadow:none;box-shadow:inset 0 1px #ffffffd9;pointer-events:none}.queue-slot .slot-count-badge{position:absolute;top:4px;right:4px;min-width:22px;height:22px;padding:0 4px;background:linear-gradient(180deg,#ffe066,#ffb83a);border:1.5px solid var(--ink-deep);border-radius:999px;display:flex;align-items:center;justify-content:center;font-size:11px;font-weight:700;font-variant-numeric:tabular-nums;color:var(--ink-deep);line-height:1;text-shadow:none;box-shadow:inset 0 1px #fff9;pointer-events:none}.queue-slot .slot-count-badge.hidden{display:none}.queue-slot canvas.slot-icon{width:40px;height:40px;display:block;pointer-events:none;filter:drop-shadow(0 2px 2px rgba(0,0,0,.5))}.queue-slot .slot-banner{position:absolute;bottom:5px;left:5px;right:5px;background:#0000008c;color:#fff;border-radius:5px;padding:3px 5px;font-size:10.5px;font-weight:700;letter-spacing:.4px;text-align:center;line-height:1.2;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;text-shadow:0 1px 2px rgba(0,0,0,.55);box-shadow:inset 0 1px #ffffff2e,inset 0 -1px #00000059;pointer-events:none}.queue-slot .slot-banner-label{font-weight:700}.queue-slot .slot-banner-time{font-weight:600;font-variant-numeric:tabular-nums;opacity:.85}.queue-slot.fading{animation:slotFade .35s ease-out forwards}@keyframes slotFade{0%{opacity:1;transform:scale(1.05)}to{opacity:0;transform:scale(.7)}}.ammo-indicator{position:fixed;top:calc(env(safe-area-inset-top,0px) + 132px);left:50%;transform:translate(-50%);display:flex;gap:10px;z-index:8;pointer-events:none;padding:6px 12px;border-radius:999px;background:#140c0847;backdrop-filter:blur(2px);-webkit-backdrop-filter:blur(2px);transition:box-shadow .22s ease}.ammo-indicator.hidden{display:none}.ammo-dot{width:14px;height:14px;border-radius:50%;background:#ffffff2e;border:1.5px solid rgba(255,255,255,.35);transition:background .2s ease,transform .18s ease,opacity .2s ease}.ammo-dot.lit{border-color:#ffffffd9;box-shadow:0 0 6px #fff6;transform:scale(1.05)}.ammo-indicator.full{animation:ammoFullPulse .6s ease-out 1}@keyframes ammoFullPulse{0%{box-shadow:0 0 #ffdc6400}60%{box-shadow:0 0 0 10px #ffdc6480}to{box-shadow:0 0 0 14px #ffdc6400}}.tutorial-label{position:fixed;z-index:11;background:linear-gradient(135deg,#ffd866,#ff9d3a);color:#2a1a05;padding:8px 12px;border-radius:12px;font-weight:900;font-size:12px;letter-spacing:.6px;display:flex;align-items:center;gap:6px;box-shadow:0 4px 16px #00000059;pointer-events:none;animation:tutorialFloat 1.4s ease-in-out infinite alternate;white-space:nowrap}.tutorial-label:after{content:"";position:absolute;right:-6px;top:50%;margin-top:-6px;border-style:solid;border-width:6px 0 6px 8px;border-color:transparent transparent transparent #ff9d3a}.tutorial-finger{font-size:16px;filter:drop-shadow(0 1px 1px rgba(0,0,0,.3))}@keyframes tutorialFloat{0%{transform:translateY(0)}to{transform:translateY(-3px)}}.pip.hit-flash{--hit-flash-color: #ff6b6b;animation:pipHitFlash .22s ease-out 1}@keyframes pipHitFlash{0%{box-shadow:0 0 0 0 var(--hit-flash-color),0 0 0 0 var(--hit-flash-color) inset}40%{box-shadow:0 0 24px 6px var(--hit-flash-color),0 0 0 4px var(--hit-flash-color) inset}to{box-shadow:0 0 0 0 var(--hit-flash-color),0 0 0 0 var(--hit-flash-color) inset}}.pip.incoming-warn{animation:pipIncomingWarn .7s ease-in-out 1}@keyframes pipIncomingWarn{0%,to{box-shadow:0 0 #ffaa3c00}35%{box-shadow:0 0 0 7px #ffaa3cb3,0 0 26px 6px #ffaa3c73}65%{box-shadow:0 0 0 5px #ffaa3c80,0 0 22px 4px #ffaa3c4d}}.fx-popup.pip-hit-popup{font-size:22px;background:linear-gradient(135deg,#ffe066,#ff7e3a);color:#2a1a05;text-shadow:0 1px 2px rgba(0,0,0,.25)}.incoming-edge-pulse{position:fixed;inset:0;pointer-events:none;z-index:38;box-shadow:inset 0 0 60px 18px #e84a5f80;animation:edgePulse .5s ease-in-out infinite alternate}.incoming-edge-pulse.hidden{display:none}.incoming-edge-pulse.crush{box-shadow:inset 0 0 100px 30px #140000b3;animation:edgePulseCrush .32s ease-in-out infinite alternate}@keyframes edgePulse{0%{box-shadow:inset 0 0 50px 12px #e84a5f59}to{box-shadow:inset 0 0 80px 24px #e84a5fb3}}@keyframes edgePulseCrush{0%{box-shadow:inset 0 0 80px 20px #2800008c}to{box-shadow:inset 0 0 120px 36px #500000d9}}.combo-edge-pulse{position:fixed;inset:0;pointer-events:none;z-index:36;box-shadow:inset 0 0 #ffc85a00}.combo-edge-pulse.hidden{display:none}.combo-edge-pulse.active{animation:comboEdgePulse .6s ease-in-out}@keyframes comboEdgePulse{0%{box-shadow:inset 0 0 #ffc85a00}35%{box-shadow:inset 0 0 90px 26px #ffa840a6}to{box-shadow:inset 0 0 #ffc85a00}}.overlay{position:fixed;inset:0;background:#140c08b8;display:flex;align-items:center;justify-content:center;z-index:50;padding:16px;transition:opacity .25s ease,visibility .25s ease;backdrop-filter:blur(3px);-webkit-backdrop-filter:blur(3px)}.overlay.hidden{opacity:0;pointer-events:none;visibility:hidden}.panel{position:relative;background:var(--surface-grad-soft);padding:24px 22px;border:3px solid var(--ink-deep);border-radius:22px;text-align:center;box-shadow:inset 0 1.5px #ffffffd9,inset 0 -2px #78461e14,0 6px 0 var(--ink-deep),0 18px 40px #3a181073;width:100%;max-width:360px;max-height:calc(100vh - 32px);overflow-y:auto;transform:scale(1) translateY(0);transition:transform .32s cubic-bezier(.34,1.56,.64,1)}.panel:before{content:"";position:absolute;inset:0;border-radius:inherit;pointer-events:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 200 200'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='2' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.6 0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");mix-blend-mode:multiply;opacity:.07;z-index:0}.panel>*{position:relative;z-index:1}.overlay.hidden .panel{transform:scale(.92) translateY(8px)}.settings-btn{position:fixed;top:calc(env(safe-area-inset-top,0px) + 8px);right:calc(env(safe-area-inset-right,0px) + 8px);width:42px;height:42px;border-radius:50%;border:2.5px solid var(--ink-deep);background:var(--surface-grad-warm);color:var(--ink-deep);display:flex;align-items:center;justify-content:center;cursor:pointer;box-shadow:inset 0 1.5px #ffffffd9,0 3px 0 var(--ink-deep),0 5px 10px #3a181047;z-index:60;transition:transform .1s ease,box-shadow .1s ease,filter .16s ease;touch-action:manipulation;-webkit-tap-highlight-color:transparent}.settings-btn:hover{filter:brightness(1.04)}.settings-btn:active{transform:translateY(2px);box-shadow:inset 0 1.5px #ffffffd9,0 1px 0 var(--ink-deep),0 2px 5px #3a181047}.settings-btn.hidden{display:none}.settings-btn svg{display:block}.settings-panel{text-align:left;width:min(92vw,360px);max-width:360px;max-height:calc(100dvh - env(safe-area-inset-top,0px) - env(safe-area-inset-bottom,0px) - 24px);display:flex;flex-direction:column;position:relative}.settings-panel h2{text-align:center;margin:0 0 10px;font-family:var(--font-display);font-weight:700;font-size:19px;letter-spacing:.4px;color:var(--accent-2);-webkit-text-stroke:1.5px var(--ink-deep);paint-order:stroke fill;text-shadow:0 1.5px 0 var(--ink-deep)}.settings-list{list-style:none;padding:0;margin:0 0 12px;display:flex;flex-direction:column;gap:4px;overflow-y:auto;-webkit-overflow-scrolling:touch;max-height:calc(100dvh - 220px)}.settings-row{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:8px 12px;background:var(--row-surface);border:1px solid var(--row-border);border-radius:10px}.settings-label{font-family:var(--font-display);font-weight:700;font-size:14px;letter-spacing:.2px;color:var(--text)}.settings-value{font-family:var(--font-display);font-weight:800;font-size:14px;font-variant-numeric:tabular-nums;color:var(--accent-deep);display:inline-block;padding:2px 10px;border-radius:999px;background:#ffc8502e;border:1.5px solid rgba(210,74,46,.35)}.settings-link{font-family:var(--font-display);font-weight:700;font-size:13px;letter-spacing:.2px;color:var(--ink-deep);text-decoration:none;display:inline-block;padding:4px 12px;border-radius:999px;background:var(--surface-grad-warm);border:1.5px solid var(--ink-deep);box-shadow:inset 0 1px #ffffff8c,0 1.5px 0 var(--ink-deep);transition:transform 80ms ease,box-shadow 80ms ease}.settings-link:hover,.settings-link:focus{outline:none;filter:brightness(1.04)}.settings-link:active{transform:translateY(1px);box-shadow:inset 0 1px #fff6,0 0 0 var(--ink-deep)}.settings-segmented{display:inline-flex;gap:4px}.settings-segmented button{font-family:var(--font-display, inherit);font-weight:700;font-size:12px;letter-spacing:.4px;padding:6px 10px;border:2px solid var(--ink-deep);border-radius:999px;background:var(--surface-grad-warm);color:var(--ink-deep);cursor:pointer;touch-action:manipulation;box-shadow:inset 0 1px #ffffffb3,0 2px 0 var(--ink-deep);transition:transform 80ms ease,box-shadow 80ms ease}.settings-segmented button:active{transform:translateY(1px);box-shadow:inset 0 1px #ffffff80,0 1px 0 var(--ink-deep)}.settings-segmented button[aria-pressed=true]{background:linear-gradient(180deg,#ff9866,#d24a2e);color:#fff;box-shadow:inset 0 1px #fff6,inset 0 -1px #50140a40,0 2px 0 var(--accent-deep)}.settings-row.settings-row-note{padding:4px 4px 8px;border-bottom:none;justify-content:flex-end}.settings-row-note .settings-note-text{font-size:12px;font-weight:700;color:var(--accent);letter-spacing:.3px}.settings-mini-btn{font-family:var(--font-display, inherit);font-weight:700;font-size:12px;letter-spacing:.4px;padding:6px 14px;border:2px solid var(--ink-deep);border-radius:999px;background:linear-gradient(180deg,#ff9866,#d24a2e);color:#fff;cursor:pointer;touch-action:manipulation;box-shadow:inset 0 1px #fff6,inset 0 -1px #50140a40,0 2px 0 var(--accent-deep);transition:transform 80ms ease,box-shadow 80ms ease,filter .12s ease}.settings-mini-btn:hover{filter:brightness(1.05)}.settings-mini-btn:active{transform:translateY(1px);box-shadow:inset 0 1px #ffffff4d,0 1px 0 var(--accent-deep)}.settings-toggle{display:inline-flex;align-items:center;gap:8px;background:none;border:none;cursor:pointer;padding:4px 6px;border-radius:8px;font-family:inherit;touch-action:manipulation}.settings-toggle .toggle-track{width:36px;height:20px;border-radius:999px;background:#78461e40;position:relative;transition:background .18s ease}.settings-toggle .toggle-thumb{position:absolute;top:2px;left:2px;width:16px;height:16px;border-radius:50%;background:#fff;box-shadow:0 1px 3px #00000040;transition:transform .18s cubic-bezier(.34,1.5,.64,1)}.settings-toggle[data-on="1"] .toggle-track{background:var(--accent-2)}.settings-toggle[data-on="1"] .toggle-thumb{transform:translate(16px)}.settings-toggle .toggle-state{font-weight:800;font-size:12px;letter-spacing:.4px;color:var(--muted);min-width:24px;text-align:left}.settings-toggle[data-on="1"] .toggle-state{color:var(--accent-2)}.settings-name-input{flex:0 1 160px;min-width:0;padding:8px 10px;font-size:14px;font-weight:700;text-align:right;border:2px solid rgba(120,70,30,.2);border-radius:10px;background:#ffffffd9;color:var(--ink);font-family:inherit}.settings-name-input:focus{outline:none;border-color:var(--accent-2)}.settings-actions{display:flex;flex-direction:column;gap:8px}.settings-actions .big-btn{display:flex;align-items:center;justify-content:center;text-align:center}#btn-settings-exit{background:linear-gradient(180deg,#f0e2c4,#e0c89a);color:var(--ink-deep);font-weight:600;font-size:14px;min-height:48px;padding:10px 16px}.settings-actions-row{display:flex;gap:8px}.settings-actions-row>.big-btn{width:auto;flex:1 1 auto}.settings-actions-row>#btn-settings-cancel{flex:0 0 110px}.big-btn.ghost{background:linear-gradient(180deg,#f0e2c4,#e0c89a);color:var(--ink-deep);font-weight:600}#name-prompt{z-index:60}.name-prompt-panel{text-align:center}.name-prompt-panel h2{margin:0 0 8px;font-size:22px;color:var(--accent)}.name-prompt-panel .muted{margin:0 0 14px}#name-prompt-input{width:100%;box-sizing:border-box;padding:14px 16px;min-height:56px;font-size:18px;font-weight:700;text-align:center;border:2px solid rgba(120,70,30,.2);border-radius:14px;background:#ffffffe6;color:var(--ink);font-family:inherit;margin-bottom:14px}#name-prompt-input:focus{outline:none;border-color:var(--accent-2)}.panel h1{margin:0 0 14px;font-family:var(--font-display);font-weight:700;font-size:32px;line-height:1.1;color:var(--accent-2);-webkit-text-stroke:2.5px var(--ink-deep);paint-order:stroke fill;text-shadow:0 3px 0 var(--ink-deep);letter-spacing:.3px}.panel h2{margin:0 0 12px;font-family:var(--font-display);font-weight:700;font-size:22px;line-height:1.1;color:var(--accent-2);-webkit-text-stroke:2px var(--ink-deep);paint-order:stroke fill;text-shadow:0 2px 0 var(--ink-deep);letter-spacing:.3px}.panel p{margin:6px 0;font-size:15px;font-weight:500}.panel .muted{color:#5a3a1aa6}.title{font-family:var(--font-display);font-weight:700;font-size:52px;line-height:1;margin:6px 0 4px;color:#ffb245;letter-spacing:1px;-webkit-text-stroke:4px var(--ink-deep);paint-order:stroke fill;text-shadow:0 4px 0 var(--ink-deep),0 8px 18px rgba(58,24,16,.45);transform:rotate(-2.5deg);display:inline-block;animation:titleEntrance .7s cubic-bezier(.34,1.56,.64,1)}.title span{color:#fff5d8}@keyframes titleEntrance{0%{transform:rotate(-2.5deg) translateY(-30px) scale(.7);opacity:0}60%{transform:rotate(-2.5deg) translateY(6px) scale(1.06);opacity:1}to{transform:rotate(-2.5deg) translateY(0) scale(1)}}.subtitle{margin:0 0 18px;font-size:13px;font-weight:500;opacity:.75;letter-spacing:.3px}.menu-buttons{display:flex;flex-direction:column;gap:10px;margin-top:8px}.big-btn{position:relative;display:grid;grid-template-columns:auto 1fr;grid-template-rows:auto auto;align-items:center;column-gap:12px;padding:12px 16px;min-height:60px;width:100%;background:linear-gradient(180deg,#fff,#ffeacc);color:var(--ink);border:2.5px solid var(--ink-deep);border-radius:16px;font-family:var(--font-display);font-weight:600;font-size:16px;cursor:pointer;text-align:left;box-shadow:inset 0 1px #ffffffe6,inset 0 -2px #78461e14,0 4px 0 var(--ink-deep),0 6px 14px #3a181040;transition:transform 90ms ease,box-shadow 90ms ease,filter .16s ease}.big-btn .btn-icon,.big-btn .btn-emoji{grid-column:1;grid-row:1 / 3}.big-btn .btn-label{grid-column:2;grid-row:1}.big-btn .btn-sub{grid-column:2;grid-row:2}.big-btn:not(:has(.btn-sub)) .btn-label{grid-row:1 / 3}.big-btn:hover{filter:brightness(1.04)}.big-btn:active{transform:translateY(3px);box-shadow:inset 0 1px #ffffffe6,inset 0 -1px #78461e0f,0 1px 0 var(--ink-deep),0 2px 6px #3a181040}.big-btn.primary{background:linear-gradient(180deg,#ffc04a,#ff7e3a 55%,#d24a2e);color:#fff;border-color:var(--accent-deep);text-shadow:0 1.5px 0 rgba(58,12,6,.35);box-shadow:inset 0 1px #ffffff8c,inset 0 -2px #7a181040,0 4px 0 var(--accent-deep),0 6px 14px #ff7e3a73,0 0 #ffb2458c;animation:btnBreathe 2.6s ease-in-out infinite}.big-btn.primary:active{animation:none;box-shadow:inset 0 1px #ffffff8c,inset 0 -1px #7a181033,0 1px 0 var(--accent-deep),0 2px 6px #ff7e3a73}@keyframes btnBreathe{0%,to{box-shadow:inset 0 1px #ffffff8c,inset 0 -2px #7a181040,0 4px 0 var(--accent-deep),0 6px 14px #ff7e3a73,0 0 #ffb24580}50%{box-shadow:inset 0 1px #ffffff8c,inset 0 -2px #7a181040,0 4px 0 var(--accent-deep),0 6px 18px #ff7e3a99,0 0 0 6px #ffb2452e}}.btn-icon{flex-shrink:0;width:40px;height:40px;display:flex;align-items:center;justify-content:center;border-radius:12px;background:#fff5dcd9;border:2px solid var(--ink-deep);box-shadow:inset 0 1px #ffffffb3,inset 0 -1.5px #78461e2e}.big-btn.primary .btn-icon{background:#fff5dcf2;border-color:var(--accent-deep)}.btn-icon svg{display:block}.btn-emoji{font-size:26px;flex-shrink:0}.btn-label{font-weight:700;font-size:17px;letter-spacing:.2px;line-height:1.15}.btn-sub{display:block;font-size:12px;font-weight:500;opacity:.72;margin-top:2px;letter-spacing:.2px}.big-btn.primary .btn-sub{opacity:.92}.join-row{display:flex;gap:6px;margin-top:6px;align-items:stretch}.join-row input{flex:1 1 0;min-width:0;width:100%;padding:12px 14px;min-height:56px;font-size:16px;font-weight:700;letter-spacing:2px;text-align:center;border:2.5px solid var(--ink-deep);border-radius:14px;background:linear-gradient(180deg,#fff,#fff5dc);color:var(--ink);font-family:inherit;text-transform:uppercase;box-shadow:inset 0 1.5px #ffffffd9,inset 0 -1px #78461e14,0 2px 0 var(--ink-deep)}.join-row input:focus{outline:none;border-color:var(--accent-2);box-shadow:inset 0 1.5px #ffffffd9,inset 0 -1px #78461e14,0 2px 0 var(--ink-deep),0 0 0 3px #ff7e3a59}.join-btn{width:auto;min-width:96px;flex:0 0 auto}.text-btn{background:none;border:none;color:var(--accent);font-size:14px;font-weight:700;margin-top:12px;cursor:pointer;padding:8px 16px;font-family:inherit}.btn-back{display:inline-flex;align-items:center;justify-content:center;gap:4px;margin:8px auto 0;padding:8px 22px;min-height:38px;font-family:var(--font-display);font-size:14px;font-weight:700;letter-spacing:.4px;color:var(--ink-deep);background:var(--surface-grad-warm);border:2.5px solid var(--ink-deep);border-radius:999px;cursor:pointer;box-shadow:inset 0 1.5px #ffffffd9,0 2px 0 var(--ink-deep),0 4px 8px #3a181038;transition:transform 90ms ease,box-shadow 90ms ease,filter .16s ease;font-family:inherit}.btn-back:hover{filter:brightness(1.04)}.btn-back:active{transform:translateY(1px);box-shadow:inset 0 1.5px #ffffffd9,0 1px 0 var(--ink-deep),0 2px 4px #3a181038}.hint{margin:14px 0 0;font-size:12px;opacity:.55}.version-tag{margin:6px 0 0;font-size:10px;font-weight:500;letter-spacing:.6px;opacity:.4;font-variant-numeric:tabular-nums}.spinner{width:56px;height:56px;border:5px solid rgba(120,70,30,.15);border-top-color:var(--accent-2);border-radius:50%;margin:0 auto 16px;animation:spin .9s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.round-stats{list-style:none;padding:0;margin:12px 0;text-align:left}.round-stats li{display:flex;justify-content:space-between;padding:6px 4px;border-bottom:1px dashed rgba(120,70,30,.18);font-size:14px}.round-stats li:last-child{border-bottom:none}.round-stats .stat-label{font-weight:600;opacity:.7}.round-stats .stat-value{font-weight:800;font-variant-numeric:tabular-nums}.round-stats .stat-row.player .stat-value{color:#2a73ff}.round-stats .stat-row.opponent .stat-value{color:var(--danger)}#menu-backdrop{position:fixed;inset:0;z-index:1;pointer-events:none;visibility:hidden;opacity:0;transition:opacity .22s ease;background:radial-gradient(circle 120px at 12% 18%,rgba(58,161,74,.13) 0%,transparent 70%),radial-gradient(circle 100px at 88% 22%,rgba(232,74,95,.13) 0%,transparent 70%),radial-gradient(circle 140px at 18% 82%,rgba(157,108,255,.1) 0%,transparent 70%),radial-gradient(circle 90px at 82% 78%,rgba(255,178,69,.13) 0%,transparent 70%),radial-gradient(circle 70px at 50% 6%,rgba(122,58,138,.1) 0%,transparent 70%),radial-gradient(circle 60px at 8% 50%,rgba(255,126,58,.1) 0%,transparent 70%),radial-gradient(ellipse 90% 65% at 50% 42%,#fff0d28c,#fff0d200 60%),linear-gradient(180deg,var(--bg-1) 0%,var(--bg-2) 100%)}body.is-menu #menu-backdrop{visibility:visible;opacity:1}body:has(#game-over:not(.hidden)) .settings-btn,body:has(#match-end:not(.hidden)) .settings-btn,body:has(#round-end:not(.hidden)) .settings-btn,body:has(#matchmaking:not(.hidden)) .settings-btn,body:has(#leaderboard-overlay:not(.hidden)) .settings-btn,body:has(#solo-picker:not(.hidden)) .settings-btn,body:has(#name-prompt:not(.hidden)) .settings-btn,body:has(.round-countdown:not(.hidden)) .settings-btn{display:none!important}#settings-overlay{z-index:220}body.is-menu #game-wrap,body.is-menu .hud{visibility:hidden}body.is-menu #fx-layer,body.is-menu .attack-stack,body.is-menu .ammo-indicator,body.is-menu .incoming-edge-pulse,body.is-menu #combo,body.is-menu .incoming-banner,body.is-menu .round-banner,body.is-menu .slow-mo-banner,body.is-menu .combo-ext-banner,body.is-menu .hazard-banner,body.is-menu .undo-drop-btn,body.is-menu .banked-buffs,body.is-menu .combo-edge-pulse{display:none!important}@media (max-width: 380px){.pip-slot{width:84px}.hud-block{min-width:44px}.hud-value{font-size:18px}#next-canvas{width:50px;height:50px}.title{font-size:30px}.panel{padding:18px}}@media (max-width: 480px){.hud{margin-bottom:4px}#next-canvas{width:50px;height:50px}.queue-slot{width:76px;height:96px;padding:18px 4px 14px}.queue-slot.outgoing.primary{width:84px;height:104px;padding:20px 6px 16px}.queue-slot.outgoing.secondary{width:64px;height:80px;padding:14px 4px 12px;opacity:.75;margin-bottom:-12px}.attack-stack{gap:4px}.incoming-banner{top:96px;padding:6px 14px;font-size:14px;letter-spacing:1px}}@media (max-height: 640px){.hud{min-height:56px}.hud-self{padding:6px 8px;min-height:56px}.pip-slot{width:78px}}@media (orientation: landscape) and (max-height: 500px){#app{padding:4px 8px}.hud{margin-bottom:4px;min-height:48px}.pip-slot{width:72px}.hud-self{min-height:48px;padding:4px 8px}.hud-value{font-size:16px}#next-canvas{width:44px;height:44px}}:root{--shell-half: 230px;--shell-side-gap: 12px}@media (min-width: 900px){.attack-stack.outgoing{right:auto;left:calc(50% + var(--shell-half) + var(--shell-side-gap));align-items:flex-start}.attack-stack.incoming{left:auto;right:calc(50% + var(--shell-half) + var(--shell-side-gap));align-items:flex-end}.settings-btn{right:calc(50% - var(--shell-half))}}.leaderboard-panel{max-width:380px;text-align:left}.leaderboard-panel h2{text-align:center}.panel-close{position:absolute;top:12px;right:12px;width:32px;height:32px;border-radius:50%;border:2.5px solid var(--ink-deep);background:var(--surface-grad-warm);color:var(--ink-deep);display:flex;align-items:center;justify-content:center;cursor:pointer;padding:0;box-shadow:inset 0 1px #ffffffd9,0 2px 0 var(--ink-deep),0 4px 8px #3a181040;transition:transform 90ms ease,box-shadow 90ms ease,filter .16s ease;z-index:2}.panel-close:hover{filter:brightness(1.05)}.panel-close:active{transform:translateY(1px);box-shadow:inset 0 1px #ffffffd9,0 1px 0 var(--ink-deep),0 2px 4px #3a181040}.panel-close svg{display:block}.leaderboard-tabs{display:grid;grid-template-columns:repeat(3,1fr);gap:6px;margin:0 0 14px;padding-bottom:2px}.leaderboard-tab{font-family:var(--font-display);font-size:11px;font-weight:700;letter-spacing:.3px;background:#ffffffa6;color:var(--ink-deep);border:2px solid var(--ink-deep);border-radius:8px;padding:6px 9px;cursor:pointer;transition:background .12s ease,transform 80ms ease,box-shadow .12s ease;font-family:inherit;box-shadow:0 1.5px #3a18102e}.leaderboard-tab:hover{filter:brightness(1.05)}.leaderboard-tab.active{background:linear-gradient(180deg,#ffc04a,#ff7e3a);color:#fff;text-shadow:0 1.5px 0 rgba(58,12,6,.35);transform:translateY(-1px);box-shadow:inset 0 1px #fff9,0 2.5px 0 var(--ink-deep),0 4px 8px #ff7e3a59}.leaderboard-tab:active{transform:translateY(1px)}.leaderboard-tab.active:active{transform:translateY(0)}.leaderboard-list{height:360px;overflow-y:auto;margin:0 0 12px;padding:0 2px}@media (max-height: 640px){.leaderboard-list{height:260px}}.leaderboard-rows{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:3px}.leaderboard-row{display:grid;grid-template-columns:36px 1fr auto;align-items:center;gap:8px;padding:6px 10px;background:#ffffff8c;border:1.5px solid rgba(120,70,30,.2);border-radius:8px;font-family:var(--font-display);font-size:13px;color:var(--ink-deep)}.leaderboard-row.you{background:linear-gradient(180deg,#ffe066,#ffb83a);border-color:var(--ink-deep);box-shadow:inset 0 1px #fff9,0 2px 0 var(--ink-deep);font-weight:700}.lb-rank{font-weight:700;font-variant-numeric:tabular-nums;text-align:right;color:#3a1810bf}.leaderboard-row.you .lb-rank{color:var(--ink-deep)}.lb-name{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-weight:600}.lb-value{font-weight:700;font-variant-numeric:tabular-nums;color:var(--accent)}.leaderboard-row.you .lb-value{color:var(--ink-deep)}.leaderboard-divider{list-style:none;text-align:center;font-weight:700;letter-spacing:6px;color:#3a181059;padding:8px 0 4px;font-size:14px;user-select:none}.leaderboard-yours-line{font-family:var(--font-display);font-size:13px;font-weight:600;text-align:center;padding:8px 12px;margin-bottom:10px;background:#fff0d2b3;border:1.5px solid rgba(120,70,30,.25);border-radius:8px;color:var(--ink-deep)}.game-over-rank{font-size:13px;font-weight:600;margin:8px 0 12px}.game-over-rank strong{color:var(--accent);font-weight:800}.harvest-title{margin:0 0 4px;font-family:var(--font-display);font-weight:700;font-size:28px;color:var(--ink-deep);letter-spacing:.5px;line-height:1.1}.harvest-subtitle{margin:0 0 14px;font-size:13px;font-weight:500}.harvest-stats{margin:0 0 14px}.harvest-stats .stat-row-headline{border-bottom-style:solid;border-bottom-color:#78461e59;border-bottom-width:2px;padding:10px 4px 8px;margin-bottom:4px}.harvest-stats .stat-row-headline .stat-label{font-size:13px;text-transform:uppercase;letter-spacing:1.5px;opacity:.85}.harvest-stats .stat-row-headline .stat-value{font-size:28px;color:var(--accent);line-height:1}.harvest-insight{margin:0 0 10px;font-size:14px;font-weight:700;color:var(--accent);letter-spacing:.4px;min-height:1.2em;text-align:center}.ladder-caption{margin:4px 0;text-align:center;font-size:12px;font-weight:600;letter-spacing:1.2px;text-transform:uppercase;opacity:.7}.fruit-ladder{list-style:none;margin:0 0 14px;padding:8px 6px;display:flex;align-items:center;justify-content:center;gap:4px;flex-wrap:nowrap;border-radius:12px;background:#ffffff73;border:1.5px solid rgba(120,70,30,.18);box-shadow:inset 0 1px #ffffffa6}.ladder-rung{width:26px;height:26px;display:flex;align-items:center;justify-content:center;flex:0 0 auto;opacity:.28;filter:grayscale(70%);transition:transform .22s ease}.ladder-rung img{width:100%;height:100%;object-fit:contain;display:block}.ladder-rung.reached{opacity:1;filter:none}.ladder-rung.peak{transform:scale(1.35);border-radius:50%;box-shadow:0 0 0 2px var(--accent-3),0 2px 6px #ffb24573;animation:ladderPeakPulse 1.6s ease-in-out infinite alternate}@keyframes ladderPeakPulse{0%{box-shadow:0 0 0 2px var(--accent-3),0 2px 6px #ffb24566}to{box-shadow:0 0 0 3px var(--accent-3),0 0 14px 4px #ffb245a6}}@media (prefers-reduced-motion: reduce){.ladder-rung.peak{animation:none}}.perf-mobile .ladder-rung.peak{animation:none}@media (max-width: 380px){.fruit-ladder{gap:2px;padding:6px 4px}.ladder-rung{width:22px;height:22px}.ladder-rung.peak{transform:scale(1.3)}}body.is-game-over #game-wrap{filter:blur(3px) saturate(.55) brightness(.7);opacity:.5;transition:filter .32s ease,opacity .32s ease;pointer-events:none}body.is-game-over .hud,body.is-game-over #combo,body.is-game-over .incoming-banner,body.is-game-over .round-banner,body.is-game-over .slow-mo-banner,body.is-game-over .combo-ext-banner,body.is-game-over .hazard-banner,body.is-game-over .undo-drop-btn,body.is-game-over .banked-buffs,body.is-game-over .ammo-indicator,body.is-game-over .attack-stack,body.is-game-over .incoming-edge-pulse,body.is-game-over .combo-edge-pulse{visibility:hidden}.perf-mobile body.is-game-over #game-wrap{filter:none;opacity:.35}@media (prefers-reduced-motion: reduce){body.is-game-over #game-wrap{transition:none}}body.is-game-over #game-over .panel{animation:harvestPanelPop .48s cubic-bezier(.34,1.56,.64,1)}@keyframes harvestPanelPop{0%{transform:scale(.86) translateY(18px);opacity:0}55%{transform:scale(1.04) translateY(-3px);opacity:1}to{transform:scale(1) translateY(0);opacity:1}}@media (prefers-reduced-motion: reduce){body.is-game-over #game-over .panel{animation:harvestPanelFadeIn .22s ease-out}@keyframes harvestPanelFadeIn{0%{opacity:0}to{opacity:1}}}.perf-mobile #pip-slot,.perf-mobile .pip-shell,.perf-mobile .pvp-stats-shell{backdrop-filter:none!important;-webkit-backdrop-filter:none!important;background-color:#fff5e6eb!important}.perf-mobile .combo,.perf-mobile .incoming-banner,.perf-mobile .hazard-banner,.perf-mobile .slow-mo-banner,.perf-mobile .combo-ext-banner,.perf-mobile .round-banner{animation:none!important}.perf-mobile .settings-btn:hover,.perf-mobile .panel-close:hover,.perf-mobile .big-btn:hover,.perf-mobile .queue-slot.outgoing.flying,.perf-mobile .queue-slot.outgoing.showcase,.perf-mobile .queue-slot.outgoing.thrown,.perf-mobile .queue-slot.outgoing.impact{filter:none!important}.perf-mobile .next-bump-target,.perf-mobile .ammo-indicator-block{animation:none!important}body.is-playing:before,body.is-playing:after{display:none;animation:none!important}.perf-mobile .hud-block.next-rerolled,.perf-mobile .queue-slot.fire-flash,.perf-mobile .queue-slot.fire-flying,.perf-mobile .queue-slot.fire-showcase,.perf-mobile .queue-slot.fire-throwing{animation:none!important;filter:none!important}#outgoing-stack,#incoming-stack,#fx-layer,#ammo-indicator{contain:layout style}.perf-mobile .incoming-edge-pulse,.perf-mobile .incoming-edge-pulse.crush,.perf-mobile .combo-edge-pulse,.perf-mobile .combo-edge-pulse.active,.perf-mobile #app.magnet-active:after,.perf-mobile .pip.big-flash .pip-frame,.perf-mobile .pip.hit-flash{animation:none!important;box-shadow:none!important}.perf-mobile .pip.incoming-warn{animation:pipIncomingWarnLite .7s ease-in-out 1!important;box-shadow:none!important}@keyframes pipIncomingWarnLite{0%,to{opacity:1}50%{opacity:.55}}.perf-mobile .pip.danger .pip-frame{animation:dangerPulseLite .7s ease-in-out infinite alternate!important;box-shadow:none!important}@keyframes dangerPulseLite{0%{opacity:.7}to{opacity:1}}.perf-mobile .ammo-indicator.full{animation:none!important}.perf-mobile .queue-slot:hover,.perf-mobile .menu-card:hover{filter:none!important}.perf-overlay{position:fixed;top:8px;right:8px;z-index:9999;pointer-events:none;user-select:none;white-space:pre;font:10px/14px ui-monospace,Menlo,Consolas,monospace;background:#0000009e;color:#fff;padding:6px 8px;border-radius:4px;max-width:40vw;contain:layout style paint}.boot-card{display:flex;flex-direction:column;align-items:center;gap:14px;padding:28px 36px 24px;border-radius:22px;background:var(--surface-grad-soft);border:3px solid var(--ink-deep);box-shadow:inset 0 1.5px #ffffffd9,0 4px 0 var(--ink-deep),0 8px 24px #3a181047;animation:bootCardIn .36s cubic-bezier(.34,1.56,.64,1);max-width:320px;text-align:center}@keyframes bootCardIn{0%{transform:scale(.86);opacity:0}to{transform:scale(1);opacity:1}}.boot-watermelon{position:relative;width:104px;height:104px;display:flex;align-items:center;justify-content:center;animation:bootBob 2.4s ease-in-out infinite}.boot-watermelon svg{display:block;width:104px;height:104px;animation:bootSpin 3.6s linear infinite;filter:drop-shadow(0 4px 6px rgba(58,24,16,.22));transform-origin:50% 54%}@keyframes bootBob{0%,to{transform:translateY(0)}50%{transform:translateY(-6px)}}@keyframes bootSpin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.boot-seed{position:absolute;top:50%;left:50%;width:7px;height:7px;margin:-3.5px 0 0 -3.5px;border-radius:50%;background:#2a1408;box-shadow:0 0 0 1.5px #ffffff8c;transform-origin:0 0}.boot-seed-1{animation:bootSeedOrbit 3.2s linear infinite}.boot-seed-2{animation:bootSeedOrbit 3.2s linear infinite -1.07s}.boot-seed-3{animation:bootSeedOrbit 3.2s linear infinite -2.13s}@keyframes bootSeedOrbit{0%{transform:rotate(0) translate(60px) rotate(0);opacity:.85}50%{opacity:1}to{transform:rotate(360deg) translate(60px) rotate(-360deg);opacity:.85}}.boot-title{margin:0;font-family:var(--font-display);font-weight:700;font-size:38px;letter-spacing:.5px;line-height:1;color:#3aa14a;text-shadow:-1.5px 1.5px 0 var(--ink-deep),1.5px 1.5px 0 var(--ink-deep),1.5px -1.5px 0 var(--ink-deep),-1.5px -1.5px 0 var(--ink-deep),0 3px 0 var(--ink-deep)}.boot-title span{color:var(--accent-2)}.boot-subtitle{margin:0;font-family:var(--font-display);font-weight:500;font-size:14px;color:#6a4520;opacity:.85;transition:opacity .22s ease;min-height:1.2em}.boot-dots{display:flex;gap:8px;align-items:center;justify-content:center;margin-top:4px}.boot-dots span{width:9px;height:9px;border-radius:50%;background:var(--accent-2);border:1.5px solid var(--ink-deep);animation:bootDotPulse 1.1s ease-in-out infinite}.boot-dots span:nth-child(2){animation-delay:.18s}.boot-dots span:nth-child(3){animation-delay:.36s}@keyframes bootDotPulse{0%,to{transform:scale(.7);opacity:.55}50%{transform:scale(1);opacity:1}}@media (max-width: 380px){.boot-card{padding:22px 26px 20px;max-width:280px}.boot-title{font-size:32px}.boot-watermelon,.boot-watermelon svg{width:88px;height:88px}.boot-seed{width:6px;height:6px;margin:-3px 0 0 -3px}@keyframes bootSeedOrbit{0%{transform:rotate(0) translate(50px) rotate(0);opacity:.85}50%{opacity:1}to{transform:rotate(360deg) translate(50px) rotate(-360deg);opacity:.85}}}@media (prefers-reduced-motion: reduce){.boot-card,.boot-watermelon,.boot-watermelon svg,.boot-seed{animation:none!important}.boot-dots span{animation-duration:1.8s}}
