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}.tune,.tune-opener{z-index:2;color:#f3ecdf;font:12px/1.4 ui-monospace,Cascadia Code,monospace;position:fixed;top:12px;right:12px}.tune{background:#0e121aeb;border:1px solid #3a4658;border-radius:6px;flex-direction:column;width:320px;max-width:calc(100vw - 24px);max-height:calc(100vh - 24px);display:flex}.tune[hidden],.tune-opener[hidden]{display:none}.tune-head{border-bottom:1px solid #3a4658;justify-content:space-between;align-items:center;padding:8px 10px;display:flex}.tune-body{padding:6px 10px 10px;overflow-y:auto}.tune button,.tune-opener{font:inherit;color:inherit;cursor:pointer;background:#263142;border:1px solid #3a4658;border-radius:4px;padding:3px 8px}.tune button:hover,.tune-opener:hover{background:#33415a}.tune-row{gap:8px;margin:6px 0;display:flex}.tune-note{color:#7d8a9c;font-size:11px}.tune-param{border-left:2px solid #0000;grid-template-columns:1fr auto;gap:2px 8px;margin:10px 0;padding-left:6px;display:grid}.tune-param.changed{border-left-color:#ffcf5a}.tune-param.changed .tune-name{color:#ffcf5a}.tune-param input[type=range]{accent-color:#ffcf5a;grid-column:1/-1;width:100%;margin:0}.tune-param input[type=checkbox]{justify-self:end}.tune-value{text-align:right}.tune-hint{color:#7d8a9c;grid-column:1/-1;font-size:11px}.tune-group{border-top:1px solid #2c3646;margin-top:6px;padding-top:4px}.tune-group summary{cursor:pointer;color:#9fd4ff;padding:4px 0;font-weight:700}.tune-section{margin:8px 0}.tune-label{color:#7d8a9c;text-transform:uppercase;letter-spacing:.08em;font-size:10px}.tune-readout{white-space:pre;color:#d6dde7;margin:2px 0 0}.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 16px;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-title{color:#fff;letter-spacing:.12em;text-align:center;margin:0 0 24px;font-size:clamp(36px,12vw,64px);font-weight:700}.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}
