:root{--bg:#04050a;--surface:#0c1018;--surface-translucent:#0c1018b8;--surface-border:#1b2233;--grid-line:#5a6ea014;--primary:#37e2ff;--primary-dim:#1c7a93;--accent:#ffb040;--plasma-hot:#ff5470;--field-line:#6c5ce747;--text:#e6eef7;--muted:#8a97ad;--ok:#3ef5a5;--warn:#ffc24b;--danger:#ff5470;--display:"Space Grotesk", system-ui, sans-serif;--body:"Inter", system-ui, sans-serif;--mono:"JetBrains Mono", ui-monospace, "SF Mono", monospace;--r-panel:8px;--r-control:5px;--r-chip:4px;--r-pill:999px;--sp:8px;--panel-shadow:0 2px 24px #0000008c;--ease-std:cubic-bezier(.4, 0, .2, 1);--ease-expo:cubic-bezier(.16, 1, .3, 1);--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;font-family:var(--body)}*{box-sizing:border-box}html,body,#root{width:100%;height:100%;margin:0}body{background:var(--bg);color:var(--text);-webkit-font-smoothing:antialiased;overflow:hidden}.instrument{position:fixed;inset:0;overflow:hidden}.glass{background:var(--surface-translucent);border:1px solid var(--surface-border);border-radius:var(--r-panel);box-shadow:var(--panel-shadow);-webkit-backdrop-filter:blur(14px)saturate(1.1)}.field{background:radial-gradient(circle at 50% 42%, #1c7a930f, transparent 60%), var(--bg);position:absolute;inset:0}.field-host{touch-action:none;cursor:crosshair;position:absolute;inset:0}.field-host[data-tool=spawn]{cursor:cell}.field-host[data-armed=true]{cursor:crosshair}.field-host[data-tool=erase]{cursor:alias}.field-host:before{content:"";background-image:linear-gradient(var(--grid-line) 1px, transparent 1px), linear-gradient(90deg, var(--grid-line) 1px, transparent 1px);pointer-events:none;background-size:48px 48px;position:absolute;inset:0}.field-overlay{pointer-events:none;justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.field-overlay--top{padding-top:calc(var(--sp) * 2);align-items:flex-start}.field-error{pointer-events:auto;background:#020306b8}.empty-prompt{font-family:var(--display);letter-spacing:.02em;color:var(--muted);animation:breathe 2.6s var(--ease-std) infinite alternate;font-size:20px;font-weight:600}@keyframes breathe{0%{opacity:.35}to{opacity:.7}}.paused-chip{pointer-events:auto;font-family:var(--mono);letter-spacing:.08em;color:var(--text);background:var(--surface-translucent);border:1px solid var(--surface-border);border-radius:var(--r-pill);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);padding:6px 14px;font-size:11px}.field-loading{background:var(--bg);flex-direction:column;gap:16px}.scanline{background:linear-gradient(90deg, transparent, var(--primary), transparent);width:220px;height:2px;animation:scan 1.4s var(--ease-std) infinite;opacity:.7}@keyframes scan{0%{opacity:0;transform:translateY(-30px)}50%{opacity:.8}to{opacity:0;transform:translateY(30px)}}.field-microcopy{font-family:var(--mono);letter-spacing:.14em;text-transform:uppercase;color:var(--muted);font-size:12px}.overload-vignette{pointer-events:none;animation:vignette-in .3s var(--ease-std);position:absolute;inset:0;box-shadow:inset 0 0 220px 40px #ff547052}@keyframes vignette-in{0%{opacity:0}to{opacity:1}}.error-card{text-align:center;max-width:380px;padding:28px}.error-title{font-family:var(--display);color:var(--text);margin:0 0 10px;font-size:18px;font-weight:600}.error-body{color:var(--muted);margin:0 0 20px;font-size:13px;line-height:1.5}.hud{top:calc(var(--sp) * 2);left:calc(var(--sp) * 2);z-index:5;grid-template-columns:repeat(2,minmax(92px,auto));gap:14px 22px;padding:16px 18px;display:grid;position:absolute}.hud-readout{flex-direction:column;gap:3px;display:flex}.hud-label{font-family:var(--mono);letter-spacing:.14em;text-transform:uppercase;color:var(--muted);font-size:10px;font-weight:600}.hud-value{font-family:var(--mono);font-variant-numeric:tabular-nums;color:var(--primary);animation:tick 80ms var(--ease-expo);font-size:22px;font-weight:600}@keyframes tick{0%{opacity:.6;transform:translateY(1px)}to{opacity:1;transform:translateY(0)}}.hud-sub{font-family:var(--body);color:var(--muted);font-size:11px}.hud-fps .hud-value,.hud-healthy .hud-value{color:var(--ok)}.hud-strained .hud-value,.hud[data-state=strained] .hud-frame .hud-value{color:var(--warn)}.hud[data-state=over] .hud-frame .hud-value,.hud-over .hud-value{color:var(--danger);animation:tick 80ms var(--ease-expo), shake 90ms var(--ease-std) 2}@keyframes shake{0%,to{transform:translate(0)}25%{transform:translate(-2px)}75%{transform:translate(2px)}}.hud-spark-wrap{flex-direction:column;grid-column:1/-1;gap:4px;display:flex}.hud-spark{display:block}.hud-spark-line{fill:none;stroke:var(--primary);stroke-width:1.5px;opacity:.85;transition:stroke .12s var(--ease-std)}.hud[data-state=strained] .hud-spark-line{stroke:var(--warn)}.hud[data-state=over] .hud-spark-line{stroke:var(--danger)}.hud-spark-budget{stroke:var(--danger);stroke-width:1px;stroke-dasharray:3 3;opacity:.5}.hud-caption{font-family:var(--body);color:var(--muted);font-size:11px}.console{bottom:calc(var(--sp) * 2);right:calc(var(--sp) * 2);z-index:6;width:300px;animation:panel-in .2s var(--ease-std);flex-direction:column;gap:14px;padding:16px;display:flex;position:absolute}@keyframes panel-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.console-tab{bottom:calc(var(--sp) * 2);right:calc(var(--sp) * 2);z-index:6;font-family:var(--mono);letter-spacing:.1em;color:var(--text);cursor:pointer;padding:8px 14px;font-size:11px;position:absolute}.console-head{justify-content:space-between;align-items:center;display:flex}.console-title{font-family:var(--display);letter-spacing:.06em;text-transform:uppercase;color:var(--text);margin:0;font-size:14px;font-weight:600}.console-collapse{color:var(--muted);cursor:pointer;background:0 0;border:none;font-size:18px;line-height:1}.console-legend{font-family:var(--mono);letter-spacing:.14em;text-transform:uppercase;color:var(--muted);font-size:10px}.tool-seg{border-radius:var(--r-control);border:1px solid var(--surface-border);background:#04050a80;flex-wrap:wrap;gap:4px;padding:4px;display:flex}.tool-chip{min-width:54px;font-family:var(--body);color:var(--muted);border-radius:var(--r-chip);cursor:pointer;transition:color .12s var(--ease-std);background:0 0;border:none;flex:auto;padding:7px 6px;font-size:12px;font-weight:500;position:relative;overflow:hidden}.tool-chip:before{content:"";background:linear-gradient(90deg, var(--primary-dim), var(--primary));transform-origin:0;transition:transform .16s var(--ease-expo);z-index:-1;opacity:.9;position:absolute;inset:0;transform:scaleX(0)}.tool-chip[data-active=true]{color:#041018;font-weight:600}.tool-chip[data-active=true]:before{transform:scaleX(1)}.tool-chip:not([data-active=true]):hover{color:var(--text)}.slider{flex-direction:column;gap:6px;display:flex}.slider-label{font-family:var(--body);color:var(--muted);justify-content:space-between;font-size:12px;display:flex}.slider-value{font-family:var(--mono);font-variant-numeric:tabular-nums;color:var(--primary)}.slider input[type=range]{appearance:none;border-radius:var(--r-pill);background:linear-gradient(90deg, var(--primary-dim), var(--surface-border));cursor:pointer;outline:none;height:4px}.slider input[type=range]::-webkit-slider-thumb{appearance:none;background:var(--primary);cursor:pointer;border-radius:50%;width:14px;height:14px;box-shadow:0 0 8px #37e2ff99}.slider input[type=range]::-moz-range-thumb{background:var(--primary);border:none;border-radius:50%;width:14px;height:14px}.console-transport{grid-template-columns:1fr 1fr 1fr;gap:6px;display:grid}.btn{font-family:var(--body);color:var(--text);border:1px solid var(--surface-border);border-radius:var(--r-control);cursor:pointer;transition:background .12s var(--ease-std), border-color .12s var(--ease-std), transform .12s var(--ease-std);background:#04050a8c;padding:8px 10px;font-size:12px;font-weight:500}.btn:hover{border-color:var(--primary-dim)}.btn:active{transform:translateY(1px)}.btn-primary{color:#041018;background:var(--primary);border-color:var(--primary);font-weight:600}.btn-danger:hover{border-color:var(--danger);color:var(--danger)}.console-group{flex-direction:column;gap:6px;display:flex}.preset-row{flex-direction:column;gap:5px;display:flex}.btn-preset{text-align:left}.btn-preset[data-active=true]{border-color:var(--primary);color:var(--primary)}.console-toggle{font-family:var(--body);color:var(--muted);cursor:pointer;align-items:center;gap:8px;font-size:12px;display:flex}.console-toggle input{accent-color:var(--primary);cursor:pointer}
