:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:#0d1319;--panel:#0e141beb;--ink:#e8edf1;--dim:#8794a1;--line:#2a3642;--accent:#f0893e;--good:#62d48c;--bad:#f0605d;--display:"Chakra Petch", "Trebuchet MS", Verdana, sans-serif;--mono:"IBM Plex Mono", ui-monospace, Menlo, Consolas, monospace}html,body{background:var(--bg);height:100%;color:var(--ink);font-family:var(--mono);margin:0;overflow:hidden}#view{position:fixed;inset:0}#view canvas{width:100%;height:100%;display:block}.hud{pointer-events:none;text-shadow:0 1px 2px #000c;font-variant-numeric:tabular-nums;position:fixed}#hudTop{top:calc(14px + env(safe-area-inset-top,0px));text-align:center;left:50%;transform:translate(-50%)}#timer{font-family:var(--display);letter-spacing:.02em;font-size:34px;font-weight:700;line-height:1}#status{color:var(--dim);letter-spacing:.12em;text-transform:uppercase;margin-top:6px;font-size:12px}#status.run{color:var(--accent)}#status.done{color:var(--good)}#hudInfo{top:calc(14px + env(safe-area-inset-top,0px));color:var(--dim);letter-spacing:.04em;font-size:11px;line-height:1.6;left:16px}#hudInfo b{color:var(--ink);font-weight:500}#hudStats{top:calc(14px + env(safe-area-inset-top,0px));text-align:right;color:var(--dim);font-size:12px;line-height:1.7;right:16px}#hudStats b{color:var(--ink);font-weight:600}#hudSpeed{bottom:calc(26px + env(safe-area-inset-bottom,0px));text-align:center;left:50%;transform:translate(-50%)}#speed{font-family:var(--display);font-size:52px;font-weight:700;line-height:1;transition:color .12s}#speed.up{color:var(--good)}#speed.down{color:var(--bad)}#speedUnit{color:var(--dim);letter-spacing:.14em;margin-top:2px;font-size:11px}#jumpRow{justify-content:center;gap:10px;min-height:16px;margin-top:8px;font-size:12px;display:flex}#jumpRow span{color:var(--dim)}#jumpRow span.up{color:var(--good)}#jumpRow span.down{color:var(--bad)}#keys{bottom:calc(22px + env(safe-area-inset-bottom,0px));font-family:var(--display);grid-template-columns:repeat(3,34px);gap:4px;font-size:13px;font-weight:600;display:grid;left:16px}#keys div{color:#ffffff73;background:#00000059;border:1px solid #ffffff2e;border-radius:3px;place-items:center;height:30px;display:grid}#keys div.on{background:var(--accent);border-color:var(--accent);color:#1a0e04}#keys .wide{letter-spacing:.12em;grid-column:span 3;font-size:11px}#keys .k-w{grid-column:2}#keys div{white-space:nowrap;overflow:hidden}#keys .turn{background:0 0;border:none;font-size:15px}#cross{pointer-events:none;width:0;height:0;position:fixed;top:50%;left:50%}#cross i{background:#5cff7a;position:absolute;box-shadow:0 0 0 1px #0009}#cross i:first-child{width:7px;height:2px;top:-1px;left:3px}#cross i:nth-child(2){width:7px;height:2px;top:-1px;left:-10px}#cross i:nth-child(3){width:2px;height:7px;top:3px;left:-1px}#cross i:nth-child(4){width:2px;height:7px;top:-10px;left:-1px}#finish{text-align:center;pointer-events:none;background:var(--panel);border:1px solid var(--line);border-radius:4px;padding:16px 26px;position:fixed;top:28%;left:50%;transform:translate(-50%)}#finish h2{font-family:var(--display);letter-spacing:.16em;text-transform:uppercase;color:var(--good);margin:0;font-size:14px}#finish .t{font-family:var(--display);margin:6px 0 4px;font-size:40px;font-weight:700}#finish p{color:var(--dim);margin:0;font-size:12px}#menu{background:#05080c99;place-items:center;padding-block:24px;padding-inline:16px;display:grid;position:fixed;inset:0;overflow:auto}.panel{background:var(--panel);border:1px solid var(--line);border-radius:6px;gap:22px;width:min(600px,100%);padding:24px;display:grid;box-shadow:0 20px 60px #00000080}.panel header{gap:6px;display:grid}.eyebrow{letter-spacing:.16em;text-transform:uppercase;color:var(--accent);font-size:11px}.panel h1{font-family:var(--display);text-wrap:balance;margin:0;font-size:30px;font-weight:700;line-height:1.1}.panel header p{color:var(--dim);max-width:60ch;margin:0;font-size:13px;line-height:1.55}#play{font-family:var(--display);letter-spacing:.06em;text-transform:uppercase;background:var(--accent);color:#1a0e04;cursor:pointer;border:0;border-radius:4px;padding:14px 18px;font-size:18px;font-weight:700}#play:hover{filter:brightness(1.08)}#play:focus-visible,.panel button:focus-visible,.panel input:focus-visible,.panel select:focus-visible{outline:2px solid var(--ink);outline-offset:2px}#lockMsg{color:var(--bad);min-height:0;margin:-12px 0 0;font-size:12px}.cols{grid-template-columns:1fr 1fr;gap:22px;display:grid}@media (max-width:560px){.cols{grid-template-columns:1fr}}.cols section{align-content:start;gap:10px;min-width:0;display:grid}.cols h3{letter-spacing:.14em;text-transform:uppercase;color:var(--dim);margin:0;font-size:11px;font-weight:500}dl{grid-template-columns:auto 1fr;gap:6px 12px;margin:0;font-size:13px;display:grid}dt{font-family:var(--display);color:var(--ink);white-space:nowrap;font-weight:600}dd{color:var(--dim);margin:0}.field{color:var(--dim);grid-template-columns:1fr auto;align-items:center;gap:10px;font-size:13px;display:grid}.field input[type=number],.field select{width:92px;color:var(--ink);border:1px solid var(--line);font:inherit;background:#0a0f14;border-radius:3px;padding:6px 8px;font-size:13px}.field input[type=checkbox]{width:18px;height:18px;accent-color:var(--accent)}.field input[type=range]{width:110px;accent-color:var(--accent)}.secondary{border:1px solid var(--line);color:var(--ink);font:inherit;cursor:pointer;text-align:left;background:0 0;border-radius:4px;padding:9px 12px;font-size:12px}.secondary:hover{border-color:var(--dim)}.note{color:var(--dim);border-top:1px solid var(--line);margin:0;padding-top:14px;font-size:12px;line-height:1.55}.note b{color:var(--ink);font-weight:500}#touchNote{color:var(--bad)}#debug{top:calc(96px + env(safe-area-inset-top,0px));font:11px/1.55 var(--mono);color:var(--ink);border:1px solid var(--line);white-space:pre;background:#0000008c;border-radius:3px;margin:0;padding:8px 10px;left:16px}.cols h3 .hint{text-transform:none;letter-spacing:0;color:var(--dim);opacity:.7;margin-left:6px}.binds{grid-template-columns:auto 1fr;align-items:center;gap:5px 12px;font-size:13px;display:grid}.binds .act{color:var(--dim);white-space:nowrap}.binds .slots{flex-wrap:wrap;gap:4px;min-width:0;display:flex}.chip{border:1px solid var(--line);font-family:var(--display);color:var(--ink);background:#0a0f14;border-radius:3px;align-items:center;font-size:12px;font-weight:600;display:inline-flex}.chip button{color:inherit;font:inherit;cursor:pointer;background:0 0;border:0;padding:3px 7px}.chip button.x{color:var(--dim);padding:3px 6px 3px 0;font-weight:500}.chip button.x:hover{color:var(--bad)}.chip button:hover{color:var(--accent)}.chip.capture{border-color:var(--accent);color:var(--accent)}.chip.add button{color:var(--dim);padding:3px 8px}.bindFoot{color:var(--dim);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;font-size:12px;display:flex}.link{font:inherit;color:var(--accent);cursor:pointer;text-underline-offset:2px;background:0 0;border:0;padding:0;text-decoration:underline}.panel button:focus-visible{outline:2px solid var(--ink);outline-offset:2px}[hidden]{display:none!important}.screen{gap:14px;display:grid}.choices{grid-template-columns:1fr 1fr;gap:12px;display:grid}@media (max-width:560px){.choices{grid-template-columns:1fr}}.choice{text-align:left;border:1px solid var(--line);color:var(--ink);cursor:pointer;font:inherit;background:#0a0f14;border-radius:4px;gap:6px;padding:16px 18px;display:grid}.choice b{font-family:var(--display);letter-spacing:.04em;text-transform:uppercase;font-size:18px;font-weight:700}.choice span{color:var(--dim);font-size:12px;line-height:1.45}.choice:hover{border-color:var(--dim)}.choice.primary{background:var(--accent);border-color:var(--accent);color:#1a0e04}.choice.primary span{color:#1a0e04bf}.choice.primary:hover{filter:brightness(1.08)}.choice:focus-visible{outline:2px solid var(--ink);outline-offset:2px}.privacy{color:var(--dim);margin:0;font-size:12px;line-height:1.5}.yourMaps h3{letter-spacing:.14em;text-transform:uppercase;color:var(--dim);margin:0 0 8px;font-size:11px;font-weight:500}#mapList{gap:6px;max-height:220px;margin:0;padding:0;list-style:none;display:grid;overflow:auto}#mapList li{border:1px solid var(--line);background:#0a0f14;border-radius:3px;grid-template-columns:1fr auto auto;align-items:center;gap:10px;padding:8px 10px;display:grid}#mapList .mapName{font-family:var(--display);color:var(--ink);text-overflow:ellipsis;white-space:nowrap;font-size:14px;font-weight:600;overflow:hidden}#mapList .mapMeta{color:var(--dim);margin-top:2px;font-size:11px;display:block}#mapList button{font:inherit;cursor:pointer;border:1px solid var(--line);color:var(--ink);background:0 0;border-radius:3px;padding:6px 10px;font-size:12px}#mapList button.playMap{background:var(--accent);border-color:var(--accent);color:#1a0e04;font-weight:600}#mapList button.del:hover,#mapList button.del.confirm{border-color:var(--bad);color:var(--bad)}.loadName{font-family:var(--display);font-size:16px;font-weight:600}.bar{border:1px solid var(--line);background:#0a0f14;border-radius:3px;height:6px;overflow:hidden}.bar i{background:var(--accent);width:0;height:100%;transition:width .15s;display:block}.loadStage{color:var(--dim);font-size:12px}.loadError{color:var(--bad);margin:0;font-size:13px;line-height:1.5}.pickList{gap:6px;display:grid}.pickList button{text-align:left}#loadBack{justify-self:start}.pausedRow{color:var(--dim);flex-wrap:wrap;justify-content:space-between;gap:12px;font-size:12px;display:flex}#mapNote{color:var(--accent)}#dropZone{border:2px dashed var(--accent);font-family:var(--display);letter-spacing:.06em;text-transform:uppercase;color:var(--accent);pointer-events:none;z-index:10;background:#05080cbf;border-radius:8px;place-items:center;font-size:24px;font-weight:700;display:grid;position:fixed;inset:12px}#toast{top:calc(84px + env(safe-area-inset-top,0px));text-align:center;background:var(--panel);border:1px solid var(--line);max-width:min(560px,100vw - 32px);color:var(--ink);border-radius:4px;padding:8px 14px;font-size:13px;line-height:1.5;left:50%;transform:translate(-50%)}#toast b{color:var(--accent)}.zonePanel{border:1px solid var(--line);color:var(--dim);background:#0a0f14;border-radius:4px;gap:8px;padding:12px 14px;font-size:12px;line-height:1.5;display:grid}.zonePanel h3{letter-spacing:.14em;text-transform:uppercase;color:var(--dim);margin:0;font-size:11px;font-weight:500}#zoneStatus{color:var(--ink)}.zoneButtons{flex-wrap:wrap;gap:8px;display:flex}.zoneButtons button.confirm{border-color:var(--bad);color:var(--bad)}#ammo{bottom:calc(26px + env(safe-area-inset-bottom,0px));font-family:var(--display);color:var(--dim);align-items:baseline;gap:8px;font-size:18px;display:flex;right:24px}#ammo b{color:var(--ink);font-size:40px}#ammo.low b{color:var(--bad)}.gamePath{color:var(--dim);flex-wrap:wrap;align-items:center;gap:6px;margin-top:8px;font-size:12px;display:flex}.gamePath code{color:var(--ink);word-break:break-all}.gamePath .hint{flex-basis:100%}button.small{padding:2px 8px;font-size:12px}.builtinMaps{grid-column:1/-1}.builtinMaps h3{letter-spacing:.06em;text-transform:uppercase;color:var(--dim);margin:4px 0 8px;font-size:13px}.builtinMaps h3 span{text-transform:none;letter-spacing:0;margin-left:6px}#builtinList{grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:8px;margin:0;padding:0;list-style:none;display:grid}#builtinList button{text-align:left;width:100%;color:var(--ink);cursor:pointer;border:1px solid #ffffff1f;border-radius:8px;flex-direction:column;gap:4px;padding:10px 12px;display:flex}#builtinList button:hover,#builtinList button:focus-visible{border-color:#ffffff73}#builtinList b{font-size:15px}#builtinList .stars{color:#ffcf5a;letter-spacing:1px;font-size:12px}#builtinList .pb{color:var(--dim);font-size:12px}.yourMaps h3 .sub{text-transform:none;letter-spacing:0;color:var(--dim);margin-left:6px;font-weight:400}#levelList{margin:8px 0 0;padding:0;list-style:none}#levelList li{border-top:1px solid #ffffff14;align-items:center;gap:6px;padding:6px 0;display:flex}#levelList li .lvlName{flex:1;min-width:0}#levelList li .lvlName span{color:var(--dim);font-size:12px;display:block}.editorHelp{color:var(--dim);margin-top:8px;font-size:12px;line-height:1.5}#editorHud{left:50%;bottom:calc(18px + env(safe-area-inset-bottom,0px));width:min(920px,100vw - 32px);color:var(--ink);background:#0a0c10b8;border:1px solid #ffffff1f;border-radius:8px;padding:8px 12px;font-size:12px;transform:translate(-50%)}#editorHud .kinds{flex-wrap:wrap;gap:6px;margin-bottom:6px;display:flex}#editorHud .kinds span{color:var(--dim);background:#ffffff0f;border-radius:4px;padding:2px 6px}#editorHud .kinds span.on{color:#111;background:#ff8a2a}#editorHud .tool{align-items:center;gap:6px;display:flex}#editorHud .tool i{border:1px solid #fff6;border-radius:3px;width:14px;height:14px;display:inline-block}#editorHud .count{color:var(--dim);margin-left:auto}#editorHud .help{color:var(--dim);margin-top:6px}#catalog{z-index:50;background:#04060a8c;place-items:center;padding:16px;display:grid;position:fixed;inset:0}#catalog[hidden]{display:none}.catalogPanel{background:#10141b;border:1px solid #ffffff24;border-radius:10px;flex-direction:column;width:min(1100px,100%);max-height:calc(100vh - 32px);display:flex;overflow:hidden}.catalogPanel header{border-bottom:1px solid #ffffff14;align-items:center;gap:12px;padding:12px 16px;display:flex}.catalogPanel header h2{margin:0;font-size:18px}.catalogPanel header span{color:var(--dim);flex:1;font-size:13px}#catalogTabs{flex-wrap:wrap;gap:4px;padding:8px 16px;display:flex}#catalogTabs button{color:var(--ink);cursor:pointer;background:#ffffff0f;border:1px solid #0000;border-radius:6px;padding:6px 12px}#catalogTabs button.on{color:#111;background:#ff8a2a}#catalogPages{padding:8px 16px 16px;overflow:auto}.catalogPage{grid-template-columns:repeat(auto-fill,minmax(96px,1fr));gap:8px;display:grid}.catalogPage[hidden]{display:none}.catalogPage .tile{color:var(--ink);cursor:pointer;text-align:center;background:#ffffff0a;border:1px solid #ffffff1a;border-radius:6px;flex-direction:column;align-items:center;gap:4px;padding:6px;font-size:11px;display:flex}.catalogPage .tile:hover,.catalogPage .tile:focus-visible{border-color:#ffe14a}.catalogPage .tile img,.catalogPage .tile i{object-fit:cover;border-radius:4px;width:64px;height:64px;display:block}.catalogPage .tile input[type=color]{background:0 0;border:0;width:64px;height:64px}.catalogSliders{color:var(--dim);flex-wrap:wrap;grid-column:1/-1;gap:24px;font-size:13px;display:flex}.catalogSliders label{flex-direction:column;gap:4px;display:flex}
