:root{--bg:#11132a;--panel:#141630eb;--line:#96a0ff2e;--txt:#eef0ff;--muted:#a6abd6;--acc:#89e05c;--red:#ff5a5a;--gold:#ffd43b;--sat:env(safe-area-inset-top,0px);--sab:env(safe-area-inset-bottom,0px);--sal:env(safe-area-inset-left,0px);--sar:env(safe-area-inset-right,0px);font-family:Nunito,Segoe UI,system-ui,-apple-system,Roboto,Arial,sans-serif}*{box-sizing:border-box}html,body{background:var(--bg);height:100%;color:var(--txt);-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;touch-action:none;overscroll-behavior:none;margin:0;overflow:hidden}#c{outline:none;width:100%;height:100%;display:block;position:fixed;inset:0}.hidden{display:none!important}.screen{padding:max(12px, var(--sat)) max(12px, var(--sar)) max(12px, var(--sab)) max(12px, var(--sal));z-index:20;touch-action:pan-y;background:radial-gradient(#0f102866,#0a0a1ae0);justify-content:center;align-items:center;display:none;position:fixed;inset:0;overflow:auto}.screen.dim{z-index:30;background:#08081499}.screen.show{display:flex}#loading{background:var(--bg);z-index:50;flex-direction:column}.panel{background:var(--panel);border:1px solid var(--line);border-radius:20px;max-width:100%;margin:auto;padding:20px 22px;box-shadow:0 20px 60px #00000080}.panel.small,.panel.menu{flex-direction:column;gap:12px;width:430px;display:flex}.panel.help{flex-direction:column;gap:12px;width:860px;display:flex}.help-cols{grid-template-columns:repeat(3,1fr);gap:14px;display:grid}.help-cols ul{margin:0;padding-left:18px;font-size:14px;line-height:1.45}h2{margin:0}h4{color:var(--acc);margin:0 0 6px}.logo{letter-spacing:4px;font-size:36px;font-weight:900}.logo b{color:var(--acc);text-shadow:0 0 18px #89e05c99}.logo.big{text-align:center;font-size:54px}.tag{text-align:center;color:var(--muted);margin:-6px 0 0}.muted{color:var(--muted);margin:0}.small{font-size:13px}.center{text-align:center}.err{color:var(--red);min-height:1em;margin:0}.row{gap:10px;display:flex}.row>*{flex:1}.col{flex-direction:column;gap:10px;display:flex}.col.tight{gap:6px}.btn{font:inherit;color:var(--txt);cursor:pointer;touch-action:manipulation;background:#ffffff14;border:1px solid #ffffff24;border-radius:14px;padding:11px 16px;font-weight:800}.btn:hover{background:#ffffff24}.btn.primary{color:#10200a;background:linear-gradient(#8fe866,#56b83a);border-color:#dcffc880}.btn.big{padding:15px 18px;font-size:17px}.btn.small{padding:7px 12px;font-size:13px}.btn.ghost{background:0 0}.btn:disabled{opacity:.55;cursor:wait}.field{color:var(--muted);flex-direction:column;gap:4px;font-size:14px;display:flex}.field input,.field select,.join input{font:inherit;color:var(--txt);-webkit-user-select:text;user-select:text;background:#0000004d;border:1px solid #ffffff29;border-radius:12px;padding:10px 12px}.join input{text-transform:uppercase;letter-spacing:4px;text-align:center;font-weight:900}.chk{align-items:center;gap:8px;font-size:14px;display:flex}.who{text-align:center;color:var(--muted)}.who b{color:var(--txt)}.invite{border:1px solid var(--acc);text-align:center;border-radius:14px;padding:10px}.invite p{margin:0 0 8px}.lobby-head{justify-content:space-between;align-items:center;display:flex}.code{letter-spacing:6px;color:var(--acc);font-size:38px;font-weight:900}.players{flex-direction:column;gap:6px;margin:0;padding:0;list-style:none;display:flex}.players li{background:#ffffff0f;border-radius:12px;align-items:center;gap:10px;padding:8px 10px;display:flex}.players .st{color:var(--muted);margin-left:auto;font-size:13px}.players .st.ok{color:var(--acc)}.dot{border-radius:50%;width:12px;height:12px;display:inline-block}.bigscore{color:var(--red);font-size:30px;font-weight:900}#overTable{border-collapse:collapse;width:100%;font-size:14px}#overTable td,#overTable th{border-bottom:1px solid var(--line);padding:5px}#hud{pointer-events:none;z-index:10;position:fixed;inset:0}#wave{left:max(16px, var(--sal));top:max(10px, var(--sat));color:#d93636;text-shadow:0 2px #5a0b0b,0 0 20px #ff282880;font-size:56px;font-weight:900;line-height:1;position:absolute}#wave small{color:var(--muted);text-shadow:none;font-size:13px;display:block}#score{right:max(14px, var(--sar));top:max(60px, calc(var(--sat) + 60px));flex-direction:column;align-items:flex-end;gap:4px;margin:0;padding:0;list-style:none;display:flex;position:absolute}#score li{background:#0a0a1e99;border-radius:10px;align-items:center;gap:8px;padding:3px 10px;font-size:17px;font-weight:900;display:flex}#score li.me{color:var(--gold);font-size:22px}#score li.down{color:var(--red)}#powers{top:max(12px, var(--sat));gap:8px;display:flex;position:absolute;left:50%;transform:translate(-50%)}#powers span{background:#0a0a1eb3;border-radius:10px;padding:4px 10px;font-size:14px;font-weight:900}#cross{width:0;height:0;position:absolute;top:50%;left:50%}#cross i{background:#ffffffe6;position:absolute;box-shadow:0 0 2px #000000e6}#cross i:first-child,#cross i:nth-child(2){width:2px;height:9px;left:-1px}#cross i:nth-child(3),#cross i:nth-child(4){width:9px;height:2px;top:-1px}#hitm{opacity:0;background:linear-gradient(45deg,#0000 45%,#fff 45% 55%,#0000 55%),linear-gradient(-45deg,#0000 45%,#fff 45% 55%,#0000 55%);width:26px;height:26px;margin:-13px;position:absolute;top:50%;left:50%}#prompt{text-shadow:0 1px 4px #000000e6;text-align:center;white-space:nowrap;font-size:17px;font-weight:800;position:absolute;top:60%;left:50%;transform:translate(-50%)}#prompt b{background:var(--txt);color:#111;border-radius:5px;margin-right:6px;padding:0 6px}#prompt.poor{color:#ffb3b3}#revive{background:#00000080;border-radius:5px;width:220px;height:10px;margin-left:-110px;position:absolute;top:65%;left:50%;overflow:hidden}#reviveFill{background:var(--acc);width:0;height:100%}#bottomL{left:max(16px, var(--sal));bottom:max(14px, var(--sab));flex-direction:column;gap:6px;display:flex;position:absolute}#hpBar{background:#0000008c;border-radius:8px;width:220px;height:16px;position:relative;overflow:hidden}#hpFill{background:linear-gradient(90deg,#ff5a5a,#ffb347);width:100%;height:100%}#hpTxt{text-align:center;font-size:11px;font-weight:900;line-height:16px;position:absolute;inset:0}#perks{gap:6px;display:flex}#perks span{background:#0000008c;border-radius:8px;padding:2px 8px;font-size:12px;font-weight:900}#bottomR{right:max(16px, var(--sar));bottom:max(14px, var(--sab));text-align:right;position:absolute}#wName{color:var(--muted);font-size:16px;font-weight:900}#ammo b{font-size:40px;font-weight:900}#ammo span{color:var(--muted);margin-left:4px;font-size:20px}#ammo.low b{color:var(--red)}#banner{text-align:center;text-shadow:0 3px 12px #000c;opacity:0;white-space:nowrap;font-size:42px;font-weight:900;transition:opacity .3s;position:absolute;top:30%;left:50%;transform:translate(-50%)}#banner.show{opacity:1}#banner small{color:var(--muted);font-size:18px;display:block}#vignette{opacity:0;background:radial-gradient(#0000 45%,#c80000bf 100%);position:absolute;inset:0}#downed{text-align:center;text-shadow:0 2px 8px #000;position:absolute;top:22%;left:50%;transform:translate(-50%)}#downed h2{color:var(--red);font-size:34px}#net{background:var(--panel);border-radius:12px;padding:8px 14px;position:absolute;top:40%;left:50%;transform:translate(-50%)}.ib{pointer-events:auto;right:max(14px, var(--sar));top:max(10px, var(--sat));border:1px solid var(--line);background:var(--panel);width:42px;height:42px;color:var(--txt);border-radius:12px;font-size:19px;position:absolute}#clickToPlay{z-index:15;pointer-events:none;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}#clickToPlay div{background:var(--panel);border-radius:14px;padding:12px 18px;font-weight:900}#touch{pointer-events:none;position:absolute;inset:0}#touch .tb{pointer-events:auto;color:#fff;touch-action:none;background:#1416308c;border:2px solid #ffffff59;border-radius:50%;width:58px;height:58px;font-size:22px;font-weight:900;position:absolute}#touch .tb.on{background:#89e05c8c}#touch .tb.big{width:84px;height:84px;font-size:32px}#tFire{right:calc(max(12px, var(--sar)) + 74px);bottom:calc(max(12px, var(--sab)) + 34px)}#tAim{right:calc(max(12px, var(--sar)) + 168px);bottom:calc(max(12px, var(--sab)) + 14px)}#tSprint{right:calc(max(12px, var(--sar)) + 168px);bottom:calc(max(12px, var(--sab)) + 80px)}#tUse{right:calc(max(12px, var(--sar)) + 86px);bottom:calc(max(12px, var(--sab)) + 128px)}#tReload{right:max(12px, var(--sar));bottom:calc(max(12px, var(--sab)) + 132px)}#tSwap{right:max(12px, var(--sar));bottom:calc(max(12px, var(--sab)) + 68px)}#tJump{right:max(12px, var(--sar));bottom:max(6px, var(--sab))}#stick{background:#14163059;border:2px solid #ffffff4d;border-radius:50%;width:120px;height:120px;display:none;position:absolute}#knob{background:#ffffff80;border-radius:50%;width:50px;height:50px;position:absolute;top:35px;left:35px}body.touch #bottomR{bottom:auto;top:calc(max(10px, var(--sat)) + 52px);right:max(14px, var(--sar))}body.touch #score{top:calc(max(10px, var(--sat)) + 96px);left:max(16px, var(--sal));align-items:flex-start;right:auto}body.touch #score li.me{font-size:18px}body.touch #bottomL{bottom:auto;top:calc(max(10px, var(--sat)) + 70px)}body.touch #hpBar{width:150px}@media (max-width:720px){.help-cols{grid-template-columns:1fr}#wave{font-size:40px}}
