*{box-sizing:border-box;margin:0;padding:0}html,body{-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;-webkit-tap-highlight-color:transparent;touch-action:none;overscroll-behavior:none;background:#b5d3f3;width:100%;height:100%;font-family:system-ui,Segoe UI,sans-serif;overflow:hidden}#app{background:#b5d3f3;overflow:hidden}#app canvas{display:block;width:100%!important;height:100%!important}#hud{pointer-events:none;z-index:2;color:#fff;overflow:hidden}body.no-hud.touch-playing #hud>:not(#debug){visibility:hidden}body.touch-ui.touch-playing{width:100%;height:100%;position:fixed;inset:0}#crosshair{--gap:4px;pointer-events:none;opacity:.9;width:0;height:0;position:absolute;top:50%;left:50%}#crosshair i,#crosshair:after{background:#fffffff2;position:absolute;box-shadow:0 0 1px #000000d9}#crosshair:after{content:"";width:2px;height:2px;top:-1px;left:-1px}#crosshair i:nth-child(-n+2){width:2px;height:8px;left:-1px}#crosshair i:nth-child(n+3){width:8px;height:2px;top:-1px}#crosshair i:first-child{bottom:var(--gap)}#crosshair i:nth-child(2){top:var(--gap)}#crosshair i:nth-child(3){right:var(--gap)}#crosshair i:nth-child(4){left:var(--gap)}#crosshair.hit i,#crosshair.hit:after{background:#ffdc78fa}#crosshair.holo{opacity:1}#crosshair.holo i{display:none}#crosshair.holo:before{content:"";box-sizing:border-box;border:2px solid #ff4632e6;border-radius:50%;width:5.2vmin;height:5.2vmin;position:absolute;top:-2.6vmin;left:-2.6vmin;box-shadow:0 0 4px #ff321ebf,inset 0 0 4px #ff321e99}#crosshair.holo:after{background:#ff5a46;border-radius:50%;width:4px;height:4px;top:-2px;left:-2px;box-shadow:0 0 5px 1px #ff321ed9}#crosshair.holo.hit:after{background:#ffdc78fa}#hitmarker{pointer-events:none;opacity:0;width:28px;height:28px;transition:opacity 50ms linear;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)rotate(45deg)}#hitmarker.show{opacity:1}#hitmarker.head:before,#hitmarker.head:after{background:#ffc850fa;box-shadow:0 0 8px #ff5028f2}#hitmarker:before,#hitmarker:after{content:"";background:#fff0c8f2;position:absolute;box-shadow:0 0 6px #ff7828cc}#hitmarker:before{width:2px;height:12px;top:2px;left:50%;transform:translate(-50%)}#hitmarker:after{width:12px;height:2px;top:50%;left:2px;transform:translateY(-50%)}#scope{pointer-events:none;opacity:0;--dx:0;--dy:0;transition:opacity .12s ease-out,transform .2s cubic-bezier(.2,.8,.3,1);position:absolute;inset:0;overflow:hidden;transform:scale(1.5)}#scope.active{opacity:1;transform:none}#scope .scope-shadow,#scope .scope-body:before{content:"";width:300vmax;height:300vmax;position:absolute;top:50%;left:50%}#scope .scope-shadow{transform:translate(calc(-50% + var(--dx) * 2.4vmin), calc(-50% + var(--dy) * 2.4vmin));background:radial-gradient(circle,#0000 27vmin,#00000029 35vmin,#0000009e 42vmin,#000 47vmin)}#scope .scope-body{transform:translate(calc(var(--dx) * 1vmin), calc(var(--dy) * 1vmin));position:absolute;inset:0}#scope .scope-body:before{background:radial-gradient(circle,#0000 44.6vmin,#000 45.4vmin);transform:translate(-50%,-50%)}#scope svg{width:100vmin;height:100vmin;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}#scope .scope-lit{fill:#ff3b2a;filter:drop-shadow(0 0 .35vmin #ff321ee6)}#debug{white-space:pre;background:#00000080;border-radius:3px;padding:4px 7px;font:11px/1.4 ui-monospace,SFMono-Regular,Menlo,monospace;position:absolute;top:178px;left:8px}#debug[hidden]{display:none}body.touch-ui #debug{top:calc(max(6px, env(safe-area-inset-top,0px)) + 150px);left:max(6px, env(safe-area-inset-left,0px));font-size:10px;line-height:1.35}#score,#killfeed,#health,#ammo,#toast,#death,#dmg-dir{pointer-events:none;position:absolute}#minimap{top:max(12px, env(safe-area-inset-top,0px));left:max(12px, env(safe-area-inset-left,0px));pointer-events:none;width:156px;height:156px;position:absolute}body.touch-ui #minimap{top:calc(max(8px, env(safe-area-inset-top)) + 38px);left:max(10px, env(safe-area-inset-left));width:100px;height:100px}#score{top:max(10px, env(safe-area-inset-top,0px));text-align:center;left:50%;transform:translate(-50%)}.sc-row{text-shadow:0 1px #0006;align-items:stretch;font:800 22px/1 system-ui,sans-serif;display:flex}.sc{min-width:52px;padding:6px 10px}.sc.blue{color:#fff;background:#2e62ded1;border-radius:6px 0 0 6px}.sc.red{color:#fff;background:#d63a3ad1;border-radius:0 6px 6px 0}.sc-mid{letter-spacing:.2em;background:#080c1499;align-items:center;padding:0 10px;font:700 10px/1 system-ui,sans-serif;display:flex}#score.solo .sc{display:none}#score.solo .sc-mid{border-radius:6px;padding:7px 12px;font-size:12px}#kd{text-shadow:0 1px #000;opacity:.85;margin-top:4px;font:600 11px/1 ui-monospace,Menlo,monospace}#killfeed{top:max(12px, env(safe-area-inset-top,0px));flex-direction:column;align-items:flex-end;gap:3px;display:flex;right:14px}.kf-row{background:#080c148c;border-radius:4px;align-items:center;gap:7px;padding:4px 9px;font:700 13px/1 system-ui,sans-serif;transition:opacity .8s;display:flex}.kf-row.fade{opacity:0}.kf-name.blue{color:#8db4ff}.kf-name.red{color:#ff8a8a}.kf-name.me{text-underline-offset:2px;text-decoration:underline}.kf-weap{color:#ffd98a;letter-spacing:.06em;font:700 10px/1 ui-monospace,Menlo,monospace}#health{left:max(22px, env(safe-area-inset-left,0px));background:#080c1480;border-radius:8px;align-items:center;gap:8px;padding:8px 12px;display:flex;bottom:22px}.hp-icon{color:#6ee08a;width:20px;height:20px}#hp-num{text-shadow:0 1px #000;min-width:46px;font:800 28px/1 system-ui,sans-serif}.hp-bar{background:#ffffff24;border-radius:4px;width:170px;height:8px;overflow:hidden}#hp-fill{transform-origin:0;width:100%;height:100%;transform:scaleX(var(--hp,1));background:linear-gradient(90deg,#3fcf6a,#9af07a);transition:transform .15s linear}body.hp-low #hp-fill{background:linear-gradient(90deg,#e2332a,#ff7a50)}body.hp-low .hp-icon,body.hp-low #hp-num{color:#ff6a5a;animation:.8s ease-in-out infinite pulse}#ammo{right:max(22px, env(safe-area-inset-right,0px));text-align:right;background:#080c1480;border-radius:8px;min-width:120px;padding:8px 12px;bottom:22px}#ammo-name{letter-spacing:.16em;text-transform:uppercase;opacity:.75;font:700 11px/1 system-ui,sans-serif}.ammo-row{margin-top:3px}#ammo-mag{text-shadow:0 1px #000;font:800 34px/1 system-ui,sans-serif}#ammo-max:not(:empty):before{content:"/ "}#death-timer:before{content:"Respawning in "}#ammo-max{opacity:.6;margin-left:4px;font:600 15px/1 system-ui,sans-serif}#ammo-reload{height:3px;transform:scaleX(var(--p,0));transform-origin:100%;background:#ffd166;border-radius:2px;margin-top:5px}#dmg-dir{opacity:0;border:6px solid #0000;border-top-color:#ff3228e6;border-radius:50%;width:230px;height:230px;top:50%;left:50%;transform:translate(-50%,-50%)}#crosshair,#hitmarker,#dmg-dir,#minimap,#health,#hp-fill,#ammo,#killfeed,#score,#toast,#debug,#hotbar,#blockname,.stick-zone,.touch-btn{will-change:transform}#toast{letter-spacing:.1em;color:#7dfc9c;text-shadow:0 2px #0009;opacity:0;font:800 20px/1 system-ui,sans-serif;top:30%;left:50%;transform:translate(-50%,-50%)}#toast.show{animation:1.6s ease-out forwards toast}@keyframes toast{0%{opacity:0;transform:translate(-50%,-30%)scale(.8)}12%{opacity:1;transform:translate(-50%,-50%)scale(1.08)}75%{opacity:1;transform:translate(-50%,-60%)}to{opacity:0;transform:translate(-50%,-75%)}}#death{z-index:3;text-shadow:0 2px #0009;background:radial-gradient(#3c000026,#2800008c);flex-direction:column;justify-content:center;align-items:center;gap:8px;display:flex;inset:0}#death[hidden]{display:none}.death-title{letter-spacing:.14em;color:#ff5a4a;font:900 40px/1 system-ui,sans-serif}#death-by{font:700 16px/1 system-ui,sans-serif}#death-timer{opacity:.8;font:600 13px/1 ui-monospace,Menlo,monospace}#death .board{background:#080c1473;width:min(380px,90vw);margin-top:10px}body.touch-ui #death .board{font-size:11px}body.touch-ui #death .board td{padding:3px 8px}.slot .gun-icon{color:#e8ecf4;place-items:center;width:100%;height:100%;display:grid}.slot .gun-icon svg{filter:drop-shadow(0 1px #000000b3);width:38px;height:19px}.slot.active .gun-icon{color:#ffd98a}.slot .count{text-shadow:1px 1px #000;font:700 11px ui-monospace,Menlo,monospace;position:absolute;top:1px;left:3px}#hotbar{background:#00000073;border:2px solid #fff3;border-radius:4px;gap:2px;padding:3px;display:flex;position:absolute;bottom:14px;left:50%;transform:translate(-50%)}.slot{border:2px solid #0000;border-radius:2px;place-items:center;width:48px;height:48px;display:grid;position:relative}.slot.active{background:#ffffff26;border-color:#fff}.slot canvas{width:40px;height:40px;image-rendering:pixelated}.slot span{text-shadow:1px 1px #000;font:11px ui-monospace,Menlo,monospace;position:absolute;bottom:1px;right:3px}#blockname{text-transform:capitalize;text-shadow:1px 1px #000;font-size:14px;font-weight:600;transition:opacity .4s;position:absolute;bottom:82px;left:50%;transform:translate(-50%)}#menu{z-index:6;text-align:center;pointer-events:auto;text-shadow:0 2px #0009;background:radial-gradient(#0000001a,#0000008c);place-content:center;display:grid;position:absolute;inset:0}#menu .card{cursor:pointer;pointer-events:auto;background:#0a0e18b8;border:2px solid #ffffff26;border-radius:6px;padding:28px 40px 24px}#menu[hidden]{display:none}#menu h1{letter-spacing:.12em;font-size:64px;font-weight:900}.teams{margin-top:6px;font-size:16px;font-weight:600}.blue{color:#7aa7ff}.red{color:#ff7a7a}#menu-action{margin-top:22px;font-size:18px;font-weight:700;animation:1.4s ease-in-out infinite pulse}.keys{opacity:.9;margin-top:16px;font:12px/1.7 ui-monospace,Menlo,monospace}@keyframes pulse{50%{opacity:.45}}.mobile-hint{display:none}.play-btn{letter-spacing:.08em;text-transform:uppercase;color:#fff;pointer-events:auto;cursor:pointer;background:linear-gradient(#3d6fd4,#2a4a9e);border:2px solid #ffffff59;border-radius:8px;margin:18px auto 0;padding:14px 36px;font-size:18px;font-weight:800;display:none}#touch{z-index:4;pointer-events:none;position:fixed;inset:0}body.touch-ui:not(.touch-playing) #touch,body.touch-ui:not(.touch-playing) #touch *{pointer-events:none!important}body.touch-ui.touch-playing #touch .touch-btn{pointer-events:auto}#touch[hidden]{display:none}.stick-zone{pointer-events:none;opacity:0;z-index:3;border-radius:50%;width:148px;height:148px;margin-top:-74px;margin-left:-74px;transition:opacity .12s;position:fixed;top:0;left:0}body.touch-playing .stick-zone{opacity:.4}body.touch-playing .stick-zone.active,body.touch-playing .stick-zone.locked{opacity:1}.stick-lock{color:#fff;opacity:0;background:#00000073;border:2px solid #fff6;border-radius:50%;place-items:center;width:36px;height:36px;transition:opacity .1s,background .1s;display:grid;position:absolute;top:calc(50% - 99px);left:50%;transform:translate(-50%,-50%)}.stick-lock svg{width:60%;height:60%}.stick-zone.pushing .stick-lock{opacity:.75}.stick-zone.lock-ready .stick-lock,.stick-zone.locked .stick-lock{opacity:1;color:#1a1a1a;background:#ffd166;border-color:#fff3c4}.stick-ring{pointer-events:none;background:radial-gradient(circle,#14182026 0%,#0000006b 72%);border:2px solid #ffffff38;border-radius:50%;position:absolute;inset:0;box-shadow:inset 0 0 24px #00000059}.stick-ring:before{content:"";background:#ffffff1f;width:1px;position:absolute;top:12%;bottom:12%;left:50%;transform:translate(-50%)}.stick-ring:after{content:"";background:#ffffff1f;height:1px;position:absolute;top:50%;left:12%;right:12%;transform:translateY(-50%)}.stick-knob{pointer-events:none;will-change:transform;background:radial-gradient(circle at 35% 30%,#ffffff73,#ffffff2e);border:2px solid #ffffff8c;border-radius:50%;width:58px;height:58px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);box-shadow:0 4px 12px #00000059}.touch-combat{right:env(safe-area-inset-right,0px);bottom:env(safe-area-inset-bottom,0px);pointer-events:none;width:0;height:0;position:absolute}@media (height<=360px){.touch-combat{transform-origin:100% 100%;transform:scale(.88)}}.touch-combat .btn-fire,#touch .btn-fire-left{color:#fff;background:radial-gradient(circle,#ff463261 0%,#96181080 70%);border:3px solid #ff7864e6;border-radius:50%;position:absolute;box-shadow:0 0 0 2px #00000040,inset 0 0 14px #ff5a3c59}.touch-combat .btn-fire{flex-direction:column;gap:2px;width:92px;height:92px;bottom:46px;right:50px}.btn-fire .reload-ring{fill:none;stroke:#ffd166;stroke-width:3.5px;width:calc(100% + 16px);height:calc(100% + 16px);stroke-dasharray:calc(var(--reload,0) * 100) 100;pointer-events:none;position:absolute;top:-8px;left:-8px;transform:rotate(-90deg)}.ammo-count{text-shadow:0 1px #0009;font:800 13px/1 system-ui,sans-serif}.btn-fire-left{left:max(18px, env(safe-area-inset-left));z-index:7;width:62px;height:62px;top:clamp(72px,24vh,30%)}.touch-combat .btn-ads{border-radius:50%;width:60px;height:60px;position:absolute;bottom:84px;right:149px}.touch-combat .btn-ads.active{color:#9cc8ff;background:#285ab480;border-color:#78b4fff2}#touch .touch-icon-place,#touch.building .touch-icon-fire,#touch.building .btn-ads{display:none}#touch.building .touch-icon-place{display:block}#touch.building .btn-fire{background:radial-gradient(circle,#6ec85a59 0%,#28642280 70%);border-color:#8ce678e6}.touch-combat .btn-jump{border-radius:50%;width:58px;height:58px;position:absolute;bottom:141px;right:31px}.touch-combat .btn-crouch{border-radius:50%;width:52px;height:52px;position:absolute;bottom:17px;right:140px}.touch-combat .btn-crouch.active{color:#ffd166;border-color:#ffd166e6}.touch-combat .btn-reload{border-radius:50%;width:50px;height:50px;position:absolute;bottom:143px;right:111px}.touch-pause{top:max(12px, env(safe-area-inset-top));right:max(12px, env(safe-area-inset-right));border-radius:10px;width:44px;height:44px;position:absolute}.touch-btn{color:#eef2f8;touch-action:none;-webkit-user-select:none;user-select:none;background:#0a0e166b;border:2px solid #ffffff59;justify-content:center;align-items:center;min-width:44px;height:44px;padding:0;font-weight:800;transition:transform 80ms;display:flex}.touch-icon{pointer-events:none;flex-shrink:0;width:54%;height:54%;display:block}.touch-combat .btn-fire .touch-icon{width:42%;height:42%}#touch.building .ammo-count{color:#c8f5b8}.touch-combat .btn-crouch .touch-icon,.touch-pause .touch-icon{width:58%;height:58%}.touch-btn.active{border-color:#ffffffd9;transform:scale(.92)}:-webkit-any(html:fullscreen,html:-webkit-full-screen,body:fullscreen,body:-webkit-full-screen){background:#b5d3f3;width:100%;height:100%}:is(html:fullscreen,html:fullscreen,body:fullscreen,body:fullscreen){background:#b5d3f3;width:100%;height:100%}body.touch-ui .play-btn,body.touch-ui .mobile-hint{display:block}body.touch-ui #menu-action{opacity:.85;font-size:15px;animation:none}body.touch-ui #hotbar{bottom:max(6px, env(safe-area-inset-bottom));transform-origin:bottom;pointer-events:auto;z-index:5;transform:translate(-50%)scale(.72)}body.touch-ui #blockname{bottom:calc(max(6px, env(safe-area-inset-bottom)) + 46px);font-size:12px}body.touch-ui.touch-playing .slot{touch-action:none;cursor:pointer}body.touch-ui.touch-playing .slot:active{filter:brightness(1.2);transform:scale(.96)}body.touch-ui #health{top:max(8px, env(safe-area-inset-top));left:max(10px, env(safe-area-inset-left));gap:6px;padding:5px 9px;bottom:auto}body.touch-ui .hp-icon{width:14px;height:14px}body.touch-ui #hp-num{min-width:30px;font-size:18px}body.touch-ui .hp-bar{width:90px;height:6px}body.touch-ui #ammo{top:max(8px, env(safe-area-inset-top));right:calc(max(12px, env(safe-area-inset-right)) + 54px);min-width:0;padding:5px 9px;bottom:auto}body.touch-ui #ammo-name{font-size:9px}body.touch-ui #ammo-mag{font-size:20px}body.touch-ui #ammo-max{font-size:11px}body.touch-ui #score{top:max(6px, env(safe-area-inset-top))}body.touch-ui .sc-row{font-size:16px}body.touch-ui .sc{min-width:36px;padding:4px 7px}body.touch-ui #kd{font-size:9px}body.touch-ui #killfeed{top:calc(max(8px, env(safe-area-inset-top)) + 58px);right:max(12px, env(safe-area-inset-right))}body.touch-ui .kf-row{padding:3px 7px;font-size:11px}body.touch-ui .death-title{font-size:30px}@media (width<=900px){#menu h1{font-size:40px}#menu .card{max-width:calc(100vw - 24px);padding:20px 22px}.keys:not(.mobile-hint){display:none}}#lobby{z-index:7;pointer-events:auto;text-shadow:0 2px #00000080;background:radial-gradient(#00000026,#0009);place-items:center;padding:16px;display:grid;position:absolute;inset:0;overflow-y:auto}#lobby[hidden],#lobby section[hidden],#lobby [hidden]{display:none}.lb-card{text-align:center;background:#0a0e18c7;border:2px solid #ffffff26;border-radius:6px;width:min(460px,100%);padding:26px 28px 20px}.lb-card h1{letter-spacing:.12em;font-size:44px;font-weight:900}.lb-card h2{letter-spacing:.08em;margin-top:6px;font-size:26px;font-weight:900}.lb-card section,.lb-card .board,#lb-start,#lb-leave{margin-top:16px}.lb-field{letter-spacing:.15em;text-transform:uppercase;align-items:center;gap:10px;font:700 12px/1 system-ui,sans-serif;display:flex}.lb-card input{color:#fff;-webkit-user-select:text;user-select:text;touch-action:manipulation;background:#ffffff1a;border:2px solid #ffffff40;border-radius:6px;outline:none;flex:1;min-width:0;padding:10px 12px;font:700 16px/1 system-ui,sans-serif}.lb-card input:focus{border-color:#7aa7ff}.lb-btn{letter-spacing:.06em;text-transform:uppercase;color:#fff;cursor:pointer;touch-action:manipulation;background:#ffffff1f;border:2px solid #ffffff47;border-radius:8px;padding:11px 16px;font:800 14px/1 system-ui,sans-serif}.lb-btn:hover:not(:disabled){background:#fff3}.lb-btn:disabled{opacity:.4;cursor:default}.lb-primary{background:linear-gradient(#3d6fd4,#2a4a9e);border-color:#ffffff59;width:100%;margin-top:14px;padding:15px;font-size:18px;display:block}.lb-primary:hover:not(:disabled){background:linear-gradient(#4a7ce0,#3054ab)}.lb-small{padding:7px 12px;font-size:11px}.lb-row{gap:10px;margin-top:14px;display:flex}.lb-row>*{flex:1}.lb-join{gap:6px;display:flex}#lb-code{text-align:center;letter-spacing:.2em;text-transform:uppercase;width:0}.lb-hint{opacity:.8;margin-top:8px;font-size:13px}.lb-hint:empty,#lb-status:empty{display:none}#lb-status{color:#ffd27a;margin-top:12px;font-size:13px;font-weight:700}.lb-code{letter-spacing:.15em;text-transform:uppercase;font:700 12px/1 system-ui,sans-serif}.lb-code b{letter-spacing:.2em;vertical-align:middle;margin:0 8px;font:900 30px/1 ui-monospace,Menlo,monospace}.lb-seg{border:2px solid #ffffff40;border-radius:8px;margin-top:10px;display:flex;overflow:hidden}.lb-seg button{letter-spacing:.06em;text-transform:uppercase;color:#fff;cursor:pointer;touch-action:manipulation;background:0 0;border:0;flex:1;padding:9px 6px;font:800 12px/1 system-ui,sans-serif}.lb-seg button+button{border-left:2px solid #ffffff40}.lb-seg button.on{background:#2f5bc0}.lb-seg button:disabled{cursor:default}.lb-team span{opacity:.8}.blue-btn{background:#2e62debf}.red-btn{background:#d63a3abf}.blue-btn:hover:not(:disabled){background:#4276f2d9}.red-btn:hover:not(:disabled){background:#ea4e4ed9}.lb-team.on{outline-offset:-5px;outline:3px solid #fff}.board{border-collapse:collapse;width:100%;text-shadow:none;font:700 13px/1 system-ui,sans-serif}.board:empty{display:none}#menu .board{width:min(420px,100%);margin:16px auto 0}.board th{letter-spacing:.15em;text-align:right;opacity:.7;padding:4px 8px;font-size:10px}.board td{text-align:right;background:#ffffff0f;border-top:2px solid #0a0e1899;padding:6px 8px}.board th:first-child,.board td:first-child{text-align:left}.board td:first-child{border-left:4px solid #0000}.board tr.blue td:first-child{border-left-color:#3f72e6}.board tr.red td:first-child{border-left-color:#dc4a3c}.board tr.me td{background:#ffffff2e}.board .tag{letter-spacing:.1em;opacity:.6;margin-left:6px;font-size:9px}#menu-leave{margin-top:14px}#menu .teams:empty{display:none}body.touch-ui .lb-card h1{font-size:30px}@media (height<=500px){#lobby{place-items:start center}.lb-card{padding:14px 18px}.lb-card h1{font-size:26px}}
