@font-face{font-family:Lilita One;src:url(./LilitaOne-Regular-DWEPn4H6.ttf)format("truetype");font-display:swap;font-weight:400}@font-face{font-family:Inter;src:url(./Inter-VF2RPR_K.ttf)format("truetype");font-display:swap;font-weight:100 900}:root{--giga-bg:#090b17;--giga-panel:#18172ce0;--giga-white:#fff;--giga-muted:#b8b5d0;--giga-violet:#8b5cf6;--giga-lime:#a3e635;--giga-border:#ffffff21;--giga-radius:24px;--giga-display:"Lilita One",sans-serif;--giga-body:Inter,sans-serif;--giga-shadow:0 24px 80px #0006;color:var(--giga-white);font-family:var(--giga-body);background:var(--giga-bg);font-synthesis:none}*{box-sizing:border-box}body{margin:0}button{font:inherit;cursor:pointer;touch-action:manipulation}button:focus-visible{outline:3px solid var(--giga-lime);outline-offset:4px}.giga-panel{background:var(--giga-panel);border:1px solid var(--giga-border);border-radius:var(--giga-radius);box-shadow:var(--giga-shadow);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);padding:28px}.giga-title{font-family:var(--giga-display);margin:0;font-weight:400;line-height:.95}.giga-number{font-variant-numeric:tabular-nums;color:#fff;font-weight:900}.giga-button{color:#151126;background:var(--giga-lime);border:0;border-radius:16px;justify-content:center;align-items:center;min-height:52px;padding:12px 25px;font-weight:800;display:inline-flex}.giga-secondary{color:#fff;border:1px solid var(--giga-border);background:#ffffff12}.giga-safe{padding:max(18px,env(safe-area-inset-top)) max(18px,env(safe-area-inset-right)) max(18px,env(safe-area-inset-bottom)) max(18px,env(safe-area-inset-left))}.giga-screen{text-align:center;width:100%;max-width:360px}.giga-screen p{color:var(--giga-muted);line-height:1.6}.giga-screen .giga-title{font-size:56px}.giga-screen .small{font-size:38px}.giga-screen em{color:var(--giga-lime);font-style:normal}.giga-screen .eyebrow{letter-spacing:2px;color:#c9b5ff;font-size:10px}.giga-screen .giga-button{width:100%}.giga-screen .text-button{color:#c9b5ff;background:0 0;border:0;margin:14px auto 0;display:block}.giga-screen .result-score{font-size:64px;display:block}.giga-hud{justify-content:space-between;align-items:center;gap:16px;display:flex}.giga-hud span{color:var(--giga-muted);display:block}.giga-hud .giga-number{font-size:32px}@font-face{font-family:Fredoka;src:url(./fredoka-latin-DOQG_Jwn.woff2)format("woff2");font-weight:300 700;font-display:swap}:root{--walnut:#4a3222;--walnut-2:#6b4a33;--cream:#f7f0e1;--cream-2:#efe4cd;--olive:#3d6b37;--olive-2:#5b9549;--brass:#c99a3d;--brass-hi:#f1d27f;--coral:#d9573f;--ui:"Fredoka", "Lilita One", system-ui, sans-serif;--ppu:30px;color:var(--walnut);font-family:var(--ui);background:#6f8a5c}html,body{overscroll-behavior:none;background:#6f8a5c;height:100%;overflow:hidden}body{-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent;margin:0}#app{position:fixed;inset:0}#view{touch-action:none;width:100%;height:100%;display:block;position:absolute;inset:0}.num{font-variant-numeric:tabular-nums}.hud{pointer-events:none;position:absolute;inset:0}.hud[hidden]{display:none}.hud button{pointer-events:auto}.panel{box-sizing:border-box;color:var(--walnut);background:var(--linen) center / 220px, var(--cream);border-radius:calc(var(--ppu) * .34);align-items:center;display:flex;position:absolute;box-shadow:inset 0 0 0 1.5px #fff8,inset 0 -3px 6px #a8865d33,0 2px #fff6,0 3px 8px #3a240f40}.panel.top{padding:0 calc(var(--ppu) * .35);justify-content:space-between;gap:calc(var(--ppu) * .2)}.cell{min-width:0;height:72%;padding:0 calc(var(--ppu) * .12);flex-direction:column;justify-content:center;align-items:center;display:flex;position:relative}.cell+.cell:before{content:"";left:calc(var(--ppu) * -.12);background:#a07d5640;width:1.5px;position:absolute;top:10%;bottom:10%}.cell span{font-size:max(10px, calc(var(--ppu) * .36));letter-spacing:.02em;color:var(--walnut-2);font-weight:500;line-height:1.1}.cell b{font-size:max(16px, calc(var(--ppu) * .66));color:var(--walnut);font-weight:600;line-height:1.12}.cell.time{gap:calc(var(--ppu) * .14);flex-direction:row}.cell.time b.low{color:var(--coral);animation:1s ease-in-out infinite throb}.cell.score{flex:1.25}.cell.combo{flex:1.4}.combo-row{align-items:center;gap:calc(var(--ppu) * .14);width:100%;display:flex}.bar{height:max(6px, calc(var(--ppu) * .22));background:#d9ccb2;border-radius:99px;flex:1;min-width:30px;overflow:hidden;box-shadow:inset 0 1px 2px #6b4a3355}.bar i{background:linear-gradient(#7bb860, var(--olive));border-radius:99px;width:0;height:100%;transition:width .15s;display:block}.round[hidden]{display:none}.pill{background:linear-gradient(#4f8a45, var(--olive));padding:1px calc(var(--ppu) * .2);border-radius:99px;box-shadow:inset 0 1px #ffffff40,0 1px 2px #1d331a55;font-size:max(12px, calc(var(--ppu) * .46))!important;color:#fbf6e6!important}.ic{width:max(16px, calc(var(--ppu) * .62));aspect-ratio:1;background:currentColor;display:inline-block;-webkit-mask:none 50%/contain no-repeat;mask:none 50%/contain no-repeat}.ic-timer{-webkit-mask-image:var(--ic-timer);-webkit-mask-image:var(--ic-timer);mask-image:var(--ic-timer)}.ic-swap{-webkit-mask-image:var(--ic-swap);-webkit-mask-image:var(--ic-swap);mask-image:var(--ic-swap)}.ic-pause{-webkit-mask-image:var(--ic-pause);-webkit-mask-image:var(--ic-pause);mask-image:var(--ic-pause)}.ic-sound{-webkit-mask-image:var(--ic-sound);-webkit-mask-image:var(--ic-sound);mask-image:var(--ic-sound)}.ic-mute{-webkit-mask-image:var(--ic-mute);-webkit-mask-image:var(--ic-mute);mask-image:var(--ic-mute)}.panel.bottom{padding:0 calc(var(--ppu) * .5);justify-content:space-between}.panel.bottom span{font-size:max(11px, calc(var(--ppu) * .4));color:var(--walnut-2);margin-right:calc(var(--ppu) * .18);font-weight:500}.panel.bottom b{font-size:max(16px, calc(var(--ppu) * .6));font-weight:600}.panel.bottom b.low{color:var(--coral)}.shots,.ceiling{align-items:center;display:flex}.dots{gap:max(4px, calc(var(--ppu) * .14));display:flex}.dots i{width:max(9px, calc(var(--ppu) * .3));aspect-ratio:1;background:#d4c6ab;border-radius:50%;box-shadow:inset 0 1px 2px #6b4a3366}.dots i.on{background:radial-gradient(circle at 35% 30%,#8fd174,#3f7d34 70%);box-shadow:0 1px 2px #1d331a66,inset 0 -1px 1px #0003}.dots i.warn{background:radial-gradient(circle at 35% 30%, #ff9b7d, var(--coral) 70%);animation:.7s ease-in-out infinite throb}.sign{box-sizing:border-box;background:var(--oak) center / 300px, #d9b88a;color:var(--cream);letter-spacing:.01em;font-weight:600;font-size:max(15px, calc(var(--ppu) * .62));text-shadow:0 1px #5a3a1f,0 0 6px #5a3a1f88;border-radius:999px;justify-content:center;align-items:center;gap:6px;display:flex;position:absolute;box-shadow:inset 0 0 0 2px #f6dfb066,inset 0 -3px 5px #7a522a55,0 3px 6px #3a240f55}.sprig{background:var(--cream);width:1.1em;height:.8em;-webkit-mask:var(--sym-leaf) center / contain no-repeat;-webkit-mask:var(--sym-leaf) center / contain no-repeat;mask:var(--sym-leaf) center / contain no-repeat;opacity:.9;transform:rotate(-60deg)}.sprig.r{transform:rotate(60deg)scaleX(-1)}.swap{width:var(--hit,48px);height:var(--hit,48px);touch-action:manipulation;cursor:pointer;background:0 0;border:0;border-radius:50%;place-items:center;padding:0;display:grid;position:absolute;transform:translate(-50%,-50%)}.swap-face{width:var(--s,26px);height:var(--s,26px);color:var(--walnut);background:radial-gradient(circle at 35% 30%, #fffaf0, var(--cream-2));border-radius:50%;place-items:center;transition:transform 80ms;display:grid;box-shadow:0 2px 5px #3a240f55,inset 0 -2px 3px #a8865d55}.swap .ic{width:64%}.swap:active .swap-face{transform:scale(.9)}.swap:focus-visible .swap-face{outline:3px solid var(--olive);outline-offset:2px}.next-tag{font-size:max(11px, calc(var(--ppu) * .38));letter-spacing:.06em;text-transform:uppercase;color:var(--walnut);pointer-events:none;background:#fff8eae6;border-radius:99px;padding:2px 8px;font-weight:600;position:absolute;transform:translate(-50%,-50%);box-shadow:0 1px 4px #3a240f40}.corner{right:max(8px, env(safe-area-inset-right));top:max(8px, env(safe-area-inset-top));gap:8px;display:flex;position:absolute}.round{width:40px;height:40px;color:var(--walnut);background:radial-gradient(circle at 35% 30%, #fffaf0, var(--cream-2));border:0;border-radius:50%;place-items:center;display:grid;box-shadow:0 2px 6px #3a240f55,inset 0 -2px 3px #a8865d55}.round .ic{width:20px}.hint{color:var(--walnut);white-space:nowrap;background:#fff8eaee;border-radius:99px;padding:8px 16px;font-size:15px;font-weight:500;animation:2.4s ease-in-out infinite hint;position:absolute;transform:translate(-50%,-50%);box-shadow:0 3px 10px #3a240f40}.hint[hidden]{display:none}.hud.wide .panel.top{flex-direction:column;align-items:stretch;gap:10px;padding:14px 16px}.hud.wide .cell{align-items:flex-start;height:auto;padding:2px 0}.hud.wide .cell+.cell:before{width:auto;height:1.5px;inset:-6px 0 auto}.hud.wide .cell span{font-size:15px}.hud.wide .cell b{font-size:30px}.hud.wide .cell.time{flex-direction:row;align-items:center}.hud.wide .cell.time .ic{width:28px}.hud.wide .sign{font-size:22px}.labels{pointer-events:none;position:absolute;inset:0;overflow:hidden}.pop{white-space:nowrap;font-weight:700;animation:1.15s cubic-bezier(.2,.8,.3,1) both rise;position:absolute;transform:translate(-50%,-50%)}.pop.pts{color:#fffaf0;font-size:max(18px, calc(var(--ppu) * .72));-webkit-text-stroke:4px var(--walnut);paint-order:stroke fill;text-shadow:0 2px 4px #3a240f66}.pop.big{color:#fff6d8;font-size:max(24px, calc(var(--ppu) * 1.05));-webkit-text-stroke:5px var(--walnut);paint-order:stroke fill;text-shadow:0 3px 6px #3a240f80}.pop.drop{color:var(--walnut);background:linear-gradient(#fffaf0, var(--cream-2));font-size:max(20px, calc(var(--ppu) * .86));border-radius:18px;padding:4px 14px;animation-duration:1.5s;box-shadow:0 3px 10px #3a240f55,inset 0 -2px 3px #a8865d55}.pop.combo{color:#fbf6e6;background:linear-gradient(#4f8a45, var(--olive));font-size:max(17px, calc(var(--ppu) * .7));border-radius:12px;padding:3px 14px;animation-duration:1.5s;box-shadow:0 3px 8px #1d331a55,inset 0 1px #ffffff40}.pop.bank{color:var(--walnut);background:linear-gradient(var(--brass-hi), var(--brass));font-size:max(15px, calc(var(--ppu) * .56));border-radius:99px;padding:3px 12px;box-shadow:0 2px 8px #6b4a1a66,inset 0 1px #fff8}.pop.bombready{color:var(--walnut);background:linear-gradient(var(--brass-hi), var(--brass));border-radius:99px;padding:3px 12px;font-size:15px;animation-duration:1.8s;box-shadow:0 2px 8px #6b4a1a66}.pop.warn{color:#fff;background:var(--coral);border-radius:99px;padding:3px 14px;font-size:16px;box-shadow:0 2px 8px #6b2a1a66}.pop.rackname{color:var(--cream);font-size:max(17px, calc(var(--ppu) * .62));background:#4a3222d9;border-radius:99px;padding:6px 18px;font-weight:600;animation:1.7s cubic-bezier(.2,.8,.3,1) both banner;box-shadow:0 4px 14px #2b1b0e66}.pop.rack{color:var(--walnut);background:var(--linen) center / 220px, var(--cream);font-size:max(24px, calc(var(--ppu) * 1));border-radius:22px;padding:10px 24px;animation:1.9s cubic-bezier(.2,.8,.3,1) both banner;box-shadow:0 6px 22px #3a240f66,inset 0 0 0 2px #fff8}@keyframes rise{0%{opacity:0;transform:translate(-50%,-30%)scale(.6)}14%{opacity:1;transform:translate(-50%,-50%)scale(1.08)}24%{transform:translate(-50%,-55%)scale(1)}75%{opacity:1}to{opacity:0;transform:translate(-50%,-140%)scale(.98)}}@keyframes banner{0%{opacity:0;transform:translate(-50%,-50%)scale(.5)}15%{opacity:1;transform:translate(-50%,-50%)scale(1.08)}25%{transform:translate(-50%,-50%)scale(1)}80%{opacity:1}to{opacity:0;transform:translate(-50%,-70%)}}@keyframes throb{50%{transform:scale(1.12)}}@keyframes hint{50%{transform:translate(-50%,-58%)}}.screens{box-sizing:border-box;place-items:center;padding:16px;display:grid;position:absolute;inset:0}.screens[data-screen=play]{display:none}.screens[data-screen=paused],.screens[data-screen=results],.screens[data-screen=how-to-play]{-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#2b1b0e55}.screens .giga-screen{background:var(--linen) center / 260px, var(--cream);color:var(--walnut);-webkit-backdrop-filter:none;backdrop-filter:none;border:0;border-radius:26px;max-width:360px;padding:26px 24px 22px;box-shadow:0 18px 50px #2b1b0e80,inset 0 0 0 2px #fff9,inset 0 -4px 8px #a8865d40}.screens .giga-screen p{color:var(--walnut-2);margin:10px 0;font-size:16px;line-height:1.45}.screens .giga-title{font-family:var(--ui);color:var(--walnut);font-weight:600}.screens .giga-screen .small{font-size:34px}.screens .giga-screen .eyebrow{letter-spacing:.18em;color:var(--olive);font-size:12px;font-weight:600}.screens .giga-button{width:100%;min-height:56px;font-family:var(--ui);color:var(--walnut);background:linear-gradient(#f6dc8e, var(--brass));border-radius:18px;margin-top:8px;font-size:22px;font-weight:600;box-shadow:0 4px #8c6421,0 8px 18px #6b4a1a55,inset 0 1px #fff9}.screens .giga-button:active{transform:translateY(3px);box-shadow:0 1px #8c6421,0 3px 8px #6b4a1a55}.screens .giga-button:focus-visible,.screens button:focus-visible{outline:3px solid var(--olive);outline-offset:3px}.screens .text-button{color:var(--walnut-2);font-family:var(--ui);text-underline-offset:4px;font-size:17px;font-weight:500;text-decoration:underline}.screens[data-screen=title]{place-items:stretch stretch;padding:0}.title-art{background:var(--keyart-tall) center / cover, #c9a26f;position:absolute;inset:0}@media (min-aspect-ratio:1){.title-art{background-image:var(--keyart-wide)}}.screens[data-screen=title] .giga-screen{z-index:1;box-shadow:none;width:100%;max-width:420px;padding:max(20px, env(safe-area-inset-top)) 22px max(26px, env(safe-area-inset-bottom));background:0 0;flex-direction:column;justify-content:flex-end;place-self:stretch center;align-items:center;display:flex;position:relative}.screens[data-screen=title] .giga-title{top:max(4vh, env(safe-area-inset-top));color:#0000;background:var(--logo) center / contain no-repeat;filter:drop-shadow(0 4px 6px #5a3a1f99)drop-shadow(0 0 2px #5a3a1f);height:min(30vh,260px);font-size:0;position:absolute;left:4%;right:4%}.screens[data-screen=title] .eyebrow{background:#fff8ead9;border-radius:99px;order:1;margin:0 0 10px;padding:6px 14px}.screens[data-screen=title] .giga-title+p{background:#fff8eae6;border-radius:18px;order:2;margin:0 0 14px;padding:10px 16px;box-shadow:0 4px 14px #3a240f40}.screens[data-screen=title] .giga-button{order:3;max-width:320px}.screens[data-screen=title] .text-button{color:#fffaf0;text-shadow:0 1px 3px #000a;order:4}@media (min-aspect-ratio:1){.screens[data-screen=title] .giga-title{height:min(34vh,300px)}}.how-art{justify-content:center;gap:8px;margin:0 0 10px;display:flex}.glass{aspect-ratio:1;border-radius:50%;width:34px;position:relative;box-shadow:inset -4px -6px 8px #0005,inset 3px 4px 6px #fff6,0 3px 4px #3a240f55}.glass:after{content:"";-webkit-mask:var(--sym) center / contain no-repeat;-webkit-mask:var(--sym) center / contain no-repeat;mask:var(--sym) center / contain no-repeat;background:#fffc;position:absolute;inset:22%}.g0{background:radial-gradient(circle at 35% 30%,#ff8a8a,#d0142f 55%,#6e0716)}.g1{background:radial-gradient(circle at 35% 30%,#ffe08a,#f6b70f 55%,#8a5d00)}.g2{background:radial-gradient(circle at 35% 30%,#8ff0a8,#16a34a 55%,#0a4d22)}.g3{background:radial-gradient(circle at 35% 30%,#9cc2ff,#2a70ee 55%,#0b2d70)}.g4{background:radial-gradient(circle at 35% 30%,#ffb08a,#f2622e 55%,#84290c)}.result-score{font-family:var(--ui);font-weight:600;line-height:1.05;color:var(--walnut)!important;font-size:58px!important}.breakdown{text-align:left;background:#ffffff70;border-radius:16px;gap:4px;margin:8px 0 6px;padding:10px 14px;display:grid}.breakdown div{justify-content:space-between;font-size:15px;display:flex}.breakdown dt{color:var(--walnut-2)}.breakdown dd{font-variant-numeric:tabular-nums;margin:0;font-weight:600}.screens[data-screen=results] .giga-screen{animation:.6s cubic-bezier(.2,.8,.3,1) .35s both panel-in}@keyframes panel-in{0%{opacity:0;transform:translateY(30px)scale(.96)}}@media (prefers-reduced-motion:reduce){.pop,.hint,.screens .giga-screen{animation-duration:10ms!important}}
