:root{--bg: #ececea;--panel: #fbfbfa;--panel-2: #f4f4f2;--panel-3: #ffffff;--line: rgba(20, 24, 30, .1);--line-2: rgba(20, 24, 30, .18);--txt: #1b1f24;--dim: #5a6472;--dim-2: #8b95a3;--accent: #3b4a5e;--accent-2: #5b7a9e;--danger: #b04a4a;--r: 8px;--r-sm: 5px;--r-xs: 3px;--fs: 12px;--fs-xs: 9.5px;--fs-sm: 11px;--fs-lg: 13px;--mono: ui-monospace, SFMono-Regular, "SF Mono", Menlo, Consolas, monospace;--sans: system-ui, -apple-system, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;--shadow: 0 2px 12px rgba(20, 24, 30, .08);--shadow-sm: 0 1px 3px rgba(20, 24, 30, .06)}*,*:before,*:after{box-sizing:border-box}html,body{margin:0;padding:0;height:100%;overflow:hidden;background:var(--bg);color:var(--txt);font-family:var(--sans);font-size:var(--fs);line-height:1.4;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}body{overscroll-behavior:none;-webkit-tap-highlight-color:transparent;user-select:none;-webkit-user-select:none}#stage{position:fixed;inset:0;display:block;width:100%;height:100%;cursor:grab;touch-action:none}#stage.dragging{cursor:grabbing}#ui{--ui-scale: 1;position:fixed;top:0;left:0;width:calc(100% / var(--ui-scale));height:calc(100% / var(--ui-scale));transform:scale(var(--ui-scale));transform-origin:top left;z-index:10;pointer-events:none;transition:opacity .18s ease}#ui[data-hidden=true]{opacity:0;pointer-events:none}#ui[data-hidden=true] *{pointer-events:none!important}*{scrollbar-width:thin;scrollbar-color:rgba(20,24,30,.22) transparent}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:#14181e33;border-radius:3px}::-webkit-scrollbar-thumb:hover{background:#14181e52}input[type=range]{-webkit-appearance:none;appearance:none;display:block;width:100%;height:16px;margin:0;background:transparent;cursor:pointer}input[type=range]:focus{outline:none}input[type=range]::-webkit-slider-runnable-track{height:4px;border-radius:2px;background:linear-gradient(to right,var(--accent, #3b4a5e) 0%,var(--accent, #3b4a5e) var(--fill, 0%),rgba(20,24,30,.14) var(--fill, 0%),rgba(20,24,30,.14) 100%)}input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;width:12px;height:12px;margin-top:-4px;border:0;border-radius:50%;background:var(--accent, #3b4a5e);box-shadow:0 1px 3px #14181e40;transition:transform .1s ease}input[type=range]:active::-webkit-slider-thumb{transform:scale(1.2)}input[type=range]::-moz-range-track{height:4px;border-radius:2px;background:#14181e24}input[type=range]::-moz-range-progress{height:4px;border-radius:2px;background:var(--accent, #3b4a5e)}input[type=range]::-moz-range-thumb{width:12px;height:12px;border:0;border-radius:50%;background:var(--accent, #3b4a5e);box-shadow:0 1px 3px #14181e40}input[type=checkbox]{width:14px;height:14px;margin:0;accent-color:var(--accent);cursor:pointer}input[type=color]{padding:0;border:0;background:transparent;cursor:pointer}.panel{background:var(--panel);border:1px solid var(--line);border-radius:var(--r);box-shadow:var(--shadow)}.hud{position:absolute;top:8px;left:8px;right:8px;display:flex;align-items:flex-start;justify-content:space-between;gap:8px;pointer-events:none}.hud .panel{pointer-events:auto}.hud-left{display:flex;align-items:center;gap:8px;padding:6px 10px 6px 8px}.dot{width:6px;height:6px;border-radius:50%;background:var(--accent);flex:0 0 auto}.hud-brand b{display:block;font-size:11px;font-weight:700;letter-spacing:.14em;color:var(--txt);line-height:1.1}.hud-stats{display:flex;align-items:center;gap:4px;margin-top:2px;font-family:var(--mono);font-size:10px;color:var(--dim-2);line-height:1}.hud-stats s{text-decoration:none;opacity:.5}.hud-right{display:flex;flex-direction:column;align-items:stretch;gap:0;padding:4px}.hud-row{display:flex;align-items:center;gap:2px}.hud-right .sep{width:1px;height:16px;margin:0 4px;background:var(--line-2)}.hud-audio{justify-content:flex-end;gap:6px;margin-top:4px;padding:4px 4px 0;border-top:1px solid var(--line)}input.hud-vol{width:110px;height:16px;flex:0 0 auto}.hud-vol-val{min-width:30px;font-family:var(--mono);font-size:10px;color:var(--dim-2);text-align:right;user-select:none}.hud-scale{display:inline-flex;align-items:center}.hud-scale-val{min-width:32px;padding:0 2px;font-family:var(--mono);font-size:10px;color:var(--dim-2);text-align:center;cursor:pointer;user-select:none;transition:color .12s ease}.hud-scale-val:hover{color:var(--txt)}@media (max-width: 520px){.hud-scale{display:none}input.hud-vol{width:72px}.hud-left{padding:4px 6px;gap:5px}.hud-brand b{display:none}.hud-stats{font-size:9px}}.side-panel{position:absolute;top:78px;bottom:8px;display:flex;pointer-events:none;transition:transform .22s cubic-bezier(.16,1,.3,1),opacity .16s ease}.tree-panel{left:8px;width:280px}.main-panel{right:8px;width:340px}.side-card{width:100%;min-width:0;display:flex;flex-direction:column;overflow:hidden;pointer-events:auto}.side-head{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:8px 10px;border-bottom:1px solid var(--line);flex:0 0 auto}.side-title{max-width:160px;font-size:10px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--dim);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.side-tools{display:flex;align-items:center;gap:4px}.side-body{flex:1 1 auto;min-width:0;min-height:0;overflow-y:auto;overflow-x:hidden;overscroll-behavior:contain;padding:8px}.tree-panel[data-open=false]{transform:translate(calc(-100% - 12px));opacity:0}.main-panel[data-open=false]{transform:translate(calc(100% + 12px));opacity:0}.tree-panel[data-open=false] .side-card,.main-panel[data-open=false] .side-card{pointer-events:none}.chev-left svg{transform:rotate(90deg)}.pane{display:flex;flex-direction:column;gap:8px;min-width:0}.pane[hidden]{display:none}.panel-tabs,.inspector-tabs{display:flex;gap:2px;padding:3px;background:#14181e0d;border-radius:6px}.panel-tabs{margin:8px 8px 0}.inspector-tabs{margin-bottom:2px}.panel-tabs button,.inspector-tabs button{flex:1 1 0;min-width:0;padding:6px 8px;border:0;border-radius:4px;background:transparent;color:var(--dim);font-family:inherit;font-size:10.5px;font-weight:600;letter-spacing:.02em;cursor:pointer;transition:background .12s ease,color .12s ease}.panel-tabs button:hover,.inspector-tabs button:hover{color:var(--txt)}.panel-tabs button.is-on,.inspector-tabs button.is-on{background:var(--accent);color:#fff}.sec{display:flex;flex-direction:column;gap:8px;padding:10px;background:var(--panel-2);border:1px solid var(--line);border-radius:var(--r-sm)}.sec-head{font-size:9.5px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--dim-2)}.note{margin:0;font-size:11px;color:var(--dim);line-height:1.45}.hint{padding:0 1px;font-size:10px;color:var(--dim-2);letter-spacing:.01em}.fold-sec{border:1px solid var(--line);border-radius:var(--r-sm);background:var(--panel-2);overflow:hidden}.fold-sec-head{display:flex;align-items:center;justify-content:space-between;width:100%;padding:9px 10px;border:0;background:transparent;color:var(--dim);font-family:inherit;font-size:9.5px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;cursor:pointer;transition:background .12s ease,color .12s ease}.fold-sec-head:hover{background:#14181e0a;color:var(--txt)}.fold-chev{display:grid;place-items:center;color:var(--dim-2);transition:transform .2s ease}.fold-chev svg{width:12px;height:12px}.fold-sec[data-open=true] .fold-chev{transform:rotate(180deg)}.fold-sec-body{display:flex;flex-direction:column;gap:8px;padding:0 10px 10px}.fold-sec-body[hidden]{display:none}.node-head{display:flex;align-items:center;gap:8px;padding:10px;background:var(--panel-2);border:1px solid var(--line);border-radius:var(--r-sm)}.tree-bar{display:flex;align-items:center;justify-content:space-between;gap:6px;padding:0 2px 6px}.tree{display:flex;flex-direction:column;gap:2px}.trow{display:flex;align-items:center;gap:6px;min-height:28px;padding:4px 6px 4px calc(6px + var(--d, 0) * 12px);border:1px solid transparent;border-radius:4px;cursor:pointer;transition:background .1s ease,border-color .1s ease}.trow:hover{background:#14181e0a}.trow.is-on{background:#3b4a5e1a;border-color:#3b4a5e40}.trow.is-hidden .tname,.trow.is-hidden .swatch{opacity:.4}.trow .swatch{width:8px;height:8px;border-radius:50%;flex:0 0 auto}.trow .tname{flex:1 1 auto;min-width:0;font-size:11.5px;font-weight:600;color:var(--txt);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.tacts{display:flex;align-items:center;gap:2px;flex:0 0 auto;opacity:.55;transition:opacity .12s ease}.trow:hover .tacts,.trow.is-on .tacts{opacity:1}.fab{position:absolute;bottom:12px;display:flex;align-items:center;gap:6px;padding:8px 14px;font-family:inherit;font-size:11px;font-weight:600;color:var(--txt);cursor:pointer;pointer-events:auto;transition:transform .15s ease,background .15s ease}.fab-left{left:8px}.fab:not(.fab-left){left:50%;transform:translate(-50%)}.fab:hover{background:#f0f0ee}.fab-left:active{transform:scale(.97)}.fab:not(.fab-left):active{transform:translate(-50%) scale(.97)}.fab[hidden]{display:none}.fab svg{width:14px;height:14px}@media (max-width: 819px){.side-panel{top:72px}.fab-left{top:60px;bottom:auto}.tree-panel{width:min(82%,320px)}.main-panel{inset:auto auto 0 50%;width:min(520px,calc(100% - 8px));max-height:62vh;transform:translate(-50%)}.main-panel .side-card{border-bottom:0;border-bottom-left-radius:0;border-bottom-right-radius:0}.main-panel[data-open=false]{transform:translate(-50%,calc(100% + 12px))}.fab:not(.fab-left){bottom:8px}}.ibtn{display:grid;place-items:center;width:26px;height:26px;padding:0;border:0;border-radius:4px;background:transparent;color:var(--dim);cursor:pointer;transition:background .12s ease,color .12s ease}.ibtn:hover{background:#14181e0f;color:var(--txt)}.ibtn.is-on{background:var(--accent);color:#fff}.ibtn svg{width:14px;height:14px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:4px;min-width:0;height:26px;padding:0 10px;border:1px solid var(--line-2);border-radius:4px;background:var(--panel-3);color:var(--txt);font-family:inherit;font-size:11px;font-weight:600;white-space:nowrap;cursor:pointer;transition:background .12s ease,color .12s ease,border-color .12s ease}.btn:hover{background:#f0f0ee}.btn.is-on{border-color:var(--accent);background:var(--accent);color:#fff}.btn.is-on:hover{background:var(--accent)}.btn:disabled{opacity:.4;cursor:default}.btn svg{width:12px;height:12px}.btn-accent{border-color:var(--accent);background:var(--accent);color:#fff}.btn-accent:hover{background:#2f3b4a;color:#fff}.mini{display:grid;place-items:center;width:20px;height:20px;padding:0;border:0;border-radius:4px;background:transparent;color:var(--dim);cursor:pointer;transition:background .12s ease,color .12s ease}.mini:hover{background:#14181e14;color:var(--txt)}.mini svg{width:11px;height:11px}.mini-danger:hover{background:#b04a4a1f;color:var(--danger)}.grow{flex:1 1 auto}.row{display:flex;align-items:center;gap:6px;min-width:0}.grid2{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:8px 12px}.grid2>*{min-width:0}.slider{display:flex;flex-direction:column;gap:2px;min-width:0}.slider-top{display:flex;align-items:baseline;justify-content:space-between;gap:4px}.slider-label{font-size:10.5px;color:var(--dim);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.slider-val{display:inline-flex;align-items:baseline;gap:2px;flex:0 0 auto;white-space:nowrap}.num{width:48px;padding:0;border:0;background:transparent;color:var(--txt);font-family:var(--mono);font-size:10px;text-align:right;-moz-appearance:textfield;appearance:textfield}.num::-webkit-outer-spin-button,.num::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.num:focus{outline:1px solid var(--accent);background:#fff;border-radius:2px}.num-unit{font-family:var(--mono);font-size:9px;font-style:normal;color:var(--dim-2)}.numfield{display:flex;align-items:center;gap:6px;flex:0 0 auto;min-width:0}.numfield .cl-label{flex:0 0 auto}.seg{display:grid;grid-template-columns:repeat(4,1fr);gap:2px;padding:2px;background:#14181e0d;border-radius:5px}.seg-2{grid-template-columns:repeat(2,1fr)}.seg-3{grid-template-columns:repeat(3,1fr)}.seg button{padding:5px 0;border:0;border-radius:3px;background:transparent;color:var(--dim);font-family:inherit;font-size:10px;font-weight:600;letter-spacing:.02em;cursor:pointer;transition:background .12s ease,color .12s ease}.seg button:hover{color:var(--txt)}.seg button.is-on{background:var(--accent);color:#fff}.presets{display:grid;grid-template-columns:1fr 1fr;gap:6px}.preset{display:flex;flex-direction:column;gap:2px;padding:8px 10px;border:1px solid var(--line);border-radius:5px;background:var(--panel-3);text-align:left;font-family:inherit;cursor:pointer;transition:background .12s ease,border-color .12s ease}.preset:hover{background:#f0f0ee;border-color:var(--line-2)}.preset b{font-size:11px;font-weight:600;color:var(--txt);line-height:1.2}.preset i{font-size:9.5px;font-style:normal;color:var(--dim-2);line-height:1.2}.badge{flex:0 0 auto;padding:1px 4px;border-radius:3px;font-size:8.5px;font-weight:700;letter-spacing:.05em;text-transform:uppercase;line-height:12px;background:#14181e0f;color:var(--dim)}.badge-anchor{background:#14181e1f;color:var(--txt)}.badge-hidden{background:#b04a4a1f;color:var(--danger)}.badge-sound{border:0;background:#14181e0f;color:var(--dim-2);font-family:inherit;font-size:9px;padding:1px 4px;cursor:pointer}.badge-sound.is-on{background:#3b4a5e24;color:var(--accent)}.swatch.lg{width:10px;height:10px;border-radius:50%;flex:0 0 auto}.node-name{font-size:12px;font-weight:700;color:var(--txt);line-height:1.2}.node-sub{font-size:10px;color:var(--dim-2);line-height:1.2}.disp-head{display:flex;align-items:center;gap:6px}.colorfield{display:flex;align-items:center;gap:6px;min-width:0;cursor:pointer}.colorfield .cl-label{flex:0 0 auto}.cf-val{font-family:var(--mono);font-size:9px;color:var(--dim-2);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.visrow{display:flex;gap:4px}.chip{flex:1 1 0;height:24px;padding:0 8px;border:1px solid var(--line-2);border-radius:4px;background:transparent;color:var(--dim);font-family:inherit;font-size:9.5px;font-weight:700;letter-spacing:.05em;text-transform:uppercase;cursor:pointer;transition:background .12s ease,color .12s ease,border-color .12s ease}.chip:hover{color:var(--txt)}.chip.is-on{border-color:var(--accent);background:var(--accent);color:#fff}.chip.grow{flex:1 1 auto}.cl-label{flex:0 0 34px;font-size:9px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--dim-2)}.swatches{display:flex;align-items:center;gap:3px;flex:1 1 auto;flex-wrap:wrap}.sw{width:14px;height:14px;padding:0;border:1px solid rgba(20,24,30,.16);border-radius:3px;cursor:pointer;opacity:.75;transition:opacity .1s ease}.sw:hover{opacity:1}.sw[data-on="1"]{opacity:1;outline:1px solid var(--txt);outline-offset:1px}.colorpick{width:20px;height:20px;border-radius:4px;overflow:hidden;flex:0 0 auto}.colorpick::-webkit-color-swatch-wrapper{padding:0}.colorpick::-webkit-color-swatch{border:1px solid var(--line-2);border-radius:4px}.check{display:flex;align-items:center;gap:6px;font-size:11px;color:var(--dim);cursor:pointer}.keys{display:flex;flex-wrap:wrap;gap:4px 10px;font-size:10px;color:var(--dim-2)}.keys span{display:inline-flex;align-items:center;gap:3px}kbd{padding:1px 4px;border:1px solid var(--line-2);border-radius:3px;background:var(--panel-3);font-family:var(--mono);font-size:9px;color:var(--dim);line-height:12px}.sel{height:26px;min-width:0;flex:1 1 auto;padding:0 6px;border:1px solid var(--line-2);border-radius:4px;background:var(--panel-3);color:var(--txt);font-family:inherit;font-size:11px;cursor:pointer}.sel:focus{outline:1px solid var(--accent)}
