html,body{background:#1c2430;height:100%;margin:0;overflow:hidden}canvas{display:block}#hud{z-index:1;color:#f3ecdf;pointer-events:none;text-shadow:0 1px #000;white-space:pre;font:13px/1.45 ui-monospace,Cascadia Code,monospace;position:fixed;top:12px;left:14px}.help-button{z-index:3;color:#fff;cursor:pointer;background:#000;border:2px solid #fff;width:36px;height:36px;padding:0;font:700 18px/1 ui-monospace,Cascadia Code,monospace;position:fixed;top:12px;right:12px}.help-button:hover,.help-button:focus-visible{background:#1a1a1a;outline:none}.help{z-index:20;background:#0009;justify-content:center;align-items:center;padding:16px;display:flex;position:fixed;inset:0}.help[hidden]{display:none}.help-card{box-sizing:border-box;color:#fff;background:#000;border:2px solid #fff;flex-direction:column;align-items:center;gap:14px;width:min(460px,100%);max-height:calc(100vh - 32px);padding:18px 20px 20px;font:14px/1.45 ui-monospace,Cascadia Code,monospace;display:flex;position:relative}.help-card h2{letter-spacing:.08em;margin:0;font-size:18px}.help-video{object-fit:contain;width:100%;height:min(320px,45vh);image-rendering:pixelated;background:#111}.help-text{text-align:center;min-height:2.9em;margin:0}.help-nav{align-items:center;gap:16px;display:flex}.help-nav button,.help-close{color:#fff;cursor:pointer;background:#000;border:2px solid #fff;padding:8px 14px;font:700 16px/1 ui-monospace,Cascadia Code,monospace}.help-nav button:hover,.help-close:hover{background:#1a1a1a}.help-close{padding:4px 8px;position:absolute;top:10px;right:10px}.help-counter{text-align:center;color:#aaa;min-width:4em}.level-complete{z-index:15;background:#0000008c;justify-content:center;align-items:center;padding:16px;display:flex;position:fixed;inset:0}.level-complete[hidden]{display:none}.level-complete-card{box-sizing:border-box;color:#fff;background:#000;border:2px solid #fff;flex-direction:column;align-items:center;gap:18px;width:min(360px,100%);padding:24px 22px;font:15px/1.45 ui-monospace,Cascadia Code,monospace;display:flex}.level-complete-card h2{letter-spacing:.06em;text-align:center;margin:0;font-size:20px}.level-complete-card dl{grid-template-columns:auto auto;gap:6px 18px;margin:0;display:grid}.level-complete-card dt{color:#aaa}.level-complete-card dd{margin:0;font-weight:700}.level-complete-card button{width:100%;font:inherit;color:#fff;cursor:pointer;background:#000;border:2px solid #fff;padding:14px 16px;font-weight:700}.level-complete-card button:hover,.level-complete-card button:focus-visible{background:#1a1a1a;outline:none}.level-complete-card button:disabled{opacity:.5;cursor:default}.menu-button{z-index:2;color:#f3ecdf;cursor:pointer;background:#263142;border:1px solid #3a4658;border-radius:6px;padding:6px 12px;font:13px/1.4 ui-monospace,Cascadia Code,monospace;position:fixed;bottom:14px;left:14px}.menu-button:hover{background:#33415a}.level-button{z-index:2;color:#f3ecdf;cursor:pointer;background:#263142;border:1px solid #3a4658;border-radius:6px;padding:6px 12px;font:13px/1.4 ui-monospace,Cascadia Code,monospace;position:fixed;bottom:14px;left:112px}.level-button:hover{background:#33415a}.map-warnings{z-index:3;color:#2a1a00;background:#ffd66b;border:1px solid #b08a20;border-radius:6px;max-width:min(640px,100vw - 32px);padding:8px 30px 8px 12px;font:12px/1.45 ui-monospace,Cascadia Code,monospace;position:fixed;top:10px;left:50%;transform:translate(-50%)}.map-warnings ul{margin:4px 0 0;padding-left:18px}.map-warnings button{color:#2a1a00;cursor:pointer;background:0 0;border:0;font:16px/1 sans-serif;position:absolute;top:4px;right:6px}.menu,.menu-form{flex-direction:column;align-items:center;gap:16px;display:flex}.menu{z-index:10;color:#fff;background:#000;justify-content:center;padding:0;font:16px/1.4 ui-monospace,Cascadia Code,monospace;position:fixed;inset:0}.menu button,.menu input{box-sizing:border-box;width:min(280px,100vw - 32px);font:inherit;color:#fff;cursor:pointer;background:#000;border:2px solid #fff;border-radius:0;padding:14px 16px}.menu button:hover,.menu button:focus-visible{background:#1a1a1a;outline:none}.menu button:disabled{opacity:.5;cursor:default}.menu input{text-align:center;text-transform:uppercase;letter-spacing:.2em;cursor:text}.menu input::placeholder{color:#777;letter-spacing:normal;text-transform:none}.menu input:focus{background:#111;outline:none}.menu p{text-align:center;max-width:min(280px,100vw - 32px);margin:0}.menu-tv{aspect-ratio:155/115;width:min(100vw,134.783vh);image-rendering:pixelated;background:url(/assets/ui/title.png) 50%/100% 100% no-repeat;position:relative;container-type:inline-size}.menu-screen{flex-direction:column;justify-content:center;align-items:stretch;gap:1.29032cqw;width:38.7097%;height:27.8261%;font-size:clamp(9px,2.4cqw,22px);display:flex;position:absolute;top:50.4348%;left:30.9677%}.menu-tv.wide .menu-screen{box-sizing:border-box;color:#ddd;background:#131922eb;outline:max(2px,.645161cqw) solid #000;width:41.2903%;height:57.3913%;padding:1.29032cqw;top:14.7826%;left:29.6774%}.menu-screen .menu-form{align-items:stretch;gap:1.29032cqw}.menu .menu-screen button,.menu .menu-screen input{--px:max(2px, calc(1 / 155 * 100cqw));letter-spacing:.08em;text-transform:uppercase;border:var(--px) solid #000;border-radius:0;width:100%;padding:.45em .6em;font:700 1em/1.2 ui-monospace,Cascadia Code,monospace}.menu .menu-screen button{color:#131922;box-shadow:inset 0 var(--px) 0 #fff, inset 0 calc(-1 * var(--px)) 0 #5d5d5d;text-shadow:0 1px #fff9;cursor:pointer;background:linear-gradient(#ddd 0 55%,#b7b7b7 55% 100%)}.menu .menu-screen button:hover,.menu .menu-screen button:focus-visible{background:linear-gradient(#fff 0 55%,#d4d4d4 55% 100%);outline:none}.menu .menu-screen button:active{transform:translateY(var(--px));box-shadow:inset 0 var(--px) 0 #5d5d5d}.menu .menu-screen button:disabled{opacity:.5;cursor:default;transform:none}.menu .menu-screen input{color:#ddd;box-shadow:inset 0 var(--px) 0 #000, inset 0 0 0 var(--px) #242c37;text-transform:uppercase;letter-spacing:.2em;background:#131922}.menu .menu-screen input::placeholder{color:#5d5d5d}.menu .menu-screen input:focus{box-shadow:inset 0 0 0 var(--px) #b7b7b7;outline:none}.menu .menu-screen p{max-width:none}.menu-screen .menu-code{font-size:2.2em}.menu-screen .menu-note,.menu-screen .menu-error{font-size:.85em}.menu-note{color:#aaa;font-size:13px}.menu-code{letter-spacing:.2em;font-size:40px}.menu-error{color:#ff6b6b;min-height:1.4em;font-size:13px}
