:root{--right:320px;--tree:340px;--bottom:230px;--bg:#1b1b1b;--panel:#262626;--widget:#3c3c3c;--widget-hover:#4a4a4a;--border:#3a3a3a;--text:#cfcfcf;--weak:#8a8a8a;--accent:#5a8fd6;--selected:#2d4f7c;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*{box-sizing:border-box}html,body{background:var(--bg);height:100%;color:var(--text);-webkit-user-select:none;user-select:none;margin:0;font:13px system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Noto Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif;overflow:hidden}#app{grid-template-columns:minmax(300px, 1fr) 4px var(--right);grid-template-rows:auto minmax(0, 1fr) 4px var(--bottom) auto;grid-template-areas:"menu menu menu""center sr side""sb sb sb""time time time""status status status";height:100vh;display:grid}#app.detached-timeline{grid-template-rows:auto minmax(0,1fr) 0 0 auto}#app.detached-timeline #timeline,#app.detached-timeline #split-bottom,#app.detached-tree #tree,#app.detached-inspector #properties,#app.detached-tree #split-tree,#app.detached-inspector #split-tree,#app.detached-tree .panel-detach-btn[data-panel=tree],#app.detached-inspector .panel-detach-btn[data-panel=inspector]{display:none}#app.detached-inspector #tree{flex:1 1 0}#app.detached-tree.detached-inspector #side,#app.detached-tree.detached-inspector #split-right{display:none}#app.detached-tree.detached-inspector{grid-template-columns:minmax(300px,1fr) 0 0}#app.panel-only{grid-template:"body"minmax(0,1fr)"status"/1fr;position:relative}#panel-body{flex-direction:column;grid-area:body;min-width:0;min-height:0;display:flex}#panel-body>*{flex:1;min-height:0}#app.panel-only #tree,#app.panel-only #properties{flex-direction:column;flex:1 1 0;min-height:0;display:flex}#timeline,#side,#properties{position:relative}.panel-detach-btn{z-index:5;width:22px;height:20px;color:var(--text);background:var(--widget);border:1px solid var(--border);cursor:pointer;border-radius:3px;padding:0;font-size:13px;line-height:1;position:absolute;top:3px;right:8px}.panel-detach-btn:hover{background:var(--widget-hover)}#menubar{background:var(--panel);border-bottom:1px solid var(--border);grid-area:menu;align-items:center;gap:2px;padding:3px 6px;display:flex}#center{grid-area:center;min-width:0;min-height:0;position:relative}#split-right{grid-area:sr}#side{flex-direction:column;grid-area:side;min-width:0;min-height:0;display:flex}#tree{flex:0 0 var(--tree);padding:4px 0}#properties{flex:1 1 0}#properties .content{flex:1}.tree-scroll{flex:1;padding:0 6px}.tree-heading{color:#e6e6e6;cursor:pointer;border-bottom:1px solid var(--border);align-items:center;gap:6px;margin-top:2px;padding:3px 2px;font-weight:600;display:flex}.tree-heading .count{color:var(--weak);font-size:11px;font-weight:400}.tree-heading .actions{margin-left:auto}.twisty{width:12px;color:var(--weak);font-size:10px}.twisty.right{float:right;cursor:pointer}.row.attachment{color:var(--weak);font-size:12px}.row.attachment.visible{color:#e6e6e6}.row.weak{color:var(--weak)}#viewbar{border:1px solid var(--border);pointer-events:auto;background:#1e1e1ee0;border-radius:6px;flex-wrap:wrap;align-items:center;gap:4px;padding:4px 6px;display:flex;position:absolute;bottom:8px;left:8px;right:8px}#viewbar .toolgroup{align-items:center;gap:2px;display:flex}#viewbar .tool,#viewbar .axis,#viewbar .autokey{background:0 0}#viewbar .tool:hover,#viewbar .axis:hover{background:var(--widget)}#viewbar .tool.active,#viewbar .axis.active{background:var(--selected);color:#fff}#viewbar .autokey{color:var(--weak)}#viewbar .autokey.on{color:#f04646;font-weight:600}#viewbar .fields input.drag{width:84px}#split-bottom{grid-area:sb}#timeline{background:var(--panel);flex-direction:column;grid-area:time;min-height:0;display:flex}#status{background:var(--panel);border-top:1px solid var(--border);white-space:nowrap;grid-area:status;justify-content:space-between;gap:12px;padding:3px 8px;display:flex;overflow:hidden}#status-text{text-overflow:ellipsis;overflow:hidden}.split-v,.split-h{background:var(--border)}.split-v{cursor:col-resize}.split-h{cursor:row-resize}#viewport-gl{pointer-events:none;width:100%;height:100%;display:block;position:absolute;top:0;bottom:0;left:0;right:0}#viewport{cursor:crosshair;touch-action:none;width:100%;height:100%;display:block;position:absolute;top:0;bottom:0;left:0;right:0}.panel{background:var(--panel);flex-direction:column;min-width:0;min-height:0;padding:6px 8px;display:flex;overflow:hidden}#inspector .content{flex:1}.scroll{min-height:0;overflow:auto}#hierarchy .tree{border-bottom:1px solid var(--border);flex:0 60%;margin-bottom:6px}#hierarchy .order{flex:auto}.header{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;margin-bottom:4px;display:flex}h2{color:#e6e6e6;margin:4px 0 6px;font-size:16px;font-weight:600}strong{color:#e6e6e6;margin:4px 0;display:block}hr{border:none;border-top:1px solid var(--border);margin:8px 0}p{margin:4px 0}ol{margin:4px 0;padding-left:20px}li{margin-bottom:4px}.small{font-size:11px}.weak{color:var(--weak)}.mono{white-space:pre;font-family:ui-monospace,Consolas,monospace}.row{cursor:pointer;white-space:nowrap;text-overflow:ellipsis;border-radius:3px;padding:2px 4px;overflow:hidden}.row:hover{background:var(--widget)}.row.selected{background:var(--selected);color:#fff}.row.slot{color:#b4c8a0}.order-row{align-items:center;gap:2px;display:flex}.order-row .row{flex:1}button,select,input[type=text]{font:inherit;color:var(--text);background:var(--widget);border:1px solid #0000;border-radius:3px;padding:2px 6px}button{cursor:pointer}button:hover:not(:disabled),select:hover:not(:disabled){background:var(--widget-hover)}button:disabled,select:disabled,input:disabled{opacity:.45;cursor:default}button.small{padding:0 4px;font-size:10px}input[type=text]:focus,select:focus{border-color:var(--accent);outline:none}input.drag{cursor:ew-resize;text-align:center;width:72px}input.drag:not([readonly]){cursor:text;text-align:left}input[type=color]{background:0 0;border:none;width:40px;height:22px;padding:0}#menubar .menu-title,#menubar .tool{background:0 0}#menubar .menu-title:hover,#menubar .tool:hover{background:var(--widget)}#menubar .tool.active{background:var(--selected);color:#fff}#menubar .mode{font-weight:700}#menubar .mode.setup{color:#78aaff}#menubar .mode.animate{color:#ff785a}.vsep{background:var(--border);align-self:stretch;width:1px;margin:0 6px}.popup{z-index:100;background:#2b2b2b;border:1px solid #444;border-radius:4px;min-width:180px;padding:4px;position:fixed;box-shadow:0 6px 20px #00000080}.popup .item{text-align:left;background:0 0;justify-content:space-between;gap:24px;width:100%;padding:3px 8px;display:flex}.popup .item:hover:not(:disabled){background:var(--selected)}.popup label.item{cursor:pointer;justify-content:flex-start;gap:4px}.popup .shortcut{color:var(--weak)}.popup .sep{border-top:1px solid #444;margin:4px 0}.popup .help{white-space:nowrap;padding:4px 8px}.submenu-popup{z-index:101}.popup .item.active{font-weight:600}.popup .item.unsaved{color:#e6a23c}.layout-legend{align-items:center;gap:2px;display:flex}.layout-list{flex-direction:column;gap:4px;max-height:340px;display:flex;overflow:auto}.layout-row{border-bottom:1px solid var(--border);align-items:center;gap:8px;padding:4px 4px 4px 2px;display:flex}.layout-row>input[type=text]{flex:1;min-width:80px}.layout-dot{color:#0000;width:12px}.layout-row.active .layout-dot{color:var(--accent)}.layout-row.dirty .layout-dot{color:#e6a23c}.layout-badge{color:#e6a23c;white-space:nowrap;font-size:11px}.layout-actions{gap:4px;display:flex}.grid{grid-template-columns:auto 1fr;align-items:center;gap:6px 8px;margin-bottom:4px;display:grid}.grid.three{grid-template-columns:auto 1fr auto}.grid input[type=text]:not(.drag),.grid select{width:100%}.cell{align-items:center;gap:4px;min-width:0;display:flex}.key{color:gray}.key.on{color:#ffbe3c}.buttons{flex-wrap:wrap;gap:6px;margin:8px 0 4px;display:flex}.radio{cursor:pointer;margin:2px 0;display:block}#inspector select[class=""],#inspector>.content>select{margin-top:6px}#controls{border-bottom:1px solid var(--border);flex-wrap:wrap;align-items:center;gap:4px;padding:6px 8px;display:flex}#controls select{width:150px}#controls label{align-items:center;gap:2px;display:flex}.dopesheet-wrap{flex:1;min-height:0;display:flex;position:relative}.dopesheet-wrap .empty{color:var(--weak);margin:auto}#dopesheet,#graph{flex:1;min-height:0;overflow:hidden auto}#graph{overflow:hidden}#dopesheet canvas,#graph canvas{touch-action:none;display:block}.keybtn{background:0 0;padding:0 4px;font-size:12px;line-height:18px}.keybtn.none{color:#5ac86e}.keybtn.changed{color:#ffa032}.keybtn.keyed{color:#f04646}#menubar .autokey{color:var(--weak);background:0 0}#menubar .autokey.on{color:#f04646;font-weight:600}.popup table.keys{border-collapse:collapse;margin:4px 0}.popup table.keys td{white-space:nowrap;padding:1px 10px 1px 0}.popup table.keys td:first-child{color:var(--accent);font-family:ui-monospace,Consolas,monospace}.segmented{border:1px solid var(--border);border-radius:4px;display:inline-flex;overflow:hidden}.segmented button{background:0 0;border:0;border-radius:0}.segmented button.active{background:var(--selected);color:#fff}table.props{border-collapse:collapse;width:100%;margin:4px 0 8px}table.props th{text-align:left;color:var(--weak);padding:2px 4px;font-size:11px;font-weight:400}table.props td{padding:1px 4px}table.props tr.weak td{opacity:.55}table.props input.drag{width:100%}label.check{cursor:pointer;align-items:center;gap:4px;display:inline-flex}fieldset.plain{border:0;min-width:0;margin:0;padding:0}details>summary{cursor:pointer;color:var(--weak);margin:6px 0 2px}.modal-backdrop{z-index:200;background:#0000008c;justify-content:center;align-items:center;display:flex;position:fixed;top:0;bottom:0;left:0;right:0}.modal{background:var(--panel);border:1px solid var(--border);-webkit-user-select:text;user-select:text;border-radius:6px;flex-direction:column;gap:10px;width:min(560px,100vw - 32px);max-height:calc(100vh - 48px);padding:16px 18px;display:flex;overflow:auto;box-shadow:0 12px 40px #0009}.modal h3{margin:0;font-size:15px}.modal-columns{gap:16px;display:flex}.modal-columns>div{flex:1;min-width:0}.checklist{background:var(--bg);border:1px solid var(--border);border-radius:4px;max-height:180px;margin-top:4px;padding:6px;overflow:auto}.checklist label{white-space:nowrap;text-overflow:ellipsis;padding:1px 0;display:block;overflow:hidden}.modal-buttons{justify-content:flex-end;gap:8px;display:flex}.modal button.primary{background:var(--accent);color:#fff}.frame-input{width:70px}.progress{background:var(--bg);border-radius:3px;height:6px;overflow:hidden}.progress .bar{background:var(--accent);height:100%}.poses summary{cursor:pointer;padding:2px 0}.pose-save{gap:6px;margin:6px 0;display:flex}.pose-save input[type=text]{flex:1;min-width:0}.pose-row{align-items:center;gap:4px;padding:2px 0;display:flex}.pose-row .pose-name{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.pose-amount input,.controller input[type=range]{vertical-align:middle;width:100%}.controller{background:var(--bg);border:1px solid var(--border);border-radius:4px;margin:4px 0;padding:6px}.controller-head{align-items:center;gap:4px;display:flex}.controller-head strong{flex:1}.controller-poses select{max-width:45%}.section-title{margin-top:8px;font-weight:600}#menubar .spacer{flex:1}#menubar .workspaces{border:1px solid var(--border);border-radius:4px;margin-right:8px;display:flex;overflow:hidden}#menubar .workspace-tab{color:var(--weak);background:0 0;border:0;border-radius:0;padding:2px 12px}#menubar .workspace-tab:hover{color:var(--text);background:var(--widget-hover)}#menubar .workspace-tab.active{color:#fff;background:var(--selected)}.status-right{align-items:center;gap:10px;display:flex}#status-log{color:var(--weak);background:0 0;border:1px solid #0000;padding:0 6px;font-size:12px;line-height:16px}#status-log:hover{border-color:var(--border);color:var(--text)}#status-log.has-errors{color:#ff8a80;background:#3a1d1b;border-color:#6b2b27}.float-window{z-index:150;background:var(--panel);border:1px solid var(--border);resize:both;-webkit-user-select:text;user-select:text;border-radius:6px;flex-direction:column;min-width:320px;min-height:160px;display:flex;position:fixed;overflow:hidden;box-shadow:0 12px 40px #0000008c}.float-header{background:var(--widget);cursor:move;-webkit-user-select:none;user-select:none;align-items:center;gap:8px;padding:5px 6px 5px 10px;display:flex}.float-header button{background:0 0;padding:0 6px}.float-spacer{flex:1}.log-window{width:min(760px,100vw - 32px);height:min(360px,100vh - 120px);bottom:40px;right:16px}.log-toolbar{border-bottom:1px solid var(--border);white-space:nowrap;align-items:center;gap:8px;padding:5px 8px;display:flex}.log-toolbar input[type=search]{width:160px}.log-list{flex:1;padding:2px 0;font:12px ui-monospace,Cascadia Mono,Consolas,monospace;overflow:auto}.log-entry{border-left:3px solid #0000;padding:1px 8px}.log-entry>summary{cursor:pointer}.log-entry>summary,div.log-entry{gap:8px;display:flex}.log-entry>summary:before{content:"▸";color:var(--weak)}.log-entry[open]>summary:before{content:"▾"}.log-time,.log-source{color:var(--weak);flex:none}.log-source{text-overflow:ellipsis;max-width:140px;overflow:hidden}.log-message{white-space:pre-wrap;word-break:break-word}.log-debug .log-message{color:var(--weak)}.log-warn{background:#c9a22712;border-left-color:#c9a227}.log-error{background:#e05a4f17;border-left-color:#e05a4f}.log-error .log-message{color:#ffb4ad}.log-trace{background:var(--bg);white-space:pre;color:var(--text);border-radius:4px;margin:2px 0 4px 18px;padding:6px 8px;overflow-x:auto}.log-filter.log-warn,.log-filter.log-error{background:0 0}.script-window{width:min(760px,100vw - 32px);height:min(520px,100vh - 120px);top:70px;left:calc(50% - 380px)}.script-body{flex:1;min-height:0;display:flex}.script-list{border-right:1px solid var(--border);flex:none;width:170px;padding:6px;overflow:auto}.script-item{cursor:pointer;white-space:nowrap;text-overflow:ellipsis;border-radius:3px;justify-content:space-between;padding:3px 6px;display:flex;overflow:hidden}.script-item:hover{background:var(--widget)}.script-item.selected{background:var(--selected)}.script-new{width:100%;margin-top:6px}.script-main{flex-direction:column;flex:1;min-width:0;display:flex}.script-bar{align-items:center;gap:8px;padding:6px 8px;display:flex}.script-bar a{color:var(--accent)}.script-name{width:220px}.script-code{resize:none;background:var(--bg);color:var(--text);border:1px solid var(--border);-moz-tab-size:4;tab-size:4;border-radius:4px;flex:1;margin:0 8px;padding:8px;font:13px/1.45 ui-monospace,Cascadia Mono,Consolas,monospace}.script-window button.primary{background:var(--accent);color:#fff}.modal.modal-wide{width:min(720px,100vw - 32px)}.autorig-table{border:1px solid var(--border);border-radius:4px;max-height:320px;overflow:auto}.autorig-table table{border-collapse:collapse;width:100%}.autorig-table th{background:var(--widget);text-align:left;font-weight:600;position:sticky;top:0}.autorig-table th,.autorig-table td{white-space:nowrap;padding:3px 8px}.autorig-table tr:nth-child(2n) td{background:#ffffff05}.script-reference{background:var(--bg);border:1px solid var(--border);white-space:pre;-webkit-user-select:text;user-select:text;border-radius:4px;max-height:45%;margin:6px 8px 0;padding:8px;font:12px/1.45 ui-monospace,Cascadia Mono,Consolas,monospace;overflow:auto}.script-reference[hidden]{display:none}.script-item.unsaved>span:first-child{font-style:italic}.coach{resize:none;z-index:180;width:min(340px,100vw - 32px);min-height:0;top:80px;left:16px}.coach-body{flex-direction:column;gap:8px;padding:10px 12px 12px;display:flex}.coach-progress{background:var(--bg);border-radius:2px;height:4px;overflow:hidden}.coach-progress .bar{background:var(--accent);height:100%;transition:width .3s}.coach-text{line-height:1.5}.coach-text kbd{border:1px solid var(--border);background:var(--widget);border-bottom-width:2px;border-radius:4px;padding:0 5px;font:12px ui-monospace,Consolas,monospace}.coach-action{align-self:flex-start}.coach-done{color:#7ee08a;font-weight:600}.coach-wait:before{content:"";background:var(--accent);border-radius:50%;width:7px;height:7px;margin-right:6px;animation:1.2s ease-in-out infinite coach-blink;display:inline-block}.coach-buttons{gap:8px;display:flex}.coach button.primary,.tutorials button.primary{background:var(--accent);color:#fff}.coach-ring{z-index:170;pointer-events:none;border:2px solid var(--accent);border-radius:8px;animation:1.4s ease-in-out infinite coach-pulse;position:fixed;box-shadow:0 0 0 4px #5a8fd640,0 0 18px #5a8fd68c}.coach-ring.spot{border-radius:50%}.coach-ring.area{box-shadow:none;border:2px dashed #5a8fd6b3;animation:none}.coach-ring[hidden]{display:none}.coach-praise{color:#7ee08a;margin-left:8px;font-weight:600}.coach-count{align-items:center;display:flex}@keyframes coach-pulse{50%{box-shadow:0 0 0 8px #5a8fd61f,0 0 26px #5a8fd6b3}}@keyframes coach-blink{50%{opacity:.25}}@media (prefers-reduced-motion:reduce){.coach-ring,.coach-wait:before{animation:none}}.lesson-list{flex-direction:column;gap:6px;display:flex}.lesson{border:1px solid var(--border);border-radius:6px;align-items:center;gap:10px;padding:8px 10px;display:flex}.lesson.suggested{border-color:var(--accent);background:#5a8fd614}.lesson-mark{color:#7ee08a;width:16px;font-weight:700}.lesson-text{flex:1;min-width:0}.lesson-title{font-weight:600}.ai-steps{flex-direction:column;gap:10px;margin:0;padding-left:20px;display:flex}.ai-steps li>div{margin-top:2px}.ai-row{align-items:center;gap:8px;margin-top:6px;display:flex}.ai-link{flex:1;min-width:0;font:12px ui-monospace,Consolas,monospace}.ai-connect a.button{border-radius:4px;padding:4px 10px;text-decoration:none;display:inline-block}.ai-connect button.primary,.ai-connect a.button.primary{background:var(--accent);color:#fff}.ai-code pre{background:var(--bg);border:1px solid var(--border);white-space:pre-wrap;word-break:break-all;-webkit-user-select:text;user-select:text;border-radius:4px;padding:8px;font:12px ui-monospace,Consolas,monospace}#viewbar .onion-tool{align-items:center;gap:2px;display:inline-flex}#viewbar .onion-toggle,#viewbar .onion-gear{color:var(--weak);background:0 0}#viewbar .onion-toggle:hover,#viewbar .onion-gear:hover{background:var(--widget)}#viewbar .onion-toggle.on{color:var(--accent);font-weight:600}.row .onion-bonebtn{color:var(--weak);opacity:0;cursor:pointer;margin-left:4px}.row:hover .onion-bonebtn,.row .onion-bonebtn.on{opacity:1}.row .onion-bonebtn.on{color:var(--accent)}.row .onion-marks{letter-spacing:1px;margin-left:6px;font-size:10px}.row .onion-mark{cursor:help}#menubar .onion-notice{color:#f0963c;background:0 0;border:1px solid #f0963c66;border-radius:4px;margin-left:8px;padding:1px 7px;font-weight:600}#menubar .onion-notice:hover{background:#f0963c1f}.onion-panel{flex-direction:column;gap:5px;min-width:230px;padding:2px;display:flex}.onion-panel .onion-title{color:var(--text);margin-bottom:2px;font-weight:600}.onion-panel .onion-row{justify-content:space-between;align-items:center;gap:8px;display:flex}.onion-panel .onion-check{cursor:pointer;align-items:center;gap:6px;display:flex}.onion-panel .onion-num{width:56px}.onion-panel .onion-color{cursor:pointer;width:40px;height:22px;padding:0}.onion-panel .onion-sep{background:var(--border);height:1px;margin:3px 0}.onion-panel .onion-note{color:var(--weak);max-width:230px;font-size:11px;line-height:1.35}.onion-panel .onion-color-wrap{align-items:center;gap:4px;display:inline-flex}.onion-panel .onion-reset{color:var(--weak);border:1px solid var(--border);cursor:pointer;background:0 0;border-radius:4px;padding:0 5px;line-height:20px}.onion-panel .onion-reset:hover{background:var(--widget);color:var(--text)}
