.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:#555;--xy-background-pattern-lines-color-default:#333;--xy-background-pattern-cross-color-default:#333;--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;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{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{color:#26324a;font-synthesis:none;--blue:#4168de;--muted:#7b8598;--border:#e7eaf0;background:#f6f7fa;font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-weight:400}*{box-sizing:border-box}body{margin:0}button,input,select{font:inherit}button,a,select,input{-webkit-tap-highlight-color:transparent}button{cursor:pointer;color:inherit}button:disabled{opacity:.35;cursor:default}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible{outline-offset:3px;outline:3px solid #7997ef}a{color:inherit;text-decoration:none}button{background:0 0;border:0}input,select{min-width:0}button svg{flex-shrink:0}p{line-height:1.6}.app-header{border-bottom:1px solid var(--border);z-index:3;background:#fff;align-items:center;gap:22px;height:76px;padding:0 30px;display:flex;position:relative}.brand{letter-spacing:-1px;color:#24324c;align-items:center;gap:9px;font-size:24px;font-weight:740;display:flex}.brand>span:last-child{color:var(--blue);margin-left:-9px}.brand-symbol{background:var(--blue);color:#fff;border-radius:11px;place-items:center;width:35px;height:35px;margin-right:2px;display:grid}.header-divider{background:var(--border);width:1px;height:24px;margin-left:8px}.project-breadcrumb{color:#8790a2;align-items:center;gap:13px;font-size:12px;display:flex}.project-breadcrumb strong{color:#47516a;font-weight:550}.local-badge{color:#50745e;background:#f2f7f3;border-radius:6px;align-items:center;gap:7px;margin-left:auto;padding:7px 10px;font-size:11px;display:flex}.local-badge>span,.analysis-badge>span{background:#57a37d;border-radius:50%;width:5px;height:5px}.icon-button{color:#7c879a;border-radius:6px;justify-content:center;align-items:center;min-width:30px;min-height:30px;display:inline-flex}.icon-button:hover{background:#f1f3f9}.avatar{color:#6579b1;background:#edf0fa;border-radius:50%;place-items:center;width:31px;height:31px;font-size:12px;font-weight:650;display:grid}.workspace-shell{min-height:calc(100vh - 76px);display:flex}.library-sidebar{border-right:1px solid var(--border);background:#fff;flex-direction:column;flex-shrink:0;width:232px;padding:33px 18px 24px;display:flex}.sidebar-label{letter-spacing:1.45px;color:#929aad;margin-bottom:15px;padding-left:13px;font-size:9px;font-weight:700}.sidebar-nav{text-align:left;color:#737d92;border-radius:7px;align-items:center;gap:10px;width:100%;margin-bottom:5px;padding:13px 12px;font-size:12px;display:flex}.sidebar-nav.active{color:#4164d3;background:#eef2fe;font-weight:600}.sidebar-nav span{opacity:.65;margin-left:auto;font-size:10px}.sidebar-nav:hover,.library-item:hover{background:#f3f5fa}.sidebar-separator{background:var(--border);height:1px;margin:25px 10px 28px}.library-heading{justify-content:space-between;padding-right:10px;display:flex}.library-heading span{letter-spacing:0;background:#f0f2f6;border-radius:4px;padding:2px 6px;font-size:9px}.sidebar-hint{color:#929bad;margin:-3px 12px 20px;font-size:11px}.library-item{text-align:left;border:1px solid var(--border);border-radius:8px;align-items:center;gap:10px;width:100%;margin-bottom:10px;padding:12px 9px;display:flex}.library-icon{color:#8393ac;background:#f1f4fa;border-radius:7px;flex-shrink:0;place-items:center;width:34px;height:37px;display:grid}.library-item>span:nth-child(2){flex:1;min-width:0}.library-item strong{font-size:11px;font-weight:650;display:block}.library-item small{color:#929bad;margin-top:5px;font-size:9px;display:block}.library-item>svg{color:#a3acbc}.purple{color:#a28aba!important;background:#f4f0fb!important}.library-note{color:#a0a8b8;align-items:flex-start;gap:7px;margin:11px 10px;display:flex}.library-note>svg{flex-shrink:0;margin-top:3px}.library-note p{margin:0;font-size:10px;line-height:1.7}.sidebar-bottom{color:#7b8698;margin:auto 12px 0;padding-top:80px;font-size:10px}.private-dot{background:#7da18c;border-radius:50%;width:5px;height:5px;margin-right:6px;display:inline-block}.sidebar-bottom p{color:#a2a9b7;margin:8px 0 16px;font-size:9px}.sidebar-bottom button{color:#6981b3;align-items:center;gap:6px;padding:0;font-size:10px;display:flex}.main-workspace{width:calc(100% - 232px);max-width:1840px;margin:auto;padding:35px 34px 0}.workspace-intro{justify-content:space-between;align-items:center;margin-bottom:26px;display:flex}.eyebrow{letter-spacing:2.2px;color:#8994a9;margin-bottom:12px;font-size:9px;font-weight:650}h1{letter-spacing:-1.2px;color:#283751;margin:0;font-size:30px;font-weight:620}h1>span{color:#6483df}.workspace-intro p{color:#929aab;margin:9px 0 0;font-size:12px}.button{border:1px solid var(--border);background:#fff;border-radius:7px;justify-content:center;align-items:center;gap:8px;padding:11px 14px;font-size:11px;font-weight:550;transition:background .15s;display:flex}.button:hover{background:#f1f4ff}.button.primary{color:#fff;background:#4168dd;border-color:#4168dd;box-shadow:0 3px 7px #4168dd1a}.button.primary:hover{background:#3259cc}.studio{background:#fff;border:1px solid #e1e6ef;border-radius:12px;overflow:hidden;box-shadow:0 5px 15px #33456403}.studio-toolbar{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;height:58px;padding:0 19px;display:flex}.project-title{align-items:center;gap:8px;min-width:0;display:flex}.project-dot{background:#7995df;border-radius:2px;width:7px;height:7px}.project-title input{color:#4b5871;background:0 0;border:0;width:145px;padding:6px 2px;font-size:11px;font-weight:600}.draft-badge{color:#a0a8b7;background:#f4f5f8;border-radius:4px;padding:4px 6px;font-size:8px}.toolbar-actions{align-items:center;gap:15px;display:flex}.toolbar-line{background:var(--border);width:1px;height:16px}.text-button{color:#8590a4;align-items:center;gap:6px;padding:5px 0;font-size:10px;display:flex}.text-button:hover{color:var(--blue)}.hidden{display:none}.studio-body{min-height:585px;display:flex}.canvas-wrap{background:#fbfcfe;flex:1;min-width:0;min-height:585px;position:relative}.canvas-wrap .react-flow{position:absolute;inset:0}.canvas-label{z-index:2;color:#8995a9;pointer-events:none;align-items:center;gap:8px;font-size:10px;display:flex;position:absolute;top:23px;left:22px}.canvas-step{color:#7c8da9;background:#f0f3f8;border:1px solid #e6eaf2;border-radius:5px;padding:3px 5px;font-size:9px}.canvas-count{color:#a0a9b8;border-left:1px solid #e1e5ee;margin-left:3px;padding-left:10px;font-size:8px}.canvas-tip{color:#9ca6b8;white-space:nowrap;pointer-events:none;align-items:center;gap:7px;font-size:9px;display:flex;position:absolute;bottom:23px;left:50%;transform:translate(-50%)}.canvas-legend{color:#a0a9b7;pointer-events:none;gap:12px;font-size:8px;display:flex;position:absolute;bottom:64px;right:20px}.canvas-legend>span{align-items:center;gap:5px;display:flex}.legend-device{border:1px solid #9faabd;border-radius:2px;width:6px;height:6px}.legend-link{background:#86a0df;width:13px;height:2px}.react-flow__controls{border:1px solid #e8ecf4;border-radius:7px;bottom:15px;left:9px;overflow:hidden;box-shadow:0 1px 7px #23334d0d}.react-flow__controls-button{fill:#7d8ba4!important;background:#fff!important;border-bottom-color:#edf0f5!important;width:25px!important;height:25px!important}.react-flow__attribution{color:#b0b7c5!important;background:#ffffff80!important;font-size:7px!important}.equipment-node{background:#fff;border:1px solid #e0e5ee;border-radius:10px;width:250px;transition:box-shadow .15s;box-shadow:0 7px 20px #32416009}.equipment-node.chosen{border-color:#8ba6ef;box-shadow:0 0 0 3px #6484e00d}.node-main{text-align:left;width:100%;padding:15px 16px 17px;display:block}.node-eyebrow{letter-spacing:1px;color:#939db0;align-items:center;gap:8px;font-size:7px;font-weight:650;display:flex}.node-icon{color:#8297c1;background:#f0f4fb;border-radius:6px;place-items:center;width:24px;height:24px;display:grid}.node-menu{letter-spacing:2px;margin-left:auto;font-size:15px}.node-main h3{letter-spacing:-.2px;margin:16px 0 6px;font-size:14px;font-weight:650}.node-main p{color:#929db0;margin:0;font-size:8px}.node-ports{border-top:1px solid #f0f2f6;padding:4px 0 7px}.port-row{color:#8390a7;align-items:center;gap:8px;padding:9px 17px;font-size:8px;display:flex;position:relative}.port-row:hover{background:#f6f8fd}.port-dot{background:#c4ccd9;border-radius:50%;width:3px;height:3px;margin-left:auto}.port-shape{border:1px solid #b0bacc;border-radius:1px;width:10px;height:7px}.port-shape.hdmi{clip-path:polygon(0 0,100% 0,90% 100%,10% 100%);background:#e7ecf4;border:1px solid #b0bacc}.react-flow__handle{z-index:2;background:#fff!important;border:2px solid #8da4db!important;width:9px!important;height:9px!important}.react-flow__handle:hover{background:#5077dd!important;border-color:#5077dd!important}.gpu-art{background:linear-gradient(135deg,#4b5362 0%,#171d29 47%,#394453 100%);border-radius:7px;width:190px;height:83px;margin:23px auto 8px;position:relative;transform:rotate(-6deg);box-shadow:0 9px 11px #2431491c}.gpu-bracket{background:linear-gradient(90deg,#b6bcc5,#818997);border-radius:2px;width:7px;height:89px;position:absolute;top:-4px;left:-5px}.gpu-stripe{opacity:.65;background:linear-gradient(125deg,#0000 40%,#71808e 41%,#a0a9ad 45%,#68757d 48%,#0000 49%);position:absolute;inset:0}.fan{background:repeating-conic-gradient(#141b25 0deg 14deg,#414a54 17deg 29deg,#232e39 32deg 42deg);border:4px solid #0f1721;border-radius:50%;width:64px;height:64px;position:absolute;top:9px;left:13px;box-shadow:0 0 0 1px #65717b}.fan:after{content:"";background:radial-gradient(circle at 35% 30%,#76808a,#29333d);border-radius:50%;width:17px;height:17px;position:absolute;top:19px;left:19px;box-shadow:0 0 0 1px #69757e}.fan-second{left:auto;right:13px}.gpu-art>span{color:#abb5bf;letter-spacing:1px;font-size:4px;position:absolute;bottom:-1px;right:5px}.gpu-pins{background:repeating-linear-gradient(90deg,#a6965f 0 3px,#414538 3px 4px);width:78px;height:4px;position:absolute;bottom:-4px;left:48px}.monitor-art{width:190px;height:112px;margin:15px auto 0;position:relative}.monitor-glass{background:linear-gradient(145deg,#e5e6fb,#b9c9f5 35%,#c9d9ef);border:4px solid #384150;border-bottom-width:7px;border-radius:4px;height:87px;position:relative;overflow:hidden;box-shadow:0 5px 10px #24314915}.monitor-glass>span{letter-spacing:1px;color:#f7f9ff;font-size:5px;position:absolute;bottom:8px;left:9px}.landscape{background:linear-gradient(120deg,#8a9ede,#6587cf);border-radius:50%;width:150px;height:100px;position:absolute;top:36px;left:-10px;transform:rotate(-25deg)}.landscape-two{background:linear-gradient(120deg,#b3a7db,#857bc4);top:25px;left:75px;transform:rotate(25deg)}.sun{background:linear-gradient(140deg,#ffffffb3,#f5e2e29c);border-radius:50%;width:25px;height:25px;position:absolute;top:9px;right:28px}.monitor-neck{background:linear-gradient(90deg,#9aa2af,#c6cbd4);width:10px;height:17px;position:absolute;top:87px;left:90px}.monitor-foot{background:linear-gradient(90deg,#bbc1cb,#949eaf);border-radius:4px;width:61px;height:5px;position:absolute;top:104px;left:65px}.inspector{border-left:1px solid var(--border);background:#fff;flex-shrink:0;width:303px}.inspector-tabs{border-bottom:1px solid var(--border);gap:23px;height:48px;padding:0 17px;display:flex}.inspector-tabs>button{color:#9aa3b3;align-items:center;gap:6px;padding:0 3px;font-size:10px;display:flex;position:relative}.inspector-tabs>button.active{color:#5070d2;font-weight:600}.inspector-tabs>button.active:after{content:"";background:#5c7cde;height:2px;position:absolute;bottom:0;left:0;right:0}.inspector-content{padding:23px 21px}.section-kicker{letter-spacing:1.5px;color:#969fb1;font-size:8px;font-weight:650}.inspector h2{letter-spacing:-.3px;margin:9px 0 22px;font-size:15px;font-weight:600}.field-label{color:#7e899f;margin-top:18px;margin-bottom:8px;font-size:10px;display:block}.inspector select,.inspector input:not([type=checkbox]){color:#55647d;background:#fff;border:1px solid #e1e6ef;border-radius:6px;width:100%;min-height:35px;padding:10px 8px;font-size:10px}.color-row{color:#9aa3b4;justify-content:space-between;align-items:center;margin:13px 0 19px;font-size:10px;display:flex}.color-row select{background:#fafbfe;border:0;width:auto;min-height:25px;padding:5px 3px;font-size:9px}.result-card{color:#4d8a70;background:#f3f9f6;border:1px solid #dcebe5;border-radius:8px;align-items:flex-start;gap:10px;margin-top:18px;padding:14px 12px;display:flex}.result-icon{margin-top:1px}.result-card strong{font-size:11px;font-weight:650}.result-card p{color:#789d8a;margin:5px 0 0;font-size:9px;line-height:1.65}.result-card.incompatible{color:#b48b47;background:#fffbf2;border-color:#eee4cf}.result-card.incompatible p{color:#aa9779}.result-card.indeterminate{color:#7788ae;background:#f5f7fc;border-color:#e3e7f1}.result-card.indeterminate p{color:#8b96ad}.signal-row{color:#9ba4b4;justify-content:space-between;gap:10px;margin-top:14px;font-size:8px;display:flex}.signal-row strong{font-size:8px;font-weight:550}.compatible{color:#5d947d}.incompatible{color:#b18b50}.indeterminate{color:#8393b3}.inspector-separator{background:var(--border);height:1px;margin:22px 0}.chain-track{padding:9px 0 12px}.chain-track button{text-align:left;align-items:center;gap:10px;width:100%;padding:10px 0;display:flex;position:relative}.chain-track button:not(:last-child):before{content:"";border-left:1px dashed #d5dce8;height:15px;position:absolute;top:37px;left:14px}.chain-icon{color:#91a0ba;background:#fafbfe;border:1px solid #e7ebf3;border-radius:7px;flex-shrink:0;place-items:center;width:29px;height:29px;display:grid}.chain-track button>span:nth-child(2){color:#71809a;flex:1;font-size:9px;font-weight:550}.chain-track small{color:#a1a9b9;margin-top:5px;font-size:8px;font-weight:400;display:block}.chain-track button>svg{color:#adb6c6}.mode-heading{justify-content:space-between;margin:9px 0 12px;display:flex}.mode-heading>span{letter-spacing:0;color:#7b96c5}.available-modes{flex-wrap:wrap;gap:6px;display:flex}.available-modes button{color:#8997ae;border:1px solid #e8ecf3;border-radius:4px;align-items:center;gap:3px;padding:5px 6px;font-size:8px;display:flex}.available-modes button.selected{color:#5579d3;background:#f1f5fd;border-color:#dce4fa}.available-modes p{color:#9aa4b4;margin:0;font-size:10px}.fine-print{color:#a0a9b8;margin-top:10px;font-size:9px;line-height:1.65}.studio-footer{border-top:1px solid var(--border);color:#a0a9b9;justify-content:space-between;align-items:center;height:38px;padding:0 17px;font-size:8px;display:flex}.studio-footer>span{align-items:center;gap:6px;display:flex}.save-dot{background:#8cb09d;border-radius:50%;width:4px;height:4px}.save-dot.error{background:#c88874}.studio-footer button{color:#9aa5b8;align-items:center;gap:6px;font-size:8px;display:flex}.diagnostics-section{padding:30px 0 0}.diagnostics-heading{justify-content:space-between;align-items:center;margin-bottom:18px;display:flex}.diagnostics-heading h2{letter-spacing:-.4px;margin:8px 0 0;font-size:17px;font-weight:600}.analysis-badge{color:#9da6b6;align-items:center;gap:5px;font-size:8px;display:flex}.diagnostic-grid{grid-template-columns:1fr 267px;gap:16px;display:grid}.diagnostic-explanations{flex-direction:column;gap:8px;display:flex}.explanation{border:1px solid var(--border);background:#fff;border-radius:9px;flex:1;align-items:flex-start;gap:13px;padding:17px 19px;display:flex}.explanation-icon{margin-top:1px}.explanation h3{color:#5d6c83;margin:2px 0 6px;font-size:11px;font-weight:600}.explanation p{color:#94a0b2;margin:0;font-size:10px}.explanation .suggestion{color:#6f87bc;align-items:baseline;gap:5px;margin-top:9px;font-size:9px;display:flex}.suggestion>svg{flex-shrink:0}.bandwidth-card{border:1px solid var(--border);background:#fff;border-radius:9px;padding:20px}.bandwidth-value{letter-spacing:-.7px;color:#677b9a;margin:15px 0;font-size:25px;font-weight:600}.bandwidth-value>span{letter-spacing:0;color:#a1aabc;margin-left:7px;font-size:9px;font-weight:400}.bandwidth-meter{background:#eef2f9;border-radius:4px;height:5px;overflow:hidden}.bandwidth-meter>div{background:#8da6e4;border-radius:4px;height:100%;transition:width .2s}.bandwidth-detail{color:#a1abbb;justify-content:space-between;margin-top:10px;font-size:9px;display:flex}.bandwidth-detail strong{color:#8998b0;font-weight:500}.bandwidth-card p{color:#a0aabb;margin:12px 0 0;font-size:8px;line-height:1.8}.assumptions{color:#8b97ab;margin-top:17px;font-size:10px}.assumptions summary{cursor:pointer;align-items:center;gap:7px;list-style:none;display:flex}.assumptions summary>svg:last-child{margin-left:5px}.assumptions[open] summary>svg:last-child{transform:rotate(90deg)}.assumptions ul{padding-left:20px;line-height:1.9}.assumptions p{max-width:800px}.assumption-controls{gap:20px;margin:16px 0;display:flex}.assumption-controls label{align-items:center;gap:10px;display:flex}.assumption-controls select{border:1px solid var(--border);color:#6f7e96;background:#fff;border-radius:4px;padding:6px;font-size:10px}.page-footer{color:#a8b0c0;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:14px;padding:28px 0 22px;font-size:9px;display:flex}.footer-dot{margin:0 8px}.page-footer button{color:#96a2b8;align-items:center;gap:6px;font-size:9px;display:flex}.footer-links{flex-wrap:wrap;align-items:center;gap:12px 22px;display:flex}.app-version{white-space:nowrap;align-items:center;gap:10px;font-size:11px;display:flex}.app-version>span{color:#697a96;font-variant-numeric:tabular-nums}.page-footer .app-version button{color:var(--blue);font-size:11px}.changelog-list{margin:24px 0 0;padding:0;list-style:none}.changelog-release{border-top:1px solid var(--border);padding:20px 0}.changelog-release:last-child{padding-bottom:0}.changelog-heading{flex-wrap:wrap;align-items:center;gap:8px 12px;display:flex}.changelog-heading h3{margin:0;font-size:15px;font-weight:600}.current-release{color:var(--blue);background:#edf1ff;border-radius:6px;padding:4px 8px;font-size:10px;font-weight:500}.changelog-release time{color:#697a96;margin-top:7px;font-size:11px;display:block}.changelog-release ul{color:#50617b;margin:16px 0 0;padding-left:18px;font-size:12px;line-height:1.7}.changelog-release ul li+li{margin-top:6px}.element-switch{background:#f5f7fb;border-radius:6px;gap:4px;margin-bottom:24px;padding:4px;display:flex}.element-switch button{color:#9aa6bb;flex:1;padding:7px;font-size:9px}.element-switch button.active{color:#6684cd;background:#fff;border-radius:4px;box-shadow:0 1px 4px #25344f09}.info-box{color:#91a0ba;background:#f5f7fc;border-radius:7px;align-items:flex-start;gap:8px;margin:18px 0;padding:13px 11px;display:flex}.info-box svg{flex-shrink:0;margin-top:2px}.info-box p{margin:0;font-size:10px;line-height:1.7}.spec-list>div{border-bottom:1px solid var(--border);color:#909cb0;flex-direction:column;gap:6px;padding:12px 0;font-size:10px;display:flex}.spec-list strong{color:#697e9e;font-size:10px;font-weight:500}.button.full{width:100%;font-size:10px}.checkbox-heading{color:#8591a6;margin:23px 0 9px;font-size:10px}.checkbox-row{color:#8290a9;align-items:center;gap:7px;padding:6px 0;font-size:10px;display:flex}.checkbox-row input{accent-color:#5278dc;width:12px;height:12px;margin:0}.inline-link{color:#738ec6;text-underline-offset:3px;margin-top:17px;padding:0;font-size:9px;text-decoration:underline}.modal-backdrop{z-index:50;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);background:#1d2b4859;justify-content:center;align-items:center;padding:24px;display:flex;position:fixed;inset:0}.modal{background:#fff;border-radius:15px;width:570px;max-height:85vh;padding:35px;position:relative;overflow:auto;box-shadow:0 30px 100px #17243c30}.modal h2{letter-spacing:-.8px;margin:13px 0;font-size:23px;font-weight:600}.modal>p{color:#8c98ab;font-size:12px}.modal-close{position:absolute;top:14px;right:14px}.source-item{border-bottom:1px solid var(--border);flex-direction:column;gap:9px;padding:18px 0;display:flex}.source-item strong{color:#6c7b94;font-size:11px;font-weight:550}.source-item a{color:#577bd0;align-items:center;gap:7px;font-size:10px;display:flex}.source-item small{color:#9aa6b8;font-size:9px}.source-tag{color:#6985bc;background:#eff3fc;border-radius:4px;align-self:flex-start;padding:4px 6px;font-size:8px}.source-tag.demo{color:#b19a70;background:#fcf5e9}.guide-list{color:#8695ab;padding-left:20px;font-size:12px;line-height:1.9}.guide-list li{padding:8px 0}.guide-list strong{color:#657893;font-weight:550;display:block}.catalog-choice{text-align:left;border:1px solid var(--border);color:#8299bd;border-radius:8px;align-items:center;gap:16px;width:100%;margin-top:12px;padding:18px;display:flex}.catalog-choice:hover{background:#f9fbff;border-color:#98afe6}.catalog-choice>span{flex:1}.catalog-choice strong{color:#526683;font-size:12px;font-weight:550;display:block}.catalog-choice small{color:#9aa6b9;margin-top:7px;font-size:10px;display:block}.toast{z-index:100;color:#637594;border:1px solid var(--border);background:#fff;border-radius:10px;align-items:center;gap:11px;max-width:90vw;padding:13px 17px;font-size:12px;display:flex;position:fixed;bottom:25px;left:50%;transform:translate(-50%);box-shadow:0 6px 40px #22365126}.toast>svg{flex-shrink:0}.loading{color:#6d89d1;flex-direction:column;justify-content:center;align-items:center;height:100vh;display:flex}.loading p{font-size:13px}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}@media (width>=1600px){.canvas-wrap,.studio-body{min-height:650px}.inspector{width:330px}.inspector-content{padding:27px}.main-workspace{padding:42px 45px 0}.library-sidebar{width:250px}.main-workspace{width:calc(100% - 250px)}}@media (width<=1200px){.library-sidebar{width:195px;padding-left:12px;padding-right:12px}.main-workspace{width:calc(100% - 195px);padding:27px 22px 0}.inspector{width:265px}.inspector-content{padding:20px 16px}.sidebar-nav{font-size:11px}.library-item{gap:7px}.library-item strong{font-size:10px}.library-item small{font-size:8px}.sidebar-hint{font-size:10px}.diagnostic-grid{grid-template-columns:1fr 230px}.canvas-tip{font-size:8px}.canvas-label{font-size:9px}.canvas-count{display:none}}@media (width<=1000px){.library-sidebar{width:66px;padding:25px 8px}.sidebar-label,.sidebar-nav span,.sidebar-hint,.sidebar-separator,.library-heading,.library-item,.library-note,.sidebar-bottom{display:none}.sidebar-nav{padding:12px 15px;font-size:0}.main-workspace{width:calc(100% - 66px)}.diagnostic-grid{grid-template-columns:1fr 210px}.canvas-tip{display:none}.project-breadcrumb{font-size:10px}.canvas-label{left:15px}}@media (width<=740px){.app-header{gap:13px;height:64px;padding:0 17px}.brand{font-size:21px}.brand-symbol{width:30px;height:30px}.header-divider,.project-breadcrumb,.header-help{display:none}.local-badge{font-size:9px}.avatar{width:27px;height:27px}.workspace-shell{min-height:calc(100vh - 64px)}.library-sidebar{display:none}.main-workspace{width:100%;padding:25px 14px 0}.eyebrow{font-size:8px}h1{font-size:25px}.workspace-intro p{max-width:200px;font-size:10px}.workspace-intro .button{padding:10px;font-size:9px}.studio-body{display:block}.canvas-wrap{height:400px;min-height:400px}.inspector{border-left:0;border-top:1px solid var(--border);width:100%}.inspector-content{padding:22px}.chain-track{gap:12px;display:flex}.chain-track button{flex:1;align-items:flex-start}.chain-track button:before{display:none}.chain-track small{font-size:7px}.chain-track button>svg{display:none}.chain-track button>span:nth-child(2){font-size:8px}.chain-icon{flex-shrink:0;width:24px;height:24px}.studio-toolbar{padding:0 11px}.toolbar-actions{gap:11px}.toolbar-actions .text-button span{display:none}.project-title input{width:125px;font-size:10px}.studio-footer{padding:0 11px;font-size:7px}.studio-footer button{font-size:7px}.diagnostic-grid{grid-template-columns:1fr}.diagnostics-heading h2{font-size:15px}.diagnostics-heading .section-kicker,.analysis-badge{font-size:7px}.bandwidth-card{padding:18px}.bandwidth-value{margin:12px 0}.assumption-controls{flex-direction:column;gap:12px}.page-footer{font-size:8px}.modal{padding:28px 22px}.modal h2{font-size:21px}.page-footer>span{max-width:230px}.canvas-legend{bottom:20px}.toast{width:90vw;font-size:11px}}.demo-banner{color:#aa9a78;background:#fbf9f3;border-bottom:1px solid #efeade;align-items:center;gap:7px;padding:9px 18px;font-size:9px;display:flex}.demo-banner svg{flex-shrink:0}.node-eyebrow{font-size:9px}.node-main p,.port-row{font-size:10px}.sidebar-label,.section-kicker{font-size:9px}.sidebar-hint,.library-item strong{font-size:12px}.library-item small,.library-note p,.sidebar-bottom,.sidebar-bottom p{font-size:10px}.sidebar-nav{font-size:12px}.inspector select,.inspector input:not([type=checkbox]),.field-label,.color-row{font-size:11px}.result-card strong{font-size:12px}.result-card p{font-size:11px}.signal-row,.signal-row strong{font-size:10px}.chain-track button>span:nth-child(2){font-size:11px}.chain-track small{font-size:9px}.available-modes button,.fine-print{font-size:10px}.explanation h3{font-size:12px}.explanation p{font-size:11px}.bandwidth-card p,.bandwidth-detail,.studio-footer,.studio-footer button,.demo-banner{font-size:10px}.inspector-tabs>button{font-size:11px}.checkbox-row{color:#687994;font-size:11px}.canvas-tip{font-size:10px}.library-note,.sidebar-hint,.workspace-intro p{color:#78869e}.fine-print{color:#7c8ba4}.node-main p,.port-row{color:#73839e}.explanation p{color:#7a8ba5}.demo-banner{color:#91815f}.diagnostic-explanations{align-self:start}.explanation{min-height:112px}.checkbox-row input{width:15px;height:15px}@media (width<=1000px) and (width>=741px){.sidebar-nav{font-size:0}}@media (width<=740px){.chain-track button{flex-direction:column;gap:7px}.chain-track button>span:nth-child(2){font-size:10px}.chain-track small{font-size:9px}.available-modes button{font-size:10px}.canvas-legend,.studio-footer,.studio-footer button{font-size:8px}.canvas-tip{display:none}.demo-banner{font-size:9px}.result-card p{font-size:11px}}.node-extra-ports{color:#7e90b1;text-align:left;border-top:1px solid #eef1f7;justify-content:space-between;align-items:center;width:100%;padding:11px 16px;font-size:10px;display:flex}.display-reference{background:#f9fbff;border:1px solid #e0e7f4;border-radius:8px;margin:15px 0;padding:13px}.reference-title{color:#6987bc;align-items:center;gap:7px;font-size:10px;display:flex}.display-reference h3{color:#586e91;margin:11px 0 14px;font-size:13px;line-height:1.5}.reference-specs{margin:0 0 13px;font-size:10px}.reference-specs>div{justify-content:space-between;gap:10px;margin:10px 0;display:flex}.reference-specs dt{color:#8595ad}.reference-specs dd{text-align:right;color:#637998;margin:0;font-weight:550}.display-reference>a{color:#5076ce;align-items:center;gap:6px;font-size:10px;display:flex}.reference-limits{color:#8997ae;align-items:flex-start;gap:6px;padding-top:10px;display:flex}.reference-limits svg{flex-shrink:0;margin-top:4px}.reference-limits p,.override-notice{margin:0;font-size:10px;line-height:1.7}.override-notice{color:#9c855c;margin:9px 0}.physical-ports,.reference-notes{color:#7b8eac;margin-top:14px;font-size:10px}.physical-ports summary,.reference-notes summary{cursor:pointer;line-height:1.6}.physical-ports ul,.reference-notes ul{padding-left:15px;line-height:1.8}.gpu-reference .gpu-details{margin:14px 0}.gpu-details summary{color:#586e91;font-weight:600}.gpu-details h4{color:#586e91;margin:16px 0 6px;font-size:10px}.gpu-details .reference-specs{margin-top:15px}.gpu-reference dd{overflow-wrap:anywhere}.physical-ports li{margin:7px 0}.physical-ports strong{font-size:10px;font-weight:500;display:block}.physical-ports small{color:#9aa8bd;font-size:9px}.published-modes{border-top:1px solid var(--border);margin:22px 0;padding-top:18px}.published-modes>p{color:#8293af;margin:8px 0 12px;font-size:10px;line-height:1.7}.published-mode-list{grid-template-columns:1fr 1fr;gap:6px;display:grid}.published-mode-list button{color:#768fba;text-align:left;background:#f8faff;border:1px solid #e4eaf5;border-radius:5px;flex-direction:column;gap:4px;padding:8px 7px;font-size:10px;display:flex}.published-mode-list button:hover{background:#edf2ff;border-color:#adc0ef}.published-mode-list span{color:#9ba9bf;font-size:9px}.published-modes>small{color:#9ba6b7;margin-top:9px;font-size:9px;line-height:1.6;display:block}@media (width>=741px){.studio-body{height:690px;min-height:0}.canvas-wrap{min-height:0}.inspector{scrollbar-width:thin;scrollbar-color:#dce3ef transparent;min-height:0;overflow-y:auto}.inspector-tabs{z-index:4;background:#fff;position:sticky;top:0}}.bandwidth-card{align-self:start}.dsc-settings{border-top:1px solid var(--border);margin-top:20px;padding-top:16px}.dsc-settings>summary{cursor:pointer;font-size:12px;font-weight:650}.dsc-settings form{margin-top:14px}.dsc-settings input:not([type=checkbox]){width:100%}.dsc-context{font-size:12px;font-weight:650}.dsc-field-pair{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:12px;display:grid}.dsc-confirmation{align-items:flex-start;margin-top:16px;line-height:1.6}.dsc-confirmation input{flex-shrink:0;margin-top:4px}.dsc-settings .inline-link{margin-top:12px}.dsc-budget-profile{overflow-wrap:anywhere}
