:root{--panel-bg:#181c16e0;--panel-fg:#f2eee4;--panel-muted:#a9a596;--accent:#f2c14e;--line:#ffffff1f;font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif}*{box-sizing:border-box}html,body{background:#000;height:100%;margin:0;overflow:hidden}#stage{justify-content:center;align-items:center;display:flex;position:fixed;inset:0}#stage canvas{display:block}body.presenting,body.presenting canvas{cursor:none}#loading{color:var(--panel-fg);letter-spacing:.04em;place-items:center;font-size:18px;display:grid;position:fixed;inset:0}.control-panel{background:var(--panel-bg);width:340px;max-height:calc(100vh - 24px);color:var(--panel-fg);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);-webkit-user-select:none;user-select:none;border-radius:10px;flex-direction:column;padding:12px 14px;font-size:13px;display:flex;position:fixed;top:12px;right:12px;overflow:hidden;box-shadow:0 8px 30px #00000059}.control-panel[hidden]{display:none}.control-panel header{justify-content:space-between;align-items:baseline;margin-bottom:6px;display:flex}.control-panel header span,.control-panel .status{color:var(--panel-muted);font-size:11px}.control-panel .status{font-variant-numeric:tabular-nums;margin-bottom:4px}.control-panel section{padding:4px 0}.control-panel .buttons.main-buttons{grid-template-columns:repeat(4,1fr);margin-bottom:10px}.control-panel .main-buttons button{padding:6px 4px}.control-panel .tabs{border-bottom:1px solid var(--line);flex:none;gap:2px;display:flex}.control-panel .tabs .tab{color:var(--panel-muted);white-space:nowrap;background:0 0;border:none;border-bottom:2px solid #0000;border-radius:6px 6px 0 0;flex:1;padding:6px 4px 7px}.control-panel .tabs .tab:hover{color:var(--panel-fg);background:#ffffff0f}.control-panel .tabs .tab.active{border-bottom-color:var(--accent);color:var(--panel-fg);font-weight:600}.control-panel .tabs .tab[data-dirty=true]:after{content:" ●";color:var(--accent)}.control-panel .tab-page{flex-direction:column;flex:auto;min-height:0;display:flex}.control-panel .tab-page[hidden]{display:none}.control-panel .tab-body{flex:auto;min-height:0;margin-right:-8px;padding:6px 8px 4px 0;overflow-y:auto}.control-panel details.group{border-bottom:1px solid var(--line)}.control-panel details.group>summary{text-transform:uppercase;letter-spacing:.08em;color:var(--accent);cursor:pointer;align-items:center;gap:6px;padding:8px 2px;font-size:11px;font-weight:600;list-style:none;display:flex}.control-panel details.group>summary::-webkit-details-marker{display:none}.control-panel details.group>summary:before{content:"▸";width:10px;transition:transform .15s}.control-panel details.group[open]>summary:before{transform:rotate(90deg)}.control-panel details.group>summary:hover{color:var(--panel-fg)}.control-panel .group-body{padding:0 0 8px 16px}.control-panel h3{text-transform:uppercase;letter-spacing:.08em;color:var(--accent);margin:0 0 6px;font-size:11px;font-weight:600}.control-panel .buttons{grid-template-columns:1fr 1fr;gap:6px;display:grid}.control-panel .row.media select{width:170px}.control-panel .media-status{color:var(--panel-muted);margin:-2px 0 4px;font-size:11px;display:block}.control-panel .media-status[data-state=error]{color:#ff8a80}.control-panel .row[hidden]{display:none}.control-panel .effect-actions{border-top:1px solid var(--line);flex:none;padding-top:8px}.control-panel .effect-actions .buttons{grid-template-columns:repeat(4,1fr)}.control-panel .effect-actions button{padding:6px 4px}.control-panel .effect-status{color:var(--panel-muted);margin-bottom:6px;font-size:11px;display:block}.control-panel .effect-status[data-state=dirty]{color:var(--accent)}.control-panel .effect-status[data-state=error]{color:#ff8a80}.control-panel .buttons h3{grid-column:1/-1}.control-panel button{border:1px solid var(--line);color:inherit;font:inherit;cursor:pointer;background:#ffffff14;border-radius:6px;padding:7px 8px}.control-panel button:hover{background:#ffffff29}.control-panel .row{grid-template-columns:1fr auto;align-items:center;gap:4px 8px;padding:4px 0;display:grid}.control-panel .row.slider{grid-template-columns:1fr auto}.control-panel .row.slider input{width:100%;accent-color:var(--accent);grid-area:2/1/auto/-1}.control-panel output{color:var(--panel-muted);font-variant-numeric:tabular-nums;font-size:12px}.control-panel input[type=text],.control-panel select{border:1px solid var(--line);width:150px;color:inherit;font:inherit;background:#0000004d;border-radius:5px;padding:4px 6px}.control-panel input[type=color]{background:0 0;border:none;width:44px;height:24px;padding:0}.debug-panel{color:#9ff7c4;pointer-events:none;background:#0009;border-radius:6px;margin:0;padding:8px 10px;font:12px/1.45 ui-monospace,Cascadia Mono,Consolas,monospace;position:fixed;top:12px;left:12px}.debug-panel[hidden]{display:none}
