.react-flow{direction:ltr;--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: rgba(255, 255, 255, .5);--xy-minimap-background-color-default: #fff;--xy-minimap-mask-background-color-default: rgba(240, 240, 240, .6);--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: rgba(240, 240, 240, .25);--xy-node-boxshadow-hover-default: 0 1px 4px 1px rgba(0, 0, 0, .08);--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: rgba(0, 89, 220, .08);--xy-selection-border-default: 1px dotted rgba(0, 89, 220, .8);--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 rgba(0, 0, 0, .08);--xy-edge-label-background-color-default: #ffffff;--xy-edge-label-color-default: inherit;--xy-resize-background-color-default: #3367d9}.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: rgba(150, 150, 150, .25);--xy-minimap-background-color-default: #141414;--xy-minimap-mask-background-color-default: rgba(60, 60, 60, .6);--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: rgba(240, 240, 240, .25);--xy-node-boxshadow-hover-default: 0 1px 4px 1px rgba(255, 255, 255, .08);--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: rgba(200, 200, 220, .08);--xy-selection-border-default: 1px dotted rgba(200, 200, 220, .8);--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 rgba(0, 0, 0, .08);--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{position:absolute;width:100%;height:100%;top:0;left:0}.react-flow__pane{z-index:1;touch-action:none}.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{overflow:visible;position:absolute;pointer-events:none}.react-flow__edge{pointer-events:visibleStroke}.react-flow__edge.selectable{cursor:pointer}.react-flow__edge.animated path{stroke-dasharray:5;animation:dashdraw .5s linear infinite}.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;-moz-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:dashdraw .5s linear infinite}svg.react-flow__connectionline{z-index:1001;overflow:visible;position:absolute}.react-flow__nodes{pointer-events:none;transform-origin:0 0}.react-flow__node{position:absolute;-webkit-user-select:none;-moz-user-select:none;user-select:none;pointer-events:all;transform-origin:0 0;box-sizing:border-box;cursor:default}.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:left top;pointer-events:none}.react-flow__nodesselection-rect{position:absolute;pointer-events:all;cursor:grab}.react-flow__handle{position:absolute;pointer-events:none;min-width:5px;min-height:5px;width:6px;height:6px;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%}.react-flow__handle.connectingfrom{pointer-events:all}.react-flow__handle.connectionindicator{pointer-events:all;cursor:crosshair}.react-flow__handle-bottom{top:auto;left:50%;bottom:0;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{position:absolute;z-index:5;margin:15px}.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{font-size:10px;background:var(--xy-attribution-background-color, var(--xy-attribution-background-color-default));padding:2px 3px;margin:0}.react-flow__attribution a{text-decoration:none;color:#999}@keyframes dashdraw{0%{stroke-dashoffset:10}}.react-flow__edgelabel-renderer{position:absolute;width:100%;height:100%;pointer-events:none;-webkit-user-select:none;-moz-user-select:none;user-select:none;left:0;top:0}.react-flow__viewport-portal{position:absolute;width:100%;height:100%;left:0;top:0;-webkit-user-select:none;-moz-user-select:none;user-select:none}.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{display:flex;flex-direction:column;box-shadow:var(--xy-controls-box-shadow, var(--xy-controls-box-shadow-default))}.react-flow__controls.horizontal{flex-direction:row}.react-flow__controls-button{display:flex;justify-content:center;align-items:center;height:26px;width:26px;padding:4px;border:none;background:var(--xy-controls-button-background-color, var(--xy-controls-button-background-color-default));border-bottom:1px solid var( --xy-controls-button-border-color-props, var(--xy-controls-button-border-color, var(--xy-controls-button-border-color-default)) );color:var( --xy-controls-button-color-props, var(--xy-controls-button-color, var(--xy-controls-button-color-default)) );cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none}.react-flow__controls-button svg{width:100%;max-width:12px;max-height:12px;fill:currentColor}.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{padding:10px;border-radius:var(--xy-node-border-radius, var(--xy-node-border-radius-default));width:150px;font-size:12px;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))}.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{width:5px;height:5px;border:1px solid #fff;border-radius:1px;background-color:var(--xy-resize-background-color, var(--xy-resize-background-color-default));translate:-50% -50%}.react-flow__resize-control.handle.left{left:0;top:50%}.react-flow__resize-control.handle.right{left:100%;top:50%}.react-flow__resize-control.handle.top{left:50%;top:0}.react-flow__resize-control.handle.bottom{left:50%;top:100%}.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-width:0;border-style:solid}.react-flow__resize-control.line.left,.react-flow__resize-control.line.right{width:1px;transform:translate(-50%);top:0;height:100%}.react-flow__resize-control.line.left{left:0;border-left-width:1px}.react-flow__resize-control.line.right{left:100%;border-right-width:1px}.react-flow__resize-control.line.top,.react-flow__resize-control.line.bottom{height:1px;transform:translateY(-50%);left:0;width:100%}.react-flow__resize-control.line.top{top:0;border-top-width:1px}.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))}.bottle-walkthrough{position:fixed;z-index:1100;left:16px;bottom:16px;width:320px;max-height:calc(100vh - 120px);overflow-y:auto;padding:18px;border:1px solid #81764b;border-radius:6px;background:#303030;color:#ededed;scrollbar-color:#717171 #303030}.bottle-walkthrough header{display:flex;align-items:flex-start;gap:12px;justify-content:space-between}.bottle-walkthrough h2{margin:0;font-size:19px;line-height:1.3}.bottle-walkthrough p{margin:14px 0;line-height:1.5}.bottle-walkthrough .walkthrough-socket{color:#dfc449;font-weight:700}.bottle-walkthrough button{cursor:pointer;color:inherit;background:#424242;border:1px solid #787878;padding:8px 12px;border-radius:4px}.bottle-walkthrough header button{padding:2px;border:0;background:transparent;flex-shrink:0}.bottle-walkthrough button:focus-visible{outline:2px solid #dfc449;outline-offset:2px}.bottle-walkthrough button:disabled{opacity:.5;cursor:default}.bottle-walkthrough button:not(:disabled):hover{background:#555}.bottle-walkthrough .walkthrough-primary{background:#dfc449;color:#252525;border-color:#dfc449;font-weight:600}.bottle-walkthrough .walkthrough-primary:not(:disabled):hover{background:#eed56b}.bottle-walkthrough footer{display:flex;justify-content:space-between;gap:12px;margin-top:16px}.walkthrough-progress,.walkthrough-note{color:#c1c1c1;font-size:13px}.walkthrough-error{color:#ffb6b6}.walkthrough-highlight{position:fixed;z-index:1090;pointer-events:none;border:2px solid #dfc449;border-radius:5px}.catalog-item-row{display:flex;align-items:stretch}.catalog-item-row>.catalog-item{flex:1;min-width:0}.catalog-help-button,.node-help-button{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;border:0;background:transparent;color:#ddd;cursor:pointer}.catalog-help-button{width:32px}.catalog-help-button:hover,.node-help-button:hover{background:#444;color:#ffe05a}.catalog-help-button:focus-visible,.node-help-button:focus-visible{outline:2px solid #dfc449;outline-offset:-2px}.studio-node-title{display:flex;align-items:center;justify-content:space-between;gap:6px}.studio-node-title>span{min-width:0}.node-help-button{width:22px;height:22px;padding:0;border-radius:3px;pointer-events:auto}.example-gallery.block-help{width:min(720px,92vw)}.block-help-content{flex:1;min-height:0;padding:0 24px 24px;overflow-y:auto;scrollbar-color:#717171 #303030}.block-help-content h3{margin:24px 0 12px;font-size:17px}.block-help-description,.block-help-content dd{white-space:pre-wrap;overflow-wrap:anywhere;line-height:1.5}.block-help-description{margin-top:0}.block-help-note,.block-help-content dd{color:#c1c1c1}.block-help-unavailable{padding:12px;background:#502d30;color:#ffdadb}.block-help-sockets{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}.block-help-content dl{margin:0}.block-help-content dl>div{padding:8px 0;border-bottom:1px solid #505050}.block-help-content dt{font-weight:600;overflow-wrap:anywhere}.block-help-content dd{margin:4px 0 0;font-size:14px}.block-help-examples{list-style:none;padding:0;margin:0}.block-help-examples li{display:flex;gap:16px;justify-content:space-between;align-items:center;padding:10px 0;border-bottom:1px solid #505050}.block-help-content button{flex-shrink:0;border:1px solid #787878;padding:8px 12px;border-radius:4px;background:#424242}.block-help-content button:not(:disabled):hover{background:#dfc449;color:#252525}.example-gallery{width:min(1000px,92vw);max-width:92vw;height:min(740px,86vh);max-height:86vh;padding:0;border:1px solid #626262;border-radius:6px;background:#303030;color:#ededed;box-shadow:0 20px 60px #00000073}.example-gallery[open]{display:flex;flex-direction:column}.example-gallery::backdrop{background:#0009}.example-gallery-header{display:flex;justify-content:space-between;gap:24px;padding:24px 24px 16px}.example-gallery h2{margin:0 0 8px;font-size:24px}.example-gallery-header p{margin:0;color:#c1c1c1}.example-gallery button{cursor:pointer;color:inherit}.example-gallery button:disabled{cursor:default;opacity:.45}.example-gallery button:focus-visible,.example-gallery input:focus-visible{outline:2px solid #dfc449;outline-offset:2px}.example-gallery-close{align-self:flex-start;display:grid;place-items:center;width:36px;height:36px;border:0;background:transparent}.example-gallery-close:hover{background:#454545}.example-gallery-search{display:flex;gap:10px;align-items:center;margin:0 24px 20px;padding:0 12px;border:1px solid #656565;border-radius:4px;background:#222}.example-gallery-search input{width:100%;padding:12px 0;border:0;background:transparent;color:#ededed;caret-color:#dfc449}.example-gallery-search input::placeholder{color:#bcbcbc}.example-gallery-body{display:flex;flex:1;min-height:0;border-top:1px solid #4d4d4d}.example-gallery-categories{width:215px;flex-shrink:0;padding:12px 8px;overflow-y:auto;background:#272727}.example-gallery-categories button{display:flex;justify-content:space-between;gap:8px;width:100%;text-align:left;padding:12px;border:0;background:transparent}.example-gallery-categories button:hover{background:#3e3e3e}.example-gallery-categories button[aria-pressed=true]{background:#dfc449;color:#252525;font-weight:600}.example-gallery-results{flex:1;min-width:0;padding:0 24px;overflow-y:auto;scrollbar-color:#717171 #303030}.example-gallery-results ul{list-style:none;margin:0;padding:0}.example-gallery-results li{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:18px 0;border-bottom:1px solid #505050}.example-gallery-results li>div{min-width:0}.example-gallery-results h3{margin:0 0 6px;font-size:17px;font-weight:600}.example-gallery-meta,.example-gallery-blocks{margin:0 0 5px;font-size:13px;color:#c1c1c1}.example-gallery-blocks{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.example-gallery-results small{color:#c1c1c1}.example-gallery-results li>button{display:flex;align-items:center;gap:8px;flex-shrink:0;padding:8px 12px;border:1px solid #787878;border-radius:4px;background:#424242}.example-gallery-results li>button:not(:disabled):hover{background:#dfc449;color:#252525;border-color:#dfc449}.example-gallery-footer{padding:14px 24px;border-top:1px solid #505050;color:#d0d0d0;font-size:13px}.example-gallery-error{padding:12px 24px;background:#502d30;color:#ffdadb}.example-gallery-error button{margin-left:12px;padding:5px 10px;border:1px solid currentColor;background:transparent}@media(max-width:700px){.example-gallery-body{flex-direction:column}.example-gallery-categories{display:flex;gap:4px;width:100%;overflow-x:auto;flex-shrink:0}.example-gallery-categories button{width:auto;flex-shrink:0}.example-gallery-header{padding:16px}.example-gallery-search{margin:0 16px 16px}.example-gallery-results{padding:0 16px}}*{box-sizing:border-box}html,body,#root{width:100%;height:100%;overflow:hidden}body{margin:0;min-width:960px;background:#111315;color:#d9dde3;font-family:Segoe UI,Arial,sans-serif}button,input,select{font:inherit}.landing{position:fixed;top:0;right:0;bottom:0;left:0;display:grid;grid-template-columns:42% 58%;overflow:auto;color:#f6f5f0;background:#242424}.landing-copy{display:grid;grid-template-rows:auto 1fr;padding:clamp(28px,6vh,76px) clamp(32px,6.4vw,140px);border-right:1px solid #41413d;background:linear-gradient(121deg,transparent 76%,#ffffff08 76%),radial-gradient(ellipse at center,#32302b,#262625 82%)}.landing-header{display:flex;align-items:center;gap:12px;font-size:25px;font-weight:650;letter-spacing:-.045em}.landing-header img{object-fit:contain}.landing-header small{display:block;margin-top:1px;font-size:10px;letter-spacing:.34em;text-transform:uppercase;color:#e4c45c}.landing-intro{align-self:center;padding-block:48px}.landing-intro h1{max-width:14ch;margin:0;font-size:clamp(40px,3.6vw,77px);line-height:1.07;letter-spacing:-.052em;font-weight:650}.landing-intro p{max-width:45ch;margin:23px 0 0;font-size:clamp(16px,1.05vw,20px);line-height:1.55;color:#b9b8b2}.landing-intro .landing-error{color:#ffb5ab;overflow-wrap:anywhere}.landing-intro button{display:flex;align-items:center;justify-content:space-between;width:100%;margin-top:36px;padding:17px 20px;background:#e1c054;color:#252520;font-weight:650;cursor:pointer;border:0;border-radius:0}.landing-intro button:hover{background:#efd174}.landing :focus-visible{outline:2px solid #ffe390;outline-offset:4px}.landing-demo{min-width:0;min-height:420px;position:relative;background:radial-gradient(ellipse at center,#363635,#252525 85%)}.landing-demo .react-flow{position:absolute;top:0;right:0;bottom:0;left:0;background:transparent}.landing-demo .react-flow__pane{cursor:default;touch-action:pan-y}.landing-demo .react-flow__node{width:204px;padding:0;color:#f6f5f0;background:#222;text-align:left;border:1px solid #494946;border-radius:7px;box-shadow:0 9px 22px #0005;cursor:default}.landing-demo .react-flow__node-default{width:166px}.landing-demo .preview-title{display:block;padding:9px 12px;border-radius:6px 6px 0 0;background:#323231;font-size:14px;line-height:18px;font-weight:600}.landing-demo .preview-title:before{content:"";display:inline-block;width:7px;height:7px;margin-right:8px;vertical-align:1px;border-radius:50%;background:#dfbf59}.preview-content{padding:10px}.preview-content img,.preview-content canvas{display:block;width:100%;height:98px;object-fit:cover;border-radius:3px}.preview-content label{display:flex;justify-content:space-between;color:#d2d1c9;font-size:13px}.preview-content output{color:#efce68;font-variant-numeric:tabular-nums}.preview-content input{width:100%;margin:8px 0 0;height:22px;accent-color:#e2c252;cursor:pointer;pointer-events:auto}.landing-demo .react-flow__edge-path{stroke:#9f9673;stroke-width:2}.landing-demo .react-flow__handle{background:#d5bb69;border-color:#343432;width:8px;height:8px}@media(max-width:800px){.landing{display:block}.landing-copy{border:0;border-bottom:1px solid #41413d;padding:24px clamp(24px,7vw,56px) 32px}.landing-intro{padding:36px 0 0}.landing-intro h1{max-width:15ch}.landing-intro p{margin-top:16px}.landing-intro button{max-width:420px;margin-top:22px}.landing-demo{height:490px}}.studio-shell{height:100%;min-height:0;display:grid;grid-template-rows:78px 1fr;background:#15171a;overflow:hidden}.topbar{position:relative;z-index:10;border-bottom:1px solid #2a2f36;background:#1c2025}.menu-strip{height:28px;display:flex;align-items:center;gap:2px;padding:0 8px;color:#b9c0ca;font-size:13px}.menu-group{position:relative;height:100%;display:flex;align-items:center}.menu-title{height:24px;border:0;background:transparent;color:#cbd3dd;border-radius:4px;padding:0 9px;cursor:pointer}.menu-group.open .menu-title,.menu-title:focus-visible{background:#2a3038;color:#fff}.menu-popover{position:absolute;top:27px;left:0;min-width:210px;display:none;padding:5px;border:1px solid #39424d;border-radius:6px;background:#1a1f25;box-shadow:0 16px 36px #00000061}.menu-group.open .menu-popover{display:grid;gap:2px}.menu-popover button{width:100%;min-width:0;display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:8px;border:0;background:transparent;color:#dce3ec;border-radius:4px;padding:6px 8px;text-align:left;cursor:pointer}.menu-popover button:hover:not(:disabled),.menu-popover button:focus-visible:not(:disabled){background:#29323b;color:#fff}.menu-popover button:disabled{color:#717b89;cursor:default}.menu-popover button strong{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:500}.menu-popover button small{color:#8d9aaa;font-size:11px}.menu-popover button.checked small{color:#9bc79f;font-size:11px;font-weight:700}.menu-separator{height:1px;margin:4px 6px;background:#303842}.toolbar{height:50px;display:flex;align-items:center;gap:8px;padding:0 10px;border-top:1px solid #272c33}.toolbar-group{display:flex;align-items:center;gap:6px;padding-right:8px;border-right:1px solid #303842}.toolbar-group:last-of-type{border-right:0}.toolbar button,.catalog-item,.dock-tabs button{border:1px solid #39414c;background:#252b32;color:#edf1f5;border-radius:4px;padding:7px 10px;cursor:pointer}.toolbar .toolbar-icon-button{width:32px;height:32px;display:inline-grid;place-items:center;padding:0}.toolbar .toolbar-icon-button svg{display:block;stroke-width:2.1}.toolbar .toolbar-icon-button[aria-pressed=true]{border-color:#4c829d;background:#18303d;color:#c8edff}.toolbar .toolbar-icon-run{border-color:#386f46;background:#172a1c;color:#c6f2cf}.toolbar .toolbar-icon-run:hover:not(:disabled),.toolbar .toolbar-icon-run:focus-visible:not(:disabled){border-color:#55a868;background:#1f3a26;color:#e4fae9}.toolbar .toolbar-icon-stop{border-color:#7b4145;background:#321a1d;color:#f2b9bd}.toolbar .toolbar-icon-stop:hover:not(:disabled),.toolbar .toolbar-icon-stop:focus-visible:not(:disabled){border-color:#b85b63;background:#432126;color:#ffe1e3}.toolbar button:disabled{border-color:#39414c;background:#252b32;color:#737d8b;cursor:default}.toolbar .toolbar-icon-run:disabled{border-color:#304f38;background:#1a231d;color:#728f79}.toolbar .toolbar-icon-stop:disabled{border-color:#5a3438;background:#27191b;color:#9a676d}.toolbar button:hover:not(:disabled),.dock-tabs button:hover:not(:disabled),.catalog-item:hover:not(:disabled){border-color:#536171;background:#2f3740}.catalog-item:disabled,.widgets input:disabled,.widgets select:disabled,.widgets textarea:disabled{color:#737d8b;cursor:default;opacity:.72}.catalog-item:disabled{background:#1d2228}.file-input{display:none}.topbar-status{margin-left:auto;display:flex;align-items:center;gap:6px}.connection{margin-left:4px;padding:4px 8px;border:1px solid #3b434d;border-radius:4px;color:#aeb8c4;font-size:12px}.connection-error,.connection-recovery_failed,.connection-disconnected,.connection-critical{border-color:#7d4b4b;color:#e5b2b2;background:#2a1919}.connection-critical{cursor:pointer;font:inherit}.connection-critical:hover,.connection-critical:focus-visible{border-color:#b76b6b;color:#ffd1d1}.connection-connecting,.connection-initiating,.connection-reconnecting{border-color:#7a6b3e;color:#e1cf98;background:#272211}.workspace{min-height:0;display:grid;grid-template-columns:minmax(520px,1fr) auto;overflow:hidden}.workspace.chat-visible{grid-template-columns:auto minmax(300px,1fr) auto}.catalog-dock{width:360px;min-width:300px;max-width:50vw;min-height:0;overflow:hidden;background:#181b1f}.workspace.catalog-collapsed{grid-template-columns:minmax(520px,1fr)}.workspace.chat-visible.catalog-collapsed{grid-template-columns:auto minmax(520px,1fr)}.chat-dock{width:300px;min-width:260px;max-width:50vw;min-height:0;display:grid;grid-template-columns:minmax(0,1fr) 6px;grid-template-rows:56px minmax(0,1fr) auto;overflow:hidden;border-right:1px solid #2a2f36;background:#171a1f}.chat-header,.chat-feed,.chat-composer{grid-column:1}.chat-resize-handle{grid-column:2;grid-row:1 / -1;cursor:ew-resize;touch-action:none;border-left:1px solid #2a2f36;background:#171a1f}.chat-resize-handle:hover,.chat-resize-handle:focus-visible{outline:0;background:#4e8aaa}.chat-header{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:0 12px;border-bottom:1px solid #2a2f36;background:#1d2228}.chat-header>div{min-width:0;display:grid;gap:2px}.chat-header strong{color:#eef2f6;font-size:14px}.chat-state{flex:0 0 auto;color:#8e9aa8;font-size:11px;text-transform:capitalize}.chat-state-thinking,.chat-state-stopping{color:#b4a6df}.chat-feed{min-height:0;overflow-x:hidden;overflow-y:auto;display:grid;align-content:start;gap:10px;padding:12px}.chat-message{min-width:0;display:grid;gap:5px;padding:8px 10px;border:1px solid #323a44;border-radius:6px;background:#1d2228;color:#dce3eb;font-size:12px;line-height:1.45;white-space:pre-wrap;overflow-wrap:anywhere}.chat-message>small{color:#8996a5;font-size:10px;text-transform:capitalize}.chat-rich-text{min-width:0;white-space:normal}.chat-rich-text>:first-child{margin-top:0}.chat-rich-text>:last-child{margin-bottom:0}.chat-rich-text h1,.chat-rich-text h2,.chat-rich-text h3,.chat-rich-text h4,.chat-rich-text h5,.chat-rich-text h6{margin:12px 0 6px;color:#eef2f6;font-size:13px;line-height:1.3}.chat-rich-text p,.chat-rich-text blockquote,.chat-rich-text pre,.chat-rich-text ul,.chat-rich-text ol,.chat-rich-text table{margin:0 0 8px}.chat-rich-text ul,.chat-rich-text ol{padding-left:20px}.chat-rich-text code,.chat-rich-text pre{border-radius:3px;background:#11161b;font-family:Consolas,Courier New,monospace}.chat-rich-text code{padding:1px 3px}.chat-rich-text pre{overflow-x:auto;padding:7px;white-space:pre}.chat-rich-text blockquote{padding-left:8px;border-left:2px solid #596675;color:#aeb9c6}.chat-rich-text table{width:100%;border-collapse:collapse}.chat-rich-text th,.chat-rich-text td{padding:4px 5px;border:1px solid #3a424c;text-align:left}.chat-message-user{margin-left:24px;border-color:#415d78;background:#1b2936}.chat-message-assistant{margin-right:16px;border-left-color:#8070b4}.chat-message-system{border-color:#74474b;background:#291b1e;color:#efbec1}.chat-message .spin,.chat-tool .spin,.chat-thinking .spin{animation:studio-initializing-spin .9s linear infinite}.chat-thinking{display:flex;align-items:center;gap:7px;padding:6px 8px;color:#b4a6df;font-size:11px}.chat-tool{min-width:0;display:grid;grid-template-columns:16px minmax(0,1fr);align-items:start;gap:7px;padding:6px 8px;border-left:2px solid #596675;color:#aeb9c6;font-size:11px}.chat-tool>span{min-width:0;display:grid;gap:2px}.chat-tool strong{overflow:hidden;color:#cbd4de;font-weight:600;text-overflow:ellipsis;text-transform:capitalize;white-space:nowrap}.chat-tool small{color:#8996a5;overflow-wrap:anywhere}.chat-tool-complete{border-left-color:#4f8a61;color:#8bc79c}.chat-tool-failed{border-left-color:#9b5257;color:#e49da2}.chat-composer{display:grid;gap:7px;padding:10px;border-top:1px solid #2a2f36;background:#1a1e23}.chat-composer textarea{width:100%;min-width:0;min-height:70px;max-height:150px;resize:vertical;border:1px solid #3b4551;border-radius:5px;padding:8px 9px;background:#11161b;color:#edf1f5;font:inherit;font-size:12px;line-height:1.4}.chat-composer textarea:focus-visible{border-color:#7867b0;outline:1px solid #7867b0}.chat-composer textarea:disabled{color:#747f8c;cursor:not-allowed}.chat-actions{display:flex;justify-content:flex-end;gap:6px}.chat-actions button{width:32px;height:32px;display:grid;place-items:center;border:1px solid #3b4551;border-radius:4px;padding:0;background:#252c34;color:#d7dfe8;cursor:pointer}.chat-actions button:hover:not(:disabled),.chat-actions button:focus-visible:not(:disabled){border-color:#596879;background:#303944}.chat-actions button:disabled{color:#6f7884;cursor:default;opacity:.66}.chat-actions .chat-send{border-color:#625596;background:#2c2742;color:#ded6fa}.chat-actions .chat-stop{border-color:#7b4145;background:#321a1d;color:#f2b9bd}.catalog-dock{border-right:0;border-left:1px solid #2a2f36;display:grid;grid-template-columns:6px minmax(0,1fr);grid-template-rows:auto auto minmax(0,1fr)}.catalog-resize-handle{grid-column:1;grid-row:1 / -1;cursor:ew-resize;touch-action:none;border-right:1px solid #2a2f36;background:#171b20}.catalog-resize-handle:hover,.catalog-resize-handle:focus-visible{outline:0;background:#4e8aaa}.dock-tabs,.catalog-search,.catalog-list{grid-column:2}.dock-tabs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;padding:8px;border-bottom:1px solid #2a2f36;background:#171b20}.dock-tabs button.active{border-color:#536171;background:#303842;color:#fff}.dock-tabs button{display:inline-flex;align-items:center;justify-content:space-between;gap:6px;padding:6px 8px;font-size:12px;min-width:0}.dock-tabs button small{color:#8f9baa}.dock-tabs button span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.catalog-search{display:grid;grid-template-columns:minmax(0,1fr) 32px;gap:6px;padding:8px;border-bottom:1px solid #2a2f36;background:#171b20}.catalog-search input{width:100%;height:32px;min-width:0;border:1px solid #39414c;background:#12161b;color:#edf1f5;border-radius:4px;padding:7px 9px}.catalog-visibility-toggle{width:32px;height:32px;display:grid;place-items:center;border:1px solid #39414c;border-radius:4px;padding:0;background:#252b32;color:#aeb8c4;cursor:pointer}.catalog-visibility-toggle:hover,.catalog-visibility-toggle:focus-visible{border-color:#536171;background:#2f3740;color:#edf1f5}.catalog-visibility-toggle.active{border-color:#536171;background:#303842;color:#fff}.catalog-visibility-toggle svg{display:block;stroke-width:2.1}.catalog-list{min-height:0;overflow:hidden;padding:8px;display:grid;grid-auto-rows:minmax(112px,1fr);gap:8px}.catalog-section+.catalog-section{margin-top:0}.catalog-section{min-height:0;display:grid;grid-template-rows:28px minmax(0,1fr);overflow:hidden;border:1px solid #303842;border-radius:6px;background:#15191e}.catalog-section h3{margin:0;display:flex;align-items:center;justify-content:space-between;gap:8px;padding:0 8px;border-bottom:1px solid #2b333c;background:#20262d;color:#bac5d1;font-size:11px;font-weight:700;text-transform:uppercase}.catalog-section h3 small{color:#8592a2;font-weight:600}.catalog-section-items{min-height:0;overflow-x:hidden;overflow-y:auto;display:grid;align-content:start;gap:6px;padding:8px}.catalog-item{width:100%;min-width:0;display:flex;justify-content:space-between;align-items:center;gap:10px;text-align:left;min-height:34px;padding:7px 9px;background:#242a31}.catalog-item small{color:#93a0ad}.catalog-item span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.catalog-item-copy{display:grid;gap:2px;min-width:0}.catalog-item-copy small{overflow:hidden;color:#7f8b98;font-size:10px;text-overflow:ellipsis;white-space:nowrap}.catalog-item-code{flex:0 0 auto}.catalog-empty{border:1px dashed #3a424c;border-radius:4px;padding:12px;color:#8793a0;font-size:12px;text-align:center}.event-log{overflow:auto;padding:8px 10px;color:#aab4c0;font-size:12px;background:#161a1f}.event-log-panel{min-height:0;display:grid;grid-template-rows:6px minmax(0,1fr);overflow:hidden}.event-log-resize-handle{cursor:ns-resize;touch-action:none;border-top:1px solid #2a2f36;border-bottom:1px solid #2a2f36;background:#171b20}.event-log-resize-handle:hover,.event-log-resize-handle:focus-visible{outline:0;background:#4e8aaa}.canvas-event-log{min-height:0}.event-log-entry{display:grid;grid-template-columns:46px 48px minmax(0,1fr);align-items:baseline;gap:8px;min-height:20px}.event-log-source,.event-log-level{font-size:10px;font-weight:600;text-transform:uppercase}.event-log-source{color:#8090a0}.event-log-level{color:#82aee0}.event-log-message{min-width:0;overflow-wrap:anywhere;color:#bac4cf}.event-log-context{margin-right:6px;color:#8ea2b6;font-weight:600}.event-log-context:after{content:":"}.event-log-entry[data-level=warning] .event-log-level{color:#e3bc65}.event-log-entry[data-level=error] .event-log-level,.event-log-entry[data-level=critical] .event-log-level{color:#ef8b8b}.event-log-entry[data-level=debug] .event-log-level,.event-log-entry[data-level=event] .event-log-level{color:#7f8b98}.catalog-list,.catalog-section-items,.chat-feed,.event-log{scrollbar-width:thin;scrollbar-color:#52606f #161b21}.catalog-list::-webkit-scrollbar,.catalog-section-items::-webkit-scrollbar,.chat-feed::-webkit-scrollbar,.event-log::-webkit-scrollbar{width:9px;height:9px}.catalog-list::-webkit-scrollbar-track,.catalog-section-items::-webkit-scrollbar-track,.chat-feed::-webkit-scrollbar-track,.event-log::-webkit-scrollbar-track{background:#161b21;border-radius:999px}.catalog-list::-webkit-scrollbar-thumb,.catalog-section-items::-webkit-scrollbar-thumb,.chat-feed::-webkit-scrollbar-thumb,.event-log::-webkit-scrollbar-thumb{border:2px solid #161b21;border-radius:999px;background:#52606f}.catalog-list::-webkit-scrollbar-thumb:hover,.catalog-section-items::-webkit-scrollbar-thumb:hover,.chat-feed::-webkit-scrollbar-thumb:hover,.event-log::-webkit-scrollbar-thumb:hover{background:#6b7a8b}.canvas-column{--event-log-height: 118px;min-height:0;display:grid;grid-template-rows:minmax(0,1fr) clamp(72px,var(--event-log-height),60vh);overflow:hidden;background:#101316}.canvas-column.log-collapsed{grid-template-rows:minmax(0,1fr)}.canvas-wrap{position:relative;min-height:0;overflow:hidden;background:#101316}.node-performance{position:absolute;bottom:calc(100% + 9px);left:5px;right:5px;color:var(--studio-text);text-align:center;font-size:12px;font-variant-numeric:tabular-nums;pointer-events:none}.node-performance-track{height:12px;margin-top:4px;border:2px solid grey;border-radius:6px;overflow:hidden;background:#242424}.node-performance-track>div{height:100%;background:#fc3503}.canvas-wrap .react-flow{background:#101316}.canvas-wrap .react-flow__edge-path{stroke:#8796a8;stroke-width:2}.canvas-wrap .react-flow__node{background:transparent;border:0;box-shadow:none}.canvas-wrap .react-flow__node.selected .studio-node{border-color:#72b7e6;outline:2px solid rgba(80,159,214,.72);outline-offset:2px;box-shadow:0 0 0 1px #98d2f538,0 14px 34px #00000052}.canvas-wrap .ctrl-reconnect-ready .react-flow__node{pointer-events:none}.canvas-wrap .ctrl-reconnect-ready .react-flow__pane{cursor:default}.canvas-wrap .ctrl-reconnect-ready .react-flow__edgeupdater{cursor:grab;r:18px}.canvas-initializing{position:fixed;top:0;right:0;bottom:0;left:0;z-index:100;display:flex;align-items:center;justify-content:center;padding:24px;background:#0a0a0ac7;color:#dce5ee;font-size:13px;font-weight:600}.startup-splash{position:relative;width:min(740px,100%)}.startup-splash>video{width:100%;aspect-ratio:866 / 346;display:block}.startup-splash-status{position:absolute;bottom:5%;left:50%;display:flex;align-items:center;gap:7px;transform:translate(-50%);color:#fafafa;background:#0000008c;border-radius:8px;padding:5px 12px;font-size:11px;letter-spacing:.08em;white-space:nowrap}.startup-splash-status svg{color:#d3b800;animation:studio-initializing-spin .9s linear infinite}@media(prefers-reduced-motion:reduce){.startup-splash-status svg{animation:none}}@keyframes studio-initializing-spin{to{transform:rotate(360deg)}}.canvas-wrap .react-flow__minimap{background:#1a1e23;border:1px solid #34404b}.canvas-wrap .react-flow__controls{box-shadow:none;border:1px solid #34404b}.canvas-wrap .react-flow__controls-button{background:#242b33;border-bottom:1px solid #34404b;color:#e7edf4}.canvas-wrap .react-flow__controls-button svg{fill:currentColor}.studio-node{display:flex;flex-direction:column;min-width:160px;border:1px solid #4b5562;border-radius:6px;background:#232930;box-shadow:0 12px 30px #0000003d;-webkit-user-select:none;user-select:none;overflow:visible;contain:layout style}.studio-node-title{flex:0 0 30px;display:flex;align-items:center;padding:0 10px;border-bottom:1px solid #3c4652;border-radius:5px 5px 0 0;background:#303843;color:#f2f5f8;font-size:13px;font-weight:600}.studio-node-body{flex:1 1 auto;position:relative;min-height:44px;padding:10px 18px}.studio-handle{width:12px;height:12px;border:2px solid #dbe220;border-radius:50%;background:#15171a;z-index:2}.studio-handle.react-flow__handle-connecting,.studio-handle.react-flow__handle-valid{background:#dbe220}.socket-label{position:absolute;width:128px;max-width:128px;transform:translateY(calc(-50% + 12px));color:#aeb9c6;font-size:11px;line-height:1.3;overflow:hidden;pointer-events:none;text-overflow:ellipsis;white-space:nowrap;z-index:1}.socket-label-input{right:calc(100% + 16px);text-align:right}.socket-label-output{left:calc(100% + 16px);text-align:left}.widgets{display:grid;align-content:center;gap:8px;contain:paint}.widgets input,.widgets select,.widgets textarea{width:100%;min-width:0;border:1px solid #46515f;background:#161a1f;color:#f2f5f8;border-radius:4px;padding:6px 8px;text-align:center}.widgets input:not([type=range]):focus-visible,.widgets select:focus-visible,.widgets textarea:focus-visible{border-color:#65aaf0;outline:2px solid #65aaf0;outline-offset:-2px}.widgets textarea{min-height:76px;resize:none;text-align:left;line-height:1.35}.widgets input[type=range]{height:24px;border:0;padding:0;background:transparent;accent-color:#7aa2d6}.widgets select{cursor:pointer}.field-widget{display:grid;gap:5px;min-width:0}.field-widget-label{color:#c2ccd8;font-size:12px;line-height:1.2}.asset-picker-widget{display:grid;gap:6px;min-width:0}.asset-picker-button{display:flex;align-items:center;justify-content:center;gap:7px;width:100%;min-height:36px;border:1px solid #4b5866;border-radius:4px;background:#252c34;color:#e4eaf1;cursor:pointer}.asset-picker-button:hover:not(:disabled){border-color:#6f8296;background:#303944}.asset-picker-button:focus-visible{border-color:#65aaf0;outline:2px solid #65aaf0;outline-offset:-2px}.asset-picker-button:disabled{cursor:not-allowed;opacity:.55}.asset-picker-name{min-width:0;overflow:hidden;color:#9eabba;font-size:11px;line-height:1.2;text-overflow:ellipsis;white-space:nowrap}.browser-camera-widget{display:grid;gap:6px;min-width:210px}.browser-camera-controls{display:grid;grid-template-columns:minmax(0,1fr) 36px;gap:6px;min-width:0}.widgets .browser-camera-controls select{height:36px;text-align:left}.browser-camera-button{display:grid;width:36px;height:36px;place-items:center;border:1px solid #4b5866;border-radius:4px;background:#252c34;color:#d8e0e8;cursor:pointer}.browser-camera-button:hover:not(:disabled),.browser-camera-button:focus-visible:not(:disabled){border-color:#6f8296;background:#303944}.browser-camera-button.is-streaming{border-color:#9b5257;background:#47252a;color:#ffb5b8}.browser-camera-button:disabled{cursor:not-allowed;opacity:.55}.browser-camera-button .spin{animation:studio-initializing-spin .9s linear infinite}.browser-camera-status{min-width:0;overflow:hidden;color:#9eabba;font-size:11px;line-height:1.3;text-overflow:ellipsis;white-space:nowrap}.browser-camera-status.status-streaming{color:#8fd0a6}.browser-camera-status.status-error{color:#f0a3a8}.boolean-widget{display:flex;align-items:center;justify-content:space-between;gap:10px;min-height:36px;color:#dce3eb;cursor:pointer}.checkbox-widget{justify-content:flex-start}.widgets .boolean-widget-checkbox{width:16px;height:16px;min-width:16px;margin:0;padding:0;accent-color:#6fa8dc}.studio-switch-control{--switch-half-width: 32px;position:relative;width:calc(var(--switch-half-width) * 2 + 4px);height:22px;flex:0 0 auto;overflow:hidden;border:2px solid #000000;border-radius:11px;background:#000}.widgets .boolean-widget-switch{position:absolute;top:0;right:0;bottom:0;left:0;z-index:2;width:100%;height:100%;margin:0;padding:0;-webkit-appearance:none;-moz-appearance:none;appearance:none;border:0;background:transparent;cursor:pointer;opacity:0}.studio-switch-state{position:absolute;inset:0 auto 0 0;width:calc(var(--switch-half-width) + 10px);display:grid;place-items:center;border-radius:10px;background:#a4211c;color:#000;font-size:11px;line-height:1;pointer-events:none;transition:left .1s ease,background-color .1s ease}.widgets .boolean-widget-switch:checked+.studio-switch-state{left:calc(100% - var(--switch-half-width) - 10px);background:#52eb80}.studio-switch-control:has(.boolean-widget-switch:hover),.studio-switch-control:has(.boolean-widget-switch:focus-visible){border-color:#debd43}.studio-switch-control:has(.boolean-widget-switch:disabled){opacity:.55}.slider-widget,.range-widget{display:grid;gap:6px}.widget-label-row{display:flex;align-items:center;justify-content:space-between;gap:8px;color:#c2ccd8;font-size:12px;line-height:1.2}.widget-label-row span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.widget-label-row span:last-child{color:#91a2b5;font-variant-numeric:tabular-nums}.slider-widget-controls{display:grid;grid-template-columns:minmax(0,1fr);align-items:center}.line-edit-slider-control{--line-edit-slider-fill: 0%;position:relative;height:36px;overflow:hidden;border:1px solid #46515f;border-radius:4px;background:#161a1f;cursor:ew-resize;touch-action:none}.line-edit-slider-control:focus-within{border-color:#65aaf0;box-shadow:inset 0 0 0 1px #65aaf0}.line-edit-slider-fill{position:absolute;inset:0 auto 0 0;width:var(--line-edit-slider-fill);background:#444c56;pointer-events:none}.line-edit-slider-label{position:absolute;top:50%;left:10px;z-index:1;max-width:calc(58% - 14px);overflow:hidden;color:#aeb9c6;font-size:12px;line-height:1.2;pointer-events:none;text-overflow:ellipsis;transform:translateY(-50%);white-space:nowrap}.widgets .line-edit-slider-input{position:relative;z-index:1;height:100%;-webkit-appearance:textfield;-moz-appearance:textfield;appearance:textfield;border:0;border-radius:0;background:transparent;padding:6px 10px;cursor:ew-resize;font-variant-numeric:tabular-nums;outline:0;touch-action:none}.widgets .line-edit-slider-input.has-inline-label{padding-left:50%;text-align:right}.widgets .line-edit-slider-input:focus-visible{border:0;outline:0}.widgets .line-edit-slider-input::-webkit-inner-spin-button,.widgets .line-edit-slider-input::-webkit-outer-spin-button{margin:0;-webkit-appearance:none;-moz-appearance:none;appearance:none}.range-slider{position:relative;height:30px}.range-slider-track{position:absolute;top:50%;right:6px;left:6px;height:7px;overflow:hidden;border:1px solid #787878;background:#e6e6e6;transform:translateY(-50%)}.range-slider-selection{position:absolute;inset:0 calc(100% - var(--range-high)) 0 var(--range-low);background:#debd43}.widgets input.range-slider-input{position:absolute;top:0;right:0;bottom:0;left:0;z-index:2;width:100%;height:30px;margin:0;padding:0;-webkit-appearance:none;-moz-appearance:none;appearance:none;border:0;background:transparent;pointer-events:none}.widgets input.range-slider-high{z-index:3}.widgets input.range-slider-input::-webkit-slider-runnable-track{height:7px;background:transparent}.widgets input.range-slider-input::-webkit-slider-thumb{width:12px;height:22px;margin-top:-8px;-webkit-appearance:none;-moz-appearance:none;appearance:none;border:1px solid #171717;border-radius:10px;background:#323232;cursor:ew-resize;pointer-events:auto}.widgets input.range-slider-input::-moz-range-track{height:7px;background:transparent}.widgets input.range-slider-input::-moz-range-thumb{width:12px;height:22px;border:1px solid #171717;border-radius:10px;background:#323232;cursor:ew-resize;pointer-events:auto}.widgets input.range-slider-input:focus-visible::-webkit-slider-thumb,.widgets input.range-slider-input:hover::-webkit-slider-thumb{border-color:#debd43}.widgets input.range-slider-input:focus-visible::-moz-range-thumb,.widgets input.range-slider-input:hover::-moz-range-thumb{border-color:#debd43}.display-label{min-height:18px;color:#b8c2ce;font-size:12px;line-height:1.35;white-space:pre-wrap;overflow-wrap:anywhere}.display-value,.unsupported{display:block;min-height:28px;border:1px solid #3c4652;background:#171b20;border-radius:4px;padding:6px 8px;color:#dbe3ee;white-space:pre-wrap;overflow-wrap:anywhere}.unsupported{color:#f0b8b8}.led-widget{display:flex;align-items:center;gap:12px;min-height:42px;color:#dbe3ee}.led-indicator{width:28px;height:28px;flex:0 0 28px;border:2px solid #87929f;border-radius:50%}.table-widget{min-width:0;margin:0;border:1px solid #3c4652;border-radius:4px;padding:6px}.table-widget legend{max-width:100%;padding:0 4px;overflow:hidden;color:#c2ccd8;font-size:12px;text-overflow:ellipsis;white-space:nowrap}.table-widget-items{display:grid;gap:4px;max-height:138px;overflow-y:auto;scrollbar-color:#596572 #171b20;scrollbar-width:thin}.table-widget-items label{display:flex;align-items:center;gap:7px;min-width:0;color:#dbe3ee;font-size:12px}.widgets .table-widget-items input{width:14px;height:14px;min-width:14px;margin:0;padding:0}.table-widget-items span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.scope-widget{width:100%;height:92px;overflow:hidden;border:1px solid #3c4652;border-radius:4px;background:linear-gradient(rgba(126,143,161,.1) 1px,transparent 1px),linear-gradient(90deg,rgba(126,143,161,.1) 1px,transparent 1px),#11161b;background-size:24px 21px;contain:paint}.scope-widget svg{display:block;width:100%;height:100%}.image-preview{width:100%;min-height:180px;display:grid;place-items:center;overflow:hidden;border:1px solid #3c4652;border-radius:4px;background:#0f1216;contain:paint}.image-preview img{display:block;width:100%;height:auto;max-height:300px;object-fit:contain;transform:translateZ(0)}.image-preview-media{position:relative;width:100%;max-height:300px;outline:0}.image-preview-media.is-interactive{cursor:crosshair;touch-action:none}.image-preview-media.is-interactive:focus-visible{box-shadow:inset 0 0 0 2px #65aaf0}.image-preview-overlay{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;pointer-events:none}.image-preview-overlay :is(rect,polygon,polyline,circle){fill-opacity:.2;stroke-width:2;vector-effect:non-scaling-stroke;filter:drop-shadow(0 0 1px #000)}.image-preview-drag-selection{position:absolute;border:1px solid #72d99c;background:#3db96f24;box-shadow:0 0 0 1px #080c10bf;pointer-events:none}.image-preview-drag-selection.is-circle{border-radius:50%}.image-preview-empty{width:100%;height:180px;background:linear-gradient(45deg,rgba(255,255,255,.04) 25%,transparent 25%),linear-gradient(-45deg,rgba(255,255,255,.04) 25%,transparent 25%),linear-gradient(45deg,transparent 75%,rgba(255,255,255,.04) 75%),linear-gradient(-45deg,transparent 75%,rgba(255,255,255,.04) 75%),#11151a;background-position:0 0,0 10px,10px -10px,-10px 0;background-size:20px 20px}:root{--studio-window: #474747;--studio-bar: #303030;--studio-panel: #292929;--studio-control: #555555;--studio-control-hover: #616161;--studio-border: #333333;--studio-gold: #debd43;--studio-text: #e6e6e6;--studio-muted: #9b9b9b}body{background:var(--studio-bar);color:var(--studio-text)}.studio-shell{grid-template-rows:92px minmax(0,1fr);background:var(--studio-window)}.topbar{border-bottom:1px solid #252525;background:var(--studio-bar)}.menu-strip{position:relative;z-index:2;height:34px;gap:0;padding:0 8px 0 4px;color:#fff;font-size:14px}.studio-brand-link{height:100%;display:flex;align-items:center;margin-right:6px}.studio-brand-link:focus-visible{outline:1px solid var(--studio-gold);outline-offset:-2px}.studio-brand{width:56px;height:32px;object-fit:contain}.menu-title{height:30px;border:1px solid #2e2e2e;border-bottom:0;border-radius:4px;padding:0 13px;color:#fff}.menu-group.open .menu-title,.menu-title:focus-visible{background:#6e6e6e;color:#fff}.menu-account{min-width:0;height:100%;display:flex;align-items:center;gap:6px;margin-left:auto}.menu-account .menu-popover{right:0;left:auto;min-width:140px}.menu-account .toolbar-icon-button{width:28px;height:28px;display:grid;place-items:center;padding:0;border:1px solid #444444;border-radius:3px;background:#383838;color:#eee}.menu-account .toolbar-icon-button:hover,.menu-account .toolbar-icon-button:focus-visible{border-color:var(--studio-gold);outline:0;background:var(--studio-control-hover)}.menu-account .menu-popover a{width:100%;min-width:0;display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:8px;padding:6px 8px;color:#eee;text-align:left;text-decoration:none}.menu-account .menu-popover a:hover,.menu-account .menu-popover a:focus-visible{outline:0;background:var(--studio-control-hover)}.menu-popover{z-index:3;top:33px;padding:3px;border:1px solid #2e2e2e;border-radius:0;background:var(--studio-window);box-shadow:0 10px 24px #00000073}.menu-popover button{border-radius:0;color:#eee}.menu-popover button:hover:not(:disabled),.menu-popover button:focus-visible:not(:disabled){background:var(--studio-control-hover)}.menu-popover button:disabled{color:#6e6e6e}.toolbar{position:relative;z-index:1;height:58px;gap:2px;padding:3px 10px;border-top:0;background:var(--studio-bar)}.toolbar-group{height:46px;gap:7px;padding:0 12px 0 0;margin-right:8px;border-right:1px solid #444444}.toolbar-group-final{border-right:0}.toolbar .toolbar-image-button{width:30px;height:30px;display:grid;place-items:center;padding:3px;border:0;border-radius:8px;background:transparent}.toolbar .toolbar-image-button img{width:20px;height:20px;display:block;object-fit:contain}.toolbar .toolbar-image-button:hover:not(:disabled),.toolbar .toolbar-image-button:focus-visible:not(:disabled),.toolbar .toolbar-image-button[aria-pressed=true]{border:0;outline:0;background:#696500}.toolbar .toolbar-image-button:active:not(:disabled){background:#444}.toolbar .toolbar-image-button:disabled{border:0;background:transparent;color:inherit;opacity:.34}.toolbar .toolbar-ai-chat,.toolbar .toolbar-ai-chat[aria-pressed=true]{border-radius:5px;background:linear-gradient(135deg,#6d4fff,#5dd1ff)}.toolbar .toolbar-ai-chat img{filter:brightness(0) invert(1)}.toolbar .toolbar-ai-chat[aria-pressed=true]{box-shadow:inset 0 0 0 1px #ffffff91}.toolbar .toolbar-ai-chat:is(:hover,:focus-visible):not(:disabled){background:linear-gradient(135deg,#6550dd,#53b7df)}.toolbar .toolbar-ai-chat:focus-visible:not(:disabled){outline:2px solid white}.demo-runtime-clock{padding-inline:5px;color:var(--studio-text);font-variant-numeric:tabular-nums;white-space:nowrap}.topbar-status{gap:4px}.connection{margin-left:2px;padding:3px 6px;border-color:#555;border-radius:2px;background:#383838;font-size:11px}.topbar-status .connection-critical{border-color:#7d4b4b;color:#e5b2b2;background:#4a2929}.workspace{background:var(--studio-window)}.workspace.chat-visible{grid-template-columns:auto minmax(340px,1fr) auto}.chat-dock{width:clamp(300px,25vw,520px);min-width:280px;grid-template-columns:minmax(0,1fr) 5px;grid-template-rows:40px minmax(0,1fr) auto;border-right-color:var(--studio-border);background:#1d1d1d}.catalog-dock{width:clamp(340px,23vw,520px);min-width:320px;grid-template-columns:5px minmax(0,1fr);grid-template-rows:40px 36px 42px minmax(0,1fr);border-left-color:var(--studio-border);background:var(--studio-window);-webkit-user-select:none;user-select:none}.catalog-dock input,.catalog-dock textarea,.catalog-dock [contenteditable=true]{-webkit-user-select:text;user-select:text}.dock-title{min-width:0;height:40px;display:flex;align-items:center;justify-content:space-between;gap:8px;padding:0 10px;border-bottom:1px solid #242424;background:var(--studio-bar);color:#eee;font-size:13px;font-weight:700}.catalog-title,.dock-tabs-shell,.catalog-search,.catalog-list{grid-column:2}.chat-header{height:40px;padding:0 10px;border-bottom-color:#242424;background:var(--studio-bar)}.chat-header strong{color:#eee;font-size:13px}.chat-state{color:#b4b4b4}.chat-feed{gap:8px;padding:12px 16px;background:#1d1d1d}.chat-feed-empty{align-content:center;padding:28px 24px}.chat-onboarding{width:100%;max-width:420px;display:grid;justify-self:center}.chat-onboarding-mark{margin-bottom:22px;color:var(--studio-gold)}.chat-onboarding h2{margin:0;color:#f3f3f3;font-size:clamp(24px,2.1vw,34px);line-height:1.08;letter-spacing:-.03em}.chat-onboarding p{margin:12px 0 0;color:#a4a4a4;font-size:13px;line-height:1.65}.chat-capabilities-loading{display:flex;align-items:center;justify-content:center;gap:9px;min-height:100%;color:#a4a4a4;font-size:13px}.chat-capabilities-loading .spin{color:var(--studio-gold)}.chat-starters{margin-top:26px;border-top:1px solid #3b3b3b}.chat-starter{width:100%;min-height:56px;display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:12px;padding:12px 2px;border:0;border-bottom:1px solid #3b3b3b;background:transparent;color:#ddd;font:inherit;font-size:13px;text-align:left;cursor:pointer}.chat-starter svg{color:#8b8b8b}.chat-starter:hover,.chat-starter:focus-visible{outline:0;background:#272727;color:#fff}.chat-starter:hover svg,.chat-starter:focus-visible svg{color:var(--studio-gold)}.chat-message{border-color:#444;border-radius:3px;background:#252525;color:var(--studio-text)}.chat-message-user{border-color:#3d6176;background:#23313a}.chat-composer{gap:9px;margin:12px 12px 16px;padding:14px 14px 12px;border:1px solid #444444;border-radius:18px;background:#151719}.chat-composer:focus-within{border-color:#666}.chat-composer textarea{min-height:72px;max-height:140px;resize:none;border:0;padding:4px 6px;background:transparent;color:var(--studio-text)}.chat-composer textarea:focus-visible{border-color:transparent;outline:0}.chat-actions button{width:36px;height:36px;border-color:#555;border-radius:12px;background:var(--studio-control);color:var(--studio-text)}.chat-actions .chat-send{border-color:#555;background:var(--studio-gold);color:#202020}.chat-actions .chat-send:disabled{border-color:#383a36;background:#30322e;color:#777b74;opacity:1}.chat-resize-handle,.catalog-resize-handle,.event-log-resize-handle{border-color:var(--studio-border);background:var(--studio-control)}.chat-resize-handle:hover,.chat-resize-handle:focus-visible,.catalog-resize-handle:hover,.catalog-resize-handle:focus-visible,.event-log-resize-handle:hover,.event-log-resize-handle:focus-visible{background:var(--studio-text)}.dock-tabs-shell{min-width:0;height:36px;display:grid;grid-template-columns:minmax(0,1fr) 58px}.dock-tabs{min-width:0;height:36px;grid-column:1;display:flex;align-items:flex-start;gap:0;overflow-x:auto;scrollbar-width:none;padding:0;border-bottom:1px solid var(--studio-border);background:var(--studio-window)}.dock-tabs::-webkit-scrollbar{display:none}.dock-tab-scroll-controls{height:36px;display:grid;grid-template-columns:repeat(2,1fr);border-bottom:1px solid var(--studio-border);border-left:1px solid var(--studio-border);background:var(--studio-window)}.dock-tab-scroll-controls button{display:grid;place-items:center;padding:0;border:0;border-left:1px solid var(--studio-border);border-radius:0;background:var(--studio-window);color:#ccc}.dock-tab-scroll-controls button:first-child{border-left:0}.dock-tab-scroll-controls button:hover,.dock-tab-scroll-controls button:focus-visible{outline:0;background:var(--studio-control-hover);color:#fff}.dock-tabs button{min-width:max-content;height:36px;justify-content:center;padding:0 14px;border:0;border-left:1px solid var(--studio-border);border-radius:0;background:var(--studio-window);color:#ccc;font-size:12px;font-weight:400}.dock-tabs button.active,.dock-tabs button:hover:not(:disabled){border-color:var(--studio-border);background:var(--studio-gold);color:var(--studio-window);font-weight:700}.dock-tabs button small{display:none}.catalog-search{height:42px;padding:5px 7px;border-bottom-color:var(--studio-border);background:var(--studio-window)}.catalog-search input{height:30px;border:0;border-bottom:1px solid #3a3a3a;border-radius:2px;background:#5a5a5a;color:var(--studio-text)}.catalog-search input:hover,.catalog-search input:focus-visible{border-color:var(--studio-gold);outline:0}.catalog-visibility-toggle{width:30px;height:30px;border:0;border-radius:2px;background:var(--studio-control);color:var(--studio-text)}.catalog-visibility-toggle.active,.catalog-visibility-toggle:hover,.catalog-visibility-toggle:focus-visible{border:0;background:var(--studio-gold);color:var(--studio-window)}.catalog-list{display:block;overflow-x:hidden;overflow-y:auto;padding:0;background:var(--studio-window)}.catalog-section{display:block;overflow:visible;border:0;border-radius:0;background:var(--studio-window)}.catalog-section h3{height:34px;padding:0 10px;border-top:1px solid var(--studio-border);border-bottom:1px solid var(--studio-border);background:var(--studio-bar);color:#eee;font-size:12px;text-transform:none}.catalog-section h3 small{display:none}.catalog-section-actions{display:flex;align-items:center}.catalog-section-toggle{width:26px;height:26px;padding:0;display:grid;place-items:center;border:0;background:transparent;color:#ddd}.catalog-section-toggle:hover{background:#4a4a4a}.catalog-section-items{display:block;overflow:visible;padding:0}.catalog-item{min-height:32px;padding:5px 10px;border:0;border-radius:0;background:var(--studio-window);color:var(--studio-text);font-size:12px}.catalog-item:hover:not(:disabled),.catalog-item:focus-visible:not(:disabled){border:0;outline:0;background:var(--studio-gold);color:var(--studio-window)}.catalog-item-code{display:none}.catalog-item:disabled{background:#3c3c3c;color:#777}.scene-workspace{min-height:0;display:grid;grid-template-columns:minmax(0,1fr);overflow:hidden;background:var(--studio-window)}.scene-document{min-width:0;min-height:0;display:grid;grid-template-rows:34px 32px minmax(0,1fr);overflow:hidden;border:1px solid var(--studio-border)}.scene-document-title{display:grid;place-items:center;border-bottom:1px solid #242424;background:var(--studio-window);color:#eee;font-size:12px;font-weight:700}.scenario-tabs-bar{min-width:0;display:flex;align-items:stretch;position:relative;border-bottom:1px solid #242424;background:#303030}.scenario-tabs{min-width:0;flex:1 1 auto;display:flex;align-items:stretch;overflow-x:auto;overflow-y:hidden;scrollbar-width:none}.scenario-tabs::-webkit-scrollbar{display:none}.scenario-tab{flex:0 0 auto;display:flex;align-items:stretch;background:#333}.scenario-tab.active{background:#474747}.scenario-tab>button,.scenario-tab-add{border:0;border-radius:0;background:transparent;color:#eee}.scenario-tab>button:first-child{min-width:80px;max-width:220px;padding:0 8px 0 12px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;text-align:left}.scenario-tab:hover,.scenario-tab.active:hover{background:#555}.scenario-tab-close{width:26px;padding:0;font-size:17px}.scenario-tab-close:hover:not(:disabled),.scenario-tab-add:hover:not(:disabled){background:#666}.scenario-tab-close:disabled{visibility:hidden}.scenario-tab-add{flex:0 0 34px;font-size:18px}.scenario-removed-menu{position:relative;flex:0 0 auto;margin-left:auto}.scenario-removed-trigger{height:100%;padding:0 10px;border:0;border-left:1px solid #202020;border-radius:0;background:#303030;color:#ddd;font-size:12px}.scenario-removed-trigger:hover:not(:disabled){background:#454545}.scenario-removed-popover{position:absolute;top:100%;right:0;z-index:30;width:230px;padding:4px;border:1px solid #202020;background:#303030;box-shadow:0 7px 18px #00000073}.scenario-removed-item{display:flex;min-width:0}.scenario-removed-restore,.scenario-removed-delete{border:0;border-radius:0;background:transparent;color:#ddd}.scenario-removed-restore{min-width:0;flex:1 1 auto;padding:7px 8px;overflow:hidden;text-align:left;text-overflow:ellipsis;white-space:nowrap}.scenario-removed-delete{flex:0 0 30px;display:grid;place-items:center;padding:0;color:#c99b9b}.scenario-removed-restore:hover,.scenario-removed-delete:hover{background:#4a4a4a}.canvas-column{--event-log-height: 164px;background:var(--studio-window)}.canvas-wrap,.canvas-wrap .react-flow{background:#3b3b3b}.canvas-wrap .react-flow__edge-path{stroke:#5bea32;stroke-width:2.5}.canvas-wrap .react-flow__node.selected .studio-node{border-color:var(--studio-gold);outline:1px solid var(--studio-gold);box-shadow:0 0 0 1px #debd4340,0 10px 22px #00000061}.canvas-quick-add{position:absolute;z-index:20;width:280px;padding:8px;border:1px solid #222222;background:#292929f7;box-shadow:0 8px 24px #00000080;color:var(--studio-text)}.canvas-quick-add label{display:block;margin-bottom:6px;color:#eee;font-size:12px}.canvas-quick-add input{width:100%;height:30px;padding:4px 8px;border:1px solid var(--studio-border);border-radius:0;outline:0;background:var(--studio-control);color:var(--studio-text)}.canvas-quick-add input:focus{border-color:var(--studio-gold)}.canvas-quick-add-results{max-height:190px;margin-top:6px;overflow-y:auto}.canvas-quick-add-results button{width:100%;min-height:32px;display:flex;align-items:center;justify-content:space-between;gap:8px;padding:5px 8px;border:0;border-radius:0;background:transparent;color:var(--studio-text);text-align:left}.canvas-quick-add-results button.active{background:var(--studio-gold);color:var(--studio-window)}.canvas-quick-add-results small{overflow:hidden;color:inherit;font-size:10px;opacity:.72;text-overflow:ellipsis;white-space:nowrap}.canvas-wrap .react-flow__minimap,.canvas-wrap .react-flow__controls{border-color:var(--studio-border);border-radius:0;background:#303030e6}.canvas-wrap .react-flow__controls-button{border-bottom-color:var(--studio-border);background:var(--studio-window);color:var(--studio-text)}.studio-node{border:2px solid #1e1e1e;border-radius:8px;background:#202020;box-shadow:0 5px 10px #00000073}.studio-node-title{flex-basis:30px;border-bottom:1px solid #202020;border-radius:6px 6px 0 0;background:linear-gradient(180deg,var(--node-accent),#202020);color:#fff;text-shadow:0 1px 2px #000000}.studio-node-body{background:#202020}.studio-handle{width:12px;height:15px;border:0}.studio-handle.react-flow__handle-left{transform:translate(-100%,-50%);border-radius:8px 0 0 8px}.studio-handle.react-flow__handle-right{transform:translate(100%,-50%);border-radius:0 8px 8px 0}.socket-label{width:max-content;transform:translateY(-50%);padding:2px 5px;border-radius:2px;background:#1f1f1fb8;color:#eee}.widgets input,.widgets select,.widgets textarea,.display-value,.unsupported{border:0;border-bottom:1px solid #3a3a3a;border-radius:2px;background:var(--studio-control);color:var(--studio-text)}.widgets input:not([type=range]):focus-visible,.widgets select:focus-visible,.widgets textarea:focus-visible{border-color:var(--studio-gold);outline:0}.event-log-panel{grid-template-rows:6px 34px minmax(0,1fr);background:var(--studio-panel)}.event-log-title{height:34px;grid-row:2}.canvas-event-log{grid-row:3}.event-log{padding:7px 9px;background:var(--studio-panel);color:#ccc}.event-log-entry{grid-template-columns:50px 58px minmax(0,1fr);min-height:19px}.event-log-message{color:#ccc}.event-log-entry[data-level=warning] .event-log-level,.event-log-entry[data-level=warning] .event-log-message{color:var(--studio-gold)}.catalog-list,.catalog-section-items,.chat-feed,.event-log{scrollbar-width:auto;scrollbar-color:#646464 #b4b4b4}.catalog-list::-webkit-scrollbar,.catalog-section-items::-webkit-scrollbar,.chat-feed::-webkit-scrollbar,.event-log::-webkit-scrollbar{width:12px;height:12px}.catalog-list::-webkit-scrollbar-track,.catalog-section-items::-webkit-scrollbar-track,.chat-feed::-webkit-scrollbar-track,.event-log::-webkit-scrollbar-track{border-radius:0;background:#b4b4b4}.catalog-list::-webkit-scrollbar-thumb,.catalog-section-items::-webkit-scrollbar-thumb,.chat-feed::-webkit-scrollbar-thumb,.event-log::-webkit-scrollbar-thumb{border:0;border-radius:2px;background:#646464}@media(max-width:1400px){.chat-dock{width:300px}.catalog-dock{width:340px}}.scene-navigation{display:flex;align-items:center;gap:4px;min-width:0;padding:0 6px;background:var(--studio-window);border-bottom:1px solid var(--studio-border);font-size:12px}.scene-navigation button{display:inline-flex;align-items:center;padding:4px 6px;border:0;background:transparent;color:#ccc}.scene-navigation button:hover:not(:disabled){background:#454545}.scene-navigation button:disabled{opacity:.45}.scene-navigation button[aria-current]{color:#e2c647}.scene-breadcrumbs{display:flex;flex:1;min-width:0;overflow-x:auto}.scene-breadcrumbs>span{display:inline-flex;align-items:center;white-space:nowrap}.scene-navigation select{max-width:180px;min-width:70px;background:#3c3c3c;color:#eee;border:1px solid var(--studio-border);font-size:inherit}.scene-navigation :focus-visible{outline:2px solid #e2c647;outline-offset:-2px}.subsystem-open{color:#ddd;background:#383838;border:1px solid #555555;font-size:11px;padding:4px 8px}
