:root{--ink:#e8eef6;--ink-dim:#9fb0c4;--glass:#0a101a8c;--glass-edge:#ffffff14;--accent:#ffcf8a;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*{box-sizing:border-box}html,body{height:100%;color:var(--ink);-webkit-user-select:none;user-select:none;touch-action:none;background:#05080d;margin:0;font:13px/1.4 ui-sans-serif,-apple-system,SF Pro Text,Segoe UI,sans-serif;overflow:hidden}#view{cursor:crosshair;width:100vw;height:100dvh;display:block;position:fixed;inset:0}.hud{left:max(14px, env(safe-area-inset-left));bottom:max(14px, env(safe-area-inset-bottom));background:var(--glass);border:1px solid var(--glass-edge);-webkit-backdrop-filter:blur(10px);font-variant-numeric:tabular-nums;pointer-events:none;border-radius:10px;min-width:190px;padding:8px 12px;position:fixed}.hud .row{justify-content:space-between;gap:14px;display:flex}.hud .k{color:var(--ink-dim)}.hud .keys{color:var(--ink-dim);margin-top:6px;font-size:11px}.minimap{left:max(14px, env(safe-area-inset-left));top:max(14px, env(safe-area-inset-top));justify-items:center;gap:6px;width:176px;display:grid;position:fixed}.minimap canvas{cursor:pointer;width:160px;height:160px;display:block}.minimap-info{box-sizing:border-box;background:var(--glass);border:1px solid var(--glass-edge);-webkit-backdrop-filter:blur(10px);border-radius:12px;gap:4px;width:100%;padding:6px 8px;display:grid}.minimap-label{color:var(--ink-dim);text-align:center;font-variant-numeric:tabular-nums;font-size:11px}.minimap-legend{color:var(--ink-dim);flex-wrap:wrap;justify-content:center;gap:2px 8px;font-size:10px;display:flex}.minimap-legend i{vertical-align:-1px;border-radius:2px;width:8px;height:8px;margin-right:3px;display:inline-block}@media (width<=700px){.minimap{width:120px}.minimap canvas{width:108px;height:108px}.minimap-legend{display:none}}.panel{top:max(10px, env(safe-area-inset-top));right:max(10px, env(safe-area-inset-right));overscroll-behavior:contain;touch-action:pan-y;-webkit-user-select:auto;user-select:auto;--tp-base-background-color:#0c121cd1;--tp-base-shadow-color:#0000004d;--tp-button-background-color:#ffcf8a2e;--tp-button-background-color-hover:#ffcf8a4d;--tp-button-foreground-color:#ffe6c2;--tp-container-background-color:#ffffff0f;--tp-input-background-color:#ffffff12;--tp-label-foreground-color:#b9c6d6;--tp-monitor-background-color:#00000040;width:320px;max-height:calc(100dvh - 20px);position:fixed;overflow-y:auto}.hidden{display:none!important}.toast{left:50%;top:max(16px, env(safe-area-inset-top));background:var(--glass);border:1px solid var(--glass-edge);-webkit-backdrop-filter:blur(10px);opacity:0;pointer-events:none;border-radius:999px;padding:8px 14px;transition:opacity .25s;position:fixed;transform:translate(-50%)}.toast.show{opacity:1}.boot{color:var(--ink-dim);letter-spacing:.04em;pointer-events:none;z-index:10;background:radial-gradient(at 50% 60%,#1a2c44 0%,#05080d 70%);place-items:center;transition:opacity .4s;display:grid;position:fixed;inset:0}.boot.done{opacity:0}.boot-card{text-align:center;gap:12px;width:min(320px,80vw);display:grid}.boot-title{letter-spacing:.12em;color:var(--ink);font-size:20px}.boot-bar{background:#ffffff1a;border-radius:999px;height:4px;overflow:hidden}.boot-fill{background:linear-gradient(90deg,#ffcf8a,#ffe6c2);border-radius:999px;width:0%;height:100%;transition:width .25s}.boot-label{color:var(--ink-dim);font-variant-numeric:tabular-nums;font-size:12px}.boot.error{color:#ffb3a8;text-align:center;white-space:pre-wrap;padding:24px}.touch{pointer-events:none;position:fixed;inset:0}.stick{pointer-events:none;background:#ffffff0f;border:1px solid #ffffff40;border-radius:50%;width:120px;height:120px;position:fixed}.stick .nub{background:#ffffff59;border-radius:50%;width:46px;height:46px;margin:-23px 0 0 -23px;position:absolute;top:50%;left:50%}.touch-buttons{right:max(14px, env(safe-area-inset-right));bottom:max(14px, env(safe-area-inset-bottom));pointer-events:auto;gap:8px;display:flex;position:fixed}.touch-buttons button{border:1px solid var(--glass-edge);background:var(--glass);min-width:48px;height:48px;color:var(--ink);font:inherit;-webkit-backdrop-filter:blur(10px);border-radius:12px;font-size:15px}@media (width<=700px){.panel{width:min(92vw,340px);max-height:55dvh}.hud{min-width:0;font-size:11px}.hud .keys{display:none}}
