@font-face{font-family:VT323;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/vt323-latin-400-normal-wDgJuOC9.woff2)format("woff2"),url(/assets/vt323-latin-400-normal-Dqn9ZSPj.woff)format("woff")}:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--px:3px;--ink:#efe8f6;--ink-dim:#a69db4;--panel:#141218;--line:#4a4357;--btn:#26222e;--btn-hi:#332d3d;--font:"VT323", ui-monospace, monospace}*{box-sizing:border-box}html,body{overscroll-behavior:none;background:#000;height:100%;margin:0;overflow:hidden}body{font:19px/1 var(--font);color:var(--ink);-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;-webkit-tap-highlight-color:transparent;-webkit-font-smoothing:none}.pixel-box{background:var(--panel);box-shadow:0 calc(var(--px) * -1) 0 0 var(--line), 0 var(--px) 0 0 var(--line), calc(var(--px) * -1) 0 0 0 var(--line), var(--px) 0 0 0 var(--line)}#stage{touch-action:none;cursor:none;position:fixed;inset:0;overflow:hidden}#stage.grab{cursor:grab}#stage[data-mode=pan]{cursor:grabbing}#world{transform-origin:0 0;position:absolute;top:0;left:0}#content{position:absolute;inset:0;overflow:hidden}.editing #veil,.editing .decal{filter:opacity(var(--veil-opacity,1))}.edit-box{transform-origin:50%;pointer-events:none;outline:calc(2px * var(--inv,1)) solid #8ab4ff;outline-offset:calc(3px * var(--inv,1));display:none;position:absolute}.edit-box.on{display:block}.edit-box.hover{outline-style:dashed;outline-color:#8ab4ffbf}.edit-handle{right:calc(-8px * var(--inv,1));bottom:calc(-8px * var(--inv,1));width:calc(14px * var(--inv,1));height:calc(14px * var(--inv,1));border:calc(2px * var(--inv,1)) solid #111;pointer-events:auto;cursor:nwse-resize;background:#8ab4ff;position:absolute}#stage.over-item{cursor:move}#stage.edit-empty:not([data-mode=pan]){cursor:grab}#hud.peek,.key.peek{transition:opacity .12s;opacity:0!important;pointer-events:none!important}#veil{image-rendering:pixelated;pointer-events:none;display:block;position:absolute}#edge,#fx{pointer-events:none;width:100%;height:100%;position:fixed;inset:0}#brush{image-rendering:pixelated;pointer-events:none;opacity:0;transition:opacity .15s;position:fixed;top:0;left:0}#brush.visible{opacity:.9}.decal{pointer-events:none;display:block;position:absolute}.decal.blink{animation:1.1s step-end infinite blink}@keyframes blink{50%{opacity:0}}#hud{top:max(16px, env(safe-area-inset-top));right:max(16px, env(safe-area-inset-right));touch-action:none;flex-direction:column;gap:8px;width:min-content;padding:8px;transition:opacity .2s;animation:.5s steps(5,end) .3s backwards hud-in;display:flex;position:fixed}@keyframes hud-in{0%{opacity:0;transform:translateY(-9px)}}#hud.ghost{opacity:.12}.minimap-wrap{align-self:center;position:relative}#minimap-frame{pointer-events:none;width:100%;height:100%;position:absolute;inset:0}#minimap{image-rendering:pixelated;cursor:crosshair;touch-action:none;outline:2px solid #000;display:block}#bar{grid-template-columns:repeat(16,1fr);gap:2px;height:6px;display:grid}#bar i{background:#2a2631}#bar i.on{background:var(--seg)}#bar i.part{background:var(--seg);opacity:.35}.hud-row{font-variant-numeric:tabular-nums;white-space:nowrap;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:6px 10px;display:flex}.hud-row .zoom{align-items:center;gap:8px;display:flex}#zoom{text-align:center;min-width:3em}#progress{color:var(--ink-dim)}#hud button{background:var(--btn);width:24px;height:24px;color:var(--ink);cursor:pointer;box-shadow:0 -2px 0 0 var(--line), 0 2px 0 0 var(--line), -2px 0 0 0 var(--line), 2px 0 0 0 var(--line), inset -2px -2px 0 0 #0006, inset 2px 2px 0 0 #ffffff12;border:0;place-items:center;margin:2px;padding:0;display:grid}#hud button svg{fill:currentColor;width:18px;height:18px}#hud button:hover{background:var(--btn-hi)}#hud button:active{box-shadow:0 -2px 0 0 var(--line), 0 2px 0 0 var(--line), -2px 0 0 0 var(--line), 2px 0 0 0 var(--line), inset 2px 2px 0 0 #0006;transform:translateY(2px)}#keys{animation:.5s steps(5,end) .3s backwards keys-in}@keyframes keys-in{0%{opacity:0}}.key{background:var(--btn);width:40px;height:40px;color:var(--ink);cursor:pointer;touch-action:none;opacity:0;pointer-events:none;box-shadow:0 -2px 0 0 var(--line), 0 2px 0 0 var(--line), -2px 0 0 0 var(--line), 2px 0 0 0 var(--line), inset 0 -5px 0 0 #00000073, inset 0 2px 0 0 #ffffff14;border:0;place-items:center;padding:0 0 4px;transition:opacity .3s steps(3,end);display:grid;position:fixed}.key svg{fill:currentColor;width:18px;height:18px}.key.show{opacity:.85;pointer-events:auto}.key.show.ghost{opacity:.12}.key:hover{background:var(--btn-hi)}.key.pressed{background:var(--btn-hi);box-shadow:0 -2px 0 0 var(--line), 0 2px 0 0 var(--line), -2px 0 0 0 var(--line), 2px 0 0 0 var(--line), inset 0 -2px 0 0 #00000073, inset 0 2px 0 0 #00000040;padding-bottom:1px;translate:0 3px}.key[data-dir=up]{top:max(14px, env(safe-area-inset-top));left:50%;transform:translate(-50%)}.key[data-dir=down]{bottom:max(14px, env(safe-area-inset-bottom));left:50%;transform:translate(-50%)}.key[data-dir=left]{left:max(14px, env(safe-area-inset-left));top:50%;transform:translateY(-50%)}.key[data-dir=right]{right:max(14px, env(safe-area-inset-right));top:50%;transform:translateY(-50%)}.key[data-dir=left] svg{rotate:-90deg}.key[data-dir=right] svg{rotate:90deg}.key[data-dir=down] svg{rotate:180deg}@media (hover:none){#keys{display:none}}@media (prefers-reduced-motion:reduce){.decal.blink{animation:none}}.item-mark{pointer-events:none;display:none}.show-marks .item-mark{pointer-events:auto;display:block}.mark-launch,.mark-target{border:calc(3px * var(--inv,1)) dashed #ff8a2a;background:#ff8a2a33;border-radius:50%}.mark-target{background:#ff2e4433;border-color:#ff2e44}.mark-launch:after,.mark-target:after{content:"";background:currentColor;width:8px;height:8px;position:absolute;top:50%;left:50%;translate:-50% -50%}.mark-launch{color:#ff8a2a}.mark-target{color:#ff2e44}.mark-launch span,.mark-target span{margin-top:calc(4px * var(--inv,1));padding:0 calc(5px * var(--inv,1));color:#fff;font:calc(19px * var(--inv,1)) / 1.15 "VT323", ui-monospace, monospace;white-space:nowrap;background:#000;position:absolute;top:100%;left:50%;translate:-50%}#world:not([data-finale=off]) .mark-button{pointer-events:auto;display:block}#stage.over-button{cursor:pointer}#stage.over-button~#brush{opacity:0!important}.mark-button .btn-layer{width:100%;height:100%;image-rendering:pixelated;position:absolute;top:0;left:0}.btn-cap-down,.btn-lid-open,.btn-lamps,#world[data-finale=open] .btn-lid-closed,#world[data-finale=firing] .btn-lid-closed,#world[data-finale=firing] .btn-cap-up{display:none}#world[data-finale=open] .btn-lid-open,#world[data-finale=firing] .btn-lid-open,#world[data-finale=firing] .btn-cap-down{display:block}#world:not([data-finale=off]) .btn-lamps{animation:.9s step-end infinite lamps;display:block}#world[data-finale=firing] .btn-lamps{animation-duration:.3s}@keyframes lamps{50%{opacity:0}}.btn-label{color:#1d1a22;white-space:nowrap;place-items:center;font:22px/1 Pixelify Sans,ui-monospace,monospace;display:grid;position:absolute}.btn-label span{visibility:hidden;grid-area:1/1}.btn-label .when-armed,#world[data-finale=open] .btn-label .when-open,#world[data-finale=firing] .btn-label .when-firing{visibility:visible}#world[data-finale=open] .btn-label .when-armed,#world[data-finale=firing] .btn-label .when-armed{visibility:hidden}#world[data-finale=open] .btn-label .when-open{animation:.6s step-end infinite lamps}#world:not([data-finale=off]):not(.end-instant):not(.show-marks) .mark-button{animation:1.1s steps(13,end) .85s backwards button-rise}@keyframes button-rise{0%{clip-path:inset(0 0 208px);translate:0 208px}to{clip-path:inset(0);translate:0}}.fade-end{transition:opacity .8s steps(6,end)}#world:not([data-finale=off]):not(.show-marks) .fade-end{opacity:0;pointer-events:none}#world.end-instant .fade-end{transition:none}#bomb{pointer-events:none;width:100%;height:100%;position:fixed;inset:0}#cinema{z-index:10;pointer-events:none;position:fixed;inset:0;overflow:hidden}body.cinema #cinema{pointer-events:auto;cursor:default;touch-action:none}body.cinema #hud,body.cinema #keys,body.cinema #brush{transition:opacity .3s steps(3,end);opacity:0!important;pointer-events:none!important}#cinema .bar{background:#000;height:9vh;transition:transform .5s steps(5,end);position:absolute;left:0;right:0}#cinema .bar.top{top:0;transform:translateY(-100%)}#cinema .bar.bottom{bottom:0;transform:translateY(100%)}body.cinema #cinema .bar{transform:none}#cinema:before{content:"";opacity:0;position:absolute;inset:0;box-shadow:inset 0 0 0 10px #ff283c8c,inset 0 0 0 20px #ff283c52,inset 0 0 0 30px #ff283c26}body.alarm #cinema:before{opacity:1;animation:.7s step-end infinite alarm}@keyframes alarm{50%{opacity:.2}}#cinema .count{white-space:nowrap;text-shadow:4px 4px #000;opacity:0;justify-items:center;gap:6px;width:max-content;font-family:Pixelify Sans,ui-monospace,monospace;display:grid;position:absolute;top:calc(9vh + 24px);left:50%;translate:-50%}#cinema .count small{color:#fff;font-size:33px}#cinema .count b{color:#ff3b4a;font-size:132px;font-weight:400;line-height:1}#cinema.counting .count{opacity:1}#cinema.counting .count b{animation:.8s steps(8,end) both count-pop}@keyframes count-pop{0%{opacity:0;scale:1.8}15%{opacity:1;scale:1}80%{opacity:1}to{opacity:0;scale:.9}}#cinema .flash-layer{opacity:0;background:#fff;position:absolute;inset:0}#cinema.flash .flash-layer{animation:1.25s steps(6,end) both flash}@keyframes flash{0%,13%{opacity:1;background:#fff}21%{opacity:.15;background:#fff}29%{opacity:.95;background:#fff4cc}to{opacity:0;background:#ffb347}}.minimap-ping{pointer-events:none;background:#ff3b4a;width:8px;height:8px;animation:.8s step-end infinite lamps;display:none;position:absolute;translate:-50% -50%;box-shadow:0 0 0 2px #000}.minimap-ping.on{display:block}@media (prefers-reduced-motion:reduce){#world:not([data-finale=off]) .mark-button,#world:not([data-finale=off]) .btn-lamps,.minimap-ping,body.alarm #cinema:before{animation:none!important}#cinema.flash .flash-layer{animation-duration:.3s}}
