@font-face{font-family:Nunito;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/nunito-latin-400-normal-r8SDr6Up.woff2)format("woff2"),url(/assets/nunito-latin-400-normal-DKg4f3fz.woff)format("woff")}@font-face{font-family:Nunito;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/nunito-latin-ext-400-normal-i-8OOpdj.woff2)format("woff2"),url(/assets/nunito-latin-ext-400-normal-CjMJVfGn.woff)format("woff")}@font-face{font-family:Nunito;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/nunito-vietnamese-400-normal-BHkVbP3T.woff2)format("woff2"),url(/assets/nunito-vietnamese-400-normal-DtOtW02z.woff)format("woff")}:root{--bg-app:#1c1c1c;--bg-header:#232323;--bg-panel:#2e2e2e;--bg-panel-raised:#353535;--bg-control:#191919;--bg-hover:#383838;--bg-selected:#555;--bg-canvas:#191919;--border:#3c3c3c;--border-strong:#4a4a4a;--text:#dadada;--text-dim:#aaa;--text-heading:#fff;--accent:#399ed4;--accent-focus:#60d0ff;--action:#26a69a;--radius-control:2px;--sans:"Nunito", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", sans-serif;--mono:ui-monospace, Consolas, monospace;--ui-font-size:13px;--ui-font-size-compact:12px;--panel-divider-size:3px;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;color:var(--text);background:var(--bg-app);font-family:var(--sans);font-size:var(--ui-font-size);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;line-height:1.4}*,:before,:after{box-sizing:border-box}body{background:var(--bg-app);height:100vh;margin:0;overflow:hidden}body.is-resizing{-webkit-user-select:none;user-select:none}body.is-resizing[data-resize-axis=col]{cursor:col-resize}body.is-resizing[data-resize-axis=row]{cursor:row-resize}#root{height:100vh}*{scrollbar-color:#555 #292929;scrollbar-width:thin}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-track{background:#292929}::-webkit-scrollbar-thumb{background:#555;border:2px solid #292929;border-radius:0}::-webkit-scrollbar-thumb:hover{background:#666}#root *{font-family:var(--sans);font-size:var(--ui-font-size)}#root :before,#root :after{font-family:inherit;font-size:inherit}#root :is(.agent-chat-concurrency,.agent-chat-entry small,.agent-chat-usage,.agent-review-operations code,.canvas-viewport-ruler .canvas-ruler-tick>span,.canvas-guide-coordinate,.data-json-preview,.frame-duration-control label,.frame-duration-warning,.inspector-evaluated-pose,.inspector-hint,.layer-list-drag-hint,.preview-log-entry,.resources-tree-count,.resources-tree-toolbar,.resources-tree-item-name,.resources-tree-item-meta,.resources-tree-font-preview,.resources-tree-actions,.resources-asset-warning,.resources-component-count,.numeric-scrub-hint,.numeric-scrub-hint *,.timeline-step-playback-toggle,.timeline-readout-separator,.timeline-zoom-controls,.timeline-lifecycle-toast,.timeline-property-add,.timeline-show-all-properties,.timeline-key-editor-selection span,.timeline-folder-count,.timeline-ruler-tick,.timeline-loop-danger>summary,.timeline-track-actions button,.timeline-track-scale,.easing-curve-values label,.timeline-layer-span-label,.timeline-layer-span-easing,.timeline-loop-grid label,.timeline-loop-advanced label,.timeline-loop-key.header){font-size:var(--ui-font-size-compact)}#root :is(.canvas-viewport-ruler .canvas-ruler-tick>span,.canvas-guide-coordinate,.data-json-preview,.inspector-evaluated-pose output,.preview-step-indicator,.preview-schedule-params,.preview-log-entry,.timeline-readout,.timeline-zoom-controls output,.timeline-key-editor-selection span,.timeline-folder-count,.timeline-ruler-tick,.timeline-layer-span-label,.timeline-layer-span-easing){font-family:var(--mono)}h1,h2,h3{color:var(--text-heading);margin:0;font-weight:600}button,input,select,textarea{font-family:var(--sans);font-size:var(--ui-font-size);line-height:inherit;color:inherit}#root :where(input[type=text],input[type=number],input[type=password],input[type=url],select,textarea){border:1px solid var(--border-strong);background:var(--bg-control);color:var(--text);border-radius:2px;outline:none}#root :where(input,select,textarea):focus{border-color:var(--accent-focus);box-shadow:0 0 0 1px var(--accent-focus)}#root :where(input,textarea)::placeholder{color:#888;opacity:1}#root input[type=checkbox],#root input[type=radio],#root input[type=range]{accent-color:var(--accent-focus)}::selection{background:color-mix(in srgb, var(--accent) 58%, transparent);color:#fff}input[type=number]:not(:disabled):not([readonly]){appearance:textfield;cursor:ew-resize;font-variant-numeric:tabular-nums}input[type=number]::-webkit-inner-spin-button{appearance:none;margin:0}input[type=number]::-webkit-outer-spin-button{appearance:none;margin:0}body.is-scrubbing-number,body.is-scrubbing-number *{cursor:ew-resize!important;-webkit-user-select:none!important;user-select:none!important}.numeric-scrub-hint{z-index:20000;color:#eee;pointer-events:none;white-space:nowrap;background:#1c1c1c;border:1px solid #aaa;border-radius:0;gap:1px;max-width:min(470px,100vw - 12px);padding:5px 8px;line-height:1.35;display:grid;position:fixed;box-shadow:0 4px 14px #0000007a}.numeric-scrub-hint span:last-child{color:#bbb}.detachable-pane-home,.detachable-pane-host,.detached-pane-body{flex-direction:column;flex:1;min-width:0;min-height:0;display:flex}.detached-shell{background:var(--bg-panel);width:100vw;height:100vh;color:var(--text);flex-direction:column;display:flex}.detached-pane-toolbar{border-bottom:1px solid var(--border);background:var(--bg-header);align-items:center;gap:10px;padding:6px 8px;display:flex}.detached-pane-toolbar strong{font-size:12px;font-weight:500}.detached-pane-toolbar span{color:var(--text-dim);flex:1;font-size:10px}.detached-pane-toolbar button{font:inherit;color:var(--text);background:var(--bg-panel);border:1px solid var(--border);cursor:pointer;padding:4px 8px}.detached-pane-body{overflow:hidden}.detached-pane-body .panel-title{display:none}.detached-pane-body .panel{flex:1}.detached-pane-body .preview-stage-wrap{resize:vertical;flex:none;height:50vh;min-height:160px}.detachable-pane-host>.panel,.detachable-pane-host>.agent-chat-panel{border:0;flex:1;min-width:0;min-height:0}.detachable-pane-host>.panel>.panel-title{display:none}.detached-window-error{z-index:12000;background:var(--bg-header);border:1px solid var(--accent);max-width:520px;color:var(--text);padding:10px;position:fixed;bottom:12px;left:50%;transform:translate(-50%)}.detached-window-error button{margin-left:12px}.dock-group.detached-empty,.dock-region.detached-empty,.dock-floating-pane.detached-empty{display:none}.dock-tabs .dock-pane-popout{cursor:pointer;z-index:3;background:var(--bg-header);margin-left:auto;padding:0 8px;position:sticky;right:30px}.dock-tabs .dock-pane-popout+.dock-pane-close{margin-left:0}.dock-tabs .dock-pane-close{z-index:3;background:var(--bg-header);position:sticky;right:0}.ograf-logo{object-fit:contain;vertical-align:middle;pointer-events:none;-webkit-user-select:none;user-select:none;flex:none;width:54px;height:18px;margin-inline-end:5px;display:inline-block}.ograf-logo-section{width:66px;height:22px}.menubar{background:var(--bg-header);border-bottom:1px solid var(--border);align-items:center;gap:10px;height:40px;padding:0 10px;display:flex}.menubar-brand{white-space:nowrap;color:var(--text-heading);font-weight:400;font-size:var(--ui-font-size);flex-shrink:0;align-items:center;gap:6px;display:inline-flex}.menubar-brand .ograf-logo{margin-inline-end:0}.menubar-project-name{color:var(--text-dim);font-size:var(--ui-font-size-compact)}.menubar-actions{gap:4px;display:flex}.menubar-edit-control,.menubar-window-control{position:relative}.menubar-edit-menu,.menubar-window-menu{z-index:50;border:1px solid var(--border-strong);background:#2b2b2b;border-radius:2px;gap:2px;width:190px;padding:5px;display:grid;position:absolute;top:calc(100% + 5px);left:0;box-shadow:0 10px 28px #0000006b}.menubar-edit-menu{width:min(370px,100vw - 24px)}.menubar-actions .menubar-edit-menu>button{width:100%;color:var(--text);text-align:left;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:12px;padding:7px 9px;display:grid}.menubar-edit-menu kbd{color:var(--text-dim);font:inherit;font-size:10px}.menubar-history-heading{border-top:1px solid var(--border);color:var(--text-heading);letter-spacing:.06em;text-transform:uppercase;justify-content:space-between;align-items:center;margin-top:3px;padding:7px 8px 5px;font-size:10px;font-weight:700;display:flex}.menubar-history-heading span{color:var(--text-dim);letter-spacing:0;text-transform:none;font-weight:400}.menubar-history-list{max-height:min(360px,100vh - 160px);overflow:auto}.menubar-actions .menubar-edit-menu .menubar-history-item,.menubar-history-current{width:100%;color:var(--text);text-align:left;grid-template-columns:18px minmax(0,1fr) auto;align-items:center;gap:6px;padding:6px 8px;display:grid}.menubar-actions .menubar-edit-menu .menubar-history-item>span:first-child,.menubar-history-current>span:first-child{color:var(--accent);text-align:center}.menubar-actions .menubar-edit-menu .menubar-history-item time{color:var(--text-dim);font-variant-numeric:tabular-nums;font-size:10px}.menubar-actions .menubar-edit-menu .menubar-history-item.is-future{color:var(--text-dim)}.menubar-history-current{background:color-mix(in srgb, var(--accent) 9%, transparent);color:var(--text-heading);font-weight:600}.menubar-actions .menubar-window-menu button{width:100%;color:var(--text);text-align:left;grid-template-columns:18px minmax(0,1fr);align-items:center;gap:5px;padding:6px 8px;display:grid}.menubar-window-menu button span{color:var(--accent);text-align:center;font-weight:800}.menubar-status{color:var(--text-dim);font-size:11px}.menubar-agent-status{min-width:0;color:var(--text-dim);text-overflow:ellipsis;white-space:nowrap;align-items:center;gap:5px;margin-left:auto;font-size:11px;display:flex;overflow:hidden}.menubar-agent-dot{background:#666b76;border-radius:50%;flex:none;width:7px;height:7px}.menubar-agent-status.is-connected .menubar-agent-dot{background:#4bd78b;box-shadow:0 0 0 2px #4bd78b26}.menubar-actions button{cursor:pointer;background:0 0;border:1px solid #0000;border-radius:2px;height:32px;padding:0 10px}.menubar-actions button:hover{color:var(--text-heading);border-color:var(--border-strong);background:#2d2d2d}.menubar-actions button:disabled{cursor:not-allowed;opacity:.45}.menubar-actions button:disabled:hover{background:0 0;border-color:#0000}.ograf-import-report{z-index:1000;width:min(620px,100vw - 32px);max-height:calc(100vh - 88px);color:var(--text);background:var(--bg-panel);border:1px solid var(--border-strong);border-radius:2px;padding:18px;position:fixed;top:56px;left:50%;overflow:auto;transform:translate(-50%);box-shadow:0 18px 60px #0000008c}.ograf-import-report-header{justify-content:space-between;align-items:flex-start;gap:16px;display:flex}.ograf-import-report-header div{gap:4px;display:grid}.ograf-import-report-header strong{color:var(--text-heading);font-size:14px}.ograf-import-report-header span,.ograf-import-report p,.ograf-import-report li,.ograf-import-report dd,.ograf-import-report dt{font-size:12px}.ograf-import-report-header span,.ograf-import-report p,.ograf-import-report dt{color:var(--text-dim)}.ograf-import-report-header button{border:1px solid var(--border);border-radius:var(--radius-control);background:var(--bg-panel-raised);cursor:pointer;min-width:28px;min-height:28px}.ograf-import-report dl{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:14px 0;display:grid}.ograf-import-report dl div{background:var(--bg-panel-raised);border:1px solid var(--border);border-radius:var(--radius-control);padding:8px}.ograf-import-report dt,.ograf-import-report dd{margin:0}.ograf-import-report dd{overflow-wrap:anywhere;margin-top:3px}.ograf-import-report ul{border-radius:var(--radius-control);background:#ecb04414;border:1px solid #ecb04447;gap:7px;margin:0;padding:12px 12px 12px 30px;display:grid}.ograf-import-report-actions{justify-content:flex-end;margin-top:16px;display:flex}.ograf-import-report-actions button{border:1px solid var(--border);border-radius:var(--radius-control);background:var(--accent);color:#fff;cursor:pointer;padding:6px 12px}.remote-project-dialog form{gap:12px;display:grid}.remote-project-dialog .ograf-import-report-actions{gap:7px;margin-top:2px}.remote-project-dialog .ograf-import-report-actions button:first-child{background:var(--bg-panel-raised);color:var(--text)}.remote-project-dialog button:disabled{cursor:not-allowed;opacity:.6}.remote-project-url-field{color:var(--text-dim);gap:5px;display:grid}.remote-project-url-field input{border:1px solid var(--border);border-radius:var(--radius-control);background:var(--bg-canvas);width:100%;min-width:0;color:var(--text);padding:7px 9px}.remote-project-url-field input:focus{border-color:var(--accent);outline:none}.context-menu{z-index:10000;border:1px solid var(--border-strong);border-radius:var(--radius-control);background:#2b2b2b;min-width:178px;padding:5px;position:fixed;box-shadow:0 8px 24px #00000073}.context-menu button{border-radius:var(--radius-control);width:100%;color:var(--text);font-size:calc(var(--ui-font-size-compact) - 1px);text-align:left;white-space:nowrap;cursor:pointer;background:0 0;border:0;padding:6px 9px;display:block}.context-menu-color{border-radius:var(--radius-control);color:var(--text);font-size:calc(var(--ui-font-size-compact) - 1px);justify-content:space-between;align-items:center;gap:12px;padding:6px 9px;display:flex}.context-menu-color input{border:1px solid var(--border);border-radius:var(--radius-control);cursor:pointer;background:0 0;width:28px;height:20px;padding:0}.context-menu button:hover:not(:disabled),.context-menu button:focus-visible{color:var(--text-heading);background:#4e4e4e;outline:none}.context-menu button:disabled{color:var(--text-dim);opacity:.45;cursor:default}.context-menu button.with-separator,.context-menu-color.with-separator{border-top:1px solid var(--border);border-radius:0 0 3px 3px;margin-top:5px;padding-top:10px}.layer-node{box-sizing:border-box;cursor:move}.layer-node.selected{outline:1px solid var(--accent)}.layer-node.guide{outline:1px dashed #ffb020}.layer-node.locked{cursor:not-allowed}.layer-node.locked.selected{outline-style:dashed;outline-color:#ffb74d}.layer-content-host{pointer-events:none;position:absolute;inset:0}.layer-content-placeholder{color:var(--text-dim);pointer-events:none;-webkit-user-select:none;user-select:none;background:repeating-conic-gradient(#3a3b42 0% 25%,#2c2d33 0% 50%) 50%/16px 16px;justify-content:center;align-items:center;font-size:12px;display:flex;position:absolute;inset:0}.path-editor-toolbar{background:#202c36;border-bottom:1px solid #43cfff;flex-wrap:nowrap;flex-shrink:0;align-items:center;gap:5px;padding:4px 8px;font-size:11px;display:flex;overflow-x:auto}.path-editor-toolbar button{flex-shrink:0;padding:3px 7px;font-size:11px}.path-editor-hint{display:none}.path-editor-error{color:#ffc76a;padding:4px 8px;font-size:11px}.path-editor-overlay{z-index:8;pointer-events:none;outline:none;position:absolute;overflow:visible}.path-editor-anchor,.path-editor-handle{pointer-events:all;cursor:crosshair;touch-action:none}.image-picker{border:1px solid var(--border-strong);background:var(--bg-header);width:min(620px,100vw - 32px);max-height:min(760px,100vh - 40px);color:var(--text);border-radius:6px;padding:24px;overflow-y:auto;box-shadow:0 24px 80px #0009}.image-picker::backdrop{background:#0009}.image-picker-header,.image-picker-library-heading{justify-content:space-between;align-items:center;gap:16px;display:flex}.image-picker h2{color:var(--text-heading);margin:0;font-size:17px}.image-picker p{color:var(--text-dim);margin:6px 0}.image-picker-header>button{background:0 0;border:0;align-self:flex-start;font-size:20px}.image-picker-upload{border:1px dashed var(--border-strong);background:var(--bg-control);border-radius:4px;flex-direction:column;align-items:center;gap:8px;margin:22px 0;padding:26px 16px;display:flex}.image-picker-upload.is-dragging{border-color:var(--accent-focus);background:#399ed41a}.image-picker-upload svg{fill:none;width:32px;height:32px;stroke:var(--accent-focus);stroke-width:1.5px;margin-bottom:4px}.image-picker-upload>span,.image-picker footer{color:var(--text-dim);font-size:var(--ui-font-size-compact)}.image-picker-primary{border-color:var(--accent);background:#24516a;margin-top:6px;padding:7px 20px}.image-picker-library-heading{margin:16px 0 12px}.image-picker-library-heading strong span{color:var(--text-dim);margin-left:6px}.image-picker-library-heading input{max-width:50%}.image-picker-grid{grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:10px;max-height:260px;display:grid;overflow-y:auto}.image-picker-card{text-align:left;min-width:0;padding:0;overflow:hidden}.image-picker-card>span:last-child{text-overflow:ellipsis;white-space:nowrap;padding:8px;display:block;overflow:hidden}.image-picker-thumbnail,.image-source-preview{background-color:#202020;background-image:conic-gradient(#292929 25%, transparent 0 50%, #292929 0 75%, transparent 0);background-size:16px 16px}.image-picker-thumbnail{justify-content:center;align-items:center;height:88px;padding:8px;display:flex}.image-picker-thumbnail img{object-fit:contain;max-width:100%;max-height:100%}.image-picker-card:hover,.image-picker-card:focus-visible{border-color:var(--accent-focus)}.image-picker-empty{padding:16px 0}.image-picker footer{margin-top:20px}.image-picker .image-picker-error,.image-placement-error{color:#ffb0a6}.image-source-preview{object-fit:contain;border:1px solid var(--border);border-radius:2px;width:100%;height:100px}.image-source-actions{align-items:center;gap:8px;margin:8px 0;display:flex}.image-source-name{text-overflow:ellipsis;white-space:nowrap;color:var(--text-dim);overflow:hidden}.image-source-advanced{margin-top:12px}.image-source-advanced summary{cursor:pointer;color:var(--text-dim)}.image-placement-banner{z-index:40;background:var(--bg-header);border:1px solid var(--accent);pointer-events:none;border-radius:4px;padding:12px 18px;position:absolute;top:16px;left:50%;transform:translate(-50%);box-shadow:0 8px 24px #0006}.image-placement-error{pointer-events:auto;border-color:#a5564f;max-width:90%}.image-placement-error button{margin-left:12px}.add-element-toolbar{z-index:2;border-bottom:1px solid var(--border);background:#2f2f2f;flex-wrap:wrap;flex:none;gap:4px;padding:5px 6px;display:flex;position:relative}.element-tools,.arrange-toolbar{border-left:1px solid var(--border);flex:none;align-items:center;gap:3px;padding-left:6px;display:flex}.layout-toolbar{border-left:1px solid var(--border);flex:none;gap:3px;padding-left:6px;display:flex}.layout-toolbar-divider{background:var(--border);align-self:stretch;width:1px;margin:0 2px}.layout-toolbar button{padding-inline:7px}.add-element-toolbar button{cursor:pointer;background:#292929;border:1px solid #444;border-radius:2px;min-height:30px;padding:4px 10px}.add-element-toolbar button:hover{color:#fff;border-color:var(--accent-focus);background:#383838}.add-element-toolbar .element-tool-button,.add-element-toolbar .arrange-tool-button{width:32px;height:30px;color:var(--text-dim);background:color-mix(in srgb, var(--bg-panel-raised) 82%, transparent);place-items:center;padding:0;display:grid;position:relative}.add-element-toolbar .element-tool-button:hover,.add-element-toolbar .element-tool-button:focus-visible,.add-element-toolbar .arrange-tool-button:hover:not(:disabled),.add-element-toolbar .arrange-tool-button:focus-visible:not(:disabled){color:var(--text-heading);background:color-mix(in srgb, var(--accent) 14%, var(--bg-panel-raised));border-color:var(--accent);outline:none}.add-element-toolbar .arrange-tool-button:disabled{color:color-mix(in srgb, var(--text-dim) 45%, transparent);cursor:default;opacity:.55}.element-tool-icon{fill:none;stroke:currentColor;stroke-width:1.65px;stroke-linecap:round;stroke-linejoin:round;vector-effect:non-scaling-stroke;width:20px;height:20px;display:block}.arrange-tool-icon{width:20px;height:20px;fill:color-mix(in srgb, currentColor 13%, transparent);stroke:currentColor;stroke-width:1.55px;stroke-linecap:round;stroke-linejoin:round;vector-effect:non-scaling-stroke;display:block}.element-tool-icon .element-tool-guide{opacity:.35;stroke-dasharray:1.5 1.5}.element-tool-button:after,.arrange-tool-button:after{z-index:100;content:attr(data-tooltip);color:var(--text-heading);border:1px solid var(--border);border-radius:var(--radius-control);opacity:0;pointer-events:none;white-space:nowrap;background:#111318;padding:4px 7px;font-size:10px;line-height:1;transition:opacity .1s,transform .1s;position:absolute;top:calc(100% + 7px);left:50%;transform:translate(-50%,-3px);box-shadow:0 5px 16px #00000073}.element-tool-button:hover:after,.element-tool-button:focus-visible:after,.arrange-tool-button:hover:not(:disabled):after,.arrange-tool-button:focus-visible:not(:disabled):after{opacity:1;transform:translate(-50%)}.add-element-toolbar .recipe-select{min-height:30px;color:var(--text);background:#292929;border:1px solid #444;border-radius:2px;padding:4px 8px}.canvas-stage{background:var(--bg-panel);border:1px solid var(--border);border-radius:var(--radius-control);flex-direction:column;min-width:0;min-height:0;display:flex;overflow:hidden}.canvas-stage-workspace{flex:1;min-width:0;min-height:0;position:relative;overflow:hidden}.canvas-stage-viewport{overscroll-behavior:none;scrollbar-width:none;background:var(--bg-canvas);position:absolute;inset:0;overflow:scroll}.canvas-stage-viewport::-webkit-scrollbar{width:0;height:0;display:none}.canvas-stage-viewport.is-panning,.canvas-stage-viewport.is-panning *{-webkit-user-select:none;user-select:none;cursor:grabbing!important}.canvas-stage-measure{flex:none;position:relative}.canvas-stage-pasteboard{transform-origin:0 0;position:absolute}.canvas-stage-frame{z-index:1;outline:4px solid #686c76;position:absolute;overflow:visible}.canvas-presentation-background{z-index:0;background:var(--bg-canvas);pointer-events:none;position:absolute;inset:0;overflow:hidden}.canvas-presentation-background video,.canvas-presentation-background img{object-fit:cover;width:100%;height:100%;display:block}.canvas-presentation-background-error{border-radius:var(--radius-control);color:#ff9da7;background:#000000b8;padding:8px 12px;font-size:14px;position:absolute;inset:50% auto auto 50%;transform:translate(-50%,-50%)}.canvas-layout-overlay{z-index:2;pointer-events:none;position:absolute;inset:0}.canvas-safe-area{box-sizing:border-box;position:absolute}.canvas-safe-area.action-safe{border:4px dashed #2acd4cf2}.canvas-safe-area.title-safe{border:4px dotted #ff4646f2}.canvas-center-marker{transform-origin:50%;filter:drop-shadow(0 0 1px #000000e6);width:30px;height:30px;position:absolute;top:50%;left:50%}.canvas-center-marker:before,.canvas-center-marker:after{content:"";background:#35d0ff;border-radius:1px;display:block;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.canvas-center-marker:before{width:100%;height:2px}.canvas-center-marker:after{width:2px;height:100%}.canvas-outside-dimmer{--stage-frame-left:calc(var(--stage-origin-x,0px) - var(--stage-scroll-left,0px));--stage-frame-top:calc(var(--stage-origin-y,0px) - var(--stage-scroll-top,0px));--stage-frame-right:calc(var(--stage-frame-left) + var(--stage-frame-width));--stage-frame-bottom:calc(var(--stage-frame-top) + var(--stage-frame-height));--stage-frame-left-clamped:clamp(0px, var(--stage-frame-left), 100%);--stage-frame-top-clamped:clamp(0px, var(--stage-frame-top), 100%);--stage-frame-right-clamped:clamp(0px, var(--stage-frame-right), 100%);--stage-frame-bottom-clamped:clamp(0px, var(--stage-frame-bottom), 100%);z-index:2;pointer-events:none;position:absolute;inset:0;overflow:hidden}.canvas-outside-dimmer>span{background:#333;display:block;position:absolute}.canvas-outside-dimmer>.top{height:var(--stage-frame-top-clamped);inset:0 0 auto}.canvas-outside-dimmer>.bottom{inset:var(--stage-frame-bottom-clamped) 0 0}.canvas-outside-dimmer>.left,.canvas-outside-dimmer>.right{top:var(--stage-frame-top-clamped);height:calc(var(--stage-frame-bottom-clamped) - var(--stage-frame-top-clamped))}.canvas-outside-dimmer>.left{width:var(--stage-frame-left-clamped);left:0}.canvas-outside-dimmer>.right{right:0;left:var(--stage-frame-right-clamped)}.canvas-rulers-overlay{z-index:6;pointer-events:none;--ruler-size:20px;position:absolute;inset:0;overflow:hidden}.canvas-viewport-ruler{z-index:2;box-sizing:border-box;color:#b8bbc2;pointer-events:auto;-webkit-user-select:none;user-select:none;background:#303136;position:absolute;overflow:hidden}.canvas-viewport-ruler.horizontal{top:0;right:0;left:var(--ruler-size);height:var(--ruler-size);cursor:row-resize;border-bottom:1px solid #15161a}.canvas-viewport-ruler.vertical{top:var(--ruler-size);width:var(--ruler-size);cursor:col-resize;border-right:1px solid #15161a;bottom:0;left:0}.canvas-ruler-origin{z-index:4;width:var(--ruler-size);height:var(--ruler-size);box-sizing:border-box;pointer-events:auto;background:#292a2e;border-bottom:1px solid #15161a;border-right:1px solid #15161a;position:absolute;top:0;left:0}.canvas-ruler-origin span:before,.canvas-ruler-origin span:after{content:"";background:#8b8e95;position:absolute}.canvas-ruler-origin span:before{width:1px;height:10px;top:5px;left:9px}.canvas-ruler-origin span:after{width:10px;height:1px;top:9px;left:5px}.canvas-ruler-tick{color:#9699a0;pointer-events:none;position:absolute}.canvas-viewport-ruler.horizontal .canvas-ruler-tick{left:var(--ruler-position);border-left:1px solid;width:1px;height:4px;bottom:0}.canvas-viewport-ruler.horizontal .canvas-ruler-tick.medium{height:7px}.canvas-viewport-ruler.horizontal .canvas-ruler-tick.major{color:#c2c5cb;height:10px}.canvas-viewport-ruler.horizontal .canvas-ruler-tick>span{color:#c2c5cb;font-family:var(--mono);white-space:nowrap;font-size:8px;line-height:8px;position:absolute;bottom:8px;left:3px}.canvas-viewport-ruler.vertical .canvas-ruler-tick{top:var(--ruler-position);border-top:1px solid;width:4px;height:1px;right:0}.canvas-viewport-ruler.vertical .canvas-ruler-tick.medium{width:7px}.canvas-viewport-ruler.vertical .canvas-ruler-tick.major{color:#c2c5cb;width:10px}.canvas-viewport-ruler.vertical .canvas-ruler-tick>span{color:#c2c5cb;font-family:var(--mono);white-space:nowrap;transform-origin:100% 0;font-size:8px;line-height:8px;position:absolute;top:3px;right:8px;transform:rotate(-90deg)}.canvas-viewport-guide{z-index:1;pointer-events:auto;background:#2aa8ff;border:0;border-radius:0;margin:0;padding:0;display:block;position:absolute;box-shadow:0 0 0 1px #0023414d}.canvas-viewport-guide.vertical{top:var(--ruler-size);bottom:0;left:var(--ruler-position);cursor:col-resize;width:1px}.canvas-viewport-guide.horizontal{top:var(--ruler-position);right:0;left:var(--ruler-size);cursor:row-resize;height:1px}.canvas-viewport-guide.dragging{z-index:3;background:#59bdff}.canvas-guide-coordinate{color:#f1f2f4;font-family:var(--mono);white-space:nowrap;background:#303136;border:1px solid #16171a;border-radius:2px;padding:2px 4px;font-size:9px;line-height:11px;position:absolute}.canvas-viewport-guide.vertical .canvas-guide-coordinate,.canvas-viewport-guide.horizontal .canvas-guide-coordinate{top:4px;left:4px}.canvas-stage .moveable-control-box{z-index:3!important}.canvas-stage .moveable-control-box:not(.stage-moveable-group){translate:var(--stage-scroll-left,0px) var(--stage-scroll-top,0px)}.canvas-stage .stage-moveable-group{translate:calc(-1 * var(--stage-scroll-left,0px)) calc(-1 * var(--stage-scroll-top,0px))}.canvas-stage .stage-moveable-persistent-group .moveable-line{background:#b77aff!important}.canvas-stage .stage-moveable-persistent-group .moveable-control{box-shadow:0 0 0 1px #2d1446d9;background:#b77aff!important;border-color:#fff!important}.canvas-stage .moveable-rotation-control{margin-top:-2px;margin-left:-2px;box-shadow:0 1px 4px #000000bf;background:var(--accent)!important;cursor:grab!important;border:2px solid #fff!important;width:18px!important;height:18px!important}.canvas-stage .moveable-rotation-control:after{content:"↻";color:#fff;place-items:center;font-size:12px;font-weight:700;line-height:1;display:grid;position:absolute;inset:-1px}.canvas-stage .moveable-around-control{cursor:grab!important}.canvas-stage .moveable-rotation-control:active,.canvas-stage .moveable-around-control:active{cursor:grabbing!important}.agent-review-panel{z-index:60;width:min(460px,100vw - 48px);max-height:calc(100vh - 72px);color:var(--text);background:color-mix(in srgb, var(--bg-panel-raised) 96%, black);border:1px solid color-mix(in srgb, var(--accent) 55%, var(--border));border-radius:12px;flex-direction:column;gap:12px;padding:16px;display:flex;position:fixed;bottom:24px;right:24px;overflow:auto;box-shadow:0 18px 60px #00000073}.agent-review-panel header,.agent-review-panel footer,.agent-review-meta{justify-content:space-between;align-items:center;gap:10px;display:flex}.agent-review-panel h2{margin-top:2px;font-size:16px}.agent-review-eyebrow,.agent-review-meta{color:var(--text-dim);font-size:11px}.agent-review-description{color:var(--text);margin:0}.agent-review-preview{object-fit:contain;border:1px solid var(--border);background:#111;border-radius:7px;width:100%;max-height:330px}.agent-review-meta{flex-wrap:wrap;justify-content:flex-start}.agent-review-meta .is-valid{color:#78d99a}.agent-review-meta .is-invalid{color:#ff8585}.agent-review-operations{flex-wrap:wrap;gap:5px;display:flex}.agent-review-operations code{color:#cdd3ff;border-radius:var(--radius-control);background:#171922;padding:3px 6px;font-size:10px}.agent-review-panel details{color:var(--text-dim);font-size:11px}.agent-review-panel details ul{max-height:120px;margin:7px 0 0;padding-left:18px;overflow:auto}.agent-review-panel footer{justify-content:flex-end}.agent-review-panel footer button{border:1px solid var(--border);border-radius:var(--radius-control);cursor:pointer;padding:7px 14px}.agent-review-panel footer button:disabled{cursor:not-allowed;opacity:.5}.agent-review-reject{background:0 0}.agent-review-accept{color:#fff;background:var(--accent);border-color:var(--accent)!important}.agent-review-toast{z-index:60;background:var(--bg-panel-raised);border:1px solid var(--border);border-radius:var(--radius-control);align-items:center;gap:12px;max-width:420px;padding:10px 12px;display:flex;position:fixed;bottom:24px;right:24px;box-shadow:0 12px 35px #00000059}.agent-review-toast.is-accepted{border-color:#4c9b68}.agent-review-toast.is-error,.agent-review-toast.is-stale{border-color:#bd5d5d}.agent-review-toast button{color:var(--text-dim);cursor:pointer;background:0 0;border:0;padding:0 4px}.panel{background:var(--bg-panel);border:1px solid var(--border);border-radius:0;flex-direction:column;min-width:0;min-height:0;display:flex;overflow:hidden}.panel-title{font-size:var(--ui-font-size-compact);color:var(--text);background:var(--bg-header);border-bottom:1px solid var(--border);flex:none;padding:7px 10px}.panel-body{flex:1;min-height:0;padding:8px 10px;overflow:auto}.panel-placeholder{color:var(--text-dim);font-style:italic}.panel-placeholder-list{color:var(--text-dim);margin:0;padding:0;list-style:none}.panel-placeholder-list li{border-bottom:1px solid var(--border);padding:6px 4px}.layer-list{margin:0;padding:0;list-style:none}.layer-list-drag-hint{color:var(--text-dim);margin:0 0 5px;font-size:10px;line-height:1.3}.layer-list li{border-radius:var(--radius-control);cursor:pointer;align-items:center;gap:6px;padding:4px 6px;display:flex}.layer-list li:hover{background:var(--bg-hover)}.layer-list li.active{background:var(--bg-selected);box-shadow:inset 2px 0 0 var(--accent)}.layer-list li.dragging{opacity:.4}.layer-list li.drop-before{box-shadow:inset 0 2px 0 var(--accent)}.layer-list li.drop-after{box-shadow:inset 0 -2px 0 var(--accent)}.layer-list li.drop-parent{background:color-mix(in srgb, var(--accent) 24%, var(--bg-panel-raised));outline:1px solid var(--accent)}.layer-list-drag-handle{text-align:center;width:14px;color:var(--text-dim);cursor:grab;flex:none}.layer-list-name{text-overflow:ellipsis;white-space:nowrap;padding-left:calc(var(--layer-depth,0) * 16px);flex:1;transition:padding-left .1s;overflow:hidden}.layer-list-icon-btn{border-radius:var(--radius-control);width:20px;height:20px;color:var(--text-dim);cursor:pointer;background:0 0;border:none;flex:none;justify-content:center;align-items:center;font-size:11px;display:inline-flex}.layer-list-icon-btn:hover{background:var(--bg-panel);color:var(--text)}.layer-list-icon-btn.active{color:#ffb020}.layer-list-visibility-btn svg{width:16px;height:16px;display:block;overflow:visible}.layer-list-visibility-btn.is-visible{color:var(--text)}.layer-visibility-eye,.layer-visibility-slash{fill:none;stroke:currentColor;stroke-width:1.35px;stroke-linecap:round;stroke-linejoin:round}.layer-visibility-pupil{fill:currentColor}.layer-visibility-slash{stroke-width:1.6px}.agent-chat-panel{background:var(--bg-panel);border:1px solid var(--border);border-top:0;border-radius:0 0 6px 6px;flex-direction:column;flex:1;min-height:0;display:flex;position:relative;overflow:hidden}.agent-chat-panel.layer-drag-active{box-shadow:inset 0 0 0 2px var(--accent)}.agent-chat-drop-overlay{z-index:40;color:var(--text-heading);text-align:center;background:color-mix(in srgb, var(--accent) 24%, #0c0e12f0);border:2px dashed var(--accent);border-radius:var(--radius-control);pointer-events:none;place-content:center;gap:5px;padding:20px;display:grid;position:absolute;inset:0}.agent-chat-drop-overlay strong{font-size:13px}.agent-chat-drop-overlay span{color:var(--text-dim);font-size:11px}.agent-chat-status{color:var(--text-dim);border-bottom:1px solid var(--border);flex:none;padding:7px 10px;font-size:11px}.agent-chat-status span{background:#777;border-radius:50%;width:7px;height:7px;margin-right:6px;display:inline-block}.agent-chat-status span.online{background:#45c978}.agent-chat-concurrency{color:var(--text-dim);border-bottom:1px solid var(--border);justify-content:space-between;gap:8px;padding:6px 10px;font-size:10px;display:flex}.agent-chat-concurrency label{align-items:center;gap:4px;display:flex}.agent-chat-notice{color:#e8c77d;border-bottom:1px solid var(--border);background:#3a3425;padding:9px 10px;font-size:11px}.agent-chat-notice.error{color:#f0a0a0;background:#3a2528}.agent-chat-progress{color:var(--text);background:color-mix(in srgb, var(--accent) 11%, var(--bg-panel));border-bottom:1px solid color-mix(in srgb, var(--accent) 38%, var(--border));flex:none;grid-template-columns:16px minmax(0,1fr);align-items:start;gap:8px;padding:8px 10px;display:grid}.agent-chat-progress.delayed{background:color-mix(in srgb, #e8b65d 12%, var(--bg-panel));border-bottom-color:color-mix(in srgb, #e8b65d 42%, var(--border))}.agent-chat-progress>div{gap:3px;min-width:0;display:grid}.agent-chat-progress strong{color:var(--text-heading);text-overflow:ellipsis;white-space:nowrap;font-size:11px;font-weight:600;overflow:hidden}.agent-chat-progress span,.agent-chat-progress small{color:var(--text-dim);font-size:10px;line-height:1.35}.agent-chat-spinner{border:2px solid color-mix(in srgb, var(--accent) 25%, transparent);border-top-color:var(--accent);border-radius:50%;width:14px;height:14px;margin-top:1px;animation:.7s linear infinite agent-chat-spin}@keyframes agent-chat-spin{to{transform:rotate(360deg)}}.agent-chat-transcript{flex:1;min-height:0;padding:10px;overflow:auto}.agent-chat-empty{color:var(--text-dim);line-height:1.55}.agent-chat-entry{white-space:pre-wrap;overflow-wrap:anywhere;border-radius:9px;max-width:92%;margin:0 0 9px;padding:8px 10px}.agent-chat-entry.user{background:#394174;margin-left:auto}.agent-chat-entry.assistant{background:var(--bg-panel-raised)}.agent-chat-entry.tool,.agent-chat-entry.proposal{max-width:100%;color:var(--text-dim);border:1px solid var(--border);padding:6px 8px;font-size:11px}.agent-chat-entry.tool.running:before{content:"Working · "}.agent-chat-entry.tool.ok:before{content:"Done · ";color:#72d599}.agent-chat-entry.tool.error:before,.agent-chat-entry.error{color:#f0a0a0}.agent-chat-entry small{color:var(--text-dim);margin-top:5px;font-size:10px;display:block}.agent-chat-usage{color:var(--text-dim);border-top:1px solid var(--border);flex-direction:column;gap:2px;padding:6px 10px;font-size:10px;display:flex}.agent-chat-composer{border-top:1px solid var(--border);flex:none;grid-template-columns:minmax(0,1fr) auto;gap:7px;padding:8px;display:grid}.agent-chat-references{flex-wrap:wrap;grid-column:1/-1;gap:5px;display:flex}.agent-chat-references>span{min-width:0;color:var(--text);background:color-mix(in srgb, var(--accent) 14%, var(--bg-panel-raised));border:1px solid color-mix(in srgb, var(--accent) 42%, var(--border));border-radius:999px;align-items:center;gap:5px;padding:4px 5px 4px 7px;font-size:10px;display:flex}.agent-chat-references strong{text-overflow:ellipsis;white-space:nowrap;flex:0 auto;min-width:0;font-weight:600;overflow:hidden}.agent-chat-references small{color:var(--text-dim);flex:none;font-size:9px}.agent-chat-references em{color:var(--accent);text-transform:uppercase;flex:none;margin-left:auto;font-size:9px;font-style:normal}.agent-chat-composer .agent-chat-references button{width:18px;height:18px;color:var(--text-dim);background:0 0;border:0;border-radius:50%;align-self:center;margin-left:auto;padding:0;line-height:1}.agent-chat-composer .agent-chat-references button:hover{color:var(--text-heading);background:var(--bg-panel)}.agent-chat-composer textarea{resize:none;width:100%;color:var(--text);border:1px solid var(--border);border-radius:var(--radius-control);font:inherit;background:#17181c;padding:8px}.agent-chat-composer button{background:var(--accent);border-radius:var(--radius-control);cursor:pointer;border:0;align-self:end;padding:7px 11px}.agent-chat-composer button.cancel{background:#7f3f48}.agent-chat-composer button:disabled{opacity:.45;cursor:default}.property-row-frame{--property-label-width:clamp(64px, var(--property-label-percent,42%), calc(100% - 110px));min-width:0;position:relative}.property-row-frame>.property-column-divider{z-index:2;left:var(--property-label-width);cursor:col-resize;touch-action:none;-webkit-user-select:none;user-select:none;border:0;width:9px;margin:0;padding:0;position:absolute;top:0;bottom:0;transform:translate(-50%)}.property-column-divider:after{content:"";background:var(--border-strong);width:1px;position:absolute;top:0;bottom:0;left:4px}.property-column-divider:is(:hover,:focus-visible,.dragging):after{background:var(--accent);width:2px}.property-column-divider:focus-visible{outline:1px solid var(--accent);outline-offset:-2px}.property-row-resizable>:first-child{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}[data-property-help]>span:first-child{cursor:help}.resources-panel{flex-direction:column;gap:8px;display:flex}.resources-panel button{border:1px solid color-mix(in srgb, var(--text-dim) 45%, var(--border));border-radius:var(--radius-control);background:var(--bg-panel-raised);min-height:24px;color:var(--text-heading);cursor:pointer;padding:3px 7px}.resources-panel button:hover:not(:disabled),.resources-panel button:focus-visible{border-color:var(--accent-focus);background:var(--bg-hover)}.resources-panel button:disabled{border-color:var(--border);background:color-mix(in srgb, var(--bg-panel-raised) 88%, white);color:color-mix(in srgb, var(--text) 78%, var(--bg-panel-raised));cursor:not-allowed;opacity:1}.resources-tree{gap:2px;display:grid}.resources-tree details>summary{list-style:none}.resources-tree details>summary::-webkit-details-marker{display:none}.resources-tree-branch{border:1px solid var(--border);border-radius:var(--radius-control);background:#2b2b2b}.resources-tree-branch>summary,.resources-tree-item>summary{cursor:pointer;-webkit-user-select:none;user-select:none;align-items:center;min-width:0;display:flex}.resources-tree-branch>summary{min-height:28px;color:var(--text-heading);gap:6px;padding:2px 7px;font-size:11px;font-weight:600}.resources-tree-branch>summary:before,.resources-tree-item>summary:before{content:"›";color:var(--text-dim);flex:none;font-size:15px;line-height:1;transition:transform .1s}.resources-tree-branch[open]>summary:before,.resources-tree-item[open]>summary:before{transform:rotate(90deg)}.resources-tree-branch>summary:hover,.resources-tree-item>summary:hover{background:var(--bg-hover)}.resources-tree-label{flex:1;min-width:0}.resources-tree-count{background:var(--bg-canvas);min-width:20px;color:var(--text-dim);text-align:center;border-radius:9px;flex:none;padding:1px 5px;font-size:9px;font-weight:500}.resources-tree-group{border-top:1px solid var(--border);gap:5px;padding:5px;display:grid}.resources-tree-toolbar{color:var(--text-dim);grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:5px;font-size:10px;display:grid}.resources-tree-toolbar input,.resources-tree-toolbar select{width:100%;min-width:0}.resources-tree-items{gap:2px;padding-left:10px;display:grid}.resources-tree-item{border-left:1px solid color-mix(in srgb, var(--border) 75%, transparent);min-width:0}.resources-tree-item>summary{border-radius:var(--radius-control);gap:5px;min-height:27px;padding:2px 4px}.resources-tree-item-copy{flex:1;min-width:0;display:grid}.resources-tree-item-name,.resources-tree-item-meta{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.resources-tree-item-name{color:var(--text);font-size:10px}.resources-tree-item-meta{color:var(--text-dim);font-size:8px}.resources-tree-item-icon,.resources-token-swatch,.resources-tree-font-preview{box-sizing:border-box;border:1px solid var(--border);border-radius:var(--radius-control);background:var(--bg-canvas);width:22px;height:22px;color:var(--text-dim);flex:0 0 22px;place-items:center;font-size:9px;display:grid}.resources-token-swatch{box-shadow:inset 0 0 0 2px var(--bg-canvas)}.resources-tree-font-preview{font-size:10px}.resources-tree-item-editor{border:1px solid var(--border);border-radius:var(--radius-control);background:var(--bg-panel);gap:5px;margin:2px 3px 5px 16px;padding:6px;display:grid}.resources-tree-item-editor>input,.resources-tree-item-editor>textarea,.resources-tree-item-editor>select{width:100%;min-width:0}.resources-tree-actions{color:var(--text-dim);justify-content:space-between;align-items:center;gap:5px;font-size:9px;display:flex}.resources-tree-actions.wrap{flex-wrap:wrap;justify-content:flex-start}.resources-file-input{display:none}.resources-style-pack-row{grid-template-columns:minmax(0,1fr) auto;gap:6px;display:grid}.resources-asset-list{flex-direction:column;gap:4px;margin:0;padding:0;list-style:none;display:flex}.resources-asset-row{border-radius:var(--radius-control);align-items:center;gap:8px;padding:4px;display:flex}.resources-asset-fields{flex:1;gap:5px;min-width:0;display:grid}.resources-asset-fields input,.resources-asset-fields textarea,.resources-asset-fields select{width:100%;min-width:0}.resources-asset-fields input.invalid{border-color:#ff7b72}.resources-asset-inline{grid-template-columns:minmax(64px,1fr) minmax(72px,1fr);gap:5px;display:grid}.resources-asset-meta,.resources-asset-warning{color:var(--text-muted);overflow-wrap:anywhere;font-size:10px}.resources-asset-warning{color:#ffb86b}.resources-font-preview{border:1px solid var(--border);background:var(--bg-canvas);flex:0 0 58px;place-items:center;min-height:40px;font-size:16px;display:grid}.resources-asset-row:hover{background:var(--bg-panel-raised)}.resources-asset-thumb{object-fit:cover;border-radius:var(--radius-control);border:1px solid var(--border);background:var(--bg-canvas);flex:none;width:22px;height:22px}.resources-asset-name{min-width:0;color:var(--text);text-overflow:ellipsis;white-space:nowrap;flex:1;font-size:11px;overflow:hidden}.resources-component-name{flex:1;min-width:72px}.resources-component-count{color:var(--text-muted);white-space:nowrap;flex:none;font-size:10px}.brand-kit-panel{--ui-font-size:11px;--ui-font-size-compact:10px;gap:4px;font-size:11px}.brand-kit-panel .inspector-hint{margin:0 0 2px;font-size:10px;line-height:1.3}.brand-kit-panel button,.brand-kit-panel input,.brand-kit-panel select{font-size:11px}.brand-kit-panel button{min-height:22px;padding:2px 5px}.brand-kit-panel .resources-tree-toolbar{gap:4px;font-size:10px}.brand-kit-advanced>summary{cursor:pointer;color:var(--text-dim);padding:4px 0}.brand-kit-palette{grid-template-columns:repeat(auto-fit,minmax(125px,1fr));gap:4px;margin-bottom:4px;display:grid}.brand-kit-color{border:1px solid var(--border-color,#343434);border-radius:2px;align-items:center;gap:5px;min-width:0;min-height:28px;padding:3px 5px;font-size:11px;line-height:1.2;display:flex}.brand-kit-color span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.brand-kit-color input{cursor:pointer;background:0 0;border:0;width:20px;min-width:20px;height:20px;padding:0}.effect-stack-toolbar,.effect-stack-header,.effect-stack-actions{align-items:center;gap:6px;display:flex}.effect-stack-toolbar{margin-bottom:10px}.effect-stack-toolbar select{flex:1;min-width:0}.effect-stack-item{border:1px solid var(--border-color,#363b43);background:#ffffff05;border-radius:6px;margin-bottom:9px;padding:9px}.effect-stack-header input[type=text],.effect-stack-header input:not([type]){flex:1;min-width:0}.effect-stack-header input[type=checkbox]{flex:none;width:14px}.effect-stack-header span{color:#929eab;white-space:nowrap;font-size:10px}.effect-stack-actions{justify-content:flex-end;margin:7px 0}.effect-stack-actions button{padding:3px 7px;font-size:11px}.effect-stack-params.is-bypassed{opacity:.5}.frame-duration-control{grid-template-columns:repeat(2,minmax(92px,1fr));gap:5px 8px;display:grid}.frame-duration-control label{color:var(--text-dim);gap:3px;font-size:10px;display:grid}.frame-duration-control input{border:1px solid var(--border);border-radius:var(--radius-control);background:var(--bg-canvas);width:100%;min-width:0;color:var(--text);padding:3px 6px}.frame-duration-exact,.frame-duration-warning{grid-column:1/-1;font-size:10px}.frame-duration-exact{color:var(--text-dim)}.frame-duration-warning{color:#ffb86b}.frame-duration-rounding{grid-column:1/-1;gap:5px;display:flex}.frame-duration-rounding button{border:1px solid var(--border);border-radius:var(--radius-control);background:var(--bg-panel-raised);color:var(--text);cursor:pointer;padding:3px 7px}.frame-duration-rounding button:hover,.frame-duration-rounding button:focus-visible{border-color:var(--accent)}.inspector>.frame-duration-control{display:block}.inspector>.frame-duration-control label{grid-template-columns:var(--property-label-width,minmax(118px, 42%)) minmax(0, 1fr);border-bottom:1px solid var(--border);min-height:30px;color:var(--text);align-items:stretch;gap:0;display:grid}.inspector>.frame-duration-control label>span:first-child{border-right:1px solid var(--border);align-items:center;padding:0 8px;display:flex}.inspector>.frame-duration-control label>input{align-self:center;width:calc(100% - 12px);margin:3px 6px}.inspector>.frame-duration-control>:is(.frame-duration-exact,.frame-duration-warning){border-bottom:1px solid var(--border);padding:5px 8px;display:block}.inspector>.frame-duration-control .frame-duration-rounding{border-bottom:1px solid var(--border);padding:6px 8px}.frame-duration-control.compact{flex:none;align-items:center;gap:7px;display:flex}.frame-duration-control.compact label{align-items:center;gap:4px;display:flex}.frame-duration-control.compact input{width:62px}.frame-duration-control.compact .frame-duration-milliseconds input{width:72px}.frame-duration-popover{z-index:11000;border:1px solid var(--border-strong);background:var(--bg-header);color:var(--text);font:11px/1.4 var(--sans);border-radius:3px;padding:8px;position:fixed;box-shadow:0 6px 20px #0008}.frame-duration-popover p{margin:0 0 6px}.frame-duration-popover button{font:inherit}.inspector{flex-direction:column;gap:8px;display:flex}.paint-editor{gap:8px;display:grid}.paint-stops{border:1px solid var(--border-subtle);border-radius:var(--radius-control);gap:6px;padding:8px;display:grid}.paint-stop{color:var(--text-muted);grid-template-columns:32px 56px auto 56px auto min-content;align-items:center;gap:5px;font-size:11px;display:grid}.inspector-section{text-transform:uppercase;letter-spacing:.06em;color:var(--text-dim);border-top:1px solid var(--border);margin:6px 0 0;padding-top:6px;font-size:11px}.inspector-grid{grid-template-columns:1fr 1fr;gap:6px 10px;display:grid}.inspector-corner-grid{border:1px solid var(--border);border-radius:var(--radius-control);background:color-mix(in srgb, var(--bg-canvas) 65%, transparent);padding:7px}.inspector-button-row{gap:6px;display:flex}.inspector-presentation-background-controls{border:1px solid var(--border);border-radius:var(--radius-control);background:color-mix(in srgb, var(--bg-canvas) 65%, transparent);gap:7px;padding:7px;display:grid}.inspector-file-input{display:none}.inspector-error{color:#ff7b86;margin:0;font-size:11px;line-height:1.4}.inspector-binding-list{gap:7px;display:grid}.inspector-binding{border:1px solid var(--border);border-radius:var(--radius-control);background:color-mix(in srgb, var(--bg-canvas) 65%, transparent);gap:5px;padding:7px;display:grid}.inspector-binding-remove{color:var(--text-dim);font:inherit;cursor:pointer;background:0 0;border:0;justify-self:end;font-size:11px}.inspector-binding-remove:hover{color:#ff7b86}.inspector-button-row button,.inspector-row button{border:1px solid var(--border);border-radius:var(--radius-control);background:var(--bg-panel-raised);color:var(--text);cursor:pointer;padding:3px 7px}.inspector-row{justify-content:space-between;align-items:center;gap:6px;display:flex}.inspector-row-stacked{flex-direction:column;align-items:stretch}.inspector-row span{color:var(--text-dim);flex:none;font-size:11px}.inspector-row input,.inspector-row select,.inspector-row textarea{background:var(--bg-canvas);border:1px solid var(--border);border-radius:var(--radius-control);color:var(--text);width:100%;min-width:0;font:inherit;padding:3px 6px}.inspector-row input[type=color]{height:24px;padding:1px 2px}.inspector-z-order-control{grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:6px;min-width:0;display:grid}.inspector-z-order-control small{color:var(--text-dim);white-space:nowrap;font-size:10px}.inspector-checkbox-row input[type=checkbox]{width:auto;accent-color:var(--accent)}.inspector-effect-grid{border:1px solid var(--border);border-radius:var(--radius-control);background:color-mix(in srgb, var(--bg-canvas) 65%, transparent);padding:7px}.inspector-font-preview{border:1px solid var(--border);border-radius:var(--radius-control);background:var(--bg-canvas);color:var(--text-heading);white-space:nowrap;padding:9px;font-size:20px;line-height:1.2;overflow:hidden}.inspector-background-color input[type=color]{cursor:pointer;height:32px}.inspector-alpha-control{border:1px solid var(--border);border-radius:var(--radius-control);background:color-mix(in srgb, var(--bg-canvas) 65%, transparent);grid-template-columns:auto minmax(70px,1fr) 68px;align-items:center;gap:8px;padding:6px 8px;display:grid}.inspector-alpha-label,.inspector-alpha-number span{color:var(--text-dim);font-size:11px}.inspector-alpha-control>input[type=range]{width:100%;min-width:0;accent-color:var(--accent);cursor:ew-resize;padding:0}.inspector-alpha-number{grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:4px;display:grid}.inspector-alpha-number input{border:1px solid var(--border);border-radius:var(--radius-control);background:var(--bg-canvas);width:100%;min-width:0;color:var(--text);font:inherit;font-variant-numeric:tabular-nums;padding:3px 5px}.inspector-hint{color:var(--accent-focus);margin:0;font-size:11px;line-height:1.4}.inspector-evaluated-pose{border:1px solid color-mix(in srgb, var(--accent-focus) 35%, var(--border));border-radius:var(--radius-control);background:color-mix(in srgb, var(--accent-focus) 7%, transparent);flex-direction:column;gap:3px;padding:6px 8px;font-size:10px;display:flex}.inspector-evaluated-pose span,.inspector-evaluated-pose small{color:var(--text-dim)}.inspector-evaluated-pose output{color:var(--text);font-family:var(--mono);font-variant-numeric:tabular-nums}.inspector-frame-list{flex-direction:column;gap:4px;margin:0;padding:0;list-style:none;display:flex}.inspector-frame-row{color:var(--text-dim);align-items:center;gap:6px;font-size:11px;display:flex}.inspector-frame-thumb{object-fit:cover;border-radius:var(--radius-control);border:1px solid var(--border);flex:none;width:24px;height:24px}.inspector{margin:-8px -10px;display:block}.inspector>.panel-placeholder,.inspector>.inspector-error,.inspector>.inspector-hint,.inspector>.inspector-evaluated-pose,.inspector>.inspector-font-preview,.inspector>.inspector-binding-list,.inspector>.inspector-frame-list,.inspector>.inspector-button-row,.inspector>.paint-editor{border-bottom:1px solid var(--border);margin:0;padding:7px 8px}.inspector-section{border-top:0;border-bottom:1px solid var(--border);min-height:30px;color:var(--text);font-size:var(--ui-font-size);letter-spacing:0;text-transform:none;background:#252525;align-items:center;margin:0;padding:0 8px;font-weight:400;display:flex}.inspector-grid,.inspector-corner-grid,.inspector-effect-grid,.inspector-presentation-background-controls{display:contents}.inspector-row,.inspector-row-stacked{grid-template-columns:var(--property-label-width,minmax(118px, 42%)) minmax(0, 1fr);border-bottom:1px solid var(--border);background:var(--bg-panel);align-items:stretch;gap:0;min-height:30px;padding:0;display:grid}.inspector-row:hover{background:#303030}.inspector-row>span:first-child{border-right:1px solid var(--border);min-width:0;color:var(--text);text-overflow:ellipsis;white-space:nowrap;align-items:center;padding:0 8px;display:flex;overflow:hidden}.inspector-row>:is(input,select,textarea,button,.inspector-z-order-control){place-self:center stretch;width:calc(100% - 12px);min-width:0;margin:3px 6px}.inspector-row>textarea{resize:vertical;min-height:54px}.inspector-row input[type=checkbox]{justify-self:start;width:14px;height:14px;margin-left:10px}.inspector-row input[type=color]{justify-self:start;width:42px;height:24px}.inspector-alpha-control{grid-template-columns:var(--property-label-width,minmax(118px, 42%)) minmax(0, 1fr) 72px;border:0;border-bottom:1px solid var(--border);background:var(--bg-panel);border-radius:0;gap:6px;min-height:32px;margin:0;padding:0 6px 0 0}.inspector-alpha-label{border-right:1px solid var(--border);height:100%;color:var(--text);align-items:center;padding:0 8px;display:flex}.inspector-binding,.paint-stops{border-color:var(--border-strong);background:#292929}.data-panel{flex-direction:column;gap:18px;display:flex}.data-panel-section h3{color:var(--text-heading);margin:0;font-size:12px}.data-panel-section-header{justify-content:space-between;align-items:center;gap:8px;margin-bottom:8px;display:flex}.data-panel-section-header button{background:var(--bg-panel-raised);border:1px solid var(--border);border-radius:var(--radius-control);cursor:pointer;color:var(--text);white-space:nowrap;padding:3px 8px;font-size:11px}.data-panel-section-header button:hover{border-color:var(--accent)}.data-panel-add-row{align-items:center;gap:6px;display:flex}.data-table{border-collapse:collapse;width:100%;font-size:11px}.data-table th{text-align:left;color:var(--text-dim);border-bottom:1px solid var(--border);padding:2px 4px;font-weight:400}.data-table td{vertical-align:middle;padding:3px 4px}.data-table-checkbox-cell{text-align:center}.data-table input[type=text],.data-table input[type=number],.data-table select,.data-table textarea{background:var(--bg-canvas);border:1px solid var(--border);border-radius:var(--radius-control);width:100%;min-width:0;color:var(--text);font:inherit;padding:2px 5px;font-size:11px}.data-table input[type=color]{border:1px solid var(--border);border-radius:var(--radius-control);background:0 0;width:32px;height:20px;padding:0}.data-table-delete{color:var(--text-dim);cursor:pointer;background:0 0;border:none;flex:none;padding:2px 4px;font-size:10px}.data-table-delete:hover{color:var(--text)}.data-field-details-row td{border-bottom:1px solid var(--border);padding:0 4px 9px}.data-field-details{background:color-mix(in srgb, var(--bg-canvas) 72%, transparent);border-radius:var(--radius-control);grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;padding:7px;display:grid}.data-field-details label,.data-field-constraints label{color:var(--text-dim);flex-direction:column;gap:3px;display:flex}.data-field-details .data-field-options,.data-field-constraints,.data-field-pattern{grid-column:1/-1}.data-field-constraints{grid-template-columns:repeat(5,minmax(68px,1fr));gap:6px;display:grid}.test-data-form{flex-direction:column;gap:6px;display:flex}.test-data-row{align-items:center;gap:8px;font-size:11px;display:flex}.test-data-row span{width:90px;color:var(--text-dim);text-overflow:ellipsis;white-space:nowrap;flex:none;overflow:hidden}.test-data-row input,.test-data-row select,.test-data-row textarea{background:var(--bg-canvas);border:1px solid var(--border);border-radius:var(--radius-control);min-width:0;color:var(--text);font:inherit;flex:1;padding:3px 6px;font-size:11px}.test-data-row select[multiple]{min-height:58px}.data-json-preview{background:var(--bg-canvas);border:1px solid var(--border);border-radius:var(--radius-control);font-family:var(--mono);color:var(--text-dim);max-height:180px;margin:0 0 8px;padding:8px;font-size:10px;overflow:auto}.data-json-invalid{border-color:#e45c5c!important}.data-field-schema-editor{border:1px solid var(--border);border-radius:var(--radius-control);flex-direction:column;grid-column:1/-1;gap:6px;padding:6px;display:flex}.data-field-schema-node{border-left:2px solid var(--accent);background:color-mix(in srgb, var(--bg-canvas) 78%, transparent);flex-wrap:wrap;align-items:center;gap:6px;padding:6px;display:flex}.data-panel{gap:0;margin:-8px -10px}.data-panel-section+.data-panel-section{border-top:1px solid var(--border-strong)}.data-panel-section-header{border-bottom:1px solid var(--border);background:#252525;min-height:34px;margin:0;padding:3px 8px}.data-panel-section-header h3{color:var(--text);font-size:var(--ui-font-size);font-weight:400}.data-panel-section>.panel-placeholder,.data-panel-section>.inspector-hint,.data-panel-section>.data-json-preview{border-bottom:1px solid var(--border);margin:0;padding:7px 8px}.data-table th,.data-table td{border-right:1px solid var(--border);border-bottom:1px solid var(--border)}.data-table th:last-child,.data-table td:last-child{border-right:0}.test-data-form{gap:0}.test-data-row{grid-template-columns:var(--property-label-width,minmax(118px, 42%)) minmax(0, 1fr);border-bottom:1px solid var(--border);gap:0;min-height:30px;display:grid}.test-data-row>span:first-child{border-right:1px solid var(--border);width:auto;height:100%;color:var(--text);align-items:center;padding:0 8px;display:flex}.test-data-row>:is(input,select,textarea){width:calc(100% - 12px);margin:3px 6px}.data-field-schema-node>.data-field-details{flex:1 0 100%}.preview-export-panel{flex-direction:column;gap:12px;display:flex}.preview-export-heading{align-items:center;gap:5px;display:flex}.preview-stage-wrap{background:var(--bg-canvas);border:1px solid var(--border);border-radius:var(--radius-control);justify-content:center;align-items:center;height:160px;display:flex;overflow:auto}.preview-stage-measure{flex:none;position:relative}.preview-export-panel .preview-stage-wrap:fullscreen{resize:none;background:#000;border:0;border-radius:0;outline:none;flex:none;width:100vw;height:100vh;min-height:0;margin:0;padding:0;overflow:hidden}.preview-stage-wrap::backdrop{background:#000}.preview-stage-wrap:fullscreen .preview-stage{outline:none;background:#000!important}.preview-stage-wrap:fullscreen .preview-source-overlay{display:none}.preview-fullscreen-error{color:#ff8a8a;margin:0;font-size:11px}.preview-stage{transform-origin:0 0;outline:1px solid var(--border);position:relative;overflow:hidden}.preview-source-overlay{object-fit:fill;pointer-events:none;position:absolute}.preview-controls{flex-direction:column;gap:8px;display:flex}.preview-controls-row{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.preview-controls-row button,.preview-controls-row select,.preview-data-form button{background:var(--bg-panel-raised);border:1px solid var(--border);border-radius:var(--radius-control);cursor:pointer;color:var(--text);padding:4px 8px;font-size:11px}.preview-controls-row button:hover,.preview-data-form button:hover{border-color:var(--accent)}.preview-step-indicator{font-family:var(--mono);color:var(--text-dim);font-size:11px}.preview-schedule{border-top:1px solid var(--border);flex-direction:column;gap:6px;padding-top:8px;display:flex}.preview-schedule-row{align-items:center;gap:6px;display:flex}.preview-schedule-row select{background:var(--bg-panel-raised);border:1px solid var(--border);border-radius:var(--radius-control);color:var(--text);padding:3px 6px;font-size:11px}.preview-schedule-timestamp{background:var(--bg-canvas);border:1px solid var(--border);border-radius:var(--radius-control);width:64px;color:var(--text);font:inherit;flex:none;padding:3px 6px;font-size:11px}.preview-schedule-params{background:var(--bg-canvas);border:1px solid var(--border);border-radius:var(--radius-control);min-width:0;color:var(--text);font:inherit;font-family:var(--mono);flex:1;padding:3px 6px;font-size:11px}.preview-data-form{border-top:1px solid var(--border);flex-direction:column;gap:6px;padding-top:8px;display:flex}.preview-data-row{align-items:center;gap:8px;font-size:11px;display:flex}.preview-data-row span{width:90px;color:var(--text-dim);text-overflow:ellipsis;white-space:nowrap;flex:none;overflow:hidden}.preview-data-row input{background:var(--bg-canvas);border:1px solid var(--border);border-radius:var(--radius-control);min-width:0;color:var(--text);font:inherit;flex:1;padding:3px 6px;font-size:11px}.preview-log{border-top:1px solid var(--border);flex-direction:column;gap:2px;max-height:160px;padding-top:6px;display:flex;overflow-y:auto}.preview-log-entry{font-family:var(--mono);border-radius:var(--radius-control);color:var(--text-dim);gap:6px;padding:2px 4px;font-size:10px;display:flex}.preview-log-entry.error{color:#ff8a8a;background:#ff5a5a1a}.preview-log-method{color:var(--text);flex:none;font-weight:600}.preview-log-entry.error .preview-log-method{color:#ff8a8a}.preview-log-params,.preview-log-result{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.preview-log-params{flex:1;min-width:0}.preview-log-result{flex:none;max-width:40%}.preview-validation{color:#6fd28a;margin:0 0 6px;font-size:12px}.preview-validation.invalid{color:#ff8a8a}.preview-validation-errors{color:#ff8a8a;margin:0 0 8px;padding-left:16px;font-size:11px}.preview-validation-errors .preview-validation-check-valid{color:#6fd28a}.preview-export-status{color:var(--text-dim);margin:6px 0 0;font-size:11px}.preview-qa-results{color:var(--text-muted);gap:4px;margin:8px 0 0;padding-left:18px;font-size:11px;display:grid}.preview-qa-results .warning{color:#ffb86b}.preview-data-form{gap:0}.preview-data-row{grid-template-columns:var(--property-label-width,minmax(118px, 42%)) minmax(0, 1fr);border-bottom:1px solid var(--border);gap:0;min-height:30px;display:grid}.preview-data-row>span:first-child{border-right:1px solid var(--border);width:auto;height:100%;color:var(--text);align-items:center;padding:0 8px;display:flex}.preview-data-row>input{width:calc(100% - 12px);margin:3px 6px}.timeline-panel{--timeline-diamond-size:11px;grid-template-rows:32px minmax(0,1fr);grid-template-columns:minmax(0,1fr);gap:8px;height:100%;display:grid;position:relative}.timeline-panel.has-key-editor{grid-template-columns:minmax(0,1fr) clamp(260px,22vw,330px)}.timeline-panel:focus-visible{outline:1px solid var(--accent);outline-offset:-1px}.timeline-toolbar .timeline-transport-button.frame-step{width:53px;font-family:var(--mono);justify-content:center;align-items:center;gap:1px;font-size:11px;display:flex}.timeline-toolbar{grid-area:1/1;align-items:center;gap:10px;min-width:0;min-height:32px;display:flex;overflow:auto hidden}.timeline-toolbar button,.timeline-key-editor button{background:var(--bg-panel-raised);border:1px solid var(--border);border-radius:var(--radius-control);cursor:pointer;padding:4px 10px;font-size:12px}.timeline-toolbar button:hover:not(:disabled),.timeline-key-editor button:hover:not(:disabled){border-color:var(--accent)}.timeline-toolbar button:disabled,.timeline-key-editor button:disabled{opacity:.4;cursor:not-allowed}.timeline-transport{border:1px solid var(--border);border-radius:var(--radius-control);background:var(--bg-panel-raised);flex:none;align-items:center;display:inline-flex;overflow:hidden}.timeline-toolbar .timeline-transport-button{border:0;border-right:1px solid var(--border);width:30px;height:28px;color:var(--text-dim);border-radius:0;place-items:center;padding:0;display:grid}.timeline-toolbar .timeline-transport-button:last-child{border-right:0}.timeline-toolbar .timeline-transport-button:hover:not(:disabled){color:var(--text-heading);background:color-mix(in srgb, var(--accent) 12%, var(--bg-panel-raised))}.timeline-toolbar .timeline-transport-button.primary{width:34px;color:var(--text-heading)}.timeline-toolbar .timeline-transport-button.active{color:var(--accent);background:color-mix(in srgb, var(--accent) 16%, var(--bg-panel-raised))}.timeline-step-playback-toggle{color:var(--text-dim);white-space:nowrap;cursor:pointer;flex:none;align-items:center;gap:4px;font-size:10px;display:inline-flex}.timeline-step-playback-toggle input{width:13px;height:13px;accent-color:var(--accent);margin:0}.timeline-transport-icon{fill:none;stroke:currentColor;stroke-width:1.5px;stroke-linecap:round;stroke-linejoin:round;width:14px;height:14px}.timeline-transport-icon .filled{fill:currentColor;stroke:currentColor}.timeline-readout{border:1px solid var(--border);border-radius:var(--radius-control);background:var(--bg-canvas);height:30px;font-family:var(--mono);font-variant-numeric:tabular-nums;flex:none;align-items:center;gap:5px;padding:0 9px;display:flex}.timeline-readout strong{min-width:2ch;color:var(--text-heading);text-align:right;font-size:12px;font-weight:600}.timeline-readout-divider{color:var(--text-dim);font-size:11px}.timeline-readout-separator{color:var(--text-dim);font-size:10px}.timeline-readout-duration{min-width:8ch}.timeline-edit-controls{flex:none;align-items:center;gap:6px;display:flex}.timeline-zoom-controls{color:var(--text-dim);flex:none;align-items:center;gap:4px;font-size:10px;display:inline-flex}.timeline-toolbar .timeline-zoom-controls button{width:24px;height:24px;padding:0}.timeline-zoom-controls input[type=range]{width:88px;accent-color:var(--accent)}.timeline-zoom-controls output{width:34px;font-family:var(--mono);text-align:right}.timeline-state-role{border:1px solid var(--border);color:var(--text-dim);text-transform:uppercase;border-radius:999px;margin-left:auto;padding:2px 7px;font-size:11px}.timeline-state-role.start,.timeline-state-role.end{color:#ffb020;border-color:#805b20}.timeline-lifecycle-toast{z-index:20;border:1px solid color-mix(in srgb, #72d99b 55%, var(--border));border-radius:var(--radius-control);background:color-mix(in srgb, #173c28 88%, var(--bg-panel-raised));color:#72d99b;text-overflow:ellipsis;white-space:nowrap;max-width:260px;padding:7px 9px;font-size:10px;position:absolute;bottom:10px;right:10px;overflow:hidden;box-shadow:0 5px 18px #00000059}.timeline-lifecycle-toast.warning{border-color:color-mix(in srgb, #ffbf69 55%, var(--border));background:color-mix(in srgb, #4b3217 88%, var(--bg-panel-raised));color:#ffbf69}.timeline-transition-controls,.timeline-layer-key-controls{color:var(--text-dim);align-items:center;gap:12px;font-size:11px;display:flex}.timeline-transition-controls label,.timeline-layer-key-controls label{white-space:nowrap;align-items:center;gap:4px;display:flex}.timeline-transition-controls input,.timeline-transition-controls select,.timeline-layer-key-controls select{background:var(--bg-panel-raised);border:1px solid var(--border);border-radius:var(--radius-control);width:64px;color:var(--text);font:inherit;padding:3px 5px}.timeline-transition-controls select,.timeline-layer-key-controls select{width:auto}.timeline-layer-key-controls{border-left:2px solid var(--accent);padding-left:8px}.timeline-body{border:1px solid var(--border);border-radius:var(--radius-control);flex:1;grid-area:2/1;min-height:0;display:flex;overflow:hidden}.timeline-key-editor{border:1px solid var(--border);border-radius:var(--radius-control);background:color-mix(in srgb, var(--bg-panel-raised) 78%, var(--bg-canvas));grid-area:1/2/3;min-width:0;min-height:0;padding:10px;overflow:auto}.timeline-key-editor h3{border-bottom:1px solid var(--border);color:var(--text-heading);letter-spacing:.05em;text-transform:uppercase;margin:0 0 7px;padding-bottom:6px;font-size:11px;font-weight:600}.timeline-key-editor .timeline-layer-key-controls{border:0;flex-direction:column;align-items:stretch;gap:7px;padding:0;display:flex}.timeline-key-editor-selection{border-left:3px solid var(--accent);background:color-mix(in srgb, var(--accent) 8%, transparent);flex-direction:column;gap:2px;padding:5px 7px;display:flex}.timeline-key-editor-selection strong{color:var(--text-heading);font-size:12px;font-weight:600}.timeline-key-editor-selection span{color:var(--text-dim);font-family:var(--mono);font-size:10px}.timeline-key-editor .timeline-layer-key-controls>label{flex-direction:column;align-items:stretch;gap:5px;display:flex}.timeline-key-editor select,.timeline-key-editor input{background:var(--bg-panel-raised);border:1px solid var(--border);border-radius:var(--radius-control);min-width:0;color:var(--text);font:inherit;padding:5px 6px}.timeline-gutter{background:var(--bg-panel-raised);flex:none;width:170px;overflow:hidden}.timeline-gutter-resize-handle{z-index:9;cursor:col-resize;touch-action:none;background:0 0;border:0;flex:0 0 7px;width:7px;padding:0;position:relative}.timeline-gutter-resize-handle:before{content:"";background:var(--border);width:1px;transition:width .1s,background .1s,box-shadow .1s;position:absolute;inset:0 auto 0 3px}.timeline-gutter-resize-handle:hover:before,.timeline-gutter-resize-handle:focus-visible:before,.timeline-body.resizing-gutter .timeline-gutter-resize-handle:before{background:var(--accent);width:2px;box-shadow:0 0 5px color-mix(in srgb, var(--accent) 65%, transparent)}.timeline-gutter-resize-handle:focus-visible{outline:1px solid var(--accent);outline-offset:-1px}.timeline-body.resizing-gutter,.timeline-body.resizing-gutter *{cursor:col-resize!important;-webkit-user-select:none!important;user-select:none!important}.timeline-gutter-spacer{z-index:7;background:var(--bg-panel-raised);border-bottom:1px solid var(--border);height:42px;position:sticky;top:0}.timeline-gutter-row{width:100%;height:28px;color:var(--text);font:inherit;text-align:left;cursor:default;border-top:0;border-right:0;border-bottom:1px solid var(--border);border-left:3px solid var(--layer-color);background:0 0;align-items:center;gap:0;padding:0;font-size:11px;display:flex;overflow:hidden}.timeline-folder-row{border-bottom:1px solid var(--border);border-left:3px solid var(--folder-color);background:color-mix(in srgb, var(--folder-color) 12%, var(--bg-panel-raised));width:100%;height:28px;color:var(--text-heading);align-items:center;gap:3px;padding:0 5px 0 0;font-size:11px;display:flex}.timeline-folder-row.selected{background:color-mix(in srgb, var(--folder-color) 23%, var(--bg-panel-raised))}.timeline-folder-toggle,.timeline-folder-select{height:100%;color:inherit;font:inherit;cursor:pointer;background:0 0;border:0}.timeline-folder-toggle{width:19px;color:var(--text-heading);text-align:center;flex:none;padding:0;font-weight:800;line-height:1}.timeline-folder-select{text-align:left;flex:1;align-items:center;gap:5px;min-width:0;padding:0;display:flex}.timeline-folder-name{text-overflow:ellipsis;white-space:nowrap;cursor:text;min-width:0;overflow:hidden}.timeline-folder-count{border-radius:var(--radius-control);background:color-mix(in srgb, var(--folder-color) 30%, var(--bg-canvas));min-width:16px;color:var(--text-dim);font-family:var(--mono);text-align:center;flex:none;padding:1px 4px;font-size:9px}.timeline-folder-rename{border:1px solid var(--folder-color);border-radius:var(--radius-control);background:var(--bg-canvas);min-width:0;height:20px;color:var(--text-heading);font:inherit;flex:1;padding:1px 4px}.timeline-gutter-row.in-folder .timeline-property-toggle{width:31px;padding-left:9px}.timeline-property-toggle,.timeline-layer-select,.timeline-property-gutter-row{color:inherit;font:inherit;cursor:pointer;background:0 0;border:0}.timeline-property-toggle{width:22px;height:100%;color:var(--text-heading);text-align:center;flex:none;padding:0;font-weight:800;line-height:1}.timeline-folder-toggle:hover,.timeline-property-toggle:hover{color:var(--accent)}.timeline-layer-select{text-align:left;flex:1;align-items:center;gap:6px;min-width:0;height:100%;padding:0 8px 0 0;display:flex}.timeline-property-gutter-row{border-bottom:1px solid var(--border);border-left:3px solid color-mix(in srgb, var(--layer-color) 50%, transparent);width:100%;height:28px;color:var(--text-dim);text-align:left;align-items:center;padding:0 8px 0 28px;font-size:10px;display:flex}.timeline-property-gutter-row:hover,.timeline-property-gutter-row.selected{color:var(--text-heading);background:color-mix(in srgb, var(--layer-color) 10%, transparent)}.timeline-gutter-row:hover{background:color-mix(in srgb, var(--layer-color) 8%, var(--bg-panel-raised))}.timeline-gutter-row:focus-visible{outline:1px solid var(--accent);outline-offset:-2px}.timeline-gutter-row.selected{color:var(--text-heading);background:color-mix(in srgb, var(--layer-color) 12%, transparent)}.timeline-layer-color{background:var(--layer-color);width:8px;height:8px;box-shadow:0 0 5px color-mix(in srgb, var(--layer-color) 55%, transparent);border-radius:2px;flex:none}.timeline-layer-name{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.timeline-property-visibility-controls{flex:none;align-items:center;gap:3px;padding-right:4px;display:flex}.timeline-property-add,.timeline-show-all-properties{border:1px solid var(--border);border-radius:var(--radius-control);background:var(--bg-canvas);height:21px;color:var(--text-dim);cursor:pointer;padding:0 4px}.timeline-property-add{appearance:none;text-align:center;width:25px;font-weight:700}.timeline-show-all-properties{min-width:28px}.timeline-property-add:hover:not(:disabled),.timeline-show-all-properties:hover,.timeline-show-all-properties[aria-pressed=true]{border-color:var(--accent);color:var(--text-heading)}.timeline-property-add:disabled{cursor:default;opacity:.45}.timeline-gutter-empty{color:var(--text-dim);padding:8px;font-size:11px;font-style:italic}.timeline-tracks{background:var(--bg-canvas);flex:1;min-width:0;overflow:auto}.timeline-content{min-height:100%;position:relative}.timeline-gridlines{pointer-events:none;position:absolute;inset:0}.timeline-gridline{background:var(--border);width:1px;position:absolute;top:0;bottom:0}.timeline-lifecycle-dragline{z-index:3;cursor:ew-resize;touch-action:none;background:0 0;border:0;width:9px;padding:0;position:absolute;top:42px;bottom:0;transform:translate(-4px)}.timeline-lifecycle-dragline:before{content:"";background:color-mix(in srgb, var(--text-dim) 55%, transparent);width:1px;position:absolute;top:0;bottom:0;left:4px}.timeline-lifecycle-dragline.end:before{background:#ffb020ad}.timeline-lifecycle-dragline:hover:before,.timeline-lifecycle-dragline:focus-visible:before,.timeline-lifecycle-dragline.active:before{background:var(--accent);width:2px;box-shadow:0 0 5px color-mix(in srgb, var(--accent) 65%, transparent)}.timeline-lifecycle-dragline:focus-visible{outline:1px solid var(--accent);outline-offset:-1px}.timeline-ruler{z-index:7;background:var(--bg-panel-raised);border-bottom:1px solid var(--border);cursor:pointer;touch-action:none;-webkit-user-select:none;user-select:none;height:42px;position:sticky;top:0}.timeline-ruler.scrubbing{cursor:ew-resize}.timeline-ruler-tick{color:var(--text-dim);font-family:var(--mono);pointer-events:none;font-size:9px;line-height:10px;position:absolute;top:2px;transform:translate(3px)}.timeline-ruler-tick:before{content:"";background:var(--text-dim);opacity:.7;width:1px;height:5px;position:absolute;top:11px;left:-3px}.timeline-keyframe-marker{cursor:ew-resize;white-space:nowrap;height:28px;transform:translateX(calc(-2px - var(--timeline-diamond-size) / 2));align-items:center;gap:3px;padding:0 4px 0 2px;display:flex;position:absolute;top:14px}.timeline-keyframe-marker.start{cursor:default}.timeline-keyframe-marker-flag{width:var(--timeline-diamond-size);height:var(--timeline-diamond-size);background:var(--text-dim);flex:none;place-items:center;display:grid;transform:rotate(45deg)}.timeline-keyframe-loop-badge{color:#fff;width:100%;height:100%;text-shadow:0 1px 2px var(--bg-canvas);place-items:center;font-size:7.33px;font-weight:800;line-height:1;display:grid;transform:rotate(-45deg)}.timeline-keyframe-marker.active .timeline-keyframe-marker-flag{background:var(--accent)}.timeline-keyframe-marker.start .timeline-keyframe-marker-flag,.timeline-keyframe-marker.end .timeline-keyframe-marker-flag{background:#ffb020}.timeline-keyframe-marker-rename{background:var(--bg-canvas);border:1px solid var(--accent);border-radius:var(--radius-control);width:70px;color:var(--text);font:inherit;padding:1px 4px;font-size:11px}.timeline-track{border-bottom:1px solid var(--border);cursor:crosshair;touch-action:none;-webkit-user-select:none;user-select:none;height:28px;position:relative}.timeline-folder-track{border-bottom:1px solid var(--border);background:color-mix(in srgb, var(--folder-color) 7%, var(--bg-canvas));height:28px;position:relative}.timeline-folder-track:after{content:"";background:color-mix(in srgb, var(--folder-color) 40%, transparent);height:1px;position:absolute;top:50%;left:0;right:0}.timeline-track.selected{box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--layer-color) 55%, transparent)}.timeline-track:nth-child(odd){background:#ffffff04}.timeline-property-track{background:#00000014;height:28px}.timeline-property-track .timeline-keyframe-dot{width:var(--timeline-diamond-size);height:var(--timeline-diamond-size)}.timeline-layer-span.property{opacity:.78}.timeline-advanced-section{border-top:1px solid var(--border);padding-top:6px}.timeline-advanced-section>summary,.timeline-loop-editor>summary,.timeline-loop-advanced>summary,.timeline-loop-danger>summary{color:var(--text-dim);cursor:pointer;-webkit-user-select:none;user-select:none;font-size:10px}.timeline-advanced-section[open]>summary,.timeline-loop-editor[open]>summary,.timeline-loop-advanced[open]>summary,.timeline-loop-danger[open]>summary{color:var(--text-heading);margin-bottom:7px}.timeline-track-actions{grid-template-columns:repeat(2,minmax(0,1fr));gap:4px;display:grid}.timeline-track-actions button{min-width:0;min-height:24px;padding:3px 5px;font-size:10px}.timeline-track-scale{color:var(--text-dim);grid-column:1/-1;grid-template-columns:auto minmax(0,1fr) auto auto;align-items:center;gap:4px;font-size:10px;display:grid}.timeline-key-editor .timeline-track-scale input{width:100%;height:24px;padding:2px 5px}.easing-curve-editor{border-left:1px solid var(--border);align-items:center;gap:6px;padding-left:8px;display:flex}.timeline-key-editor .easing-curve-editor{border-top:1px solid var(--border);border-left:0;grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:4px;padding:6px 0 0;display:grid}.easing-curve-editor svg{touch-action:none;flex:none;width:150px;height:72px}.timeline-key-editor .easing-curve-editor svg{grid-column:1/3;width:100%;height:82px;max-height:82px}.easing-curve-grid{fill:#0000002e;stroke:var(--border)}.easing-curve-path{fill:none;stroke:var(--accent);stroke-width:2px}.easing-curve-handle-line{stroke:var(--text-dim);stroke-width:1px}.easing-curve-handle{fill:var(--accent);stroke:#fff;stroke-width:1.5px;cursor:move}.easing-curve-actions,.easing-curve-values{gap:3px;display:grid}.timeline-key-editor .easing-curve-actions button{white-space:nowrap;height:24px;padding:2px 7px;line-height:1}.easing-curve-values{grid-template-columns:repeat(2,auto)}.easing-curve-values label{color:var(--text-dim);align-items:center;gap:2px;font-size:9px;display:flex}.easing-curve-values input{width:48px;padding:2px 3px}.timeline-key-editor .easing-curve-values{grid-template-columns:repeat(2,minmax(0,1fr));gap:2px 4px}.timeline-key-editor .easing-curve-values label{grid-template-columns:16px minmax(0,1fr);display:grid}.timeline-key-editor .easing-curve-values input{box-sizing:border-box;width:100%;height:24px;padding:1px 4px}.timeline-keyframe-dot{width:var(--timeline-diamond-size);height:var(--timeline-diamond-size);background:var(--layer-color);border:1px solid color-mix(in srgb, var(--layer-color) 70%, white);cursor:ew-resize;z-index:4;box-shadow:0 0 5px color-mix(in srgb, var(--layer-color) 50%, transparent);position:absolute;top:50%;transform:translate(-50%,-50%)rotate(45deg)}.timeline-keyframe-dot.active{box-shadow:0 0 0 1.22px var(--bg-canvas), 0 0 0 1.83px var(--layer-color), 0 0 4.89px var(--layer-color);border-color:#fff}.timeline-multi-key-selection{border:1px solid color-mix(in srgb, var(--accent) 45%, var(--border));border-radius:var(--radius-control);background:color-mix(in srgb, var(--accent) 9%, transparent);color:var(--text-dim);gap:2px;padding:6px 8px;font-size:10px;display:grid}.timeline-multi-key-selection strong{color:var(--text-heading)}.timeline-keyframe-dot:focus-visible{outline-offset:1.83px;outline:1.22px solid #fff}.timeline-property-loop-activation{pointer-events:none}.timeline-layer-loop-badge{color:#fff;text-shadow:0 1px 2px var(--bg-canvas);pointer-events:none;place-items:center;font-size:7.33px;font-weight:800;line-height:1;display:grid;position:absolute;inset:0;transform:rotate(-45deg)}.timeline-layer-span{background:color-mix(in srgb, var(--layer-color) 34%, var(--bg-canvas));border:1px solid color-mix(in srgb, var(--text-dim) 62%, transparent);pointer-events:auto;z-index:1;position:absolute;top:0;bottom:0;overflow:hidden}.timeline-hover-details{z-index:11000;border:1px solid var(--border-strong);width:max-content;max-width:min(360px,100vw - 16px);color:var(--text-heading);font:11px/1.4 var(--sans);pointer-events:none;background:#202020;border-radius:3px;padding:7px 9px;position:fixed;box-shadow:0 4px 16px #0006}.timeline-playhead{pointer-events:none;z-index:8;width:2px;position:absolute;top:0;bottom:0}.timeline-playhead:before{content:"";background:var(--accent);width:2px;box-shadow:0 0 4px color-mix(in srgb, var(--accent) 55%, transparent);position:absolute;inset:0}.timeline-playhead-handle{cursor:ew-resize;pointer-events:auto;touch-action:none;background:0 0;border:0;width:12px;height:auto;padding:0;position:absolute;top:0;bottom:0;left:50%;transform:translate(-50%)}.timeline-playhead-handle:before{content:"";background:var(--accent);clip-path:polygon(0 0,100% 0,100% 68%,50% 100%,0 68%);filter:drop-shadow(0 1px 2px #000000a6);width:12px;height:15px;position:absolute;top:1px;left:0}.timeline-playhead-handle:hover:before,.timeline-playhead.scrubbing .timeline-playhead-handle:before{background:color-mix(in srgb, var(--accent) 75%, white)}.timeline-playhead-handle:focus-visible{outline:1px dashed color-mix(in srgb, var(--accent) 70%, white);outline-offset:1px}.timeline-loop-editor{border-top:1px solid var(--border);margin-top:10px;padding-top:10px}.timeline-loop-editor-content{gap:8px;display:grid}.timeline-loop-editor-heading,.timeline-loop-actions{justify-content:space-between;align-items:center;gap:5px;display:flex}.timeline-loop-editor-heading button.active{color:#7ff0ad;border-color:#42b874}.timeline-loop-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:5px;display:grid}.timeline-loop-grid label{color:var(--text-dim);gap:2px;font-size:10px;display:grid}.timeline-loop-grid input,.timeline-loop-grid select{box-sizing:border-box;width:100%;min-width:0}.timeline-loop-advanced,.timeline-loop-danger{border-top:1px solid var(--border);padding-top:6px}.timeline-loop-advanced label{color:var(--text-dim);gap:3px;font-size:10px;display:grid}.timeline-loop-advanced input{box-sizing:border-box;width:100%}.timeline-loop-keys{gap:4px;display:grid}.timeline-loop-key{grid-template-columns:48px 70px minmax(90px,1fr) 26px;align-items:center;gap:4px;display:grid}.timeline-loop-key.header{color:var(--text-dim);font-size:9px}.timeline-loop-key input,.timeline-loop-key select{box-sizing:border-box;width:100%;min-width:0;height:24px;padding:1px 4px}.timeline-loop-actions{flex-wrap:wrap;justify-content:flex-start}.timeline-loop-actions .danger{color:#ff9298;margin-left:auto}.resize-handle{z-index:5;touch-action:none;background:0 0;position:relative}.resize-handle:before{content:"";background:0 0;position:absolute}.resize-handle:after{content:"";background:0 0;border-radius:2px;position:absolute;inset:0}.resize-handle:hover:after,body.is-resizing .resize-handle:after{background:var(--accent)}.resize-handle-col{cursor:col-resize}.resize-handle-col:before{inset:0 -3px}.resize-handle-row{cursor:row-resize}.resize-handle-row:before{inset:-3px 0}.dock-workspace{flex:1;min-width:0;min-height:0;display:grid;position:relative;overflow:hidden}.dock-center{z-index:1;isolation:isolate;grid-area:3/3;min-width:0;min-height:0;display:flex;position:relative}.dock-center>*{flex:1;min-width:0;min-height:0}.dock-region{z-index:2;background:var(--bg-panel);gap:0;min-width:0;min-height:0;display:flex;position:relative;overflow:hidden}.dock-region-left{grid-area:3/1}.dock-region-right{grid-area:3/5}.dock-region-top{grid-area:1/1/auto/-1}.dock-region-bottom{grid-area:5/1/auto/-1}.dock-region.vertical{flex-direction:column}.dock-region.horizontal{flex-direction:row}.dock-group-resize-handle{z-index:7;touch-action:none;flex:none;position:relative}.dock-group-resize-handle:before,.dock-group-resize-handle:after{content:"";position:absolute}.dock-group-resize-handle:after{background:var(--border);border-radius:0;inset:0}.dock-group-resize-handle.row{height:var(--panel-divider-size);cursor:row-resize}.dock-group-resize-handle.row:before{inset:-4px 0}.dock-group-resize-handle.col{width:var(--panel-divider-size);cursor:col-resize}.dock-group-resize-handle.col:before{inset:0 -4px}.dock-group-resize-handle:hover:after,body.is-resizing .dock-group-resize-handle:after{background:var(--accent)}.dock-group{background:var(--bg-panel);border:1px solid var(--border);border-radius:0;flex-direction:column;flex:1 1 0;min-width:0;min-height:0;display:flex;overflow:hidden}.dock-tabs{background:var(--bg-header);border-bottom:1px solid var(--border);scrollbar-width:none;flex:none;min-width:0;min-height:35px;transition:background .1s,box-shadow .1s;display:flex;overflow:auto hidden}.dock-tabs::-webkit-scrollbar{display:none}.dock-tabs.dock-drop-into-tabs{background:color-mix(in srgb, var(--accent) 15%, var(--bg-panel));box-shadow:inset 0 0 0 1px var(--accent)}.dock-tabs button{color:#989898;cursor:grab;white-space:nowrap;background:0 0;border:0;border-top:2px solid #0000;flex:none;align-items:center;gap:3px;min-width:0;height:35px;padding:0 10px;display:inline-flex;position:relative}.dock-tabs button.dock-tab-drop-before{box-shadow:inset 3px 0 0 var(--accent), inset 7px 0 8px -8px var(--accent)}.dock-tabs button.dock-tab-drop-after{box-shadow:inset -3px 0 0 var(--accent), inset -7px 0 8px -8px var(--accent)}.dock-tabs button:hover{color:#d6d6d6;background:#2d2d2d}.dock-tabs button.active{color:#fff;background:var(--bg-panel-raised);border-top-color:var(--accent)}.dock-tabs button:active{cursor:grabbing}.dock-tabs .dock-pane-close{color:var(--text-dim);background:var(--bg-header);border-left:1px solid var(--border);cursor:pointer;border-bottom:0;flex:0 0 32px;justify-content:center;margin-left:auto;padding:0;font-size:16px;position:sticky;right:0}.dock-tabs .dock-pane-close:hover{color:var(--text-heading);background:var(--bg-panel-raised)}.dock-tabs .dock-pane-close:active{cursor:pointer}.dock-tab-grip{color:var(--text-dim);cursor:grab;font-size:10px}.dock-tab-grip:active{cursor:grabbing}body.is-reordering-dock-tab,body.is-reordering-dock-tab *{cursor:grabbing!important;-webkit-user-select:none!important;user-select:none!important}.dock-group-content,.dock-pane-content{flex:1;min-width:0;min-height:0}.dock-group-content{display:flex}.dock-pane-content{display:none}.dock-pane-content.active{display:flex}.dock-pane-content>.panel,.dock-pane-content>.agent-chat-panel{border:0;border-radius:0;flex:1;min-width:0;min-height:0}.dock-pane-content>.panel>.panel-title{display:none}.dock-pane-content>.agent-chat-panel{border-top:0}.dock-floating-pane{z-index:20;resize:both;background:var(--bg-panel);border:1px solid var(--border-strong);border-radius:2px;flex-direction:column;min-width:240px;max-width:calc(100% - 12px);min-height:160px;max-height:calc(100% - 12px);display:flex;position:absolute;overflow:hidden;box-shadow:0 12px 36px #00000073}.dock-floating-title{height:32px;color:var(--text-heading);background:var(--bg-header);border-top:2px solid var(--accent);border-bottom:1px solid var(--border);cursor:move;-webkit-user-select:none;user-select:none;flex:none;justify-content:space-between;align-items:center;padding:0 4px 0 10px;display:flex}.dock-floating-title strong{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.dock-floating-title>div{gap:2px;display:flex}.dock-floating-title button{width:24px;height:24px;color:var(--text-dim);border-radius:var(--radius-control);cursor:pointer;background:0 0;border:0;padding:0}.dock-floating-title select{width:54px;height:24px;color:var(--text-dim);border-radius:var(--radius-control);cursor:pointer;background:0 0;border:0;padding:0 2px;font-size:10px}.dock-floating-title button:hover,.dock-floating-title select:hover{color:var(--text);background:var(--bg-panel-raised)}.dock-floating-content{display:flex}body.is-moving-dock-pane,body.is-moving-dock-pane *{cursor:move!important;-webkit-user-select:none!important;user-select:none!important}.dock-hints{z-index:100;pointer-events:none;position:absolute;inset:0}.dock-hint-cluster{pointer-events:none;z-index:1;grid-template-rows:repeat(3,44px);grid-template-columns:repeat(3,44px);gap:5px;width:142px;height:142px;display:grid;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.dock-hint{color:var(--text-dim);background:color-mix(in srgb, var(--bg-panel) 92%, transparent);border:1px solid color-mix(in srgb, var(--text-dim) 55%, transparent);pointer-events:auto;border-radius:2px;place-items:center;display:grid;box-shadow:0 4px 14px #0000004d}.dock-hint:hover,.dock-hint.active{color:var(--text-heading);background:color-mix(in srgb, var(--accent) 24%, var(--bg-panel));border-color:var(--accent)}.dock-hint-top{grid-area:1/2}.dock-hint-left{grid-area:2/1}.dock-hint-float{grid-area:2/2}.dock-hint-right{grid-area:2/3}.dock-hint-bottom{grid-area:3/2}.dock-target-icon{opacity:.9;border:1px solid;border-radius:2px;width:25px;height:20px;display:block;position:relative}.dock-target-icon i{opacity:.55;background:currentColor;display:block;position:absolute}.dock-target-icon.left i{width:38%;inset:0 auto 0 0}.dock-target-icon.right i{width:38%;inset:0 0 0 auto}.dock-target-icon.top i{height:38%;inset:0 0 auto}.dock-target-icon.bottom i{height:38%;inset:auto 0 0}.dock-target-icon.float{width:21px;height:17px;box-shadow:4px 4px 0 -1px var(--bg-panel), 4px 4px 0 0 currentColor;transform:translate(-2px,-2px)}.dock-target-icon.float i{display:none}.dock-drop-preview{z-index:0;background:color-mix(in srgb, var(--accent) 26%, transparent);border:2px solid color-mix(in srgb, var(--accent) 82%, transparent);pointer-events:none;border-radius:2px;position:absolute}.dock-drop-preview.left{inset:4px 75% 4px 4px}.dock-drop-preview.right{inset:4px 4px 4px 75%}.dock-drop-preview.top{inset:4px 4px 75%}.dock-drop-preview.bottom{inset:75% 4px 4px}.dock-workspace.has-bottom-dock .dock-drop-preview.bottom{inset:calc(100% - var(--dock-bottom-size)) 4px var(--dock-bottom-preview-size)}.dock-drop-preview.float{background:color-mix(in srgb, var(--accent) 10%, var(--bg-panel));width:min(380px,60%);height:min(440px,70%);top:50%;left:50%;transform:translate(-50%,-50%)}.dock-edge-hints{background:#06090e2e}.dock-edge-hint{z-index:1;width:92px;height:58px;color:var(--text-heading);background:color-mix(in srgb, var(--accent) 28%, var(--bg-panel));border:1px solid var(--accent);box-shadow:0 5px 18px #00000061, 0 0 0 3px color-mix(in srgb, var(--accent) 16%, transparent);pointer-events:none;border-radius:2px;flex-direction:column;justify-content:center;align-items:center;gap:4px;animation:.1s ease-out dock-edge-hint-in;display:flex;position:absolute}.dock-edge-hint>span:last-child{text-transform:uppercase;font-size:10px;font-weight:700;line-height:1}.dock-edge-hint.left{top:50%;left:18px;transform:translateY(-50%)}.dock-edge-hint.right{top:50%;right:18px;transform:translateY(-50%)}.dock-edge-hint.top{top:18px;left:50%;transform:translate(-50%)}.dock-edge-hint.bottom{bottom:18px;left:50%;transform:translate(-50%)}@keyframes dock-edge-hint-in{0%{opacity:0;scale:.88}to{opacity:1;scale:1}}.app-shell{background:var(--bg-app);flex-direction:column;gap:0;height:100vh;padding:0;display:flex}.app-shell>.menubar{z-index:3;flex:none;position:relative}
