:root{--hud-bg: rgba(8, 10, 9, .55);--hud-line: rgba(255, 255, 255, .14);--accent: #ffd27a;--danger: #ff4f45;--gap: 6px}*{box-sizing:border-box}html,body{margin:0;height:100%;overflow:hidden;background:#0b0d0c;font-family:system-ui,-apple-system,Segoe UI,sans-serif}#app,#app canvas{position:fixed;top:0;right:0;bottom:0;left:0}.hidden{display:none!important}#hud{position:fixed;top:0;right:0;bottom:0;left:0;pointer-events:none;color:#e9ece7}#crosshair{position:fixed;left:50%;top:50%;width:0;height:0}.ch{position:absolute;background:#e8f3e3;box-shadow:0 0 2px #000000e6}.ch.t{width:2px;height:9px;left:-1px;top:calc(-9px - var(--gap))}.ch.b{width:2px;height:9px;left:-1px;top:var(--gap)}.ch.l{width:9px;height:2px;top:-1px;left:calc(-9px - var(--gap))}.ch.r{width:9px;height:2px;top:-1px;left:var(--gap)}.ch.dot{width:2px;height:2px;left:-1px;top:-1px}#hitmarker{position:fixed;left:50%;top:50%;opacity:0}#hitmarker span{position:absolute;width:10px;height:2px;background:#fff}#hitmarker span:nth-child(1){transform:translate(-14px,-10px) rotate(45deg)}#hitmarker span:nth-child(2){transform:translate(4px,-10px) rotate(-45deg)}#hitmarker span:nth-child(3){transform:translate(-14px,8px) rotate(-45deg)}#hitmarker span:nth-child(4){transform:translate(4px,8px) rotate(45deg)}#hitmarker.show{opacity:1;transition:none}#hitmarker.fade{opacity:0;transition:opacity .18s}#hitmarker.head span{background:var(--danger)}#dmg-vignette{position:fixed;top:0;right:0;bottom:0;left:0;opacity:0;background:radial-gradient(ellipse at center,transparent 55%,rgba(190,12,8,.55) 100%);transition:opacity .5s}#dmg-vignette.hurt{opacity:1;transition:opacity .05s}#dmg-vignette.low{opacity:.65}#arcs{position:fixed;left:50%;top:50%}.arc{position:absolute;width:130px;height:130px;left:-65px;top:-65px;border-radius:50%;border:4px solid transparent;border-top-color:var(--danger);animation:arcfade .9s forwards}@keyframes arcfade{0%{opacity:.95}to{opacity:0}}#topbar{position:fixed;top:14px;left:50%;transform:translate(-50%);display:flex;gap:10px;align-items:center}#topbar>div{background:var(--hud-bg);border:1px solid var(--hud-line);border-radius:6px;padding:6px 12px;font-size:13px;letter-spacing:.12em}#topbar b{color:var(--accent);font-size:15px}#enemies-chip b{color:var(--danger)}#minimap{position:fixed;top:14px;right:14px;border:1px solid var(--hud-line);border-radius:6px;background:#080a09b3}#killfeed{position:fixed;top:230px;right:14px;display:flex;flex-direction:column;gap:4px;align-items:flex-end}#killfeed div{background:var(--hud-bg);border:1px solid var(--hud-line);border-radius:4px;padding:3px 9px;font-size:12px;animation:kf 4s forwards}#killfeed b{color:var(--accent)}@keyframes kf{0%,80%{opacity:1}to{opacity:0}}#banner{position:fixed;top:22%;left:0;right:0;text-align:center;opacity:0;transition:opacity .3s}#banner.show{opacity:1}#banner-main{font-size:44px;font-weight:800;letter-spacing:.25em;color:#fff;text-shadow:0 2px 14px rgba(0,0,0,.8)}#banner-sub{font-size:15px;letter-spacing:.2em;color:var(--accent);margin-top:6px}#bottom-left{position:fixed;left:18px;bottom:18px;display:flex;align-items:center;gap:12px}#hp-wrap{width:220px;height:14px;background:#0000008c;border:1px solid var(--hud-line);border-radius:4px;overflow:hidden}#hp-bar{height:100%;width:100%;background:linear-gradient(90deg,#79c267,#a8d96a);transition:width .15s}#hp-bar.low{background:linear-gradient(90deg,#c23f33,#e0563d)}#hp-num{font-size:26px;font-weight:800;text-shadow:0 1px 4px #000;min-width:52px}#bottom-right{position:fixed;right:18px;bottom:18px;text-align:right}#weapon-name{font-size:12px;letter-spacing:.25em;color:#b9c2b4}#ammo b{font-size:34px;font-weight:800}#ammo-reserve{font-size:16px;color:#b9c2b4;margin-left:6px}#reload-wrap{width:130px;height:5px;background:#0000008c;border-radius:3px;margin-top:6px;margin-left:auto;overflow:hidden}#reload-bar{height:100%;width:0%;background:var(--accent)}#lock-hint{position:fixed;left:50%;top:58%;transform:translate(-50%);background:#080a09d9;border:1px solid var(--accent);border-radius:8px;color:var(--accent);font:700 16px/1.3 system-ui;letter-spacing:.18em;padding:14px 26px;text-align:center;z-index:15;cursor:pointer;animation:lockpulse 1.6s ease-in-out infinite}#lock-hint span{display:block;color:#b9c2b4;font:500 12px system-ui;letter-spacing:.1em;margin-top:6px}@keyframes lockpulse{0%,to{opacity:1}50%{opacity:.55}}.screen{position:fixed;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;background:#070908d1;-webkit-backdrop-filter:blur(7px);backdrop-filter:blur(7px);z-index:20;color:#e9ece7}.panel{width:min(620px,92vw);text-align:center;padding:36px}.panel.small{width:min(420px,92vw)}.panel h1{font-size:52px;font-weight:900;letter-spacing:.18em;margin:0 0 4px}.panel h1 span{color:var(--accent)}.panel h1.ko{color:var(--danger)}.tagline{color:#aab3a6;margin:0 0 26px;letter-spacing:.04em}.big-btn{font:800 18px/1 system-ui;letter-spacing:.3em;color:#101510;background:var(--accent);border:none;border-radius:6px;padding:16px 54px;cursor:pointer;display:block;margin:0 auto 14px}.big-btn:hover{filter:brightness(1.1)}.big-btn:disabled{opacity:.55;cursor:default}#map-row{display:flex;gap:8px;align-items:center;justify-content:center;margin-bottom:4px}#map-row span{font-size:11px;letter-spacing:.3em;color:#8d978a;margin-right:4px}.map-btn{font:600 12px/1 system-ui;letter-spacing:.15em;color:#cfd6c9;background:transparent;border:1px solid var(--hud-line);border-radius:6px;padding:9px 16px;cursor:pointer}.map-btn:hover{border-color:#888}.map-btn.active{color:#101510;background:var(--accent);border-color:var(--accent)}.ghost-btn{font:600 13px/1 system-ui;letter-spacing:.2em;color:#cfd6c9;background:transparent;border:1px solid var(--hud-line);border-radius:6px;padding:12px 24px;cursor:pointer}.ghost-btn:hover{border-color:#888}.cols{display:flex;gap:28px;margin-top:28px;text-align:left}.col{flex:1}.col h2{font-size:13px;letter-spacing:.3em;color:#8d978a;border-bottom:1px solid var(--hud-line);padding-bottom:8px}.controls{list-style:none;padding:0;margin:0;font-size:14px;color:#c6cec1}.controls li{margin:7px 0}.controls b{color:var(--accent);display:inline-block;min-width:58px}.lb{margin:0;padding:0 0 0 22px;font-size:14px;color:#c6cec1}.lb li{margin:6px 0}.lb b{color:var(--accent);float:right}.lb .you b{color:#fff}.ver{margin-top:30px;font-size:11px;letter-spacing:.2em;color:#5d655b}#death-stats{font-size:18px;letter-spacing:.1em;color:#c6cec1;margin-bottom:22px}#death-stats b{color:var(--accent)}.namerow{display:flex;gap:10px;justify-content:center;margin-bottom:18px}#name-input{background:#00000080;border:1px solid var(--hud-line);border-radius:6px;color:#fff;font:600 14px system-ui;letter-spacing:.15em;padding:12px 14px;text-transform:uppercase;width:180px}#country-select{background:#00000080;border:1px solid var(--hud-line);border-radius:6px;color:#fff;font:600 13px system-ui;padding:12px 8px;max-width:150px}.settings{margin-top:26px;text-align:left}.settings label{display:block;font-size:11px;letter-spacing:.25em;color:#8d978a;margin-bottom:18px}.settings span{float:right;color:var(--accent)}.settings input[type=range]{width:100%;margin-top:8px;accent-color:var(--accent)}#lb-death{text-align:left;max-width:320px;margin:0 auto 24px}#lan-row{display:flex;gap:8px;align-items:center;justify-content:center;margin:2px 0 10px}#lan-row span{font-size:11px;letter-spacing:.3em;color:#8d978a;margin-right:4px}#join-code{width:80px;text-transform:uppercase;font:700 14px system-ui;letter-spacing:.25em;text-align:center;background:#00000059;color:#e9ece7;border:1px solid var(--hud-line);border-radius:6px;padding:9px 6px}#join-code:focus{outline:none;border-color:var(--accent)}#lobby{margin:2px 0 12px}#lobby-code{font:800 30px system-ui;letter-spacing:.45em;color:var(--accent);margin-bottom:6px}#lobby-players{font:600 13px system-ui;letter-spacing:.12em;color:#cfd6c9;margin-bottom:6px}#lobby-status{font:500 12px system-ui;color:#8d978a;margin-bottom:10px;min-height:16px}#death-wait{font:500 13px system-ui;color:#8d978a;letter-spacing:.08em}#spectate-hint{position:fixed;left:50%;top:12%;transform:translate(-50%);background:#080a09bf;border:1px solid #8fd0ff;border-radius:8px;color:#8fd0ff;font:700 15px/1.3 system-ui;letter-spacing:.18em;padding:10px 22px;text-align:center;z-index:15}#spectate-hint span{display:block;color:#b9c2b4;font:500 12px system-ui;letter-spacing:.1em;margin-top:4px}#pause-net-note{color:#ffd27a;font:600 12px system-ui;letter-spacing:.15em;margin:-2px 0 18px}#lobby-modes{display:flex;gap:8px;justify-content:center;margin-bottom:8px}#lobby-modes.hidden{display:none}
