@font-face{font-family:"Press Start 2P";src:url(/assets/PressStart2P-Regular-DogiNJoF.ttf)format("truetype");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:Pangolin;src:url(/assets/Pangolin-cyrillic-B2KpSGEQ.woff2)format("woff2");font-weight:400;font-style:normal;font-display:swap;unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Pangolin;src:url(/assets/Pangolin-latin-ext-BFemPPf9.woff2)format("woff2");font-weight:400;font-style:normal;font-display:swap;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-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Pangolin;src:url(/assets/Pangolin-latin-m8jKOiJo.woff2)format("woff2");font-weight:400;font-style:normal;font-display:swap;unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+2000-206F,U+2122,U+2212,U+FEFF,U+FFFD}:root{--ink:#0b1c46;--white:#fff;--orange:#ff7a2f;--font:system-ui, -apple-system, "Segoe UI", "Helvetica Neue", Arial, sans-serif;--pixel:"Press Start 2P", "Courier New", monospace;--chalk:"Pangolin", "Bradley Hand", "Segoe Print", cursive}*{box-sizing:border-box}html,body{height:100%;font-family:var(--font);-webkit-font-smoothing:antialiased;-webkit-user-select:none;user-select:none;overscroll-behavior:none;-webkit-touch-callout:none;background:#0b3bc4;margin:0;overflow:hidden}#scene{cursor:default;touch-action:none;width:100%;height:100%;display:block;position:fixed;inset:0}#scene.can-grab{cursor:grab}#scene.can-click{cursor:pointer}#scene.grabbing{cursor:grabbing}#hud{pointer-events:none;z-index:10;gap:10px;display:flex;position:fixed;top:22px;left:26px}#hud.hidden{opacity:0;pointer-events:none}#hud{transition:opacity .4s}.chip{-webkit-backdrop-filter:blur(7px);backdrop-filter:blur(7px);background:#091a4a6b;border-radius:13px;flex-direction:column;gap:2px;min-width:96px;padding:9px 16px 8px;display:flex;position:relative;box-shadow:inset 0 0 0 1.5px #ffffff21}.chip.icon{pointer-events:auto;cursor:pointer;color:#fff;border:0;justify-content:center;align-items:center;width:46px;min-width:0;padding:0;transition:background .15s}.chip.icon:hover{background:#091a4a9e}.chip.icon svg{fill:currentColor;stroke:currentColor;stroke-width:1.9px;stroke-linecap:round;fill-rule:evenodd;width:21px;height:21px}.chip.icon .spk{stroke:none}.chip.icon .wave,.chip.icon .note{fill:none}.chip.icon .head{stroke:none}.chip.icon .slash{fill:none;display:none}.chip.icon .bar{fill:none}.chip.icon.silenced{opacity:.4}.chip.icon.muted{color:#ffffff80}.chip.icon.muted .wave{display:none}.chip.icon.muted .slash{display:inline}.chip.icon:focus-visible{outline-offset:2px;outline:2px solid #ff8a3d}#gate{-webkit-backdrop-filter:blur(9px);backdrop-filter:blur(9px);z-index:30;background:#061642b8;place-items:center;transition:opacity .35s;display:grid;position:fixed;inset:0}#gate.hidden{opacity:0;pointer-events:none}#gate .card{text-align:center;background:linear-gradient(165deg,#12388f,#0a2266);border-radius:24px;width:min(380px,88vw);padding:34px 30px 26px;animation:.4s cubic-bezier(.15,.85,.25,1) cardIn;box-shadow:0 30px 70px #020a288c,inset 0 0 0 1.5px #ffffff24}#gate h1{font-family:var(--pixel);letter-spacing:.06em;color:#fff;text-shadow:0 0 26px #ff82288c;margin:0 0 22px;font-size:26px;font-weight:400}#gate label{font-family:var(--pixel);text-transform:uppercase;color:#ffffff9e;margin-bottom:12px;font-size:9px;line-height:1.6;display:block}#gate input{width:100%;font-family:var(--pixel);text-align:center;color:#fff;background:#ffffff14;border:0;border-radius:14px;outline:none;padding:14px 16px;font-size:15px;transition:box-shadow .18s;box-shadow:inset 0 0 0 1.5px #ffffff24}#gate input::placeholder{color:#ffffff40}#gate input:focus{box-shadow:inset 0 0 0 2px var(--orange)}#gate-go{margin-top:18px}#gate-note{min-height:14px;font-family:var(--pixel);color:#ffffff80;margin:14px 0 0;font-size:8px;line-height:1.6}#gate-note.warn{color:#ffb35c}#fx{pointer-events:none;z-index:9;position:fixed;inset:0}.fx{white-space:nowrap;text-transform:uppercase;will-change:transform, opacity;font-weight:900;position:absolute;transform:translate(-50%,-50%)}.fx-plus{color:#fff;letter-spacing:.02em;text-shadow:0 3px 14px #04143c8c;font-size:30px;animation:.85s cubic-bezier(.2,.7,.3,1) forwards rise}@keyframes rise{0%{opacity:0;transform:translate(-50%,-50%)scale(.6)}22%{opacity:1;transform:translate(-50%,-74%)scale(1.1)}to{opacity:0;transform:translate(-50%,-155%)scale(1)}}.fx-mult{color:#7dfba0;letter-spacing:.02em;text-shadow:0 0 18px #3ce678cc,0 3px 14px #04143c8c;font-size:38px;animation:.95s cubic-bezier(.2,.7,.3,1) forwards rise}.fx-perfect{letter-spacing:.06em;color:#fff;text-shadow:0 0 22px #ff8c28f2,0 4px 18px #04143c80;font-size:52px;animation:1.05s cubic-bezier(.15,.8,.25,1) forwards pop}@keyframes pop{0%{opacity:0;transform:translate(-50%,-50%)scale(.4)}18%{opacity:1;transform:translate(-50%,-55%)scale(1.16)}34%{transform:translate(-50%,-57%)scale(1)}to{opacity:0;transform:translate(-50%,-95%)scale(1)}}.fx-late{letter-spacing:.05em;color:#ffd9d2;text-shadow:0 0 22px #ff3c28f2,0 4px 18px #04143c80;font-size:40px;animation:1.15s cubic-bezier(.15,.8,.25,1) forwards pop}.fx-gold{letter-spacing:.06em;color:#fff6cf;text-shadow:0 0 24px #ffcd28,0 0 62px #ffaa00b3,0 4px 18px #04143c80;font-size:58px;animation:1.25s cubic-bezier(.15,.8,.25,1) forwards pop}.fx-heavy{letter-spacing:.06em;color:#e8f0f6;text-shadow:0 0 22px #78a0c8e6,0 0 56px #28467899,0 4px 18px #04143c8c;font-size:52px;animation:1.25s cubic-bezier(.15,.8,.25,1) forwards pop}.fx-triple{letter-spacing:.04em;color:#fff;text-shadow:0 0 30px #ff7814,0 0 70px #ff5a00bf,0 6px 22px #04143c80;font-size:74px;animation:1.5s cubic-bezier(.12,.85,.2,1) forwards slam}@keyframes slam{0%{opacity:0;transform:translate(-50%,-50%)scale(.25)rotate(-7deg)}14%{opacity:1;transform:translate(-50%,-50%)scale(1.3)rotate(2deg)}26%{transform:translate(-50%,-50%)scale(.97)rotate(0)}38%{transform:translate(-50%,-50%)scale(1.05)}75%{opacity:1;transform:translate(-50%,-58%)scale(1)}to{opacity:0;transform:translate(-50%,-78%)scale(1.02)}}.fx-rays{background:conic-gradient(#ffbe5ad9 0deg 6deg,#0000 6deg 30deg,#ff9632b3 30deg 36deg,#0000 36deg 60deg,#ffd278cc 60deg 66deg,#0000 66deg 90deg,#ff9632b3 90deg 96deg,#0000 96deg 120deg,#ffc864cc 120deg 126deg,#0000 126deg 150deg,#ffa03cb3 150deg 156deg,#0000 156deg 180deg,#ffbe5ad9 180deg 186deg,#0000 186deg 210deg,#ff9632b3 210deg 216deg,#0000 216deg 240deg,#ffd278cc 240deg 246deg,#0000 246deg 270deg,#ff9632b3 270deg 276deg,#0000 276deg 300deg,#ffc864cc 300deg 306deg,#0000 306deg 330deg,#ffa03cb3 330deg 336deg,#0000 336deg 360deg);border-radius:50%;width:460px;height:460px;animation:1.1s cubic-bezier(.1,.75,.2,1) forwards rays;position:absolute;transform:translate(-50%,-50%);-webkit-mask-image:radial-gradient(circle,#0000 14%,#000 32% 62%,#0000 78%);mask-image:radial-gradient(circle,#0000 14%,#000 32% 62%,#0000 78%)}@keyframes rays{0%{opacity:0;transform:translate(-50%,-50%)scale(.15)rotate(0)}16%{opacity:1}to{opacity:0;transform:translate(-50%,-50%)scale(1.5)rotate(46deg)}}#dev{z-index:30;-webkit-backdrop-filter:blur(7px);backdrop-filter:blur(7px);background:#06102ac7;border-left:3px solid #7f8ea8;border-radius:12px;flex-direction:column;gap:5px;width:132px;max-height:calc(100vh - 96px);padding:10px;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;display:flex;position:fixed;top:76px;left:22px;overflow-y:auto}#dev b{color:#7f8ea8;letter-spacing:.06em;text-transform:uppercase;font-size:10px;font-weight:700}#dev button{color:#cfe0ff;font:inherit;cursor:pointer;background:#1e3c8c80;border:1px solid #96beff47;border-radius:8px;padding:6px 8px;font-size:11px}#dev button:hover{background:#2d55af99}#dev .knob{flex-direction:column;gap:3px;margin:2px 0;display:flex}#dev .knob-head{justify-content:space-between;align-items:baseline;gap:6px;display:flex}#dev .knob-head span{color:#9fd6ff;font-size:10px}#dev input[type=range]{appearance:none;cursor:pointer;background:#96beff47;border-radius:2px;width:100%;height:3px;margin:3px 0}#dev input[type=range]::-webkit-slider-thumb{appearance:none;background:#9fd6ff;border:none;border-radius:50%;width:11px;height:11px}#dev input[type=range]::-moz-range-thumb{background:#9fd6ff;border:none;border-radius:50%;width:11px;height:11px}#dev .receipt{color:#d6ffe4;background:#1e784673;border-radius:8px;padding:6px 8px;font-size:10px;display:none}#dev .receipt.shown{display:block}#dev .readout{white-space:pre-line;color:#9fd6ff;background:#00000052;border-radius:8px;padding:6px 8px;font-size:10px;line-height:1.5;display:none}#dev .readout.shown{display:block}#dev button.on{color:#d6ffe4;background:#1e784699;border-color:#7dfba0}#verify{z-index:30;border-left:3px solid var(--verify-tint,#7f8ea8);-webkit-backdrop-filter:blur(7px);backdrop-filter:blur(7px);color:#ffffffd1;pointer-events:none;white-space:pre-wrap;background:#06102ac7;border-radius:12px;flex-direction:column;gap:2px;max-width:330px;padding:10px 13px;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:11px;line-height:1.45;display:flex;position:fixed;bottom:22px;right:22px}#verify b{color:var(--verify-tint,#7f8ea8);letter-spacing:.03em;text-transform:uppercase;font-weight:700}#verify i{color:#ffb27a;font-style:normal}#verify[data-status=ok]{--verify-tint:#4ad07f}#verify[data-status=pending]{--verify-tint:#7f8ea8}#verify[data-status=offline]{--verify-tint:#b9a15e}#verify[data-status=suspect]{--verify-tint:#ffb02a}#verify[data-status=mismatch],#verify[data-status=rejected]{--verify-tint:#ff6a53;background:#3a0a0ad1}#menu{-webkit-backdrop-filter:blur(9px);backdrop-filter:blur(9px);z-index:25;background:#0616429e;place-items:center;transition:opacity .35s;display:grid;position:fixed;inset:0}#menu.hidden{opacity:0;pointer-events:none}#menu .card{text-align:center;background:linear-gradient(165deg,#12388f,#0a2266);border-radius:24px;width:min(440px,90vw);max-height:94vh;padding:28px 30px 24px;animation:.4s cubic-bezier(.15,.85,.25,1) cardIn;overflow-y:auto;box-shadow:0 30px 70px #020a288c,inset 0 0 0 1.5px #ffffff24}#menu h1{font-family:var(--pixel);letter-spacing:.06em;color:#fff;text-shadow:0 0 26px #ff82288c;margin:0 0 18px;font-size:22px;font-weight:400}#menu h2{font-family:var(--pixel);letter-spacing:.06em;text-transform:uppercase;color:#fff9;margin:0 0 10px;font-size:8px;font-weight:400}#menu .how{aspect-ratio:1200/580;width:min(100%,50vh);margin:0 auto 18px;position:relative;container-type:inline-size}#menu .how img{width:100%;height:100%;display:block}#menu .how .step{border-radius:999px;place-items:center;display:grid;position:absolute}#menu .how .step span{font-family:var(--chalk);white-space:nowrap;color:#0d0d0b;font-weight:700;line-height:1}#menu .top{flex-direction:column;gap:6px;margin-bottom:20px;display:flex}#menu .row{text-align:left;background:#ffffff12;border-radius:13px;align-items:center;gap:10px;padding:8px 12px;display:flex;box-shadow:inset 0 0 0 1px #ffffff14}#menu .row .rank{min-width:34px;font-family:var(--pixel);color:#ffffff80;font-size:9px}#menu .row .face{object-fit:cover;border-radius:50%;width:24px;height:24px;box-shadow:0 0 0 1.5px #ffffff40}#menu .row .name{color:#fff;text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;font-size:13px;font-weight:600;overflow:hidden}#menu .row .score{font-family:var(--pixel);color:var(--orange);text-shadow:0 0 14px #ff822873;font-size:13px}#menu .row.you{background:#ff8c3238;box-shadow:inset 0 0 0 1.5px #ffaa5a99}#menu .row.unranked .score{font-family:var(--font);color:#ffffff8c;text-shadow:none;font-size:11px;font-weight:600}#menu .top .note{font-family:var(--pixel);color:#ffffff80;margin:0;padding:16px 8px;font-size:8px;line-height:1.6}#menu-restart.hidden{display:none}#menu-restart{color:#cfe0ff;width:100%;font-family:var(--pixel);letter-spacing:.02em;text-transform:uppercase;cursor:pointer;background:#1e3c8c8c;border:1px solid #96beff59;border-radius:14px;margin-top:10px;padding:13px;font-size:10px;transition:transform .12s,filter .12s}#menu-restart:hover{filter:brightness(1.15);transform:translateY(-2px)}#menu-restart:active{transform:translateY(0)}#menu-switches{justify-content:center;gap:10px;margin-top:14px;display:flex}#gameover{-webkit-backdrop-filter:blur(9px);backdrop-filter:blur(9px);z-index:20;background:#0616429e;place-items:center;transition:opacity .35s;display:grid;position:fixed;inset:0}#gameover.hidden{opacity:0;pointer-events:none}#gameover .card{text-align:center;background:linear-gradient(165deg,#12388f,#0a2266);border-radius:24px;width:min(430px,88vw);padding:34px 34px 28px;animation:.4s cubic-bezier(.15,.85,.25,1) cardIn;transform:translateY(0);box-shadow:0 30px 70px #020a288c,inset 0 0 0 1.5px #ffffff24}@keyframes cardIn{0%{opacity:0;transform:translateY(22px)scale(.94)}}#gameover h1{font-family:var(--pixel);letter-spacing:0;white-space:nowrap;text-transform:uppercase;color:#fff;text-shadow:0 0 26px #ff82288c;margin:0 0 24px;font-size:22px;font-weight:400;line-height:1.3}#gameover .stats{grid-template-columns:1fr 1fr;gap:10px;margin-bottom:26px;display:grid}#gameover .stats div.wide{grid-column:1/-1}#gameover .stats div{background:#ffffff12;border-radius:14px;padding:13px 8px;box-shadow:inset 0 0 0 1px #ffffff14}#gameover .stats span{font-family:var(--pixel);color:var(--orange);text-shadow:0 0 14px #ff822873;font-size:24px;font-weight:400;line-height:1.1;display:block}#gameover .stats em{font-family:var(--pixel);letter-spacing:.02em;text-transform:uppercase;color:#fff9;margin-top:7px;font-size:8px;font-style:normal;font-weight:400;line-height:1.5;display:block}#gameover .stats div.record{background:#ff8c3238;box-shadow:inset 0 0 0 1.5px #ffaa5a99}#gameover .stats div.record em:after{content:" — новый!";color:var(--orange)}#again,#menu-play,#gate-go{color:#fff;width:100%;font-family:var(--pixel);letter-spacing:.02em;text-transform:uppercase;cursor:pointer;background:linear-gradient(#ff9040,#f4631c);border:0;border-radius:14px;padding:15px;font-size:12px;font-weight:400;transition:transform .12s,filter .12s;box-shadow:0 8px 20px #e65a1466}#again:hover,#menu-play:hover,#gate-go:hover{filter:brightness(1.07);transform:translateY(-2px)}#again:active,#menu-play:active{transform:translateY(0)}#vk-board{color:#cfe0ff;width:100%;font-family:var(--pixel);letter-spacing:.02em;text-transform:uppercase;cursor:pointer;background:#1e3c8c8c;border:1px solid #96beff59;border-radius:14px;margin-top:10px;padding:13px;font-size:10px;transition:transform .12s,filter .12s}#vk-board.hidden{display:none}#vk-board:hover{filter:brightness(1.15);transform:translateY(-2px)}#vk-board:active{transform:translateY(0)}.shop-veil{z-index:60;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#040a1cb8;justify-content:center;align-items:center;padding:20px;display:none;position:fixed;inset:0}.shop-veil.shown{display:flex}.shop{color:#cfe0ff;background:#0b1a3f;border:1px solid #96beff3d;border-radius:16px;flex-direction:column;gap:12px;width:min(520px,100%);max-height:100%;padding:18px;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;display:flex;overflow-y:auto;box-shadow:0 24px 60px #00000080}.shop-head{justify-content:space-between;align-items:baseline;gap:10px;display:flex}.shop-head b{color:#8fd0ff;letter-spacing:.06em;text-transform:uppercase;font-size:11px}.shop-head span,.shop-note{color:#6d7f9c;font-size:10px}.shop-preview{background:#e9eae4;border-radius:10px;justify-content:center;align-items:center;padding:14px;display:flex}.shop-preview canvas{max-width:100%;height:auto;display:block}.shop-row{flex-direction:column;gap:6px;display:flex}.shop-row>label{color:#6d7f9c;letter-spacing:.06em;text-transform:uppercase;font-size:10px}.shop-strip{flex-wrap:wrap;gap:6px;display:flex}.shop-chip{cursor:pointer;background:#132a6399;border:1px solid #96beff38;border-radius:10px;flex:none;width:52px;height:52px;padding:4px;position:relative}.shop-chip canvas{width:100%;height:100%;display:block}.shop-chip span{color:#ffd76e;background:#040a1ccc;border-radius:5px;padding:0 3px;font:700 9px ui-monospace,Menlo,monospace;position:absolute;bottom:1px;right:2px}.shop-chip:hover{border-color:#96beff80}.shop-chip.on{background:#1e784680;border-color:#7dfba0}.shop-text{align-items:center;gap:10px;display:flex}.shop-text input{color:#fff;letter-spacing:.02em;background:#06102acc;border:1px solid #96beff47;border-radius:9px;flex:auto;min-width:0;padding:9px 11px;font:700 15px inherit}.shop-text input:focus{border-color:#8fd0ff;outline:none}.shop-cost{color:#ffd76e;white-space:nowrap;flex:none;font-size:10px}.shop-opts{flex-wrap:wrap;gap:6px;display:flex}.shop-opt{color:#cfe0ff;cursor:pointer;background:#132a6399;border:1px solid #96beff38;border-radius:9px;flex-direction:column;align-items:flex-start;gap:2px;padding:7px 10px;display:flex}.shop-opt:hover{border-color:#96beff80}.shop-opt.on{color:#d6ffe4;background:#1e784680;border-color:#7dfba0}.shop-roll{background:#5a3c1480;border-color:#ffd76e66;flex-direction:row;align-items:center;gap:8px}.shop-roll:after{content:"↻";color:#ffd76e;margin-left:2px;font-size:13px}.shop-opt-name{font-size:13px}.shop-opt-price{color:#ffd76e;font:700 9px ui-monospace,Menlo,monospace}.shop-opt.on .shop-opt-price{color:#b9ffce}.shop-buy{color:#fff8ec;letter-spacing:.02em;cursor:pointer;background:#ff6a1f;border:none;border-radius:10px;margin-top:2px;padding:12px;font:700 14px inherit}.shop-buy:hover{background:#ff7f3c}.shop-buy:disabled{color:#8b9ab5;cursor:default;background:#50608080}
