@font-face{font-family:Outfit;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/b2ea385cb5ae8625-s.1spbknb88wd48.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Outfit;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/1b99372b3eaef0c8-s.p.1gsd1jahc5dg_.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Outfit Fallback;src:local(Arial);ascent-override:100.18%;descent-override:26.05%;line-gap-override:0.0%;size-adjust:99.82%}.pflnzG_className{font-family:Outfit,Outfit Fallback;font-style:normal}.pflnzG_variable{--font-ui:"Outfit", "Outfit Fallback"}
@font-face{font-family:Unbounded;font-style:normal;font-weight:200 900;font-display:swap;src:url(../media/d0d9446e69c4847e-s.3h31fjnwrfycc.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Unbounded;font-style:normal;font-weight:200 900;font-display:swap;src:url(../media/4e1c87b7aa9e2f2f-s.3o02-8iknf6dl.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Unbounded;font-style:normal;font-weight:200 900;font-display:swap;src:url(../media/3fd967fc5374d70a-s.42u1-lj4buy61.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Unbounded;font-style:normal;font-weight:200 900;font-display:swap;src:url(../media/dd14639a62c56cb2-s.0kda-l-rfpyyq.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Unbounded;font-style:normal;font-weight:200 900;font-display:swap;src:url(../media/b59689b1142d37ce-s.p.1bk8_xp319hr4.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Unbounded Fallback;src:local(Arial);ascent-override:73.93%;descent-override:18.2%;line-gap-override:0.0%;size-adjust:134.59%}.cifqyG_className{font-family:Unbounded,Unbounded Fallback;font-style:normal}.cifqyG_variable{--font-display:"Unbounded", "Unbounded Fallback"}
:root{--ink:#f3f7fb;--ink-dim:#ecf3faad;--glass:#ffffff1a;--glass-edge:#ffffff29;--green:#2fdc93;--green-deep:#0f9a5d;--amber:#ffb73d;--amber-deep:#c97a0a;--slate:#1c222c;--key-h:clamp(46px, 6.4dvh, 58px);--kb-h:calc(var(--key-h) * 3 + 34px + env(safe-area-inset-bottom));--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*{box-sizing:border-box}html,body{height:100%;color:var(--ink);overscroll-behavior:none;background:#05080e;margin:0}body{font-family:var(--font-ui), system-ui, -apple-system, "Segoe UI", sans-serif;-webkit-tap-highlight-color:transparent;-webkit-font-smoothing:antialiased;touch-action:manipulation;-webkit-user-select:none;user-select:none;overflow:hidden}button{font:inherit;color:inherit;cursor:pointer}.stage,.fx{width:100vw;height:100dvh;display:block;position:fixed;inset:0}.stage{z-index:0;background:#05080e}.fx{z-index:40;pointer-events:none}.app{z-index:10;will-change:transform;position:fixed;inset:0}.app.no-gl{background:#0b1220 url(/media/dusk-p.webp) 50%/cover no-repeat}.menu{height:100%;padding:calc(env(safe-area-inset-top) + 7dvh) 18px calc(env(safe-area-inset-bottom) + 28px);-webkit-user-select:none;user-select:none;flex-direction:column;align-items:center;gap:16px;animation:.9s ease-out both fadeUp;display:flex;overflow-y:auto}.logo{font:800 clamp(30px, 10vw, 52px) / 1 var(--font-display);gap:clamp(5px,1.6vw,9px);margin:0;display:flex;position:relative}.logo-tile{color:#fff;text-shadow:0 2px 10px #00000073;-webkit-backdrop-filter:blur(10px)saturate(1.4);width:1.32em;height:1.32em;animation:.8s cubic-bezier(.2,1.4,.4,1) both logoIn;animation-delay:calc(var(--i) * 90ms + .2s);border:1px solid #ffffff59;border-radius:.2em;place-items:center;display:grid;box-shadow:inset 0 1px #ffffff73,0 10px 30px #00000059}.logo-tile.correct{background:linear-gradient(160deg,#46f0a5bf,#0c8c5599);box-shadow:inset 0 1px #ffffff80,0 0 30px #2fdc9373,0 10px 30px #00000059}.logo-tile.present{background:linear-gradient(160deg,#ffcd64cc,#c8780a99);box-shadow:inset 0 1px #ffffff80,0 0 30px #ffb73d73,0 10px 30px #00000059}.logo-tile.absent{background:#141a2473}.logo-bolt{fill:#fff6d6;filter:drop-shadow(0 0 10px #ffdc8ce6);width:.7em;height:.7em;animation:2.8s ease-in-out 1.4s infinite bolt;position:absolute;top:-.42em;right:-.45em}.tagline{letter-spacing:.02em;color:var(--ink-dim);text-shadow:0 1px 12px #0009;margin:2px 0 6px;font-size:clamp(15px,4.2vw,18px)}.modes{gap:12px;width:min(100%,420px);display:grid}.mode{text-align:left;border:1px solid var(--glass-edge);-webkit-backdrop-filter:blur(18px)saturate(1.3);background:linear-gradient(#ffffff24,#ffffff0d);border-radius:20px;gap:4px;padding:18px 20px;transition:transform .15s,background .2s;display:grid;box-shadow:inset 0 1px #ffffff2e,0 18px 40px #0000004d}.mode:active{transform:scale(.98)}.mode.primary{background:linear-gradient(160deg,#3ceba06b,#0a784b47);border-color:#8cffcd73;box-shadow:inset 0 1px #ffffff4d,0 0 40px #2fdc9338,0 18px 40px #0000004d}.mode-title{font:700 20px var(--font-display);letter-spacing:.01em}.mode-sub{color:var(--ink-dim);font-size:14px}.how-toggle,.chip{border:1px solid var(--glass-edge);-webkit-backdrop-filter:blur(12px);color:var(--ink-dim);background:#0a101a59;border-radius:999px;padding:8px 16px;font-size:14px}.chip:disabled{opacity:.5}.how{border:1px solid var(--glass-edge);-webkit-backdrop-filter:blur(16px);width:min(100%,420px);color:var(--ink-dim);background:#080e1880;border-radius:18px;margin:0;padding:16px 18px 16px 34px;font-size:15px;line-height:1.5;animation:.35s ease-out both fadeUp}.how b{color:var(--ink)}.how-tiles{margin-top:6px;margin-left:-16px;list-style:none}.mini{width:26px;height:26px;font:700 14px var(--font-display);color:#fff;vertical-align:middle;border-radius:6px;place-items:center;margin:0 4px 0 8px;display:inline-grid}.mini.correct{background:linear-gradient(160deg,#46f0a5,#0c8c55)}.mini.present{background:linear-gradient(160deg,#ffcd64,#c8780a)}.mini.absent{background:#2a313d}.menu-foot{color:var(--ink-dim);text-shadow:0 1px 8px #0009;align-items:center;gap:14px;font-size:13px;display:flex}.credits{text-align:center;color:#ecf3fa73;max-width:420px;margin:0;font-size:11px}.lb{border:1px solid var(--glass-edge);-webkit-backdrop-filter:blur(18px)saturate(1.2);background:#080e1875;border-radius:18px;width:min(100%,420px);overflow:hidden}.lb-tabs{border-bottom:1px solid #ffffff14;grid-template-columns:1fr 1fr;display:grid}.lb-tabs button{color:var(--ink-dim);background:0 0;border:0;padding:12px 8px;font-size:14px}.lb-tabs button.on{color:var(--ink);box-shadow:inset 0 -2px 0 var(--green)}.lb-empty{text-align:center;color:var(--ink-dim);margin:0;padding:18px;font-size:14px}.lb-list{margin:0;padding:6px 0;list-style:none}.lb-list li{grid-template-columns:28px 1fr auto auto;align-items:baseline;gap:10px;padding:7px 16px;font-size:15px;display:grid}.lb-list li.me{background:#2fdc9324}.lb-rank{color:var(--ink-dim);font-variant-numeric:tabular-nums}.lb-name{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.lb-meta{color:var(--ink-dim);font-size:12px}.lb-score{font:600 15px var(--font-display);font-variant-numeric:tabular-nums}.play{height:100%;padding-top:env(safe-area-inset-top);grid-template-rows:auto auto 1fr auto;display:grid}.hud{--hue:140;grid-template-columns:1fr auto 1fr;align-items:center;padding:10px 14px 0;display:grid}.hud-btn{border:1px solid var(--glass-edge);-webkit-backdrop-filter:blur(12px);width:42px;height:42px;color:var(--ink-dim);background:#0a101a4d;border-radius:50%;justify-self:start;place-items:center;display:grid}.timer{place-items:center;width:76px;height:76px;display:grid;position:relative}.timer svg{position:absolute;inset:0;overflow:visible;transform:rotate(-90deg)}.ring-bg{fill:#060a1252;stroke:#ffffff24;stroke-width:5px}.ring{fill:none;stroke:hsl(var(--hue) 85% 60%);stroke-width:5px;stroke-linecap:round;filter:drop-shadow(0 0 6px hsl(var(--hue) 90% 55% / .8));transition:stroke .3s}.time{font:700 25px var(--font-display);font-variant-numeric:tabular-nums;text-shadow:0 2px 14px #0009;position:relative}.hud.danger .time{color:#ff8a75;animation:1s ease-in-out infinite heartbeat}.score-box{text-shadow:0 2px 14px #000000a6;justify-self:end;justify-items:end;line-height:1.05;display:grid}.score{font:700 clamp(20px, 6vw, 26px) var(--font-display);font-variant-numeric:tabular-nums}.combo{letter-spacing:.12em;text-transform:uppercase;color:var(--ink-dim);font-size:12px}.combo.on{color:#ffe3a3;text-shadow:0 0 12px #ffc45ae6}.app.golden .score{color:#fff1cf;text-shadow:0 0 18px #ffbe50cc,0 2px 14px #0009}.subbar{letter-spacing:.08em;text-transform:uppercase;color:var(--ink-dim);text-shadow:0 1px 10px #000000b3;justify-content:space-between;align-items:center;padding:6px 16px 0;font-size:13px;display:flex}.subbar .chip{letter-spacing:.04em;text-transform:none;padding:5px 12px;font-size:12px}.board-wrap{place-items:center;min-height:0;display:grid;position:relative}.app.paused .board-wrap{visibility:hidden}.board{--gap:clamp(6px, 1.5vw, 9px);--tile:min(calc((100vw - 52px - 4 * var(--gap)) / 5), calc((100dvh - var(--kb-h) - 190px - env(safe-area-inset-top)) / 6 - var(--gap)), 68px);gap:var(--gap);animation:.42s cubic-bezier(.2,1.2,.4,1) both boardIn;display:grid}.board.exploded{visibility:hidden}.row{grid-template-columns:repeat(5, var(--tile));gap:var(--gap);display:grid}.row.shake{animation:.42s cubic-bezier(.36,.07,.19,.97) shake}.tile{width:var(--tile);height:var(--tile);perspective:600px;position:relative}.tile-inner{transform-style:preserve-3d;transition:transform .32s ease-in-out;transition-delay:calc(var(--i) * 85ms);position:absolute;inset:0}.tile.revealed .tile-inner{transform:rotateX(180deg)}.face{backface-visibility:hidden;font:700 calc(var(--tile) * .46) / 1 var(--font-display);text-transform:uppercase;color:#fff;text-shadow:0 1px 2px #0000008c,0 0 14px #00000059;place-items:center;display:grid;position:absolute;inset:0}.face.back{transform:rotateX(180deg)}.tile.filled .face.front{animation:.16s ease-out pop}.tile.revealed.correct .face.back{text-shadow:0 1px 2px #00281499,0 0 16px #a0ffd28c}.tile.revealed.present .face.back{text-shadow:0 1px 2px #3c1e0099,0 0 16px #ffdc968c}.tile.revealed.absent .face.back{color:#ffffffb8}.row.won .face.back{animation:.6s ease-out both won;animation-delay:calc(var(--i) * 70ms + 60ms)}.no-gl .face{background:#0c121c80;border:2px solid #fff3;border-radius:16%}.no-gl .tile.filled .face.front{border-color:#fff9}.no-gl .tile.revealed.correct .face.back{background:linear-gradient(160deg,#46f0a5,#0c8c55);border-color:#0000}.no-gl .tile.revealed.present .face.back{background:linear-gradient(160deg,#ffcd64,#c8780a);border-color:#0000}.no-gl .tile.revealed.absent .face.back{background:#232a35;border-color:#0000}.answer{-webkit-backdrop-filter:blur(14px);background:#0a101c99;border:1px solid #b4cdff40;border-radius:14px;justify-items:center;gap:2px;padding:8px 18px;animation:.35s ease-out both fadeUp;display:grid;position:absolute;bottom:4px}.answer span{letter-spacing:.1em;text-transform:uppercase;color:var(--ink-dim);font-size:12px}.answer b{font:700 26px var(--font-display);letter-spacing:.18em;text-transform:uppercase}.count{font:800 clamp(80px, 28vw, 150px) / 1 var(--font-display);color:#fff;text-shadow:0 0 40px #fff0d2b3,0 6px 30px #00000080;pointer-events:none;animation:.7s cubic-bezier(.2,1,.3,1) both count;position:absolute}.count.go{letter-spacing:.04em;background:linear-gradient(#fff,#b9ffe0);color:#0000;-webkit-background-clip:text;background-clip:text;font-size:clamp(64px,22vw,120px);animation-duration:.9s}.kb{padding:10px 5px calc(10px + env(safe-area-inset-bottom));-webkit-backdrop-filter:blur(18px)saturate(1.35);background:linear-gradient(#0509102e,#05091099);border-top:1px solid #ffffff1a;gap:8px;display:grid}.kb-row{justify-content:center;gap:clamp(4px,1.3vw,7px);display:flex}.key{max-width:48px;height:var(--key-h);font:600 clamp(15px, 4.4vw, 19px) var(--font-ui);text-transform:uppercase;color:var(--ink);background:linear-gradient(#fff3,#ffffff14);border:1px solid #ffffff29;border-radius:10px;flex:1 1 0;place-items:center;padding:0;transition:transform 80ms,filter 80ms,background .3s;display:grid;box-shadow:inset 0 1px #ffffff38,0 3px 8px #00000047}.key.wide{letter-spacing:.04em;flex-grow:1.55;max-width:72px;font-size:12px}.key.down{filter:brightness(1.35);transform:translateY(1px)scale(.93)}.key.correct{background:linear-gradient(#46f0a5d1,#0c8c55d1);border-color:#96ffd28c;box-shadow:inset 0 1px #ffffff59,0 0 14px #2fdc9373}.key.present{background:linear-gradient(#ffcd64d9,#c8780ad9);border-color:#ffe1a08c;box-shadow:inset 0 1px #ffffff59,0 0 14px #ffb73d66}.key.absent{color:#ffffff59;box-shadow:none;background:#080b108c}.popups{pointer-events:none;z-index:30;position:absolute;inset:0}.pop{white-space:nowrap;justify-items:center;gap:4px;animation:1.5s cubic-bezier(.2,.8,.2,1) both rise;display:grid;position:absolute;top:38%;left:50%}.pop b{font:800 clamp(34px, 10vw, 54px) / 1 var(--font-display);background:linear-gradient(#fff 20%,#ffe2a8);color:#0000;filter:drop-shadow(0 3px 10px #00000080)drop-shadow(0 0 24px #ffdca08c);-webkit-background-clip:text;background-clip:text}.pop small{letter-spacing:.06em;color:#ffffffe0;text-shadow:0 1px 8px #000c;font-size:13px}.pop-time,.pop-penalty{top:calc(env(safe-area-inset-top) + 98px)}.pop-time b{background:linear-gradient(#fff,#9effcf);-webkit-background-clip:text;background-clip:text;font-size:26px}.pop-penalty b{background:linear-gradient(#fff,#b8d4ff);-webkit-background-clip:text;background-clip:text;font-size:26px}.pop-combo{top:50%}.pop-combo b{letter-spacing:.08em;text-transform:uppercase;font-size:clamp(20px,6vw,28px)}.pop-golden{top:27%}.pop-golden b{letter-spacing:.14em;text-transform:uppercase;background:linear-gradient(#fff6dc,#ffb347);-webkit-background-clip:text;background-clip:text;font-size:clamp(26px,8vw,40px)}.toast{left:50%;top:calc(env(safe-area-inset-top) + 128px);z-index:35;color:#0c1118;background:#f5f8fceb;border-radius:999px;padding:10px 18px;font-size:15px;font-weight:600;animation:1.3s both toast;position:absolute;transform:translate(-50%);box-shadow:0 10px 30px #00000059}.caption{left:18px;bottom:calc(var(--kb-h) + 14px);z-index:25;text-shadow:0 1px 12px #000c;pointer-events:none;border-left:2px solid #ffffffb3;gap:2px;padding-left:12px;animation:4.2s both caption;display:grid;position:absolute}.caption.on-menu{bottom:calc(env(safe-area-inset-bottom) + 18px)}.caption b{font:600 15px var(--font-ui);letter-spacing:.22em;text-transform:uppercase}.caption span{letter-spacing:.08em;color:var(--ink-dim);font-size:12px}.overlay{z-index:50;padding:calc(env(safe-area-inset-top) + 20px) 16px calc(env(safe-area-inset-bottom) + 20px);background:radial-gradient(#04080e40,#04080e99);place-items:center;animation:.4s both fade;display:grid;position:absolute;inset:0;overflow-y:auto}.card{-webkit-backdrop-filter:blur(24px)saturate(1.3);text-align:center;background:linear-gradient(#141c2a9e,#080c14b3);border:1px solid #ffffff24;border-radius:26px;justify-items:center;gap:14px;width:min(100%,440px);padding:26px 20px 20px;animation:.6s cubic-bezier(.2,1.2,.3,1) both cardIn;display:grid;box-shadow:inset 0 1px #ffffff1f,0 30px 80px #00000080}.card h2{font:700 clamp(22px, 6.5vw, 28px) var(--font-display);margin:0}.card p{color:var(--ink-dim);margin:0;line-height:1.45}.eyebrow{letter-spacing:.16em;text-transform:uppercase;font-size:12px}.big-score{font:800 clamp(48px, 15vw, 72px) / 1 var(--font-display);font-variant-numeric:tabular-nums;background:linear-gradient(#fff 30%,#ffe0a0);color:#0000;filter:drop-shadow(0 0 26px #ffd79666);-webkit-background-clip:text;background-clip:text}.stats{grid-template-columns:repeat(3,1fr);gap:8px;width:100%;display:grid}.stats div{background:#ffffff0f;border-radius:14px;gap:2px;padding:10px 4px;display:grid}.stats b{font:700 20px var(--font-display)}.stats span{color:var(--ink-dim);font-size:12px}.trail{flex-wrap:wrap;justify-content:center;gap:5px;display:flex}.dot{width:26px;height:26px;font:700 13px var(--font-display);border-radius:7px;place-items:center;display:grid}.dot.great{background:linear-gradient(160deg,#46f0a5,#0c8c55)}.dot.good{background:linear-gradient(160deg,#ffcd64,#c8780a)}.dot.ok{background:linear-gradient(160deg,#ff9d6b,#b8501f)}.dot.miss{color:#ffffff80;background:#2a313d}.note{min-height:1.4em;font-size:14px}.name-form{gap:8px;width:100%;display:flex}.name-form input{min-width:0;color:var(--ink);font:inherit;-webkit-user-select:text;user-select:text;background:#0000004d;border:1px solid #fff3;border-radius:14px;flex:1;padding:12px 14px;font-size:16px}.actions{grid-template-columns:2fr 1fr 1fr;gap:8px;width:100%;display:grid}.btn{background:#ffffff14;border:1px solid #ffffff29;border-radius:14px;padding:13px 10px;font-size:15px;font-weight:600}.btn.primary{color:#032015;background:linear-gradient(#46f0a5,#10a062);border-color:#aaffd799;box-shadow:0 0 24px #2fdc9359}.pause .card .btn{width:100%}@keyframes fadeUp{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}@keyframes fade{0%{opacity:0}to{opacity:1}}@keyframes logoIn{0%{opacity:0;transform:translateY(-30px)rotateX(90deg)}to{opacity:1;transform:none}}@keyframes bolt{0%,82%,to{opacity:.85;transform:none}86%{opacity:1;transform:scale(1.25)rotate(-8deg)}90%{opacity:.6}}@keyframes boardIn{0%{opacity:0;transform:translateY(-18px)scale(.97)}to{opacity:1;transform:none}}@keyframes pop{0%{transform:scale(.82)}60%{transform:scale(1.12)}to{transform:scale(1)}}@keyframes won{0%{transform:rotateX(180deg)scale(1)}40%{filter:brightness(1.6);transform:rotateX(180deg)scale(1.22)}to{transform:rotateX(180deg)scale(1)}}@keyframes shake{10%,90%{transform:translate(-2px)}20%,80%{transform:translate(5px)}30%,50%,70%{transform:translate(-9px)}40%,60%{transform:translate(9px)}}@keyframes rise{0%{opacity:0;transform:translate(-50%,-20%)scale(.6)}14%{opacity:1;transform:translate(-50%,-50%)scale(1.1)}28%{transform:translate(-50%,-50%)scale(1)}78%{opacity:1}to{opacity:0;transform:translate(-50%,-110%)scale(.96)}}@keyframes count{0%{opacity:0;filter:blur(10px);transform:scale(1.8)}35%{opacity:1;filter:blur();transform:scale(1)}to{opacity:0;transform:scale(.85)}}@keyframes toast{0%{opacity:0;transform:translate(-50%,-8px)}12%,80%{opacity:1;transform:translate(-50%)}to{opacity:0}}@keyframes caption{0%{opacity:0;transform:translate(-12px)}15%,80%{opacity:1;transform:none}to{opacity:0}}@keyframes cardIn{0%{opacity:0;transform:translateY(30px)scale(.96)}to{opacity:1;transform:none}}@keyframes heartbeat{0%,to{transform:scale(1)}12%{transform:scale(1.14)}24%{transform:scale(1)}36%{transform:scale(1.08)}}@media (prefers-reduced-motion:reduce){*,:before,:after{animation-duration:.01ms!important;animation-iteration-count:1!important}}@media (min-width:700px){.hud,.subbar{justify-self:center;width:min(100%,560px)}.kb{border:1px solid #ffffff1a;border-bottom:0;border-radius:22px 22px 0 0;justify-self:center;width:min(100%,600px)}}
