:root{--bg-0:#f5e4cb;--bg-1:#efd4b0;--bg-2:#e8c09d;--glass-bg:#fff5e19e;--glass-bg-strong:#fff5e1e0;--glass-border:#8c503c29;--glass-border-hot:#e8927d8c;--inset-highlight:#ffffff8c;--text:#3b2a2a;--text-dim:#7a5c4f;--muted:#9b7e6c;--c-violet:#8b5a7d;--c-magenta:#d87888;--c-cyan:#5fb3a8;--c-gold:#e6b94a;--c-sky:#9ed6c2;--c-green:#7fbfa0;--c-coral:#e8927d;--g-prism:linear-gradient(135deg, #e8927d 0%, #d87888 45%, #8b5a7d 100%);--g-warm:linear-gradient(135deg, #e8927d 0%, #e6b94a 100%);--g-glass-light:linear-gradient(180deg, #ffffff73 0%, #fff0 55%);--accent:var(--c-violet);--r:var(--c-magenta);--g:var(--c-green);--b:var(--c-cyan);--y:var(--c-gold);--sp-1:4px;--sp-2:8px;--sp-3:12px;--sp-4:16px;--sp-5:24px;--sp-6:32px;--sp-7:48px;--sp-8:64px;--r-pill:999px;--r-card:18px;--r-btn:12px;--r-chip:8px;--sh-card:0 10px 28px #8c503c38, 0 2px 6px #8c503c2e;--sh-inset:inset 0 1px 0 #ffffffa6;--sh-glow-violet:0 0 22px #8b5a7d59;--sh-glow-cyan:0 0 22px #5fb3a859;color:var(--text);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;touch-action:none;-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent;font-family:Nunito,system-ui,-apple-system,Segoe UI,Roboto,sans-serif;font-weight:600}body[data-palette=base]{--bg-0:#f5e4cb;--bg-1:#efd4b0;--bg-2:#e8c09d}body[data-palette=dusk]{--bg-0:#f2d8d0;--bg-1:#e8b8b6;--bg-2:#d49898;--c-violet:#9b5a82;--c-magenta:#d4687a}body[data-palette=neon]{--bg-0:#dfeee1;--bg-1:#c7e0d1;--bg-2:#abccc0;--c-violet:#6a9d9a;--c-cyan:#4a9e97;--c-magenta:#d8907f;--c-gold:#e0b070}*{box-sizing:border-box}html,body,#root{background:radial-gradient(1200px 800px at 20% -10%, var(--bg-0) 0%, transparent 55%), radial-gradient(900px 700px at 100% 100%, var(--bg-2) 0%, transparent 60%), var(--bg-1);width:100%;height:100%;color:var(--text);margin:0;padding:0;overflow:hidden}#root{padding-top:env(safe-area-inset-top);padding-bottom:env(safe-area-inset-bottom);padding-left:env(safe-area-inset-left);padding-right:env(safe-area-inset-right);justify-content:center;align-items:center;display:flex;position:fixed;inset:0}canvas{image-rendering:pixelated;image-rendering:-moz-crisp-edges;image-rendering:crisp-edges}button{cursor:pointer;color:inherit;background:0 0;border:none;font-family:inherit}button:focus{outline:none}button:focus-visible,a:focus-visible,.tappable:focus-visible{outline:2px solid var(--c-gold);outline-offset:3px;border-radius:inherit}.tappable{min-width:44px;min-height:44px}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:50ms!important;animation-duration:.001ms!important;animation-iteration-count:1!important}}body[data-reduce-motion="1"] *,body[data-reduce-motion="1"] :before,body[data-reduce-motion="1"] :after{transition-duration:50ms!important;animation-duration:.001ms!important;animation-iteration-count:1!important}.display{letter-spacing:.02em;font-family:Fredoka,Nunito,sans-serif;font-weight:700}.app{justify-content:center;align-items:center;width:100%;height:100%;display:flex;position:fixed;inset:0;overflow:hidden}@media (width>=820px) and (height>=640px){.app>.game-root{border-radius:28px;width:min(720px,57vh);max-width:720px;height:min(95vh,1.66667*min(720px,50vw));max-height:95vh;overflow:hidden;box-shadow:0 40px 100px #5a321e47,0 12px 30px #5a321e2e,0 0 0 1px #fff5e180}.app:before{content:"";pointer-events:none;z-index:0;background:radial-gradient(60% 80% at 50% 55%,#fff4e000 0%,#5a321e2e 100%);position:fixed;inset:0}.bg-scene{opacity:.78}.app>.screen{max-width:min(720px,92vw);margin:0 auto}}@media (width>=1600px){.app>.game-root{width:min(760px,55.2vh);max-width:760px}}.bg-scene{z-index:0;pointer-events:none;opacity:.55;position:fixed;inset:0}.celebration-scene{z-index:30;pointer-events:none;background:radial-gradient(#00000059 0%,#000c 70%);animation:.25s fade-in;position:fixed;inset:0}.app>.screen,.app>.game-root{z-index:1;position:relative}.screen{justify-content:center;align-items:center;gap:clamp(var(--sp-2), 3vw, var(--sp-4));width:100%;height:100%;padding:clamp(var(--sp-3), 4vw, var(--sp-5));padding-top:max(clamp(var(--sp-3), 4vw, var(--sp-5)), env(safe-area-inset-top,0));padding-bottom:max(clamp(var(--sp-3), 4vw, var(--sp-5)), env(safe-area-inset-bottom,0));text-align:center;flex-direction:column;display:flex;overflow-y:auto}.logo-block{align-items:center;gap:var(--sp-2);margin-bottom:var(--sp-2);flex-direction:column;display:flex}.logo{letter-spacing:.015em;color:#fff3da;text-shadow:0 1px #f0b8a6,1px 2px 1px #e2988a,2px 3px 1px #cf7b6e,3px 4px 2px #b4634f,4px 5px 3px #9a5240,5px 7px 6px #8c46378c,0 14px 26px #8c3c3261;margin:0;font-family:"Baloo 2",Fredoka,Nunito,sans-serif;font-size:clamp(56px,15vw,112px);font-weight:800;line-height:.95;animation:4.5s ease-in-out infinite logoBob}@keyframes logoBob{0%,to{transform:translateY(0)rotate(-1deg)}50%{transform:translateY(-4px)rotate(1deg)}}.logo-sub{letter-spacing:.22em;color:var(--text-dim);text-transform:uppercase;font-family:Fredoka,Nunito,sans-serif;font-size:clamp(11px,2.8vw,14px);font-weight:500}.tagline{color:var(--text-dim);letter-spacing:0;max-width:320px;margin:0;font-family:Nunito,sans-serif;font-size:clamp(14px,3.6vw,16px);font-weight:600;line-height:1.55}.cta{margin-top:var(--sp-3);border-radius:var(--r-pill);background:var(--g-prism);color:#fff;letter-spacing:.05em;text-transform:none;background-size:200% 200%;padding:15px 40px;font-family:Fredoka,Nunito,sans-serif;font-size:clamp(15px,4vw,18px);font-weight:700;transition:transform .1s,box-shadow .2s,background-position .3s;position:relative;box-shadow:0 12px 34px #d878886b,inset 0 0 0 1px #fff3,inset 0 1px #fff6}.cta:hover{background-position:100% 0;box-shadow:0 16px 40px #d8788885,inset 0 0 0 1px #ffffff4d}.cta:active{transform:scale(.95)translateY(1px);box-shadow:0 4px 10px #d8788859,inset 0 2px 6px #00000047,inset 0 0 0 1px #ffffff2e}.cta[aria-pressed=true]{transform:scale(.97)}.cta.small{letter-spacing:.04em;margin-top:var(--sp-2);padding:11px 26px;font-size:clamp(13px,3.4vw,15px)}.cta.disabled{opacity:.4;box-shadow:none;pointer-events:none}.btn-glass{border-radius:var(--r-btn);background:var(--glass-bg);border:1px solid var(--glass-border);-webkit-backdrop-filter:blur(16px);color:var(--text);letter-spacing:.14em;text-transform:uppercase;box-shadow:var(--sh-inset);align-items:center;gap:6px;padding:11px 24px;font-family:Fredoka,Nunito,sans-serif;font-size:clamp(11px,3vw,13px);font-weight:700;transition:transform 80ms,border-color .2s,background .2s,box-shadow .2s;display:inline-flex}.btn-glass:hover{border-color:var(--glass-border-hot);box-shadow:var(--sh-glow-violet);background:#321c5a99}.btn-glass:active{transform:scale(.95)}.link{color:var(--text-dim);letter-spacing:.2em;text-transform:uppercase;padding:10px;font-size:12px;transition:color .15s}.link:hover{color:var(--c-violet)}.glass{background:var(--glass-bg);-webkit-backdrop-filter:blur(20px);border:1px solid var(--glass-border);border-radius:var(--r-card);box-shadow:var(--sh-card), var(--sh-inset);position:relative;overflow:hidden}.glass:before{content:"";background:var(--g-glass-light);pointer-events:none;position:absolute;inset:0}.hero-card{width:100%;max-width:380px;padding:clamp(var(--sp-5), 7vw, var(--sp-6)) clamp(var(--sp-3), 5vw, var(--sp-5));align-items:center;gap:clamp(var(--sp-3), 3.5vw, var(--sp-4));background:var(--glass-bg);-webkit-backdrop-filter:blur(22px);border:1px solid var(--glass-border);border-radius:var(--r-card);box-shadow:var(--sh-card), var(--sh-inset);flex-direction:column;display:flex;position:relative;overflow:hidden}.hero-card:before{content:"";background:var(--g-glass-light);pointer-events:none;border-radius:inherit;position:absolute;inset:0}.hero-card>*{z-index:1;position:relative}.best-row{gap:var(--sp-2);margin-top:var(--sp-1);justify-content:center;align-items:center;display:flex}.best-chip{border-radius:var(--r-pill);letter-spacing:.1em;color:#a27a1e;background:#e6b94a2e;border:1px solid #e6b94a66;padding:6px 14px;font-family:Fredoka,Nunito,sans-serif;font-size:11px;font-weight:700}.streak-chip{border-radius:var(--r-pill);letter-spacing:.08em;color:#a84b60;background:#d878882e;border:1px solid #d8788866;padding:6px 12px;font-family:Fredoka,Nunito,sans-serif;font-size:11px;font-weight:700}.menu-row{gap:var(--sp-2);width:100%;margin-top:var(--sp-2);box-sizing:border-box;grid-template-columns:repeat(4,minmax(0,1fr));margin-bottom:6px;padding:0 2px;display:grid}.howto-overlay{z-index:40;padding:var(--sp-4);-webkit-backdrop-filter:blur(6px);background:#3b2a2a6b;justify-content:center;align-items:center;animation:.18s fade-in;display:flex;position:fixed;inset:0}.howto-card{width:100%;max-width:560px;max-height:88vh;padding:var(--sp-4) var(--sp-5) var(--sp-4);border-radius:var(--r-card);background:var(--glass-bg-strong);-webkit-backdrop-filter:blur(22px);border:1px solid var(--glass-border);box-shadow:var(--sh-card), var(--sh-inset);gap:var(--sp-3);text-align:left;flex-direction:column;min-height:0;display:flex;overflow:hidden}.howto-header{justify-content:space-between;align-items:center;gap:var(--sp-3);flex-shrink:0;display:flex}.howto-close{border:1px solid var(--glass-border);width:36px;height:36px;color:var(--text);cursor:pointer;box-shadow:var(--sh-inset);background:#ffffff8c;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;padding:0;font-size:22px;font-weight:700;line-height:1;transition:transform .12s,background .12s;display:flex}.howto-close:hover{background:#fffc}.howto-close:active{transform:scale(.92)}.howto-scroll{-webkit-overflow-scrolling:touch;overscroll-behavior:contain;flex:auto;min-height:0;margin-right:-4px;padding-right:4px;overflow-y:auto}.howto-title{color:var(--text);letter-spacing:.01em;flex:1;font-family:"Baloo 2",Fredoka,Nunito,sans-serif;font-size:clamp(22px,6vw,28px);font-weight:800}.howto-list{gap:var(--sp-3);flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.howto-item{gap:var(--sp-3);align-items:flex-start;display:flex}.howto-icon{border:1px solid var(--glass-border);border-radius:var(--r-btn);width:46px;height:46px;box-shadow:var(--sh-inset);background:linear-gradient(135deg,#ffe6f5b3,#e6f0ffb3);flex-shrink:0;justify-content:center;align-items:center;display:flex}.howto-icon svg{fill:none;stroke-width:1.7px;stroke-linecap:round;stroke-linejoin:round;width:28px;height:28px}.powerup-row{flex-direction:column;gap:6px;margin-top:2px;display:flex}.powerup-chip{align-items:center;gap:8px;display:flex}.powerup-chip-icon{border:1px solid var(--glass-border);background:#fff5e18c;border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;width:28px;height:28px;display:flex}.powerup-chip-icon svg{fill:none;stroke-width:1.7px;stroke-linecap:round;stroke-linejoin:round;width:20px;height:20px}.powerup-chip-text{color:var(--text-dim);font-family:Nunito,sans-serif;font-size:13px;font-weight:500;line-height:1.35}.powerup-chip-text b{color:var(--text);font-family:Fredoka,Nunito,sans-serif;font-weight:700}.howto-body{flex:1}.howto-step-title{color:var(--text);margin-bottom:2px;font-family:Fredoka,Nunito,sans-serif;font-size:14px;font-weight:700}.howto-step-text{color:var(--text-dim);font-family:Nunito,sans-serif;font-size:13px;font-weight:500;line-height:1.45}.howto-card .cta.small{flex-shrink:0;align-self:center;min-width:140px}.menu-icon-btn{border:1px solid var(--glass-border);border-radius:var(--r-btn);min-width:0;min-height:clamp(62px,16vw,78px);color:var(--text);box-shadow:var(--sh-inset);background:#fff5e18c;flex-direction:column;justify-content:center;align-items:center;gap:6px;padding:clamp(8px,2.2vw,12px) 4px;transition:transform 80ms,border-color .2s,background .2s,box-shadow .2s;display:flex;overflow:hidden}.menu-icon-btn:hover{border-color:var(--glass-border-hot);box-shadow:0 4px 14px #8c503c2e, var(--sh-inset);background:#fff5e1d9}.menu-icon-btn:active{transform:scale(.94)}.menu-icon-btn svg{width:clamp(20px,5.5vw,24px);height:clamp(20px,5.5vw,24px);stroke:var(--c-violet);fill:none;stroke-width:1.8px;stroke-linecap:round;stroke-linejoin:round}.menu-icon-btn .menu-label{letter-spacing:.02em;color:var(--text-dim);text-transform:uppercase;text-align:center;white-space:nowrap;text-overflow:ellipsis;word-break:keep-all;max-width:100%;font-family:Fredoka,Nunito,sans-serif;font-size:clamp(7.5px,2.1vw,10px);font-weight:700;line-height:1.1;overflow:hidden}.daily-row{width:100%;margin-top:var(--sp-2)}.daily-btn{border-radius:var(--r-pill);color:#7a5a1c;letter-spacing:.08em;background:#e6b94a1a;border:1.5px solid #e6b94a8c;justify-content:center;align-items:center;gap:10px;width:100%;padding:11px 16px;font-family:Fredoka,Nunito,sans-serif;font-size:12.5px;font-weight:700;transition:transform 80ms,background .2s,border-color .2s;display:flex}.daily-btn:active{transform:scale(.97)}.daily-btn.done{color:var(--text-dim);box-shadow:var(--sh-inset);background:#fff5e199}.game-root{background:linear-gradient(#f5e4cb 0% 16%,#dfeade 24%,#d6e7e0 50%,#dfeade 76%,#f5e4cb 84% 100%);width:100%;height:100%;position:relative}.voxel-stage{z-index:1;width:100%;height:100%;position:absolute;inset:0}.voxel-field{pointer-events:none;z-index:1;width:100%;height:100%;position:absolute;inset:0}.game-host{touch-action:none;z-index:2;width:100%;height:100%;position:absolute;inset:0}.danger-frame{pointer-events:none;border-radius:inherit;z-index:4;transition:box-shadow .18s;position:absolute;inset:0;box-shadow:inset 0 0 0 3px #ff3b6b00,inset 0 0 32px #ff3b6b00}.danger-frame.active{animation:.9s ease-in-out infinite dangerPulse}@keyframes dangerPulse{0%,to{box-shadow:inset 0 0 32px #ff788c1a}50%{box-shadow:inset 0 0 56px #ff788c38}}.hud{top:env(safe-area-inset-top,0);padding:var(--sp-4);padding-left:calc(var(--sp-4) + env(safe-area-inset-left,0));padding-right:calc(var(--sp-4) + env(safe-area-inset-right,0));z-index:2;pointer-events:none;justify-content:space-between;align-items:flex-start;display:flex;position:absolute;left:0;right:0}.score{letter-spacing:-.015em;color:var(--c-coral);text-shadow:0 1px 2px #8c503c38;font-variant-numeric:tabular-nums;font-family:Fredoka,Nunito,sans-serif;font-size:clamp(26px,6.2vw,34px);font-weight:900;line-height:1;transition:transform .18s}.score.counting{transform:scale(1.03)}.level-label{letter-spacing:.22em;color:var(--text-dim);opacity:.75;text-transform:uppercase;margin-bottom:3px;font-family:Fredoka,Nunito,sans-serif;font-size:9px;font-weight:700}.zen-badge{color:#6b3aa8;letter-spacing:.22em;background:linear-gradient(135deg,#b26bff4d,#3bdcdc40);border:1px solid #b26bff66;border-radius:999px;width:fit-content;margin-bottom:4px;padding:3px 8px;font-family:Fredoka,Nunito,sans-serif;font-size:9px;font-weight:900;display:inline-block}.hud-left{-webkit-backdrop-filter:blur(8px);background:linear-gradient(#fff5e18c 0%,#fff5e140 100%);border-radius:14px;flex-direction:column;gap:2px;max-width:62%;padding:8px 12px 10px;display:flex}.level-progress-wrap{align-items:center;gap:8px;width:100%;max-width:220px;margin-top:6px;display:flex}.level-progress-bar{background:#3b2a3029;border-radius:999px;flex:1;height:6px;overflow:hidden;box-shadow:inset 0 1px 2px #00000014}.level-progress-fill{background:linear-gradient(90deg, var(--c-coral) 0%, var(--c-gold) 100%);border-radius:999px;height:100%;transition:width .45s cubic-bezier(.2,.9,.3,1);box-shadow:0 0 6px #e8927d66}.level-progress-count{letter-spacing:.08em;color:var(--text-dim);font-variant-numeric:tabular-nums;white-space:nowrap;font-family:Fredoka,Nunito,sans-serif;font-size:10px;font-weight:800;transition:color .25s}.level-progress-wrap[data-near-done="1"] .level-progress-count{color:#a27a1e}.level-progress-wrap[data-near-done="1"] .level-progress-fill{background:linear-gradient(90deg,#ffd23b 0%,#ff9a3b 100%);box-shadow:0 0 10px #ffd23b8c}.hud-right{flex-direction:column;align-items:flex-end;gap:clamp(7px,2.2vw,14px);display:flex;position:relative}.progress{letter-spacing:.15em;color:var(--text);border-radius:var(--r-pill);background:var(--glass-bg);-webkit-backdrop-filter:blur(10px);border:1px solid var(--glass-border);padding:5px 12px;font-family:Fredoka,Nunito,sans-serif;font-size:12px;font-weight:800}.hud-bottom{bottom:calc(var(--sp-3) + env(safe-area-inset-bottom,0));padding:0 var(--sp-4);z-index:2;pointer-events:none;justify-content:center;display:flex;position:absolute;left:0;right:0}.misses{border-radius:var(--r-pill);background:var(--glass-bg);-webkit-backdrop-filter:blur(10px);border:1px solid var(--glass-border);align-items:center;gap:8px;padding:6px 12px;display:flex;box-shadow:0 4px 14px #00000014}.misses-count{letter-spacing:.18em;color:var(--text-dim);white-space:nowrap;text-align:right;min-width:2.4em;font-family:Fredoka,Nunito,sans-serif;font-size:10px;font-weight:800}.misses-pips{gap:5px;display:flex}.miss-pip{background:#2fdc7a;border-radius:50%;width:10px;height:10px;transition:background .18s,box-shadow .18s,transform .22s;box-shadow:0 0 6px #2fdc7a99}.miss-pip.used{background:#3b2a30;transform:scale(.88);box-shadow:inset 0 0 0 1px #ff587573}.miss-pip.last{background:#ff3b6b;animation:.7s ease-in-out infinite lastLifePulse;box-shadow:0 0 8px #ff3b6be6,0 0 18px #ff3b6b80}@keyframes lastLifePulse{0%,to{transform:scale(1);box-shadow:0 0 8px #ff3b6be6,0 0 18px #ff3b6b80}50%{transform:scale(1.35);box-shadow:0 0 14px #ff3b6b,0 0 28px #ffb45ab3}}.combo-meter{pointer-events:none;z-index:2;border-radius:var(--r-pill);background:var(--glass-bg);border:1px solid var(--glass-border);-webkit-backdrop-filter:blur(10px);transform-origin:100%;justify-content:center;align-items:center;min-width:clamp(84px,24vw,100px);max-width:100%;height:20px;padding:0 10px;animation:.25s pop;display:flex;position:relative;overflow:hidden}.combo-meter .combo-fill{opacity:.85;background:linear-gradient(90deg,#ffd23b,#ff8a3b);transition:width .18s cubic-bezier(.2,.9,.3,1.4),background .22s;position:absolute;top:0;bottom:0;left:0}.combo-meter[data-tier=mid] .combo-fill{background:linear-gradient(90deg,#ff8a3b,#ff3b6b)}.combo-meter[data-tier=high] .combo-fill{background:linear-gradient(90deg,#ff3b6b,#b26bff,#3bdcdc) 0 0/200% 100%;animation:1.1s linear infinite comboFlow}.combo-meter .combo-text{z-index:1;letter-spacing:.18em;color:#fff;text-shadow:0 1px 2px #0000008c,0 0 8px #ffffff59;font-family:Fredoka,Nunito,sans-serif;font-size:11px;font-weight:900;position:relative}.combo-meter[data-tier=high]{box-shadow:var(--sh-glow-violet), 0 0 22px #b26bff8c;border-color:#ffffff59;animation:.6s ease-in-out infinite alternate comboCrescendo}.combo-meter[data-tier=high] .combo-text{letter-spacing:.22em;text-shadow:0 0 6px #fff,0 0 14px #b26bffe6;font-size:12px}@keyframes comboFlow{0%{background-position:0 0}to{background-position:200% 0}}@keyframes comboCrescendo{0%{filter:brightness();transform:scale(1)translate(0)}to{filter:brightness(1.18);transform:scale(1.05)translate(0)}}@keyframes pop{0%{transform:scale(.6)}60%{transform:scale(1.12)}to{transform:scale(1)}}.streak-pill{letter-spacing:.1em;border-radius:var(--r-pill);color:var(--c-gold);background:#e6b94a1f;border:1px solid #e6b94a47;padding:2px 8px;font-family:Fredoka,Nunito,sans-serif;font-size:10px;font-weight:800}.next-pip{border-radius:var(--r-pill);background:var(--glass-bg);-webkit-backdrop-filter:blur(10px);border:1px solid var(--glass-border);align-items:center;gap:clamp(5px,1.5vw,9px);min-height:40px;padding:clamp(6px,1.6vw,8px) clamp(10px,2.5vw,14px);transition:transform .12s,border-color .2s;display:flex}.next-pip:active{transform:scale(.94)}.next-label{letter-spacing:.18em;color:var(--text-dim);font-family:Fredoka,Nunito,sans-serif;font-size:clamp(8px,2.2vw,11px);font-weight:800}.next-chip{border-radius:4px;width:clamp(12px,3.6vw,18px);height:clamp(12px,3.6vw,18px);box-shadow:inset 0 1px #ffffff59,0 1px 2px #00000026}.next-chip.powerup{border:1px solid #ffffffb3;box-shadow:inset 0 1px #ffffff59,0 0 8px #ffffff73}.pause-btn{pointer-events:auto;width:clamp(42px,11vw,52px);height:clamp(42px,11vw,52px);color:var(--text);background:0 0;border:0;border-radius:50%;justify-content:center;align-items:center;padding:0;font-size:clamp(13px,3.6vw,17px);font-weight:900;transition:transform 80ms;display:flex;position:relative}.pause-btn.timer-ring{background:conic-gradient(from -90deg, #3bc46b 0deg, #ffd23b calc(var(--timer,1) * 180deg), #ff3bd2 calc(var(--timer,1) * 360deg), #ffffff1f calc(var(--timer,1) * 360deg), #ffffff1f 360deg);filter:drop-shadow(0 0 12px #ffd23b80)}.pause-btn.timer-ring.low{background:conic-gradient(from -90deg, #ff3b6b 0deg, #ff7a2b calc(var(--timer,1) * 360deg), #ffffff1f calc(var(--timer,1) * 360deg), #ffffff1f 360deg);filter:drop-shadow(0 0 16px #ff3b6bbf);animation:.6s ease-in-out infinite ringPulse}.pause-btn:before{content:"";background:var(--glass-bg);border:1px solid var(--glass-border);-webkit-backdrop-filter:blur(10px);border-radius:50%;position:absolute;inset:4px;box-shadow:inset 0 0 0 1px #ffffff14}.mute-btn{pointer-events:auto;background:var(--glass-bg);border:1px solid var(--glass-border);-webkit-backdrop-filter:blur(10px);width:clamp(32px,8vw,40px);height:clamp(32px,8vw,40px);color:var(--text);border-radius:50%;justify-content:center;align-items:center;transition:transform .12s,border-color .2s,color .2s;display:inline-flex;position:relative;box-shadow:inset 0 0 0 1px #ffffff14}.mute-btn:hover{border-color:var(--glass-border-hot)}.mute-btn:active{transform:scale(.88);box-shadow:inset 0 2px 6px #0000002e,inset 0 0 0 1px #ffffff14}.mute-btn.muted{color:#c24560;background:#c2456024;border-color:#c2456099}.mute-btn.muted:after{content:"";transform-origin:50%;background:#c24560;border-radius:2px;height:2px;position:absolute;top:50%;left:22%;right:22%;transform:translateY(-50%)rotate(-28deg);box-shadow:0 0 6px #c24560cc}.mute-btn .mute-icon{line-height:0;display:inline-flex}.mute-btn-floating{right:calc(var(--sp-3) + env(safe-area-inset-right,0));bottom:calc(var(--sp-3) + env(safe-area-inset-bottom,0));z-index:3;min-width:44px;min-height:44px;position:absolute}.pause-btn .pause-icon{z-index:1;letter-spacing:-.05em;line-height:1;position:relative}.pause-btn:active{transform:scale(.92)}.pause-btn:hover:before{border-color:var(--glass-border-hot)}@keyframes ringPulse{0%,to{filter:drop-shadow(0 0 14px #ff3b6b8c);transform:scale(1)}50%{filter:drop-shadow(0 0 22px #ff3b6be6);transform:scale(1.09)}}.hint-overlay{-webkit-backdrop-filter:blur(12px);z-index:10;padding:var(--sp-5);background:#07041ab8;justify-content:center;align-items:center;animation:.22s ease-out both overlayFade;display:flex;position:absolute;inset:0}.hint-card{background:var(--glass-bg-strong);-webkit-backdrop-filter:blur(24px);backdrop-filter:blur(24px);border:1px solid var(--glass-border-hot);border-radius:var(--r-card);padding:var(--sp-6) var(--sp-5);align-items:center;gap:var(--sp-3);width:100%;max-width:360px;box-shadow:var(--sh-card), var(--sh-glow-violet), var(--sh-inset);flex-direction:column;animation:.32s cubic-bezier(.2,.9,.3,1.05) both cardPopIn;display:flex}@keyframes overlayFade{0%{opacity:0}to{opacity:1}}@keyframes cardPopIn{0%{opacity:0;transform:translateY(12px)scale(.96)}to{opacity:1;transform:translateY(0)scale(1)}}.hint-title{letter-spacing:.35em;color:var(--c-cyan);text-shadow:0 0 12px #3bdcdc80;margin-bottom:4px;font-family:Fredoka,Nunito,sans-serif;font-size:13px;font-weight:900}.hint-line{color:var(--text);text-align:center;letter-spacing:.01em;font-size:14px;line-height:1.45}.hint-line b{color:var(--c-gold);font-weight:700}.hint-dots{margin:var(--sp-2) 0 var(--sp-1);gap:6px;display:flex}.hint-dot{background:#fff3;border-radius:999px;width:6px;height:6px;transition:background .2s,transform .2s}.hint-dot.on{background:var(--c-cyan);box-shadow:0 0 8px var(--c-cyan);transform:scale(1.4)}.mod-grid{gap:var(--sp-3);flex-direction:column;width:100%;max-width:380px;display:flex}.mod-card{padding:var(--sp-4) var(--sp-4);border-radius:var(--r-card);border:1px solid var(--glass-border);background:var(--glass-bg);-webkit-backdrop-filter:blur(16px);text-align:left;cursor:pointer;transition:transform 80ms,border-color .2s,box-shadow .2s;position:relative;overflow:hidden}.mod-card:before{content:"";background:var(--g-glass-light);pointer-events:none;position:absolute;inset:0}.mod-card:active{transform:scale(.98)}.mod-card.good{border-color:#3bdcdc80;box-shadow:0 0 24px #3bdcdc2e}.mod-card.good:hover{border-color:#3bdcdccc;box-shadow:0 0 30px #3bdcdc59}.mod-card.risky{border-color:#ff3b6b8c;box-shadow:0 0 24px #ff3b6b2e}.mod-card.risky:hover{border-color:#ff3b6bd9;box-shadow:0 0 30px #ff3b6b59}.mod-label{letter-spacing:.22em;color:var(--text);font-family:Fredoka,Nunito,sans-serif;font-size:15px;font-weight:900}.mod-sub{color:var(--text-dim);margin-top:5px;font-size:13px;line-height:1.4}.run-toast{top:max(24px, env(safe-area-inset-top,0));z-index:20;background:var(--glass-bg-strong);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);border:1px solid var(--glass-border);border-radius:var(--r-card);padding:10px var(--sp-4);box-shadow:var(--sh-card);flex-direction:column;align-items:center;gap:2px;display:flex;position:fixed;left:50%;transform:translate(-50%)}.toast-title{letter-spacing:.3em;color:var(--c-green);font-family:Fredoka,Nunito,sans-serif;font-size:14px;font-weight:900}.toast-title.perfect{background:var(--g-prism);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text}.toast-sub{color:var(--text-dim);letter-spacing:.15em;font-size:11px}.toast-streak{color:var(--c-gold);letter-spacing:.15em;margin-top:2px;font-size:12px;font-weight:800}.screen-title{letter-spacing:.3em;color:var(--text);text-transform:uppercase;background:var(--g-prism);-webkit-text-fill-color:transparent;filter:drop-shadow(0 0 18px #b26bff59);-webkit-background-clip:text;background-clip:text;font-family:Fredoka,Nunito,sans-serif;font-size:clamp(26px,7vw,38px);font-weight:900}.screen-sub{letter-spacing:.3em;color:var(--text-dim);text-transform:uppercase;margin-top:-4px;font-family:Fredoka,Nunito,sans-serif;font-size:12px}.screen.gallery-screen{justify-content:flex-start;min-height:0;overflow:hidden}.screen.gallery-screen>.screen-title,.screen.gallery-screen>.screen-sub,.screen.gallery-screen>.cta.small{flex-shrink:0}.gallery-scroll{-webkit-overflow-scrolling:touch;overscroll-behavior:contain;width:100%;max-width:640px;min-height:0;padding:var(--sp-1);flex:auto;overflow-y:auto}.gallery-grid{gap:var(--sp-3);padding:var(--sp-2);grid-template-columns:repeat(auto-fill,minmax(160px,1fr));display:grid}.gallery-item{color:inherit;font:inherit;cursor:pointer;text-align:center;background:0 0;border:0;flex-direction:column;align-items:center;gap:6px;padding:0;transition:transform .18s cubic-bezier(.2,.9,.3,1.4);display:flex}.gallery-item:disabled{cursor:default}.gallery-item:not(:disabled):hover{transform:translateY(-2px)scale(1.02)}.gallery-item:not(:disabled):active{transform:scale(.97)}.gallery-frame{background:var(--glass-bg);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-radius:var(--r-card);padding:var(--sp-2);border:1px solid var(--glass-border);box-shadow:var(--sh-inset);width:100%;transition:border-color .2s}.gallery-item.completed .gallery-frame{border-color:var(--glass-border-hot);box-shadow:var(--sh-glow-violet), var(--sh-inset)}.gallery-item.available .gallery-frame{opacity:.92;border-style:dashed}.gallery-item.locked .gallery-frame{opacity:.55}.gallery-item.upload-tile{padding:var(--sp-2);border-radius:var(--r-card);box-shadow:var(--sh-inset);background:linear-gradient(135deg,#3bdcdc33 0%,#b26bff47 100%);border:1.5px dashed #b26bff8c;transition:transform .18s cubic-bezier(.2,.9,.3,1.4),border-color .2s,box-shadow .2s;position:relative}.gallery-item.upload-tile:hover{box-shadow:0 10px 24px #b26bff4d, var(--sh-inset);border-color:#b26bfff2}.upload-tile-art{aspect-ratio:1;color:#fff;background:radial-gradient(circle at 30% 30%,#ffffff59,#0000 60%),linear-gradient(145deg,#3bdcdc 0%,#b26bff 100%);border-radius:10px;justify-content:center;align-items:center;margin-bottom:6px;display:flex;position:relative;box-shadow:inset 0 1px #ffffff4d}.upload-tile-icon{font-size:clamp(30px,8vw,44px);font-weight:900;line-height:1}.upload-tile-plus{color:#b26bff;background:#fff;border-radius:50%;justify-content:center;align-items:center;width:24px;height:24px;font-size:18px;font-weight:900;display:inline-flex;position:absolute;bottom:10%;right:10%;box-shadow:0 2px 6px #0000002e}.upload-tile-name{color:var(--c-violet);letter-spacing:.14em;font-weight:900}.gallery-subline{letter-spacing:.18em;color:var(--text-dim);text-transform:uppercase;font-family:Fredoka,Nunito,sans-serif;font-size:8.5px;font-weight:700}.upload-tile-new{color:#fff;letter-spacing:.22em;background:#ff3b6b;border-radius:999px;padding:2px 7px;font-family:Fredoka,Nunito,sans-serif;font-size:8.5px;font-weight:900;position:absolute;top:8px;left:8px}.gallery-frame{position:relative}.mini-canvas{width:100%;image-rendering:pixelated;border-radius:8px;display:block}.gallery-star{color:var(--c-gold,#ffd23b);text-shadow:0 1px 2px #00000040;pointer-events:none;font-size:15px;position:absolute;top:6px;right:8px}.gallery-medal{pointer-events:none;text-shadow:0 1px 2px #00000059;filter:drop-shadow(0 0 3px);font-size:16px;position:absolute;top:5px;right:7px}.gallery-medal.medal-bronze{color:#c07744;font-size:12px;top:7px}.gallery-medal.medal-silver{color:#cfd3da}.gallery-medal.medal-gold{color:#ffd23b;text-shadow:0 0 8px #ffd23be6;font-size:18px;animation:1.6s ease-in-out infinite sparkleTwinkle}.gallery-lock{pointer-events:none;justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.gallery-lock svg{stroke:#3c3246bf;fill:none;stroke-width:1.6px;stroke-linecap:round;stroke-linejoin:round;width:36%;max-width:56px}.gallery-dots{letter-spacing:1px;color:var(--c-violet);opacity:.7;pointer-events:none;font-size:9px;position:absolute;bottom:6px;right:8px}.gallery-dots.tier-1{color:#3bc46b}.gallery-dots.tier-2{color:#ff8a3b}.gallery-dots.tier-3{color:#e5283a}.gallery-item.available .gallery-label{letter-spacing:.35em;opacity:.6}.gallery-item.locked .gallery-label{opacity:.45}.gallery-label{letter-spacing:.2em;color:var(--text);text-transform:uppercase;font-family:Fredoka,Nunito,sans-serif;font-size:11px;font-weight:700}.gallery-viewer{z-index:100;-webkit-backdrop-filter:blur(8px);padding:var(--sp-3);background:#0a080ed1;justify-content:center;align-items:center;animation:.22s fadeIn;display:flex;position:fixed;inset:0}.gallery-viewer-card{align-items:center;gap:var(--sp-3);width:min(520px,94vw);max-height:88vh;padding:var(--sp-4);border-radius:var(--r-card);background:var(--glass-bg);-webkit-backdrop-filter:blur(14px);border:1px solid var(--glass-border-hot);box-shadow:var(--sh-glow-violet), var(--sh-inset);flex-direction:column;display:flex}.gallery-viewer-title{letter-spacing:.3em;color:var(--text);text-align:center;font-family:Fredoka,Nunito,sans-serif;font-size:14px;font-weight:900}.gallery-viewer-stage{aspect-ratio:1;border-radius:var(--r-card);background:linear-gradient(#f5e4cb 0% 16%,#dfeade 24%,#d6e7e0 50%,#dfeade 76%,#f5e4cb 84% 100%);width:100%;max-height:60vh;position:relative;overflow:hidden}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.prism-bar{letter-spacing:.18em;color:var(--c-gold);border-radius:var(--r-pill);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);text-shadow:0 0 12px #ffd23b66;background:#ffd23b1f;border:1px solid #ffd23b59;padding:8px 18px;font-family:Fredoka,Nunito,sans-serif;font-size:14px;font-weight:800}.shop-list{gap:var(--sp-2);flex-direction:column;width:100%;max-width:420px;display:flex}.shop-item{background:var(--glass-bg);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border-radius:var(--r-card);padding:var(--sp-3) var(--sp-4);border:1px solid var(--glass-border);transition:border-color .2s}.shop-item:hover{border-color:var(--glass-border-hot)}.shop-item.owned{opacity:.55}.shop-row{justify-content:space-between;align-items:center;gap:var(--sp-3);display:flex}.shop-name{letter-spacing:.2em;color:var(--text);text-transform:uppercase;font-family:Fredoka,Nunito,sans-serif;font-size:13px;font-weight:900}.shop-sub{color:var(--text-dim);letter-spacing:.02em;margin-top:4px;font-size:12px}.shop-section{letter-spacing:.4em;color:var(--text-dim);margin-top:var(--sp-3);text-align:left;width:100%;max-width:420px;padding-left:var(--sp-2);text-transform:uppercase;font-family:Fredoka,Nunito,sans-serif;font-size:10px;font-weight:800}.eq-pill{letter-spacing:.15em;background:var(--g-prism);color:#fff;border-radius:var(--r-chip);vertical-align:middle;margin-left:6px;padding:2px 8px;font-family:Fredoka,Nunito,sans-serif;font-size:9px;font-weight:800}.settings-list{gap:var(--sp-2);background:var(--glass-bg);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border:1px solid var(--glass-border);border-radius:var(--r-card);width:100%;max-width:380px;padding:var(--sp-4);flex-direction:column;display:flex}.setting-row{justify-content:space-between;align-items:center;gap:var(--sp-3);padding:8px 4px;display:flex}.setting-label{letter-spacing:.22em;color:var(--text);text-transform:uppercase;font-family:Fredoka,Nunito,sans-serif;font-size:12px;font-weight:700}.setting-row input[type=range]{accent-color:var(--c-violet);flex:1;max-width:160px}.settings-danger{width:100%;max-width:380px;margin-top:var(--sp-3);padding:var(--sp-3) var(--sp-4);border-radius:var(--r-card);background:#d843430f;border:1px dashed #d8434359;flex-direction:column;align-items:center;gap:8px;display:flex}.settings-danger-label{letter-spacing:.3em;color:#a84343d9;font-family:Fredoka,Nunito,sans-serif;font-size:9.5px;font-weight:800}.danger-btn{border-radius:var(--r-pill);color:#a84343;letter-spacing:.2em;cursor:pointer;background:0 0;border:1.5px solid #d843438c;padding:9px 22px;font-family:Fredoka,Nunito,sans-serif;font-size:11px;font-weight:800;transition:background .15s,color .15s}.danger-btn:hover{background:#d843431f}.danger-btn:active{transform:scale(.97)}.toggle{border-radius:var(--r-pill);border:1px solid var(--glass-border);background:#ffffff1f;width:46px;height:26px;transition:background .2s;position:relative}.toggle.on{background:var(--g-prism);border-color:#0000}.toggle-knob{background:#fff;border-radius:50%;width:20px;height:20px;transition:transform .2s;position:absolute;top:2px;left:2px;box-shadow:0 2px 6px #00000059}.toggle.on .toggle-knob{transform:translate(20px)}.toggle.v2{justify-content:flex-end;align-items:center;width:64px;min-width:44px;height:32px;min-height:32px;padding:0 9px;transition:background .2s,box-shadow .2s;display:inline-flex;box-shadow:inset 0 2px 4px #00000040}.toggle.v2.on{background:var(--g-prism);box-shadow:inset 0 2px 4px #0003,0 0 12px #b26bff59}.toggle.v2 .toggle-knob{width:26px;height:26px;transition:transform .22s cubic-bezier(.2,1.1,.4,1),box-shadow .2s;top:3px;left:3px}.toggle.v2.on .toggle-knob{transform:translate(32px);box-shadow:0 2px 8px #0006,0 0 0 2px #fff3}.toggle.v2 .toggle-state{letter-spacing:.15em;color:#ffffffbf;pointer-events:none;font-family:Fredoka,Nunito,sans-serif;font-size:9px;font-weight:800;position:absolute;top:50%;transform:translateY(-50%)}.toggle.v2.off .toggle-state{right:8px}.toggle.v2.on .toggle-state{color:#fff;text-shadow:0 1px 2px #00000059;left:8px}.link.danger{color:#ff6b7c}.link.danger:hover,.link.danger:focus-visible{color:#ff3b6b}.cta.small.danger{color:#fff;background:linear-gradient(135deg,#ff3b6b 0%,#c62c55 100%);box-shadow:0 6px 18px #ff3b6b73}.stats-grid{gap:var(--sp-2);width:100%;max-width:440px;margin:var(--sp-2) 0 var(--sp-3);grid-template-columns:repeat(4,1fr);display:grid}@media (width<=440px){.stats-grid{grid-template-columns:repeat(2,1fr)}}.stat-cell{padding:var(--sp-3) var(--sp-2);background:var(--glass-bg);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border:1px solid var(--glass-border);border-radius:var(--r-btn);flex-direction:column;justify-content:center;align-items:center;min-height:60px;transition:border-color .2s,transform .2s;display:flex}.stat-cell:hover{border-color:var(--glass-border-hot);transform:translateY(-1px)}.stat-value{letter-spacing:.02em;color:var(--text);background:var(--g-prism);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text;font-family:Fredoka,Nunito,sans-serif;font-size:clamp(15px,3.6vw,19px);font-weight:900;line-height:1.1}.stat-label{letter-spacing:.22em;color:var(--text-dim);text-align:center;text-transform:uppercase;margin-top:4px;font-family:Fredoka,Nunito,sans-serif;font-size:9px;font-weight:700}.awards-list{gap:var(--sp-2);width:100%;max-width:440px;max-height:42vh;padding:var(--sp-1);flex-direction:column;display:flex;overflow-y:auto}.award{align-items:center;gap:var(--sp-3);border-radius:var(--r-btn);background:var(--glass-bg);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid var(--glass-border);padding:10px 14px;display:flex}.award.got{border-color:var(--glass-border-hot);background:#b26bff1f}.award.locked .award-name{color:var(--text-dim)}.award-icon{text-align:center;width:30px;color:var(--c-gold);font-size:22px}.award.locked .award-icon{color:#a89ec480}.award-body{text-align:left;flex:1}.award-name{letter-spacing:.18em;color:var(--text);text-transform:uppercase;font-family:Fredoka,Nunito,sans-serif;font-size:12px;font-weight:900}.award-desc{color:var(--text-dim);letter-spacing:.02em;margin-top:2px;font-size:11px}.award-progress{align-items:center;gap:8px;margin-top:6px;display:flex}.award-progress-bar{background:#ffffff14;border-radius:3px;flex:1;height:5px;overflow:hidden}.award-progress-fill{background:linear-gradient(90deg, var(--c-gold,#ffd23b), #ff8d46);border-radius:3px;height:100%;transition:width .4s}.award-progress-text{letter-spacing:.14em;color:var(--text-dim);text-align:right;min-width:72px;font-family:Fredoka,Nunito,sans-serif;font-size:9.5px}.new-awards{margin:var(--sp-2) 0 var(--sp-1);border-radius:var(--r-btn);background:linear-gradient(135deg,#ffd23b29,#b26bff29);border:1px solid #ffd23b66;flex-direction:column;gap:6px;padding:14px 18px;animation:.65s cubic-bezier(.2,.9,.3,1.2) awardReveal;display:flex;position:relative;overflow:hidden}.new-awards:before{content:"";pointer-events:none;background:linear-gradient(115deg,#0000 40%,#ffffff8c 50%,#0000 60%);animation:1.3s ease-in-out .35s awardShimmer;position:absolute;inset:0;transform:translate(-100%)}@keyframes awardReveal{0%{opacity:0;transform:translateY(-14px)scale(.95)}to{opacity:1;transform:translateY(0)scale(1)}}@keyframes awardShimmer{0%{transform:translate(-100%)}to{transform:translate(140%)}}.new-awards-title{letter-spacing:.32em;color:#a27a1e;text-shadow:0 1px #fff6;font-family:Fredoka,Nunito,sans-serif;font-size:10px;font-weight:900}.new-award{letter-spacing:.1em;color:var(--text);align-items:center;gap:8px;font-family:Fredoka,Nunito,sans-serif;font-size:13px;font-weight:800;display:flex}.gameover-title{letter-spacing:.4em;color:var(--c-cyan);text-transform:uppercase;text-shadow:0 0 18px #3bdcdc66;font-family:Fredoka,Nunito,sans-serif;font-size:clamp(22px,6.5vw,32px);font-weight:900}.score-big{letter-spacing:-.02em;background:var(--g-prism);-webkit-text-fill-color:transparent;filter:drop-shadow(0 0 32px #b26bff8c);margin:var(--sp-2) 0;-webkit-background-clip:text;background-clip:text;font-family:Fredoka,Nunito,sans-serif;font-size:clamp(60px,20vw,128px);font-weight:900;line-height:.95}.breakdown{width:100%;max-width:320px;margin-top:var(--sp-3);flex-direction:column;gap:6px;display:flex}.breakdown-row{background:var(--glass-bg);-webkit-backdrop-filter:blur(12px);border:1px solid var(--glass-border);border-radius:var(--r-btn);opacity:0;justify-content:space-between;align-items:center;padding:10px 14px;transition:opacity .35s,transform .35s cubic-bezier(.2,.8,.3,1.2);display:flex;transform:translate(-12px)}.breakdown-row.in{opacity:1;transform:translate(0)}.breakdown-label{letter-spacing:.12em;text-transform:uppercase;color:var(--text-dim);font-size:12px;font-weight:600}.breakdown-value{letter-spacing:.04em;color:var(--text);font-family:Fredoka,Nunito,sans-serif;font-size:18px;font-weight:900}.daily-bonus-toast{top:calc(env(safe-area-inset-top,0px) + 24px);background:var(--glass-bg-strong);-webkit-backdrop-filter:blur(16px);border:1px solid var(--glass-border-hot);border-radius:var(--r-pill);letter-spacing:.08em;color:var(--c-gold);box-shadow:var(--sh-card), 0 0 24px #ffd23b59;z-index:100;padding:12px 20px;font-family:Fredoka,Nunito,sans-serif;font-size:13px;font-weight:700;animation:.4s cubic-bezier(.2,.8,.3,1.2) toast-in;position:fixed;left:50%;transform:translate(-50%)}@keyframes toast-in{0%{opacity:0;transform:translate(-50%,-20px)}to{opacity:1;transform:translate(-50%)}}.screen,.game-root{animation:.35s fade-in}@keyframes fade-in{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}.screen.gameover-screen{animation:.72s cubic-bezier(.25,1.1,.35,1.05) gameover-drop}@keyframes gameover-drop{0%{opacity:0;transform:translateY(-110%)rotate(-2deg)}55%{opacity:1;transform:translateY(4%)rotate(1deg)}78%{opacity:1;transform:translateY(-2%)rotate(-.5deg)}to{opacity:1;transform:translateY(0)rotate(0)}}.misses.severity-green .miss-pip:not(.used):not(.last){background:#2fdc7a;box-shadow:0 0 6px #2fdc7a99}.misses.severity-yellow .miss-pip:not(.used):not(.last){background:#ffd23b;box-shadow:0 0 6px #ffd23b99}.misses.severity-orange .miss-pip:not(.used):not(.last){background:#ff8a3b;box-shadow:0 0 8px #ff8a3bcc}.misses.severity-red{animation:1.1s ease-in-out infinite severityRedBreathe}.misses.severity-red .miss-pip:not(.used):not(.last){background:#ff3b6b;box-shadow:0 0 8px #ff3b6bd9,0 0 18px #ff3b6b73}@keyframes severityRedBreathe{0%,to{box-shadow:0 4px 14px #ff3b6b2e}50%{box-shadow:0 4px 22px #ff3b6b7a}}.bonus-meter{border-radius:var(--r-pill);background:var(--glass-bg);border:1px solid var(--glass-border);-webkit-backdrop-filter:blur(10px);align-items:center;gap:4px;padding:4px 8px;display:flex}.bonus-dot{--bonus-fill:0;background:conic-gradient(#ffd23b calc(var(--bonus-fill) * 360deg), #ffffff2e 0);border-radius:50%;width:14px;height:14px;position:relative;box-shadow:0 0 6px #ffd23b73}.bonus-dot:after{content:"";background:var(--glass-bg);border-radius:50%;position:absolute;inset:3px}.next-pip.tappable{cursor:pointer;border:1px solid var(--glass-border);transition:transform .12s,box-shadow .18s}.next-pip.tappable:hover,.next-pip.tappable:active{transform:scale(1.05);box-shadow:0 0 12px #ffd23b66}.pause-stats{justify-content:space-around;gap:12px;margin:12px 0 16px;display:flex}.pause-stat{flex-direction:column;align-items:center;gap:2px;animation:.42s cubic-bezier(.2,.9,.3,1.05) both statRise;display:flex}.pause-stat:first-child{animation-delay:80ms}.pause-stat:nth-child(2){animation-delay:.16s}.pause-stat:nth-child(3){animation-delay:.24s}@keyframes statRise{0%{opacity:0;transform:translateY(8px)scale(.92)}to{opacity:1;transform:translateY(0)scale(1)}}.pause-stat-n{color:var(--c-cyan);text-shadow:0 0 8px #3bdcdc66;font-family:Fredoka,Nunito,sans-serif;font-size:22px;font-weight:900}.pause-stat-l{letter-spacing:.14em;opacity:.65;font-size:10px;font-weight:700}.gameover-title.new-best{color:var(--c-gold);text-shadow:0 0 18px #ffd23bcc,0 0 4px #fff;animation:1.6s ease-in-out infinite alternate newBestGlow}@keyframes newBestGlow{0%{text-shadow:0 0 14px #ffd23b99,0 0 4px #fff;transform:scale(1)}to{text-shadow:0 0 28px #ffd23b,0 0 6px #fff;transform:scale(1.04)}}.gallery-best{letter-spacing:.12em;opacity:.7;color:var(--c-gold);margin-top:2px;font-size:10px;font-weight:800}.gallery-sparkle{color:var(--c-gold);text-shadow:0 0 8px #ffd23be6;font-size:18px;animation:1.6s ease-in-out infinite sparkleTwinkle;position:absolute;top:4px;right:6px}.gallery-item.perfect{box-shadow:0 0 0 1px #ffd23b4d,0 4px 18px #ffd23b26}@keyframes sparkleTwinkle{0%,to{opacity:1;transform:scale(1)rotate(0)}50%{opacity:.75;transform:scale(1.25)rotate(20deg)}}.reduce-motion *,.reduce-motion :before,.reduce-motion :after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}.combo-meter.combo-tier-mid .combo-text{letter-spacing:.08em;font-size:13px}.combo-meter.combo-tier-high .combo-text{letter-spacing:.1em;text-shadow:0 0 10px #ff7b3ab3,0 0 18px #ffd23b73;font-size:15px}.combo-meter.combo-tier-high{transform:scale(1.06)}.game-root.combo-broke:before{content:"";pointer-events:none;z-index:50;background:radial-gradient(#ff3b6b00 65%,#ff3b6b47 100%);animation:.32s ease-out forwards comboBreakFlash;position:absolute;inset:0}@keyframes comboBreakFlash{0%{opacity:0}35%{opacity:1}to{opacity:0}}.miss-pip.recovered{animation:.85s ease-out lifeRecover;box-shadow:0 0 10px #3bdcdce6,0 0 20px #3bdcdc99}@keyframes lifeRecover{0%{transform:scale(.4);box-shadow:0 0 14px #3bdcdc}50%{transform:scale(1.5);box-shadow:0 0 22px #3bdcdce6}to{transform:scale(1)}}.next-chip-stack{--chip-size:clamp(12px, 3.6vw, 18px);width:calc(var(--chip-size) + clamp(8px, 2.4vw, 12px));height:calc(var(--chip-size) + 4px);flex-shrink:0;display:inline-block;position:relative}.next-pip .next-chip{z-index:2;position:absolute;top:2px;left:0}.next-chip-back{left:calc(var(--chip-size) * .75);opacity:.6;filter:blur(.3px);z-index:1;border-radius:4px;position:absolute;top:4px;transform:scale(.9);width:calc(var(--chip-size) * .85)!important;height:calc(var(--chip-size) * .85)!important}.next-chip-badge{color:#fff5c2;letter-spacing:.04em;pointer-events:none;background:#3b2a30d1;border-radius:7px;justify-content:center;align-items:center;min-width:14px;height:14px;padding:0 3px;font-family:Fredoka,Nunito,sans-serif;font-size:8.5px;font-weight:800;line-height:1;display:inline-flex;position:absolute;top:-6px;right:-6px}.next-chip-glyph{font-size:calc(var(--chip-size) * .72);color:#140a1ee0;text-shadow:0 0 4px #ffffff8c;pointer-events:none;justify-content:center;align-items:center;font-weight:900;line-height:1;display:flex;position:absolute;inset:0}.next-pip.swap-nudge{animation:.9s ease-in-out infinite swap-nudge}.next-pip.swap-nudge .next-label{color:var(--c-gold);letter-spacing:.2em;font-weight:800}@keyframes swap-nudge{0%,to{transform:scale(1);box-shadow:0 0 #ffd23b00}50%{transform:scale(1.06);box-shadow:0 0 0 4px #ffd23b40}}.level-intro{text-align:center;pointer-events:none;z-index:20;animation:1.6s ease-out forwards levelIntroSlide;position:absolute;top:40%;left:50%;transform:translate(-50%,-50%)}.level-intro-sub{letter-spacing:.4em;color:#ffffff8c;margin-bottom:4px;font-family:Fredoka,Nunito,sans-serif;font-size:11px}.level-intro-name{letter-spacing:.05em;color:#fff;text-shadow:0 0 12px #b26bffb3,0 0 24px #3bb8ff66;font-family:Fredoka,Nunito,sans-serif;font-size:30px;font-weight:800}@keyframes levelIntroSlide{0%{opacity:0;transform:translate(-50%,-70%)}15%{opacity:1;transform:translate(-50%,-50%)}80%{opacity:1;transform:translate(-50%,-50%)}to{opacity:0;transform:translate(-50%,-30%)}}.level-intro-meta{letter-spacing:.2em;color:#ffffffb3;justify-content:center;align-items:center;gap:12px;margin-top:8px;font-family:Fredoka,Nunito,sans-serif;font-size:12px;display:flex}.level-intro-dots{color:var(--c-gold);letter-spacing:.1em}.level-intro-dots .off{color:#ffffff2e;margin-left:1px}.level-intro.boss .level-intro-sub{color:#ff7aa1;animation:.9s ease-in-out infinite bossIntroPulse}.level-intro.boss .level-intro-name{background:linear-gradient(135deg,#ff3b6b,#ffd23b);-webkit-text-fill-color:transparent;text-shadow:0 0 18px #ff3b6bb3;-webkit-background-clip:text;background-clip:text}@keyframes bossIntroPulse{0%,to{opacity:.7}50%{opacity:1}}.score-wrap{align-items:baseline;gap:10px;display:inline-flex;position:relative}.combo-heat-ring{pointer-events:none;z-index:-1;will-change:transform, opacity;border:1.5px solid #ffd23b8c;border-radius:22px;animation:1.4s ease-in-out infinite combo-heat-pulse;position:absolute;inset:-8px -14px;box-shadow:0 0 14px #ffd23b66,inset 0 0 8px #ffd23b40}.score-wrap[data-combo-tier=mid] .combo-heat-ring{border-color:#ff8d46a6;animation-duration:1s;box-shadow:0 0 18px #ff8d4680,inset 0 0 10px #ff8d464d}.score-wrap[data-combo-tier=high] .combo-heat-ring{border-color:#ff3b6bbf;animation-duration:.7s;box-shadow:0 0 22px #ff3b6b99,inset 0 0 12px #ff3b6b59}@keyframes combo-heat-pulse{0%,to{opacity:.85;transform:scale(1)}50%{opacity:1;transform:scale(1.04)}}body.reduce-motion .combo-heat-ring{animation:none}.ghost-pip{letter-spacing:.16em;border-radius:var(--r-pill);color:#e6ebf5b3;white-space:nowrap;background:#e6ebf514;border:1px solid #e6ebf538;padding:2px 7px;font-family:Fredoka,Nunito,sans-serif;font-size:10px;font-weight:700}.ghost-pip.ahead{color:#3bdcdc;background:#3bdcdc1f;border-color:#3bdcdc8c;box-shadow:0 0 10px #3bdcdc66}.chip-row{gap:var(--sp-2);flex-wrap:wrap;justify-content:center;align-items:center;width:100%;display:flex}.missions-chip{border-radius:var(--r-pill);background:var(--glass-bg);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid var(--glass-border);color:var(--text);letter-spacing:.18em;cursor:pointer;align-items:center;gap:8px;padding:7px 14px;font-family:Fredoka,Nunito,sans-serif;font-size:11px;font-weight:900;display:inline-flex;position:relative}.missions-chip.ready{border-color:#ffd23b99;box-shadow:0 0 14px #ffd23b59}.missions-chip-meta{color:var(--text-dim);letter-spacing:.14em;font-weight:700}.missions-chip-dot{background:var(--c-gold,#ffd23b);color:#111;text-align:center;letter-spacing:0;border-radius:9px;min-width:18px;height:18px;padding:0 5px;font-size:10px;font-weight:900;line-height:18px}.missions-card{max-width:440px}.mission-list{flex-direction:column;gap:10px;margin:0;padding:0;list-style:none;display:flex}.mission-item{border-radius:var(--r-btn);border:1px solid var(--glass-border);background:#ffffff0a;align-items:center;gap:10px;padding:10px 12px;display:flex;position:relative;overflow:visible}.mission-item.ready{border-color:#ffd23b8c;box-shadow:0 0 10px #ffd23b40}.mission-item.claimed{opacity:.55}.mission-body{flex:1;min-width:0}.mission-desc{letter-spacing:.1em;font-family:Fredoka,Nunito,sans-serif;font-size:12px;font-weight:800}.mission-bar{background:#ffffff1a;border-radius:3px;height:5px;margin:5px 0;overflow:hidden}.mission-fill{background:linear-gradient(90deg,#3bdcdc,#3bb8ff);border-radius:3px;height:100%;transition:width .3s}.mission-fill.gold{background:linear-gradient(90deg,#ffd23b,#ff8d46)}.mission-meta{color:var(--text-dim);letter-spacing:.1em;font-size:10px}.mission-claim-wrap{flex-shrink:0;justify-content:center;align-items:center;display:inline-flex;position:relative}.claim-fx-layer{pointer-events:none;z-index:5;width:0;height:0;position:absolute;top:50%;left:50%}.mission-claim{border-radius:var(--r-btn);border:1px solid var(--glass-border);min-width:56px;color:var(--text-dim);letter-spacing:.18em;cursor:pointer;background:#ffffff0d;padding:8px 12px;font-family:Fredoka,Nunito,sans-serif;font-size:10px;font-weight:900}.mission-item.ready .mission-claim{background:var(--c-gold,#ffd23b);color:#111;border-color:#0000;box-shadow:0 0 12px #ffd23b73}.mission-claim:disabled{cursor:default}.mission-claim.claiming{animation:.55s cubic-bezier(.2,.9,.3,1.4) claimPulse;color:#111!important;background:linear-gradient(135deg,#fff3b5 0%,#ffd23b 45%,#ff8a3b 100%)!important;box-shadow:0 0 0 3px #ffd23b59,0 0 22px 4px #ffd23bb3,0 0 42px 10px #ff8a3b73!important}.mission-item.claiming-flash{animation:.65s ease-out claimFlash}@keyframes claimPulse{0%{transform:scale(1)}35%{transform:scale(1.22)rotate(-2deg)}60%{transform:scale(.96)rotate(1deg)}to{transform:scale(1)rotate(0)}}@keyframes claimFlash{0%{box-shadow:0 0 #ffd23b00,inset 0 0 #ffd23b00}30%{box-shadow:0 0 0 4px #ffd23b59,inset 0 0 22px #ffd23b73}to{box-shadow:0 0 #ffd23b00,inset 0 0 #ffd23b00}}.claim-toast{pointer-events:none;letter-spacing:.04em;color:#fff5c2;text-shadow:0 0 6px #ffd23bf2,0 0 14px #ff8a3bcc,0 0 28px #ffd23b99;z-index:80;white-space:nowrap;font-family:Fredoka,Nunito,sans-serif;font-size:22px;font-weight:900;animation:.95s cubic-bezier(.2,.9,.3,1) forwards claimToastRise;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}@keyframes claimToastRise{0%{opacity:0;transform:translate(-50%,-50%)scale(.5)}18%{opacity:1;transform:translate(-50%,-90%)scale(1.35)}40%{opacity:1;transform:translate(-50%,-140%)scale(1.1)}to{opacity:0;transform:translate(-50%,-240%)scale(.85)}}.claim-shard{pointer-events:none;z-index:79;background:linear-gradient(135deg,#fff3b5,#ffd23b 60%,#ff8a3b);border-radius:2px;width:8px;height:8px;animation:.8s cubic-bezier(.18,.7,.3,1) forwards claimShard;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);box-shadow:0 0 8px #ffd23be6}@keyframes claimShard{0%{opacity:1;transform:translate(-50%,-50%)rotate(0)scale(.6)}60%{opacity:1}to{transform:translate(calc(-50% + var(--sx,0px)), calc(-50% + var(--sy,0px))) rotate(var(--sr,180deg)) scale(.3);opacity:0}}.best-chip.prism-bumped{animation:.7s cubic-bezier(.2,.9,.3,1.4) prismBump}@keyframes prismBump{0%{transform:scale(1);box-shadow:0 0 #ffd23b00}30%{transform:scale(1.28);box-shadow:0 0 18px 4px #ffd23bcc,0 0 36px 8px #ff8a3b73}65%{transform:scale(.96)}to{transform:scale(1);box-shadow:0 0 #ffd23b00}}.weekly-block{margin-top:14px}.weekly-title{letter-spacing:.28em;color:var(--text-dim);margin-bottom:6px;font-family:Fredoka,Nunito,sans-serif;font-size:10px;font-weight:800}.ngplus-toggle{border-radius:var(--r-pill);color:var(--text-dim);letter-spacing:.14em;cursor:pointer;background:#e6b94a14;border:1px solid #e6b94a59;align-items:center;gap:8px;margin-top:8px;padding:6px 12px;font-family:Fredoka,Nunito,sans-serif;font-size:10.5px;font-weight:700;display:inline-flex}.ngplus-toggle input{accent-color:var(--c-gold,#ffd23b)}.ngplus-toggle.on{color:var(--c-gold,#ffd23b);background:#e6b94a2e;box-shadow:0 0 12px #e6b94a59}.finish-wave{pointer-events:none;z-index:30;will-change:transform, opacity;border:3px solid #ffd23bd9;border-radius:50%;width:40px;height:40px;margin-top:-20px;margin-left:-20px;animation:1.2s ease-out forwards finish-wave-anim;position:absolute;top:50%;left:50%;box-shadow:0 0 30px #ffd23b99}@keyframes finish-wave-anim{0%{opacity:.95;border-width:5px;transform:scale(.2)}65%{opacity:.6;border-color:#3bb8ffb3}to{opacity:0;border-width:1px;transform:scale(24)}}body.reduce-motion .finish-wave{display:none}body[data-tod=dawn] .app:before{content:"";z-index:0;pointer-events:none;background:radial-gradient(circle at 30% 20%,#ffaa781a,#0000 60%);position:fixed;inset:0}body[data-tod=day] .app:before{content:"";z-index:0;pointer-events:none;background:radial-gradient(circle at 50% 15%,#fff0c80f,#0000 65%);position:fixed;inset:0}body[data-tod=dusk] .app:before{content:"";z-index:0;pointer-events:none;background:radial-gradient(circle at 70% 30%,#ff78961c,#0000 60%);position:fixed;inset:0}body[data-tod=night] .app:before{content:"";z-index:0;pointer-events:none;background:radial-gradient(circle at 50% 80%,#5a6eb424,#0000 65%);position:fixed;inset:0}.game-root.combo-heat-bg:after{content:"";pointer-events:none;z-index:0;mix-blend-mode:screen;background:radial-gradient(circle at 50% 55%,#ff8d461a,#0000 55%);animation:2.4s ease-in-out infinite combo-heat-bg-pulse;position:absolute;inset:0}.game-root.combo-heat-bg-max:after{background:radial-gradient(circle at 50% 55%,#ff3b6b29,#0000 55%);animation-duration:1.2s}@keyframes combo-heat-bg-pulse{0%,to{opacity:.5;transform:scale(1)}50%{opacity:1;transform:scale(1.03)}}body.reduce-motion .game-root.combo-heat-bg:after{animation:none}.continue-btn{border-radius:var(--r-pill);color:#1a0a30;letter-spacing:.14em;text-transform:uppercase;cursor:pointer;background:linear-gradient(135deg,#3bdcdc 0%,#b26bff 100%);border:0;margin:10px auto 6px;padding:13px 22px;font-family:Fredoka,Nunito,sans-serif;font-size:13px;font-weight:900;transition:transform 80ms,box-shadow .2s;box-shadow:0 10px 26px #b26bff73}.continue-btn:hover{box-shadow:0 14px 32px #b26bff8c}.continue-btn:active{transform:scale(.97)}.streak-saver-btn{border-radius:var(--r-pill);color:#fff;letter-spacing:.2em;cursor:pointer;background:linear-gradient(90deg,#ff8d4633,#ff3b6b33);border:1px solid #ff8d4699;margin:8px auto 4px;padding:10px 18px;font-family:Fredoka,Nunito,sans-serif;font-size:11px;font-weight:900;box-shadow:0 0 14px #ff8d4659}.streak-saver-btn:disabled{opacity:.45;cursor:default;box-shadow:none}.hint-line.danger{color:#ff8d46;font-weight:700}.gallery-hidden-hint{border-radius:var(--r-pill);color:var(--text-dim);letter-spacing:.14em;text-align:center;background:#e6b94a14;border:1px solid #e6b94a4d;max-width:88%;margin:2px auto 8px;padding:6px 14px;font-family:Fredoka,Nunito,sans-serif;font-size:10px;font-weight:700}.gallery-hidden-hint.unlocked{color:var(--c-gold,#ffd23b);border-color:#e6b94ab3;box-shadow:0 0 10px #e6b94a59}.shop-chip{border-radius:var(--r-pill);background:var(--glass-bg);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid var(--glass-border);color:var(--text-dim);letter-spacing:.24em;cursor:pointer;opacity:.8;align-items:center;gap:6px;padding:7px 12px 7px 14px;font-family:Fredoka,Nunito,sans-serif;font-size:11px;font-weight:900;display:inline-flex;position:relative}.shop-chip-soon{letter-spacing:.12em;color:#a27a1e;background:#e6b94a40;border-radius:999px;padding:2px 6px;font-size:8.5px;font-weight:800}.rank-chip{border-radius:var(--r-pill);letter-spacing:.1em;color:var(--text);background:linear-gradient(135deg,#b26bff2e 0%,#e8927d29 100%);border:1px solid #b26bff59;align-items:center;gap:8px;padding:6px 14px;font-family:Fredoka,Nunito,sans-serif;font-size:11px;font-weight:700;display:flex}.rank-icon{color:var(--c-violet);font-size:14px}.rank-name{font-weight:800}.rank-next{color:var(--text-dim);opacity:.85;font-size:9.5px;font-weight:600}.cta-row{align-items:stretch;gap:8px;width:100%;display:flex}.cta-row .cta{flex:1}.zen-btn{border-radius:var(--r-pill);min-width:72px;color:var(--text);letter-spacing:.14em;text-transform:uppercase;cursor:pointer;background:linear-gradient(#b26bff26 0%,#3bdcdc26 100%);border:1px solid #b26bff66;flex-direction:column;justify-content:center;align-items:center;gap:2px;padding:10px 14px;font-family:Fredoka,Nunito,sans-serif;font-size:11.5px;font-weight:800;transition:transform 80ms,background .2s;display:flex}.zen-btn:hover{background:linear-gradient(#b26bff40 0%,#3bdcdc40 100%)}.zen-btn:active{transform:scale(.96)}.zen-glyph{color:var(--c-violet);font-size:16px;line-height:1}.upload-btn{border-radius:var(--r-btn);width:100%;color:var(--text);text-align:left;cursor:pointer;background:linear-gradient(100deg,#3bdcdc29 0%,#b26bff33 100%);border:1px solid #3bdcdc59;align-items:center;gap:12px;padding:10px 14px;font-family:Fredoka,Nunito,sans-serif;transition:transform 80ms,box-shadow .2s,background .2s;display:flex}.upload-btn:hover{box-shadow:0 6px 20px #3bdcdc38}.upload-btn:active{transform:scale(.98)}.upload-icon{color:#fff;background:linear-gradient(135deg,#3bdcdc,#b26bff);border-radius:8px;justify-content:center;align-items:center;width:36px;height:36px;font-size:20px;font-weight:900;display:inline-flex}.upload-label{flex-direction:column;flex:1;gap:1px;min-width:0;display:flex}.upload-title{letter-spacing:.04em;color:var(--text);font-size:13px;font-weight:800}.upload-sub{letter-spacing:.12em;color:var(--text-dim);text-transform:uppercase;font-size:10px;font-weight:600}.upload-new{letter-spacing:.18em;color:#fff;background:#ff3b6b;border-radius:999px;padding:3px 7px;font-size:8.5px;font-weight:900}.custom-screen{gap:var(--sp-3)}.custom-dropzone{width:100%;max-width:380px;min-height:260px;padding:var(--sp-3);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);cursor:pointer;background:#fff5e173;border:2px dashed #b26bff73;border-radius:18px;justify-content:center;align-items:center;transition:border-color .2s,background .2s;display:flex}.custom-dropzone:hover{background:#fff5e199;border-color:#b26bffbf}.custom-dropzone-hint{color:var(--text-dim);flex-direction:column;align-items:center;gap:8px;display:flex}.custom-dropzone-icon{color:var(--c-violet);font-size:44px;line-height:1}.custom-dropzone-line{letter-spacing:.06em;color:var(--text);font-family:Fredoka,Nunito,sans-serif;font-size:15px;font-weight:800}.custom-dropzone-sub{letter-spacing:.22em;font-family:Fredoka,Nunito,sans-serif;font-size:10px;font-weight:700}.custom-busy{color:var(--c-violet);letter-spacing:.14em;font-family:Fredoka,Nunito,sans-serif;font-weight:800;animation:.8s ease-in-out infinite alternate custom-busy-pulse}@keyframes custom-busy-pulse{0%{opacity:.5}to{opacity:1}}.custom-preview{image-rendering:pixelated;image-rendering:-moz-crisp-edges;background:#3b2a300a;border-radius:6px;position:relative;overflow:hidden}.custom-preview-cell{box-sizing:border-box;border:.5px solid #0003;position:absolute}.custom-controls{flex-direction:column;gap:8px;width:100%;max-width:380px;display:flex}.custom-size-row,.custom-name-row{border-radius:var(--r-pill);border:1px solid var(--glass-border);letter-spacing:.14em;color:var(--text-dim);background:#fff5e180;align-items:center;gap:10px;padding:6px 10px;font-family:Fredoka,Nunito,sans-serif;font-size:11px;font-weight:800;display:flex}.custom-size-row input[type=range]{accent-color:var(--c-violet);flex:1}.custom-name-row input[type=text]{color:var(--text);letter-spacing:.05em;background:0 0;border:0;outline:none;flex:1;font-family:Fredoka,Nunito,sans-serif;font-size:13px;font-weight:800}.custom-stats{text-align:center;letter-spacing:.18em;color:var(--text-dim);font-family:Fredoka,Nunito,sans-serif;font-size:11px;font-weight:700}.custom-err{text-align:center;color:#a84343;border-radius:var(--r-btn);background:#d8434314;padding:6px 10px;font-family:Fredoka,Nunito,sans-serif;font-size:12px;font-weight:700}.streak-cal{width:100%;margin-top:var(--sp-2);border:1px solid var(--glass-border);background:#fff5e159;border-radius:14px;padding:10px 12px}.streak-cal-label{letter-spacing:.22em;color:var(--text-dim);text-align:center;margin-bottom:7px;font-family:Fredoka,Nunito,sans-serif;font-size:9.5px;font-weight:800}.streak-cal-row{justify-content:space-between;gap:6px;display:flex}.streak-dot{aspect-ratio:1;max-width:36px;color:var(--text-dim);letter-spacing:.1em;background:#3b2a3014;border:1px solid #3b2a301f;border-radius:8px;flex:1;justify-content:center;align-items:center;font-family:Fredoka,Nunito,sans-serif;font-size:9px;font-weight:800;transition:background .2s,color .2s,border-color .2s;display:flex}.streak-dot.on{color:#3b2a30;background:linear-gradient(135deg,#ffd23b,#ff9a3b);border-color:#0000;box-shadow:0 2px 6px #ff8a3b59}.streak-dot.today{outline-offset:1px;outline:2px solid #b26bff8c}.run-history{width:100%;margin-top:var(--sp-2);gap:6px;padding:2px 2px 4px;display:flex;overflow-x:auto}.run-chip{border:1px solid var(--glass-border);text-align:center;background:#fff5e180;border-radius:10px;flex:none;min-width:56px;padding:6px 10px}.run-chip.done{background:#2fdc7a1f;border-color:#2fdc7a8c}.run-chip.zen{background:#b26bff1f;border-color:#b26bff73}.run-chip-score{color:var(--text);font-variant-numeric:tabular-nums;font-family:Fredoka,Nunito,sans-serif;font-size:13px;font-weight:800}.run-chip-meta{letter-spacing:.16em;color:var(--text-dim);font-size:8.5px;font-weight:700}.shop-teaser{flex-direction:column;gap:10px;display:flex}.shop-teaser-item{border-radius:var(--r-btn);border:1px dashed var(--glass-border);opacity:.75;background:#ffffff08;justify-content:space-between;align-items:baseline;padding:10px 14px;display:flex}.shop-teaser-name{letter-spacing:.14em;font-family:Fredoka,Nunito,sans-serif;font-size:12px;font-weight:800}.shop-teaser-price{color:var(--text-dim);letter-spacing:.18em;font-size:10px}.shop-hint{color:var(--text-dim);letter-spacing:.08em;text-align:center;margin-top:10px;font-size:10.5px}.score-delta{color:var(--c-gold);text-shadow:0 0 10px #e6b94ab3;pointer-events:none;white-space:nowrap;margin-left:8px;font-family:Fredoka,Nunito,sans-serif;font-size:clamp(14px,3.2vw,20px);font-weight:800;animation:.9s ease-out forwards scoreDeltaRise;position:absolute;top:0;left:100%}@keyframes scoreDeltaRise{0%{opacity:0;transform:translateY(4px)scale(.9)}15%{opacity:1;transform:translateY(-4px)scale(1.08)}80%{opacity:1;transform:translateY(-18px)scale(1)}to{opacity:0;transform:translateY(-28px)scale(.95)}}.perfect-streak-pip{letter-spacing:.2em;border-radius:var(--r-pill);color:var(--c-gold);white-space:nowrap;background:#e6b94a1f;border:1px solid #e6b94a73;align-self:center;padding:2px 8px;font-family:Fredoka,Nunito,sans-serif;font-size:11px;font-weight:800;box-shadow:0 0 10px #e6b94a59}.game-root.junk-danger:after{content:"";pointer-events:none;z-index:49;animation:1.2s ease-in-out infinite junkDangerPulse;position:absolute;inset:0;box-shadow:inset 0 0 90px 6px #ff3b6b73}@keyframes junkDangerPulse{0%,to{opacity:.55}50%{opacity:1}}.gameover-reason{letter-spacing:.25em;text-transform:uppercase;color:#ffffffa6;text-align:center;margin:4px 0 -4px;font-family:Fredoka,Nunito,sans-serif;font-size:12px}.daily-countdown{letter-spacing:.25em;color:#ffffff80;text-align:center;margin-top:6px;font-family:Fredoka,Nunito,sans-serif;font-size:10px}.streak-chip.perfect{color:#ffd23b;border-color:#ffd23b8c;box-shadow:0 0 10px #ffd23b59}.credits{padding:var(--sp-3) 0 calc(var(--sp-3) + env(safe-area-inset-bottom,0));letter-spacing:.2em;color:#fff6;text-align:center;margin-top:auto;font-family:Fredoka,Nunito,sans-serif;font-size:11px}.credits a{color:#ffffffa6;border-bottom:1px dotted #ffffff59;text-decoration:none;transition:color .15s,border-color .15s}.credits a:hover,.credits a:focus-visible{color:#fff;border-bottom-color:#ffffffb3}.run-progress{letter-spacing:.28em;color:var(--c-cyan);opacity:.85;text-transform:uppercase;margin-bottom:2px;font-family:Fredoka,Nunito,sans-serif;font-size:9px;font-weight:700}.pause-btn.timer-ring.critical{background:conic-gradient(from -90deg, #ff1f54 0deg, #ff3b6b calc(var(--timer,1) * 360deg), #ffffff14 calc(var(--timer,1) * 360deg), #ffffff14 360deg);animation:.22s ease-in-out infinite timerCriticalPulse;box-shadow:0 0 22px #ff1f54f2,0 0 44px #ff1f548c}@keyframes timerCriticalPulse{0%,to{filter:brightness();transform:scale(1)}50%{filter:brightness(1.25);transform:scale(1.14)}}.next-peek{z-index:10;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#12121ceb;border:1px solid #ffffff1f;border-radius:10px;flex-direction:column;gap:6px;min-width:140px;padding:8px 10px;animation:.16s ease-out peekFadeIn;display:flex;position:absolute;top:calc(100% + 6px);right:0}.next-peek-row{letter-spacing:.12em;color:#ffffffe0;text-transform:uppercase;align-items:center;gap:8px;font-family:Fredoka,Nunito,sans-serif;font-size:11px;display:flex}.next-peek-dot{border-radius:3px;flex-shrink:0;width:10px;height:10px;display:inline-block}@keyframes peekFadeIn{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.gallery-new-badge{color:#fff;letter-spacing:.15em;z-index:2;background:linear-gradient(135deg,#ff3b6b,#ff7aa1);border-radius:8px;padding:3px 7px;font-family:Fredoka,Nunito,sans-serif;font-size:9px;font-weight:800;animation:1.2s ease-in-out infinite galleryNewBounce;position:absolute;top:-6px;left:-6px;box-shadow:0 2px 10px #ff3b6b99}.gallery-item.newly-unlocked .gallery-frame{box-shadow:0 0 0 2px #ff3b6bb3,0 4px 18px #ff3b6b59}@keyframes galleryNewBounce{0%,to{transform:scale(1)rotate(-6deg)}50%{transform:scale(1.12)rotate(-6deg)}}
