:root{--night:#0b1114;--steam:#e6e9e4;--fog:#9aa8a4;--sodium:#f0a640;--flare:#ff5a47;--moss:#8fae78;--display:"Big Shoulders Stencil Display", Impact, "Arial Narrow", sans-serif;--head:"Big Shoulders Display", "Arial Narrow", sans-serif;--body:"Barlow", system-ui, sans-serif;--mono:"IBM Plex Mono", ui-monospace, Consolas, monospace}*{box-sizing:border-box}html,body{background:var(--night);height:100%;color:var(--steam);font:500 15px/1.4 var(--body);-webkit-user-select:none;user-select:none;margin:0;overflow:hidden}#game{width:100%;height:100%;display:block;position:fixed;inset:0}[hidden]{display:none!important}.icon{fill:none;stroke:currentColor;stroke-width:1.8px;stroke-linecap:round;stroke-linejoin:round;flex:none;width:18px;height:18px}.screen{z-index:10;background:radial-gradient(80% 70% at 50% 60%,#0b111459,#0b1114e0);place-items:center;transition:opacity .4s;display:grid;position:fixed;inset:0}.panel{text-align:center;justify-items:center;gap:14px;padding:24px;display:grid}.logo{font:800 clamp(64px, 12vw, 150px)/.8 var(--display);letter-spacing:.01em;text-shadow:0 6px 30px #0009;margin:0}.logo span{color:var(--sodium)}.tag{font:600 13px/1 var(--body);letter-spacing:.22em;text-transform:uppercase;color:var(--fog);margin:0}.loadbar{background:#e6e9e41f;border-radius:2px;width:min(360px,70vw);height:4px;margin-top:10px;overflow:hidden}#loadfill{background:var(--sodium);width:0;height:100%;transition:width .2s}.status{color:var(--fog);margin:0;font-size:14px}#start{font:800 26px/1 var(--head);letter-spacing:.06em;text-transform:uppercase;color:#1a1408;background:var(--sodium);cursor:pointer;border:0;border-radius:3px;padding:16px 30px;box-shadow:0 10px 40px #f0a64059}#start:hover{filter:brightness(1.08)}#start:focus-visible{outline:2px solid var(--steam);outline-offset:3px}.room-box{color:var(--fog);font:600 13px var(--body);flex-wrap:wrap;justify-content:center;align-items:center;gap:8px;display:flex}.room-box label{align-items:center;gap:7px;display:flex}.room-box input{width:110px;color:var(--steam);font:600 13px var(--body);background:#111a1d;border:1px solid #405057;border-radius:3px;padding:8px 9px}#room-code{color:var(--sodium);font:700 17px var(--mono);letter-spacing:.14em}.keys{color:var(--fog);grid-template-columns:repeat(4,auto);gap:8px 22px;margin:6px 0 0;padding:0;font-size:14px;list-style:none;display:grid}.keys kbd{font:500 12px/1 var(--mono);color:var(--steam);border:1px solid #e6e9e440;border-bottom-width:2px;border-radius:3px;margin-right:6px;padding:3px 6px}.tip{color:var(--flare);margin:4px 0 0;font-size:14px}.credits{color:var(--fog);opacity:.7;max-width:520px;margin:10px 0 0;font-size:11px}@media (max-width:720px){.keys{grid-template-columns:repeat(2,auto)}}#hud{pointer-events:none;z-index:5;text-shadow:0 1px 3px #000c;position:fixed;inset:0}.wave{justify-items:center;gap:2px;display:grid;position:absolute;top:22px;left:50%;transform:translate(-50%)}.wave-label{font:600 11px/1 var(--body);letter-spacing:.3em;text-transform:uppercase;color:var(--fog)}.wave-num{font:800 52px/.85 var(--display)}.wave-sub{font:500 13px/1 var(--mono);color:var(--flare)}.banner{font:800 clamp(28px, 4.5vw, 56px)/1 var(--head);text-transform:uppercase;letter-spacing:.04em;white-space:nowrap;opacity:0;transition:opacity .4s;position:absolute;top:28%;left:50%;transform:translate(-50%)}.banner.show{opacity:1}.banner.danger{color:var(--flare)}.banner small{font:600 14px/1.6 var(--body);letter-spacing:.2em;color:var(--steam);margin-top:6px;display:block}.crosshair{--gap:8px;width:0;height:0;position:absolute;top:50%;left:50%}.crosshair i{background:#f0f3eee6;position:absolute;box-shadow:0 0 2px #000000e6}.crosshair i:first-child{width:2px;height:8px;left:-1px;top:calc(-8px - var(--gap))}.crosshair i:nth-child(2){width:2px;height:8px;left:-1px;top:var(--gap)}.crosshair i:nth-child(3){width:8px;height:2px;top:-1px;left:calc(-8px - var(--gap))}.crosshair i:nth-child(4){width:8px;height:2px;top:-1px;left:var(--gap)}.crosshair b{background:var(--sodium);border-radius:50%;width:3px;height:3px;position:absolute;top:-1.5px;left:-1.5px}.hitmark{opacity:0;width:0;height:0;transition:opacity .15s;position:absolute;top:50%;left:50%}.hitmark.on{opacity:1;transition:none}.hitmark i{background:#fff;width:2px;height:9px;position:absolute;top:-4.5px;left:-1px}.hitmark i:first-child{transform:rotate(45deg)translateY(-11px)}.hitmark i:nth-child(2){transform:rotate(135deg)translateY(-11px)}.hitmark i:nth-child(3){transform:rotate(225deg)translateY(-11px)}.hitmark i:nth-child(4){transform:rotate(315deg)translateY(-11px)}.hitmark.kill i{background:var(--flare);height:12px}.vitals{gap:10px;display:grid;position:absolute;bottom:26px;left:28px}.vitals .row{align-items:center;gap:10px;display:flex}.bar{background:#e6e9e426;border-radius:2px;width:220px;height:8px;overflow:hidden}.bar .fill{background:var(--steam);width:100%;height:100%;transition:width .15s,background .3s}.bar .fill.low{background:var(--flare)}.flares{font:800 24px/1 var(--head);color:var(--flare)}.hint{font:500 12px/1 var(--mono);color:var(--fog)}.ammo{align-items:baseline;gap:8px;display:flex;position:absolute;bottom:22px;right:30px}.mag{font:800 56px/.85 var(--display)}.reserve{font:500 15px/1 var(--mono);color:var(--fog)}.ammo .icon{width:22px;height:22px;color:var(--sodium);align-self:center}.reload{font:600 12px/1 var(--body);letter-spacing:.2em;text-transform:uppercase;color:var(--sodium);opacity:0;position:absolute;bottom:64px;right:0}.reload.on{opacity:1}.kills{font:800 30px/1 var(--head);align-items:center;gap:8px;display:flex;position:absolute;top:26px;right:30px}.kills .icon{width:22px;height:22px;color:var(--fog)}.radar{justify-items:start;gap:8px;display:grid;position:absolute;top:22px;left:24px}#minimap{opacity:.92;border-radius:50%;width:176px;height:176px;box-shadow:0 4px 24px #0000008c}.stealth{font:600 11px/1 var(--body);letter-spacing:.2em;text-transform:uppercase;color:var(--fog);align-items:center;gap:8px;width:176px;display:flex}.stealth .meter{background:#e6e9e426;border-radius:2px;flex:1;height:3px;overflow:hidden}.stealth .meter div{background:var(--sodium);width:0;height:100%;transition:width .15s}.stealth.hidden{color:var(--moss)}.stealth.sus{color:var(--sodium)}.stealth.hunted{color:var(--flare)}.stealth.hunted .meter div{background:var(--flare)}.guns{justify-items:end;gap:4px;display:grid;position:absolute;bottom:112px;right:30px}.guns .slot{font:600 12px/1 var(--body);letter-spacing:.14em;text-transform:uppercase;color:var(--fog);opacity:.75;align-items:center;gap:8px;padding:3px 0;display:flex}.guns .slot kbd{font:500 10px/1 var(--mono);border:1px solid #e6e9e44d;border-radius:2px;padding:2px 4px}.guns .slot.locked{opacity:.28}.guns .slot.on{color:var(--steam);opacity:1}.guns .slot.on kbd{background:var(--sodium);color:#1a1408;border-color:var(--sodium)}.guns .slot small{font:500 10px/1 var(--mono);letter-spacing:0;text-transform:none;color:var(--fog);display:none}.guns .slot.on small{display:inline}.gun-name{font:600 12px/1 var(--body);letter-spacing:.2em;text-transform:uppercase;color:var(--fog);white-space:nowrap;display:none;position:absolute;bottom:64px;right:0}.reload{bottom:64px}.mag.empty{color:var(--flare)}.flares.throw{color:var(--sodium)}.hint.dim{opacity:.6}.row.rage{color:var(--flare)}.row.rage .fill{background:var(--flare);transition:none}.vitals .row .icon{color:var(--steam)}.hitmark.weak i{background:var(--sodium);height:12px}.hitmark.resist i{background:var(--fog);height:6px}.hittext{font:600 11px/1 var(--body);letter-spacing:.24em;text-transform:uppercase;opacity:0;white-space:nowrap;transition:opacity .3s;position:absolute;top:calc(50% + 34px);left:50%;transform:translate(-50%)}.hittext.on{opacity:1;transition:none}.hittext.weak{color:var(--sodium)}.hittext.resist{color:var(--fog)}.toast{font:700 20px/1 var(--head);letter-spacing:.08em;text-transform:uppercase;opacity:0;white-space:nowrap;transition:opacity .4s;position:absolute;bottom:18%;left:50%;transform:translate(-50%)}.toast.on{opacity:1;transition:none}#scope{z-index:4;pointer-events:none;background:radial-gradient(circle,#0000 0 34vh,#0009 34.6vh,#000 36vh);position:fixed;inset:0}#scope i{background:#0a0c0cd9;position:absolute}#scope i:first-child{width:1px;height:68vh;top:calc(50% - 34vh);left:50%}#scope i:nth-child(2){width:68vh;height:1px;top:50%;left:calc(50% - 34vh)}.keys{grid-template-columns:repeat(5,auto)}@media (max-width:900px){.keys{grid-template-columns:repeat(2,auto)}}html,body{touch-action:none;-webkit-user-select:none;-webkit-touch-callout:none;overscroll-behavior:none}#touch{z-index:6;position:fixed;inset:0}.gi{fill:currentColor;stroke:none;pointer-events:none;flex:none;width:26px;height:26px}#stick{transform:translate(-50%, -50%) scale(var(--s,1));pointer-events:none;position:absolute}#touch.editing #stick{pointer-events:auto}#stick-base{background:radial-gradient(circle,#0b11141a 40%,#0b111473);border:2px solid #e6e9e44d;border-radius:50%;position:absolute;inset:0}#stick-knob{background:#e6e9e48c;border-radius:50%;width:46%;height:46%;margin:-23% 0 0 -23%;position:absolute;top:50%;left:50%;box-shadow:0 2px 10px #00000073}#stick.on #stick-knob{background:#e6e9e4cc}#stick-lock{width:44px;height:44px;color:var(--steam);opacity:0;background:#0b111480;border:1.5px solid #e6e9e459;border-radius:50%;place-items:center;margin-left:-22px;transition:opacity .12s;display:grid;position:absolute;top:-52%;left:50%}#stick-lock.show{opacity:.75}#stick-lock.armed,#stick-lock.locked{opacity:1;color:#1a1408;background:var(--sodium);border-color:var(--sodium)}.tb{transform:translate(-50%, -50%) scale(var(--s,1));color:#f0f3eeeb;-webkit-tap-highlight-color:transparent;background:#0b111475;border:1.5px solid #e6e9e457;border-radius:50%;place-items:center;padding:0;display:grid;position:absolute}.tb .gi{width:48%;height:48%}.tb.down{border-color:var(--sodium);color:#fff;background:#f0a64099}.tb.lit{border-color:var(--sodium);color:#fff;background:#f0a6406b}.tb.fire{color:var(--flare);background:#280e0a80;border-color:#ff5a47bf}.tb.fire.down{color:#fff;background:#ff5a4799}.tb.throw{color:var(--sodium)}.tb.flare{color:var(--flare)}.tb.alert{border-color:var(--flare);color:#fff;animation:.45s ease-in-out infinite alternate pulse}@keyframes pulse{0%{background:#ff5a4740}to{background:#ff5a47d9}}.badge{background:var(--steam);color:#10171a;min-width:18px;height:18px;font:500 11px/18px var(--mono);text-align:center;pointer-events:none;border-radius:9px;padding:0 4px;position:absolute;top:-4px;right:-4px}#gunbar{transform:translate(-50%, -50%) scale(var(--s,1));gap:6px;display:flex;position:absolute}.gslot{color:#e6e9e4b3;-webkit-tap-highlight-color:transparent;background:#0b111480;border:1.5px solid #e6e9e442;border-radius:6px;align-content:center;justify-items:center;gap:0;width:62px;height:44px;padding:2px 0 0;display:grid;position:relative}.gslot .gi{width:44px;height:18px}.gslot .am{font:500 11px/1.1 var(--mono);pointer-events:none}.gslot .am b{color:var(--steam);font-weight:500}.gslot .am i{opacity:.6;font-style:normal}.gslot.on{border-color:var(--sodium);color:var(--sodium);background:#281c0a9e}.gslot.on .am b{color:#fff}.gslot.empty .am b{color:var(--flare)}.gslot.reloading{animation:.5s ease-in-out infinite alternate pulse-s}@keyframes pulse-s{0%{opacity:1}to{opacity:.45}}#throw-menu{background:#0b1114b8;border:1.5px solid #e6e9e438;border-radius:30px;gap:8px;padding:8px;display:flex;position:absolute;transform:translate(-50%,-100%)}.tpick{width:46px;height:46px;color:var(--steam);-webkit-tap-highlight-color:transparent;background:#0b111480;border:1.5px solid #e6e9e44d;border-radius:50%;place-items:center;padding:0;display:grid;position:relative}.tpick .gi{width:24px;height:24px}.tpick.on{border-color:var(--sodium);color:var(--sodium)}.tpick.empty{opacity:.4}#touch.editing{touch-action:none;background:#0b11148c}#touch.editing [data-id]{outline-offset:3px;cursor:grab;outline:1.5px dashed #e6e9e473}#touch.editing [data-id].sel{outline:2px solid var(--sodium)}#touch.editing [data-id] *{pointer-events:none}#layout-bar{left:calc(8px + env(safe-area-inset-left));z-index:12;font:600 12px/1 var(--body);color:var(--fog);white-space:nowrap;background:#0b1114e6;border:1px solid #e6e9e433;border-radius:8px;gap:8px;padding:8px 10px;display:grid;position:fixed;top:8px}#lb-name{color:var(--steam);flex:1;min-width:150px}.lrow{align-items:center;gap:10px;display:flex}#layout-bar label{align-items:center;gap:6px;display:flex}#layout-bar input[type=range]{touch-action:auto;width:96px;accent-color:var(--sodium)}#layout-bar button{font:700 12px/1 var(--body);letter-spacing:.08em;text-transform:uppercase;color:var(--steam);background:0 0;border:1px solid #e6e9e459;border-radius:4px;padding:8px 10px}#layout-bar button.primary{background:var(--sodium);border-color:var(--sodium);color:#1a1408}#rotate{z-index:20;background:var(--night);text-align:center;place-content:center;justify-items:center;gap:10px;padding:24px;display:none;position:fixed;inset:0}#rotate .icon{width:72px;height:72px;color:var(--sodium);animation:2.4s ease-in-out infinite tilt}#rotate p{font:800 30px/1 var(--head);text-transform:uppercase;letter-spacing:.04em;margin:8px 0 0}#rotate small{color:var(--fog);font-size:14px}@keyframes tilt{0%,20%{transform:rotate(0)}60%,to{transform:rotate(-90deg)}}@media (orientation:portrait){body.touch #rotate{display:grid}}.touch-tip{color:var(--fog);max-width:420px;margin:0;font-size:13px;display:none}body.touch .touch-tip{display:block}body.touch .keys,body.touch .credits{display:none}body.touch .logo{font-size:clamp(44px,16vh,110px)}body.touch .panel{gap:8px;padding:12px}body.touch .radar{left:calc(10px + env(safe-area-inset-left));gap:4px;top:8px}body.touch #minimap{width:108px;height:108px}body.touch .stealth{width:108px;font-size:9px}body.touch .wave{top:8px}body.touch .wave-num{font-size:30px}body.touch .wave-sub{font-size:11px}body.touch .kills{top:10px;right:calc(16px + env(safe-area-inset-right));font-size:20px}body.touch .vitals{left:calc(132px + env(safe-area-inset-left));transform-origin:0 0;gap:5px;top:10px;bottom:auto;transform:scale(.8)}body.touch .vitals .bar{width:150px}body.touch .hint.dim,body.touch .ammo,body.touch .guns,body.touch .vitals .row.belt{display:none}body.touch .mag{font-size:34px}body.touch .reload{top:40px;bottom:auto;right:0}body.touch .guns{right:calc(16px + env(safe-area-inset-right));top:84px;bottom:auto}body.touch .guns .slot:not(.on),body.touch .guns .slot kbd,body.touch .guns .slot small{display:none}body.touch .banner{white-space:normal;text-align:center;width:80vw;font-size:clamp(20px,7vh,40px);top:22%}body.touch .toast{font-size:15px;bottom:30%}.ghost{font:700 13px/1 var(--body);letter-spacing:.16em;text-transform:uppercase;color:var(--steam);cursor:pointer;background:#0b111466;border:1px solid #e6e9e459;border-radius:3px;padding:10px 16px}.ghost:hover{border-color:var(--sodium);color:var(--sodium)}.primary{font:800 20px/1 var(--head);letter-spacing:.06em;text-transform:uppercase;color:#1a1408;background:var(--sodium);cursor:pointer;border:0;border-radius:3px;padding:12px 26px}.ghost:focus-visible,.primary:focus-visible,.bind button:focus-visible,.seg button:focus-visible{outline:2px solid var(--steam);outline-offset:2px}#settings{z-index:11;touch-action:pan-y;background:#0b1114ed;align-items:start;overflow-y:auto}.panel.settings{text-align:left;justify-items:stretch;gap:18px;width:min(760px,94vw);padding:28px 24px 36px}.panel.settings h2{font:800 40px/1 var(--display);letter-spacing:.02em;text-transform:uppercase;margin:0}.panel.settings section{justify-items:start;gap:10px;display:grid}.panel.settings h3{font:600 11px/1 var(--body);letter-spacing:.3em;text-transform:uppercase;color:var(--sodium);margin:0}.shead{justify-content:space-between;align-items:center;gap:16px;display:flex}.shead .primary{padding:10px 22px;font-size:18px}.binds{grid-template-columns:1fr 1fr;gap:6px 28px;width:100%;display:grid}.bind{color:var(--fog);border-bottom:1px solid #e6e9e414;justify-content:space-between;align-items:center;gap:12px;padding:4px 0;font-size:14px;display:flex}.bind button{min-width:104px;font:500 12px/1 var(--mono);color:var(--steam);cursor:pointer;background:#e6e9e40f;border:1px solid #e6e9e440;border-bottom-width:2px;border-radius:3px;padding:7px 10px}.bind button:hover{border-color:var(--sodium)}.bind button.wait{color:#1a1408;background:var(--sodium);border-color:var(--sodium)}.srow{width:min(520px,100%);color:var(--fog);grid-template-columns:170px 1fr 56px;align-items:center;gap:14px;font-size:14px;display:grid}.srow input[type=range]{width:100%;accent-color:var(--sodium);touch-action:auto}.srow input[type=checkbox]{width:20px;height:20px;accent-color:var(--sodium);justify-self:start}.srow output{font:500 13px/1 var(--mono);color:var(--steam);text-align:right}.seg{display:flex}.seg button{font:700 13px/1 var(--body);letter-spacing:.14em;text-transform:uppercase;color:var(--fog);cursor:pointer;background:#e6e9e40d;border:1px solid #e6e9e440;padding:10px 20px}.seg button+button{border-left:0}.seg button:first-child{border-radius:3px 0 0 3px}.seg button:last-child{border-radius:0 3px 3px 0}.seg button.on{color:#1a1408;background:var(--sodium);border-color:var(--sodium)}.note{color:var(--fog);opacity:.8;margin:0;font-size:12px}.mob{display:none!important}body.touch .mob{display:grid!important}body.touch .desk{display:none!important}body.touch .panel.settings{grid-template-columns:1.3fr 1fr;align-items:start;gap:12px 28px;padding:14px 18px 20px}body.touch .shead{grid-column:1/-1}body.touch .srow{grid-template-columns:120px 1fr 50px}body.touch .panel.settings h2{font-size:26px}@media (max-width:640px){.binds{grid-template-columns:1fr}}
