*{box-sizing:border-box}
:root{
  --bg:#0f1115; --panel:#1a1d25; --panel-2:#0e1016; --text:#f6f7fb;
  --muted:#aab3c7; --accent:#00f2ea; --accent2:#ff0050; --line:#242a39;
  --shadow:0 10px 25px rgba(0,0,0,.35);
}
html,body{height:100%;margin:0;background:radial-gradient(800px 600px at 10% 5%, #151a24, #0b0d12 40%, #07080c 100%);color:var(--text);font-family:Inter,system-ui,Segoe UI,Roboto,Helvetica,Arial,sans-serif}
.layout{display:grid;grid-template-columns:310px 1fr;gap:16px;padding:16px;max-width:1280px;margin:0 auto}
.panel{background:linear-gradient(180deg,var(--panel),var(--panel-2));border:1px solid var(--line);border-radius:16px;box-shadow:var(--shadow);padding:16px}
.panel h2{margin:4px 0 10px}
.field{margin:10px 0 12px}
.field label{display:block;margin-bottom:6px;color:var(--muted);font-size:13px}
select,input[type=range]{width:100%}
.btn{background:linear-gradient(180deg,var(--accent),#03c9c2);border:none;color:#001112;padding:10px 14px;border-radius:10px;font-weight:700;cursor:pointer;box-shadow:0 6px 14px rgba(0,242,234,.25);margin-right:8px}
.btn.outline{background:transparent;color:var(--accent);border:1px solid var(--accent)}
.hint{color:var(--muted);font-size:12px}
.switch{display:inline-flex;align-items:center;gap:8px;font-size:14px}
.switch input{appearance:none;width:42px;height:24px;border-radius:999px;background:#333;position:relative;outline:none;cursor:pointer}
.switch input:checked{background:#15d4cc}
.switch input::after{content:'';position:absolute;top:2px;left:2px;width:20px;height:20px;border-radius:50%;background:#fff;transition:transform .2s}
.switch input:checked::after{transform:translateX(18px)}
.checklist label{display:block;margin:4px 0}
.stage{position:relative}
.hud{display:flex;gap:24px;align-items:center;justify-content:flex-end;padding:10px 14px;margin-bottom:10px;border:1px solid var(--line);border-radius:12px;background:rgba(18,22,31,.6)}
canvas{width:100%;height:auto;display:block;border-radius:12px;border:1px solid var(--line);background:transparent}
.overlay{position:absolute;inset:60px 16px 16px;display:flex;align-items:center;justify-content:center;background:rgba(10,12,18,.55);backdrop-filter:blur(4px);border-radius:12px}
.overlay.hidden{display:none}
.panel.center{text-align:center}
.sub{color:var(--muted)}
