html,body{height:100%;margin:0}#content_layer{position:fixed;inset:0;background:#111827}#ui_layer{--controller-control-size: 120px;--controller-zone-height: 173px;--controller-offset: 43px;--controller-action-gap: .625rem;--controller-label-gap: .25rem;--controller-label-size: .8rem;position:fixed;inset:min(5vw,5vh);pointer-events:none}#ui_root{height:100%}.screen-debug-viewport{position:fixed;z-index:2;inset:0;box-sizing:border-box;border:1px solid #4ade80;pointer-events:none}.screen-debug-ui-outline{position:absolute;z-index:2;inset:0;box-sizing:border-box;border:1px solid #22d3ee;pointer-events:none}.ui-shell{--edge-height: 44px;height:100%;display:grid;grid-template-columns:minmax(0,1fr);grid-template-rows:var(--edge-height) minmax(0,1fr) var(--edge-height)}#header,#footer{display:flex}#header{align-items:flex-start;justify-content:space-between;color:#f8fafc;font:700 clamp(.85rem,2vw,1rem) system-ui,sans-serif;letter-spacing:.08em;text-transform:uppercase;text-shadow:0 2px 10px #020617}#project_title{display:grid;gap:.25rem}#tilemap_status,#renderer_status,#fps_status,#mouse_circle_radius_status,.ui-label{color:#93c5fd;font:600 clamp(.65rem,1.5vw,.75rem) system-ui,sans-serif;letter-spacing:.05em;text-transform:none}#header a,#header a:visited{pointer-events:auto}#header a,#header a:visited{color:#f8fafc}.header-actions{display:flex;flex-direction:column;align-items:flex-end;gap:.35rem;margin-left:auto}.menu-hotkey-hint{color:#93c5fd;text-shadow:0 2px 10px #020617}.dev-mode-hud{color:#64748b;text-shadow:0 2px 10px #020617;letter-spacing:.04em}.dev-mode-hud.is-on{color:#fbbf24}.spectator-toggle{appearance:none;border:0;padding:0;background:transparent;cursor:pointer;pointer-events:auto;color:#e2e8f0;text-shadow:0 2px 10px #020617}.spectator-toggle[aria-pressed=true]{color:#67e8f9}.spectator-toggle:hover,.spectator-toggle:focus-visible{color:#bfdbfe;text-decoration:underline;text-underline-offset:.16em;outline:none}.movement-mode-controls{display:flex;align-items:center;gap:.25rem;width:min(14rem,42vw)}.movement-mode-select{flex:1;min-width:0;margin:0;padding:.15rem .25rem;border:1px solid #334155;border-radius:.3rem;background:#0f172a;color:#e2e8f0;font:inherit;font-size:.75rem}.movement-mode-step{display:grid;place-items:center;width:1.5rem;height:1.5rem;margin:0;padding:0;border:1px solid #334155;border-radius:.3rem;background:#0f172a;color:#cbd5e1;font:inherit;cursor:pointer}.movement-mode-step:hover{border-color:#64748b;color:#f8fafc}.movement-mode-hint{width:min(14rem,42vw);margin:0;color:#64748b;font-size:.68rem;text-align:right}@keyframes keybind-record-flash{0%,to{opacity:1}50%{opacity:.45}}.settings-group{display:flex;flex-direction:column;align-items:flex-end;gap:.35rem}.settings-text-style{color:#93c5fd;font:600 clamp(.65rem,1.5vw,.75rem) system-ui,sans-serif}.colliders-toggle{appearance:none;border:0;padding:0;background:transparent;cursor:pointer;pointer-events:auto}.colliders-toggle:hover,.colliders-toggle:focus-visible{color:#bfdbfe;text-decoration:underline;text-underline-offset:.16em;outline:none}.mute-sfx-toggle{appearance:none;border:0;padding:0;background:transparent;cursor:pointer;pointer-events:auto}.mute-sfx-toggle:hover,.mute-sfx-toggle:focus-visible{color:#bfdbfe;text-decoration:underline;text-underline-offset:.16em;outline:none}.respawn-toggle{appearance:none;border:0;padding:0;background:transparent;cursor:pointer;pointer-events:auto}.respawn-toggle:hover,.respawn-toggle:focus-visible{color:#bfdbfe;text-decoration:underline;text-underline-offset:.16em;outline:none}.coords-toggle{appearance:none;border:0;padding:0;background:transparent;cursor:pointer;pointer-events:auto}.coords-toggle:hover,.coords-toggle:focus-visible{color:#bfdbfe;text-decoration:underline;text-underline-offset:.16em;outline:none}.mouse-control-toggle{appearance:none;border:0;padding:0;background:transparent;cursor:pointer;pointer-events:auto}.mouse-control-toggle:hover,.mouse-control-toggle:focus-visible{color:#bfdbfe;text-decoration:underline;text-underline-offset:.16em;outline:none}#player_coords_status,#player_speed_status{color:#93c5fd;font:600 clamp(.65rem,1.5vw,.75rem) system-ui,sans-serif;letter-spacing:.05em;text-transform:none}#body{position:relative;min-height:0;display:flex;align-items:flex-end}#footer{align-items:flex-end;justify-content:flex-end;color:#cbd5e1;font:500 .75rem system-ui,sans-serif}.held-item-hud{position:absolute;left:50%;bottom:calc(var(--controller-offset) + .35rem);z-index:5;display:flex;flex-direction:column;align-items:center;gap:.28rem;transform:translate(-50%);pointer-events:none}.held-item-caption,.held-item-name{color:#e2e8f0;text-shadow:0 2px 8px #020617}.held-item-caption{letter-spacing:.12em;text-transform:uppercase;opacity:.85}.held-item-name{font-weight:700}.held-item-slots{display:flex;align-items:center;gap:.4rem;pointer-events:auto}.held-item-slot{position:relative;width:3rem;height:3rem;display:grid;place-items:center;padding:0;border:1px solid #475569;border-radius:.45rem;background:#0f172ae0;box-shadow:0 8px 24px #02061773;color:inherit;cursor:pointer}.held-item-slot.is-empty{border-style:dashed;opacity:.75}.held-item-slot.is-active{border-color:#f8fafc;box-shadow:0 0 0 1px #f8fafc59,0 8px 24px #02061773;opacity:1}.held-item-slot-index{position:absolute;top:.18rem;left:.28rem;font:700 .62rem/1 system-ui,sans-serif;color:#94a3b8}.held-item-slot.is-active .held-item-slot-index{color:#f8fafc}.held-item-swatch{width:1.55rem;height:1.55rem;border-radius:.28rem;border:1px solid rgba(248,250,252,.35)}.held-item-slot.is-empty .held-item-swatch{border-style:dashed;border-color:#64748b}.inventory-window-backdrop{position:fixed;inset:0;z-index:35;display:flex;align-items:center;justify-content:center;padding:1rem;box-sizing:border-box;background:#0206179e;pointer-events:auto}.inventory-window{width:min(22rem,100%);display:flex;flex-direction:column;align-items:stretch;gap:.85rem;padding:1.2rem 1.2rem 1rem;border:1px solid #334155;border-radius:.75rem;background:#0f172a;box-shadow:0 18px 50px #0206178c;color:#e2e8f0}.inventory-window-title{margin:0;text-align:center;font:800 1.55rem system-ui,sans-serif;letter-spacing:.14em;text-transform:uppercase;color:#f8fafc}.inventory-window-hint{margin:-.35rem 0 0;text-align:center;color:#94a3b8;font:600 .75rem system-ui,sans-serif}.inventory-window-slots{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem}.inventory-window-slot{position:relative;min-height:7.5rem;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.55rem;padding:.85rem .65rem .75rem;border:1px solid #475569;border-radius:.65rem;background:#0f172af2;color:inherit;cursor:pointer}.inventory-window-slot.is-empty{border-style:dashed;opacity:.78}.inventory-window-slot.is-active{border-color:#f8fafc;box-shadow:0 0 0 1px #f8fafc59;opacity:1}.inventory-window-slot-index{position:absolute;top:.45rem;left:.55rem;font:700 .75rem/1 system-ui,sans-serif;color:#94a3b8}.inventory-window-slot.is-active .inventory-window-slot-index{color:#f8fafc}.inventory-window-swatch{width:2.6rem;height:2.6rem;border-radius:.45rem;border:1px solid rgba(148,163,184,.45);box-shadow:inset 0 0 0 1px #0f172a59}.inventory-window-slot.is-empty .inventory-window-swatch{border-style:dashed}.inventory-window-slot-name{font:700 .85rem/1.2 system-ui,sans-serif;color:#e2e8f0;text-align:center}.inventory-window-close{align-self:center;min-width:7rem}.touch-controls{display:none}html.is-touch:not(.is-handheld) .touch-controls{position:fixed;inset:0;z-index:3;display:grid;grid-template-columns:1fr 1fr;user-select:none;-webkit-user-select:none;-webkit-touch-callout:none}html.is-touch{user-select:none;-webkit-user-select:none;-webkit-touch-callout:none}:where(html.is-touch),:where(html.is-touch) :where(*){touch-action:manipulation}html.is-touch :is(input,textarea,[contenteditable=true]){user-select:text;-webkit-user-select:text}html.is-touch:not(.is-handheld),html.is-touch:not(.is-handheld) body{overflow:hidden;overscroll-behavior:none;touch-action:none}.touch-zone{position:relative;min-width:0;min-height:0;pointer-events:auto;touch-action:none;-webkit-tap-highlight-color:transparent}.touch-zone-hint{position:absolute;left:50%;bottom:18%;transform:translate(-50%);color:#e2e8f073;font:600 .75rem system-ui,sans-serif;letter-spacing:.04em;white-space:nowrap;text-shadow:0 1px 3px #020617;pointer-events:none}.touch-joystick{box-sizing:border-box;position:fixed;width:132px;height:132px;margin:-66px 0 0 -66px;border:2px solid rgb(226 232 240 / .45);border-radius:50%;background:#0f172a47;pointer-events:none}.touch-joystick-knob{position:absolute;left:50%;top:50%;width:60px;height:60px;margin:-30px 0 0 -30px;border-radius:50%;background:#e2e8f0b3;box-shadow:0 2px 8px #02061780}.touch-action-column{display:grid;grid-template-rows:1fr 1fr;min-height:0}.touch-action-zone{appearance:none;margin:0;padding:0;border:0;background:transparent;color:inherit;cursor:pointer}.touch-interact-zone{border-bottom:1px dashed rgb(226 232 240 / .14)}.touch-action-badge{box-sizing:border-box;position:absolute;right:max(1.25rem,env(safe-area-inset-right));display:grid;place-items:center;width:4.5rem;height:4.5rem;border:2px solid rgb(226 232 240 / .4);border-radius:50%;background:#0f172a4d;color:#f1f5f9cc;font:700 .75rem system-ui,sans-serif;text-shadow:0 1px 3px #020617;transition:transform 70ms ease-out,background-color 70ms ease-out;pointer-events:none}.touch-interact-zone .touch-action-badge{top:4.25rem}.touch-jump-zone .touch-action-badge{bottom:1.5rem;width:5.5rem;height:5.5rem}.touch-action-zone.is-pressed .touch-action-badge{transform:scale(.9);background:#94a3b873}.touch-system-buttons{display:none}html.is-touch:not(.is-handheld) .touch-system-buttons{position:fixed;z-index:46;top:max(.5rem,env(safe-area-inset-top));left:50%;transform:translate(-50%);display:flex;gap:.5rem}.touch-system-button{appearance:none;display:grid;place-items:center;min-width:3rem;height:2.25rem;padding:0 .75rem;border:1px solid rgb(226 232 240 / .35);border-radius:999px;background:#0f172a8c;color:#e2e8f0;font:700 .75rem system-ui,sans-serif;letter-spacing:.04em;pointer-events:auto;touch-action:manipulation;-webkit-tap-highlight-color:transparent}.touch-system-button.is-active{border-color:#fbbf24;color:#fbbf24}html.is-touch:not(.is-handheld) .header-actions>:not(.dev-mode-hud),html.is-touch:not(.is-handheld) #footer{display:none}html.is-touch:not(.is-handheld) .held-item-hud{position:fixed;bottom:max(.4rem,env(safe-area-inset-bottom));transform:translate(-50%) scale(.8);transform-origin:bottom center}html.is-touch:not(.is-handheld) .speedrun-timer-hud{top:calc(var(--speedrun-view-top, 0px) + 3.25rem)}@media(max-width:480px){.ui-shell{--edge-height: 36px}}.speedrun-timer-hud{position:fixed;top:calc(var(--speedrun-view-top, 0px) + 8px);left:calc(var(--speedrun-view-left, 0px) + (var(--speedrun-view-width, 100vw) * .5));transform:translate(-50%);z-index:5;padding:.15rem .55rem;color:#f8fafc;font:700 clamp(1rem,2.2vw,1.45rem) ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;letter-spacing:.04em;text-shadow:0 2px 10px #020617;text-align:center;pointer-events:none;-webkit-user-select:none;user-select:none}.speedrun-timer-hud.is-running{color:#f8fafc}.speedrun-timer-hud.is-stopped{color:#4ade80}.speedrun-runs-panel{position:fixed;top:calc(var(--speedrun-view-top, 0px) + (var(--speedrun-view-height, 100vh) * .5));left:calc(var(--speedrun-view-left, 0px) + var(--speedrun-view-width, 100vw) - 10px);transform:translate(-100%,-50%);z-index:5;display:grid;gap:.45rem;min-width:9.5rem;padding:.45rem .55rem;color:#f8fafc;font:700 clamp(.75rem,1.6vw,.9rem) ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;letter-spacing:.04em;text-shadow:0 2px 10px #020617;text-align:right;opacity:.4;pointer-events:none;-webkit-user-select:none;user-select:none}.speedrun-timer-best{display:flex;align-items:center;justify-content:flex-end;gap:.45rem;color:#fde68a;pointer-events:auto}.speedrun-timer-best-label{font-size:.7em;letter-spacing:.08em;text-transform:uppercase;opacity:.85}.speedrun-timer-delete{pointer-events:auto;border:1px solid rgba(248,250,252,.35);border-radius:.25rem;padding:.1rem .4rem;background:#0f172a8c;color:#fecaca;font:600 .7rem system-ui,sans-serif;letter-spacing:.04em;text-transform:uppercase;cursor:pointer}.speedrun-timer-delete:hover{background:#7f1d1d8c}.speedrun-timer-previous{margin:0;padding:0;list-style:none;display:grid;gap:.15rem;color:#cbd5e1;font-weight:600;font-size:.92em}.speedrun-timer-previous li{display:flex;justify-content:flex-end;gap:.55rem}.speedrun-timer-previous-index{min-width:1ch;color:#94a3b8}.minimap-hud{position:fixed;top:50%;left:50%;z-index:28;display:flex;flex-direction:column;gap:.35rem;width:min(22rem,calc(100vw - 1.5rem));padding:.55rem .6rem .65rem;border:1px solid #334155;border-radius:.55rem;background:#0f172aeb;box-shadow:0 14px 36px #02061780;color:#e2e8f0;opacity:.5;transform:translate(-50%,-50%);pointer-events:auto}.minimap-hud-header{display:flex;align-items:baseline;justify-content:space-between;gap:.75rem}.minimap-hud-title{font-weight:700;letter-spacing:.12em;text-transform:uppercase}.minimap-hud-hint{opacity:.72;font-size:.72rem}.minimap-hud-map{position:relative;width:100%;aspect-ratio:16 / 9;overflow:hidden;border:1px solid #475569;border-radius:.35rem;background:#020617;image-rendering:pixelated;cursor:default}.minimap-hud.is-dev .minimap-hud-map{cursor:crosshair}.minimap-hud-image,.minimap-hud-placeholder{display:block;width:100%;height:100%;object-fit:contain;image-rendering:pixelated;pointer-events:none;-webkit-user-select:none;user-select:none}.minimap-hud-placeholder{background:linear-gradient(90deg,rgba(51,65,85,.35) 1px,transparent 1px) 0 0 / 12px 12px,linear-gradient(rgba(51,65,85,.35) 1px,transparent 1px) 0 0 / 12px 12px,#0b1220}.minimap-hud-player{position:absolute;width:.55rem;height:.55rem;margin:-.275rem 0 0 -.275rem;border-radius:50%;background:#38bdf8;box-shadow:0 0 0 1px #0f172ae6,0 0 0 2px #38bdf88c;pointer-events:none}.hh-bezel,.hh-controls{display:none}html.is-handheld{--hh-body: #d3d0c8;--hh-body-shade: #bfbcb3;--hh-bezel-color: #4a4f5c;--hh-ink: #3b4677;--hh-dpad-color: #2c2e34;--hh-ab-color: #9c1d4d;--hh-ab-pressed: #74123a;--hh-pill-color: #8d909a}html.is-handheld,html.is-handheld body{overflow:hidden;overscroll-behavior:none;touch-action:none;user-select:none;-webkit-user-select:none;-webkit-touch-callout:none}html.is-handheld body{background:linear-gradient(180deg,var(--hh-body) 0%,var(--hh-body-shade) 100%)}html.is-handheld #content_layer{inset:auto;left:var(--hh-screen-left);top:var(--hh-screen-top);width:var(--hh-screen-width);height:var(--hh-screen-height);background:#0f172a}html.is-handheld .header-actions>:not(.dev-mode-hud),html.is-handheld #footer{display:none}html.is-handheld .hh-bezel{position:fixed;z-index:1;display:block;box-sizing:border-box;left:calc(var(--hh-screen-left) - var(--hh-bezel-side));top:calc(var(--hh-screen-top) - var(--hh-bezel-top));width:calc(var(--hh-screen-width) + 2 * var(--hh-bezel-side));height:calc(var(--hh-screen-height) + var(--hh-bezel-top) + var(--hh-bezel-bottom));border-style:solid;border-color:var(--hh-bezel-color);border-width:var(--hh-bezel-top) var(--hh-bezel-side) var(--hh-bezel-bottom);border-radius:8px 8px 34px;box-shadow:inset 0 0 0 2px #00000059,0 1px #ffffff80;pointer-events:none}.hh-power{position:absolute;top:calc(-1 * var(--hh-bezel-top) + 6px);left:0;display:flex;align-items:center;gap:.3rem;color:#a9adb8;font:700 .55rem/1 system-ui,sans-serif;letter-spacing:.12em;text-transform:uppercase}.hh-power-led{width:.45rem;height:.45rem;border-radius:50%;background:#ef4444;box-shadow:0 0 6px #ef4444}.hh-brand{position:absolute;bottom:calc(-1 * var(--hh-bezel-bottom) + 7px);left:0;color:#c7cad3;font:italic 800 .8rem/1 system-ui,sans-serif;letter-spacing:.08em;text-transform:uppercase}html.is-handheld .hh-controls{position:fixed;z-index:3;top:var(--hh-controls-top);right:0;bottom:0;left:0;display:flex;flex-direction:column;justify-content:space-evenly;padding:0 calc(var(--hh-margin) + 6px) max(1rem,env(safe-area-inset-bottom));pointer-events:auto}.hh-pad-row{display:flex;align-items:center;justify-content:space-between;margin-top:5.2rem}.hh-dpad{position:relative;width:9.5rem;height:9.5rem;flex:none;touch-action:none;cursor:pointer}.hh-dpad-arm,.hh-dpad-center{position:absolute;background:var(--hh-dpad-color);box-shadow:0 3px #00000059}.hh-dpad-arm.is-pressed{background:#5b5f6b;box-shadow:inset 0 3px 4px #0000008c}.hh-dpad-up,.hh-dpad-down{left:34%;width:32%;height:36%}.hh-dpad-up{top:0;border-radius:6px 6px 0 0}.hh-dpad-down{bottom:0;border-radius:0 0 6px 6px}.hh-dpad-left,.hh-dpad-right{top:34%;width:36%;height:32%}.hh-dpad-left{left:0;border-radius:6px 0 0 6px}.hh-dpad-right{right:0;border-radius:0 6px 6px 0}.hh-dpad-center{top:33%;left:33%;width:34%;height:34%;box-shadow:none}.hh-ab{display:flex;align-items:flex-start;gap:.9rem;transform:rotate(-25deg)}.hh-ab-button,.hh-system-button{display:grid;justify-items:center;gap:.3rem}.hh-b{margin-top:2.2rem}.hh-round{width:4.1rem;height:4.1rem;border:0;border-radius:50%;background:var(--hh-ab-color);box-shadow:0 4px #5a0f2c,0 6px 10px #00000040;color:#f6e6ec;font:800 1.35rem/1 system-ui,sans-serif;touch-action:none;cursor:pointer}.hh-round.is-pressed{background:var(--hh-ab-pressed);box-shadow:0 1px #5a0f2c;transform:translateY(3px)}.hh-caption{color:var(--hh-ink);font:800 .66rem/1 system-ui,sans-serif;letter-spacing:.14em;text-transform:uppercase}.hh-system-row{display:flex;justify-content:center;gap:2.2rem}.hh-system-button .hh-caption{font-size:.8rem}.hh-system-button{transform:rotate(-25deg)}.hh-pill{width:4.6rem;height:1.35rem;border:0;border-radius:999px;background:var(--hh-pill-color);box-shadow:inset 0 -2px #00000040,0 0 0 3px #00000014;touch-action:none;cursor:pointer}.hh-pill:active,.hh-pill.is-active{background:#6d707a}html.is-handheld .held-item-hud{position:fixed;top:calc(var(--hh-controls-top) + .6rem);bottom:auto}html.is-handheld .held-item-caption,html.is-handheld .held-item-name{color:var(--hh-ink);text-shadow:none}html.is-handheld .minimap-hud{top:calc(var(--hh-screen-top) + var(--hh-screen-height) / 2);width:calc(var(--hh-screen-width) * .86);padding:.35rem .4rem .4rem;opacity:.85}html.is-handheld .minimap-hud-header,html.is-handheld #project_title,html.is-handheld .dev-mode-hud{display:none}.hh-status-row{position:absolute;right:0;bottom:calc(-1 * var(--hh-bezel-bottom) + 8px);display:flex;gap:.4rem}.hh-status-led{width:.55rem;height:.55rem;border-radius:50%;background:#22c55e;box-shadow:0 0 6px #22c55e}.hh-status-led.is-dev{background:#ef4444;box-shadow:0 0 6px #ef4444}html.is-handheld .game-menu-backdrop{inset:auto;left:var(--hh-screen-left);top:var(--hh-screen-top);width:var(--hh-screen-width);height:var(--hh-screen-height);padding:.3rem}html.is-handheld .game-menu-window{width:100%;max-height:100%;gap:.35rem;padding:.45rem .55rem}.dev-panel,.game-menu-backdrop{--m-bg: #e9e9e9;--m-surface: #f7f7f7;--m-raised: #ffffff;--m-line: #8a8a8a;--m-line-soft: #c9c9c9;--m-fg: #111111;--m-muted: #5c5c5c;--m-fill: #111111;--m-on-fill: #f7f7f7;--m-track: #cfcfcf;--m-changed: #1d5fd1;--m-font: ui-monospace, "SFMono-Regular", Menlo, Consolas, "Liberation Mono", monospace;--m-display: "Arial Narrow", "Roboto Condensed", system-ui, sans-serif;color-scheme:light}@media(prefers-color-scheme:dark){.dev-panel,.game-menu-backdrop{--m-bg: #0d0d0d;--m-surface: #171717;--m-raised: #202020;--m-line: #6b6b6b;--m-line-soft: #333333;--m-fg: #ededed;--m-muted: #9a9a9a;--m-fill: #ededed;--m-on-fill: #111111;--m-track: #3a3a3a;--m-changed: #6aa3ff;color-scheme:dark}}.dev-panel *,.game-menu-backdrop *{box-sizing:border-box;border-radius:0}.dev-panel button,.dev-panel input,.dev-panel textarea,.game-menu-backdrop button{font:inherit;color:inherit}.dev-panel button,.game-menu-backdrop button{cursor:pointer}.dev-panel button:disabled{opacity:.4;cursor:default}.dev-panel :focus-visible,.game-menu-backdrop :focus-visible{outline:2px solid var(--m-fg);outline-offset:1px}.dev-panel{box-sizing:border-box;position:fixed;z-index:45;display:flex;flex-direction:column;min-width:18rem;min-height:9rem;max-width:100vw;max-height:100vh;overflow:hidden;resize:both;border:2px solid var(--m-fg);background:var(--m-surface);box-shadow:4px 4px color-mix(in srgb,var(--m-fg) 25%,transparent);color:var(--m-fg);font:12px/1.35 var(--m-font);pointer-events:auto}.dp-title{display:flex;align-items:center;gap:8px;padding:3px 4px 3px 8px;background:var(--m-fill);color:var(--m-on-fill);cursor:move;-webkit-user-select:none;user-select:none;touch-action:none}.dp-title span{flex:1;font-weight:600;letter-spacing:.08em;text-transform:uppercase}.dp-title button{padding:0 6px;border:1px solid var(--m-on-fill);background:none}.dp-head{display:flex;align-items:stretch;border-bottom:1px solid var(--m-line);background:var(--m-raised)}.dp-tabs{display:flex;flex:1;min-width:0;overflow-x:auto}.dp-tab{padding:6px 12px;border:0;border-right:1px solid var(--m-line-soft);background:none;white-space:nowrap;font-weight:600;letter-spacing:.05em;text-transform:uppercase}.dp-tab[aria-selected=true]{background:var(--m-fill);color:var(--m-on-fill)}.dp-count{margin-left:4px;color:var(--m-changed)}.dp-tab[aria-selected=true] .dp-count{color:inherit}.dp-actions{display:flex;border-left:1px solid var(--m-line)}.dp-actions button{padding:0 10px;border:0;border-left:1px solid var(--m-line-soft);background:none;white-space:nowrap}.dp-actions button:hover,.dp-tab:not([aria-selected=true]):hover{background:var(--m-surface)}.dp-bar{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:4px 8px;border-bottom:1px solid var(--m-line-soft);color:var(--m-muted)}.dp-btn{padding:2px 8px;border:1px solid var(--m-line);background:var(--m-raised)}.dp-btn:hover:not(:disabled){border-color:var(--m-fg)}.dp-paste{display:flex;flex-direction:column;gap:6px;padding:8px;border-bottom:1px solid var(--m-line-soft)}.dp-paste textarea{height:5rem;padding:2px 4px;border:1px solid var(--m-line);background:var(--m-raised);resize:vertical}.dp-paste div{display:flex;gap:6px}.dp-body{flex:1;min-height:0;overflow:auto;padding:6px;font-size:10.5px;line-height:1.25}.dp-groups{display:flex;flex-wrap:wrap;align-items:flex-start;gap:8px}.dp-group{flex:1 1 11rem;min-width:0;border:1px solid var(--m-line-soft);background:var(--m-raised)}.dp-group-head{display:flex;justify-content:space-between;width:100%;padding:2px 5px;border:0;background:none;font-weight:600;letter-spacing:.05em;text-align:left;text-transform:uppercase}.dp-group-head:after{content:"▾"}.dp-group[data-collapsed] .dp-group-head:after{content:"▸"}.dp-rows{display:flex;flex-direction:column;gap:1px;padding:0 4px 4px}.dp-rows.is-chips{flex-direction:row;flex-wrap:wrap;gap:4px}.dp-scrub{position:relative;display:flex;justify-content:space-between;gap:6px;padding:1px 4px;border:1px solid var(--m-line-soft);background:var(--m-surface);cursor:ew-resize;-webkit-user-select:none;user-select:none;touch-action:none}.dp-scrub:hover,.dp-scrub:focus-visible,.dp-scrub.is-dragging{border-color:var(--m-fg)}.dp-scrub-fill{position:absolute;inset:0 auto 0 0;background:color-mix(in srgb,var(--m-track) 55%,transparent);pointer-events:none}.dp-scrub-label,.dp-scrub-value,.dp-scrub-input{position:relative}.dp-scrub-label{overflow:hidden;color:var(--m-muted);text-overflow:ellipsis;white-space:nowrap}.dp-scrub-value{font-variant-numeric:tabular-nums}.dp-scrub-input{width:6em;padding:0 2px;border:1px solid var(--m-fg);background:var(--m-raised);cursor:text;text-align:right}.dp-scrub.is-changed{border-color:var(--m-changed)}.dp-scrub.is-changed .dp-scrub-label,.dp-scrub.is-changed .dp-scrub-value{color:var(--m-changed);font-weight:600}.dp-scrub.is-changed .dp-scrub-fill{background:color-mix(in srgb,var(--m-changed) 22%,transparent)}.dp-toggle{width:100%;padding:1px 4px;border:1px solid var(--m-line);background:var(--m-surface);text-align:left}.dp-rows.is-chips .dp-toggle,.dp-picker .dp-toggle{width:auto}.dp-toggle[aria-pressed=true]{border-color:var(--m-fill);background:var(--m-fill);color:var(--m-on-fill)}.dp-toggle.is-changed{border-color:var(--m-changed);color:var(--m-changed);font-weight:600}.dp-toggle.is-changed[aria-pressed=true]{background:var(--m-changed);color:var(--m-on-fill)}.dp-segmented{display:grid;grid-template-columns:1fr 1fr;border:1px solid var(--m-line)}.dp-segmented button{padding:1px 4px;border:0;background:var(--m-surface)}.dp-segmented button+button{border-left:1px solid var(--m-line)}.dp-segmented button[aria-pressed=true]{background:var(--m-fill);color:var(--m-on-fill)}.dp-segmented.is-changed{border-color:var(--m-changed)}.dp-segmented.is-changed button[aria-pressed=true]{background:var(--m-changed)}.dp-picker{display:flex;flex-wrap:wrap;gap:4px;margin-bottom:8px}.dp-note{margin:0;color:var(--m-muted)}.dp-text{width:100%;min-width:0;padding:1px 4px;border:1px solid var(--m-line);background:var(--m-surface)}.dp-toast{position:absolute;right:8px;bottom:8px;padding:4px 8px;background:var(--m-fill);color:var(--m-on-fill)}.game-menu-backdrop{position:fixed;inset:0;box-sizing:border-box;z-index:40;display:flex;align-items:center;justify-content:center;padding:16px;background:color-mix(in srgb,var(--m-bg) 70%,transparent);color:var(--m-fg);font:12px/1.35 var(--m-font);pointer-events:auto}.game-menu-window{display:flex;flex-direction:column;gap:10px;width:min(24rem,100%);max-height:100%;padding:14px;border:2px solid var(--m-fg);background:var(--m-surface)}.pm-title{margin:0;font:700 28px/1 var(--m-display);letter-spacing:.3em;text-align:center;text-transform:uppercase}.pm-title.is-sub{font-size:18px;letter-spacing:.2em}.pm-list{display:flex;flex-direction:column;gap:4px}.pm-item{padding:8px 10px;border:1px solid var(--m-line);background:var(--m-raised);font-weight:600;letter-spacing:.08em;text-align:left;text-transform:uppercase}.pm-item:hover,.pm-item:focus{border-color:var(--m-fill);background:var(--m-fill);color:var(--m-on-fill);outline:none}.pm-item:focus:before{content:"▸ "}.pm-hint{margin:0;color:var(--m-muted);text-align:center}.pm-keys{display:flex;flex-direction:column;gap:8px;min-height:0;overflow:auto}.pm-keys table{width:100%;border-collapse:collapse;font:inherit}.pm-keys th{padding:8px 0 3px;border-bottom:1px solid var(--m-line);font-weight:600;letter-spacing:.06em;text-align:left;text-transform:uppercase}.pm-keys thead th{padding-top:0;border:0;color:var(--m-muted);font-weight:400;letter-spacing:0;text-transform:none}.pm-keys td{padding:2px 0;border-bottom:1px solid var(--m-line-soft)}.pm-keys td:first-child{padding-right:6px;color:var(--m-muted);white-space:nowrap}.pm-keys td+td{padding-left:4px}.pm-slot{width:100%;min-width:6.5rem;padding:2px 4px;border:1px solid var(--m-line);background:var(--m-raised);text-align:left;white-space:nowrap}.pm-slot.is-empty{color:var(--m-muted)}.pm-slot.is-recording{background:var(--m-fill);color:var(--m-on-fill)}.pm-slot.is-changed{border-color:var(--m-changed);color:var(--m-changed);font-weight:600}.pm-reset-keys{align-self:flex-start;padding:2px 8px;border:1px solid var(--m-line);background:var(--m-raised)}@media(prefers-reduced-motion:reduce){.dev-panel *,.game-menu-backdrop *{transition:none!important}}.map-toast{position:fixed;left:50%;bottom:16px;z-index:50;max-width:calc(100vw - 32px);padding:6px 12px;border:2px solid #ededed;background:#111;color:#ededed;font:12px/1.35 ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;transform:translate(-50%);pointer-events:none}
