@font-face{font-family:Rajdhani;font-style:normal;font-display:swap;font-weight:500;src:url(/play/assets/rajdhani-latin-500-normal-ByNUCHrt.woff2) format("woff2"),url(/play/assets/rajdhani-latin-500-normal-DfvNI-Td.woff) format("woff")}@font-face{font-family:Rajdhani;font-style:normal;font-display:swap;font-weight:700;src:url(/play/assets/rajdhani-latin-700-normal-BPDUZo87.woff2) format("woff2"),url(/play/assets/rajdhani-latin-700-normal-e0Uj8ZlN.woff) format("woff")}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:400;src:url(/play/assets/inter-latin-400-normal-C38fXH4l.woff2) format("woff2"),url(/play/assets/inter-latin-400-normal-CyCys3Eg.woff) format("woff")}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:600;src:url(/play/assets/inter-latin-600-normal-LgqL8muc.woff2) format("woff2"),url(/play/assets/inter-latin-600-normal-CiBQ2DWP.woff) format("woff")}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/play/assets/ibm-plex-mono-latin-400-normal-DMJ8VG8y.woff2) format("woff2"),url(/play/assets/ibm-plex-mono-latin-400-normal-CvHOgSBP.woff) format("woff")}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:600;src:url(/play/assets/ibm-plex-mono-latin-600-normal-BgSNZQsw.woff2) format("woff2"),url(/play/assets/ibm-plex-mono-latin-600-normal-DWFSQ4vo.woff) format("woff")}:root{--sp-void: #07090b;--sp-carbon: #101418;--sp-carbon-2: #161b21;--sp-steel: #aeb5bb;--sp-white: #f4f5f2;--sp-signal: #ffc400;--sp-friendly: #38a9ff;--sp-enemy: #ff4d4d;--sp-panel: rgba(7, 9, 11, .82);--sp-panel-border: rgba(174, 181, 187, .16);--sp-font-display: "Rajdhani", sans-serif;--sp-font-ui: "Inter", sans-serif;--sp-font-mono: "IBM Plex Mono", monospace}*{box-sizing:border-box}body{font-family:var(--sp-font-ui);color:var(--sp-white);background:var(--sp-void);user-select:none}.mono{font-family:var(--sp-font-mono)}.signal{color:var(--sp-signal)}.dim{color:var(--sp-steel);opacity:.7;font-size:12px}.screen{height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:18px}.boot-title{font-family:var(--sp-font-display);font-size:44px;letter-spacing:.22em;margin:0}.boot-bar{width:320px;height:3px;background:var(--sp-carbon-2);overflow:hidden}.boot-bar-fill{width:40%;height:100%;background:var(--sp-signal);animation:slide 1.1s infinite ease-in-out}@keyframes slide{0%{transform:translate(-100%)}to{transform:translate(350%)}}.boot-status{color:var(--sp-steel);font-size:12px}.boot-error{max-width:480px;background:var(--sp-panel);border:1px solid var(--sp-enemy);padding:18px 22px;line-height:1.5}.home{justify-content:space-between;padding:28px 40px;align-items:stretch}.home-header{display:flex;justify-content:space-between;align-items:center}.home-main{display:flex;flex-direction:column;align-items:flex-start;gap:30px;max-width:620px;margin:0 auto;width:100%}.home-tagline{font-family:var(--sp-font-display);font-size:40px;letter-spacing:.14em;margin:0}.home-menu{display:flex;flex-direction:column;gap:10px;width:100%}.menu-btn{font-family:var(--sp-font-display);font-size:20px;letter-spacing:.12em;text-align:left;background:var(--sp-panel);color:var(--sp-white);border:1px solid var(--sp-panel-border);padding:14px 20px;cursor:pointer;display:flex;justify-content:space-between;align-items:baseline;gap:16px;transition:border-color .12s,background .12s}.menu-btn:hover:not(:disabled){border-color:var(--sp-signal);background:var(--sp-carbon)}.menu-btn.primary{border-color:var(--sp-signal)}.menu-btn.primary:hover{background:#ffc4001f}.menu-btn:disabled{opacity:.4;cursor:default}.menu-sub{font-family:var(--sp-font-ui);font-size:12px;letter-spacing:0;color:var(--sp-steel)}.home-footer{color:var(--sp-steel);opacity:.6;font-size:11px;text-align:center}.game-root{position:fixed;inset:0}.game-canvas{position:absolute;inset:0;width:100%;height:100%}.hint{position:absolute;bottom:12px;left:50%;transform:translate(-50%);color:var(--sp-steel);font-size:11px;opacity:.75}.hud{position:absolute;inset:0;pointer-events:none}.hud-panel{background:var(--sp-panel);border:1px solid var(--sp-panel-border);padding:6px 14px}.hud-top{position:absolute;top:14px;left:50%;transform:translate(-50%);display:flex;gap:8px;align-items:stretch}.hud-mode{font-family:var(--sp-font-display);letter-spacing:.18em;color:var(--sp-signal)}.hud-timer{font-family:var(--sp-font-mono);font-size:18px;min-width:68px;text-align:center}.hud-score{font-family:var(--sp-font-display);letter-spacing:.1em}.hud-callout{position:absolute;top:16px;left:18px;font-family:var(--sp-font-display);letter-spacing:.22em;color:var(--sp-steel);font-size:14px}.hud-fps{position:absolute;top:16px;right:18px;color:var(--sp-steel);font-size:12px}.hud-crosshair{position:absolute;inset:0}.hud-hitmarker{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%)}.hud-bottom{position:absolute;bottom:16px;left:0;right:0;display:flex;justify-content:space-between;padding:0 20px}.hud-vitals{display:flex;align-items:baseline;gap:8px}.hud-hp{font-family:var(--sp-font-display);font-size:30px;color:var(--sp-white)}.hud-armor{font-family:var(--sp-font-display);font-size:22px;color:var(--sp-steel)}.hud-label{font-size:10px;color:var(--sp-steel);letter-spacing:.14em}.hud-weapon{display:flex;flex-direction:column;align-items:flex-end;gap:2px}.hud-weapon-name{font-family:var(--sp-font-display);letter-spacing:.14em;font-size:15px}.hud-ammo{font-size:20px;color:var(--sp-signal)}.hud-net{position:absolute;bottom:14px;left:50%;transform:translate(-50%);font-size:10px;color:var(--sp-steel);opacity:.6}.overlay{position:fixed;inset:0;background:#07090bb8;display:flex;align-items:center;justify-content:center;z-index:10}.panel{background:var(--sp-carbon);border:1px solid var(--sp-panel-border);padding:26px 30px;display:flex;flex-direction:column;gap:10px;min-width:380px;max-width:520px}.panel h3{font-family:var(--sp-font-display);letter-spacing:.2em;margin:0 0 8px;color:var(--sp-signal)}.panel p{line-height:1.5;color:var(--sp-steel)}.settings{max-height:80vh;overflow-y:auto}.set-row{display:grid;grid-template-columns:140px 1fr 64px;align-items:center;gap:12px;font-size:13px;color:var(--sp-steel)}.set-row input[type=range]{accent-color:var(--sp-signal)}.set-val{text-align:right;color:var(--sp-white)}.match-bar{position:fixed;top:14px;left:50%;transform:translate(-50%);display:flex;gap:8px;pointer-events:none;z-index:5}.team-count{font-family:var(--sp-font-display);font-size:22px;min-width:46px;text-align:center}.friendly-text{color:var(--sp-friendly)}.enemy-text{color:var(--sp-enemy)}.net-pill{font-size:11px;color:var(--sp-steel);align-self:center}.killfeed{position:absolute;top:70px;right:18px;display:flex;flex-direction:column;gap:4px;pointer-events:none}.killfeed-row{background:var(--sp-panel);border:1px solid var(--sp-panel-border);padding:4px 10px;font-size:12px;display:flex;gap:8px}.kf-killer{color:var(--sp-white);font-weight:600}.kf-weapon{color:var(--sp-signal);font-size:11px}.kf-victim{color:var(--sp-enemy)}.damage-flash{position:absolute;inset:0;pointer-events:none;box-shadow:inset 0 0 120px 40px #ff4d4d59}.death-overlay{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;background:#07090b73;pointer-events:none}.death-title{font-family:var(--sp-font-display);font-size:44px;letter-spacing:.3em;color:var(--sp-enemy)}.death-sub{color:var(--sp-steel)}.text-input{background:var(--sp-void);border:1px solid var(--sp-panel-border);color:var(--sp-white);font-family:var(--sp-font-ui);font-size:15px;padding:12px 14px;outline:none}.text-input:focus{border-color:var(--sp-signal)}.error-text{color:var(--sp-enemy);font-size:13px}.breach-mid{display:flex;flex-direction:column;align-items:center;gap:1px;min-width:110px;padding:4px 16px}.breach-round{font-size:10px;color:var(--sp-steel)}.breach-phase{font-family:var(--sp-font-display);font-size:11px;letter-spacing:.2em;color:var(--sp-signal)}.planted-timer{color:var(--sp-enemy)}.planted-label{color:var(--sp-enemy);animation:pulse 1s infinite}@keyframes pulse{50%{opacity:.45}}.channel-bar{position:absolute;bottom:26%;left:50%;transform:translate(-50%);width:320px;display:flex;flex-direction:column;gap:6px;align-items:center}.channel-label{font-family:var(--sp-font-display);letter-spacing:.18em;font-size:13px;color:var(--sp-signal)}.channel-track{width:100%;height:6px;background:var(--sp-carbon-2);border:1px solid var(--sp-panel-border)}.channel-fill{height:100%;background:var(--sp-signal);transition:width 80ms linear}.core-indicator{position:absolute;bottom:90px;left:50%;transform:translate(-50%);background:var(--sp-panel);border:1px solid var(--sp-signal);color:var(--sp-signal);padding:6px 14px;font-family:var(--sp-font-display);letter-spacing:.12em;font-size:12px}.banner-overlay{position:absolute;top:30%;left:0;right:0;display:flex;flex-direction:column;align-items:center;gap:8px;pointer-events:none}.banner-title{font-family:var(--sp-font-display);font-size:52px;letter-spacing:.3em}.banner-win{color:var(--sp-signal)}.banner-loss{color:var(--sp-enemy)}.banner-reason{color:var(--sp-steel)}.spectate-bar{position:absolute;bottom:70px;left:0;right:0;display:flex;flex-direction:column;align-items:center;gap:4px}.spectate-name{font-family:var(--sp-font-display);letter-spacing:.16em;color:var(--sp-white)}.warmup-panel{position:absolute;top:64px;left:50%;transform:translate(-50%)}.warmup-inner{display:flex;flex-direction:column;align-items:center;gap:10px;font-size:13px;color:var(--sp-steel);padding:12px 18px}.warmup-btn{pointer-events:auto}.buy-hint{position:absolute;bottom:120px;left:50%;transform:translate(-50%);color:var(--sp-signal);font-size:12px}.buy-root{position:absolute;inset:40px 60px;background:#07090bf0;border:1px solid var(--sp-panel-border);padding:24px 28px;display:flex;flex-direction:column;gap:14px;z-index:20;overflow:auto}.buy-head{display:flex;justify-content:space-between;align-items:baseline}.buy-head h3{font-family:var(--sp-font-display);letter-spacing:.2em;color:var(--sp-signal);margin:0;display:flex;gap:14px;align-items:baseline}.buy-credits{font-size:18px}.buy-error{font-size:13px}.buy-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:14px;flex:1}.buy-col{display:flex;flex-direction:column;gap:8px}.buy-col-title{font-family:var(--sp-font-display);font-size:12px;letter-spacing:.2em;color:var(--sp-steel)}.buy-col-gap{margin-top:14px}.buy-item{background:var(--sp-carbon);border:1px solid var(--sp-panel-border);color:var(--sp-white);text-align:left;padding:10px 12px;cursor:pointer;display:flex;flex-direction:column;gap:2px}.buy-item:hover:not(:disabled){border-color:var(--sp-signal)}.buy-item:disabled{opacity:.4;cursor:default}.buy-item-name{font-family:var(--sp-font-display);letter-spacing:.08em;font-size:14px}.buy-item-meta{font-size:10px;color:var(--sp-steel)}.buy-item-cost{font-size:13px;color:var(--sp-signal)}.buy-close{align-self:flex-end}@media(max-width:1100px){.buy-grid{grid-template-columns:repeat(3,1fr)}}.warmup-actions{display:flex;gap:8px}.flash-overlay{position:fixed;inset:0;background:#fff;pointer-events:none;z-index:30}.equip-bar{position:absolute;bottom:64px;right:20px;display:flex;gap:6px}.equip-item{font-family:var(--sp-font-display);font-size:12px;letter-spacing:.1em;padding:4px 10px}.equip-key{color:var(--sp-signal)}.postmatch-overlay{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;background:#07090bd9;z-index:15}.postmatch-panel{background:var(--sp-carbon);border:1px solid var(--sp-panel-border);padding:30px 40px;display:flex;flex-direction:column;align-items:center;gap:14px;min-width:620px}.postmatch-title{font-family:var(--sp-font-display);font-size:46px;letter-spacing:.3em}.postmatch-score{font-size:24px;color:var(--sp-steel)}.postmatch-teams{display:grid;grid-template-columns:1fr 1fr;gap:26px;width:100%}.postmatch-team-title{font-family:var(--sp-font-display);letter-spacing:.2em;font-size:13px;margin-bottom:8px}.postmatch-table{width:100%;border-collapse:collapse;font-size:13px}.postmatch-table th{text-align:left;color:var(--sp-steel);font-weight:400;font-size:10px;letter-spacing:.14em;padding:4px 6px;border-bottom:1px solid var(--sp-panel-border)}.postmatch-table td{padding:5px 6px;border-bottom:1px solid rgba(174,181,187,.06)}.postmatch-actions{margin-top:8px}
