:root{--neon-cyan:#00f3ff;--neon-magenta:#ff00ea;--bg-dark:#0f0f13}*{box-sizing:border-box;margin:0;padding:0}body,html{background-color:var(--bg-dark);color:#fff;width:100%;min-height:100dvh;margin:0;font-family:Outfit,sans-serif;overflow:hidden}#game-container{margin:0 auto;position:relative;overflow:hidden}video{opacity:0;pointer-events:none;width:1px;height:1px;position:absolute}canvas{display:block;position:absolute;top:0;left:0;transform:scaleX(-1)}#ui-layer{pointer-events:none;flex-direction:column;justify-content:space-between;width:100%;height:100%;padding:2rem;display:flex;position:absolute;top:0;left:0}#hud-game{pointer-events:none;flex-direction:column;align-items:flex-start;gap:.75rem;display:flex}#hud-game.is-hidden{visibility:hidden;opacity:0;pointer-events:none;width:0;height:0;position:absolute;overflow:hidden}#score-display{text-shadow:0 0 10px var(--neon-cyan), 0 0 20px var(--neon-cyan);pointer-events:none;font-size:3rem;font-weight:900}.game-over-overlay{text-align:center;letter-spacing:.12em;color:#ff5252;text-shadow:0 0 12px #ff5252f2,0 0 28px #00f3ff73;pointer-events:none;order:-1;width:100%;font-size:clamp(1.75rem,8vw,4rem);font-weight:900}.game-over-overlay.is-hidden{display:none}.hud-row{pointer-events:auto;flex-wrap:wrap;align-items:center;gap:1rem;display:flex}#level-display{color:#ffffffd9;text-shadow:0 0 8px var(--neon-magenta);font-size:1.1rem;font-weight:700}.btn-menu{color:#fff;cursor:pointer;background:#0f0f13bf;border:1px solid #ffffff40;border-radius:10px;padding:.5rem 1.1rem;font-family:inherit;font-size:.95rem;font-weight:700;transition:border-color .2s,box-shadow .2s,background .2s}.btn-menu:hover{border-color:var(--neon-cyan);box-shadow:0 0 14px #00f3ff59}.btn-back-menu{left:50%;bottom:max(1rem, env(safe-area-inset-bottom));pointer-events:auto;background:#0f0f13d1;padding:.55rem 1.4rem;position:absolute;transform:translate(-50%);box-shadow:0 0 14px #00000073}.menu-top-bar{top:max(.75rem, env(safe-area-inset-top));right:max(.75rem, env(safe-area-inset-right));z-index:6;pointer-events:auto;width:min(13.5rem, calc(100vw - 1.5rem - env(safe-area-inset-right)));flex-direction:column;align-items:stretch;gap:.55rem;display:flex;position:absolute}.menu-corner-panel{background:var(--poster-card);border:1px solid #4eb8ff38;border-radius:16px;padding:.5rem .65rem .65rem;box-shadow:inset 0 1px #ffffff0a,0 0 18px #4eb8ff14,0 0 20px #ff96320f}.menu-corner-panel-title{text-align:center;letter-spacing:.14em;text-transform:uppercase;background:linear-gradient(90deg, var(--poster-blue) 0%, var(--poster-orange) 100%);color:#0000;filter:drop-shadow(0 0 8px #4eb8ff4d);-webkit-background-clip:text;background-clip:text;margin-bottom:.48rem;font-size:.65rem;font-weight:800}.menu-lang{gap:.4rem;width:100%;display:flex}.menu-lang-pill{cursor:pointer;-webkit-user-select:none;user-select:none;flex:1;position:relative}.menu-lang-pill input{opacity:0;pointer-events:none;width:1px;height:1px;margin:0;position:absolute}.menu-lang-pill span{text-align:center;letter-spacing:.08em;color:var(--poster-muted);background:#ffffff0a;border:1px solid #ffffff1a;border-radius:12px;padding:.48rem .4rem;font-size:.82rem;font-weight:800;transition:border-color .18s,box-shadow .18s,background .18s,color .18s;display:block}.menu-lang-pill:hover span{color:var(--poster-ink);border-color:#4eb8ff59}#opt-lang-ru:checked+span{background:linear-gradient(125deg, var(--poster-blue-soft) 0%, #4eb8ff14 100%);color:#fff;box-shadow:0 0 16px var(--poster-blue-glow);border-color:#4eb8ffb3}#opt-lang-en:checked+span{background:linear-gradient(125deg, var(--poster-orange-soft) 0%, #ff963214 100%);color:#fff;box-shadow:0 0 16px var(--poster-orange-glow);border-color:#ff9632bf}.menu-lang-pill input:focus-visible+span{outline:2px solid var(--poster-blue);outline-offset:2px}.menu-player-quick{pointer-events:auto;flex-direction:row;gap:.4rem;width:100%;display:flex}.btn-player-count{min-width:0;color:var(--poster-muted);cursor:pointer;letter-spacing:.06em;background:#ffffff0a;border:1px solid #ffffff1a;border-radius:12px;flex:1;padding:.48rem .5rem;font-family:inherit;font-size:.88rem;font-weight:800;line-height:1;transition:border-color .18s,box-shadow .18s,background .18s,color .18s}.btn-player-count:hover{color:var(--poster-ink);border-color:#4eb8ff59}#btn-players-1.is-selected{background:linear-gradient(125deg, var(--poster-blue-soft) 0%, #4eb8ff14 100%);color:#fff;box-shadow:0 0 16px var(--poster-blue-glow);border-color:#4eb8ffbf}#btn-players-2.is-selected{background:linear-gradient(125deg, var(--poster-orange-soft) 0%, #ff963214 100%);color:#fff;box-shadow:0 0 16px var(--poster-orange-glow);border-color:#ff9632c7}.btn-player-count:focus-visible{outline:2px solid var(--poster-blue);outline-offset:2px}.menu-volume-row{margin-bottom:.9rem}.menu-volume-row:last-child{margin-bottom:0}.menu-volume-head{color:var(--poster-muted);justify-content:space-between;align-items:baseline;gap:.75rem;margin-bottom:.35rem;font-size:.8rem;font-weight:700;display:flex}.menu-volume-row:first-of-type .menu-volume-value{color:var(--poster-blue);text-shadow:0 0 10px var(--poster-blue-glow)}.menu-volume-row:last-of-type .menu-volume-value{color:var(--poster-orange);text-shadow:0 0 10px var(--poster-orange-glow)}.menu-volume-value{font-variant-numeric:tabular-nums;font-size:.78rem}.menu-volume-row:first-of-type .menu-volume-slider{accent-color:var(--poster-blue)}.menu-volume-row:last-of-type .menu-volume-slider{accent-color:var(--poster-orange)}.menu-volume-slider{cursor:pointer;border-radius:999px;width:100%;height:.45rem}.btn-fullscreen{background:var(--poster-card);width:100%;color:var(--poster-ink);font:inherit;cursor:pointer;pointer-events:auto;z-index:6;border:1px solid #4eb8ff52;border-radius:14px;justify-content:flex-start;align-items:center;gap:.5rem;padding:.52rem .85rem;font-size:.82rem;font-weight:700;transition:border-color .2s,box-shadow .2s,background .2s;display:inline-flex;position:relative;top:auto;right:auto;box-shadow:inset 0 1px #ffffff0a,0 0 14px #4eb8ff1a}.btn-fullscreen[hidden]{display:none}.btn-fullscreen:hover{box-shadow:0 0 16px var(--poster-blue-glow), 0 0 20px var(--poster-orange-glow);border-color:#ff963273}.btn-fullscreen.is-active{box-shadow:0 0 16px var(--poster-orange-glow);border-color:#ff9632a6}.btn-fullscreen:focus-visible{outline:2px solid var(--poster-blue);outline-offset:3px}.btn-fullscreen-on,.btn-fullscreen-off{opacity:.95;font-size:1.08rem;line-height:1}.btn-fullscreen.is-active .btn-fullscreen-on,.btn-fullscreen:not(.is-active) .btn-fullscreen-off{display:none}@media (width<=480px){.btn-fullscreen-label{display:none}}.menu-overlay{--poster-blue:#4eb8ff;--poster-blue-soft:#4eb8ff47;--poster-blue-glow:#4eb8ff61;--poster-orange:#ff9632;--poster-orange-soft:#ff963242;--poster-orange-glow:#ff96325c;--poster-ink:#f2ece4;--poster-muted:#c8beb2c7;--poster-panel:#0e0a1af0;--poster-card:linear-gradient(165deg, #161026f0 0%, #080612eb 100%);padding:max(.75rem, env(safe-area-inset-top)) max(1rem, env(safe-area-inset-right)) max(.75rem, env(safe-area-inset-bottom)) max(1rem, env(safe-area-inset-left));z-index:5;pointer-events:auto;-webkit-overflow-scrolling:touch;overscroll-behavior:contain;background:radial-gradient(90% 55% at 12% 8%,#4eb8ff24,#0000 58%),radial-gradient(85% 50% at 88% 92%,#ff96321f,#0000 55%),#080510f5;justify-content:center;align-items:flex-start;display:flex;position:absolute;inset:0;overflow:hidden auto}.menu-overlay.is-hidden{display:none}.menu-panel{background:var(--poster-panel);width:100%;max-width:min(560px,94vw);box-shadow:0 0 36px var(--poster-blue-glow), 0 0 48px var(--poster-orange-glow), inset 0 1px 0 #ffffff0d;text-align:center;-webkit-overflow-scrolling:touch;border:1px solid #4eb8ff38;border-radius:22px;flex-shrink:0;max-height:min(92vh,92dvh);margin:auto 0;padding:1.75rem 2rem;overflow:hidden auto;transform:translateZ(0)}.menu-poster-wrap{box-shadow:0 0 24px var(--poster-blue-glow), 0 0 32px var(--poster-orange-glow), inset 0 1px 0 #ffffff0f;background:#06040ef2;border:1px solid #ff963259;border-radius:18px;margin:0 auto 1.15rem;line-height:0;overflow:hidden}.menu-poster{object-fit:cover;object-position:center 18%;width:100%;height:auto;max-height:min(44vh,340px);display:block}.menu-cta{margin-bottom:1.35rem}.btn-start{letter-spacing:.06em;color:#0a0610;cursor:pointer;box-shadow:0 0 22px var(--poster-blue-glow), 0 0 28px var(--poster-orange-glow), 0 8px 24px #0006;background:linear-gradient(125deg,#4eb8ff 0%,#7ec8ff 42%,#ff9632 100%);border:2px solid #4eb8ff8c;border-radius:999px;padding:.95rem 2.75rem;font-family:inherit;font-size:1.15rem;font-weight:900;transition:transform .14s,box-shadow .14s,filter .14s}.btn-start:hover{filter:brightness(1.06);box-shadow:0 0 32px var(--poster-orange-glow), 0 0 40px var(--poster-blue-glow), 0 12px 28px #00000073;transform:translateY(-2px)scale(1.02)}.btn-start:active{transform:translateY(0)scale(.98)}.menu-options{text-align:left;background:var(--poster-card);border:1px solid #4eb8ff38;border-radius:16px;margin-top:1.25rem;margin-bottom:0;padding:1rem 1.1rem;box-shadow:inset 0 1px #ffffff0a,0 0 20px #4eb8ff14,0 0 24px #ff96320f}.menu-options-title{letter-spacing:.1em;text-transform:uppercase;background:linear-gradient(90deg, var(--poster-blue) 0%, var(--poster-orange) 100%);color:#0000;filter:drop-shadow(0 0 10px #4eb8ff59);-webkit-background-clip:text;background-clip:text;margin-bottom:.75rem;font-size:.72rem;font-weight:800}.menu-player-row{background:#0003;border:1px solid #ff00ea38;border-radius:14px;margin-bottom:1rem;padding:.85rem .95rem}.menu-player-row-prominent{text-align:left;border-width:2px;border-color:#00f3ff73;margin-top:.25rem;margin-bottom:1.1rem;box-shadow:0 0 18px #00f3ff26}.menu-player-label{color:#fff;text-align:left;margin-bottom:.55rem;font-size:.82rem;font-weight:800}.menu-player-segment{justify-content:stretch;gap:.5rem;display:flex}.menu-player-pill{cursor:pointer;-webkit-user-select:none;user-select:none;flex:1;position:relative}.menu-player-pill input{opacity:0;pointer-events:none;width:1px;height:1px;margin:0;position:absolute}.menu-player-pill input:focus-visible+span{outline-offset:3px;outline:2px solid #00f3ffbf}.menu-player-pill span{text-align:center;color:#ffffffbf;background:#ffffff0d;border:1px solid #ffffff1f;border-radius:12px;padding:.55rem .6rem;font-size:.88rem;font-weight:800;transition:border-color .18s,box-shadow .18s,background .18s,color .18s;display:block}.menu-player-pill:hover span{border-color:#00f3ff59}.menu-player-pill input:checked+span{color:#fff;background:linear-gradient(125deg,#00f3ff47 0%,#ff00ea24 100%);border-color:#00f3ffa6;box-shadow:0 0 16px #00f3ff47}.menu-player-hint{color:#ffffff80;text-align:left;margin:.65rem 0 0;font-size:.72rem;font-weight:600;line-height:1.35}.menu-option-toggle{cursor:pointer;-webkit-user-select:none;user-select:none;background:#00000038;border:1px solid #ffffff0f;border-radius:12px;justify-content:space-between;align-items:center;gap:.65rem;margin-bottom:.65rem;padding:.55rem .6rem;transition:border-color .2s,background .2s,box-shadow .2s;display:flex}.menu-option-toggle:last-of-type{margin-bottom:0}.menu-option-toggle:hover{background:#ff00ea0f;border-color:#ff00ea47;box-shadow:0 0 14px #ff00ea1f}.menu-option-input{clip:rect(0, 0, 0, 0);white-space:nowrap;opacity:0;pointer-events:none;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.menu-option-left{flex:1;align-items:center;gap:.65rem;min-width:0;display:flex}.menu-option-emoji{flex-shrink:0;place-items:center;width:2.6rem;height:2.6rem;font-size:1.42rem;line-height:1;display:grid;position:relative}.menu-option-emoji-on,.menu-option-emoji-off{transition:opacity .2s,transform .2s,filter .2s,visibility .2s linear;position:absolute}.menu-option-toggle:has(.menu-option-input:checked) .menu-option-emoji-on{opacity:0;visibility:hidden;filter:none;z-index:0;transform:scale(.75)}.menu-option-toggle:has(.menu-option-input:checked) .menu-option-emoji-off{opacity:1;visibility:visible;filter:drop-shadow(0 0 10px #ffffff73);z-index:1;transform:scale(1.06)}.menu-option-toggle:not(:has(.menu-option-input:checked)) .menu-option-emoji-on{opacity:1;visibility:visible;filter:drop-shadow(0 0 12px #00f3ffa6);z-index:1;transform:scale(1.06)}.menu-option-toggle:not(:has(.menu-option-input:checked)) .menu-option-emoji-off{opacity:0;visibility:hidden;filter:none;z-index:0;transform:scale(.75)}.menu-option-text{flex-direction:column;align-items:flex-start;gap:.12rem;min-width:0;display:flex}.menu-option-title{color:#fff;letter-spacing:.01em;font-size:.92rem;font-weight:800}.menu-option-desc{color:#ffffff85;font-size:.72rem;font-weight:600;line-height:1.25}.menu-option-toggle:not(:has(.menu-option-input:checked)) .menu-option-title{text-shadow:0 0 12px #00f3ff40}.menu-option-switch{background:#373748bf;border:1px solid #ffffff1f;border-radius:14px;flex-shrink:0;width:52px;height:28px;transition:background .24s,border-color .24s,box-shadow .24s;position:relative;box-shadow:inset 0 2px 6px #00000059}.menu-option-toggle:not(:has(.menu-option-input:checked)) .menu-option-switch{background:linear-gradient(125deg,#00f3ff6b 0%,#ff00ea38 100%);border-color:#00f3ff8c;box-shadow:inset 0 1px #fff3,0 0 18px #00f3ff47}.menu-option-knob{background:linear-gradient(165deg,#fff 0%,#c8d8f0 55%,#9ecfff 100%);border-radius:50%;width:22px;height:22px;transition:transform .24s cubic-bezier(.34,1.35,.64,1);position:absolute;top:3px;left:3px;box-shadow:0 2px 8px #0006,inset 0 0 0 1px #ffffff59}.menu-option-toggle:not(:has(.menu-option-input:checked)) .menu-option-knob{transform:translate(24px)}.menu-option-toggle:focus-within{outline-offset:2px;outline:2px solid #00f3ff8c}#loading{z-index:10;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);opacity:0;background:#0f0f13f0;border:1px solid #ffffff1a;border-radius:20px;flex-direction:column;align-items:center;gap:1.5rem;width:90%;max-width:min(560px,92vw);padding:2.5rem;font-size:1.5rem;font-weight:700;transition:opacity .5s;display:flex;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);box-shadow:0 0 30px #00f3ff4d}#loading.visible{opacity:1}#loading-logo{filter:drop-shadow(0 0 18px #00f3ff8c);-webkit-user-select:none;user-select:none;font-size:clamp(3rem,14vw,5rem);line-height:1}#progress-container{background:#ffffff1a;border-radius:10px;width:100%;height:10px;overflow:hidden}#progress-bar{background:var(--neon-cyan);width:0%;height:100%;box-shadow:0 0 10px var(--neon-cyan);transition:width .3s}@keyframes pulse{0%{text-shadow:0 0 5px var(--neon-magenta)}50%{text-shadow:0 0 20px var(--neon-magenta)}to{text-shadow:0 0 5px var(--neon-magenta)}}#loading-text{animation:1.5s infinite pulse}
