.outline-components{flex:0 0 40%;display:flex;flex-direction:column;min-height:0;border-bottom:1px solid var(--border)}.outline-tree{flex:1 1 auto;display:flex;flex-direction:column;min-height:0}.comp-name{flex:none}.comp-rel{color:var(--text-3);overflow:hidden;text-overflow:ellipsis;flex:1 1 auto;min-width:0}.comp-row .badge{flex:none}.comp-warn{display:inline-flex;color:var(--warn);flex:none}.comp-add{flex:none}.outline-error{display:flex;align-items:center;gap:8px}.outline-error-msg{flex:1 1 auto;min-width:0;overflow:hidden;text-overflow:ellipsis}.outline-toggle,.outline-spacer{display:inline-flex;width:12px;flex:none}.outline-toggle{padding:0;border:none;background:none;color:var(--text-3);cursor:pointer}.outline-row:hover .outline-toggle{color:var(--text-1)}.outline-name{overflow:hidden;text-overflow:ellipsis}.outline-group-label{color:var(--text-2)}.outline-plane .outline-group-label{color:var(--accent);font-style:italic}.outline-drift{width:6px;height:6px;padding:0;line-height:6px;border-radius:50%;background:var(--warn);flex:none}.outline-rename{height:18px;padding:0 4px}.outline-scene-label{color:var(--text-2);font-style:italic}.outline-scene-type{margin-left:auto;color:var(--text-3);font-size:10px;flex:none}.outline-scene-refresh{margin-left:4px;padding:1px;border:none;background:none;color:var(--text-3);flex:none}.outline-scene-refresh:hover{color:var(--text-1);background:var(--bg-3)}.outline-scene-empty{color:var(--text-3);font-size:11px;padding-top:2px;padding-bottom:4px}.outline-actions{margin-left:auto;display:inline-flex;gap:2px;flex:none}.outline-actions .btn{padding:1px;border:none;background:none;color:var(--text-2)}.outline-actions .btn:hover:not(:disabled){color:var(--text-1);background:var(--bg-3)}.effects-panel{flex:1 1 auto;display:flex;flex-direction:column;min-height:0}.effects-search{padding:6px 8px;border-bottom:1px solid var(--border);flex:none}.effects-group-title{padding:8px 10px 4px;font-size:11px;font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:var(--text-3)}.effects-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;padding:0 8px 8px}.effect-card{display:flex;flex-direction:column;gap:4px;padding:4px;background:var(--bg-2);border:1px solid var(--border);border-radius:var(--radius);cursor:pointer;min-width:0;text-align:left}.effect-card:hover:not(:disabled){background:var(--bg-3);border-color:var(--border-strong)}.effect-card:disabled{opacity:.45;cursor:default}.effect-thumb{position:relative;display:block;width:100%;aspect-ratio:16 / 10;border-radius:3px;overflow:hidden}.effect-thumb-img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block}.effect-add{position:absolute;right:4px;bottom:4px;display:inline-flex;align-items:center;justify-content:center;width:18px;height:18px;border-radius:3px;background:#0f0f12a6;color:var(--text-1);opacity:0;transition:opacity 80ms}.effect-card:hover:not(:disabled) .effect-add{opacity:1}.effect-name{font-size:11px;color:var(--text-1);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.assets-panel{flex:1 1 auto;display:flex;flex-direction:column;min-height:0}.assets-toolbar{display:flex;align-items:center;gap:8px;padding:6px 8px;border-bottom:1px solid var(--border);flex:none}.assets-progress{color:var(--text-3);font-size:11px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.assets-list{list-style:none;margin:0;padding:4px;display:flex;flex-direction:column;gap:2px}.asset-row{display:flex;align-items:center;gap:8px;padding:3px 6px;border-radius:var(--radius);min-width:0}.asset-row:hover{background:var(--bg-2)}.asset-thumb{width:40px;height:40px;flex:none;display:inline-flex;align-items:center;justify-content:center;background:var(--bg-2);border:1px solid var(--border);border-radius:3px;overflow:hidden}.asset-thumb-img{width:100%;height:100%;object-fit:cover;display:block}.asset-thumb-kind{font-size:9px;font-weight:600;letter-spacing:.04em;color:var(--text-3)}.asset-name{flex:1 1 auto;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:11px;color:var(--text-1)}.asset-kind{flex:none;padding:1px 5px;border-radius:3px;background:var(--bg-3);color:var(--text-2);font-size:9px;font-weight:600;letter-spacing:.04em;text-transform:uppercase}.asset-delete,.asset-add{flex:none;display:inline-flex;padding:2px;border:none;background:none;color:var(--text-3);cursor:pointer;opacity:0;transition:opacity 80ms}.asset-row:hover .asset-delete,.asset-delete:focus-visible,.asset-row:hover .asset-add,.asset-add:focus-visible{opacity:1}.asset-delete:hover{color:var(--danger)}.asset-add:hover{color:var(--accent)}.left-tabs .btn+.btn:not(:last-child){border-radius:0}.stage{display:flex;flex-direction:column;flex:1;min-height:0}.stage-header{display:flex;align-items:center;gap:6px;height:24px;padding:0 6px;border-bottom:1px solid var(--border);flex:none}.stage-zoom{flex:none}.stage-rendermode{flex:none;white-space:nowrap}.stage-header .error-strip{flex:1;display:flex;align-items:center;gap:6px;min-width:0;border-bottom:none;border-radius:var(--radius);padding:1px 8px}.stage-error-text{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.stage-error-dismiss{background:none;border:none;color:var(--danger);cursor:pointer;padding:0 2px;flex:none}.stage-body{flex:1;min-height:0;overflow:auto;display:flex;background-color:var(--bg-1);background-image:linear-gradient(45deg,var(--bg-2) 25%,transparent 25%,transparent 75%,var(--bg-2) 75%),linear-gradient(45deg,var(--bg-2) 25%,transparent 25%,transparent 75%,var(--bg-2) 75%);background-size:16px 16px;background-position:0 0,8px 8px}.stage-body>.panel-empty{margin:auto}.stage-companion{max-width:340px;padding:20px;text-align:center;display:flex;flex-direction:column;gap:8px}.stage-companion-title{color:var(--text-1);font-weight:600}.stage-companion-sub{color:var(--text-2);line-height:1.5}.stage-companion-sub a{color:var(--accent)}.stage-companion-sub strong{color:var(--text-1);font-weight:600}.stage-companion-sub code{font:var(--mono);color:var(--text-1);background:var(--bg-2);padding:1px 4px;border-radius:3px}.stage-content{margin:auto;padding:24px}.stage-content.is-hidden{display:none}.stage-frame{position:relative;overflow:hidden;flex:none}.stage-iframe{display:block;border:none;background:#fff;pointer-events:none}.insp-section{display:flex;flex-direction:column;gap:4px;padding:8px 10px;border-bottom:1px solid var(--border)}.insp-heading{font-size:10px;font-weight:600;letter-spacing:.05em;text-transform:uppercase;color:var(--text-3)}.insp-row{display:flex;align-items:center;gap:6px;min-height:22px}.insp-label{flex:none;width:64px;color:var(--text-2);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.insp-control{flex:1;min-width:0;display:flex;align-items:center;gap:4px}.insp-num,.insp-rebind{flex:1;min-width:0}.insp-vec{flex:1;min-width:0;display:flex;gap:4px}.insp-vec .numfield{flex:1;min-width:0}.insp-dim{color:var(--text-3);font:var(--mono);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.insp-inline-error{color:var(--danger);font-size:10px;white-space:normal;user-select:text}.insp-notice{font-size:10px;white-space:normal;user-select:text;color:var(--text-3)}.insp-notice.is-warn{color:var(--warn)}.insp-fromcode{flex:none;font-size:10px;color:var(--text-3)}.insp-prop.is-inert .insp-label,.insp-prop.is-inert .insp-control{opacity:.55}.inspector .text-input{user-select:text}.insp-textarea{resize:vertical;min-height:44px}.insp-color{flex:none;width:24px;height:20px;padding:1px;border:1px solid var(--border);border-radius:var(--radius);background:var(--bg-2);cursor:pointer}.insp-check{accent-color:var(--accent);margin:0}.insp-composite{flex:1;min-width:0;display:flex;flex-direction:column;align-items:flex-start;gap:4px}.insp-composite-toggle{cursor:pointer}.insp-composite-toggle:disabled{cursor:default;opacity:.55}.insp-composite-editor{align-self:stretch;display:flex;flex-direction:column;gap:4px;padding:4px;border:1px solid var(--border);border-radius:var(--radius);background:var(--bg-2)}.insp-composite-curve{display:block;background:var(--bg-1);border:1px solid var(--border);border-radius:var(--radius)}.insp-composite-curve polyline{fill:none;stroke:var(--accent);stroke-width:1.5}.insp-composite-point{display:flex;flex-direction:column;gap:2px;padding-bottom:2px;border-bottom:1px solid var(--border)}.insp-composite-point .numfield,.insp-composite-handles .numfield{flex:1;min-width:0}.insp-gradient-preview{height:14px;border:1px solid var(--border);border-radius:var(--radius)}.insp-pad{display:block;overflow:visible;margin:2px 0}.insp-pad-box{fill:var(--bg-2);stroke:var(--border)}.insp-pad-curve{fill:none;stroke:var(--accent);stroke-width:1.5}.insp-pad-arm{stroke:var(--border-strong);stroke-width:1}.insp-pad-handle{fill:var(--bg-1);stroke:var(--accent);stroke-width:1.5;cursor:grab}.insp-pad-handle:hover{stroke:var(--text-1)}.insp-preview{position:relative}.insp-preview svg{display:block;background:var(--bg-2);border:1px solid var(--border);border-radius:var(--radius)}.insp-preview polyline{fill:none;stroke:var(--accent);stroke-width:1.5}.insp-preview polyline.is-spring{stroke:var(--spring)}.insp-preview-max,.insp-preview-min{position:absolute;right:4px;font:var(--mono);color:var(--text-3);pointer-events:none}.insp-preview-max{top:1px}.insp-preview-min{bottom:1px}.transport{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:8px;height:100%;padding:0 8px}.transport-left,.transport-center,.transport-right{display:flex;align-items:center;gap:6px;min-width:0}.transport-center{justify-content:center}.transport-right{justify-content:flex-end}.transport-doc{font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.transport-save{color:var(--text-2);white-space:nowrap;flex:none}.transport-save.is-clean{color:var(--text-3)}.transport-save-retry{border:none;cursor:pointer;flex:none}.transport-frame{width:56px;flex:none}.transport-frame .numfield-input{font:var(--mono);text-align:right}.transport-readout{font:var(--mono);color:var(--text-2);white-space:nowrap;flex:none}.transport-seconds{min-width:46px;color:var(--text-3)}.transport-mute{flex:none}.transport-mute.is-muted{border-color:var(--danger);color:var(--danger)}.transport-comps{min-width:0;max-width:160px}.transport-tabs{display:flex;flex:none}.transport-tabs .btn:first-child{border-radius:var(--radius) 0 0 var(--radius)}.transport-tabs .btn+.btn{border-radius:0 var(--radius) var(--radius) 0;margin-left:-1px}.transport-tabs .btn.is-active{position:relative}.conn-chip{display:inline-flex;align-items:center;gap:5px;height:20px;padding:0 8px;background:var(--bg-2);border:1px solid var(--border);border-radius:10px;color:var(--text-2);white-space:nowrap;cursor:pointer}.conn-chip:hover{background:var(--bg-3)}.conn-chip.is-connected{color:var(--text-1)}.conn-dot{width:7px;height:7px;border-radius:50%;flex:none;background:var(--text-3)}.conn-chip.is-connected .conn-dot{background:var(--spring);box-shadow:0 0 0 3px color-mix(in srgb,var(--spring) 25%,transparent)}.conn-overlay{position:fixed;inset:0;z-index:100;display:grid;place-items:center;background:#000a}.conn-dialog{width:400px;max-width:calc(100vw - 32px);padding:16px;display:flex;flex-direction:column;gap:12px;background:var(--bg-1);border:1px solid var(--border-strong);border-radius:var(--radius)}.conn-title{font-weight:600}.conn-help{color:var(--text-2);line-height:1.5}.conn-help code{font:var(--mono);color:var(--text-1);background:var(--bg-2);padding:1px 4px;border-radius:3px}.conn-field{display:flex;flex-direction:column;gap:4px}.conn-field>span{color:var(--text-2);font-size:11px}.conn-field .text-input{font:var(--mono)}.conn-error{padding:8px;border:1px solid var(--danger);border-radius:var(--radius);color:var(--danger);line-height:1.4}.conn-actions{display:flex;align-items:center;gap:8px}.conn-spacer{flex:1}.export-overlay{position:fixed;inset:0;z-index:100;display:grid;place-items:center;background:#000a}.export-dialog{width:380px;padding:16px;display:flex;flex-direction:column;gap:12px;background:var(--bg-1);border:1px solid var(--border-strong);border-radius:var(--radius)}.export-title{font-weight:600}.export-meta{color:var(--text-3);font:var(--mono)}.export-formats{display:flex;flex-direction:column;gap:6px}.export-format{display:grid;grid-template-columns:auto 1fr;column-gap:8px;align-items:baseline}.export-format.is-disabled{color:var(--text-3)}.export-format-note{grid-column:2;color:var(--warn);font:var(--mono)}.export-audio{display:grid;grid-template-columns:auto 1fr;column-gap:8px;align-items:baseline;color:var(--text-2)}.export-audio.is-disabled{color:var(--text-3)}.export-audio .export-format-note{grid-column:2}.export-bg{display:flex;align-items:center;gap:8px;color:var(--text-2)}.export-bg code{font:var(--mono);color:var(--text-3)}.export-warning{padding:8px;border:1px solid var(--warn);border-radius:var(--radius);color:var(--warn)}.export-warning.is-danger{border-color:var(--danger);color:var(--danger)}.export-progress{display:flex;align-items:center;gap:8px}.export-progress-bar{flex:1;height:6px;background:var(--bg-2);border-radius:3px;overflow:hidden}.export-progress-fill{height:100%;background:var(--accent)}.export-progress-label{font:var(--mono);color:var(--text-2);white-space:nowrap}.export-actions{display:flex;justify-content:flex-end;gap:8px}.btn.is-danger{border-color:var(--danger);color:var(--danger)}.tl-scroll{flex:1;min-height:0;overflow:auto;position:relative}.tl-content{position:relative;isolation:isolate;width:max-content;min-width:100%}.tl-rulerrow{display:flex;position:sticky;top:0;z-index:5;height:24px}.tl-corner{z-index:1;border-bottom:1px solid var(--border)}.tl-ruler{position:relative;flex:1 0 auto;background:var(--bg-1);border-bottom:1px solid var(--border);cursor:ew-resize;overflow:hidden}.tl-tick{position:absolute;top:0;bottom:0;border-left:1px solid var(--border-strong);padding-left:3px;font:var(--mono);font-size:10px;color:var(--text-3);pointer-events:none}.tl-overhang{position:absolute;top:0;bottom:0;right:0;background:#00000047;pointer-events:none}.tl-playhead{position:absolute;top:0;bottom:0;width:1px;background:var(--accent);pointer-events:none}.tl-playhead.is-rows{z-index:3}.tl-row{display:flex;height:24px}.tl-labelcell{position:sticky;left:0;z-index:4;flex:none;width:220px;background:var(--bg-1);border-right:1px solid var(--border)}.tl-labelcell.is-selected{background:linear-gradient(var(--accent-soft),var(--accent-soft)),var(--bg-1)}.tl-chev{display:inline-flex;padding:2px;background:none;border:none;color:var(--text-2);cursor:pointer;flex:none}.tl-chev:hover{color:var(--text-1)}.tl-chev-spacer{width:16px;flex:none}.tl-name{overflow:hidden;text-overflow:ellipsis;min-width:0}.tl-tracklabel{padding-left:32px;color:var(--text-2)}.tl-tracklabel.is-selected{color:var(--text-1)}.tl-time{position:relative;flex:1 0 auto;overflow:hidden}.tl-time.is-selected{background:var(--accent-soft)}.tl-life{position:absolute;top:5px;height:14px;background:var(--bg-3);border:1px solid var(--border-strong);border-radius:3px;cursor:grab}.tl-life:active{cursor:grabbing}.tl-life-handle{position:absolute;top:-1px;bottom:-1px;width:6px;cursor:ew-resize}.tl-life-handle.is-in{left:-1px;border-radius:3px 0 0 3px}.tl-life-handle.is-out{right:-1px;border-radius:0 3px 3px 0}.tl-life-handle:hover{background:var(--border-strong)}.tl-addbtn{margin-left:auto;margin-right:6px;padding:1px 6px;font-size:10px;flex:none}.tl-transition{position:absolute;top:3px;height:18px;background:#b06cff29;border:1px solid rgba(176,108,255,.55);border-radius:3px;overflow:hidden;cursor:grab}.tl-transition:active{cursor:grabbing}.tl-transition.is-selected{border-color:var(--accent);background:var(--accent-soft)}.tl-transname{position:absolute;inset:0 14px 0 8px;display:flex;align-items:center;font-size:10px;color:var(--text-2);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;pointer-events:none}.tl-transwarn{position:absolute;right:8px;top:2px;padding:0 3px}.tl-transtrim{position:absolute;top:0;bottom:0;width:6px;cursor:ew-resize}.tl-transtrim.is-l{left:0}.tl-transtrim.is-r{right:0}.tl-transtrim:hover{background:var(--border-strong)}.tl-camactive{margin-left:6px;flex:none;color:#ffc157;background:#ffc15729}.tl-textanim{position:absolute;top:3px;height:18px;background:#48ccb429;border:1px solid rgba(72,204,180,.55);border-radius:3px;overflow:hidden;cursor:grab}.tl-textanim:active{cursor:grabbing}.tl-textanim.is-selected{border-color:var(--accent);background:var(--accent-soft)}.tl-textanimname{position:absolute;inset:0 14px 0 8px;display:flex;align-items:center;font-size:10px;color:var(--text-2);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;pointer-events:none}.tl-textanimwarn{position:absolute;right:8px;top:2px;padding:0 3px}.tl-textanimtrim{position:absolute;top:0;bottom:0;width:6px;cursor:ew-resize}.tl-textanimtrim.is-l{left:0}.tl-textanimtrim.is-r{right:0}.tl-textanimtrim:hover{background:var(--border-strong)}.tl-grouprow .tl-labelcell{border-top:1px solid var(--border)}.tl-groupname{font-size:10px;font-weight:600;letter-spacing:.05em;text-transform:uppercase;color:var(--text-3)}.tl-audioclip{position:absolute;top:3px;height:18px;background:var(--bg-3);border:1px solid var(--border-strong);border-radius:3px;overflow:hidden;cursor:grab}.tl-audioclip:active{cursor:grabbing}.tl-audioclip.is-selected{border-color:var(--accent);background:var(--accent-soft)}.tl-audioclip.is-muted{opacity:.45}.tl-audiowave{position:absolute;inset:1px 0;width:100%;height:calc(100% - 2px);pointer-events:none}.tl-audioname{position:absolute;inset:0 8px;display:flex;align-items:center;font-size:10px;color:var(--text-2);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;pointer-events:none}.tl-audiotrim{position:absolute;top:0;bottom:0;width:6px;cursor:ew-resize}.tl-audiotrim.is-l{left:0}.tl-audiotrim.is-r{right:0}.tl-audiotrim:hover{background:var(--border-strong)}.tl-audiofade{position:absolute;top:0;width:0;height:0;border-top:8px solid var(--text-3);cursor:ew-resize}.tl-audiofade.is-in{left:0;border-right:8px solid transparent}.tl-audiofade.is-out{right:0;border-left:8px solid transparent}.tl-audiofade:hover{border-top-color:var(--accent)}.tl-audioramp{position:absolute;top:0;bottom:0;pointer-events:none}.tl-audioramp.is-in{left:0;background:linear-gradient(to right,rgba(0,0,0,.35),transparent)}.tl-audioramp.is-out{right:0;background:linear-gradient(to left,rgba(0,0,0,.35),transparent)}.tl-kf{position:absolute;top:7.5px;width:9px;height:9px;background:var(--kf);border-radius:1px;transform:rotate(45deg);cursor:ew-resize}.tl-kf.is-selected{background:var(--accent);outline:1px solid var(--text-1)}.tl-kf.is-agg{top:8.5px;width:7px;height:7px;cursor:pointer}.curves-scroll{flex:1;min-width:0;min-height:0;overflow-x:auto;overflow-y:hidden}.curves-content{position:relative;min-width:100%;height:100%;touch-action:none}.curves-ruler{position:relative;height:18px;border-bottom:1px solid var(--border);cursor:ew-resize;overflow:hidden}.curves-ruler-tick{position:absolute;top:2px;bottom:0;border-left:1px solid var(--border-strong);padding-left:3px;font:var(--mono);color:var(--text-3);pointer-events:none}.curves-svg{display:block}.curves-offrange{fill:#00000040;pointer-events:none}.curves-grid{stroke:var(--border);pointer-events:none}.curves-vlabels{position:sticky;left:0;width:0;height:0;z-index:2}.curves-vlabel{position:absolute;left:2px;padding:0 3px;font:var(--mono);color:var(--text-3);background:var(--bg-1);border-radius:2px;white-space:nowrap;pointer-events:none}.curves-path{fill:none;stroke:var(--accent);stroke-width:1.5;pointer-events:none}.curves-path.is-spring{stroke:var(--spring)}.curves-handle-line{stroke:var(--accent);stroke-dasharray:3 3;opacity:.55;pointer-events:none}.curves-handle{fill:var(--bg-1);stroke:var(--accent);stroke-width:1.2;cursor:grab}.curves-handle:hover{fill:var(--accent)}.curves-kf{fill:var(--bg-1);stroke:var(--kf);stroke-width:1.2;cursor:pointer}.curves-kf:hover{stroke-width:2}.curves-kf.is-selected{fill:var(--accent);stroke:var(--accent)}.curves-playhead{position:absolute;top:0;bottom:0;width:1px;background:var(--accent);pointer-events:none;z-index:3}.code-drawer{position:relative;display:flex;flex-direction:column;height:100%;min-width:0}.code-splitter{position:absolute;left:-3px;top:0;bottom:0;width:6px;cursor:col-resize;z-index:3}.code-splitter:hover{background:var(--accent-soft)}.code-title{display:flex;align-items:center;gap:6px}.code-title-path{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font:var(--mono);text-transform:none;letter-spacing:0}.code-tabs{display:flex;gap:2px;padding:3px 6px 0;border-bottom:1px solid var(--border);overflow-x:auto;flex:none}.code-tab{display:inline-flex;align-items:center;gap:5px;padding:3px 6px;border:1px solid var(--border);border-bottom:none;border-radius:var(--radius) var(--radius) 0 0;background:var(--bg-2);color:var(--text-2);cursor:pointer;max-width:160px;user-select:none}.code-tab.is-active{background:var(--bg-1);color:var(--text-1);border-color:var(--border-strong)}.code-tab-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font:var(--mono)}.code-dot{color:var(--warn);flex:none}.code-tab-close{border:none;background:none;color:var(--text-3);cursor:pointer;padding:0 2px;flex:none}.code-tab-close:hover{color:var(--danger)}.code-strip{display:flex;align-items:center;gap:8px;flex:none}.code-strip-msg{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.code-body{flex:1;min-height:0;display:flex}.code-files{width:190px;flex:none;display:flex;flex-direction:column;min-height:0;border-right:1px solid var(--border);background:var(--bg-1)}.code-files-head{display:flex;align-items:center;gap:4px;padding:4px 6px;border-bottom:1px solid var(--border);color:var(--text-2);flex:none}.code-files-head>span{flex:1;font-size:11px;font-weight:600;letter-spacing:.04em;text-transform:uppercase}.code-files-body{flex:1;min-height:0;overflow:auto;padding:2px 0}.code-file-row{display:flex;align-items:center;gap:4px;padding:2px 6px;cursor:pointer;color:var(--text-2);white-space:nowrap}.code-file-row:hover{background:var(--bg-2)}.code-file-row.is-selected{background:var(--accent-soft);color:var(--text-1)}.code-dir-row{color:var(--text-3)}.code-file-name{overflow:hidden;text-overflow:ellipsis;font:var(--mono)}.code-newfile{display:flex;flex-direction:column;gap:4px;padding:6px;border-bottom:1px solid var(--border);flex:none}.code-newfile-actions{display:flex;gap:4px}.code-newfile-error{color:var(--danger);font-size:11px}.code-editor{flex:1;min-width:0;min-height:0;user-select:text}.code-editor .cm-editor{height:100%}:root{color-scheme:dark;--bg-0: #0f0f12;--bg-1: #17171b;--bg-2: #1f1f25;--bg-3: #2a2a32;--border: #2c2c34;--border-strong: #3a3a44;--text-1: #e8e8ee;--text-2: #a2a2af;--text-3: #6d6d7a;--accent: #4f8cff;--accent-soft: #4f8cff33;--kf: #e8c34a;--spring: #58c7a5;--warn: #ffb454;--danger: #ff5c69;--radius: 4px;--font: 12px/1.45 system-ui, "Segoe UI", sans-serif;--mono: 11px/1.4 ui-monospace, Consolas, monospace}*{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{font:var(--font);color:var(--text-1);background:var(--bg-0);user-select:none;overflow:hidden}.app{display:grid;height:100%;grid-template:"left stage inspector" 1fr "transport transport transport" 32px "bottom bottom bottom" 260px / 248px 1fr 264px}.app.has-code{grid-template:"left stage inspector code" 1fr "transport transport transport transport" 32px "bottom bottom bottom bottom" 260px / 248px 1fr 264px var(--code-w, 480px)}.app-left{grid-area:left}.app-stage{grid-area:stage}.app-inspector{grid-area:inspector}.app-transport{grid-area:transport}.app-bottom{grid-area:bottom}.app-code{grid-area:code;position:relative;overflow:visible}.left-tabs{display:flex;flex:none;padding:6px 8px;border-bottom:1px solid var(--border)}.left-tabs .btn{flex:1 1 0;justify-content:center}.left-tabs .btn:first-child{border-radius:var(--radius) 0 0 var(--radius)}.left-tabs .btn+.btn{border-radius:0 var(--radius) var(--radius) 0;margin-left:-1px}.left-tabs .btn.is-active{position:relative}.panel{background:var(--bg-1);border:1px solid var(--border);min-width:0;min-height:0;overflow:hidden;display:flex;flex-direction:column}.panel-title{padding:6px 10px;font-size:11px;font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:var(--text-2);border-bottom:1px solid var(--border);flex:none}.panel-body{flex:1;min-height:0;overflow:auto}.panel-empty{padding:16px 12px;color:var(--text-3)}button,input,select,textarea{font:inherit;color:inherit}.btn{display:inline-flex;align-items:center;gap:5px;padding:3px 8px;background:var(--bg-2);border:1px solid var(--border);border-radius:var(--radius);color:var(--text-1);cursor:pointer}.btn:hover:not(:disabled){background:var(--bg-3)}.btn:disabled{opacity:.45;cursor:default}.btn.is-icon{padding:3px}.btn.is-active{border-color:var(--accent);color:var(--accent)}.btn.is-danger:hover:not(:disabled){border-color:var(--danger);color:var(--danger)}.select{background:var(--bg-2);border:1px solid var(--border);border-radius:var(--radius);padding:2px 4px;max-width:100%}.text-input{background:var(--bg-2);border:1px solid var(--border);border-radius:var(--radius);padding:2px 6px;width:100%;min-width:0}.text-input:focus,.select:focus,.numfield-input:focus{outline:none;border-color:var(--accent)}.numfield{display:inline-flex;align-items:center;gap:4px;min-width:0}.numfield-label{color:var(--text-2);cursor:ew-resize;flex:none}.numfield-input{background:var(--bg-2);border:1px solid var(--border);border-radius:var(--radius);padding:2px 6px;width:100%;min-width:34px;user-select:text}.numfield-unit{color:var(--text-3);flex:none}.numfield.is-disabled{opacity:.45}.badge{display:inline-block;padding:0 5px;border-radius:3px;font-size:10px;line-height:16px;background:var(--bg-3);color:var(--text-2);white-space:nowrap}.badge.is-declared{color:var(--accent)}.badge.is-inferred{color:var(--text-2)}.badge.is-probed{color:var(--spring)}.badge.is-warn{color:var(--warn)}.badge.is-danger{color:var(--danger)}.kf-toggle{display:inline-flex;padding:2px;background:none;border:none;cursor:pointer;color:var(--text-3)}.kf-toggle.has-track{color:var(--kf)}.kf-toggle:hover:not(:disabled){color:var(--kf)}.kf-toggle:disabled{opacity:.45;cursor:default}.chevron{transition:transform 80ms}.chevron.is-open{transform:rotate(90deg)}.row{display:flex;align-items:center;gap:6px;padding:0 8px;height:24px;cursor:default;white-space:nowrap}.row:hover{background:var(--bg-2)}.row.is-selected{background:var(--accent-soft)}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-thumb{background:var(--bg-3);border-radius:5px;border:2px solid var(--bg-1)}::-webkit-scrollbar-corner{background:transparent}.error-strip{padding:4px 10px;background:#3a1d20;color:var(--danger);border-bottom:1px solid var(--danger);font-size:11px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;flex:none}
