:root{--accent:#ff8a2a;--panel:#0c0f16eb;--text:#e6e9ef;--muted:#8a93a6;font-family:Segoe UI,system-ui,-apple-system,sans-serif}*{box-sizing:border-box}[hidden]{display:none!important}html,body{height:100%;color:var(--text);background:#0e1118;margin:0;overflow:hidden}#game{width:100%;height:100%;display:block;position:fixed;inset:0}#hud{pointer-events:none;-webkit-user-select:none;user-select:none;display:none;position:fixed;inset:0}#hud .unit{letter-spacing:2px;color:var(--muted);font-size:11px}#crosshair,#hitmarker{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}#crosshair{--ch-size:24px;--ch-color:#fff;width:var(--ch-size);height:var(--ch-size)}#crosshair i,#crosshair b{background:var(--ch-color);display:none;position:absolute;box-shadow:0 0 0 1px #0009}#crosshair i:first-child{width:2px;height:35%;margin-left:-1px;top:0;left:50%}#crosshair i:nth-child(2){width:2px;height:35%;margin-left:-1px;bottom:0;left:50%}#crosshair i:nth-child(3){width:35%;height:2px;margin-top:-1px;top:50%;left:0}#crosshair i:nth-child(4){width:35%;height:2px;margin-top:-1px;top:50%;right:0}#crosshair b{border-radius:50%;width:4px;height:4px;margin:-2px 0 0 -2px;top:50%;left:50%}#crosshair.ch-cross i,#crosshair.ch-crossdot i,#crosshair.ch-crossdot b,#crosshair.ch-dot b{display:block}#crosshair.ch-circle{border:2px solid var(--ch-color);border-radius:50%;box-shadow:0 0 0 1px #00000080}#crosshair.ch-circle b{display:block}#hitmarker{opacity:0;width:34px;height:34px;transition:opacity 80ms}#hitmarker i{background:#fff;width:3px;height:11px;position:absolute;top:50%;left:50%;box-shadow:0 0 2px #000}#hitmarker i:first-child{transform:translate(-50%,-50%)rotate(45deg)translateY(-13px)}#hitmarker i:nth-child(2){transform:translate(-50%,-50%)rotate(135deg)translateY(-13px)}#hitmarker i:nth-child(3){transform:translate(-50%,-50%)rotate(225deg)translateY(-13px)}#hitmarker i:nth-child(4){transform:translate(-50%,-50%)rotate(315deg)translateY(-13px)}#hitmarker.kill i{background:#ff3a3a}#dmgflash{opacity:0;background:radial-gradient(#0000 45%,#dc141ee6 100%);position:absolute;inset:0}#dmgdirs .dmgdir{border-top:6px solid #ff2828e6;border-radius:50%;width:220px;height:220px;animation:.9s forwards dirfade;position:absolute;top:50%;left:50%}@keyframes dirfade{0%{opacity:1}to{opacity:0}}#dmgnumbers .dmgnum{text-shadow:0 0 3px #000,0 2px 2px #000;will-change:transform;font-size:22px;font-weight:800;position:absolute;top:0;left:0}#netstats{color:var(--muted);font:12px monospace;position:absolute;top:10px;left:12px}#score{text-shadow:0 1px 2px #000;font-size:16px;font-weight:700;position:absolute;top:10px;left:50%;transform:translate(-50%)}#killfeed{text-align:right;font-size:14px;position:absolute;top:10px;right:14px}.feedline{text-shadow:0 1px 1px #000;background:#00000073;border-radius:3px;margin-bottom:4px;padding:2px 8px;transition:opacity 1s}.feedline.fade{opacity:0}.feedline .me{color:var(--accent);font-weight:700}.feedline .killer{color:#6aff7a}.feedline .victim{color:#ff7a7a}.feedline .friend,#score .friend{color:#6aff7a}.feedline .foe,#score .foe{color:#ffe14a}#score .vs{color:var(--muted)}#score .limit{color:var(--muted);font-size:13px}#zoom{visibility:hidden;opacity:0;pointer-events:none;background:radial-gradient(70% 80%,#0000 55%,#0000008c 100%);position:absolute;inset:0}.feedline .wicon{color:#aab;margin:0 4px;font-size:12px}#center{text-align:center;text-shadow:0 2px 4px #000;position:absolute;top:28%;left:50%;transform:translate(-50%)}#centermsg{font-size:28px;font-weight:800}#centermsg.count{color:var(--accent);-webkit-text-stroke:3px #080a12;paint-order:stroke fill;font-size:96px;font-style:italic;line-height:1}#centermsg.count.pop{animation:.9s ease-out forwards count-pop}@keyframes count-pop{0%{opacity:0;transform:scale(1.6)}15%{opacity:1;transform:scale(1)}80%{opacity:1}to{opacity:.4}}#submsg{color:#cfd5e0;margin-top:4px;font-size:15px}#speedbox{text-align:center;position:absolute;bottom:120px;left:50%;transform:translate(-50%)}#speed{text-shadow:0 1px 2px #000;font:700 26px monospace}#speedbar{background:#ffffff1f;width:160px;height:4px;margin-top:3px}#speedbar-fill{background:#9ab;width:0;height:100%}#healthbox{position:absolute;bottom:24px;left:30px}#shield{letter-spacing:2px;color:#7fe8ff;text-shadow:0 0 6px #50c8ffcc,0 1px 2px #000;font:800 14px Segoe UI,sans-serif;position:absolute;bottom:176px;left:50%;transform:translate(-50%)}#shield[hidden]{display:none}#health{text-shadow:0 2px 3px #000;font:800 52px/1 Segoe UI,sans-serif}#health.over{color:#7ad7ff}#health.mid{color:#ffc23a}#health.low{color:#ff3a3a;animation:.6s infinite alternate pulse}@keyframes pulse{to{opacity:.5}}#armorbox{position:absolute;bottom:24px;left:150px}#armorbox[hidden],#ammobox[hidden]{display:none}#armor{color:#ffd75a;text-shadow:0 2px 3px #000;font:800 40px/1 Segoe UI,sans-serif}#armor.none{color:var(--muted);opacity:.6}#ammobox{text-align:right;position:absolute;bottom:106px;right:24px}#ammo{text-shadow:0 2px 3px #000;font:800 40px/1 Segoe UI,sans-serif}#ammo .reserve{color:var(--muted);font-size:22px}#ammo.low{color:#ffb02e}#ammo.out{color:#ff3a3a}#ammo.reloading{color:var(--muted);animation:.3s infinite alternate pulse}#pickup{text-shadow:0 1px 2px #000;opacity:0;font:700 16px Segoe UI,sans-serif;transition:opacity .4s;position:absolute;bottom:96px;left:30px}#pickup.on{opacity:1;transition:none}.weapon .ammo{color:#dde;margin-top:2px;font:700 12px monospace;display:block}.weapon .ammo.out{color:#ff5a5a}#weapons{gap:6px;display:flex;position:absolute;bottom:24px;right:24px}.weapon{text-align:center;opacity:.55;background:#00000073;border:2px solid #0000;border-radius:4px;width:70px;padding:6px}.weapon.active{border-color:var(--wc);opacity:1}.weapon .key{color:var(--muted);font-size:10px;display:block}.weapon .wname{color:var(--wc);font-weight:800}.weapon .reload{background:#ffffff26;height:3px;margin-top:4px}.weapon .reload div{background:var(--wc);width:100%;height:100%}#scoreboard{background:var(--panel);border-radius:6px;min-width:420px;padding:14px 18px;display:none;position:absolute;top:18%;left:50%;transform:translate(-50%)}#scoreboard .board-banner{text-align:center;margin:2px 0 12px;font-size:30px;font-style:italic;font-weight:800}#scoreboard .board-banner span{color:var(--muted);margin-top:2px;font-size:14px;font-style:normal;font-weight:600;display:block}#scoreboard .board-title{color:var(--accent);letter-spacing:1px;text-transform:uppercase;margin-bottom:8px;font-size:13px;font-style:italic;font-weight:800}#scoreboard table{border-collapse:collapse;width:100%}#scoreboard th{text-align:left;color:var(--muted);letter-spacing:1px;padding:4px 8px;font-size:12px}#scoreboard td{border-top:1px solid #ffffff0f;padding:5px 8px}#scoreboard tr.me td{color:var(--accent);font-weight:700}#scoreboard .team-head{text-transform:uppercase;letter-spacing:1px;border-left:3px solid;justify-content:space-between;align-items:baseline;margin-top:6px;padding:4px 8px;font-style:italic;font-weight:800;display:flex}#scoreboard table+.team-head{margin-top:16px}#scoreboard .team-head b{font-size:22px}#scoreboard .team-head.friend{color:#6aff7a;background:#39ff5a14;border-color:#39ff5a}#scoreboard .team-head.foe{color:#ffe14a;background:#ffe62e14;border-color:#ffe62e}#scoreboard .tag{color:var(--muted);border:1px solid #445;border-radius:2px;padding:0 3px;font-size:10px}#touch{touch-action:none;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;-webkit-tap-highlight-color:transparent;display:none;position:fixed;inset:0}body.touch.playing #touch{display:block}#touch .stick,#touch .stick-ghost{pointer-events:none;background:#ffffff0f;border:2px solid #ffffff47;border-radius:50%;width:112px;height:112px;position:absolute}#touch .stick{display:none;top:-56px;left:-56px}#touch .stick.on{display:block}#touch .stick-ghost{left:calc(48px + env(safe-area-inset-left));bottom:calc(36px + env(safe-area-inset-bottom));opacity:.5}#touch:has(.stick.on) .stick-ghost{opacity:0}#touch .stick i,#touch .stick-ghost i{background:#ffffff52;border-radius:50%;width:48px;height:48px;margin:-24px 0 0 -24px;position:absolute;top:50%;left:50%}.t-btn{letter-spacing:1px;color:#ffffffe0;text-shadow:0 1px 2px #000;background:#0a0c1259;border:2px solid #ffffff4d;border-radius:50%;justify-content:center;align-items:center;font:800 13px Segoe UI,sans-serif;display:flex;position:absolute}.t-btn.on,.t-btn.active{border-color:var(--accent);color:#fff;background:#ff8a2a59}.t-fire{right:calc(26px + env(safe-area-inset-right));bottom:calc(34px + env(safe-area-inset-bottom));border-color:#ff8a2a99;width:96px;height:96px;font-size:16px}.t-jump{right:calc(140px + env(safe-area-inset-right));bottom:calc(22px + env(safe-area-inset-bottom));width:70px;height:70px}.t-reload{right:calc(36px + env(safe-area-inset-right));bottom:calc(146px + env(safe-area-inset-bottom));width:54px;height:54px;font-size:16px}.t-zoom{right:calc(112px + env(safe-area-inset-right));bottom:calc(112px + env(safe-area-inset-bottom));width:58px;height:58px;font-size:11px;display:none}#touch.rail .t-zoom{display:flex}.t-pause,.t-scores{top:calc(8px + env(safe-area-inset-top));border-radius:6px;width:44px;height:40px;font-size:20px}.t-pause{left:calc(10px + env(safe-area-inset-left))}.t-scores{left:calc(62px + env(safe-area-inset-left));width:auto;padding:0 12px;font-size:11px}#rotate{z-index:200;text-align:center;color:#fff;touch-action:none;-webkit-user-select:none;user-select:none;background:radial-gradient(#141a28,#05060a);flex-direction:column;justify-content:center;align-items:center;gap:12px;padding:24px;display:none;position:fixed;inset:0}#rotate svg{fill:none;stroke-width:3px;stroke-linecap:round;stroke-linejoin:round;width:96px;height:96px}#rotate .phone{stroke:#fff;transform-origin:32px 30px;animation:2.2s ease-in-out infinite rotate-phone}#rotate .arrow{stroke:var(--accent)}#rotate b{letter-spacing:1px;text-transform:uppercase;font-size:20px;font-style:italic}#rotate span{max-width:300px;color:var(--muted);font-size:14px;line-height:1.4}@keyframes rotate-phone{0%,25%{transform:rotate(0)}55%,85%{transform:rotate(-90deg)}to{transform:rotate(0)}}@media (orientation:portrait){body.landscape-only #rotate{display:flex}}.touch-help{display:none}body.touch .touch-help{display:inline}body.touch #netstats{top:auto;bottom:calc(6px + env(safe-area-inset-bottom));left:calc(12px + env(safe-area-inset-left));font-size:10px}body.touch #speedbox{display:none}body.touch #healthbox{left:calc(14px + env(safe-area-inset-left));bottom:auto;top:calc(56px + env(safe-area-inset-top))}body.touch #health{font-size:34px}body.touch #armorbox{left:calc(96px + env(safe-area-inset-left));bottom:auto;top:calc(56px + env(safe-area-inset-top))}body.touch #armor{font-size:28px}body.touch #pickup{left:calc(14px + env(safe-area-inset-left));bottom:auto;top:calc(118px + env(safe-area-inset-top));font-size:14px}body.touch #ammobox{left:50%;right:auto;bottom:calc(66px + env(safe-area-inset-bottom));text-align:center;transform:translate(-50%)}body.touch #ammo{font-size:28px}body.touch #ammo .reserve{font-size:16px}body.touch #weapons{left:50%;right:auto;bottom:calc(8px + env(safe-area-inset-bottom));pointer-events:auto;gap:4px;transform:translate(-50%)}body.touch .weapon{width:54px;padding:4px 2px}body.touch .weapon .key{display:none}body.touch #killfeed{right:calc(12px + env(safe-area-inset-right));font-size:12px}body.touch #shield{top:30%;bottom:auto}body.touch #scoreboard{min-width:min(420px,92vw);max-height:84%;top:8%;overflow-y:auto}#resume-hint{color:#fff;letter-spacing:1px;pointer-events:none;background:#05060ab3;border:1px solid #ff8a2a80;border-radius:4px;padding:10px 18px;font-size:15px;animation:1.4s ease-in-out infinite hint-pulse;position:fixed;top:34%;left:50%;transform:translate(-50%)}#resume-hint[hidden]{display:none}#tuner{z-index:20;color:#dfe4ee;background:#0a0d14e0;border:1px solid #2a3142;border-radius:6px;width:300px;max-height:calc(100% - 24px);padding:12px 14px;font-size:12px;position:fixed;top:12px;right:12px;overflow-y:auto}#tuner[hidden]{display:none}#tuner header{letter-spacing:1px;text-transform:uppercase;justify-content:space-between;align-items:center;font-size:14px;display:flex}#tuner header button{padding:2px 8px}#tuner h3{letter-spacing:1.5px;text-transform:uppercase;color:var(--accent);margin:12px 0 4px;font-size:11px}#tuner .tip{color:var(--muted);margin:6px 0 0}#tuner .knob{grid-template-columns:1fr 110px 44px;align-items:center;gap:6px;padding:2px 0;display:grid}#tuner .knob input[type=range]{width:100%}#tuner .knob input[type=color]{background:0 0;border:0;width:100%;height:20px;padding:0}#tuner .knob output{text-align:right;font-variant-numeric:tabular-nums;color:#fff}#tuner .actions{justify-content:flex-end;gap:8px;margin-top:12px;display:flex}#tuner .dump{color:#dfe4ee;background:#0b0e15;border:1px solid #2a3142;width:100%;height:120px;margin-top:8px;font:11px monospace}@keyframes hint-pulse{50%{opacity:.6}}#menu{background:radial-gradient(#141a28bf,#05060af2);justify-content:center;align-items:center;padding:16px;display:flex;position:fixed;inset:0;overflow-y:auto}#menu.paused{background:#05060a99}#menu .panel{background:var(--panel);border:1px solid #252b38;border-radius:8px;width:min(460px,100%);max-height:100%;padding:24px 28px;overflow-y:auto}#menu[data-screen=options] .panel,#menu[data-screen=online] .panel,#menu[data-screen=modes] .panel{width:min(900px,100%)}#menu h1{width:min(400px,100%);margin:0;line-height:0;position:relative}#menu h1 .logo{filter:drop-shadow(0 0 12px #ff8a2a59);-webkit-user-select:none;user-select:none;-webkit-user-drag:none;width:100%;height:auto}#menu h2{letter-spacing:1px;text-transform:uppercase;margin:0 0 6px;font-size:22px;font-style:italic}#menu h1 .beta{letter-spacing:2px;text-transform:uppercase;color:#120a02;background:linear-gradient(#ffc04a, var(--accent));-webkit-user-select:none;user-select:none;border-radius:3px;padding:4px 9px 3px;font-size:13px;font-style:italic;font-weight:800;line-height:1;position:absolute;top:6%;right:4%;transform:skew(-12deg);box-shadow:0 0 0 2px #080a12,0 0 12px #ff8a2a73}#menu .brand{margin-bottom:18px}#menu .muted{color:var(--muted)}#menu .screen>p{margin:0 0 12px;font-size:14px}.mainnav{flex-direction:column;gap:6px;display:flex}.navitem{text-align:left;letter-spacing:1px;text-transform:uppercase;background:#ffffff08;border:1px solid #0000;border-left-width:3px;align-items:center;gap:14px;width:100%;padding:12px 16px;font-size:20px;font-style:italic;transition:background .12s,border-color .12s,padding-left .12s;display:flex}.navitem .num{color:var(--muted);width:1.2em;font-family:monospace;font-size:14px;font-style:normal}.navitem .label{flex:1}.navitem small{text-transform:none;letter-spacing:0;color:var(--muted);font-size:12px;font-weight:600;display:block}.navitem:hover{background:#ffffff08}.navitem:not(:disabled):focus{border-left-color:var(--accent);background:#ff8a2a1a;outline:none;padding-left:22px}.navitem:not(:disabled):focus .num{color:var(--accent)}.navitem:disabled{cursor:not-allowed;opacity:.45;background:0 0}.navitem .soon{letter-spacing:1px;color:var(--muted);border:1px solid #445;border-radius:3px;padding:2px 6px;font-size:10px;font-style:normal}#join-invite{width:100%;margin-top:12px}.nickname{background:#ffffff08;border:1px solid #252b38;border-radius:4px;align-items:center;gap:12px;margin:0 0 12px;padding:8px 12px 8px 16px;display:flex}.nickname span{letter-spacing:1px;text-transform:uppercase;color:var(--muted);font-size:12px;font-weight:700}.nickname input{border-color:#39425a;flex:1;min-width:0;padding:6px 10px;font-size:18px;font-weight:700}.nickname input:focus{border-color:var(--accent);outline:none}.servers{background:#ffffff08;border:1px solid #252b38;border-radius:4px;align-items:stretch;gap:8px;margin:0 0 12px;padding:8px 12px 8px 16px;display:flex}.servers>span{letter-spacing:1px;text-transform:uppercase;color:var(--muted);align-self:center;margin-right:4px;font-size:12px;font-weight:700}.servers button{text-align:left;background:#141925;border:1px solid #39425a;border-radius:4px;flex-direction:column;flex:1;justify-content:center;align-items:flex-start;gap:1px;min-width:0;padding:6px 10px;display:flex}.servers button b{letter-spacing:.5px;text-transform:uppercase;font-size:15px;font-weight:800}.servers button small{color:var(--muted);flex-wrap:wrap;column-gap:6px;font-size:11px;font-weight:600;line-height:1.3;display:flex}.servers button:focus{border-color:#6b7591;outline:none}.servers button[aria-checked=true]{border-color:var(--accent);box-shadow:inset 0 0 0 1px var(--accent)}.servers button[aria-checked=true] b{color:var(--accent)}.servers button:disabled{opacity:.45;cursor:default}.servers .ping.good{color:#39ff5a}.servers .ping.ok{color:#ffe14a}.servers .ping.bad{color:#ff5a4a}@media (width<=520px){.servers>span{display:none}.servers button{padding:6px 8px}.servers button b{font-size:13px}}h2 .region{letter-spacing:1px;color:var(--muted);vertical-align:middle;font-size:.55em;font-style:normal;font-weight:700}.modegrid{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px;margin:10px 0 4px;display:grid}.modecard{text-align:left;background:#141925;border:1px solid #252b38;border-radius:6px;flex-direction:column;gap:4px;padding:0 0 12px;transition:transform .12s,border-color .12s,box-shadow .12s;display:flex;overflow:hidden}.modecard:hover{background:#141925}.modecard:focus{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent), 0 8px 24px #ff8a2a2e;outline:none;transform:translateY(-2px)}.modecard .thumb{aspect-ratio:16/9;border-bottom:1px solid #252b38;width:100%;height:auto;margin-bottom:6px;display:block}.modecard span{padding:0 14px}.modecard .mc-name{letter-spacing:1px;text-transform:uppercase;font-size:19px;font-style:italic;font-weight:800}.modecard:focus .mc-name{color:var(--accent)}.modecard .mc-about{color:var(--muted);flex:1;font-size:13px;font-weight:500;line-height:1.4}.modecard .mc-live{color:var(--accent);min-height:1.2em;font-size:12px;font-weight:700}#modes-status.error{color:#ff6b6b}.buttons{flex-wrap:wrap;gap:10px;margin:14px 0;display:flex}button{font:inherit;color:var(--text);cursor:pointer;background:#1c2230;border:1px solid #39425a;border-radius:4px;padding:10px 20px;font-weight:700}button:hover{background:#262e40}button:focus-visible{outline:2px solid var(--accent);outline-offset:2px}button.primary{background:var(--accent);border-color:var(--accent);color:#111}button.primary:hover{filter:brightness(1.1)}.cols{grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:12px;margin-top:8px;display:grid}fieldset{border:1px solid #252b38;border-radius:6px;min-width:0;margin:0;padding:8px 12px}legend{color:var(--muted);letter-spacing:1px;text-transform:uppercase;font-size:12px}.row{align-items:center;gap:8px;margin:6px 0;font-size:14px;display:flex}.row input[type=range]{flex:1;min-width:60px}.row output{text-align:right;width:34px;color:var(--accent);font-family:monospace}.row.small{color:var(--muted);font-size:12px}input,select{font:inherit;color:var(--text);background:#0d1018;border:1px solid #39425a;border-radius:3px;padding:4px 6px}input[type=color]{width:32px;height:26px;padding:0}input[type=range],input[type=checkbox]{accent-color:var(--accent)}.help{color:var(--muted);margin-top:14px;font-size:12px;line-height:1.6}.help b{color:var(--text)}#browser{border:1px solid #252b38;border-radius:6px;margin:8px 0 0;padding:10px 12px}#browser .browser-head{flex-wrap:wrap;align-items:baseline;gap:6px 12px;margin-bottom:8px;display:flex}#browser .muted{color:var(--muted);font-size:13px}#lobby-status{margin-left:auto}#lobby-status.error{color:#ff6b6b}#rooms{border-collapse:collapse;width:100%;font-size:14px}#rooms th{text-align:left;color:var(--muted);letter-spacing:1px;text-transform:uppercase;padding:4px 8px;font-size:11px}#rooms td{border-top:1px solid #ffffff0f;padding:6px 8px}#rooms td:last-child{text-align:right;width:1%}#rooms td.empty{color:var(--muted);text-align:center;padding:14px}#rooms button{padding:4px 14px}#browser .create{flex-wrap:wrap;gap:8px;margin:12px 0 4px;display:flex}#browser .create input{flex:1;min-width:140px}#browser input,#browser select{font:inherit;color:var(--text);background:#0e1118;border:1px solid #39425a;border-radius:4px;padding:8px}@media (width<=600px){#rooms th:nth-child(3),#rooms td:nth-child(3),#rooms th:nth-child(4),#rooms td:nth-child(4){display:none}}@media (height<=520px){#menu{padding:8px}#menu .panel{padding:12px 18px}#menu h1{width:min(220px,100%)}#menu h1 .beta{letter-spacing:1px;padding:3px 6px 2px;font-size:9px}#menu .brand{margin-bottom:8px}#menu:not([data-screen=main]) .brand{display:none}.navitem{padding:8px 14px;font-size:17px}}@media (height<=520px) and (width>=600px){#menu[data-screen=main] .panel{width:min(760px,100%)}.screen[data-screen=main]:not([hidden]){grid-template-columns:1fr 1fr;align-items:start;gap:0 16px;display:grid}.screen[data-screen=main]>.nickname,.screen[data-screen=main]>.servers{grid-column:1}.screen[data-screen=main]>.mainnav{grid-area:1/2/span 3}.screen[data-screen=main]>#join-invite{grid-column:2}}
