.appmenu[data-v-6aa82ae3]{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:5px 12px;flex:0 0 auto;min-height:42px;background:var(--panel);border-bottom:1px solid var(--border)}.appmenu-title[data-v-6aa82ae3]{font-size:14px;font-weight:600;letter-spacing:.02em;color:var(--text)}.appmenu-actions[data-v-6aa82ae3]{display:flex;gap:8px;flex-wrap:wrap}.appmenu-actions button[data-v-6aa82ae3]{padding:5px 11px;font-size:12px}:root{--bg: #f5f5f7;--panel: #fff;--border: #d9d9de;--text: #1d1d1f;--muted: #6e6e73;--accent: #7a8ab4;--frame-bg: #e4e4e8;--check: #cfcfd4;--row: #f0f0f2}@media(prefers-color-scheme:dark){:root:not([data-theme=light]){--bg: #1a1a1c;--panel: #242427;--border: #3a3a3e;--text: #f5f5f7;--muted: #9a9aa0;--accent: #a0b0d4;--frame-bg: #1f1f23;--check: #2a2a2f;--row: #2d2d31}}*{box-sizing:border-box}html,body,#app{height:100%}body{margin:0;font:14px/1.45 -apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;background:var(--bg);color:var(--text);overflow:hidden}body.resizing{cursor:inherit;-webkit-user-select:none;user-select:none}body.resizing *{pointer-events:none}h1{font-size:20px;margin:0 0 4px}.sub{color:var(--muted);margin:0 0 20px;font-size:13px}.panel{background:var(--panel);border:1px solid var(--border);border-radius:4px;padding:12px}.hd{font-size:12px;text-transform:uppercase;letter-spacing:.04em;color:var(--muted);margin:0 0 10px}.drop{border:2px dashed var(--border);border-radius:4px;padding:10px;text-align:center;color:var(--muted);cursor:pointer;font-size:13px;transition:border-color .15s,background .15s}.drop.over{border-color:var(--accent);background:#7a8ab41a}label{display:block;font-size:12px;color:var(--muted);margin:12px 0 4px}.row{display:flex;align-items:center;gap:8px}input[type=range]{flex:1;accent-color:var(--accent)}.val{font-variant-numeric:tabular-nums;margin-left:5px;font-size:12px;color:var(--text)}select,input[type=color],input[type=text],input[type=search],input[type=number]{padding:2px 9px;border:1px solid var(--border);border-radius:4px;background:var(--row);color:var(--text);font:inherit;transition:border-color .15s,box-shadow .15s,background .15s}select,input[type=text],input[type=search]{width:100%}select:hover,input[type=text]:hover,input[type=search]:hover,input[type=number]:hover{border-color:var(--muted)}select:focus,input[type=text]:focus,input[type=search]:focus,input[type=number]:focus{outline:none;border-color:var(--accent);background:var(--panel);box-shadow:0 0 0 3px #a0b0d447}input[type=number]{text-align:center;font-variant-numeric:tabular-nums;-moz-appearance:textfield;cursor:ew-resize}input[type=number].scrub{border-color:var(--accent);background:var(--panel);box-shadow:0 0 0 3px #a0b0d447;-webkit-user-select:none;user-select:none}input[type=number]::-webkit-outer-spin-button,input[type=number]::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}input[type=color]{height:30px;padding:2px;background:var(--panel)}.knob{width:36px;height:36px;border-radius:50%;border:1px solid var(--border);background:radial-gradient(circle at 50% 38%,var(--panel),var(--row));position:relative;cursor:grab;flex:0 0 auto;box-shadow:inset 0 1px 2px #00000026;touch-action:none;transition:border-color .15s,box-shadow .15s}.knob:hover{border-color:var(--muted)}.knob.drag{cursor:grabbing;border-color:var(--accent);box-shadow:0 0 0 3px #a0b0d447}.knob-arc{position:absolute;top:0;right:0;bottom:0;left:0;border-radius:50%;pointer-events:none}.knob-ptr{position:absolute;width:2px;height:13px;background:var(--accent);left:50%;top:4px;margin-left:-1px;border-radius:2px;transform-origin:50% 14px}.imgctl input[type=number]{padding:4px 5px;border-radius:6px;width:48px;font-size:12px}.angle-knob{align-items:center;gap:8px}.angle-knob input[type=number]{width:64px}.pnum{align-items:center;gap:6px}.pnum input[type=range]{flex:1;min-width:0}.pnum input.pnum-bound{width:56px;flex:none;font-size:11px;padding:1px 4px;color:var(--muted)}.pnum input.pnum-bound:focus,.pnum input.pnum-bound.scrub{color:var(--text)}.pnum-label{display:flex;align-items:center;gap:4px}.pnum-val{margin-left:6px;display:inline-flex;align-items:center;gap:4px}.pnum-val input.pnum-value{width:72px;padding:1px 6px;font-size:12px}.imgctl .row{gap:5px}.imgctl .tag{color:var(--muted);font-size:11px}.imgctl .cap{color:var(--muted);font-size:11px;width:62px;flex:0 0 auto}button{padding:9px 12px;background:var(--accent);color:#fff;border:0;border-radius:4px;font-size:14px;font-weight:500;cursor:pointer}button.ghost{background:transparent;color:var(--accent);border:1px solid var(--border)}button.block{width:100%}button:disabled{opacity:.5;cursor:default}.panel-bar{display:flex;align-items:center;justify-content:space-between;cursor:pointer;-webkit-user-select:none;user-select:none}.panel-title{font-size:12px;font-weight:600;color:var(--muted);letter-spacing:.02em;text-transform:uppercase}.collapse{background:transparent;color:var(--muted);border:0;padding:0 4px;font-size:20px;cursor:pointer;line-height:1;transition:transform .15s}.collapse:hover{color:var(--text)}.panel-body{margin-top:12px}.panel.collapsed .panel-body{display:none}.panel.collapsed .collapse{transform:rotate(-90deg)}.topbar>.panel-body{display:grid;grid-template-columns:1.4fr 1fr auto;gap:10px;align-items:end}.topbar .fld label{margin-top:0}.stack{display:flex;flex-direction:column;gap:6px;min-height:44px}.stack.empty-hint{align-items:center;justify-content:center;color:var(--muted);font-size:12px;border:1px dashed var(--border);border-radius:4px;padding:14px;text-align:center}.fxcard{background:var(--row);border:1px solid transparent;border-radius:6px;overflow:hidden}.fxcard.over{border-color:var(--accent);border-style:dashed}.fxcard.off .fx-name{opacity:.45}.fx{display:flex;align-items:center;gap:7px;padding:7px 8px 7px 6px;cursor:grab;-webkit-user-select:none;user-select:none}.fx:active{cursor:grabbing}.fx .chev{color:var(--muted);font-size:11px;width:12px;text-align:center}.fx-body{padding:2px 12px 12px;border-top:1px solid var(--border);background:var(--panel)}.fx-body .params label:first-child{margin-top:8px}.grip{color:var(--muted);font-size:14px;-webkit-user-select:none;user-select:none}.fx-idx{color:var(--muted);font-size:11px;font-variant-numeric:tabular-nums;min-width:16px}.fx-name{flex:1;font-size:13px;font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.fx .ic{background:transparent;color:var(--muted);padding:2px 6px;font-size:13px;border-radius:6px}.fx .ic:hover{color:var(--text);background:var(--panel)}.lib{display:flex;flex-direction:column;gap:6px;margin-top:8px;flex:1 1 auto;min-height:0;overflow-y:auto;overflow-x:hidden;padding-right:6px;scrollbar-width:thin;scrollbar-color:var(--border) transparent}.lib::-webkit-scrollbar{width:8px}.lib::-webkit-scrollbar-track{background:transparent;margin:4px 0}.lib::-webkit-scrollbar-thumb{background:var(--border);border-radius:4px;border:2px solid transparent;background-clip:padding-box;transition:background .15s}.lib::-webkit-scrollbar-thumb:hover{background:var(--accent);background-clip:padding-box}.libitem{display:flex;align-items:center;gap:8px;padding:8px 10px;border:1px solid var(--border);border-radius:4px}.libitem .li-name{flex:1;font-size:13px}.libitem .li-desc{color:var(--muted);font-size:11px}.libitem button.add-btn{width:26px;height:26px;padding:0;border-radius:50%;font-size:18px;line-height:1;display:inline-flex;align-items:center;justify-content:center;background:transparent;color:var(--accent);border:1px solid var(--border);transition:background .15s,color .15s,border-color .15s,transform .1s}.libitem button.add-btn:hover{background:var(--accent);color:#fff;border-color:var(--accent)}.libitem button.add-btn:active{transform:scale(.92)}.none{color:var(--muted);font-size:12px;padding:8px 0}.params{margin-top:0}.info{display:inline-flex;align-items:center;justify-content:center;width:14px;height:14px;margin:0 3px;border-radius:50%;flex:0 0 auto;font:600 10px/1 Georgia,serif;font-style:italic;color:var(--muted);border:1px solid var(--border);cursor:help;position:relative;vertical-align:middle;-webkit-user-select:none;user-select:none;transition:color .15s,background .15s,border-color .15s}.info:hover,.info:focus{color:#fff;background:var(--accent);border-color:var(--accent);outline:none}#infotip{position:fixed;z-index:9999;max-width:260px;background:var(--text);color:var(--panel);padding:7px 10px;border-radius:4px;font:400 11px/1.4 -apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;text-align:left;white-space:normal;box-shadow:0 8px 24px -8px #0000008c;pointer-events:none;opacity:0;transition:opacity .12s}#infotip.show{opacity:1}#infotip:after{content:"";position:absolute;left:var(--ax, 50%);transform:translate(-50%);border:5px solid transparent}#infotip.below:after{bottom:100%;border-bottom-color:var(--text)}#infotip:not(.below):after{top:100%;border-top-color:var(--text)}.player{display:flex;flex-direction:column;flex:1 1 auto;min-height:0;padding:8px 8px 4px}.stage{background:var(--frame-bg);border-radius:4px;display:flex;align-items:center;justify-content:center;position:relative;flex:1 1 auto;min-height:120px;overflow:hidden;background-image:linear-gradient(45deg,var(--check) 25%,transparent 25%),linear-gradient(-45deg,var(--check) 25%,transparent 25%),linear-gradient(45deg,transparent 75%,var(--check) 75%),linear-gradient(-45deg,transparent 75%,var(--check) 75%);background-size:16px 16px;background-position:0 0,0 8px,8px -8px,-8px 0}.stage canvas{max-width:100%;max-height:100%}.stage-empty{color:var(--muted);font-size:13px}#playerPanel.has-frames .stage-empty{display:none}#playerPanel:not(.has-frames) #player{display:none}.controls{display:flex;align-items:center;gap:8px;margin-top:8px;flex-wrap:wrap}.pbtn{padding:6px 10px;font-size:14px;background:transparent;color:var(--text);border:1px solid var(--border);border-radius:4px;min-width:36px}.pbtn.play{background:var(--accent);color:#fff;border:0}#scrub{flex:1;accent-color:var(--accent)}.chk{display:flex;align-items:center;gap:4px;font-size:12px;color:var(--muted);margin:0}.strip{display:flex;flex-wrap:nowrap;gap:8px;overflow-x:auto;padding-bottom:6px;scrollbar-width:thin;scrollbar-color:var(--border) transparent}.strip .frame{flex:0 0 auto}.frame{background:var(--frame-bg);border:1px solid var(--border);border-radius:6px;padding:4px;position:relative}.frame canvas{display:block;border-radius:3px}.frame .n{position:absolute;top:6px;left:6px;font-size:10px;color:#fff;background:#00000080;padding:1px 5px;border-radius:4px;font-variant-numeric:tabular-nums}.empty{color:var(--muted);font-size:13px;padding:24px;text-align:center;width:100%}.prow{display:flex;gap:14px;align-items:flex-start}.prow-item{flex:1 1 0;min-width:0}.prow-item label{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.stage-wrap{position:absolute;top:12px;right:12px;bottom:12px;left:12px;display:grid;place-items:center;line-height:0}.stage-wrap #player{display:block;grid-area:1 / 1}.stage-overlay{grid-area:1 / 1;touch-action:none}.controls:first-of-type{margin-top:10px}#playerPanel:not(.has-frames) .stage-overlay{display:none}.exp-settings{display:flex;gap:18px;flex-wrap:wrap}.exp-col{flex:1 1 260px;min-width:240px}.exp-settings .dim{opacity:.55}.exp-settings input[type=number]{width:64px}button.ghost.mini{padding:3px 8px;font-size:11px}.exp-name{margin-top:10px}.exp-name input[type=text]{padding:5px 8px;border-radius:6px;font-size:12px}.app{display:flex;flex-direction:column;height:100%;width:100%;overflow:hidden}.app-body{display:flex;flex:1 1 auto;min-height:0}.center{flex:1 1 auto;min-width:0;display:flex;flex-direction:column;min-height:0}.side{position:relative;flex:0 0 auto;display:flex;flex-direction:column;min-height:0;background:var(--panel)}.side-l{border-right:1px solid var(--border)}.side-r{border-left:1px solid var(--border)}.side.closed{width:26px}.side-head{display:flex;align-items:center;gap:8px;padding:6px 8px 6px 12px;min-height:36px;border-bottom:1px solid var(--border);flex:0 0 auto}.side-title{font-size:12px;font-weight:600;color:var(--muted);letter-spacing:.03em;text-transform:uppercase;flex:1}.side-sub{font-size:11px;color:var(--muted);opacity:.7}.side-scroll{flex:1 1 auto;min-height:0;overflow-y:auto;overflow-x:hidden;padding:10px 12px;scrollbar-width:thin;scrollbar-color:var(--border) transparent}.side-scroll.props{flex:0 0 auto;overflow:visible}.side-r{overflow-y:auto;overflow-x:hidden}.side-scroll.props label:first-child{margin-top:0}.ic-btn{background:transparent;color:var(--muted);border:0;padding:2px 6px;font-size:13px;border-radius:4px;line-height:1;cursor:pointer}.ic-btn:hover{color:var(--text);background:var(--row)}.side-tab{writing-mode:vertical-rl;background:transparent;color:var(--muted);border:0;padding:10px 4px;font-size:11px;letter-spacing:.04em;text-transform:uppercase;border-radius:0;height:100%;width:100%;display:flex;align-items:center;gap:6px;cursor:pointer}.side-tab:hover{color:var(--text);background:var(--row)}.side-tab .chev{writing-mode:horizontal-tb;font-size:12px}.lib-section{position:relative;flex:1 1 auto;display:flex;flex-direction:column;min-height:140px;border-top:1px solid var(--border)}.lib-section .side-head{border-bottom:0}.lib-wrap{display:flex;flex-direction:column;flex:1 1 auto;min-height:0;padding:0 12px 10px}.splitter{position:absolute;z-index:5;background:transparent;transition:background .15s}.splitter:hover,body.resizing .splitter{background:var(--accent)}.splitter-v{top:0;bottom:0;width:5px;cursor:col-resize}.side-l .splitter-v{right:-3px}.side-r .splitter-v{left:-3px}.splitter-h{left:0;right:0;height:5px;cursor:row-resize;top:-3px}.tabs{display:flex;gap:2px;flex:1}.tab{background:transparent;color:var(--muted);border:0;border-radius:4px;padding:4px 10px;font-size:12px;font-weight:600;cursor:pointer}.tab:hover{color:var(--text)}.tab.on{color:var(--text);background:var(--row)}.dock{position:relative;flex:0 0 auto;display:flex;flex-direction:column;min-height:0;border-top:1px solid var(--border);background:var(--panel)}.dock.closed{height:34px}.dock-head{display:flex;align-items:center;gap:8px;padding:4px 8px;min-height:34px;border-bottom:1px solid var(--border);flex:0 0 auto}.dock.closed .dock-head{border-bottom:0}.dock-body{flex:1 1 auto;min-height:0;overflow:auto;padding:10px 12px;scrollbar-width:thin;scrollbar-color:var(--border) transparent}input[type=checkbox]{-moz-appearance:none;appearance:none;-webkit-appearance:none;width:16px;height:16px;margin:0;flex:0 0 auto;border:1px solid var(--border);border-radius:4px;background:var(--row);position:relative;cursor:pointer;vertical-align:middle;transition:background .15s,border-color .15s,box-shadow .15s}input[type=checkbox]:hover{border-color:var(--muted)}input[type=checkbox]:focus-visible{outline:none;box-shadow:0 0 0 3px #a0b0d447;border-color:var(--accent)}input[type=checkbox]:checked{background:var(--accent);border-color:var(--accent)}input[type=checkbox]:checked:after{content:"";position:absolute;left:4.5px;top:1.5px;width:4px;height:8px;border:solid #fff;border-width:0 2px 2px 0;transform:rotate(45deg)}input[type=checkbox]:disabled{opacity:.45;cursor:default}.chk{gap:6px;cursor:pointer}
