:root{--bg:#000;--fg:#cfd6dd;--dim:#8a949e;--accent:#6cf;--panel:#080a0cb8;--line:#ffffff24}*{box-sizing:border-box}html,body{background:var(--bg);color:var(--fg);overflow:hidden;-webkit-text-size-adjust:100%;height:100%;margin:0;font:12px/1.5 ui-monospace,SFMono-Regular,SF Mono,Menlo,Consolas,Liberation Mono,monospace}#root,.stage{position:absolute;inset:0}.stage canvas{position:absolute;display:block;width:100%;height:100%;top:0;left:0}.panel{position:absolute;z-index:2;overflow-y:auto;background:var(--panel);border:1px solid var(--line);backdrop-filter:blur(6px);border-radius:6px;width:268px;max-height:calc(100% - 24px);padding:10px 12px 12px;top:12px;left:12px}.panel.collapsed{width:auto;padding-bottom:10px}.panel-head{display:flex;justify-content:space-between;align-items:baseline;gap:10px}.panel-head h1{letter-spacing:.08em;text-transform:uppercase;color:var(--fg);margin:0;font-size:12px;font-weight:600}.panel-head button{color:var(--dim);cursor:pointer;font:inherit;background:0 0;border:none;padding:0 2px}.panel-head button:hover{color:var(--fg)}fieldset{border:1px solid var(--line);border-radius:4px;margin:10px 0 0;padding:8px 10px 10px}legend{color:var(--dim);text-transform:uppercase;letter-spacing:.08em;padding:0 5px;font-size:10px}.row{display:flex;justify-content:space-between;align-items: center;gap:8px;margin:6px 0}.row>span:first-child{color:var(--dim);white-space:nowrap}.row .val{color:var(--fg);font-variant-numeric:tabular-nums;text-align:right;min-width:3.4em}input[type=range]{accent-color:var(--accent);flex:1;min-width:0}input[type=number],select{color:var(--fg);border:1px solid var(--line);font:inherit;background:#0d1014;border-radius:3px;padding:2px 4px}input[type=number]{text-align:right;width:5.5em}select{max-width:100%}.row.stacked{display:block}.row.stacked>span:first-child{display:block;margin-bottom:3px}.row.stacked select{width:100%}button.action{color:#dceaf6;font:inherit;cursor:pointer;background:#16324a;border:1px solid #2b5f8c;border-radius:4px;width:100%;margin-top:8px;padding:7px 10px}button.action:hover{background:#1d4463}button.action.stop{color:#f3d8d8;background:#3a1b1b;border-color:#7a3535}button.action:disabled{opacity:.5;cursor:default}.note{color:var(--dim);margin-top:6px}.note.err{color:#ff9b8a}.overlay{position:absolute;z-index:3;display:flex;background:radial-gradient(#0000008c,#000000e6);justify-content:center;align-items: center;inset:0}.overlay .card{text-align:center;border:1px solid var(--line);background:#06080ad9;border-radius:8px;max-width:520px;padding:28px 32px}.overlay h2{letter-spacing:.04em;margin:0 0 10px;font-size:18px;font-weight:600}.overlay p{color:var(--dim);margin:0 0 8px;line-height:1.7}.overlay button{font:inherit;color:#dceaf6;cursor:pointer;background:#16324a;border:1px solid #2b5f8c;border-radius:5px;margin-top:16px;padding:10px 22px;font-size:13px}.overlay button:hover{background:#1d4463}.status{position:absolute;z-index:2;background:var(--panel);border:1px solid var(--line);color:var(--dim);font-variant-numeric:tabular-nums;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;border-radius:4px;max-width:calc(100% - 24px);padding:5px 9px;bottom:12px;right:12px}.status b{color:var(--fg);font-weight:600}.status .sep{opacity:.4;padding:0 5px}.status .warn{color:#ffcf7a}.status .err{color:#ff9b8a}@media (max-width:640px){.panel{width:calc(100% - 24px)}.status{font-size:11px}}
