@font-face{font-family:PressStart2P;src:url(/assets/fonts/PressStart2P-Regular.ttf)format("truetype");font-weight:400;font-style:normal;font-display:swap}*{box-sizing:border-box;margin:0;padding:0}html,body{width:100%;height:100%;overflow:hidden}body{color:#fff;touch-action:none;-webkit-user-select:none;user-select:none;background:#000;font-family:monospace}#viewport{perspective:var(--perspective);perspective-origin:50%;position:fixed;inset:0;overflow:hidden}#loading-overlay{image-rendering:pixelated;z-index:10000;pointer-events:none;opacity:0;background:#000 url(/assets/menu/M_DOOM.png) 50%/328px 160px no-repeat;transition:opacity .6s ease-out;position:fixed;inset:0}#loading-overlay.visible{opacity:1;transition:none}#loading-overlay.level-transition{background-image:none;transition:opacity .6s ease-out}#loading-overlay.level-transition.visible{transition:opacity .6s ease-in}@property --player-z{syntax:"<number>";inherits:true;initial-value:0}#scene{pointer-events:none;width:0;height:0;transform-style:preserve-3d;position:absolute;top:50%;left:50%}#scene *{transform-style:preserve-3d;backface-visibility:hidden;image-rendering:pixelated;position:absolute}#scene .ceiling,#scene .platform .floor{backface-visibility:visible}.sector{width:0;height:0;top:0;left:0}@property --z{syntax:"<number>";inherits:false;initial-value:0}@property --light{syntax:"<number>";inherits:true;initial-value:1}#viewport{background:url(/assets/textures/SKY1.png) 0 0/auto 70% repeat-x;background-position-x:calc(var(--player-angle) * 163px), 0;image-rendering:pixelated}#viewport:after{content:"";opacity:0;pointer-events:none;z-index:-1;background:#222;transition:opacity .5s 1s;position:absolute;inset:0}.wall{--x:calc((var(--start-x) + var(--end-x)) / 2);--y:calc((var(--start-y) + var(--end-y)) / 2);--delta-x:calc(var(--end-x) - var(--start-x));--delta-y:calc(var(--end-y) - var(--start-y));width:calc(hypot(var(--delta-x), var(--delta-y)) * 1px);height:calc((var(--ceiling-z) - var(--floor-z)) * 1px);background-repeat:repeat;background-position:calc(var(--texture-offset-x,0) * -1px) calc(var(--texture-offset-y,0) * -1px);transform-origin:0 0;transform:translate3d(calc(var(--start-x) * 1px), calc(var(--ceiling-z) * -1px), calc(var(--start-y) * -1px)) rotateY(atan2(var(--delta-y), var(--delta-x)));filter:brightness(var(--light,1))}body.show-wall-ids .wall{color:#fff;text-shadow:0 0 2px #000,0 0 2px #000;padding:2px;font-size:12px;overflow:hidden}button.wall{cursor:default;appearance:none;border:none;padding:0}@property --scroll-offset{syntax:"<length>";inherits:false;initial-value:0}@keyframes scroll-texture{0%{--scroll-offset:0px}to{--scroll-offset:-128px}}body.scroll-textures .wall.scroll-texture{background-position-x:calc(var(--texture-offset-x,0) * -1px + var(--scroll-offset));animation:3.66s linear infinite scroll-texture}.wall.unpegged{background-position-y:calc(100% + var(--texture-offset-y,0) * -1px)}.sky-wall{filter:none;display:none}body.show-sky-walls .sky-wall{background:#ff69b4;display:block}.floor{--x:calc((var(--min-x) + var(--max-x)) / 2);--y:calc((var(--min-y) + var(--max-y)) / 2);width:calc((var(--max-x) - var(--min-x)) * 1px);height:calc((var(--max-y) - var(--min-y)) * 1px);background-repeat:repeat;background-size:64px 64px;background-position:calc(var(--min-x) * -1px) calc(var(--max-y) * 1px);transform-origin:50%;transform:translate3d(calc(var(--min-x) * 1px), calc((var(--floor-z) + (var(--max-y) - var(--min-y)) / 2) * -1px), calc((var(--min-y) + var(--max-y)) / 2 * -1px)) rotateX(90deg);filter:brightness(var(--light,1))}@keyframes nukage{0%,33%{background-image:url(/assets/flats/NUKAGE1.png)}33%,66%{background-image:url(/assets/flats/NUKAGE2.png)}66%,to{background-image:url(/assets/flats/NUKAGE3.png)}}body.animated-flats .floor[data-texture^=NUKAGE]{animation:1s step-end infinite nukage}.ceiling{--x:calc((var(--min-x) + var(--max-x)) / 2);--y:calc((var(--min-y) + var(--max-y)) / 2);width:calc((var(--max-x) - var(--min-x)) * 1px);height:calc((var(--max-y) - var(--min-y)) * 1px);background-repeat:repeat;background-size:64px 64px;background-position:calc(var(--min-x) * -1px) calc(var(--max-y) * 1px);transform-origin:50%;transform:translate3d(calc(var(--min-x) * 1px), calc((var(--ceiling-z) + (var(--max-y) - var(--min-y)) / 2) * -1px), calc((var(--min-y) + var(--max-y)) / 2 * -1px)) rotateX(90deg);filter:brightness(var(--light,1))}.door{width:0;height:0;top:0;left:0}.door>.panel{width:0;height:0;transition:transform 1s ease-in-out;top:0;left:0;transform:translateY(0)}.door[data-state=open]>.panel{transform:translateY(var(--offset))}.lift{width:0;height:0;top:0;left:0}.platform{width:0;height:0;transition:transform 1s ease-in-out;top:0;left:0;transform:translateY(0)}.platform[data-state=lowered]{transform:translateY(var(--offset))}.crusher{width:0;height:0;transform:translateY(calc(var(--crusher-offset,0) * 1px));top:0;left:0}@keyframes light-glow{0%,to{--light:.75}50%{--light:1}}@keyframes light-blink{0%,49%{--light:1}50%,to{--light:.5}}@keyframes light-blink-fast{0%,49%{--light:1}50%,to{--light:.5}}@keyframes light-fire-flicker{0%,7%{--light:1}8%,15%{--light:.6}16%,23%{--light:.9}24%,31%{--light:.5}32%,47%{--light:1}48%,55%{--light:.7}56%,63%{--light:.85}64%,71%{--light:.55}72%,79%{--light:1}80%,87%{--light:.65}88%,to{--light:.9}}@keyframes light-flicker{0%,4%{--light:1}5%,8%{--light:.5}9%,50%{--light:1}51%,54%{--light:.5}55%,70%{--light:1}71%,73%{--light:.5}74%,to{--light:1}}body.sector-lights .light-glow{animation:1s ease-in-out infinite light-glow}body.sector-lights .light-blink{animation:1s step-end infinite light-blink}body.sector-lights .light-blink-fast{animation:.5s step-end infinite light-blink-fast}body.sector-lights .light-flicker{animation:2s step-end infinite light-flicker}body.sector-lights .light-fire-flicker{animation:1.5s step-end infinite light-fire-flicker}body.light-falloff #scene{--camera-forward-x:calc(sin(calc(var(--player-angle) * 57.2958deg)) * -1);--camera-forward-y:cos(calc(var(--player-angle) * 57.2958deg))}body.light-falloff .wall,body.light-falloff .floor,body.light-falloff .ceiling,body.light-falloff .enemy,body.light-falloff .barrel,body.light-falloff .pickup,body.light-falloff .decoration{--view-depth:calc((var(--x) - var(--player-x)) * var(--camera-forward-x) + (var(--y) - var(--player-y)) * var(--camera-forward-y));--light-falloff:clamp(.15, calc(1 - var(--view-depth) / 1500), 1)}body.light-falloff .wall,body.light-falloff .floor,body.light-falloff .ceiling,body.light-falloff .decoration img,body.light-falloff .sprite{filter:brightness(calc(var(--light,1) * var(--light-falloff)))}@property --cull-x{syntax:"<number>";inherits:false;initial-value:0}@property --cull-y{syntax:"<number>";inherits:false;initial-value:0}@property --cull-dist-sq{syntax:"<number>";inherits:false;initial-value:0}@keyframes cull-toggle{0%,49.9%{visibility:visible}50%,to{visibility:hidden}}@property --cull-beyond{syntax:"<number>";inherits:false;initial-value:0}body.css-distance-culling{--max-render-dist-sq:calc(2500 * 2500)}body.css-distance-culling .wall,body.css-distance-culling .floor,body.css-distance-culling .ceiling,body.css-distance-culling .enemy,body.css-distance-culling .barrel,body.css-distance-culling .pickup,body.css-distance-culling .decoration{--cull-x:calc(var(--x) - var(--player-x));--cull-y:calc(var(--y) - var(--player-y));--cull-dist-sq:calc(var(--cull-x) * var(--cull-x) + var(--cull-y) * var(--cull-y));--cull-beyond:clamp(0, calc(var(--cull-dist-sq) - var(--max-render-dist-sq)), 1);animation:1s step-end paused cull-toggle;animation-delay:calc(var(--cull-beyond) * -.5s)}@supports (display:if(style(--cull-beyond: 0): block; else: none)){body.css-distance-culling .wall,body.css-distance-culling .floor,body.css-distance-culling .ceiling,body.css-distance-culling .enemy,body.css-distance-culling .barrel,body.css-distance-culling .pickup,body.css-distance-culling .decoration{display:if(style(--cull-beyond: 0): block; else: none);animation:none}}@property --fov-tangent{syntax:"<number>";inherits:true;initial-value:1}@property --cull-depth{syntax:"<number>";inherits:false;initial-value:0}@property --cull-lateral{syntax:"<number>";inherits:false;initial-value:0}@property --cull-abs-lateral{syntax:"<number>";inherits:false;initial-value:0}@property --cull-outside{syntax:"<number>";inherits:false;initial-value:0}@property --cull-far{syntax:"<number>";inherits:false;initial-value:0}@property --cull-radius{syntax:"<number>";inherits:false;initial-value:0}@property --cull-any{syntax:"<number>";inherits:false;initial-value:0}body.css-frustum-culling{--max-render-dist-sq:calc(2500 * 2500)}body.css-frustum-culling #scene{--cam-fx:calc(sin(calc(var(--player-angle) * 57.2958deg)) * -1);--cam-fy:cos(calc(var(--player-angle) * 57.2958deg));--cam-rx:cos(calc(var(--player-angle) * 57.2958deg));--cam-ry:sin(calc(var(--player-angle) * 57.2958deg));--fov-tangent:calc(tan(atan2(50vw, var(--perspective))) + .15)}body.css-frustum-culling .wall{--cull-radius:calc(hypot(var(--end-x) - var(--start-x), var(--end-y) - var(--start-y)) / 2)}body.css-frustum-culling .floor,body.css-frustum-culling .ceiling{--cull-radius:calc(hypot(var(--max-x) - var(--min-x), var(--max-y) - var(--min-y)) / 2)}body.css-frustum-culling .wall,body.css-frustum-culling .floor,body.css-frustum-culling .ceiling,body.css-frustum-culling .enemy,body.css-frustum-culling .barrel,body.css-frustum-culling .pickup,body.css-frustum-culling .decoration{--cull-x:calc(var(--x) - var(--player-x));--cull-y:calc(var(--y) - var(--player-y));--cull-depth:calc(var(--cull-x) * var(--cam-fx) + var(--cull-y) * var(--cam-fy));--cull-lateral:calc(var(--cull-x) * var(--cam-rx) + var(--cull-y) * var(--cam-ry));--cull-abs-lateral:max(var(--cull-lateral), calc(var(--cull-lateral) * -1));--cull-outside:clamp(0, calc((var(--cull-abs-lateral) - var(--cull-depth) * var(--fov-tangent) - var(--cull-radius)) * 1000), 1);--cull-dist-sq:calc(var(--cull-x) * var(--cull-x) + var(--cull-y) * var(--cull-y));--cull-far:clamp(0, calc(var(--cull-dist-sq) - var(--max-render-dist-sq)), 1);--cull-any:clamp(0, calc((var(--cull-outside) + var(--cull-far)) * 1000), 1);animation:1s step-end paused cull-toggle;animation-delay:calc(var(--cull-any) * -.5s)}@supports (display:if(style(--cull-any: 0): block; else: none)){body.css-frustum-culling .wall,body.css-frustum-culling .floor,body.css-frustum-culling .ceiling,body.css-frustum-culling .enemy,body.css-frustum-culling .barrel,body.css-frustum-culling .pickup,body.css-frustum-culling .decoration{display:if(style(--cull-any: 0): block; else: none);animation:none}}.switch:after{content:"";background-size:inherit;background-position:inherit;background-repeat:inherit;opacity:0;position:absolute;inset:0}.switch[data-state=on]:after{opacity:1}.switch[data-texture=SW1BRCOM]:after{background-image:url(/assets/textures/SW2BRCOM.png)}.switch[data-texture=SW1BRN1]:after{background-image:url(/assets/textures/SW2BRN1.png)}.switch[data-texture=SW1BRN2]:after{background-image:url(/assets/textures/SW2BRN2.png)}.switch[data-texture=SW1BRNGN]:after{background-image:url(/assets/textures/SW2BRNGN.png)}.switch[data-texture=SW1BROWN]:after{background-image:url(/assets/textures/SW2BROWN.png)}.switch[data-texture=SW1COMM]:after{background-image:url(/assets/textures/SW2COMM.png)}.switch[data-texture=SW1COMP]:after{background-image:url(/assets/textures/SW2COMP.png)}.switch[data-texture=SW1DIRT]:after{background-image:url(/assets/textures/SW2DIRT.png)}.switch[data-texture=SW1EXIT]:after{background-image:url(/assets/textures/SW2EXIT.png)}.switch[data-texture=SW1GRAY]:after{background-image:url(/assets/textures/SW2GRAY.png)}.switch[data-texture=SW1GRAY1]:after{background-image:url(/assets/textures/SW2GRAY1.png)}.switch[data-texture=SW1METAL]:after{background-image:url(/assets/textures/SW2METAL.png)}.switch[data-texture=SW1PIPE]:after{background-image:url(/assets/textures/SW2PIPE.png)}.switch[data-texture=SW1SLAD]:after{background-image:url(/assets/textures/SW2SLAD.png)}.switch[data-texture=SW1STARG]:after{background-image:url(/assets/textures/SW2STARG.png)}.switch[data-texture=SW1STON1]:after{background-image:url(/assets/textures/SW2STON1.png)}.switch[data-texture=SW1STON2]:after{background-image:url(/assets/textures/SW2STON2.png)}.switch[data-texture=SW1STONE]:after{background-image:url(/assets/textures/SW2STONE.png)}.switch[data-texture=SW1STRTN]:after{background-image:url(/assets/textures/SW2STRTN.png)}@keyframes sprite-cycle{0%{background-position-x:0}to{background-position-x:calc(var(--w) * var(--frames) * -1px)}}@keyframes sprite-stop{0%{background-position-x:0}to{background-position-x:calc(var(--w) * (1 - var(--frames)) * 1px)}}@keyframes sprite-hide{0%{background-position-x:0}to{background-position-x:calc(var(--w) * (1 - var(--frames)) * 1px);visibility:hidden}}.sprite{--heading:0;--rows:1;width:calc(var(--w) * 1px);height:calc(var(--h) * 1px);background-repeat:no-repeat;background-size:calc(var(--w) * var(--cols,var(--frames)) * 1px) calc(var(--h) * var(--rows) * 1px);background-position-y:calc(var(--heading) * var(--h) * -1px);animation:sprite-cycle calc(var(--frames) * .25s) steps(var(--frames)) infinite}.sprite[data-state=attacking]{animation:sprite-stop .6s steps(calc(var(--frames) - 1)) forwards}.sprite[data-state=dead]{animation:sprite-stop calc(var(--frames) * .1s) steps(calc(var(--frames) - 1)) forwards}.enemy,.barrel,.pickup,.decoration{width:0;height:0;transform:translate3d(calc(var(--x) * 1px), calc(var(--floor-z) * -1px), calc(var(--y) * -1px))}.enemy{transition:--floor-z .4s ease-out}.pickup.collected{visibility:hidden}.decoration img,.pickup img,.sprite{transform-origin:50% 100%;transform:translateX(-50%) rotateY(calc(var(--player-angle) * 57.2958deg)) scaleX(var(--mirror,1));filter:brightness(var(--light,1));bottom:0}.sprite[data-type=soulsphere]{--w:25;--h:25;--frames:4;background-image:url(/assets/sprites/sheets/SOUL.png)}.sprite[data-type=health-bonus]{--w:14;--h:18;--frames:4;background-image:url(/assets/sprites/sheets/BON1.png)}.sprite[data-type=armor-bonus]{--w:16;--h:15;--frames:4;background-image:url(/assets/sprites/sheets/BON2.png)}.sprite[data-type=green-armor]{--w:31;--h:17;--frames:2;background-image:url(/assets/sprites/sheets/ARM1.png)}.sprite[data-type=blue-armor]{--w:31;--h:17;--frames:2;background-image:url(/assets/sprites/sheets/ARM2.png)}.sprite[data-type=invisibility]{--w:25;--h:25;--frames:4;background-image:url(/assets/sprites/sheets/PINS.png)}.projectile{rotate:y calc(var(--player-angle) * 57.2958deg);animation:projectile-move var(--duration) linear both, projectile-glow .15s ease-in-out infinite alternate;background-repeat:no-repeat}@keyframes projectile-move{0%{translate:calc(var(--start-x) * 1px) calc(var(--start-z) * -1px) calc(var(--start-y) * -1px)}to{translate:calc(var(--end-x) * 1px) calc(var(--end-z) * -1px) calc(var(--end-y) * -1px)}}@keyframes projectile-glow{0%{filter:brightness(1.8)}to{filter:brightness(2.5)}}.puff{transform-origin:50%;width:15px;height:15px;transform:translate3d(calc(var(--x) * 1px), calc(var(--z) * -1px), calc(var(--y) * -1px)) translate(-50%, -50%) rotateY(calc(var(--player-angle) * 57.2958deg));background:url(/assets/sprites/PUFF_SHEET.png) 0 0/60px 15px no-repeat;animation:.2s steps(3,end) forwards puff}@keyframes puff{0%{background-position-x:0}to{background-position-x:-45px}}.fireball-explosion{transform-origin:50%;width:50px;height:44px;transform:translate3d(calc(var(--x) * 1px - 25px), calc(var(--z) * -1px - 22px), calc(var(--y) * -1px)) rotateY(calc(var(--player-angle) * 57.2958deg));image-rendering:pixelated;animation:.3s step-end forwards fireball-explode}@keyframes fireball-explode{0%,33%{background:url(/assets/sprites/BAL1C0.png) 50%/contain no-repeat}33%,66%{background:url(/assets/sprites/BAL1D0.png) 50%/contain no-repeat}66%,to{background:url(/assets/sprites/BAL1E0.png) 50%/contain no-repeat}}.teleport-fog{transform-origin:50% 100%;width:42px;height:56px;transform:translate3d(calc(var(--x) * 1px), calc(var(--z) * -1px), calc(var(--y) * -1px)) translateX(-50%) rotateY(calc(var(--player-angle) * 57.2958deg));image-rendering:pixelated;animation:1.714s step-end forwards teleport-fog}@keyframes teleport-fog{0%{background:url(/assets/sprites/TFOGA0.png) bottom/contain no-repeat}10%{background:url(/assets/sprites/TFOGB0.png) bottom/contain no-repeat}20%{background:url(/assets/sprites/TFOGC0.png) bottom/contain no-repeat}30%{background:url(/assets/sprites/TFOGD0.png) bottom/contain no-repeat}40%{background:url(/assets/sprites/TFOGE0.png) bottom/contain no-repeat}50%{background:url(/assets/sprites/TFOGF0.png) bottom/contain no-repeat}60%{background:url(/assets/sprites/TFOGG0.png) bottom/contain no-repeat}70%{background:url(/assets/sprites/TFOGH0.png) bottom/contain no-repeat}80%{background:url(/assets/sprites/TFOGI0.png) bottom/contain no-repeat}90%{background:url(/assets/sprites/TFOGJ0.png) bottom/contain no-repeat}to{background:0 0}}.sprite[data-type=zombieman]{--w:48;--h:55;--cols:5;--frames:2;--rows:7;background-image:url(/assets/sprites/sheets/POSS.png)}.sprite[data-type=shotgun-guy]{--w:52;--h:60;--cols:5;--frames:2;--rows:7;background-image:url(/assets/sprites/sheets/SPOS.png)}.sprite[data-type=imp]{--w:58;--h:62;--cols:5;--frames:2;--rows:7;background-image:url(/assets/sprites/sheets/TROO.png)}.sprite[data-type=demon]{--w:64;--h:59;--cols:6;--frames:2;--rows:7;background-image:url(/assets/sprites/sheets/SARG.png)}.sprite[data-type=spectre]{--w:64;--h:59;--cols:6;--frames:2;--rows:7;filter:url(#fuzz);opacity:.35;background-image:url(/assets/sprites/sheets/SARG.png)}.sprite[data-type=spectre][data-state=dead]{filter:none}.sprite[data-type=baron]{--w:69;--h:74;--cols:7;--frames:2;--rows:7;background-image:url(/assets/sprites/sheets/BOSS.png)}.sprite[data-type=barrel]{--w:60;--h:53;--cols:5;--frames:2;--rows:2;background-image:url(/assets/sprites/sheets/BAR1.png)}.barrel .sprite[data-state=dead]{animation-name:sprite-hide}.sprite[data-type=red-torch]{--w:26;--h:97;--frames:4;background-image:url(/assets/sprites/sheets/TRED.png)}#renderer.dead #viewport{filter:sepia(.5)saturate(2)hue-rotate(-20deg);transition:filter 1s}#renderer.dead #scene{--player-z:10}#scene{translate:0 0 var(--perspective);rotate:x 0deg;transform:rotateY(calc(var(--player-angle) * -57.2958deg)) translate3d(calc(var(--player-x) * -1px), calc(var(--player-z) * 1px), calc(var(--player-y) * 1px));transition:--player-z .25s ease-out}@property --bob{syntax:"<number>";inherits:false;initial-value:0}@keyframes head-bob{0%,to{--bob:0}50%{--bob:6}}body.head-bob #scene{transform:rotateY(calc(var(--player-angle) * -57.2958deg)) translate3d(calc(var(--player-x) * -1px), calc(var(--player-z) * 1px + var(--bob,0) * 1px), calc(var(--player-y) * 1px))}body.head-bob .moving #scene{animation:.4s ease-in-out infinite head-bob}#weapon{bottom:calc(32px * var(--scale));margin-bottom:-30px;margin-left:calc(var(--w) * var(--scale) * -.5px);width:calc(var(--w) * var(--scale) * 1px);height:calc(var(--h) * var(--scale) * 1px);background-size:calc(var(--w) * var(--frames) * var(--scale) * 1px) calc(var(--h) * var(--scale) * 1px);image-rendering:pixelated;z-index:-1;pointer-events:none;background-position-x:0;background-repeat:no-repeat;transition:transform .3s ease-in .8s;position:absolute;left:50%}@supports (position-anchor:--status){#weapon{position-anchor:--status;bottom:anchor(top);left:anchor(center)}}@keyframes weapon-fire{0%{background-position-x:calc(var(--w) * var(--scale) * -1px)}to{background-position-x:calc(var(--w) * var(--frames) * var(--scale) * -1px)}}#weapon.firing{animation:weapon-fire var(--fire-duration) steps(calc(var(--frames) - 1)) forwards}@keyframes weapon-bob{0%{transform:translate(40px)translateY(-24px)}12.5%{transform:translate(28px)translateY(0)}25%{transform:translate(0)translateY(-24px)}37.5%{transform:translate(-28px)translateY(0)}50%{transform:translate(-40px)translateY(-24px)}62.5%{transform:translate(-28px)translateY(0)}75%{transform:translate(0)translateY(-24px)}87.5%{transform:translate(28px)translateY(0)}to{transform:translate(40px)translateY(-24px)}}body:not(.spectator) #renderer.moving #weapon:not(.firing):not(.switching){animation:1.4s linear infinite weapon-bob}@keyframes weapon-switch{0%{transform:translateY(0)}40%{transform:translateY(110%)}60%{transform:translateY(110%)}to{transform:translateY(0)}}#weapon.switching{transition:none;animation:.4s ease-in-out forwards weapon-switch}#renderer.dead #weapon{transform:translateY(110%)}#weapon[data-type=FIST]{--w:147;--h:76;--frames:4;background-image:url(/assets/weapons/FIST.png)}#weapon[data-type=PISTOL]{--w:79;--h:103;--frames:5;background-image:url(/assets/weapons/PISTOL.png)}#weapon[data-type=SHOTGUN]{--w:119;--h:151;--frames:6;background-image:url(/assets/weapons/SHOTGUN.png)}#weapon[data-type=CHAINGUN]{--w:114;--h:103;--frames:3;background-image:url(/assets/weapons/CHAINGUN.png)}#weapon[data-type=CHAINGUN].firing{animation:.3s steps(2,end) infinite chaingun-fire}@keyframes chaingun-fire{0%{background-position-x:calc(var(--w) * var(--scale) * -1px)}to{background-position-x:calc(var(--w) * 3 * var(--scale) * -1px)}}#weapon[data-type=ROCKET]{--w:105;--h:119;--frames:5;background-image:url(/assets/weapons/ROCKET.png)}#weapon[data-type=CHAINSAW]{--w:154;--h:89;--frames:4;background-image:url(/assets/weapons/CHAINSAW.png)}#hud{--scale:3;z-index:1000;pointer-events:none;position:fixed;inset:0}@media (width<=960px){#hud{--scale:2}}#status{anchor-name:--status;pointer-events:auto;image-rendering:pixelated;justify-content:center;transition:transform .3s ease-in .8s;display:flex;position:absolute;bottom:0;left:0;right:0}@media (width<=640px){#status{background:#50505099;flex-wrap:wrap}}.hud-section{height:calc(32px * var(--scale));background:url(/assets/hud/STBAR.png) no-repeat;background-size:calc(320px * var(--scale)) calc(32px * var(--scale));position:relative;overflow:hidden}#hud-ammo{width:calc(48px * var(--scale));background-position-x:0}#hud-health{width:calc(58px * var(--scale));background-position-x:calc(-48px * var(--scale))}#hud-arms{width:calc(37px * var(--scale));background-position-x:calc(-106px * var(--scale))}#hud-face{width:calc(36px * var(--scale));background-position-x:calc(-143px * var(--scale))}#hud-armor{width:calc(57px * var(--scale));background-position-x:calc(-179px * var(--scale))}#hud-keys{width:calc(13px * var(--scale));background-position-x:calc(-236px * var(--scale))}#hud-ammo-types{width:calc(71px * var(--scale));background-position-x:calc(-249px * var(--scale))}.hud-number{--glyph:calc(14px * var(--scale));--value:0;--hundreds:round(down, var(--value) / 100, 1);--tens:mod(round(down, var(--value) / 10, 1), 10);--ones:mod(var(--value), 10);--hide-leading-zero:calc(-9999px * (1 - min(1, var(--hundreds))));--hide-middle-zero:calc(-9999px * (1 - min(1, round(down, var(--value) / 10, 1))));--digit-1:calc(var(--hundreds) * var(--glyph) * -1 + var(--hide-leading-zero));--digit-2:calc(var(--tens) * var(--glyph) * -1 + var(--hide-middle-zero));--digit-3:calc(var(--ones) * var(--glyph) * -1);box-sizing:content-box;padding:0 var(--glyph);width:var(--glyph);height:calc(16px * var(--scale));background:url(/assets/hud/DIGITS_SHEET.png) no-repeat;background-size:calc(var(--glyph) * 12) calc(16px * var(--scale));background-origin:content-box;background-clip:content-box;background-position-x:var(--digit-2);image-rendering:pixelated;display:block;position:absolute}.hud-number:before,.hud-number:after{content:"";width:var(--glyph);height:calc(16px * var(--scale));background:url(/assets/hud/DIGITS_SHEET.png) no-repeat;background-size:calc(var(--glyph) * 12) calc(16px * var(--scale));image-rendering:pixelated;position:absolute;top:0}.hud-number:before{background-position-x:var(--digit-1);left:0}.hud-number:after{background-position-x:var(--digit-3);right:0}.hud-pct{width:calc(14px * 3 * var(--scale));position:absolute}.hud-pct:after{content:"";right:calc(-14px * var(--scale));width:calc(14px * var(--scale));height:calc(16px * var(--scale));background:url(/assets/hud/DIGITS_SHEET.png) no-repeat;background-size:calc(168px * var(--scale)) calc(16px * var(--scale));background-position-x:calc(-10 * 14px * var(--scale));image-rendering:pixelated;position:absolute;top:0}#hud-ammo .hud-number{--value:var(--ammo,0);left:calc(2px * var(--scale));top:calc(3px * var(--scale))}#hud-health .hud-number{--value:var(--health,0)}#hud-armor .hud-number{--value:var(--armor,0)}#hud-health .hud-pct,#hud-armor .hud-pct{left:0;top:calc(3px * var(--scale))}#hud-face{background-image:url(/assets/hud/STFB0.png),url(/assets/hud/STBAR.png);background-size:calc(36px * var(--scale)) calc(31px * var(--scale)), calc(320px * var(--scale)) calc(32px * var(--scale));background-position:0 calc(1px * var(--scale)), calc(-143px * var(--scale)) 0;background-repeat:no-repeat;overflow:hidden}#face-sprite{left:50%;top:calc(1px * var(--scale));width:calc(24px * var(--scale));height:calc(31px * var(--scale));background:url(/assets/hud/FACE_SHEET.png) no-repeat;background-size:calc(72px * var(--scale)) calc(155px * var(--scale));background-position-y:calc(var(--face-row,0) * -31px * var(--scale));image-rendering:pixelated;animation:1.5s step-end infinite face-idle;position:absolute;transform:translate(-50%)}@keyframes face-idle{0%,to{background-position-x:0}33%{background-position-x:calc(-24px * var(--scale))}66%{background-position-x:calc(-48px * var(--scale))}}#renderer.dead #face-sprite{background-position-x:0;animation:none}#hud-keys{padding-top:calc(3px * var(--scale));padding-bottom:calc(3px * var(--scale));flex-direction:column;justify-content:space-evenly;align-items:center;display:flex}.key{width:calc(16px * var(--scale));height:calc(7px * var(--scale));image-rendering:pixelated;opacity:.15;background-position:50%;background-repeat:no-repeat;background-size:contain}.key-blue{background-image:url(/assets/hud/STKEYS0.png)}.key-yellow{background-image:url(/assets/hud/STKEYS1.png)}.key-red{background-image:url(/assets/hud/STKEYS2.png)}#renderer.has-blue-key .key-blue,#renderer.has-yellow-key .key-yellow,#renderer.has-red-key .key-red{opacity:1}#hud-arms{background-image:url(/assets/hud/STARMS.png),url(/assets/hud/STBAR.png);background-size:calc(40px * var(--scale)) calc(32px * var(--scale)), calc(320px * var(--scale)) calc(32px * var(--scale));background-position:calc(-2px * var(--scale)) 0, calc(-106px * var(--scale)) 0;background-repeat:no-repeat}.slot{width:calc(4px * var(--scale));height:calc(6px * var(--scale));image-rendering:pixelated;background-size:100% 100%;position:absolute}.slot[data-slot="2"]{left:calc(5px * var(--scale));top:calc(4px * var(--scale))}.slot[data-slot="3"]{left:calc(17px * var(--scale));top:calc(4px * var(--scale))}.slot[data-slot="4"]{left:calc(29px * var(--scale));top:calc(4px * var(--scale))}.slot[data-slot="5"]{left:calc(5px * var(--scale));top:calc(14px * var(--scale))}.slot[data-slot="6"]{left:calc(17px * var(--scale));top:calc(14px * var(--scale))}.slot[data-slot="7"]{left:calc(29px * var(--scale));top:calc(14px * var(--scale))}.slot[data-slot="2"]{background-image:url(/assets/hud/STGNUM2.png)}.slot[data-slot="3"]{background-image:url(/assets/hud/STGNUM3.png)}.slot[data-slot="4"]{background-image:url(/assets/hud/STGNUM4.png)}.slot[data-slot="5"]{background-image:url(/assets/hud/STGNUM5.png)}.slot[data-slot="6"]{background-image:url(/assets/hud/STGNUM6.png)}.slot[data-slot="7"]{background-image:url(/assets/hud/STGNUM7.png)}#renderer.has-weapon-2 .slot[data-slot="2"]{background-image:url(/assets/hud/STYSNUM2.png)}#renderer.has-weapon-3 .slot[data-slot="3"]{background-image:url(/assets/hud/STYSNUM3.png)}#renderer.has-weapon-4 .slot[data-slot="4"]{background-image:url(/assets/hud/STYSNUM4.png)}#renderer.has-weapon-5 .slot[data-slot="5"]{background-image:url(/assets/hud/STYSNUM5.png)}#renderer.has-weapon-6 .slot[data-slot="6"]{background-image:url(/assets/hud/STYSNUM6.png)}#renderer.has-weapon-7 .slot[data-slot="7"]{background-image:url(/assets/hud/STYSNUM7.png)}#hud-ammo-types{position:relative}.ammo-row{height:calc(6px * var(--scale));position:absolute;left:0}.ammo-row[data-ammo=bullets]{top:calc(5px * var(--scale))}.ammo-row[data-ammo=shells]{top:calc(11px * var(--scale))}.ammo-row[data-ammo=rockets]{top:calc(17px * var(--scale))}.ammo-row[data-ammo=cells]{top:calc(23px * var(--scale))}.ammo-cur,.ammo-max{position:absolute}.ammo-cur{left:calc(28px * var(--scale))}.ammo-max{left:calc(52px * var(--scale))}[data-ammo=bullets] .ammo-cur{--value:var(--ammo-bullets,0)}[data-ammo=bullets] .ammo-max{--value:var(--max-bullets,200)}[data-ammo=shells] .ammo-cur{--value:var(--ammo-shells,0)}[data-ammo=shells] .ammo-max{--value:var(--max-shells,50)}[data-ammo=rockets] .ammo-cur{--value:var(--ammo-rockets,0)}[data-ammo=rockets] .ammo-max{--value:var(--max-rockets,50)}[data-ammo=cells] .ammo-cur{--value:var(--ammo-cells,0)}[data-ammo=cells] .ammo-max{--value:var(--max-cells,300)}.small-number{--glyph:calc(4px * var(--scale));--value:0;--hundreds:round(down, var(--value) / 100, 1);--tens:mod(round(down, var(--value) / 10, 1), 10);--ones:mod(var(--value), 10);--hide-leading-zero:calc(-9999px * (1 - min(1, var(--hundreds))));--hide-middle-zero:calc(-9999px * (1 - min(1, round(down, var(--value) / 10, 1))));--digit-1:calc(var(--hundreds) * var(--glyph) * -1 + var(--hide-leading-zero));--digit-2:calc(var(--tens) * var(--glyph) * -1 + var(--hide-middle-zero));--digit-3:calc(var(--ones) * var(--glyph) * -1);box-sizing:content-box;padding:0 var(--glyph);width:var(--glyph);height:calc(6px * var(--scale));background:url(/assets/hud/SMALL_DIGITS_SHEET.png) no-repeat;background-size:calc(var(--glyph) * 10) calc(6px * var(--scale));background-origin:content-box;background-clip:content-box;background-position-x:var(--digit-2);image-rendering:pixelated;position:absolute}.small-number:before,.small-number:after{content:"";width:var(--glyph);height:calc(6px * var(--scale));background:url(/assets/hud/SMALL_DIGITS_SHEET.png) no-repeat;background-size:calc(var(--glyph) * 10) calc(6px * var(--scale));image-rendering:pixelated;position:absolute;top:0}.small-number:before{background-position-x:var(--digit-1);left:0}.small-number:after{background-position-x:var(--digit-3);right:0}#damage-overlay,#pickup-overlay,#teleport-overlay{pointer-events:none;opacity:0;position:absolute;inset:0}#damage-overlay{background:red}#pickup-overlay{background:gold}#teleport-overlay{background:#0f0}@keyframes flash-overlay{0%{opacity:.35}to{opacity:0}}#renderer.hurt #damage-overlay,#renderer.pickup-flash #pickup-overlay,#renderer.teleport-flash #teleport-overlay{animation:.3s ease-out forwards flash-overlay}#renderer.powerup-invulnerability #viewport{filter:saturate(0)brightness(1.5)sepia()hue-rotate(90deg)}#renderer.powerup-berserk #viewport{filter:saturate(1.3)}#renderer.powerup-invisibility #weapon{opacity:.3}#renderer.powerup-radsuit #viewport{filter:sepia(.3)hue-rotate(60deg)brightness(1.1)}#renderer.powerup-lightamp .wall,#renderer.powerup-lightamp .floor,#renderer.powerup-lightamp .ceiling{--light:1!important}#debug-menu{z-index:999;color:#aaa;cursor:default;background:#000000b3;border:1px solid #444;padding:4px 8px;font-family:monospace;font-size:12px;position:fixed;top:58px;left:12px}#debug-menu summary{cursor:pointer;-webkit-user-select:none;user-select:none}#debug-menu label{cursor:pointer;-webkit-user-select:none;user-select:none;padding:2px 0;display:block}#menu-button{top:calc(12px + env(safe-area-inset-top,0px));left:calc(30px + env(safe-area-inset-left,0px));z-index:999;width:82px;height:40px;image-rendering:pixelated;cursor:pointer;background:url(/assets/menu/M_DOOM.png) 50%/contain no-repeat;border:none;align-items:flex-end;padding:0;transition:filter .15s;display:flex;position:fixed}#menu-button:hover{filter:drop-shadow(0 0 8px #639)drop-shadow(0 0 16px #639)}#menu-button svg{opacity:.4;position:absolute;top:10px;left:-26px;rotate:-90deg}#menu-overlay{z-index:1100;background:#000c;justify-content:center;align-items:center;transition:opacity .3s ease-out,scale .3s ease-out;display:flex;position:fixed;inset:0}#menu-overlay[hidden]{display:none}#menu-overlay.showing{opacity:0;transition:none;scale:1.15}#menu-overlay.hiding{opacity:0;scale:1.15}#menu-content{gap:80px;display:flex}@media (width<=720px){#menu-content{flex-direction:column;gap:40px}#menu-overlay{align-items:flex-start;padding:120px 20px 40px;overflow-y:auto}}#menu-inner{flex-direction:column;align-items:center;display:flex}#menu-about{color:#888;text-align:center;max-width:480px;font-family:PressStart2P,monospace;font-size:11px;line-height:1.6;position:fixed;bottom:40px}#menu-about p{margin-bottom:1em}#menu-about a{color:#aaa}@media (width<=720px){#menu-about{margin-top:80px;padding:0 40px;position:static}}.menu-column{flex-direction:column;align-items:center;display:flex}.menu-heading{color:#666;text-transform:uppercase;letter-spacing:2px;margin-bottom:12px;font-family:PressStart2P,monospace;font-size:12px}.menu-episode{image-rendering:pixelated;height:15px;margin-bottom:8px}.menu-level-list{flex-direction:column;gap:2px;display:flex}.menu-level{cursor:pointer;opacity:.6;background:0 0;border:none;align-items:center;gap:4px;padding:2px 4px;transition:opacity .1s;display:flex}.menu-level:hover,.menu-level.active{opacity:1}.menu-level .level-digit{background:url(/assets/hud/DIGITS_SHEET.png) 0 0/252px 24px no-repeat;background-position-x:calc(var(--level,0) * -14px * 1.5);width:21px;height:24px;image-rendering:pixelated}.menu-skill{cursor:pointer;opacity:.6;background:0 0;border:none;align-items:center;gap:4px;padding:4px;transition:opacity .1s;display:flex}.menu-skill:hover,.menu-skill.active{opacity:1}.menu-skill img{image-rendering:pixelated}.menu-level.active:before,.menu-skill.active:before{content:"";width:20px;height:19px;image-rendering:pixelated;background:url(/assets/menu/M_SKULL1.png) 50%/contain no-repeat;flex-shrink:0}.menu-level:before,.menu-skill:before{content:"";flex-shrink:0;width:20px;height:19px}@property --spectator-offset-x{syntax:"<number>";inherits:true;initial-value:0}@property --spectator-offset-y{syntax:"<number>";inherits:true;initial-value:0}@property --spectator-height{syntax:"<number>";inherits:true;initial-value:3000}@property --spectator-angle{syntax:"<number>";inherits:true;initial-value:0}@property --follow-height{syntax:"<number>";inherits:true;initial-value:300}@property --player-floor{syntax:"<number>";inherits:true;initial-value:0}body.spectator:not(.follow-mode) #scene{translate:0 0 var(--perspective);rotate:x -70deg;transform:rotateY(calc(var(--spectator-angle) * 57.2958deg)) translate3d(calc((var(--player-x) + var(--spectator-offset-x)) * -1px), calc(var(--spectator-height) * 1px), calc((var(--player-y) + var(--spectator-offset-y)) * 1px));transition:none}body.spectator.follow-mode #scene{--follow-dist:calc(var(--follow-height) * .7);translate:0 10vh var(--perspective);rotate:x -55deg;transform:rotateY(calc(var(--player-angle) * -57.2958deg)) translate3d(calc((var(--player-x) + sin(calc(var(--player-angle) * 57.2958deg)) * var(--follow-dist)) * -1px), calc((var(--follow-height) + var(--player-floor)) * 1px), calc((var(--player-y) - cos(calc(var(--player-angle) * 57.2958deg)) * var(--follow-dist)) * 1px));transition:none}body.spectator.follow-mode #player>.sprite{transform:translateX(-50%) rotateY(calc(var(--player-angle) * 57.2958deg)) scaleX(var(--mirror,1))}body.spectator #viewport:after{opacity:1;transition:opacity 1.5s}body.spectator #status{pointer-events:none;transition-delay:0s;transform:translateY(100%)}body.spectator #weapon{pointer-events:none;transition-delay:0s;transform:translateY(calc(100% + 100px))}#player{width:0;height:0;transform:translate3d(calc(var(--player-x) * 1px), calc(var(--player-floor) * -1px), calc(var(--player-y) * -1px));display:none;top:0;left:0;backface-visibility:visible!important}body.spectator #player{display:block}body.spectator #player>.sprite{animation:sprite-cycle calc(var(--frames) * .15s) steps(var(--frames)) infinite paused;opacity:1;transition:opacity 1s .5s}@starting-style{body.spectator #player>.sprite{opacity:0}}body.spectator #player>.marker{opacity:.4}@starting-style{body.spectator #player>.marker{opacity:0}}#player>.marker{--marker-color:#fff;opacity:0;width:80px;height:80px;transform:translateY(-10px) rotateX(90deg) rotateZ(calc(var(--player-angle) * -57.2958deg));background:conic-gradient(from -45deg, var(--marker-color) 0deg, var(--marker-color) 90deg, transparent 90deg);filter:drop-shadow(0 0 8px var(--marker-color));border-radius:50%;margin:-50px 0 0 -40px;transition:opacity 1s .5s;-webkit-mask:radial-gradient(circle,#0000 60%,#000 63%);mask:radial-gradient(circle,#0000 60%,#000 63%);backface-visibility:visible!important}#player>.marker.firing{--marker-color:#f80}#player>.sprite{opacity:0;transform-origin:50% 100%;transform:translateX(-50%) rotateY(calc(var(--spectator-angle,0) * -57.2958deg)) scaleX(var(--mirror,1));--w:45;--h:56;--frames:4;--rows:5;animation-play-state:paused;animation-duration:calc(var(--frames) * .15s);background-image:url(/assets/sprites/sheets/PLAY.png);transition:opacity .3s;bottom:0;backface-visibility:visible!important}#renderer.moving #player>.sprite{animation-play-state:running,running}#player:before{content:"";filter:blur(4px);background:#00000080;border-radius:50%;width:32px;height:32px;margin:-16px 0 0 -16px;position:absolute;transform:rotateX(90deg);backface-visibility:visible!important}body.spectator #scene :not(.sector,.ceiling){backface-visibility:visible}body.spectator #scene .ceiling{display:none}#aim-line{z-index:998;pointer-events:none;background:#ffffff26;width:1px;display:none;position:fixed;top:12px;bottom:55%;left:50%}body.spectator.follow-mode #aim-line{display:block}#spectator-button{top:calc(12px + env(safe-area-inset-top,0px));right:calc(12px + env(safe-area-inset-right,0px));z-index:999;cursor:pointer;background:0 0;border:none;width:38px;height:38px;padding:4px;transition:filter .15s;position:fixed}#spectator-button img{filter:invert(.55);width:100%;height:100%;transition:filter .15s}#spectator-button:hover img{filter:invert()}body.spectator #spectator-button img{filter:invert()}#spectator-controls{anchor-name:--spectator-controls;bottom:calc(20px + env(safe-area-inset-bottom,0px));left:calc(20px + env(safe-area-inset-left,0px));right:calc(20px + env(safe-area-inset-right,0px));z-index:1003;opacity:1;justify-content:space-between;align-items:flex-end;padding:8px;transition:opacity .3s;display:flex;position:fixed}#spectator-controls.hidden{opacity:0;pointer-events:none}#spectator-controls button{color:#ddd;cursor:pointer;-webkit-user-select:none;user-select:none;touch-action:manipulation;background:#333;border:none;width:40px;height:40px;font-size:17px;box-shadow:0 2px #000,0 -2px #000,2px 0 #000,-2px 0 #000,inset -2px -2px #555}#spectator-controls button img{filter:invert(.67);width:22px;height:22px;margin-top:2px;transition:filter .15s}#spectator-controls button:hover{color:#fff;background:#444}#spectator-controls button:hover img{filter:invert()}#spectator-controls button:active,#spectator-controls button.pressed{color:#fff;background:#555;box-shadow:0 2px #000,0 -2px #000,2px 0 #000,-2px 0 #000}#spectator-controls button:active img,#spectator-controls button.pressed img{filter:invert()}.spectator-group{gap:10px;transition:opacity .3s;display:flex}body.follow-mode #spectator-rotate,body.follow-mode #spectator-arrows{opacity:0;pointer-events:none;visibility:hidden;width:0;height:0;overflow:hidden}.spectator-stack{flex-direction:column;gap:10px;display:flex}#spectator-arrows{grid-template-rows:repeat(2,40px);grid-template-columns:repeat(3,40px);gap:10px;display:grid}#spectator-arrows button:first-child{grid-area:1/2}#spectator-arrows button:nth-child(2){grid-area:2/1}#spectator-arrows button:nth-child(3){grid-area:2/2}#spectator-arrows button:nth-child(4){grid-area:2/3}#spectator-tabs{gap:0}.spectator-tab{width:auto!important;height:40px!important;padding:0 12px!important}.spectator-tab img{filter:invert(.67);width:26px;height:26px;margin-top:2px;transition:filter .15s}.spectator-tab.active img,.spectator-tab:hover img{filter:invert()}.spectator-tab.active{color:#fff;background:#777!important}#touch-controls{display:none}@media (pointer:coarse){#touch-controls{z-index:1001;pointer-events:none;display:block;position:fixed;inset:0}}#touch-look-zone{position-anchor:--status;top:calc(56px + env(safe-area-inset-top,0px));bottom:anchor(top);pointer-events:auto;touch-action:none;-webkit-user-select:none;user-select:none;margin-bottom:130px;position:fixed;left:0;right:0}#touch-joystick-zone{position-anchor:--status;bottom:anchor(top);pointer-events:auto;touch-action:none;-webkit-user-select:none;user-select:none;width:160px;height:160px;margin-bottom:8px;transition:bottom .3s ease-in-out;position:fixed;left:0}#touch-joystick-base{position-anchor:--status;bottom:anchor(top);pointer-events:none;z-index:1002;background:#ffffff1a;border:none;border-radius:50%;width:100px;height:100px;margin-bottom:16px;transition:bottom .3s ease-in-out;position:fixed;left:24px}#touch-joystick-knob{background:#ffffff59;border-radius:50%;width:44px;height:44px;margin-top:-22px;margin-left:-22px;position:absolute;top:50%;left:50%}#touch-use{position-anchor:--status;bottom:anchor(top);pointer-events:auto;touch-action:none;-webkit-user-select:none;user-select:none;z-index:1002;background:#ffffff26;border:none;border-radius:50%;width:64px;height:64px;margin-bottom:34px;transition:bottom .3s ease-in-out;position:fixed;right:24px}#touch-use:active{filter:brightness(1.4)}body.spectator #touch-look-zone,body.spectator #touch-joystick-zone,body.spectator #touch-joystick-base,body.spectator #touch-use,body.spectator #touch-fire{position-anchor:--spectator-controls}#touch-fire{position-anchor:--status;bottom:anchor(top);pointer-events:auto;touch-action:none;-webkit-user-select:none;user-select:none;z-index:1002;background:#ff502840;border:none;border-radius:50%;width:64px;height:64px;margin-bottom:34px;transition:bottom .3s ease-in-out;position:fixed;right:104px}#touch-fire:active{filter:brightness(1.4)}#fullscreen-button{top:calc(12px + env(safe-area-inset-top,0px));right:calc(100px + env(safe-area-inset-right,0px));z-index:999;cursor:pointer;background:0 0;border:none;width:38px;height:38px;padding:4px;transition:filter .15s;position:fixed}#fullscreen-button img{filter:invert(.55);width:100%;height:100%;transition:filter .15s}#fullscreen-button:hover img{filter:invert()}#help-button{top:calc(12px + env(safe-area-inset-top,0px));right:calc(56px + env(safe-area-inset-right,0px));z-index:999;cursor:pointer;background:0 0;border:none;width:38px;height:38px;padding:4px;transition:filter .15s;position:fixed}#help-button img{filter:invert(.55);width:100%;height:100%;transition:filter .15s}#help-button:hover img{filter:invert()}#help-overlay{z-index:10000;background:#0000004d;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}#help-overlay[hidden]{display:none}#help-content{color:#ccc;background:#323232cc;border:4px solid #000;width:90%;max-width:600px;padding:24px 32px;font-family:PressStart2P,monospace}#help-content table{border-collapse:collapse;width:100%}#help-content td{padding:6px 0;font-size:13px}#help-content td:first-child{white-space:nowrap;color:#fff;text-align:right;padding-right:16px}kbd{color:#fff;text-align:center;background:#222;min-width:20px;padding:5px 10px;font-family:PressStart2P,monospace;font-size:12px;display:inline-block;box-shadow:0 2px #000,0 -2px #000,2px 0 #000,-2px 0 #000,inset -2px -2px #333}@media (pointer:coarse){#help-button,#fullscreen-button{display:none}}
