:root{--ink:#eef1f6;--dim:#9aa3b5;--faint:#5d6578;--line:#ffffff2e;--panel:#090c15e0;color-scheme:dark}*{box-sizing:border-box}html,body{height:100%;color:var(--ink);-webkit-font-smoothing:antialiased;user-select:none;background:#04060c;margin:0;font-family:IBM Plex Mono,ui-monospace,Menlo,monospace;font-size:14px;overflow:hidden}canvas#view{width:100%;height:100%;position:fixed;inset:0}body.playing canvas#view{cursor:none}button,input{font:inherit;color:inherit}button{border:1px solid var(--line);letter-spacing:.18em;cursor:pointer;background:#ffffff08;padding:10px 16px}button:hover{border-color:#fff9}button.primary{background:var(--ink);color:#0a0d16;border-color:var(--ink);font-weight:500}input{border:1px solid var(--line);letter-spacing:.06em;user-select:text;background:#ffffff0a;outline:none;padding:10px 12px}input:focus{border-color:#fff9}kbd{color:var(--dim);border:1px solid var(--faint);padding:0 5px;font-family:inherit;font-size:10px}#menu{pointer-events:none;position:fixed;inset:0}#menu.full,#menu.over{justify-content:center;align-items:center;display:flex}#menu.full{pointer-events:auto;background:radial-gradient(at 50% 40%,#101628bf,#030409f2)}.logo{letter-spacing:.5em;margin-right:-.5em;font-size:44px;font-weight:500}.logo.small{letter-spacing:.42em;font-size:18px}.landing{text-align:center;gap:14px;width:min(560px,92vw);display:grid}.landing .tag{color:var(--dim);margin-bottom:14px}.landing label{text-align:left;letter-spacing:.26em;color:var(--dim);gap:6px;font-size:11px;display:grid}.guns{grid-template-columns:repeat(3,1fr);gap:8px;display:grid}.gun{text-align:left;letter-spacing:.04em;justify-items:start;gap:6px;padding:12px;display:grid}.gun b{letter-spacing:.2em;font-weight:500}.gun span{color:var(--dim);font-size:11px}.gun.on{border-color:var(--ink);background:#ffffff14}.landing .row{gap:8px;display:flex}.landing .row input{flex:1}.landing .room{color:var(--dim);letter-spacing:.24em}.landing .room b{color:var(--ink)}.notice{color:#ffb39a;border:1px solid #ff785080;padding:10px}.score{background:var(--panel);border:1px solid var(--line);width:min(620px,92vw);padding:24px 28px}.score .head{color:var(--dim);letter-spacing:.22em;justify-content:space-between;align-items:center;margin-bottom:18px;font-size:11px;display:flex}.result{letter-spacing:.14em;font-size:32px}.sub{color:var(--dim);letter-spacing:.1em;margin:6px 0 18px}table{border-collapse:collapse;width:100%}th,td{text-align:right;font-variant-numeric:tabular-nums;padding:8px 10px}th{color:var(--faint);letter-spacing:.2em;border-bottom:1px solid var(--line);font-size:10px;font-weight:400}td:first-child,th:first-child{text-align:left}td i{border-radius:50%;width:8px;height:8px;margin-right:10px;display:inline-block}td em{color:var(--faint);font-size:11px;font-style:normal}tr.me td{background:#ffffff0f}.share{color:var(--faint);margin-top:16px;font-size:12px}.share span{color:var(--dim);user-select:text}#hud{pointer-events:none;text-shadow:0 1px 6px #000000d9;display:none;position:fixed;inset:0}#hud.on{display:block}#tl,#tc,#tr,#bl,#br,#banner,#respawn,#status,#help{zoom:var(--hud,1)}#tl{position:absolute;top:20px;left:22px}#tl .brand{letter-spacing:.5em;font-size:16px}#floor{letter-spacing:.26em;color:var(--dim);margin:6px 0 14px;font-size:10px}#tc{letter-spacing:.24em;font-variant-numeric:tabular-nums;font-size:22px;position:absolute;top:20px;left:50%;transform:translate(-50%)}#tr{justify-items:end;gap:6px;font-size:14px;display:grid;position:absolute;top:22px;right:24px}#tr div{padding:3px 8px}#tr .mine{background:#ffffff14}#tr em{color:var(--dim);letter-spacing:.16em;margin:0 10px;font-size:10px;font-style:normal}#tr b{font-weight:500}.label{white-space:nowrap;font-size:12px;transition:opacity .2s;position:absolute;top:0;left:0}#bl{position:absolute;bottom:28px;left:26px}.hp{letter-spacing:.26em;color:var(--dim);gap:8px;font-size:11px;display:grid}#hpbar{border:1px solid #fff6;width:280px;height:10px}#hpbar i{background:var(--ink);height:100%;transition:width .12s;display:block}#hpbar.low i{background:#ff3b30}#br{text-align:right;justify-items:end;gap:4px;display:grid;position:absolute;bottom:26px;right:28px}#gname{letter-spacing:.3em;color:var(--dim);font-size:12px}#ammo{font-variant-numeric:tabular-nums;letter-spacing:.06em}#mag{font-size:44px;font-weight:500}#mag.empty{color:#ff3b30}#magmax{color:var(--dim);margin-left:6px;font-size:16px}#rbar{background:#ffffff1a;width:160px;height:2px}#rbar i{background:var(--ink);height:100%;display:block}#equip{letter-spacing:.24em;align-items:center;gap:8px;margin-top:6px;font-size:12px;display:flex}#equip .out{color:var(--faint)}#banner{letter-spacing:.3em;white-space:nowrap;font-size:20px;position:absolute;top:30%;left:50%;transform:translate(-50%)}#respawn{text-align:center;white-space:nowrap;position:absolute;bottom:18%;left:50%;transform:translate(-50%)}#respawn .rt{letter-spacing:.26em;margin-bottom:14px;font-size:22px}#respawn .picks{letter-spacing:.2em;color:var(--dim);justify-content:center;gap:18px;font-size:12px;display:flex}#respawn .picks span{align-items:center;gap:8px;display:flex}#respawn .picks .on{color:var(--ink)}#respawn .picks+.picks{margin-top:10px}#respawn .next{letter-spacing:.24em;color:var(--dim);font-size:11px}#xh{--s:8px;position:absolute;top:0;left:0}#xh>i{background:#fff;position:absolute;box-shadow:0 0 2px #000000e6}#xh .l,#xh .r{width:9px;height:2px;top:-1px}#xh .t,#xh .b{width:2px;height:9px;left:-1px}#xh .l{left:calc(-9px - var(--s))}#xh .r{left:var(--s)}#xh .t{top:calc(-9px - var(--s))}#xh .b{top:var(--s)}#hm{opacity:0;--m:9px;position:absolute;top:0;left:0}#hm i{background:#fff;width:10px;height:2px;position:absolute;top:-1px;left:-5px;box-shadow:0 0 3px #000000e6}#hm.kill i{background:#ff2d2d;width:14px;height:3px;left:-7px}#hm i:first-child{transform:rotate(45deg) translateX(calc(var(--m)))}#hm i:nth-child(2){transform:rotate(135deg) translateX(calc(var(--m)))}#hm i:nth-child(3){transform:rotate(225deg) translateX(calc(var(--m)))}#hm i:nth-child(4){transform:rotate(315deg) translateX(calc(var(--m)))}#status{color:#ffb39a;letter-spacing:.14em;font-size:12px;position:absolute;top:60px;left:50%;transform:translate(-50%)}#help{color:var(--faint);letter-spacing:.12em;font-size:10px;position:absolute;bottom:8px;left:50%;transform:translate(-50%)}.stats{color:var(--faint);letter-spacing:.14em;min-height:14px;font-size:11px}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(./ibm-plex-mono-cyrillic-ext-400-normal-xuaO2J-f.woff2)format("woff2"),url(./ibm-plex-mono-cyrillic-ext-400-normal-DMdlQ8Kv.woff)format("woff");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(./ibm-plex-mono-cyrillic-400-normal-BSMlKf0J.woff2)format("woff2"),url(./ibm-plex-mono-cyrillic-400-normal-CEL4l2ZJ.woff)format("woff");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(./ibm-plex-mono-vietnamese-400-normal-BulugwFq.woff2)format("woff2"),url(./ibm-plex-mono-vietnamese-400-normal-DDuiU_S-.woff)format("woff");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(./ibm-plex-mono-latin-ext-400-normal-BmRBH3aV.woff2)format("woff2"),url(./ibm-plex-mono-latin-ext-400-normal-D3D2R8hC.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(./ibm-plex-mono-latin-400-normal-DMJ8VG8y.woff2)format("woff2"),url(./ibm-plex-mono-latin-400-normal-CvHOgSBP.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:500;src:url(./ibm-plex-mono-cyrillic-ext-500-normal-BqneJy0T.woff2)format("woff2"),url(./ibm-plex-mono-cyrillic-ext-500-normal-BIfNGwUT.woff)format("woff");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:500;src:url(./ibm-plex-mono-cyrillic-500-normal-Bq9vWWag.woff2)format("woff2"),url(./ibm-plex-mono-cyrillic-500-normal-Ael50iVv.woff)format("woff");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:500;src:url(./ibm-plex-mono-vietnamese-500-normal-DZ4AoWbu.woff2)format("woff2"),url(./ibm-plex-mono-vietnamese-500-normal-C8zxqsMH.woff)format("woff");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:500;src:url(./ibm-plex-mono-latin-ext-500-normal-CAhNIIs5.woff2)format("woff2"),url(./ibm-plex-mono-latin-ext-500-normal-CZ70TYgx.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:500;src:url(./ibm-plex-mono-latin-500-normal-DSY6xOcd.woff2)format("woff2"),url(./ibm-plex-mono-latin-500-normal-CB9ihrfo.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}#veh{gap:7px;margin-bottom:14px;display:grid}#veh:empty{display:none}#veh .vl{letter-spacing:.26em;gap:18px;font-size:11px;display:flex}#veh .vl span{color:var(--dim)}#veh .vbar{gap:4px;display:flex}#veh .vbar i{border:1px solid #fff6;width:24px;height:10px}#veh .vbar i.on{background:var(--ink)}#veh .vbar.low i.on{background:#ff3b30}#veh .vk{letter-spacing:.2em;color:var(--dim);font-size:10px}#vprompt{letter-spacing:.22em;white-space:nowrap;opacity:0;pointer-events:none;font-size:12px;transition:opacity .15s;position:absolute;top:0;left:0}#vprompt span{color:var(--dim);margin-left:8px}#menu.over .score{pointer-events:auto}.hosttag{color:#ffd27a;letter-spacing:.18em;margin-left:10px;font-size:10px}td.mv{white-space:nowrap;width:1%}td.mv button{letter-spacing:.16em;background:#ffffff0a;padding:3px 8px;font-size:10px}.hostbar{color:var(--faint);letter-spacing:.06em;justify-content:space-between;align-items:center;gap:12px;margin-top:14px;font-size:11px;display:flex}.hostbar button{padding:6px 12px;font-size:11px}.hostctl{border-top:1px solid var(--line);margin-top:16px;padding-top:12px}.hostctl .hh{color:var(--faint);letter-spacing:.06em;align-items:baseline;gap:12px;margin-bottom:8px;font-size:11px;display:flex}.hostctl .hh b{color:#ffd27a;letter-spacing:.22em;font-weight:500}.hostctl .hrow{gap:6px;margin-bottom:6px;display:flex}.hostctl .hrow button{padding:6px 12px;font-size:11px}.hostctl .floor{color:var(--dim)}.hostctl .floor.on{color:var(--ink)}.hmodes{grid-template-columns:repeat(10,1fr);gap:4px;display:grid}.hmodes button{letter-spacing:.06em;color:var(--dim);white-space:nowrap;padding:5px 0;font-size:10px}.hmodes button.on{color:var(--ink);border-color:var(--ink);background:#ffffff14}.hostctl button.armed{color:#0a0d16;background:#ffd27a;border-color:#ffd27a}.mappick{grid-template-columns:repeat(3,1fr);gap:5px;margin-top:-6px;display:grid}.mappick button,.hmaps button{letter-spacing:.08em;color:var(--dim);white-space:nowrap;padding:6px 0;font-size:11px}.mappick button.on,.hmaps button.on{color:var(--ink);border-color:var(--ink);background:#ffffff14}.hmaps{grid-template-columns:auto repeat(3,1fr);align-items:center;gap:4px;margin-top:6px;display:grid}.hmaps span{color:var(--faint);letter-spacing:.2em;padding-right:6px;font-size:10px}.hmaps button{padding:5px 0;font-size:10px}#mtop,#mbar,#mhint,#mintro,#mspec{zoom:var(--hud,1)}#mtop{white-space:nowrap;justify-items:center;gap:6px;display:grid;position:absolute;top:54px;left:50%;transform:translate(-50%)}#mtop .scores{font-variant-numeric:tabular-nums;align-items:baseline;gap:14px;display:flex}#mtop .scores b{min-width:44px;font-size:22px;font-weight:500}#mtop .scores b:first-child{text-align:right}#mtop .scores b.mine{text-underline-offset:5px;text-decoration:underline}#mtop .tgt{color:var(--faint);letter-spacing:.2em;font-size:11px}#mtop .pts{gap:8px;display:flex}#mtop .pts span{background:#00000059;border:2px solid;place-items:center;width:30px;height:30px;display:grid;position:relative;overflow:hidden}#mtop .pts span i{opacity:.45;height:100%;position:absolute;bottom:0;left:0}#mtop .pts em{font-size:14px;font-style:normal;font-weight:500;position:relative}#mtop .pts .hot{animation:.5s steps(2,end) infinite mhot}@keyframes mhot{50%{border-color:#ff5040!important}}#mtop .snd{letter-spacing:.2em;align-items:center;gap:14px;font-size:11px;display:flex}#mtop .dots{letter-spacing:.12em;font-size:12px}#mtop .role,#mtop .bomb{color:var(--dim)}#mtop .bomb.hot{color:#ff5040;font-variant-numeric:tabular-nums;font-size:13px}#mbar{letter-spacing:.26em;justify-items:center;gap:6px;font-size:11px;transition:opacity .15s;display:grid;position:absolute;top:62%;left:50%;transform:translate(-50%)}#mbar .track{border:1px solid #ffffff73;width:220px;height:6px}#mbar .track i{background:var(--ink);height:100%;display:block}#mhint{letter-spacing:.24em;color:var(--dim);white-space:nowrap;font-size:12px;position:absolute;top:66%;left:50%;transform:translate(-50%)}#mintro{white-space:nowrap;opacity:0;justify-items:center;gap:8px;display:grid;position:absolute;top:20%;left:50%;transform:translate(-50%)}#mintro b{letter-spacing:.36em;margin-right:-.36em;font-size:30px;font-weight:500}#mintro span{color:var(--dim);letter-spacing:.28em;text-transform:uppercase;font-size:12px}#mspec{letter-spacing:.24em;white-space:nowrap;justify-items:center;gap:8px;font-size:18px;display:grid;position:absolute;bottom:30%;left:50%;transform:translate(-50%)}#mspec b{font-weight:500}#mspec span{color:var(--faint);font-size:11px}.olabel{letter-spacing:.1em;white-space:nowrap;font-size:18px;font-weight:500;transition:opacity .2s;position:absolute;top:0;left:0}#mtop .obj{letter-spacing:.2em;color:var(--dim);font-variant-numeric:tabular-nums;align-items:center;gap:14px;font-size:11px;display:flex}#mtop .obj b{font-weight:500}#mtop .obj em{color:var(--dim);font-style:normal}#mtop .obj .hot{animation:.6s steps(2,end) infinite mblink}@keyframes mblink{50%{opacity:.45}}.oarrow{letter-spacing:.18em;white-space:nowrap;text-shadow:0 0 6px #000000e6;justify-items:center;gap:4px;font-size:10px;transition:opacity .2s;display:grid;position:absolute;top:0;left:0}.oarrow i{border-top:7px solid #0000;border-bottom:7px solid #0000;border-left:14px solid;width:0;height:0}.modepick{grid-template-columns:repeat(5,1fr);gap:5px;margin-top:-6px;display:grid}.modepick button{letter-spacing:.08em;color:var(--dim);white-space:nowrap;padding:6px 0;font-size:11px}.modepick button.on{color:var(--ink);border-color:var(--ink);background:#ffffff14}.modeblurb{color:var(--faint);letter-spacing:.06em;min-height:2.8em;margin-top:-6px;font-size:11px}.modeblurb b{color:var(--dim);letter-spacing:.2em;margin-bottom:2px;font-weight:500;display:block}tr.team td{border-bottom:1px solid var(--line);letter-spacing:.22em;padding-top:14px;font-size:12px}tr.team td b{font-weight:500}tr.team td span{float:right;color:var(--dim);font-variant-numeric:tabular-nums}.vote{margin-top:18px}.vote .vh{letter-spacing:.24em;color:var(--dim);margin-bottom:8px;font-size:11px}.vote .vh span{color:var(--faint);letter-spacing:.08em;margin-left:8px}.vopts{grid-template-columns:repeat(2,1fr);gap:6px;display:grid}.vopts button{text-align:left;letter-spacing:.12em;align-items:center;gap:10px;font-size:12px;display:flex}.vopts button b{flex:1;font-weight:500}.vopts button b small{color:var(--faint);letter-spacing:.2em;margin-top:2px;font-size:9px;font-weight:400;display:block}.vopts button em{color:var(--ink);font-variant-numeric:tabular-nums;font-size:16px;font-style:normal}.vopts button.on{border-color:var(--ink);background:#ffffff1a}
