.react-flow{--xy-edge-stroke-default:#b1b1b7;--xy-edge-stroke-width-default:1;--xy-edge-stroke-selected-default:#555;--xy-connectionline-stroke-default:#b1b1b7;--xy-connectionline-stroke-width-default:1;--xy-attribution-background-color-default:#ffffff80;--xy-minimap-background-color-default:#fff;--xy-minimap-mask-background-color-default:#f0f0f099;--xy-minimap-mask-stroke-color-default:transparent;--xy-minimap-mask-stroke-width-default:1;--xy-minimap-node-background-color-default:#e2e2e2;--xy-minimap-node-stroke-color-default:transparent;--xy-minimap-node-stroke-width-default:2;--xy-background-color-default:transparent;--xy-background-pattern-dots-color-default:#91919a;--xy-background-pattern-lines-color-default:#eee;--xy-background-pattern-cross-color-default:#e2e2e2;background-color:var(--xy-background-color,var(--xy-background-color-default));--xy-node-color-default:inherit;--xy-node-border-default:1px solid #1a192b;--xy-node-background-color-default:#fff;--xy-node-group-background-color-default:#f0f0f040;--xy-node-boxshadow-hover-default:0 1px 4px 1px #00000014;--xy-node-boxshadow-selected-default:0 0 0 .5px #1a192b;--xy-node-border-radius-default:3px;--xy-handle-background-color-default:#1a192b;--xy-handle-border-color-default:#fff;--xy-selection-background-color-default:#0059dc14;--xy-selection-border-default:1px dotted #0059dccc;--xy-controls-button-background-color-default:#fefefe;--xy-controls-button-background-color-hover-default:#f4f4f4;--xy-controls-button-color-default:inherit;--xy-controls-button-color-hover-default:inherit;--xy-controls-button-border-color-default:#eee;--xy-controls-box-shadow-default:0 0 2px 1px #00000014;--xy-edge-label-background-color-default:#fff;--xy-edge-label-color-default:inherit;--xy-resize-background-color-default:#3367d9;direction:ltr}.react-flow.dark{--xy-edge-stroke-default:#3e3e3e;--xy-edge-stroke-width-default:1;--xy-edge-stroke-selected-default:#727272;--xy-connectionline-stroke-default:#b1b1b7;--xy-connectionline-stroke-width-default:1;--xy-attribution-background-color-default:#96969640;--xy-minimap-background-color-default:#141414;--xy-minimap-mask-background-color-default:#3c3c3c99;--xy-minimap-mask-stroke-color-default:transparent;--xy-minimap-mask-stroke-width-default:1;--xy-minimap-node-background-color-default:#2b2b2b;--xy-minimap-node-stroke-color-default:transparent;--xy-minimap-node-stroke-width-default:2;--xy-background-color-default:#141414;--xy-background-pattern-dots-color-default:#777;--xy-background-pattern-lines-color-default:#777;--xy-background-pattern-cross-color-default:#777;--xy-node-color-default:#f8f8f8;--xy-node-border-default:1px solid #3c3c3c;--xy-node-background-color-default:#1e1e1e;--xy-node-group-background-color-default:#f0f0f040;--xy-node-boxshadow-hover-default:0 1px 4px 1px #ffffff14;--xy-node-boxshadow-selected-default:0 0 0 .5px #999;--xy-handle-background-color-default:#bebebe;--xy-handle-border-color-default:#1e1e1e;--xy-selection-background-color-default:#c8c8dc14;--xy-selection-border-default:1px dotted #c8c8dccc;--xy-controls-button-background-color-default:#2b2b2b;--xy-controls-button-background-color-hover-default:#3e3e3e;--xy-controls-button-color-default:#f8f8f8;--xy-controls-button-color-hover-default:#fff;--xy-controls-button-border-color-default:#5b5b5b;--xy-controls-box-shadow-default:0 0 2px 1px #00000014;--xy-edge-label-background-color-default:#141414;--xy-edge-label-color-default:#f8f8f8}.react-flow__background{background-color:var(--xy-background-color-props,var(--xy-background-color,var(--xy-background-color-default)));pointer-events:none;z-index:-1}.react-flow__container{width:100%;height:100%;position:absolute;top:0;left:0}.react-flow__pane{z-index:1}.react-flow__pane.draggable{cursor:grab}.react-flow__pane.dragging{cursor:grabbing}.react-flow__pane.selection{cursor:pointer}.react-flow__viewport{transform-origin:0 0;z-index:2;pointer-events:none}.react-flow__renderer{z-index:4}.react-flow__selection{z-index:6}.react-flow__nodesselection-rect:focus,.react-flow__nodesselection-rect:focus-visible{outline:none}.react-flow__edge-path{stroke:var(--xy-edge-stroke,var(--xy-edge-stroke-default));stroke-width:var(--xy-edge-stroke-width,var(--xy-edge-stroke-width-default));fill:none}.react-flow__connection-path{stroke:var(--xy-connectionline-stroke,var(--xy-connectionline-stroke-default));stroke-width:var(--xy-connectionline-stroke-width,var(--xy-connectionline-stroke-width-default));fill:none}.react-flow .react-flow__edges{position:absolute}.react-flow .react-flow__edges svg{pointer-events:none;position:absolute;overflow:visible}.react-flow__edge{pointer-events:visibleStroke}.react-flow__edge.selectable{cursor:pointer}.react-flow__edge.animated path{stroke-dasharray:5;animation:.5s linear infinite dashdraw}.react-flow__edge.animated path.react-flow__edge-interaction{stroke-dasharray:none;animation:none}.react-flow__edge.inactive{pointer-events:none}.react-flow__edge.selected,.react-flow__edge:focus,.react-flow__edge:focus-visible{outline:none}.react-flow__edge.selected .react-flow__edge-path,.react-flow__edge.selectable:focus .react-flow__edge-path,.react-flow__edge.selectable:focus-visible .react-flow__edge-path{stroke:var(--xy-edge-stroke-selected,var(--xy-edge-stroke-selected-default))}.react-flow__edge-textwrapper{pointer-events:all}.react-flow__edge .react-flow__edge-text{pointer-events:none;-webkit-user-select:none;user-select:none}.react-flow__arrowhead polyline{stroke:var(--xy-edge-stroke,var(--xy-edge-stroke-default))}.react-flow__arrowhead polyline.arrowclosed{fill:var(--xy-edge-stroke,var(--xy-edge-stroke-default))}.react-flow__connection{pointer-events:none}.react-flow__connection .animated{stroke-dasharray:5;animation:.5s linear infinite dashdraw}svg.react-flow__connectionline{z-index:1001;position:absolute;overflow:visible}.react-flow__nodes{pointer-events:none;transform-origin:0 0}.react-flow__node{-webkit-user-select:none;user-select:none;pointer-events:all;transform-origin:0 0;box-sizing:border-box;cursor:default;position:absolute}.react-flow__node.selectable{cursor:pointer}.react-flow__node.draggable{cursor:grab;pointer-events:all}.react-flow__node.draggable.dragging{cursor:grabbing}.react-flow__nodesselection{z-index:3;transform-origin:0 0;pointer-events:none}.react-flow__nodesselection-rect{pointer-events:all;cursor:grab;position:absolute}.react-flow__handle{pointer-events:none;background-color:var(--xy-handle-background-color,var(--xy-handle-background-color-default));border:1px solid var(--xy-handle-border-color,var(--xy-handle-border-color-default));border-radius:100%;width:6px;min-width:5px;height:6px;min-height:5px;position:absolute}.react-flow__handle.connectingfrom{pointer-events:all}.react-flow__handle.connectionindicator{pointer-events:all;cursor:crosshair}.react-flow__handle-bottom{top:auto;bottom:0;left:50%;transform:translate(-50%,50%)}.react-flow__handle-top{top:0;left:50%;transform:translate(-50%,-50%)}.react-flow__handle-left{top:50%;left:0;transform:translate(-50%,-50%)}.react-flow__handle-right{top:50%;right:0;transform:translate(50%,-50%)}.react-flow__edgeupdater{cursor:move;pointer-events:all}.react-flow__pane.selection .react-flow__panel{pointer-events:none}.react-flow__panel{z-index:5;margin:15px;position:absolute}.react-flow__panel.top{top:0}.react-flow__panel.bottom{bottom:0}.react-flow__panel.top.center,.react-flow__panel.bottom.center{left:50%;transform:translate(-15px)translate(-50%)}.react-flow__panel.left{left:0}.react-flow__panel.right{right:0}.react-flow__panel.left.center,.react-flow__panel.right.center{top:50%;transform:translateY(-15px)translateY(-50%)}.react-flow__attribution{background:var(--xy-attribution-background-color,var(--xy-attribution-background-color-default));margin:0;padding:2px 3px;font-size:10px}.react-flow__attribution a{color:#999;text-decoration:none}@keyframes dashdraw{0%{stroke-dashoffset:10px}}.react-flow__edgelabel-renderer{pointer-events:none;-webkit-user-select:none;user-select:none;width:100%;height:100%;position:absolute;top:0;left:0}.react-flow__viewport-portal{-webkit-user-select:none;user-select:none;width:100%;height:100%;position:absolute;top:0;left:0}.react-flow__minimap{background:var(--xy-minimap-background-color-props,var(--xy-minimap-background-color,var(--xy-minimap-background-color-default)))}.react-flow__minimap-svg{display:block}.react-flow__minimap-mask{fill:var(--xy-minimap-mask-background-color-props,var(--xy-minimap-mask-background-color,var(--xy-minimap-mask-background-color-default)));stroke:var(--xy-minimap-mask-stroke-color-props,var(--xy-minimap-mask-stroke-color,var(--xy-minimap-mask-stroke-color-default)));stroke-width:var(--xy-minimap-mask-stroke-width-props,var(--xy-minimap-mask-stroke-width,var(--xy-minimap-mask-stroke-width-default)))}.react-flow__minimap-node{fill:var(--xy-minimap-node-background-color-props,var(--xy-minimap-node-background-color,var(--xy-minimap-node-background-color-default)));stroke:var(--xy-minimap-node-stroke-color-props,var(--xy-minimap-node-stroke-color,var(--xy-minimap-node-stroke-color-default)));stroke-width:var(--xy-minimap-node-stroke-width-props,var(--xy-minimap-node-stroke-width,var(--xy-minimap-node-stroke-width-default)))}.react-flow__background-pattern.dots{fill:var(--xy-background-pattern-color-props,var(--xy-background-pattern-color,var(--xy-background-pattern-dots-color-default)))}.react-flow__background-pattern.lines{stroke:var(--xy-background-pattern-color-props,var(--xy-background-pattern-color,var(--xy-background-pattern-lines-color-default)))}.react-flow__background-pattern.cross{stroke:var(--xy-background-pattern-color-props,var(--xy-background-pattern-color,var(--xy-background-pattern-cross-color-default)))}.react-flow__controls{box-shadow:var(--xy-controls-box-shadow,var(--xy-controls-box-shadow-default));flex-direction:column;display:flex}.react-flow__controls.horizontal{flex-direction:row}.react-flow__controls-button{background:var(--xy-controls-button-background-color,var(--xy-controls-button-background-color-default));border:none;border-bottom:1px solid var(--xy-controls-button-border-color-props,var(--xy-controls-button-border-color,var(--xy-controls-button-border-color-default)));width:26px;height:26px;color:var(--xy-controls-button-color-props,var(--xy-controls-button-color,var(--xy-controls-button-color-default)));cursor:pointer;-webkit-user-select:none;user-select:none;justify-content:center;align-items:center;padding:4px;display:flex}.react-flow__controls-button svg{fill:currentColor;width:100%;max-width:12px;max-height:12px}.react-flow__edge.updating .react-flow__edge-path{stroke:#777}.react-flow__edge-text{font-size:10px}.react-flow__node.selectable:focus,.react-flow__node.selectable:focus-visible{outline:none}.react-flow__node-input,.react-flow__node-default,.react-flow__node-output,.react-flow__node-group{border-radius:var(--xy-node-border-radius,var(--xy-node-border-radius-default));width:150px;color:var(--xy-node-color,var(--xy-node-color-default));text-align:center;border:var(--xy-node-border,var(--xy-node-border-default));background-color:var(--xy-node-background-color,var(--xy-node-background-color-default));padding:10px;font-size:12px}.react-flow__node-input.selectable:hover,.react-flow__node-default.selectable:hover,.react-flow__node-output.selectable:hover,.react-flow__node-group.selectable:hover{box-shadow:var(--xy-node-boxshadow-hover,var(--xy-node-boxshadow-hover-default))}.react-flow__node-input.selectable.selected,.react-flow__node-input.selectable:focus,.react-flow__node-input.selectable:focus-visible,.react-flow__node-default.selectable.selected,.react-flow__node-default.selectable:focus,.react-flow__node-default.selectable:focus-visible,.react-flow__node-output.selectable.selected,.react-flow__node-output.selectable:focus,.react-flow__node-output.selectable:focus-visible,.react-flow__node-group.selectable.selected,.react-flow__node-group.selectable:focus,.react-flow__node-group.selectable:focus-visible{box-shadow:var(--xy-node-boxshadow-selected,var(--xy-node-boxshadow-selected-default))}.react-flow__node-group{background-color:var(--xy-node-group-background-color,var(--xy-node-group-background-color-default))}.react-flow__nodesselection-rect,.react-flow__selection{background:var(--xy-selection-background-color,var(--xy-selection-background-color-default));border:var(--xy-selection-border,var(--xy-selection-border-default))}.react-flow__nodesselection-rect:focus,.react-flow__nodesselection-rect:focus-visible,.react-flow__selection:focus,.react-flow__selection:focus-visible{outline:none}.react-flow__controls-button:hover{background:var(--xy-controls-button-background-color-hover-props,var(--xy-controls-button-background-color-hover,var(--xy-controls-button-background-color-hover-default)));color:var(--xy-controls-button-color-hover-props,var(--xy-controls-button-color-hover,var(--xy-controls-button-color-hover-default)))}.react-flow__controls-button:disabled{pointer-events:none}.react-flow__controls-button:disabled svg{fill-opacity:.4}.react-flow__controls-button:last-child{border-bottom:none}.react-flow__controls.horizontal .react-flow__controls-button{border-bottom:none;border-right:1px solid var(--xy-controls-button-border-color-props,var(--xy-controls-button-border-color,var(--xy-controls-button-border-color-default)))}.react-flow__controls.horizontal .react-flow__controls-button:last-child{border-right:none}.react-flow__resize-control{position:absolute}.react-flow__resize-control.left,.react-flow__resize-control.right{cursor:ew-resize}.react-flow__resize-control.top,.react-flow__resize-control.bottom{cursor:ns-resize}.react-flow__resize-control.top.left,.react-flow__resize-control.bottom.right{cursor:nwse-resize}.react-flow__resize-control.bottom.left,.react-flow__resize-control.top.right{cursor:nesw-resize}.react-flow__resize-control.handle{background-color:var(--xy-resize-background-color,var(--xy-resize-background-color-default));border:1px solid #fff;border-radius:1px;width:5px;height:5px;translate:-50% -50%}.react-flow__resize-control.handle.left{top:50%;left:0}.react-flow__resize-control.handle.right{top:50%;left:100%}.react-flow__resize-control.handle.top{top:0;left:50%}.react-flow__resize-control.handle.bottom{top:100%;left:50%}.react-flow__resize-control.handle.top.left,.react-flow__resize-control.handle.bottom.left{left:0}.react-flow__resize-control.handle.top.right,.react-flow__resize-control.handle.bottom.right{left:100%}.react-flow__resize-control.line{border-color:var(--xy-resize-background-color,var(--xy-resize-background-color-default));border-style:solid;border-width:0}.react-flow__resize-control.line.left,.react-flow__resize-control.line.right{width:1px;height:100%;top:0;transform:translate(-50%)}.react-flow__resize-control.line.left{border-left-width:1px;left:0}.react-flow__resize-control.line.right{border-right-width:1px;left:100%}.react-flow__resize-control.line.top,.react-flow__resize-control.line.bottom{width:100%;height:1px;left:0;transform:translateY(-50%)}.react-flow__resize-control.line.top{border-top-width:1px;top:0}.react-flow__resize-control.line.bottom{border-bottom-width:1px;top:100%}.react-flow__edge-textbg{fill:var(--xy-edge-label-background-color,var(--xy-edge-label-background-color-default))}.react-flow__edge-text{fill:var(--xy-edge-label-color,var(--xy-edge-label-color-default))}:root{--left-panel-width:260px;--right-panel-width:328px;--timeline-dock-height:164px;color:#e5e7eb;font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:#101114;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}body{min-width:320px;min-height:100vh;margin:0;overflow:hidden}button,input,select,textarea{font:inherit}button{color:#e5e7eb;cursor:pointer;background:#1a1d22;border:1px solid #30343b}button:disabled{cursor:not-allowed;opacity:.45}button:hover{background:#23272f}.toolbar-button[data-active=true]{background:#ffffff1f;border-color:#ffffff3d}input{color:#f3f4f6;background:#111318;border:1px solid #30343b;width:100%;padding:6px 8px}input[type=number]{appearance:textfield}input[type=number]::-webkit-outer-spin-button{appearance:none;margin:0}input[type=number]::-webkit-inner-spin-button{appearance:none;margin:0}.number-scrub-input{grid-template-columns:minmax(0,1fr) 22px;width:100%;display:grid}.number-scrub-input input{border-right:0;min-width:0}.number-scrub-handle{cursor:ew-resize;background:#111318;border-left:0;width:22px;min-width:22px;padding:0;position:relative}.number-scrub-handle:before,.number-scrub-handle:after{content:"";border-left:4px solid #0000;border-right:4px solid #0000;width:0;height:0;position:absolute;left:50%;transform:translate(-50%)}.number-scrub-handle:before{border-bottom:4px solid #ffffffb8;top:7px}.number-scrub-handle:after{border-top:4px solid #ffffffb8;bottom:7px}.number-scrub-handle:hover{background:#1a1d22}.number-scrubbing,.number-scrubbing *{-webkit-user-select:none;user-select:none}select{color:#f3f4f6;background:#111318;border:1px solid #30343b;width:100%;padding:6px 8px}textarea{resize:vertical;color:#f3f4f6;background:#111318;border:1px solid #30343b;width:100%;min-height:72px;padding:6px 8px}.app-shell{width:100vw;height:100vh;position:relative}.app-shell>.viewport{position:absolute;inset:0}.viewport-fps-counter{z-index:28;color:#ffffffb8;text-align:center;pointer-events:none;background:#121316f5;border:1px solid #ffffff14;border-radius:12px;min-width:64px;height:24px;padding:0 8px;font-size:11px;line-height:22px;position:fixed;bottom:16px;right:16px}.direct-raster-profile-panel{z-index:28;color:#ffffffb8;background:#121316f5;border:1px solid #ffffff14;border-radius:12px;align-items:center;gap:6px;height:24px;padding:0 6px 0 10px;font-size:11px;line-height:22px;display:flex;position:fixed;bottom:16px;right:88px}.direct-raster-profile-panel button{color:#ffffffd1;background:#ffffff1f;border:0;border-radius:9px;height:18px;padding:0 7px;font-size:10px;line-height:18px}.direct-raster-profile-panel button:hover{background:#ffffff2e}.direct-raster-debug{z-index:28;color:#ffffffc7;pointer-events:none;white-space:nowrap;background:#121316f5;border:1px solid #30a9ff47;border-radius:8px;max-width:360px;padding:8px 10px;font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:10px;line-height:1.45;position:fixed;bottom:48px;right:16px}.toolbar{left:50%;bottom:calc(var(--timeline-dock-height) + 16px);z-index:30;pointer-events:none;flex-direction:column;justify-content:center;align-items:center;gap:8px;display:flex;position:fixed;transform:translate(-50%)}.toolbar-shell{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);pointer-events:auto;background:#121316f5;border:1px solid #30333a;border-radius:20px;align-items:center;gap:8px;min-height:48px;padding:8px;display:flex;box-shadow:0 12px 32px #0000006b}.debug-activity-stack{z-index:100;pointer-events:none;flex-direction:column;align-items:stretch;gap:8px;width:min(620px,100vw - 32px);display:flex;position:fixed;top:16px;left:50%;transform:translate(-50%)}.blocking-overlay{z-index:90;cursor:wait;pointer-events:auto;background:#80808080;position:fixed;inset:0}.debug-activity{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);pointer-events:none;background:#121316f5;border:1px solid #30333a;border-radius:20px;grid-template-columns:20px minmax(0,1fr) auto;align-items:center;gap:10px;min-height:48px;padding:7px 14px 7px 12px;animation:.16s ease-out debug-activity-enter;display:grid;box-shadow:0 12px 32px #0000006b}.debug-activity-indicator{border:2px solid #68b1ff4d;border-top-color:#68b1ff;border-radius:50%;justify-self:center;width:10px;height:10px;animation:.7s linear infinite debug-activity-spin}.debug-activity[data-status=success] .debug-activity-indicator{background:#67d39b;border:0;animation:none}.debug-activity[data-status=warning] .debug-activity-indicator{background:#f2c94c;border:0;animation:none}.debug-activity[data-status=error] .debug-activity-indicator{background:#ff6b72;border:0;animation:none}.debug-activity-copy{min-width:0}.debug-activity-title{color:#f2f3f5;align-items:baseline;gap:8px;font-size:12px;line-height:16px;display:flex}.debug-activity-title span{color:#737984;letter-spacing:.08em;font-size:9px;font-weight:700}.debug-activity-detail{color:#9ca2ac;text-overflow:ellipsis;white-space:nowrap;font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:10px;line-height:14px;overflow:hidden}.debug-activity time{color:#858b95;font-variant-numeric:tabular-nums;font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:10px}@keyframes debug-activity-enter{0%{opacity:0;transform:translateY(-8px)}}@keyframes debug-activity-spin{to{transform:rotate(360deg)}}.toolbar-tool-anchor,.toolbar-menu-anchor,.toolbar-category{align-items:center;gap:8px;display:flex;position:relative}.toolbar-icon-button,.toolbar-chevron-button{height:32px;color:var(--toolbar-item-color,#fff);background:0 0;border:0;border-radius:16px;justify-content:center;align-items:center;padding:0;display:inline-flex}.toolbar-icon-button{width:32px}.toolbar-chevron-button{width:16px}.toolbar-icon-button:hover,.toolbar-chevron-button:hover,.toolbar-icon-button[data-open=true],.toolbar-chevron-button[data-open=true]{background:#292c32}.toolbar-icon-button[data-active=true]{color:#000;background:#f4f4f4}.toolbar-icon-button:disabled,.toolbar-chevron-button:disabled{opacity:.5}.toolbar-icon{width:32px;height:32px;-webkit-mask:var(--toolbar-icon-url) center / contain no-repeat;-webkit-mask:var(--toolbar-icon-url) center / contain no-repeat;mask:var(--toolbar-icon-url) center / contain no-repeat;pointer-events:none;background:currentColor;flex:none;display:block}.toolbar-chevron-button .toolbar-icon{width:12px;height:12px}.toolbar-icon-placeholder{border:1px solid #d8dbe1;border-radius:2px;width:12px;height:12px}.toolbar-separator{background:#35383f;width:1px;height:32px;margin:0}.toolbar-popover{z-index:80;background:#121418fc;border:1px solid #343840;border-radius:8px;min-width:176px;padding:4px;display:grid;position:absolute;bottom:calc(100% + 8px);left:50%;overflow:hidden;transform:translate(-50%);box-shadow:0 14px 34px #00000080}.toolbar-popover button{min-height:30px;color:var(--toolbar-item-color,#fff);text-align:left;background:0 0;border:0;border-radius:4px;align-items:center;gap:9px;padding:0 8px;display:flex}.toolbar-popover button:hover{background:#292d34}.toolbar-popover button:disabled{opacity:.5}.toolbar-category-menu{left:20px}.toolbar-settings-panel{z-index:75;background:#121418fc;border:1px solid #343840;border-radius:8px;gap:10px;width:220px;padding:10px;display:grid;position:absolute;bottom:calc(100% + 10px);left:50%;transform:translate(-50%);box-shadow:0 14px 34px #00000080}.toolbar-field{color:#c9cdd5;grid-template-columns:48px minmax(0,1fr) 52px;align-items:center;gap:8px;font-size:11px;display:grid}.toolbar-field input[type=color]{grid-column:2/4;height:28px;padding:2px}.toolbar-number{height:28px;padding:4px 6px}.toolbar-media-timeline{pointer-events:auto;background:#121316f5;border:1px solid #30333a;border-radius:20px;grid-template-columns:32px minmax(180px,280px) 44px;align-items:center;height:40px;padding:3px;display:grid;overflow:hidden;box-shadow:0 12px 32px #0000006b}.toolbar-media-timeline button{border:0;border-radius:50%;width:30px;height:30px}.toolbar-media-play span{border-top:5px solid #0000;border-bottom:5px solid #0000;border-left:8px solid #e8eaee;width:0;height:0;margin-left:2px;display:block}.toolbar-media-play span[data-playing=true]{border:0;border-left:3px solid #e8eaee;border-right:3px solid #e8eaee;width:8px;height:10px;margin-left:0}.toolbar-waveform{opacity:.5;cursor:crosshair;touch-action:none;background:repeating-linear-gradient(90deg,#0000 0 3px,#393d44 3px 4px);height:24px;position:relative;overflow:hidden}.toolbar-media-range{background:#ffffff0f;border:1px solid #777c86;position:absolute;top:2px;bottom:2px}.toolbar-media-playhead{pointer-events:none;background:#f4f4f4;width:1px;position:absolute;top:0;bottom:0}.toolbar-time{color:#777c86;text-align:right;padding-right:5px;font-size:9px;line-height:1.1;display:grid}.toolbar-time strong{color:#c4c8cf;font-weight:500}.viewport[data-cursor-tool=true],.viewport[data-cursor-tool=true] canvas{cursor:crosshair}.viewport[data-brush-cursor=true],.viewport[data-brush-cursor=true] canvas{cursor:none}.viewport-brush-cursor{z-index:26;opacity:0;pointer-events:none;mix-blend-mode:difference;will-change:transform, width, height, opacity;border:1px solid #fff;border-radius:50%;position:absolute;top:0;left:0}.actions-menu{z-index:120;background:#121316f5;border:1px solid #2b2f36;border-radius:8px;gap:2px;width:220px;padding:6px;display:grid;box-shadow:0 12px 28px #00000073}.actions-menu-root{scrollbar-color:#3a404a #121418;scrollbar-width:thin;max-height:min(620px,100vh - 140px);position:absolute;bottom:calc(100% + 8px);right:0;overflow:hidden auto}.actions-menu-submenu{z-index:121;scrollbar-color:#3a404a #121418;scrollbar-width:thin;max-height:calc(100vh - 16px);display:grid;position:fixed;overflow-y:auto}.actions-menu-root::-webkit-scrollbar{width:10px}.actions-menu-submenu::-webkit-scrollbar{width:10px}.actions-menu-root::-webkit-scrollbar-track{background:#121418}.actions-menu-submenu::-webkit-scrollbar-track{background:#121418}.actions-menu-root::-webkit-scrollbar-thumb{background:#3a404a;border:2px solid #121418;border-radius:999px}.actions-menu-submenu::-webkit-scrollbar-thumb{background:#3a404a;border:2px solid #121418;border-radius:999px}.actions-menu-root::-webkit-scrollbar-thumb:hover{background:#505866}.actions-menu-submenu::-webkit-scrollbar-thumb:hover{background:#505866}.actions-menu-action,.actions-menu-category{text-align:left;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:12px;width:100%;min-height:30px;padding:0 8px;display:grid}.actions-menu-action:disabled{opacity:.42}.actions-menu-kind{color:#9ca3af;font-size:10px}.toolbar-title{margin-right:12px;font-size:14px;font-weight:700}.toolbar-button{border-radius:4px;justify-content:center;align-items:center;gap:6px;min-width:34px;height:30px;padding:0 8px;display:inline-flex}.toolbar-button:disabled{opacity:.35}.toolbar-button[data-open=true]{background:#ffffff1f;border-color:#ffffff3d}.toolbar-tooltip-panel{z-index:40;background:#121316f5;border:1px solid #2b2f36;border-radius:12px;gap:8px;width:180px;padding:10px;display:grid;position:absolute;bottom:calc(100% + 10px);left:50%;transform:translate(-50%);box-shadow:0 12px 28px #00000073}.panel{z-index:15;min-width:0;max-height:calc(100vh - var(--timeline-dock-height) - 32px);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#121316f5;border:1px solid #2b2f36;border-radius:14px;position:fixed;top:16px;overflow:auto;box-shadow:0 12px 32px #0000006b}.left-panel{width:var(--left-panel-width);top:76px;left:16px}.left-toolbar-panel{z-index:18;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#121316f5;border:1px solid #30333a;border-radius:20px;align-items:center;gap:8px;min-height:48px;padding:8px;display:flex;position:fixed;top:16px;left:16px;box-shadow:0 12px 32px #0000006b}.left-toolbar-menu-anchor{display:flex;position:relative}.left-toolbar-button{background:0 0;border:0;border-radius:16px;flex:0 0 32px;justify-content:center;align-items:center;width:32px;min-width:32px;height:32px;padding:0;display:inline-flex}.left-toolbar-button:hover,.left-toolbar-button[data-open=true]{background:#292c32}.left-toolbar-button[data-active=true]{background:#f4f4f4}.left-toolbar-button[data-active=true] .left-panel-icon{filter:invert()}.left-toolbar-logo-button .left-panel-icon{width:32px;height:32px}.left-toolbar-logo-button{flex:0 0 32px;width:32px;min-width:32px;padding:0}.left-toolbar-account-button .account-avatar{width:24px;height:24px}.left-toolbar-project-button{flex:none;width:auto;min-width:32px;max-width:220px;padding:0 10px}.left-toolbar-save-status{border-radius:16px;justify-content:center;align-items:center;width:32px;min-width:32px;height:32px;display:inline-flex;position:relative}.left-toolbar-save-indicator{border:2px solid #8b9099;border-radius:50%;width:10px;height:10px}.left-toolbar-save-status[data-status=saving] .left-toolbar-save-indicator{border-color:#0000 #ff6685 #ff6685;animation:.7s linear infinite debug-activity-spin}.left-toolbar-save-status[data-status=saved] .left-toolbar-save-indicator{background:#63d9a5;border-color:#63d9a5}.left-toolbar-save-status[data-status=error] .left-toolbar-save-indicator{background:#ff6685;border-color:#ff6685}.left-toolbar-save-tooltip{z-index:90;visibility:hidden;color:#c7cbd2;opacity:0;pointer-events:none;white-space:normal;background:#121418fc;border:1px solid #343840;border-radius:8px;width:max-content;max-width:420px;padding:8px 10px;font-size:11px;line-height:1.4;transition:opacity .12s,transform .12s,visibility .12s;position:absolute;top:calc(100% + 8px);left:50%;transform:translate(-50%)translateY(-3px);box-shadow:0 12px 30px #0000007a}.left-toolbar-save-status:hover .left-toolbar-save-tooltip,.left-toolbar-save-status:focus-visible .left-toolbar-save-tooltip{visibility:visible;opacity:1;transform:translate(-50%)translateY(0)}.left-toolbar-project-button-label{text-overflow:ellipsis;white-space:nowrap;color:#f2f3f5;font-size:12px;font-weight:600;overflow:hidden}.left-toolbar-project-button[data-open=true] .left-toolbar-project-button-label{color:#fff}.left-toolbar-separator{background:#35383f;width:1px;height:32px}.left-panel-icon,.object-type-icon{object-fit:contain;pointer-events:none;width:32px;height:32px}.left-panel-icon-placeholder{border:1px solid #d8dbe1;border-radius:2px;width:14px;height:14px}.left-toolbar-popover{z-index:80;background:#121418fc;border:1px solid #343840;border-radius:8px;min-width:176px;padding:4px;display:grid;position:absolute;top:calc(100% + 8px);left:0;overflow:visible;box-shadow:0 14px 34px #00000080}.left-toolbar-popover button{text-align:left;background:0 0;border:0;border-radius:4px;align-items:center;min-height:30px;padding:0 8px;display:flex}.left-toolbar-menu-meta{color:#8f949e;margin-left:auto;padding-left:18px;font-size:11px}.left-toolbar-menu-separator{background:#343840;height:1px;margin:4px}.left-toolbar-submenu-anchor{position:relative}.left-toolbar-submenu-anchor>button{width:100%}.left-toolbar-projects-submenu{min-width:210px;top:-4px;left:calc(100% + 6px)}.left-toolbar-projects-submenu:before{content:"";width:7px;height:100%;position:absolute;top:0;right:100%}.left-toolbar-projects-submenu button[data-active=true]{background:#24272d}.left-toolbar-project-name{text-overflow:ellipsis;white-space:nowrap;max-width:145px;overflow:hidden}.left-toolbar-popover button:hover{background:#292d34}.project-launcher{background:#08090b;place-items:center;min-height:100vh;padding:32px;display:grid}.project-launcher-card{width:min(560px,100%)}.project-launcher-brand{color:#f2f3f5;letter-spacing:-.04em;margin-bottom:32px;font-size:32px;font-weight:700}.account-menu-anchor{z-index:20;position:fixed;top:24px;right:24px}.account-button{color:#eef0f3;min-height:40px;font:inherit;background:#121418;border:1px solid #2b2f36;border-radius:20px;align-items:center;gap:9px;padding:4px 13px 4px 5px;font-size:12px;display:flex}.account-button:hover,.account-button[aria-expanded=true]{background:#17191e;border-color:#4a505b}.account-avatar{border:1px solid #ffffff2e;border-radius:50%;flex:none;width:30px;height:30px;display:block;box-shadow:inset 0 0 0 1px #0000001f}.account-dropdown{background:#15171b;border:1px solid #30343b;border-radius:9px;gap:2px;width:150px;padding:5px;display:grid;position:absolute;top:calc(100% + 8px);right:0;box-shadow:0 16px 40px #00000059}.account-dropdown button{color:#e8eaed;min-height:34px;font:inherit;text-align:left;background:0 0;border:0;border-radius:6px;padding:0 10px;font-size:12px}.account-dropdown button:hover{background:#272a30}.account-settings-backdrop{z-index:40;background:#00000080;place-items:center;padding:24px;display:grid;position:fixed;inset:0}.account-settings{color:#eef0f3;background:#121418;border:1px solid #30343b;border-radius:12px;width:min(420px,100%);overflow:hidden;box-shadow:0 24px 80px #00000080}.account-settings-header{border-bottom:1px solid #292d34;justify-content:space-between;align-items:center;min-height:64px;padding:0 18px;display:flex}.account-settings-header>div{gap:3px;display:grid}.account-settings-header strong{font-size:14px}.account-settings-header span{color:#7f858f;font-size:11px}.account-settings-header button{color:#8c929c;background:0 0;border:0;border-radius:6px;width:32px;height:32px;font-size:20px}.account-settings-header button:hover{color:#fff;background:#272a30}.account-settings-section{border-bottom:1px solid #292d34;gap:10px;padding:18px;display:grid}.account-settings-section>label{color:#b7bbc2;font-size:12px;font-weight:600}.avatar-color-row{grid-template-columns:40px 1fr;align-items:center;gap:10px;display:grid}.account-avatar-picker{cursor:pointer;position:relative}.account-avatar-picker input[type=color]{cursor:pointer;opacity:0;width:100%;height:100%;position:absolute;inset:0}.account-avatar-large{width:40px;height:40px}.avatar-color-row button,.account-password-form button,.account-password-form input{min-height:40px;font:inherit;border:1px solid #30343b;border-radius:7px;padding:0 11px}.avatar-color-row button,.account-password-form button{color:#111216;background:#e9ebee;font-size:12px;font-weight:650}.avatar-color-row button:disabled,.account-password-form button:disabled{opacity:.45}.account-password-form input{color:#eef0f3;background:#191b20;outline:none}.account-password-form input:focus{border-color:#676e79}.account-plan-select{color:#eef0f3;min-height:40px;font:inherit;background:#191b20;border:1px solid #30343b;border-radius:7px;outline:none;padding:0 11px}.account-plan-select:focus{border-color:#676e79}.account-settings-message{color:#b7bbc2;padding:12px 18px;font-size:12px}.account-settings-footer{justify-content:flex-end;padding:14px 18px;display:flex}.account-settings-footer button{color:#ff8ba0;min-height:34px;font:inherit;background:#24191d;border:1px solid #473238;border-radius:7px;padding:0 12px;font-size:12px}.account-settings-footer button:hover{background:#302027}.project-share-dialog{width:min(560px,100%);padding:0}.project-share-dialog .account-settings-header{border-bottom:1px solid #292d34;min-height:56px;padding:0 14px 0 18px}.project-share-dialog .account-settings-header>div{align-items:center;display:flex}.project-share-dialog .account-settings-header strong{letter-spacing:0;text-transform:none;font-size:14px}.project-share-header-actions{flex-direction:row;align-items:center;gap:8px;display:flex!important}.project-share-dialog button,.project-share-dialog input,.project-share-dialog select{color:#eef0f3;min-height:36px;font:inherit;background:#191b20;border:1px solid #30343b;border-radius:8px;outline:none;padding:0 12px;font-size:12px;transition:background-color .12s,border-color .12s,color .12s}.project-share-dialog button:disabled,.project-share-dialog input:disabled,.project-share-dialog select:disabled{cursor:default;opacity:.72}.project-share-copy-button{white-space:nowrap;align-items:center;gap:8px;display:inline-flex;background:#171a20!important;width:auto!important}.project-share-dialog button:hover:not(:disabled),.project-share-dialog select:hover:not(:disabled){background:#22252c;border-color:#424854}.project-share-close-button{border-radius:8px;line-height:1;color:#eef0f3!important;background:0 0!important;border:0!important;width:32px!important;min-height:32px!important;padding:0!important;font-size:18px!important}.project-share-users-section{border-bottom:0;gap:0;padding:14px 12px 0}.project-share-project-name{display:none}.project-share-members{gap:4px;display:grid}.project-share-member{background:0 0;border:0;border-radius:8px;grid-template-columns:28px minmax(0,1fr) auto;align-items:center;gap:10px;min-height:42px;padding:6px;display:grid;position:relative}.project-share-member .account-avatar,.project-share-emoji-avatar{width:28px;height:28px}.project-share-emoji-avatar{filter:grayscale();place-items:center;font-family:Apple Color Emoji,Segoe UI Emoji,Noto Color Emoji,sans-serif;font-size:18px;line-height:1;display:grid}.project-share-member>span:nth-child(2),.project-share-link-mode>span:nth-child(2){min-width:0}.project-share-member strong,.project-share-link-mode strong{text-overflow:ellipsis;white-space:nowrap;font-size:12px;font-weight:650;overflow:hidden}.project-share-link-member{cursor:pointer}.project-share-link-mode{min-height:30px;color:inherit;text-align:left;border-radius:8px;grid-column:1/3;grid-template-columns:28px minmax(0,1fr);align-items:center;gap:10px;padding:0 10px;display:grid;background:#191b20!important;border:1px solid #30343b!important}.project-share-link-mode:hover:not(:disabled){background:#22252c!important;border-color:#424854!important}.project-share-link-mode:disabled{cursor:default;opacity:1}.project-share-link-member:has(select:disabled){cursor:default}.project-share-link-member[data-link-mode=invited]:has(.project-share-link-mode:disabled){cursor:default}.project-share-link-mode-menu{z-index:3;background:#111319;border:1px solid #30343b;border-radius:10px;gap:4px;min-width:240px;padding:6px;display:grid;position:absolute;top:calc(100% + 6px);left:0;box-shadow:0 14px 38px #00000061}.project-share-link-mode-menu button{color:#eef0f3;text-align:left;background:0 0;border:0;grid-template-columns:28px 1fr;align-items:center;gap:10px;display:grid}.project-share-link-mode-menu button:hover{background:#1d2027}.project-share-member select,.project-share-role-label,.project-share-edited-time{justify-self:end}.project-share-member select{background:#191b20;border-color:#30343b;min-width:94px}.project-share-role-label,.project-share-edited-time{color:#eef0f3;white-space:nowrap;font-size:12px}.project-share-edited-time{color:#8b919c}.project-share-add-member{border-bottom:0;margin:8px 0 0;padding:0 18px 18px}.project-share-add-member>div{grid-template-columns:minmax(0,1fr) 124px 64px;gap:8px;display:grid}.project-share-add-member input{min-width:0}.project-share-add-member select{min-width:118px}.project-share-add-member button[type=submit]{text-indent:0;color:#111216;background:#e9ebee;border-color:#30343b;width:auto;padding:0 12px;overflow:visible}.project-share-add-member button[type=submit]:hover:not(:disabled){color:#111216;background:#d8dbe0;border-color:#30343b}.project-share-add-member button[type=submit][data-done=true]{color:#77f2b4;background:0 0;border-color:#0000;font-size:18px}.project-share-add-member button[type=submit][data-flash=true]{animation:.65s project-share-send-flash}@keyframes project-share-send-flash{0%,to{background:#e9ebee;transform:translate(0)}25%{background:#ff8ba0;transform:translate(-2px)}50%{transform:translate(2px)}75%{transform:translate(-1px)}}.blocked-project-screen{color:#eef0f3;background:#07080a;place-items:center;min-height:100vh;padding:24px;display:grid;position:relative;overflow:hidden}.blocked-project-preview{object-fit:cover;filter:blur(18px);width:calc(100% + 48px);height:calc(100% + 48px);position:absolute;inset:-24px;transform:scale(1.04)}.blocked-project-overlay{background:#0009;position:absolute;inset:0}.blocked-project-screen section{z-index:1;text-align:center;justify-items:center;gap:18px;max-width:560px;display:grid;position:relative}.blocked-project-screen h1{margin:0;font-size:clamp(18px,3vw,28px);font-weight:650}.blocked-project-screen em{color:#fff;font-style:normal}.blocked-project-screen p{color:#eef0f3c7;margin:-6px 0 0;font-size:13px;line-height:1.5}.blocked-project-actions{flex-wrap:wrap;justify-content:center;gap:10px;display:flex}.blocked-project-screen button{color:#111216;min-width:120px;min-height:38px;font:inherit;background:#e9ebee;border:1px solid #30343b;border-radius:8px;font-size:12px;font-weight:650}.auth-card{width:min(400px,100%)}.auth-title{color:#f2f3f5;letter-spacing:-.02em;font-size:22px;font-weight:650}.auth-project-preview{gap:4px;margin:18px 0 26px;display:grid}.auth-project-preview strong{color:#f2f3f5;letter-spacing:-.02em;font-size:18px;font-weight:650}.auth-project-preview span{color:#858b95;font-size:13px}.auth-subtitle{color:#858b95;margin-top:7px;font-size:13px}.auth-form{gap:10px;margin-top:24px;display:grid}.auth-form input,.auth-submit{min-height:42px;font:inherit;border:1px solid #30343b;border-radius:8px;padding:0 12px}.auth-form input{color:#f2f3f5;background:#121418;outline:none}.auth-form input:focus{border-color:#676e79}.auth-submit{color:#111216;background:#f2f3f5;margin-top:4px;font-weight:650}.auth-submit:disabled,.auth-actions button:disabled{cursor:default;opacity:.5}.auth-actions{color:#858b95;align-items:center;gap:5px;margin-top:16px;font-size:12px;display:flex}.auth-actions button{color:#dce0e5;font:inherit;text-underline-offset:3px;background:0 0;border:0;padding:0;text-decoration:underline}.auth-message{color:#ff8ba0;background:#ff688014;border:1px solid #ff688059;border-radius:8px;margin-top:16px;padding:10px 12px;font-size:12px}.project-create-row{grid-template-columns:1fr auto;gap:8px;margin-bottom:24px;display:grid}.project-create-row input,.project-create-row button{color:#f2f3f5;background:#15171b;border:1px solid #30343b;border-radius:8px;min-height:40px;padding:0 12px}.project-create-row button{color:#111216;background:#f2f3f5;font-weight:600}.project-list{gap:8px;display:grid}.project-list-empty{color:#747983;text-align:center;border:1px dashed #30343b;border-radius:10px;padding:28px}.project-card{background:#121418;border:1px solid #2b2f36;border-radius:10px;grid-template-columns:1fr 36px;display:grid;overflow:hidden}.project-open-button,.project-delete-button{color:#eef0f3;background:0 0;border:0}.project-open-button{text-align:left;gap:5px;padding:13px 14px;display:grid}.project-open-button strong{min-width:0}.project-open-button span{color:#777d87;font-size:11px}.project-open-button em{color:#aeb4be;letter-spacing:.02em;text-transform:uppercase;background:#20232a;border-radius:999px;width:fit-content;padding:3px 7px;font-size:10px;font-style:normal}.project-delete-button{color:#777d87;font-size:20px}.project-card:hover{border-color:#4a505b}.project-delete-button:hover{color:#fff;background:#272a30}.left-panel-tabs{grid-template-columns:repeat(2,1fr);display:grid}.left-panel-links{margin-top:10px}.right-panel{width:var(--right-panel-width);right:16px}.panel-section{border-bottom:1px solid #2b2f36;padding:12px}.panel-section:last-child{border-bottom:0}.panel-title{color:#f3f4f6;text-transform:uppercase;margin:0 0 10px;font-size:12px;font-weight:700}.object-list{flex-direction:column;gap:4px;display:flex}.object-row{text-align:left;border-radius:4px;grid-template-columns:14px 32px minmax(0,1fr);align-items:center;gap:8px;width:100%;min-height:44px;padding:6px 8px;display:grid}.object-row-chevron{color:#9ca3af;text-align:center;font-size:10px;line-height:1}.object-row>.object-name:first-child{grid-column:1/3}.content-thumb{object-fit:cover;background:#101114;border:1px solid #30343b;border-radius:4px;width:72px;height:72px}.object-row[data-selected=true]{background:#ffffff1f;border-color:#ffffff3d}.object-name{text-overflow:ellipsis;white-space:nowrap;font-size:13px;overflow:hidden}.object-kind{color:#9ca3af;font-size:11px}.button-row{grid-template-columns:repeat(3,1fr);gap:6px;display:grid}.operation-tabs{grid-template-columns:repeat(3,1fr)}.operation-tabs button[data-active=true]{background:#ffffff1f;border-color:#ffffff3d}.viewport{-webkit-user-select:none;user-select:none;background:#101114;min-width:0;min-height:0;position:relative}.viewport canvas{-webkit-user-select:none;user-select:none;display:block;width:100%!important;height:100%!important}.scene-callouts{pointer-events:none;-webkit-user-select:none;user-select:none;position:absolute;inset:0}.viewport-drag-shield{z-index:20;pointer-events:auto;background:0 0;position:absolute;inset:0}.viewport-box-select{z-index:25;pointer-events:none;will-change:transform, width, height;background:0 0;border:1px solid #f3f4f680;display:none;position:absolute;top:0;left:0}.viewport-context-menu{z-index:80;-webkit-user-select:none;user-select:none;background:#121316f5;border:1px solid #30343b;border-radius:8px;gap:6px;min-width:180px;max-width:240px;max-height:calc(100vh - 16px);padding:6px;font-weight:400;display:grid;position:fixed;overflow:auto;box-shadow:0 16px 36px #0000007a}.viewport-context-section{gap:2px;display:grid}.viewport-context-section+.viewport-context-section{border-top:1px solid #2b2f36;padding-top:6px}.viewport-context-label{color:#8b9099;letter-spacing:.04em;text-transform:uppercase;padding:3px 8px;font-size:10px;font-weight:400}.viewport-context-item{text-align:left;background:0 0;border:0;border-radius:4px;justify-content:flex-start;width:100%;min-height:26px;padding:0 8px;font-weight:400}.viewport-context-item:hover:not(:disabled){background:#23272f}.scene-callout{pointer-events:none;position:absolute}.scene-callout-outline{border:none;border-radius:0;position:absolute;inset:0}.scene-callout-name{opacity:.5;white-space:nowrap;background:0 0;border-radius:12px;align-items:center;height:24px;padding:0 8px 0 0;font-size:11px;line-height:24px;display:inline-flex;position:absolute;bottom:calc(100% + 4px);left:50%;overflow:hidden;transform:translate(-50%)}.scene-callout-name[data-selected=true]{opacity:1;background:#161616}.scene-callout-name[data-frame=true][data-hovered=true]:not([data-selected=true]){opacity:1;background:0 0}.scene-callout-name[data-frame=true]{pointer-events:auto;cursor:pointer}.scene-callout-type-icon{color:currentColor;flex:none;width:32px;height:32px}.scene-callout-type-icon svg{width:32px;height:32px;display:block}.scene-callout-title{min-width:0}.scene-callout-size{opacity:.5;white-space:nowrap;background:0 0;border-radius:12px;justify-content:center;align-items:center;height:24px;padding:0 8px;font-size:11px;line-height:24px;display:inline-flex;position:absolute;top:calc(100% + 4px);left:50%;transform:translate(-50%)}.scene-callout-size[data-selected=true]{opacity:1;background:#161616}.scene-callouts[data-transforming=true] .scene-callout-name{display:none}.scene-callouts[data-transforming=true] .scene-callout-name[data-frame=true]{display:inline-flex}body.scene-transform-names-hidden .scene-callout-name{display:none}body.scene-transform-names-hidden .scene-callout-name[data-frame=true]{display:inline-flex}.frame-resize-guide-marker{pointer-events:none;-webkit-user-select:none;user-select:none;width:0;height:0;position:relative}.frame-resize-guide-corner{transform-origin:0 0;width:0;height:0;position:absolute;top:0;left:0}.frame-resize-guide-corner[data-x=left][data-y=up],.frame-resize-guide-corner[data-x=right][data-y=down]{transform:rotate(-90deg)}.frame-resize-guide-corner[data-x=right][data-y=up],.frame-resize-guide-corner[data-x=left][data-y=down]{transform:rotate(90deg)}.frame-resize-guide-corner-line{background:#ffffff52;display:block;position:absolute}.frame-resize-guide-corner-line[data-axis=x]{width:9px;height:1px;top:0}.frame-resize-guide-corner-line[data-axis=y]{width:1px;height:9px;left:0}.frame-resize-guide-corner[data-x=left] .frame-resize-guide-corner-line[data-axis=x]{right:0}.frame-resize-guide-corner[data-x=right] .frame-resize-guide-corner-line[data-axis=x]{left:0}.frame-resize-guide-corner[data-y=up] .frame-resize-guide-corner-line[data-axis=y]{bottom:0}.frame-resize-guide-corner[data-y=down] .frame-resize-guide-corner-line[data-axis=y]{top:0}.frame-resize-guide-label{color:#ffffffb8;white-space:nowrap;-webkit-user-select:none;user-select:none;background:#161616cc;border-radius:8px;padding:2px 5px;font-size:10px;line-height:12px;position:absolute;top:0}.frame-resize-guide-label[data-side=right]{left:24px;transform:translateY(-50%)}.frame-resize-guide-label[data-side=left]{right:8px;transform:translate(-100%,-50%)}.scene-callout-tools,.scene-callout-contents{align-items:center;gap:6px;display:flex;position:absolute;top:50%;transform:translateY(-50%)}.scene-callout-tools{flex-direction:column;align-items:flex-end;right:calc(100% + 12px)}.scene-callout-contents{flex-direction:column;align-items:flex-start;left:calc(100% + 12px)}.scene-callout-chip{appearance:none;color:#f3f4f6;white-space:nowrap;cursor:pointer;pointer-events:auto;background:#101114b8;border:1px solid #ffffff1f;border-radius:999px;align-items:center;min-height:18px;padding:2px 8px;font-size:10px;display:inline-flex}.scene-callout-content{appearance:none;width:48px;height:48px;color:inherit;cursor:pointer;pointer-events:auto;background:#101114b8;border:2px solid #ffffff1a;border-radius:999px;place-items:center;padding:0;display:grid;overflow:hidden}.scene-callout-content[data-selected=true]{border-color:#fff;box-shadow:0 0 0 1px #fff6}.scene-callout-content img,.scene-callout-content span{object-fit:cover;width:100%;height:100%;display:block}.scene-callout-content span{color:#e5e7eb;text-transform:uppercase;place-items:center;font-size:11px;display:grid}.timeline-dock{z-index:20;grid-template-columns:var(--left-panel-width) minmax(0, 1fr);height:var(--timeline-dock-height);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#101114f5;border-top:1px solid #2b2f36;display:grid;position:fixed;bottom:0;left:0;right:0;box-shadow:0 -12px 32px #00000059}.timeline-dock-resizer{cursor:ns-resize;z-index:1;background:linear-gradient(#ffffff14,#0000);border:0;border-radius:0;height:12px;position:absolute;top:-6px;left:0;right:0}.timeline-dock-list{border-right:1px solid #2b2f36;grid-template-rows:auto minmax(0,1fr);min-width:0;display:grid}.timeline-dock-title{color:#f3f4f6;text-transform:uppercase;border-bottom:1px solid #2b2f36;padding:10px 12px 8px;font-size:12px;font-weight:700}.timeline-dock-rows{gap:4px;padding:8px 8px 10px;display:grid;overflow:auto}.timeline-list-row{text-align:left;border-radius:4px;grid-template-columns:32px minmax(0,1fr);align-items:center;gap:8px;width:100%;padding:6px 8px;display:grid}.timeline-list-row img,.timeline-list-row span{object-fit:cover;color:#e5e7eb;background:#101114;border-radius:4px;place-items:center;width:32px;height:32px;font-size:10px;display:grid}.timeline-list-row-body{gap:2px;min-width:0;display:grid}.timeline-list-row[data-selected=true]{background:#ffffff1f;border-color:#ffffff3d}.timeline-dock-tracks{grid-template-rows:auto auto minmax(0,1fr);min-width:0;display:grid}.timeline-dock-toolbar{border-bottom:1px solid #2b2f36;grid-template-columns:120px 120px minmax(0,1fr);gap:8px;padding:8px 12px;display:grid}.timeline-time-field{gap:4px;display:grid}.timeline-dock-ruler{cursor:ew-resize;border-bottom:1px solid #2b2f36;height:24px;position:relative}.timeline-dock-ruler-line{background:linear-gradient(90deg,#ffffff14,#ffffff3d,#ffffff14);height:1px;position:absolute;inset:50% 0 auto}.timeline-dock-playhead{background:#ffffffb8;width:2px;margin-left:-1px;position:absolute;top:0;bottom:0}.timeline-dock-track-list{gap:4px;padding:8px 12px 10px;display:grid;overflow:auto}.timeline-object-block{gap:6px;display:grid}.timeline-object-track-list{gap:4px;padding-left:12px;display:grid}.timeline-object-track-empty{padding:4px 0 6px;font-size:11px}.timeline-track-row{grid-template-columns:220px minmax(0,1fr);align-items:center;gap:8px;display:grid}.timeline-track-object{text-align:left;border-radius:4px;grid-template-columns:32px minmax(0,1fr);align-items:center;gap:8px;width:100%;padding:6px 8px;display:grid}.timeline-track-object img,.timeline-track-object span{object-fit:cover;color:#e5e7eb;background:#101114;border-radius:4px;place-items:center;width:32px;height:32px;font-size:10px;display:grid}.timeline-track-object-label{gap:2px;min-width:0;display:grid}.timeline-track-object[data-selected=true]{background:#ffffff1f;border-color:#ffffff3d}.timeline-track-lane{cursor:ew-resize;background:#111318;border:1px solid #2b2f36;border-radius:999px;height:18px;position:relative;overflow:hidden}.timeline-track-grid{opacity:.65;background-image:linear-gradient(90deg,#ffffff12 1px,#0000 1px);background-size:10% 100%;position:absolute;inset:0}.timeline-track-range{background:#f59e0b73;border-radius:999px;position:absolute;top:1px;bottom:1px}.timeline-track-range[data-selected=true]{background:#f59e0bb8}.timeline-track-playhead{background:#fff;width:2px;margin-left:-1px;position:absolute;top:0;bottom:0;box-shadow:0 0 0 1px #0006}.timeline-animation-track{gap:4px;display:grid}.timeline-animation-track-header{grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:6px;display:grid}.timeline-animation-track-name{color:#d1d5db;text-overflow:ellipsis;white-space:nowrap;font-size:11px;overflow:hidden}.timeline-animation-track-delete{width:20px;min-width:20px;height:20px;min-height:20px;padding:0}.timeline-animation-track-lane{background:#111318;border:1px solid #2b2f36;border-radius:999px;height:12px;position:relative;overflow:hidden}.timeline-animation-track-span{background:#60a5fa47;border-radius:999px;position:absolute;top:1px;bottom:1px}.timeline-animation-keyframe{background:#f3f4f6;border:1px solid #fff;border-radius:999px;width:8px;height:8px;margin-top:-4px;margin-left:-4px;position:absolute;top:50%;box-shadow:0 0 0 1px #00000059}.filter-toggle-button[data-enabled=true]{color:#e0f2fe;border-color:#38bdf8}.filter-toggle-button[data-enabled=false]{color:#9ca3af;border-color:#4b5563}.field-stack{gap:8px;display:grid}.panel-subtitle{color:#ffffff94;margin:0;font-size:11px;font-weight:500}.frame-preset-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.frame-preset-grid button{min-height:28px;padding:0 6px;font-size:11px}.content-slot-row{border:1px solid #30343b;border-radius:4px;grid-template-columns:auto minmax(0,1fr) auto auto auto;align-items:center;gap:6px;padding:6px;display:grid}.content-card{text-align:left;background:#1a1d22;border:1px solid #30343b;border-radius:4px;grid-template-columns:auto minmax(0,1fr);align-items:start;gap:8px;width:100%;padding:6px;display:grid}.content-card[data-selected=true]{background:#ffffff1f;border-color:#ffffff3d}.content-card-body{gap:6px;min-width:0;display:grid}.content-card-title-row{grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:8px;min-width:0;display:grid}.content-card[data-warning=true]{border-color:#ff7a7a73}.content-slot-warning{color:#ff8a8a;cursor:help;background:#ff6b6b2e;border:1px solid #ff6b6b73;border-radius:999px;flex-shrink:0;place-items:center;width:18px;height:18px;font-size:11px;font-weight:700;line-height:1;display:inline-grid}.content-card-main{text-align:left;background:0 0;border:0;grid-template-columns:auto minmax(0,1fr);align-items:start;gap:10px;width:100%;min-width:0;padding:0;display:grid}.content-card-actions{grid-template-columns:1fr;gap:6px;width:100%;display:grid}.content-slot-row[data-selected=true]{background:#ffffff1f;border-color:#ffffff3d}.content-slot-main{text-align:left;background:0 0;border:0;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:8px;min-width:0;padding:0;display:grid}.content-slot-main.no-thumb{grid-column:1/3}.content-slot-source{color:#8b9099;text-transform:uppercase;font-size:11px}.content-slot-action{white-space:nowrap;place-items:center;width:100%;min-width:0;min-height:30px;padding:0 10px;display:inline-grid}.filter-toggle-button{aspect-ratio:auto;width:auto;min-width:38px;padding:0 8px}.object-panel-header{grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:8px;display:grid}.object-panel-header .panel-title{margin-bottom:4px}.icon-button{width:30px;min-width:30px;height:30px;padding:0}.object-options{margin-top:10px}.object-tabs{white-space:nowrap;align-items:center;gap:6px;display:flex;overflow:auto hidden}.object-tabs button{white-space:nowrap;min-width:0;height:30px;padding:0 8px;font-size:11px}.object-tabs .object-tab-primary{text-overflow:ellipsis;flex:1 1 0;justify-content:flex-start;overflow:hidden}.object-tabs .object-tab-count,.object-tabs .object-tab-fixed,.object-tabs .icon-button{flex:none}.object-tabs button[data-active=true]{color:#050607;background:#f4f4f4;border-color:#f4f4f4}.left-panel-timeline-summary{gap:10px}.field{gap:4px;display:grid}.field label{color:#a7abb3;font-size:11px}.check-row{color:#d1d5db;align-items:center;gap:8px;font-size:12px;display:flex}.check-row input{width:auto}.vector-row{grid-template-columns:repeat(3,1fr);gap:6px;display:grid}.muted{color:#8b9099;font-size:12px}.link-row{color:#d1d5db;border:1px solid #30343b;border-radius:4px;padding:8px;font-size:12px}.panel-subsection{margin-top:8px}.tool-input-row{grid-template-columns:auto minmax(0,1fr) minmax(0,1.2fr) auto}.prompt-field{grid-column:1/-1}.input-action-row{grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;display:grid}.action-section{border-top:1px solid #2b2f36;margin-top:12px;padding-top:12px}.input-type-section{border:1px solid #252a31;border-radius:4px;padding:8px}.input-type-title{color:#a7abb3;text-transform:uppercase;margin:0;font-size:11px;font-weight:700}.input-type-header{grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:8px;display:grid}.input-add-menu{position:relative}.input-add-menu-list{z-index:20;background:#15171c;border:1px solid #30343b;border-radius:4px;gap:4px;min-width:96px;padding:4px;display:grid;position:absolute;top:calc(100% + 4px);right:0}.hidden-file-input{display:none}.primary-action-button{color:#080808;background:#f3f4f6;border-color:#f3f4f6;font-weight:700}.primary-action-button:hover{background:#fff}.primary-action-button:disabled{color:#080808;background:#f3f4f6}.tool-category-row{grid-template-columns:repeat(5,minmax(0,1fr));gap:6px;display:grid}.tool-category-row button{min-width:0;height:30px;padding:0 4px;font-size:11px}.tool-category-row button[data-active=true]{background:#ffffff1f;border-color:#ffffff3d}.tool-card-list{gap:6px;display:grid}.tool-card{color:#e5e7eb;text-align:left;background:#1a1d22;border:1px solid #30343b;border-radius:4px;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:8px;width:100%;padding:8px;display:grid}.tool-card-main{text-align:left;background:0 0;border:0;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:8px;min-width:0;padding:0;display:grid}.tool-card-main:hover{background:0 0}.tool-card-status{color:#a7abb3;text-transform:uppercase;font-size:11px}.tool-card-remove{place-items:center;width:26px;min-width:26px;height:26px;padding:0;display:inline-grid}.tool-card-toggle{width:auto;min-width:48px;min-height:26px;padding:0 10px}.applied-tool-body{border:1px solid #252a31;border-top:0;border-radius:0 0 4px 4px;padding:8px}.panel-action-row{justify-content:space-between;align-items:center;gap:8px;display:flex}.panel-action-row .button-row{gap:6px;width:auto;display:flex}.architecture-shell{grid-template-rows:52px minmax(0,1fr);grid-template-columns:280px minmax(0,1fr) 340px;width:100vw;height:100vh;display:grid}.architecture-toolbar{background:#15171c;border-bottom:1px solid #2b2f36;grid-column:1/-1;justify-content:space-between;align-items:center;padding:0 12px;display:flex}.architecture-view-switch{grid-template-columns:repeat(4,auto);width:auto}.architecture-list{border-right:1px solid #2b2f36;border-radius:0;grid-area:2/1;max-height:none;position:static;overflow:auto}.architecture-details{border-left:1px solid #2b2f36;border-radius:0;grid-area:2/3;max-height:none;position:static;overflow:auto}.architecture-viewport{background:#080808;grid-area:2/2;min-width:0;min-height:0}.architecture-node{text-align:left;min-width:150px;padding:4px}.architecture-node-title{color:#111318;font-size:12px;font-weight:700}.architecture-node-meta{color:#4b5563;font-size:10px}.architecture-detail-title{color:#f3f4f6;font-size:16px;font-weight:700}.architecture-summary{color:#d1d5db;margin:0;font-size:13px;line-height:1.45}.interactions-catalog{background:#080808;grid-area:2/1/auto/-1;grid-template-columns:minmax(240px,.85fr) minmax(240px,.85fr) minmax(320px,1.3fr);gap:12px;min-width:0;min-height:0;padding:12px;display:grid}.interactions-column{background:#121316f5;border:1px solid #2b2f36;border-radius:12px;grid-template-rows:auto minmax(0,1fr);min-width:0;min-height:0;display:grid;overflow:hidden}.interactions-column-header{border-bottom:1px solid #2b2f36;align-items:center;gap:10px;padding:12px;display:flex}.interactions-column-header h2,.interactions-column-header p,.interactions-group h3{margin:0}.interactions-column-header h2{color:#f3f4f6;font-size:14px}.interactions-column-header p,.interactions-group h3,.interactions-card-meta{color:#9ca3af;font-size:11px}.interactions-column-number,.interactions-card-number{color:#7c9cff;font-family:monospace;font-size:12px}.interactions-column-number{background:#1c2330;border:1px solid #35425f;border-radius:6px;place-items:center;width:28px;height:28px;display:grid}.interactions-column-scroll{flex-direction:column;gap:8px;min-height:0;padding:10px;display:flex;overflow:auto}.interactions-group{gap:6px;margin-bottom:8px;display:grid}.interactions-card{text-align:left;background:#ffffff06;border:1px solid #2b2f36;border-radius:8px;grid-template-columns:34px minmax(0,1fr) auto;align-items:center;gap:8px;min-height:42px;padding:9px;display:grid}.interactions-card-clickable:hover{background:#ffffff0d;border-color:#4a5568}.interactions-card-clickable[data-active=true]{background:#7c9cff1f;border-color:#7c9cff}.interactions-card-title{color:#f3f4f6;font-size:12px}.interactions-status{color:#d1d5db;border:1px solid #374151;border-radius:999px;padding:2px 6px;font-size:10px}.interactions-status[data-status=active]{color:#86efac;border-color:#276749}.interactions-status[data-status=draft]{color:#fde68a;border-color:#715b16}.interactions-status[data-status=question]{color:#e9b7ff;border-color:#6b3c83}.interactions-content-summary{background:#ffffff0d;border-color:#4a5568}.interactions-note{grid-template-columns:34px minmax(0,1fr)}
