*{box-sizing:border-box}html,body{background:#07080f;height:100%;margin:0;padding:0;overflow:hidden}body{color:#e8f3ff;-webkit-user-select:none;user-select:none;font-family:Trebuchet MS,Segoe UI,system-ui,sans-serif}#app{position:fixed;inset:0}#game{touch-action:none;width:100%;height:100%;display:block;position:absolute;inset:0}.hidden{display:none!important}.muted{color:#9fb0c8}button{cursor:pointer;font-family:inherit}#dmgVignette{pointer-events:none;opacity:0;z-index:5;background:radial-gradient(#0000 55%,#ff28468c 100%);transition:opacity .12s;position:absolute;inset:0}#lowhp{pointer-events:none;opacity:0;z-index:5;background:radial-gradient(#0000 60%,#ff1e3c73 100%);position:absolute;inset:0}#lowhp.on{animation:1s ease-in-out infinite lowhp}@keyframes lowhp{0%,to{opacity:.15}50%{opacity:.6}}#hitDir{pointer-events:none;z-index:6;position:absolute;inset:0}#hitDir .hd{opacity:0;background:#ff3c50d9;border-radius:4px;position:absolute}#hitDir .hd.top{width:90px;height:10px;top:8%;left:50%;transform:translate(-50%)}#hitDir .hd.bottom{width:90px;height:10px;bottom:8%;left:50%;transform:translate(-50%)}#hitDir .hd.left{width:10px;height:90px;top:50%;left:5%;transform:translateY(-50%)}#hitDir .hd.right{width:10px;height:90px;top:50%;right:5%;transform:translateY(-50%)}#scope{pointer-events:none;z-index:7;background:#02060ae0;display:none;position:absolute;inset:0}#scope.on{display:block}#scope .scope-ring{border:3px solid #2ee6ff;border-radius:50%;width:min(78vmin,640px);height:min(78vmin,640px);position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);box-shadow:0 0 0 9999px #02060ae0,inset 0 0 60px #2ee6ff40}#scope .scope-cross-h{background:#2ee6ffb3;width:min(78vmin,640px);height:2px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}#scope .scope-cross-v{background:#2ee6ffb3;width:2px;height:min(78vmin,640px);position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}#crosshair{z-index:8;pointer-events:none;width:0;height:0;position:absolute;top:50%;left:50%}#crosshair .ch{background:var(--ch-color,#e8f3ff);position:absolute;box-shadow:0 0 4px #000000e6}#crosshair .ch.t{left:-1px;top:calc(-1 * var(--ch-gap,8px) - var(--ch-len,9px));width:2px;height:var(--ch-len,9px)}#crosshair .ch.b{left:-1px;top:var(--ch-gap,8px);width:2px;height:var(--ch-len,9px)}#crosshair .ch.l{top:-1px;left:calc(-1 * var(--ch-gap,8px) - var(--ch-len,9px));height:2px;width:var(--ch-len,9px)}#crosshair .ch.r{top:-1px;left:var(--ch-gap,8px);height:2px;width:var(--ch-len,9px)}#crosshair .dot{background:var(--ch-color,#e8f3ff);border-radius:50%;width:4px;height:4px;position:absolute;top:-2px;left:-2px}#hitmarker{z-index:8;color:#fff;opacity:0;pointer-events:none;text-shadow:0 0 8px #000;font-size:26px;font-weight:900;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)rotate(45deg)}#hitmarker.kill{color:#ffc857;font-size:34px}#banner{z-index:9;text-align:center;letter-spacing:.14em;color:#fff;text-shadow:0 0 24px #2ee6ffe6,0 2px #000;opacity:0;pointer-events:none;font-size:44px;font-weight:900;transition:opacity .2s;position:absolute;top:22%;left:50%;transform:translate(-50%)}#banner small{letter-spacing:.3em;color:#ffc857;font-size:16px;display:block}#dmgNums{pointer-events:none;z-index:8;position:absolute;inset:0;overflow:hidden}#dmgNums span{color:#fff;text-shadow:0 1px 3px #000;font-size:15px;font-weight:900;animation:.7s ease-out forwards dmgfloat;position:absolute}#dmgNums span.head{color:#ffc857;font-size:18px}@keyframes dmgfloat{0%{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(-46px)}}#hud{pointer-events:none;z-index:10;position:absolute;inset:0}.hud-tl{position:absolute;top:14px;left:16px}#mapName{font-size:19px;font-weight:800}#modeName,#objective{color:#b9c8dd;font-size:13px}#minimap{background:#050a14b8;border:1px solid #2ee6ff73;border-radius:8px;margin-top:8px}.hud-tc{text-align:center;background:#070c18b8;border:1px solid #ffffff1f;border-radius:12px;padding:6px 22px;position:absolute;top:12px;left:50%;transform:translate(-50%)}#timer{letter-spacing:.05em;font-size:26px;font-weight:900}#scoreLine{color:#b9c8dd;font-size:13px}.hud-bl{background:#070c18b8;border:1px solid #ffffff1f;border-radius:12px;min-width:190px;padding:10px 14px;position:absolute;bottom:16px;left:16px}.hud-label{letter-spacing:.18em;color:#9fb0c8;font-size:12px}#hpNum{font-size:34px;font-weight:900;line-height:1}#hpBarWrap{background:#1a2233;border-radius:4px;height:8px;margin-top:6px;overflow:hidden}#hpBar{background:linear-gradient(90deg,#2ee6ff,#3dffb0);border-radius:4px;width:100%;height:100%;transition:width .15s}#hpBar.low{background:linear-gradient(90deg,#ff3d5a,#ff7a45)}.hud-br{text-align:right;background:#070c18b8;border:1px solid #ffffff1f;border-radius:12px;padding:10px 14px;position:absolute;bottom:16px;right:16px}#weaponName{color:#b9c8dd;font-size:14px}#ammo{font-size:30px;font-weight:900;line-height:1.1}#ammo .ammo-sep,#ammoRes{color:#7c8aa5;font-size:18px}#slots{justify-content:flex-end;gap:6px;margin-top:6px;display:flex}#slots span{color:#9fb0c8;background:#1a2233;border-radius:5px;padding:2px 7px;font-size:11px}#slots span.on{color:#06121f;background:#2ee6ff;font-weight:800}#killfeed{text-align:right;font-size:13px;position:absolute;top:14px;right:16px}#killfeed div{background:#070c18b8;border-radius:6px;margin-bottom:4px;padding:3px 9px}#killfeed b.gold{color:#ffc857}#fps{background:#070c18cc;border-radius:6px;padding:3px 8px;font-size:12px;position:absolute;bottom:120px;left:16px}#toast{opacity:0;white-space:nowrap;background:#070c18d9;border:1px solid #2ee6ff80;border-radius:10px;padding:8px 16px;font-size:14px;transition:opacity .25s;position:absolute;bottom:110px;left:50%;transform:translate(-50%)}#scoreboard{z-index:11;background:#070c18eb;border:1px solid #2ee6ff66;border-radius:14px;width:min(520px,92vw);padding:18px 22px;position:absolute;top:12%;left:50%;transform:translate(-50%)}#scoreboard h2{letter-spacing:.2em;margin:0 0 10px;font-size:18px}#sbRows div{border-bottom:1px solid #ffffff12;justify-content:space-between;padding:5px 2px;font-size:15px;display:flex}#sbRows div.me{color:#2ee6ff;font-weight:800}.sb-hint{color:#9fb0c8;margin-top:8px;font-size:12px}#loading{z-index:30;background:#07080f;justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.load-inner{text-align:center}.load-kicker,.menu-kicker{color:#ff3d8a;letter-spacing:.3em;font-size:13px;font-weight:800}.load-title,.menu-title{letter-spacing:.06em;margin:10px 0;font-size:72px;font-weight:900;line-height:.9}.load-title span,.menu-title span{color:#2ee6ff}.load-bar-wrap{background:#1a2233;border-radius:4px;width:280px;height:8px;margin:18px auto 10px;overflow:hidden}#loadBar{background:linear-gradient(90deg,#2ee6ff,#ff3d8a);width:4%;height:100%;transition:width .2s}#loadText{color:#9fb0c8;font-size:13px}#menu{z-index:20;background:linear-gradient(90deg,#050810e0 0%,#0508108c 45%,#0508101f 100%);justify-content:space-between;padding:4vh 4vw;display:flex;position:absolute;inset:0;overflow-y:auto}.menu-left{width:100%;max-width:460px}.menu-title{font-size:64px}.menu-sub{color:#c6d3e6;margin:6px 0 14px}.menu-level{justify-content:space-between;font-size:14px;display:flex}.xp-track{background:#1a2233;border-radius:3px;height:6px;margin:6px 0 12px;overflow:hidden}.xp-track.big{height:12px;margin:14px 0 6px}#menuXpFill,#xpFill{background:linear-gradient(90deg,#2ee6ff,#ffc857);width:0%;height:100%}.menu-label{letter-spacing:.2em;color:#9fb0c8;font-size:12px}#callsign{letter-spacing:.1em;color:#e8f3ff;text-transform:uppercase;background:#0d1526;border:1px solid #2a3a55;border-radius:10px;width:100%;margin:6px 0 12px;padding:11px 12px;font-size:17px;font-weight:800;display:block}.btn{color:#e8f3ff;letter-spacing:.08em;background:#131c30;border:1px solid #2a3a55;border-radius:10px;width:100%;margin:6px 0;padding:12px;font-size:15px;font-weight:800;display:block}.btn:hover{border-color:#2ee6ff}.btn.primary{color:#06121f;background:#2ee6ff;border-color:#2ee6ff;font-size:17px}.btn.gold{color:#231600;background:#ffc857;border-color:#ffc857}.menu-grid{grid-template-columns:1fr 1fr;gap:0 10px;display:grid}.panel{background:#070c18eb;border:1px solid #2ee6ff59;border-radius:12px;margin-top:12px;padding:14px 16px;font-size:14px}.panel h3{letter-spacing:.15em;margin:0 0 8px}.panel .row{border-bottom:1px solid #ffffff0f;justify-content:space-between;align-items:center;gap:10px;padding:7px 0;display:flex}.panel .row:last-child{border-bottom:0}.panel select,.panel input[type=range]{accent-color:#2ee6ff}.panel button.mini{width:auto;margin:0;padding:5px 12px;font-size:12px}.panel .mode-card,.panel .skin-card{cursor:pointer;border:1px solid #2a3a55;border-radius:10px;margin:6px 0;padding:10px}.panel .mode-card.sel,.panel .skin-card.sel{background:#2ee6ff1a;border-color:#2ee6ff}.panel .mode-card b,.panel .skin-card b{display:block}.panel .mode-card span,.panel .skin-card span{color:#9fb0c8;font-size:13px}.menu-right{align-items:flex-end;display:flex}.menu-card{background:#070c18e0;border:1px solid #ffffff24;border-radius:14px;width:300px;padding:16px}#missions div{border-bottom:1px solid #ffffff14;justify-content:space-between;padding:7px 0;font-size:14px;display:flex}.daily-mod{color:#ffc857;margin-top:10px;font-size:13px}.menu-fine{color:#9fb0c8;font-size:12px}.overlay{z-index:25;background:#04070eb8;justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.card{text-align:center;background:#0b1220;border:1px solid #2ee6ff59;border-radius:16px;width:min(420px,92vw);padding:24px}.card.wide{width:min(560px,94vw)}.card h2{letter-spacing:.2em;margin:0 0 6px}#endRows div{border-bottom:1px solid #ffffff12;justify-content:space-between;padding:6px 0;font-size:15px;display:flex}.end-btns{margin-top:14px}#touch{z-index:12;pointer-events:none;position:absolute;inset:0}#stickBase{pointer-events:auto;background:#ffffff14;border:1px solid #2ee6ff80;border-radius:50%;width:124px;height:124px;position:absolute;bottom:90px;left:22px}#stickKnob{background:#2ee6ffbf;border-radius:50%;width:50px;height:50px;position:absolute;top:37px;left:37px}#touchBtns{pointer-events:none;position:absolute;inset:0}#touchBtns button{color:#e8f3ff;pointer-events:auto;touch-action:none;background:#070c18b3;border:1px solid #2ee6ff99;border-radius:50%;width:64px;height:64px;font-size:12px;font-weight:800;position:absolute}#touchBtns button:active{color:#06121f;background:#2ee6ff}#touch.editing #touchBtns button{outline-offset:3px;outline:2px dashed #ffc857}#touch.editing #touchBtns button.sel{background:#ffc85759;outline:3px solid #ffc857}#layoutBar{z-index:40;background:#070c18eb;border:1px solid #ffc85799;border-radius:12px;flex-wrap:wrap;justify-content:center;align-items:center;gap:8px;max-width:96vw;padding:8px 12px;font-size:13px;display:flex;position:absolute;top:12px;left:50%;transform:translate(-50%)}#layoutBar span{text-align:center;flex:100%}#layoutBar .btn.mini{width:auto;margin:0;padding:6px 14px}#layoutBar .btn.mini.primary{color:#06121f;background:#2ee6ff;border-color:#2ee6ff}#errorBox{z-index:50;text-align:center;background:#04070ef0;flex-direction:column;justify-content:center;align-items:center;padding:20px;display:flex;position:absolute;inset:0}#errorBox .btn{max-width:220px}@media (max-width:760px){#menu{background:linear-gradient(#050810e6,#0508108c);flex-direction:column;padding:16px}.menu-title,.load-title{font-size:48px}.menu-right{display:none}#minimap{width:84px;height:84px}#banner{font-size:30px}}
