:root{--ink: #f6f0ff;--pink: #ff3d9a;--cyan: #2ee6ff;--amber: #ffb43d;--night: #120d2e;font-family:ui-rounded,SF Pro Rounded,system-ui,-apple-system,Segoe UI,sans-serif}*{box-sizing:border-box}html,body{margin:0;height:100%;overflow:hidden;background:var(--night);color:var(--ink);user-select:none;-webkit-user-select:none}#game{display:block;width:100vw;height:100vh;outline:none}.debug-stats{position:fixed;left:8px;top:8px;z-index:50;padding:6px 8px;font:12px/1.35 ui-monospace,Menlo,monospace;white-space:pre;background:#0a061eb3;border:1px solid rgba(46,230,255,.4);border-radius:6px;pointer-events:none}.ui-root{position:fixed;inset:0;pointer-events:none;z-index:20}.hud{position:absolute;left:28px;top:24px;transition:opacity .2s}.hp{display:flex;align-items:center;gap:10px}.hp-icon{color:var(--pink);font-size:22px;text-shadow:0 0 10px var(--pink)}.hp-track{position:relative;width:240px;height:14px;border-radius:8px;overflow:hidden;background:#120a2cbf;border:2px solid rgba(255,255,255,.28);box-shadow:0 0 16px #ff3d9a40}.hp-ghost{position:absolute;inset:0 auto 0 0;background:#fff5}.hp-fill2{position:absolute;inset:0 auto 0 0;background:linear-gradient(90deg,#ff3d9a,#ffb43d);box-shadow:0 0 14px #ff3d9a;transition:width .12s}.hp.low .hp-icon{animation:pulse .6s infinite alternate}@keyframes pulse{0%{transform:scale(1)}to{transform:scale(1.35)}}.objective{margin-top:10px;font-size:15px;letter-spacing:.02em;text-shadow:0 2px 6px #000a;color:#fff}.obj-dot{color:var(--amber);text-shadow:0 0 8px var(--amber)}.prompt{position:absolute;left:50%;bottom:18%;transform:translate(-50%,10px);opacity:0;transition:opacity .15s,transform .15s;padding:8px 16px;border-radius:999px;background:#120a2cc7;border:1px solid rgba(255,180,61,.6);font-size:16px;display:flex;gap:8px;align-items:center;box-shadow:0 0 18px #ffb43d4d}.prompt.show{opacity:1;transform:translate(-50%)}.toast{position:absolute;left:50%;top:14%;transform:translate(-50%) scale(.95);opacity:0;transition:opacity .25s,transform .25s;font-size:22px;font-weight:700;letter-spacing:.06em;text-shadow:0 0 12px var(--amber),0 2px 4px #000;color:#fff6e6}.toast.show{opacity:1;transform:translate(-50%) scale(1)}.fade{position:absolute;inset:0;background:#0b0820;opacity:0;transition:opacity .05s}.ps,.key{display:inline-flex;align-items:center;justify-content:center;min-width:26px;height:26px;border-radius:50%;font-weight:800;font-size:14px;padding:0 2px;background:#1a1238;border:2px solid #fff8;color:#fff;line-height:1}.ps-cross{color:#7fb2ff;border-color:#7fb2ff}.ps-circle{color:#ff6b7a;border-color:#ff6b7a}.ps-square{color:#ff8fd0;border-color:#ff8fd0}.ps-triangle{color:#5fffc0;border-color:#5fffc0}.ps-shoulder,.key{border-radius:7px;padding:0 7px;font-size:12px}.key-wide{min-width:52px}.menu-layer{position:absolute;inset:0;display:none;align-items:center;justify-content:center;background:radial-gradient(ellipse at center,#1408328c,#080418d9);pointer-events:auto}.menu-layer.open{display:flex}.menu{min-width:380px;max-width:min(560px,92vw);padding:26px 30px 18px;border-radius:18px;background:linear-gradient(160deg,#28145aeb,#120a2cf2);border:1px solid rgba(255,61,154,.5);box-shadow:0 0 40px #ff3d9a40,inset 0 0 30px #2ee6ff0f}.menu.warm{border-color:#ffb43db3;box-shadow:0 0 50px #ffa03c59}.menu-title{font-size:26px;font-weight:800;letter-spacing:.04em;margin-bottom:4px;text-shadow:0 0 14px var(--pink)}.menu.warm .menu-title{text-shadow:0 0 14px var(--amber)}.menu-sub{opacity:.75;margin-bottom:14px;font-size:14px}.menu-items{display:flex;flex-direction:column;gap:4px;margin-top:10px}.menu-item{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:10px 14px;border-radius:10px;cursor:pointer;font-size:17px;transition:background .1s}.menu-item.sel{background:linear-gradient(90deg,#ff3d9a73,#ff3d9a14);box-shadow:inset 3px 0 0 var(--pink)}.menu.warm .menu-item.sel{background:linear-gradient(90deg,#ffb43d73,#ffb43d0f);box-shadow:inset 3px 0 0 var(--amber)}.menu-item.disabled{opacity:.35}.mi-value{opacity:.9;font-variant-numeric:tabular-nums;display:flex;gap:8px;align-items:center}.mi-hint{opacity:.6;font-size:13px}.toggle.on{color:var(--cyan);text-shadow:0 0 8px var(--cyan)}.slider{display:inline-block;width:120px;height:8px;border-radius:4px;background:#fff2;overflow:hidden}.slider span{display:block;height:100%;background:linear-gradient(90deg,var(--pink),var(--amber))}.num{width:30px;text-align:right;font-size:13px;opacity:.7}.menu-footer{margin-top:16px;font-size:13px;opacity:.75;display:flex;align-items:center;gap:6px}.menu.title-menu{background:linear-gradient(160deg,#28145ad1,#120a2ce0);text-align:left}.menu.title-menu .menu-title{font-size:40px;line-height:1;letter-spacing:.08em;background:linear-gradient(90deg,#ff3d9a,#ffb43d 60%,#2ee6ff);-webkit-background-clip:text;background-clip:text;color:transparent;filter:drop-shadow(0 0 12px rgba(255,61,154,.6))}.menu-layer:has(.title-menu){background:linear-gradient(90deg,#080418bf,#0804181a 70%);justify-content:flex-start;padding-left:8vw}
