.screen{position:fixed;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:28px;padding:max(24px,env(safe-area-inset-top)) 24px max(24px,env(safe-area-inset-bottom));background:radial-gradient(circle at 50% 35%,#141d29,#0a0d13 62%,#05070b);color:var(--ink);font-family:var(--ui-font);user-select:none;overflow:auto}.brand{font-weight:800;letter-spacing:10px;color:var(--amber);font-size:clamp(38px,7vw,64px);text-shadow:0 0 30px rgba(255,209,102,.25)}.brand.big{font-size:clamp(56px,12vw,120px)}.auth .card{width:min(420px,92vw);display:flex;flex-direction:column;gap:14px;padding:24px;background:#0c1016db;border:1px solid var(--stroke);border-radius:14px;box-shadow:0 20px 60px #00000080}.auth .tabs{display:flex;gap:6px;margin-bottom:6px}.auth .tabs button{flex:1;padding:10px;background:transparent;border:1px solid var(--stroke);border-radius:8px;color:var(--dim);font-weight:700;letter-spacing:1px;font-size:13px;cursor:pointer;transition:all .12s}.auth .tabs button.on{background:#23303f;border-color:var(--amber);color:#fff}.auth label{display:flex;flex-direction:column;gap:5px;font-size:12px;letter-spacing:1px;color:var(--dim);text-transform:uppercase}.auth input{padding:11px 12px;background:#0c1017;border:1px solid var(--stroke);border-radius:8px;color:var(--ink);font-size:16px;font-family:var(--ui-font);outline:none;transition:border-color .12s}.auth input:focus{border-color:var(--amber)}.auth .err{padding:9px 12px;background:#ff6a5f1f;border:1px solid var(--red);border-radius:8px;color:var(--red);font-size:13px}.auth .primary{margin-top:4px;padding:13px;background:var(--amber);border:none;border-radius:9px;color:#14100a;font-weight:800;letter-spacing:2px;font-size:15px;cursor:pointer;transition:transform .08s,filter .12s}.auth .primary:hover:not(:disabled){filter:brightness(1.08)}.auth .primary:active:not(:disabled){transform:translateY(1px)}.auth .primary:disabled{opacity:.6;cursor:default}.auth .switch{text-align:center;font-size:13px;color:var(--dim)}.auth .switch button{background:none;border:none;color:var(--amber);font:inherit;cursor:pointer;padding:0;text-decoration:underline}.menu{justify-content:flex-start;gap:0}.menu .topbar{position:absolute;top:0;left:0;right:0;display:flex;align-items:center;justify-content:space-between;padding:max(16px,env(safe-area-inset-top)) 22px 16px;font-family:var(--mono);font-size:13px;color:var(--dim)}.menu .topbar b{color:var(--ink)}.menu .ghost{background:transparent;border:1px solid var(--stroke);border-radius:7px;color:var(--dim);padding:7px 12px;font-weight:700;letter-spacing:1px;font-size:12px;cursor:pointer;font-family:var(--ui-font)}.menu .ghost:hover{color:var(--ink);border-color:var(--red)}.menu .hero{margin:auto;display:flex;flex-direction:column;align-items:center;gap:18px}.menu .tagline{color:var(--dim);letter-spacing:3px;font-size:14px;text-transform:uppercase;margin-top:-6px}.menu .play{margin-top:12px;padding:18px 64px;background:var(--amber);border:none;border-radius:12px;color:#14100a;font-weight:800;letter-spacing:4px;font-size:22px;cursor:pointer;box-shadow:0 12px 40px #ffd16640;transition:transform .08s,filter .12s}.menu .play:hover{filter:brightness(1.08);transform:translateY(-2px)}.menu .play:active{transform:translateY(0)}.menu .modes{display:flex;gap:10px;margin-top:14px;flex-wrap:wrap;justify-content:center}.menu .mode{padding:8px 16px;border:1px solid var(--stroke);border-radius:8px;font-size:13px;letter-spacing:1px;color:var(--dim)}.menu .mode.on{border-color:var(--amber);color:var(--ink)}.menu .mode.soon{opacity:.5}.menu .footer{position:absolute;bottom:max(14px,env(safe-area-inset-bottom));color:var(--dim);font-family:var(--mono);font-size:11px;letter-spacing:1px}.resultsactions{display:flex;flex-direction:column;align-items:center;gap:10px;margin-top:18px}.resultsactions .tomenu{padding:11px 30px;background:var(--amber);border:none;border-radius:9px;color:#14100a;font-weight:800;letter-spacing:2px;font-size:14px;cursor:pointer;font-family:var(--ui-font)}.resultsactions .tomenu:hover{filter:brightness(1.08)}:root{--red: #ff6a5f;--blue: #6ba9ff;--amber: #ffd166;--green: #59d99b;--ink: #e6ecf5;--dim: #93a0b8;--panel: rgba(12, 16, 22, .72);--panel-solid: #10151d;--stroke: #29323f;--ui-font: "Rajdhani", "Segoe UI", system-ui, sans-serif;--mono: "JetBrains Mono", ui-monospace, "Cascadia Code", monospace}#ui{position:fixed;inset:0;z-index:10;pointer-events:none;color:var(--ink);font-family:var(--ui-font);user-select:none;overflow:hidden;padding:env(safe-area-inset-top) env(safe-area-inset-right) env(safe-area-inset-bottom) env(safe-area-inset-left)}#ui *{box-sizing:border-box}#ui button,#ui input,#ui .interactive{pointer-events:auto;font-family:inherit}.scoreboard{position:absolute;top:12px;left:50%;transform:translate(-50%);display:flex;align-items:center;gap:18px;padding:6px 20px;background:var(--panel);border:1px solid var(--stroke);border-radius:12px;backdrop-filter:blur(6px)}.scoreboard .team{font-size:26px;font-weight:700;letter-spacing:1px}.scoreboard .team.red{color:var(--red)}.scoreboard .team.blue{color:var(--blue)}.scoreboard .center{text-align:center;min-width:120px}.scoreboard .clock{font-family:var(--mono);font-size:24px;font-weight:600}.scoreboard .clock.warmup{color:var(--amber)}.scoreboard .clock.ended{color:var(--red)}.scoreboard .info{font-size:12px;color:var(--dim);letter-spacing:2px;text-transform:uppercase}.status{position:absolute;left:20px;bottom:84px;width:320px}.status .chips{display:flex;gap:14px;margin-bottom:6px;font-family:var(--mono);font-size:18px;font-weight:600}.status .coins{color:var(--amber)}.status .nades{color:var(--green)}.hpbar{position:relative;height:26px;background:#141a24;border:2px solid var(--stroke);border-radius:6px;overflow:hidden}.hpbar .fill{height:100%;transition:width .12s linear,background .2s}.hpbar .label{position:absolute;inset:0;display:grid;place-items:center;font-family:var(--mono);font-size:14px;font-weight:700;color:#0b0e13;text-shadow:0 1px 0 rgba(255,255,255,.25)}.weaponbar{position:absolute;left:20px;bottom:20px;display:flex;gap:6px}.wcell{min-width:108px;height:44px;display:flex;align-items:center;padding:0 10px;gap:6px;background:#141a24cc;border:2px solid var(--stroke);border-radius:7px;font-family:var(--mono);font-size:14px;color:var(--dim);cursor:pointer;transition:transform .08s,border-color .12s,background .12s}.wcell .key{color:var(--dim);font-weight:700}.wcell.owned{color:var(--ink)}.wcell.active{background:#2b3a12;border-color:var(--amber);color:#fff}.wcell:not(.owned){cursor:default;opacity:.55}.wcell.owned:hover{transform:translateY(-2px)}.wcell.consumable{margin-left:16px;border-color:#5a4a1a;color:var(--amber)}.ammo{position:absolute;right:22px;bottom:20px;min-width:150px;padding:8px 16px 9px;background:#141a24cc;border:2px solid var(--stroke);border-radius:9px;text-align:right;font-family:var(--mono);backdrop-filter:blur(2px)}.ammo .count{display:flex;align-items:baseline;justify-content:flex-end;gap:4px;line-height:1}.ammo .count .mag{font-size:40px;font-weight:800;color:var(--ink);letter-spacing:1px}.ammo .count .sep{font-size:22px;color:var(--dim)}.ammo .count .reserve{font-size:22px;font-weight:700;color:var(--dim)}.ammo .hint{margin-top:3px;font-size:11px;letter-spacing:1px;color:var(--dim);text-transform:uppercase}.ammo.low{border-color:var(--amber)}.ammo.low .count .mag{color:var(--amber)}.ammo.low .hint{color:var(--amber);animation:ammoPulse .9s ease-in-out infinite}@keyframes ammoPulse{0%,to{opacity:1}50%{opacity:.4}}.ammo.empty{border-color:var(--red)}.ammo.empty .count .mag,.ammo.empty .hint{color:var(--red)}.ammo.reloading{border-color:var(--green)}.ammo.reloading .hint{color:var(--green);font-weight:700;letter-spacing:2px}.ammo .reloadbar{height:12px;width:150px;background:#0d1119;border-radius:6px;overflow:hidden}.ammo .reloadfill{height:100%;background:var(--green);transition:width .08s linear}.killfeed{position:absolute;top:92px;right:16px;display:flex;flex-direction:column;gap:4px;align-items:flex-end;font-family:var(--mono);font-size:16px}.killrow{background:var(--panel);border:1px solid var(--stroke);border-radius:6px;padding:3px 10px;animation:killIn .16s ease-out}.killrow .who{font-weight:700}.killrow .wep{color:var(--dim);margin:0 6px}@keyframes killIn{0%{opacity:0;transform:translate(12px)}}.announce{position:absolute;top:30%;left:50%;transform:translate(-50%);text-align:center}.announce .big{font-size:84px;font-weight:800;color:var(--amber);line-height:1;text-shadow:0 4px 24px rgba(0,0,0,.6)}.announce .big.go{color:var(--green)}.announce .big.wait{font-size:44px;letter-spacing:4px;color:var(--ink);animation:waitpulse 1.4s ease-in-out infinite}@keyframes waitpulse{50%{opacity:.55}}.announce .sub{margin-top:8px;font-size:22px;letter-spacing:3px;text-transform:uppercase;color:var(--ink)}.escmenu{position:absolute;inset:0;z-index:40;display:grid;place-items:center;background:#05070bb8;backdrop-filter:blur(3px)}.escpanel{display:flex;flex-direction:column;gap:12px;width:min(320px,86vw);padding:26px 24px;background:var(--panel-solid);border:1px solid var(--stroke);border-radius:14px;box-shadow:0 24px 70px #0009}.esctitle{text-align:center;font-size:26px;font-weight:800;letter-spacing:6px;color:var(--ink)}.escnote{text-align:center;margin:2px 0 10px;font-size:12px;letter-spacing:.5px;color:var(--dim)}.escbtn{padding:13px;border:1px solid var(--stroke);border-radius:9px;background:#161d27;color:var(--ink);font-family:var(--ui-font);font-weight:800;letter-spacing:2px;font-size:15px;cursor:pointer;transition:transform .08s,filter .12s,background .12s,border-color .12s}.escbtn:hover{transform:translateY(-1px)}.escbtn.primary{background:var(--amber);border-color:var(--amber);color:#14100a}.escbtn.danger:hover{border-color:var(--red);color:var(--red)}.eschint{text-align:center;margin-top:2px;font-family:var(--mono);font-size:11px;letter-spacing:1px;color:var(--dim)}.death{position:absolute;inset:0;display:grid;place-items:center;background:radial-gradient(circle at center,#2a0d0d26,#2a0d0d80);text-align:center}.death .title{font-size:46px;font-weight:800;color:#ff9a9a;letter-spacing:4px}.death .sub{margin-top:10px;font-family:var(--mono);font-size:22px;color:var(--ink)}.results{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:22px;background:#05070bd1;backdrop-filter:blur(4px);pointer-events:auto}.results .winner{font-size:66px;font-weight:800;letter-spacing:2px}.results .board{display:grid;grid-template-columns:1fr 1fr;gap:8px 48px;font-family:var(--mono);font-size:20px;min-width:520px}.results .board .col h3{margin:0 0 8px;font-size:22px}.results .board .row{display:flex;justify-content:space-between;color:var(--dim)}.results .board .row.you{color:var(--ink);font-weight:700}.results .footer{font-family:var(--mono);color:var(--amber);font-size:22px}.shop{position:absolute;top:120px;right:20px;width:300px;background:var(--panel);border:1px solid var(--stroke);border-radius:10px;padding:12px;backdrop-filter:blur(6px);pointer-events:auto}.shop h2{margin:0 0 10px;font-size:18px;letter-spacing:1px}.shop h2 small{color:var(--dim);font-size:13px;font-weight:400}.shoprow{display:flex;justify-content:space-between;align-items:center;padding:9px 10px;margin-bottom:5px;background:#1b2230;border:1px solid var(--stroke);border-radius:6px;font-family:var(--mono);font-size:16px;cursor:pointer;transition:border-color .12s,background .12s}.shoprow:hover:not(.owned):not(.locked){border-color:var(--amber)}.shoprow .cost{color:var(--amber)}.shoprow.owned{color:#6f7787;background:#141a24;cursor:default}.shoprow.owned .cost{color:#6f7787}.shoprow.locked{color:#c96a6a;cursor:default}.shoprow.locked .cost{color:#c96a6a}.chat{position:absolute;left:20px;bottom:150px;width:380px;max-width:46vw;display:flex;flex-direction:column;gap:3px}.chat .log{display:flex;flex-direction:column;gap:2px;font-size:15px;max-height:160px;overflow:hidden;mask-image:linear-gradient(to top,black 70%,transparent)}.chat .msg{background:#0c101680;border-radius:5px;padding:1px 8px;width:fit-content;max-width:100%}.chat .msg .from{font-weight:700;margin-right:6px}.chat input{margin-top:4px;background:var(--panel-solid);border:1px solid var(--amber);border-radius:6px;color:var(--ink);padding:7px 10px;font-size:15px;outline:none}.chat .hint{font-size:12px;color:var(--dim);padding-left:4px}.loader{position:absolute;inset:0;z-index:100;pointer-events:auto;display:grid;place-items:center;background:radial-gradient(circle at 50% 40%,#141d29,#0a0d13 60%,#05070b);opacity:1;transition:opacity .6s ease}.loader.done{opacity:0;pointer-events:none}.loader-glow{position:absolute;width:120vw;height:60vh;top:-10vh;background:radial-gradient(ellipse at center,rgba(255,209,102,.09),transparent 60%);animation:loaderPulse 3.2s ease-in-out infinite}@keyframes loaderPulse{50%{opacity:.45;transform:scale(1.08)}}.loader-inner{position:relative;width:min(560px,82vw);text-align:center}.loader .logo{font-size:clamp(52px,11vw,108px);font-weight:800;letter-spacing:10px;color:transparent;background:linear-gradient(180deg,#fff,#ffd166 55%,#e0904f);-webkit-background-clip:text;background-clip:text;filter:drop-shadow(0 6px 26px rgba(255,180,90,.28));animation:logoIn .7s cubic-bezier(.2,.8,.2,1) both}@keyframes logoIn{0%{opacity:0;letter-spacing:26px;filter:blur(6px)}}.loader .bar{margin-top:26px;height:8px;border-radius:999px;background:#1a2230;border:1px solid #29323f;overflow:hidden}.loader .bar .fill{height:100%;border-radius:999px;background:linear-gradient(90deg,#e0904f,#ffd166);box-shadow:0 0 14px #ffd16699;transition:width .25s ease}.loader .phase{margin-top:12px;display:flex;justify-content:space-between;font-family:var(--mono);font-size:14px;letter-spacing:2px;text-transform:uppercase;color:var(--dim)}.loader .tip{margin-top:34px;font-size:16px;color:#7f8aa0;animation:fadeIn 1s ease .4s both}@keyframes fadeIn{0%{opacity:0}}.devconsole{position:absolute;left:0;right:0;top:0;background:#05070beb;border-bottom:1px solid var(--stroke);padding:8px 14px;font-family:var(--mono);font-size:14px}.devconsole .lines{max-height:180px;overflow:auto;color:var(--dim);white-space:pre-wrap}.devconsole input{width:100%;margin-top:6px;background:transparent;border:none;border-top:1px solid var(--stroke);color:var(--green);padding:6px 2px;font-size:14px;outline:none}
