*{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{background:var(--bg-0);color:var(--text-0);font-family:var(--font);-webkit-font-smoothing:antialiased;font-size:12.5px;overflow:hidden}button,input,select{font-family:inherit;font-size:inherit;color:inherit}::-webkit-scrollbar{width:9px;height:9px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:#2a3242 padding-box padding-box;border:2px solid #0000;border-radius:6px}::-webkit-scrollbar-thumb:hover{background:#3a465c padding-box padding-box}.app{background:var(--bg-0);flex-direction:column;height:100%;display:flex}.app__body{flex:1;min-height:0}.group{width:100%;height:100%}.topbar{height:var(--topbar-h);background:var(--bg-2);border-bottom:1px solid var(--line);-webkit-user-select:none;user-select:none;flex:none;align-items:center;gap:12px;padding:0 10px;display:flex}.brand{border-right:1px solid var(--line);align-items:center;gap:7px;padding-right:12px;display:flex}.brand__mark{background:var(--accent);border-radius:var(--radius-s);width:20px;height:20px;color:var(--accent-ink);justify-content:center;align-items:center;display:flex}.brand__name{letter-spacing:.2px;font-size:12px;font-weight:500}.topbar__save{border-radius:var(--radius-s);width:26px;height:26px;color:var(--text-1);cursor:pointer;transition:color var(--fast), background var(--fast);background:0 0;border:none;justify-content:center;align-items:center;padding:0;display:inline-flex}.topbar__save:hover{background:var(--bg-3);color:var(--text-0)}.topbar__project{color:var(--text-2);align-items:center;gap:8px;font-size:11.5px;display:flex}.topbar__project strong{color:var(--text-0);font-weight:500}.topbar__spacer{flex:1}.topbar__group{align-items:center;gap:6px;display:flex}.panel{background:var(--bg-1);flex-direction:column;height:100%;min-height:0;display:flex;overflow:hidden}.panel__body{flex:1;min-height:0;overflow:auto}.btn{background:var(--bg-3);border:1px solid var(--line);border-radius:var(--radius-s);height:26px;color:var(--text-1);cursor:pointer;white-space:nowrap;align-items:center;gap:6px;padding:0 10px;transition:background .14s,color .14s,border-color .14s;display:inline-flex}.btn:hover{background:var(--bg-4);color:var(--text-0)}.btn:active{transform:translateY(1px)}.btn--icon{justify-content:center;width:26px;padding:0}.btn:disabled{opacity:.4;cursor:not-allowed}.field{align-items:center;gap:8px;min-height:24px;display:flex}.field__label{color:var(--text-1);flex:0 0 76px;font-size:11.5px}.field__control{flex:1;align-items:center;gap:6px;min-width:0;display:flex}.field__hint{color:var(--text-2);font-size:10.5px;line-height:1.5}.input,select.input{background:var(--bg-0);border:1px solid var(--line);border-radius:var(--radius-s);width:100%;height:24px;color:var(--text-0);font-family:var(--mono);outline:none;padding:0 7px;font-size:11.5px}.input:focus{border-color:var(--accent);box-shadow:0 0 0 2px var(--accent-soft)}.vec .input{padding-left:17px}input[type=range]{appearance:none;cursor:pointer;background:0 0;flex:1;height:18px}input[type=range]::-webkit-slider-runnable-track{background:var(--bg-4);border-radius:3px;height:3px}input[type=range]::-webkit-slider-thumb{appearance:none;background:var(--accent);width:11px;height:11px;box-shadow:0 0 0 1px var(--accent);border:2px solid #0b0e14;border-radius:50%;margin-top:-4px}input[type=color]{background:var(--bg-0);border:1px solid var(--line);border-radius:var(--radius-s);cursor:pointer;width:30px;height:24px;padding:1px}.viewport{background:var(--bg-1);border:1px solid var(--line);border-radius:var(--radius-m);flex-direction:column;height:100%;min-height:0;display:flex;position:relative;overflow:hidden}.viewport__stage{flex:1;min-height:0;position:relative}.viewport__stage--checker{background-color:#101318;background-image:linear-gradient(45deg,#171b23 25%,#0000 25%),linear-gradient(-45deg,#171b23 25%,#0000 25%),linear-gradient(45deg,#0000 75%,#171b23 75%),linear-gradient(-45deg,#0000 75%,#171b23 75%);background-position:0 0,0 9px,9px -9px,-9px 0;background-size:18px 18px}.viewport__canvas{position:absolute;inset:0}.viewport__toolbar{border:1px solid var(--line);border-radius:var(--radius-m);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);z-index:2;background:#0a0d13b8;gap:5px;padding:4px;display:flex;position:absolute;top:8px;left:8px}.viewport__toolbar .btn{height:24px}.viewport__caption{color:var(--text-2);z-index:2;pointer-events:none;font-size:11px;position:absolute;bottom:8px;left:8px}.viewport__loading{color:var(--text-1);z-index:3;background:#07090d8c;justify-content:center;align-items:center;font-size:12px;display:flex;position:absolute;inset:0}.asset-section__hint{color:var(--text-2);text-transform:none;letter-spacing:0;font-weight:400}.sep{z-index:5;background:var(--bg-0);transition:background var(--fast);flex:0 0 5px;position:relative}.sep--col{cursor:col-resize;width:5px}.sep--row{cursor:row-resize;height:5px}.sep:hover,.sep:active{background:var(--accent)}.mini-toggle{border-radius:var(--radius-s);width:22px;height:22px;color:var(--text-2);cursor:pointer;transition:background var(--fast), color var(--fast);background:0 0;border:none;justify-content:center;align-items:center;display:inline-flex}.mini-toggle:hover{background:var(--bg-4);color:var(--text-0)}.mini-toggle:focus-visible{box-shadow:var(--ring);outline:none}.timeline{background:var(--bg-1);border-top:1px solid var(--line);flex-direction:column;height:100%;min-height:0;display:flex}.timeline__transport{background:var(--bg-2);border-bottom:1px solid var(--line);-webkit-user-select:none;user-select:none;flex:none;align-items:center;gap:8px;height:38px;padding:0 10px;display:flex}.timeline__zoom{color:var(--text-2);align-items:center;gap:6px;font-size:11px;display:flex}.timeline__zoom input[type=range]{flex:none;width:96px}.timeline__main{flex:1;min-height:0;display:flex}.timeline__track-head{border-bottom:1px solid var(--line-soft);height:26px;transition:background var(--fast);flex:none;align-items:center;gap:6px;padding:0 8px;display:flex}.timeline__track-head:hover{background:var(--bg-2)}.timeline__track-color{border-radius:2px;flex:none;width:3px;height:18px}.timeline__track-name{text-overflow:ellipsis;white-space:nowrap;color:var(--text-1);flex:1;font-size:11.5px;overflow:hidden}.timeline__scroll{flex:1;min-width:0;position:relative;overflow:auto}.timeline__content{min-width:100%;min-height:100%;position:relative}.ruler{z-index:3;background:var(--bg-2);border-bottom:1px solid var(--line);cursor:ew-resize;touch-action:none;height:26px;position:sticky;top:0}.ruler__tick{border-left:1px solid var(--line);color:var(--text-2);font-family:var(--mono);-webkit-user-select:none;user-select:none;padding-left:4px;font-size:10px;line-height:24px;position:absolute;top:0;bottom:0}.playhead{background:var(--accent);pointer-events:none;z-index:4;width:1px;position:absolute;top:0;bottom:0}.playhead__head{background:var(--accent);pointer-events:auto;cursor:ew-resize;border-radius:1px;width:9px;height:9px;position:absolute;top:0;left:-4px;box-shadow:0 1px 3px #0009}.playhead__head:after{content:"";position:absolute;inset:-2px -8px -8px}.timeline__empty{color:var(--text-2);text-align:center;padding:18px;font-size:11.5px}.keymark{background:var(--key-color,var(--accent));cursor:grab;z-index:2;border:1px solid #06090ea6;border-radius:2px;width:11px;height:11px;margin-left:-5.5px;padding:0;position:absolute;top:50%;transform:translateY(-50%)rotate(45deg)}.keymark:hover{box-shadow:0 0 0 3px #ffffff29}.keymark--selected{box-shadow:0 0 0 3px var(--accent-line);border-color:#fff}.timeline__track-name.as-button{text-align:left;cursor:pointer;color:var(--text-1);background:0 0;border:none;padding:0}.timeline__track-name.as-button:hover{color:var(--text-0)}.timeline__track-name.is-selected{color:var(--text-0);font-weight:600}.track-lane{border-bottom:1px solid var(--line-soft);background-image:linear-gradient(90deg,#ffffff08 1px,#0000 1px);flex:none;height:26px;position:relative}.track-lane__span{pointer-events:none;background:linear-gradient(#6366f11a,#6366f108);border-right:1px solid #6366f159;position:absolute;top:0;bottom:0;left:0}.timeline__main{flex:1;min-height:0;display:flex;position:relative}.timeline__heads{background:var(--bg-2);border-right:1px solid var(--line);flex-direction:column;flex:0 0 208px;display:flex;overflow:hidden}.timeline__heads-spacer{border-bottom:1px solid var(--line);height:26px;color:var(--text-2);flex:none;align-items:center;padding:0 8px;font-size:10px;display:flex}.timeline__track-head{border-bottom:1px solid var(--line-soft);flex:none;align-items:center;gap:5px;height:26px;padding:0 6px 0 8px;display:flex}.timeline__track-head.is-selected{background:#6366f117}.timeline__track-name{text-overflow:ellipsis;white-space:nowrap;min-width:0;color:var(--text-1);flex:1;font-size:11px;overflow:hidden}.timeline__track-color{border-radius:2px;flex:none;width:9px;height:9px;transform:rotate(45deg);box-shadow:0 0 0 1px #00000059}.timeline__track-head .mini-toggle{border:1px solid var(--line);width:17px;height:17px;color:var(--text-2);cursor:pointer;background:0 0;border-radius:4px;flex:none;padding:0;font-size:9px;line-height:1}.timeline__track-head .mini-toggle:hover{color:var(--text-0);border-color:var(--text-2)}.ruler__content{pointer-events:none;background:linear-gradient(#6366f129,#6366f10a);border-right:1px solid #6366f166;position:absolute;top:0;bottom:0;left:0}.timeline__hint{z-index:3;pointer-events:none;max-width:460px;color:var(--text-2);font-size:11.5px;line-height:1.75;position:absolute;top:34px;left:220px}.timeline__hint b{color:var(--text-1)}.ctxmenu{z-index:60;background:var(--bg-2);border:1px solid var(--line);border-radius:var(--radius-m);min-width:214px;box-shadow:var(--shadow-3);animation:ui-pop-flat .13s var(--ease);padding:5px;position:fixed}@keyframes ui-pop-flat{0%{opacity:0;transform:scale(.97)}to{opacity:1;transform:scale(1)}}.ctxmenu__head{color:var(--text-2);font-family:var(--mono);border-bottom:1px solid var(--line-soft);margin-bottom:4px;padding:5px 8px 7px;font-size:10px}.ctxmenu__item{border-radius:var(--radius-s);width:100%;color:var(--text-0);text-align:left;cursor:pointer;transition:background var(--fast);background:0 0;border:none;grid-template-columns:16px 1fr;align-items:center;gap:2px 8px;padding:7px 8px;font-size:11.5px;display:grid}.ctxmenu__item>svg{color:var(--text-2)}.ctxmenu__item>.ctxmenu__note{grid-column:2}.ctxmenu__item:hover:not(:disabled){background:var(--bg-4)}.ctxmenu__item:hover:not(:disabled)>svg{color:var(--text-1)}.ctxmenu__item:disabled{color:var(--text-2);cursor:default}.ctxmenu__note{color:var(--text-2);font-size:10px}.keymark--chained{border-color:#ffffff80;background:#fff!important}.keymark--chained.keymark--selected{box-shadow:0 0 0 3px #6366f18c}.track-lane--clips{border-bottom:1px solid var(--line-soft);background:#6366f10b;flex:none;height:24px;position:relative}.vclip{cursor:grab;z-index:2;background:#6366f157;border:1px solid #6366f1b3;border-radius:3px;align-items:center;padding:0 8px;display:flex;position:absolute;top:3px;bottom:3px;overflow:hidden}.vclip--selected{background:#6366f18c;box-shadow:0 0 0 2px #ffffff59}.vclip__label{color:#eaf1ff;white-space:nowrap;pointer-events:none;font-size:10px}.vclip__handle{cursor:ew-resize;background:#ffffff38;width:7px;position:absolute;top:0;bottom:0}.vclip__handle--start{left:0}.vclip__handle--end{right:0}.timeline__head-block{flex:none}.timeline__clip-head{height:24px;color:var(--text-2);border-bottom:1px solid var(--line-soft);background:var(--bg-3);flex:none;align-items:center;gap:5px;padding:0 8px 0 10px;display:flex}.timeline__clip-name{text-overflow:ellipsis;white-space:nowrap;min-width:0;color:var(--text-2);flex:1;font-size:10.5px;overflow:hidden}.ctxmenu__shade{z-index:55;position:fixed;inset:0}.topbar__project-name{border-radius:var(--radius-s);color:var(--text-0);cursor:text;transition:background var(--fast), border-color var(--fast);background:0 0;border:1px solid #0000;padding:2px 6px;font-size:11.5px}.topbar__project-name:hover{background:var(--bg-3);border-color:var(--line)}.topbar__project-input{width:180px}.player{z-index:200;flex-direction:column;justify-content:center;align-items:center;gap:14px;padding:24px;display:flex;position:fixed;inset:0}.player__backdrop{background:#04060ae0;position:absolute;inset:0}.player__stage{max-width:100%;max-height:calc(100% - 70px);position:relative}.player__canvas{background:#000;border-radius:6px;width:100%;height:100%;display:block;box-shadow:0 20px 60px #0009}.player__bar{background:var(--bg-1);border:1px solid var(--line);border-radius:999px;align-items:center;gap:10px;width:min(760px,100%);padding:8px 12px;display:flex;position:relative}.player__time{color:var(--text-1);font-family:var(--mono);font-size:10.5px}.timeline__transport{justify-content:space-between}.timeline__transport-side{flex:1;align-items:center;gap:6px;display:flex}.timeline__transport-side--end{justify-content:flex-end}.keymark--hidden{border:1.5px solid var(--key-color,var(--accent));background:0 0!important}.keymark--hidden.keymark--chained{border-color:#fff}.ai-chat{flex-direction:column;height:100%;min-height:0;display:flex}.ai-chat__head{border-bottom:1px solid var(--line-soft,#262b36);color:var(--text-0,#e7ecf5);align-items:center;gap:7px;padding:10px 12px;font-size:12.5px;font-weight:500;display:flex}.ai-chat__head svg{color:var(--accent,#00c2d1)}.ai-chat__scroll{flex-direction:column;flex:1;gap:8px;min-height:0;padding:10px 12px;display:flex;overflow-y:auto}.ai-chat__empty{color:var(--text-2,#8b94a8);font-size:11.5px;line-height:1.6}.ai-chat__msg{white-space:pre-wrap;word-break:break-word;border-radius:8px;max-width:92%;padding:7px 10px;font-size:11.5px;line-height:1.55}.ai-chat__msg--user{background:var(--bg-3,#2a3040);color:var(--text-0,#e7ecf5);align-self:flex-end}.ai-chat__msg--assistant{background:var(--bg-2,#1d222e);border:1px solid var(--line,#333);color:var(--text-1,#c5ccda);align-self:flex-start}.ai-chat__msg--error{color:#fca5a5;border-color:#ef444480}.ai-chat__input{border-top:1px solid var(--line-soft,#262b36);padding:8px 12px}.ai-chat__input-box{position:relative}.ai-chat__input textarea{resize:none;background:var(--bg-1,#161a23);border:1px solid var(--line,#333);width:100%;color:var(--text-0,#e7ecf5);box-sizing:border-box;border-radius:8px;padding:7px 42px 7px 9px;font-family:inherit;font-size:12px;line-height:1.5;display:block}.ai-chat__input textarea:focus{border-color:var(--accent,#00c2d1);outline:none}.ai-chat__send{background:var(--accent,#00c2d1);color:#041014;cursor:pointer;border:none;border-radius:7px;justify-content:center;align-items:center;width:28px;height:28px;display:inline-flex;position:absolute;bottom:6px;right:6px}.ai-chat__send:disabled{opacity:.4;cursor:default}.ai-chat__cfg{width:22px;height:22px;color:var(--text-2,#8b94a8);cursor:pointer;background:0 0;border:none;border-radius:6px;justify-content:center;align-items:center;margin-left:auto;padding:0;display:inline-flex}.ai-chat__cfg:hover{background:var(--bg-3,#2a3040);color:var(--text-0,#e7ecf5)}.ai-chat__config{border-bottom:1px solid var(--line-soft,#262b36);flex-direction:column;gap:7px;padding:8px 12px;display:flex}.ai-chat__config-row{align-items:center;gap:8px;display:flex}.ai-chat__config-label{width:52px;color:var(--text-2,#8b94a8);flex:none;font-size:11px}.ai-chat__config-select,.ai-chat__config-input{background:var(--bg-1,#161a23);border:1px solid var(--line,#333);min-width:0;height:26px;color:var(--text-0,#e7ecf5);border-radius:6px;flex:1;padding:0 8px;font-family:inherit;font-size:11.5px}.ai-chat__config-select:focus,.ai-chat__config-input:focus{border-color:var(--accent,#00c2d1);outline:none}.ai-chat__config-note{color:var(--text-2,#8b94a8);margin:2px 0 0;font-size:10.5px;line-height:1.5}.ai-chat__config-note a{color:var(--accent,#00c2d1);text-decoration:none}.ai-chat__config-note a:hover{text-decoration:underline}.ai-chat__msg--busy{align-items:center;gap:7px;display:flex}.ai-chat__spinner{border:2px solid var(--accent,#00c2d1);border-top-color:#0000;border-radius:50%;flex:none;width:12px;height:12px;animation:.7s linear infinite ai-spin}@keyframes ai-spin{to{transform:rotate(360deg)}}.md{flex-direction:column;gap:5px;min-width:0;display:flex}.md p{margin:0}.md h1,.md h2,.md h3,.md h4{color:var(--text-0,#e7ecf5);margin:2px 0;font-weight:600;line-height:1.4}.md h1{font-size:13px}.md h2{font-size:12.5px}.md h3{font-size:12px}.md h4{font-size:11.5px}.md ul,.md ol{flex-direction:column;gap:2px;margin:0;padding-left:16px;display:flex}.md li{margin:0}.md code{background:var(--bg-3,#2a3040);border-radius:4px;padding:1px 4px;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:10.5px}.md pre{background:var(--bg-1,#161a23);border:1px solid var(--line,#333);border-radius:6px;margin:3px 0;padding:8px;overflow-x:auto}.md pre code{white-space:pre-wrap;word-break:break-word;background:0 0;padding:0;font-size:10.5px}.md a{color:var(--accent,#00c2d1);text-decoration:none}.md a:hover{text-decoration:underline}.md strong{color:var(--text-0,#e7ecf5);font-weight:600}.ai-chat__actions{align-items:center;gap:2px;margin-left:auto;display:flex}.ai-chat__cfg:disabled{opacity:.35;cursor:default}.md-table{border-collapse:collapse;width:100%;margin:3px 0;font-size:10.5px}.md-table th,.md-table td{border:1px solid var(--line,#333);text-align:left;vertical-align:top;padding:4px 7px}.md-table th{background:var(--bg-3,#2a3040);color:var(--text-0,#e7ecf5);font-weight:600}.md-table td{color:var(--text-1,#c5ccda)}.ai-chat__cfg--on{background:var(--bg-3,#2a3040);color:var(--accent,#00c2d1)}.ai-chat__cfg--danger:hover{color:#fca5a5}.ai-chat__history{flex-direction:column;flex:1;min-height:0;display:flex}.ai-chat__history-head{border-bottom:1px solid var(--line-soft,#262b36);color:var(--text-0,#e7ecf5);justify-content:space-between;align-items:center;padding:8px 12px;font-size:12px;font-weight:500;display:flex}.ai-chat__history-list{flex-direction:column;flex:1;gap:4px;min-height:0;padding:6px;display:flex;overflow-y:auto}.ai-chat__history-item{cursor:pointer;border:1px solid #0000;border-radius:8px;align-items:center;gap:6px;padding:8px 8px 8px 10px;display:flex}.ai-chat__history-item:hover{background:var(--bg-2,#1d222e)}.ai-chat__history-item--active{border-color:var(--accent,#00c2d1);background:var(--bg-2,#1d222e)}.ai-chat__history-main{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.ai-chat__history-main b{color:var(--text-0,#e7ecf5);white-space:nowrap;text-overflow:ellipsis;font-size:11.5px;font-weight:500;overflow:hidden}.ai-chat__history-main em{color:var(--text-2,#8b94a8);font-size:10px;font-style:normal}.ai-chat__history-actions{flex:none;align-items:center;gap:2px;display:flex}.ai-chat__reasoning{color:var(--text-2,#8b94a8);margin-bottom:6px;font-size:10.5px}.ai-chat__reasoning summary{cursor:pointer;-webkit-user-select:none;user-select:none;color:var(--text-2,#8b94a8);font-size:10.5px;list-style:none}.ai-chat__reasoning summary:hover{color:var(--text-1,#c5ccda)}.ai-chat__reasoning summary:before{content:"▸ ";color:var(--accent,#00c2d1)}.ai-chat__reasoning[open] summary:before{content:"▾ "}.ai-chat__reasoning-body{background:var(--bg-1,#161a23);border-left:2px solid var(--accent,#00c2d1);white-space:pre-wrap;word-break:break-word;color:var(--text-2,#8b94a8);border-radius:4px;max-height:220px;margin-top:4px;padding:6px 8px;font-size:10.5px;line-height:1.5;overflow-y:auto}.panel--rail{flex-direction:row}.rail{background:var(--bg-2);border-right:1px solid var(--line);flex-direction:column;flex:none;gap:2px;width:56px;padding:6px 5px;display:flex}.rail__item{border-radius:var(--radius-s);color:var(--text-2);cursor:pointer;transition:background var(--fast), color var(--fast);background:0 0;border:none;flex-direction:column;align-items:center;gap:4px;padding:7px 2px 6px;display:flex;position:relative}.rail__item:hover{background:var(--bg-3);color:var(--text-0)}.rail__item--active{color:var(--accent);background:var(--accent-soft)}.rail__icon{display:flex}.rail__label{font-size:10px;font-weight:400}.rail__item .ui-badge{padding:0 3px;font-size:9px;line-height:13px;position:absolute;top:4px;right:4px}.search{align-items:center;padding:10px 10px 6px;display:flex;position:relative}.search__icon{color:var(--text-2);pointer-events:none;position:absolute;left:19px}.search__input{padding-left:26px}.search__clear{color:var(--text-2);cursor:pointer;background:0 0;border:none;font-size:11px;position:absolute;right:18px}.search__clear:hover{color:var(--text-0)}.device-card__actions .btn{flex:1;justify-content:center}.acc-list{flex-direction:column;gap:6px;padding:8px 10px 12px;display:flex}.acc{background:var(--bg-2);border:1px solid var(--line-soft);border-radius:var(--radius-m);transition:border-color var(--fast), background var(--fast);overflow:hidden}.acc--selected{border-color:var(--accent-line);box-shadow:0 0 0 1px var(--accent-soft)}.acc__head{cursor:pointer;-webkit-user-select:none;user-select:none;transition:background var(--fast);align-items:center;gap:7px;padding:9px 10px;display:flex}.acc__head:hover{background:var(--bg-3)}.acc__chevron{width:9px;color:var(--text-2);flex:none;font-size:9px;transition:transform .15s}.acc__glyph{background:var(--bg-4);width:20px;height:20px;color:var(--text-1);border-radius:5px;flex:none;justify-content:center;align-items:center;font-size:12px;font-weight:600;display:flex}.acc__title{flex-direction:column;flex:1;gap:1px;min-width:0;display:flex}.acc__name{color:var(--text-0);font-size:11.5px}.acc__body{border-top:1px solid var(--line-soft);background:var(--bg-1);flex-direction:column;gap:8px;padding:10px 9px 12px;display:flex}.notice{border-radius:var(--radius-s);padding:6px 8px;font-size:11px;line-height:1.5}.notice--error{background:var(--danger-soft);color:#fca5a5;border:1px solid #ef444466}.field--stack .field__label{flex:none}.truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.section-actions{align-items:center;gap:8px;padding:10px 10px 4px;display:flex}.resources{min-height:100%}.resources--over{outline:2px dashed var(--accent);outline-offset:-6px;background:#6366f10d}.media-card__actions .btn{height:22px;padding:0 7px;font-size:11px}.viewport__backdrop{position:absolute;inset:0;overflow:hidden}.viewport__backdrop>img,.viewport__backdrop>video{width:100%;height:100%;display:block}.viewport__backdrop-overlay{pointer-events:none;background:#05070b;position:absolute;inset:0}.viewport__camera-hint{background:var(--bg-2);border:1px solid var(--line);border-radius:var(--radius-s);color:var(--text-0);font-size:10.5px;font-family:var(--mono);cursor:pointer;opacity:0;pointer-events:none;z-index:3;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);white-space:nowrap;align-items:center;gap:5px;padding:3px 8px 3px 6px;transition:opacity .18s,border-color .18s;display:flex;position:absolute;top:0;left:0}.viewport__camera-hint:hover{border-color:var(--accent);background:#101622f0}.speed{flex-direction:column;gap:6px;display:flex}.speed__chart{padding:0 10px}.speed__svg{touch-action:none;-webkit-user-select:none;user-select:none;width:100%;height:auto;display:block}.speed__plot{fill:var(--bg-0);stroke:var(--line);stroke-width:1px}.speed__grid{stroke:var(--line-soft);stroke-width:1px;pointer-events:none}.speed__grid--unit{stroke:#33405a}.speed__tick{fill:var(--text-2);font-size:8px;font-family:var(--mono);pointer-events:none}.speed__tick--y{text-anchor:end}.speed__tick--mid{text-anchor:middle}.speed__tick--end{text-anchor:end}.speed__area{fill:#6366f129;pointer-events:none}.speed__curve{fill:none;stroke:var(--accent);stroke-width:2px;stroke-linecap:round;pointer-events:none}.speed__playhead line{stroke:#ff4d6a;stroke-width:1px;stroke-dasharray:3 3;pointer-events:none}.speed__playhead circle{fill:#ff4d6a;pointer-events:none}.speed__handle-line{stroke:var(--text-2);stroke-width:1px;pointer-events:none}.speed__handle{fill:var(--bg-2);stroke:var(--accent-2);stroke-width:1.5px;cursor:grab}.speed__handle:hover{fill:var(--accent-2)}.speed__node{fill:var(--bg-1);stroke:var(--accent);stroke-width:2px;cursor:grab}.speed__node:hover{fill:var(--accent-soft)}.speed__node--active{fill:var(--accent);stroke:#fff}.input--center{text-align:center}.speed .field__control{min-width:0}.viewport__camera-hint[data-mode=scene]{border-color:var(--accent-line);color:var(--accent);opacity:1!important;pointer-events:auto!important;top:46px!important;left:12px!important;transform:none!important}.viewport__camera-hint-arrow{color:var(--accent);align-items:center;display:inline-flex}:root{--bg-0:#131313;--bg-1:#191919;--bg-2:#1f1f1f;--bg-3:#262626;--bg-4:#2f2f2f;--bg-hover:#2a2a2a;--line:#333;--line-soft:#2a2a2a;--text-0:#e6e6e6;--text-1:#a0a0a0;--text-2:#6e6e6e;--accent:#00c2d1;--accent-hover:#16d4e2;--accent-soft:#00c2d124;--accent-line:#00c2d18c;--accent-ink:#04252a;--accent-2:#00c2d1;--ok:#34c759;--warn:#ff9f0a;--danger:#ff453a;--danger-soft:#ff453a24;--radius-s:3px;--radius-m:4px;--radius-l:6px;--radius-pill:999px;--shadow-1:none;--shadow-2:0 4px 12px #00000080;--shadow-3:0 10px 30px #0000009e;--ring:0 0 0 1px var(--accent);--ease:cubic-bezier(.32, .72, 0, 1);--fast:.11s var(--ease);--topbar-h:38px;--font:"Inter", "PingFang SC", "Microsoft YaHei", "Noto Sans SC", system-ui, -apple-system, "Segoe UI", sans-serif;--mono:"JetBrains Mono", "SF Mono", ui-monospace, "Cascadia Code", Menlo, Consolas, monospace}.ui-btn{background:var(--bg-3);border:1px solid var(--line);border-radius:var(--radius-s);height:26px;color:var(--text-0);white-space:nowrap;cursor:pointer;transition:background var(--fast), border-color var(--fast), color var(--fast), box-shadow var(--fast), transform var(--fast);justify-content:center;align-items:center;gap:5px;padding:0 10px;font-size:11.5px;font-weight:400;display:inline-flex}.ui-btn:hover:not(:disabled){background:var(--bg-4);border-color:#33333d}.ui-btn:active:not(:disabled){background:var(--bg-4)}.ui-btn:focus-visible{box-shadow:var(--ring);outline:none}.ui-btn:disabled{opacity:.42;cursor:not-allowed}.ui-btn--primary{background:var(--accent);color:var(--accent-ink);border-color:#0000;font-weight:500}.ui-btn--primary:hover:not(:disabled){background:var(--accent-hover);border-color:#0000}.ui-btn--ghost{color:var(--text-1);background:0 0;border-color:#0000}.ui-btn--ghost:hover:not(:disabled){background:var(--bg-3);color:var(--text-0)}.ui-btn--ghost.ui-btn--on{background:var(--accent-soft);color:var(--accent)}.ui-btn--outline{background:0 0}.ui-btn--danger{color:#fca5a5}.ui-btn--danger:hover:not(:disabled){background:var(--danger-soft);border-color:#ef444466}.ui-btn--sm{height:22px;padding:0 7px;font-size:11px}.ui-btn--icon{width:26px;height:26px;padding:0}.ui-btn--icon.ui-btn--sm{width:22px;height:22px}.ui-btn--round{border-radius:var(--radius-pill)}.ui-play{background:var(--bg-3);border:1px solid var(--line);border-radius:var(--radius-s);width:28px;height:28px;color:var(--text-0);cursor:pointer;transition:background var(--fast), color var(--fast), border-color var(--fast);justify-content:center;align-items:center;padding:0;display:inline-flex}.ui-play:hover{background:var(--accent);color:var(--accent-ink);border-color:#0000}.ui-play:focus-visible{box-shadow:var(--ring);outline:none}.ui-tip{z-index:300;border:1px solid var(--line);border-radius:var(--radius-s);color:var(--text-0);box-shadow:var(--shadow-2);-webkit-user-select:none;user-select:none;animation:ui-fade .1s var(--ease);background:#0b0b0b;padding:4px 7px;font-size:11px;line-height:1.4}.ui-input,.ui-select__trigger,.ui-textarea{background:var(--bg-1);border:1px solid var(--line);border-radius:var(--radius-s);width:100%;min-width:0;height:24px;color:var(--text-0);transition:border-color var(--fast), box-shadow var(--fast), background var(--fast);padding:0 7px;font-size:11.5px}.ui-textarea{resize:vertical;height:auto;padding:6px 7px;line-height:1.55}.ui-input::placeholder,.ui-textarea::placeholder{color:var(--text-2)}.ui-input:hover,.ui-textarea:hover,.ui-select__trigger:hover{border-color:#34343f}.ui-input:focus,.ui-textarea:focus,.ui-select__trigger:focus-visible{border-color:var(--accent);box-shadow:var(--ring);outline:none}.ui-input[type=color]{cursor:pointer;width:34px;padding:1px}.ui-field{flex-direction:column;gap:4px;padding:5px 0;display:flex}.ui-field--row{flex-direction:row;justify-content:space-between;align-items:center;gap:10px}.ui-field__label{color:var(--text-1);font-size:11px;font-weight:400}.font-row{align-items:center;gap:6px;display:flex}.font-row .ui-select__trigger{flex:1}.ui-field__row{align-items:center;gap:8px;display:flex}.ui-field__value{min-width:42px;color:var(--text-2);font-family:var(--mono);text-align:right;font-size:10.5px}.ui-hint{color:var(--text-2);margin:3px 0 0;font-size:10.5px;line-height:1.55}.ui-slider{touch-action:none;-webkit-user-select:none;user-select:none;align-items:center;width:100%;height:16px;display:flex;position:relative}.ui-slider__track{background:var(--bg-4);border-radius:2px;flex:1;height:3px;position:relative}.ui-slider__range{background:var(--accent);border-radius:2px;height:100%;position:absolute}.ui-slider__thumb{cursor:grab;width:11px;height:11px;transition:background var(--fast);background:#e6e6e6;border:none;border-radius:2px;display:block}.ui-slider__thumb:hover{background:var(--accent)}.ui-slider__thumb:focus-visible{box-shadow:var(--ring);outline:none}.ui-switch{background:var(--bg-4);border:1px solid var(--line);border-radius:var(--radius-pill);cursor:pointer;width:28px;height:16px;transition:background var(--fast), border-color var(--fast);padding:0;position:relative}.ui-switch[data-state=checked]{background:var(--accent);border-color:#0000}.ui-switch:focus-visible{box-shadow:var(--ring);outline:none}.ui-switch__thumb{border-radius:var(--radius-pill);width:10px;height:10px;box-shadow:var(--shadow-1);transition:transform var(--fast);background:#fff;display:block;transform:translate(2px)}.ui-switch[data-state=checked] .ui-switch__thumb{transform:translate(14px)}.ui-select__trigger{cursor:pointer;justify-content:space-between;align-items:center;gap:6px;display:inline-flex}.ui-select__content{z-index:300;background:var(--bg-2);border:1px solid var(--line);border-radius:var(--radius-m);min-width:132px;max-height:320px;box-shadow:var(--shadow-3);animation:ui-fade .1s var(--ease);padding:3px;overflow:hidden auto}.ui-select__item{border-radius:var(--radius-s);color:var(--text-1);cursor:pointer;justify-content:space-between;align-items:center;gap:8px;padding:5px 7px;font-size:11.5px;display:flex}.ui-select__item[data-highlighted]{background:var(--bg-4);color:var(--text-0)}.ui-select__item[data-state=checked]{color:var(--accent)}.ui-badge{background:var(--bg-4);border-radius:var(--radius-s);color:var(--text-2);font-family:var(--mono);align-items:center;gap:4px;padding:0 5px;font-size:9.5px;line-height:15px;display:inline-flex}.ui-badge--accent{background:var(--accent-soft);color:var(--accent)}.ui-kbd{background:var(--bg-3);border:1px solid var(--line);color:var(--text-1);font-family:var(--mono);border-radius:4px;padding:1px 5px;font-size:10px}.ui-seg{background:var(--bg-1);border:1px solid var(--line);border-radius:var(--radius-s);gap:1px;padding:1px;display:inline-flex}.ui-seg--wide{width:100%;display:flex}.ui-seg__item{height:22px;color:var(--text-1);cursor:pointer;transition:background var(--fast), color var(--fast);background:0 0;border:none;border-radius:2px;flex:1;padding:0 8px;font-size:11px}.ui-seg__item:hover{background:var(--bg-3);color:var(--text-0)}.ui-seg__item[data-on=true]{background:var(--accent-soft);color:var(--accent)}.ui-tabs{flex-direction:column;min-height:0;display:flex}.ui-tabs__list{background:var(--bg-1);border-bottom:1px solid var(--line);align-items:center;gap:0;padding:0 6px;display:flex}.ui-tabs__trigger{height:28px;color:var(--text-2);cursor:pointer;transition:color var(--fast);background:0 0;border:none;padding:0 10px;font-size:11.5px;font-weight:400;position:relative}.ui-tabs__trigger:hover,.ui-tabs__trigger[data-state=active]{color:var(--text-0)}.ui-tabs__trigger[data-state=active]:after{background:var(--accent);content:"";height:2px;position:absolute;bottom:0;left:6px;right:6px}.ui-tabs__trigger:focus-visible{box-shadow:var(--ring);outline:none}.ui-tabs__panel{min-height:0;overflow:auto}.ui-overlay{z-index:250;animation:ui-fade .11s var(--ease);background:#000000b3;position:fixed;inset:0}.ui-dialog{z-index:260;background:var(--bg-2);border:1px solid var(--line);border-radius:var(--radius-l);width:min(440px,100vw - 40px);box-shadow:var(--shadow-3);animation:ui-pop .12s var(--ease);padding:14px 16px 16px;position:fixed;top:50%;left:50%;transform:translate(-50%,-50%)}.ui-dialog__head{justify-content:space-between;align-items:center;gap:12px;margin-bottom:10px;display:flex}.ui-dialog__title{color:var(--text-0);margin:0;font-size:12.5px;font-weight:500}.ui-dialog__note{color:var(--text-2);margin:10px 0 0;font-size:10.5px;line-height:1.6}@keyframes ui-fade{0%{opacity:0}to{opacity:1}}@keyframes ui-pop{0%{opacity:0;transform:translate(-50%,-48%)scale(.97)}to{opacity:1;transform:translate(-50%,-50%)scale(1)}}.ui-section{border-bottom:1px solid var(--line-soft)}.ui-section__head{width:100%;color:var(--text-1);text-align:left;cursor:pointer;transition:color var(--fast), background var(--fast);background:0 0;border:none;align-items:center;gap:5px;padding:7px 10px;font-size:11px;font-weight:500;display:flex}.ui-section__head:hover{background:var(--bg-2);color:var(--text-0)}.ui-section__chevron{color:var(--text-2);transition:transform var(--fast)}.ui-section[data-open=true] .ui-section__chevron{transform:rotate(90deg)}.ui-section__body{padding:0 10px 9px}.ui-tile{background:var(--bg-2);border:1px solid var(--line-soft);border-radius:var(--radius-s);transition:border-color var(--fast), background var(--fast);flex-direction:column;gap:4px;padding:4px;display:flex;position:relative}.ui-tile:hover{background:var(--bg-3);border-color:var(--line)}.ui-tile--on{border-color:var(--accent)}.ui-tile__open{width:100%;color:inherit;text-align:left;cursor:pointer;background:0 0;border:none;flex-direction:column;gap:5px;padding:0;display:flex}.ui-tile__thumb{aspect-ratio:4/3;background:var(--bg-0);border-radius:var(--radius-s);justify-content:center;align-items:center;display:flex;overflow:hidden}.ui-tile__thumb img,.ui-tile__thumb video{object-fit:cover;width:100%;height:100%}.ui-tile__name{color:var(--text-1);text-overflow:ellipsis;white-space:nowrap;padding-right:22px;font-size:10.5px;overflow:hidden}.ui-tile__action{border-radius:var(--radius-s);cursor:pointer;width:18px;height:18px;transition:filter var(--fast);border:none;justify-content:center;align-items:center;padding:0;display:inline-flex;position:absolute;bottom:4px;right:4px}.ui-tile__action:hover{filter:brightness(1.15)}.ui-tile__action--add{background:var(--ok);color:#04240e}.ui-tile__action--remove{background:var(--danger);color:#2a0603}.ui-grid{grid-template-columns:repeat(auto-fill,minmax(82px,1fr));gap:6px;padding:2px 10px 12px;display:grid}.ui-empty{color:var(--text-2);text-align:center;padding:18px 14px;font-size:11px;line-height:1.7}.ui-row{align-items:center;gap:8px;display:flex}.ui-spread{justify-content:space-between;align-items:center;gap:8px;display:flex}.ui-divider{background:var(--line);width:1px;height:18px;margin:0 4px}.ui-drop{background:var(--bg-1);border:1px dashed var(--line);border-radius:var(--radius-m);color:var(--text-1);text-align:center;cursor:pointer;transition:border-color var(--fast), background var(--fast), color var(--fast);flex-direction:column;justify-content:center;align-items:center;gap:5px;padding:14px 12px;font-size:12px;display:flex}.ui-drop:hover,.ui-drop--over{background:var(--accent-soft);border-color:var(--accent-line);color:var(--text-0)}.ui-drop>svg{color:var(--text-2)}.ui-drop--hero{gap:7px;padding:26px 16px}.ui-drop__note{color:var(--text-2);font-size:10.5px}.ui-tile__meta{color:var(--text-2);font-family:var(--mono);font-size:9.5px}.rail__item .ui-badge{padding:0 4px;font-size:9px;position:absolute;top:4px;right:4px}.screen-picker{flex-direction:column;gap:8px;display:flex}.screen-picker__now{background:var(--bg-1);border:1px solid var(--line-soft);border-radius:var(--radius-s);color:var(--text-1);align-items:center;gap:6px;padding:6px 9px;font-size:11px;display:flex}.screen-picker__dot{background:var(--text-2);border-radius:var(--radius-pill);width:6px;height:6px}.screen-picker__dot[data-on=true]{background:var(--accent)}.screen-picker__clear{border:1px solid var(--line);border-radius:var(--radius-s);color:var(--text-1);cursor:pointer;transition:color var(--fast), border-color var(--fast), background var(--fast);background:0 0;align-items:center;gap:3px;margin-left:auto;padding:2px 7px;font-size:10.5px;display:inline-flex}.screen-picker__clear:hover{background:var(--danger-soft);color:#fca5a5;border-color:#ef444466}.timeline__zoom .ui-slider{flex:none;width:104px}.code{flex-direction:column;height:100%;min-height:0;display:flex}.code__editor{background:var(--bg-0);border:1px solid var(--line);border-radius:var(--radius-s);flex:1;min-height:200px;margin:10px 10px 8px;display:flex;position:relative;overflow:hidden}.code__gutter{background:var(--bg-1);border-right:1px solid var(--line-soft);color:var(--text-2);font-family:var(--mono);text-align:right;-webkit-user-select:none;user-select:none;flex:none;padding:9px 0;font-size:11px;line-height:1.65;overflow:hidden}.code__ln{padding:0 9px 0 10px}.code__ln--bad{background:var(--danger-soft);color:#ff9a92}.code__surface{flex:1;min-width:0;position:relative}.code__highlight,.code__input{font-family:var(--mono);tab-size:2;white-space:pre;word-wrap:normal;border:0;margin:0;padding:9px 10px;font-size:11px;line-height:1.65;overflow:auto}.code__highlight{pointer-events:none;color:var(--text-1);position:absolute;inset:0}.code__input{color:#0000;width:100%;height:100%;caret-color:var(--accent);resize:none;background:0 0;outline:none;position:absolute;inset:0}.code__input::selection{background:var(--accent-soft)}.code__row--bad{background:var(--danger-soft)}.code__row{min-height:1.65em}.tok--comment{color:var(--text-2);font-style:italic}.tok--key{color:#8ab4f8}.tok--at{color:var(--accent)}.tok--suffix{color:var(--accent-2)}.tok--kind{color:#7dd3a0}.tok--ref{color:var(--text-0)}.tok--field{color:#9aa6c4}.tok--number{color:#e0b271}.tok--vector{color:#c792ea}.tok--string{color:#d6bcfa}.tok--flag{color:var(--accent-2)}.tok--plain{color:var(--text-1)}.code__problem{z-index:2;border-radius:var(--radius-s);color:#ffb3ac;max-width:calc(100% - 16px);font-family:var(--mono);pointer-events:none;background:#ff453a29;border:1px solid #ff453a73;padding:4px 8px;font-size:10px;position:absolute;bottom:8px;right:8px}.code__help{border-top:1px solid var(--line-soft);margin:0 10px 12px;padding-top:8px}.code__help summary{color:var(--text-1);cursor:pointer;align-items:center;gap:6px;font-size:11px;display:flex}.code__help pre{background:var(--bg-0);border:1px solid var(--line-soft);border-radius:var(--radius-s);color:var(--text-1);font-family:var(--mono);white-space:pre;margin:8px 0 0;padding:9px 10px;font-size:10px;line-height:1.7;overflow:auto}.export{flex-direction:column;gap:10px;display:flex}.export__option{background:var(--bg-1);border:1px solid var(--line);border-radius:var(--radius-s);width:100%;color:var(--text-0);text-align:left;cursor:pointer;transition:border-color var(--fast), background var(--fast);align-items:flex-start;gap:10px;padding:11px 12px;display:flex}.export__option:hover{background:var(--bg-3);border-color:var(--accent-line)}.export__option>svg{color:var(--accent);margin-top:2px}.export__option b{font-size:12.5px;font-weight:500;display:block}.export__option em{color:var(--text-2);margin-top:3px;font-size:10.5px;font-style:normal;line-height:1.5;display:block}.export__row{color:var(--text-1);justify-content:space-between;align-items:center;font-size:11.5px;display:flex}.export__pct{color:var(--accent);font-family:var(--mono)}.export__bar{background:var(--bg-4);border-radius:2px;height:4px;overflow:hidden}.export__bar-fill{background:var(--accent);height:100%;transition:width .12s linear}.export__actions{justify-content:flex-end;gap:8px;display:flex}.export__path{align-items:center;gap:6px;display:flex}.export__path-input{background:var(--bg-0);border:1px solid var(--line);border-radius:var(--radius-s);min-width:0;height:26px;color:var(--text-0);font-family:var(--mono);flex:1;padding:0 8px;font-size:11px}.export__path-input:focus{border-color:var(--accent);outline:none}.langmenu__trigger{border-radius:var(--radius-s);width:28px;height:28px;color:var(--text-1);cursor:pointer;background:0 0;border:none;justify-content:center;align-items:center;padding:0;display:inline-flex}.langmenu__trigger:hover{background:var(--bg-3)}.langmenu__flag{font-size:15px;line-height:1}.langmenu{background:var(--bg-2);border:1px solid var(--line);border-radius:var(--radius-s);min-width:132px;box-shadow:var(--shadow-2,0 8px 24px #00000073);z-index:1000;padding:4px}.langmenu__item{color:var(--text-0);cursor:pointer;border-radius:4px;outline:none;align-items:center;gap:8px;padding:6px 8px;font-size:12px;display:flex}.langmenu__item[data-highlighted]{background:var(--bg-4)}.langmenu__label{flex:1}.langmenu__check{color:var(--accent);font-size:12px}
