:root{color:#263249;font-synthesis:none;--blue:#3864df;--border:#e3e8f0;--muted:#8994a7;background:#f6f8fb;font-family:Inter,SF Pro Display,-apple-system,BlinkMacSystemFont,Segoe UI,PingFang SC,Microsoft YaHei,sans-serif;font-size:13px;line-height:1.5}*{box-sizing:border-box}body{margin:0}button,input,textarea,select{font:inherit}button,a,input,textarea,select{-webkit-tap-highlight-color:transparent}button{border:1px solid var(--border);color:#526078;cursor:pointer;white-space:nowrap;background:#fff;border-radius:6px;justify-content:center;align-items:center;gap:7px;min-height:32px;padding:6px 11px;transition:background .15s,border-color .15s,color .15s;display:inline-flex}button:hover{color:#273a61;background:#f2f5fb;border-color:#c7d3e5}button:disabled{opacity:.45;cursor:not-allowed}button:focus-visible,a:focus-visible{outline-offset:2px;outline:2px solid #7191ee}button.primary{background:var(--blue);color:#fff;border-color:var(--blue);box-shadow:0 2px 4px #3864df18}button.primary:hover{background:#2c54c9}.icon-button{color:#7f8ba1;background:0 0;border:0;justify-content:center;align-items:center;min-width:28px;padding:5px;text-decoration:none;display:inline-flex}.icon-button:hover{background:#eef2f8}.danger:hover{color:#cf4e59;background:#fff2f3}.text-button{color:#7b89a1;background:0 0;border:0;min-height:24px;padding:3px 5px;font-size:12px}.muted{color:var(--muted)}.small{font-size:11px}.spacer{flex:1}.studio-shell{flex-direction:column;min-width:1000px;height:100dvh;min-height:620px;display:flex;overflow:hidden}.app-header{border-bottom:1px solid var(--border);background:#fff;align-items:center;gap:20px;height:58px;min-height:58px;padding:0 25px;display:flex}.brand{color:#263249;align-items:center;gap:9px;text-decoration:none;display:flex}.brand-mark{color:#fff;background:#3864df;border-radius:8px;justify-content:center;align-items:center;width:31px;height:31px;display:flex;box-shadow:0 3px 8px #3864df25}.brand strong{letter-spacing:-.7px;font-size:21px;font-weight:750}.brand strong span{color:#738199;letter-spacing:-.4px;margin-left:5px;font-size:17px;font-weight:450}.header-divider{background:var(--border);width:1px;height:19px}.header-context{color:#8b97a9;font-size:12px}.local-pill{color:#6e7d92;background:#f7f9fc;border:1px solid #e9edf3;border-radius:20px;align-items:center;gap:7px;padding:4px 10px;font-size:11px;display:flex}.local-pill i{background:#4cba8d;border-radius:50%;width:6px;height:6px}.workspace-header{background:#fff;justify-content:space-between;align-items:center;gap:20px;min-height:91px;padding:14px 25px;display:flex}.workspace-title .breadcrumb{color:#9aa4b4;font-size:10px}.breadcrumb span{color:#c8ced9;margin:0 8px}.workspace-title>div{align-items:center;gap:13px;margin-top:3px;display:flex}.workspace-title h1{letter-spacing:-.4px;white-space:nowrap;text-overflow:ellipsis;max-width:320px;margin:0;font-size:20px;font-weight:600;overflow:hidden}.save-state{color:#8190a5;align-items:center;gap:3px;font-size:10px;display:flex}.save-state.dirty{color:#a28e66}.save-state.dirty:before{content:"";background:#d9ae55;border-radius:50%;width:5px;height:5px;margin-right:2px}.toolbar{align-items:center;gap:8px;display:flex}.toolbar button{min-height:34px;font-size:12px}.toolbar-divider{background:var(--border);width:1px;height:20px;margin:0 2px}.run-button{padding-inline:14px}.workspace-main{border-top:1px solid var(--border);border-bottom:1px solid var(--border);flex:1;min-height:0;display:flex}.library{border-right:1px solid var(--border);background:#fff;flex-direction:column;width:220px;min-width:220px;display:flex}.library-tabs{border-bottom:1px solid var(--border);gap:7px;height:48px;min-height:48px;padding:0 12px;display:flex}.library-tabs button{color:#8b96a9;background:0 0;border:0;border-radius:0;flex:1;padding:0 2px;font-size:12px}.library-tabs button.active{color:var(--blue);box-shadow:inset 0 -2px var(--blue)}.library-search{color:#a2acbc;background:#f9fafc;border:1px solid #e8ecf3;border-radius:6px;align-items:center;gap:7px;margin:14px 14px 8px;padding:7px 9px;display:flex}.library-search input{color:#536079;background:0 0;border:0;outline:0;width:100%;min-width:0;font-size:11px}.library-search input::placeholder{color:#a6afbe}.library-add-mode{color:#7c8ca6;flex-direction:column;gap:7px;margin:0 14px 12px;font-size:10px;display:flex}.library-add-mode label{flex-direction:column;gap:5px;display:flex}.library-add-mode select{color:#54637d;background:#fbfcff;border:1px solid #e0e6f0;border-radius:5px;width:100%;padding:6px}.parameter-search{flex-wrap:wrap;gap:6px;margin-bottom:16px;display:flex}.parameter-search input{border:1px solid #e0e6f0;border-radius:5px;flex:1;min-width:0;padding:7px;font-size:11px}.parameter-search button,.step-remove-bridge{padding:5px 6px;font-size:10px}.parameter-search small{color:#8b98ad;flex-basis:100%;font-size:10px}.parameter-field[hidden]{display:none}.workflow-problems{flex-shrink:0}.validation-banner .problem-toggle{flex-shrink:0;margin-left:auto}.problem-list{background:#fffbf3;border-bottom:1px solid #f3dfb9;max-height:200px;padding:5px 12px;overflow-y:auto}.problem-list button{text-align:left;color:#8b7147;flex-wrap:wrap;justify-content:flex-start;align-items:flex-start;gap:5px 12px;width:100%;margin:4px 0;font-size:11px;display:flex}.problem-list button small{color:#a99272;margin-left:auto}.node-library{scrollbar-width:thin;flex:1;padding:0 11px 20px;overflow:auto}.node-group{margin-top:13px}.group-label{color:#8f9ab0;letter-spacing:.5px;justify-content:space-between;padding:3px 6px 8px;font-size:10px;display:flex}.group-label span{color:#aeb6c4;font-size:9px}.palette-node{text-align:left;color:#5e6b81;border:1px solid #0000;justify-content:start;gap:9px;width:100%;min-height:35px;margin:2px 0;padding:5px 7px;font-size:11px;display:flex}.palette-node>svg:last-child{color:#a0b0c7;opacity:0;margin-left:auto}.palette-node:hover{background:#f6f9ff;border-color:#e0e8f8}.palette-node:hover>svg:last-child{opacity:1}.palette-symbol,.node-symbol{color:#5278d5;background:#eef3ff;border-radius:6px;flex-shrink:0;justify-content:center;align-items:center;width:27px;height:27px;display:flex}.palette-symbol{width:25px;height:25px}.purple{color:#9274c6!important;background:#f3effb!important}.teal{color:#54a592!important;background:#ecf7f5!important}.library-footer{color:#9aa6b8;border-top:1px solid #eff2f6;align-items:center;gap:7px;margin-top:auto;padding:12px;font-size:9px;display:flex}.canvas-column{flex-direction:column;flex:1;min-width:300px;min-height:0;display:flex}.canvas-heading{border-bottom:1px solid var(--border);background:#fff;justify-content:space-between;align-items:center;height:48px;min-height:48px;padding:0 16px;display:flex}.canvas-heading>div{align-items:center;gap:15px;display:flex}.canvas-tab{color:#536888;align-items:center;gap:7px;font-size:12px;font-weight:550;display:flex}.canvas-meta{color:#9ca6b7;font-size:10px}.canvas{background:#f7f9fc;flex:1;min-height:190px;position:relative}.canvas-tip{color:#a2adbd;pointer-events:none;white-space:nowrap;align-items:center;gap:10px;font-size:9px;display:flex;position:absolute;bottom:17px;left:50%;transform:translate(-50%)}.canvas-tip i{background:#c9d1de;border-radius:50%;width:3px;height:3px}.studio-pro-flow{width:100%;height:100%}.canvas-navigation{z-index:5;flex-direction:column;align-items:center;gap:8px;display:flex;position:absolute;bottom:10px;right:10px}.canvas-zoom-controls{align-items:center;gap:5px;display:flex}.canvas-zoom-controls button{justify-content:center;align-items:center;min-width:29px;height:28px;padding:4px;font-size:11px;display:inline-flex}.canvas-zoom-controls .canvas-zoom-ratio{min-width:56px}.canvas-navigation .canvas-minimap{background:#fff;border:1px solid #e0e7f2;border-radius:6px;margin:0;position:relative;bottom:auto;right:auto;overflow:hidden}.canvas-minimap svg{cursor:grab;touch-action:none}.canvas-minimap svg:active{cursor:grabbing}.canvas-minimap-hint{color:#71829d;-webkit-user-select:none;user-select:none;background:#ffffffed;border-radius:4px;padding:3px 7px;font-size:10px}.flow-node{background:#fff;border:1px solid #dce3ee;border-radius:9px;align-items:center;gap:11px;width:250px;min-height:69px;padding:15px;display:flex;position:relative;box-shadow:0 3px 8px #293d6007}.flow-node.selected{border-color:#6c91ed;box-shadow:0 0 0 3px #3864df0d,0 3px 8px #293d6007}.flow-node.running{border-color:#7296f4;box-shadow:0 0 0 3px #3864df14}.flow-node.succeeded .node-status{color:#49aa85}.flow-node.failed{border-color:#dd8a90}.flow-node.failed .node-status{color:#ce5d67}.node-text{flex-direction:column;flex:1;gap:3px;min-width:0;display:flex}.node-text strong{white-space:nowrap;text-overflow:ellipsis;font-size:12px;font-weight:550;overflow:hidden}.node-text>span{color:#97a2b3;text-overflow:ellipsis;white-space:nowrap;max-width:170px;font:10px SFMono-Regular,Consolas,monospace;overflow:hidden}.node-status{color:#c3cbd7;display:flex}.flow-node.running .node-status{color:#5780e3}.canvas-port{background:#fff!important;border:1.5px solid #bcc9dd!important;width:8px!important;min-width:8px!important;height:8px!important;min-height:8px!important}.canvas-port:hover{background:#688ce5!important;border-color:#688ce5!important}.flow-node .port{color:#9b8bb8;font:9px monospace;position:absolute;bottom:-1px;transform:translate(-50%)}.port>span{background:#f7f9fc;padding:0 3px;position:absolute;top:9px;left:50%;transform:translate(-50%)}.validation-banner{color:#b29558;background:#fff9ec;border-bottom:1px solid #f2e6c8;align-items:center;gap:7px;min-height:32px;padding:4px 15px;font-size:11px;display:flex}.validation-banner button{white-space:normal;min-height:22px;color:inherit;text-align:left;background:0 0;border:0;padding:0}.inspector{border-left:1px solid var(--border);background:#fff;flex-direction:column;width:278px;min-width:278px;display:flex;overflow:hidden}.panel-heading{border-bottom:1px solid var(--border);color:#6d7a90;align-items:center;gap:8px;min-height:48px;padding:0 17px;font-size:12px;display:flex}.panel-heading>strong{color:#526078;font-weight:550}.panel-heading>.icon-button.danger{margin-left:auto}.inspector-body{scrollbar-width:thin;flex:1;padding:20px 17px;overflow:auto}.field{color:#69758b;flex-direction:column;gap:7px;margin-bottom:19px;font-size:11px;display:flex}.field>span{font-weight:500}.field input:not([type=checkbox]),.field textarea,.field select{color:#46546e;resize:vertical;background:#fff;border:1px solid #e0e6f0;border-radius:5px;outline:0;width:100%;padding:8px 9px;font-size:11px}.field input:focus,.field textarea:focus,.field select:focus{border-color:#8aa6ec;box-shadow:0 0 0 2px #3864df08}.field input[type=checkbox]{accent-color:var(--blue);align-self:flex-start}.field .code-input{tab-size:2;background:#fbfcfe;font:10px/1.8 SFMono-Regular,Consolas,monospace}.field-error{color:#c26069;overflow-wrap:anywhere;font-size:10px}.field-hint{overflow-wrap:anywhere;font-size:10px;line-height:1.6}.json-field-tools{flex-wrap:wrap;align-items:flex-start;gap:6px;display:flex}.json-field-tools>.variable-picker{flex:160px}.json-field-tools>.variable-picker.is-open{flex-basis:100%}.variable-trigger,.json-format{padding:4px 7px;font-size:10px}.variable-trigger{color:var(--blue);align-items:center;gap:4px;display:inline-flex}.variable-dialog{background:#f7faff;border:1px solid #cbd9f5;border-radius:6px;flex-direction:column;gap:8px;margin-top:7px;padding:10px;display:flex}.variable-dialog-heading{justify-content:space-between;align-items:center;display:flex}.variable-options{overscroll-behavior:contain;max-height:260px;overflow-y:auto}.variable-group{color:#8794ac;padding:7px 2px;font-size:10px}.variable-option{text-align:left;overflow-wrap:anywhere;flex-direction:column;align-items:flex-start;gap:4px;width:100%;margin-bottom:5px;padding:8px;font-size:10px;display:flex}.variable-option code{color:#3864df}.variable-option span,.variable-option small{color:#7d8ba3}.node-config-errors,.node-data-summary{overflow-wrap:anywhere;border:1px solid #e2e9f4;border-radius:6px;flex-direction:column;gap:8px;margin-bottom:18px;padding:12px;font-size:11px;display:flex}.node-config-errors{color:#a96330;background:#fffbf3;border-color:#f4dfba}.node-config-errors ul{margin:0;padding-left:16px}.node-data-summary{color:#6d7f9c;background:#f8faff}.node-data-summary details summary{cursor:pointer}.output-shape{justify-content:space-between;gap:8px;margin-top:7px;font-size:10px;display:flex}.headers-heading,.headers-modes,.headers-add{align-items:center;gap:6px;display:flex}.headers-heading{justify-content:space-between}.headers-heading>span{font-weight:500}.headers-modes button{padding:4px 6px;font-size:10px}.headers-modes button[aria-pressed=true]{color:var(--blue);background:#eff4ff}.headers-editor>.field{margin-bottom:0}.header-row{background:#fbfcfe;border:1px solid #e5ebf7;border-radius:6px;grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:7px;padding:9px;display:grid}.header-name,.header-value{flex-direction:column;gap:5px;min-width:0;display:flex}.header-value{grid-column:1/-1}.headers-add{justify-content:center}.field .invalid{border-color:#e4a6ac}.eyebrow{color:#7c91b2;font:10px monospace}.eyebrow span{color:#a7b2c4}.hint{color:#94a2ba;background:#f8faff;border:1px solid #e5ebf7;border-radius:7px;flex-direction:column;gap:7px;margin-top:25px;padding:12px;font-size:10px;line-height:1.8;display:flex}.hint strong{color:#6f84a9;font-weight:550}.hint code{color:#8196bc;font:10px monospace}.flow-actions{flex-direction:column;gap:9px;padding:16px;display:flex}.flow-actions button{font-size:11px}.saved-flows{padding:0 9px;overflow:auto}.saved-flow{border:1px solid #0000;border-radius:6px;margin:4px 0;display:flex}.saved-flow.active{background:#f2f6ff;border-color:#e1e9fc}.saved-flow>button:first-child{text-align:left;background:0 0;border:0;flex:1;justify-content:start;min-width:0;padding:10px 8px;font-size:11px}.saved-flow span{flex-direction:column;gap:3px;min-width:0;display:flex}.saved-flow strong{text-overflow:ellipsis;font-size:11px;font-weight:500;overflow:hidden}.saved-flow small{color:#a3adc0;font-size:9px}.saved-flow>.icon-button{width:27px;min-width:27px;margin:3px}.run-panel{background:#fff;border-top:1px solid #dfe6ef;flex-direction:column;height:256px;min-height:256px;display:flex}.run-panel.collapsed{height:42px;min-height:42px}.run-toolbar{border-bottom:1px solid #edf0f6;align-items:center;gap:14px;height:43px;min-height:43px;padding:0 15px;display:flex}.run-title{color:#7d8ba0;white-space:nowrap;align-items:center;gap:8px;display:flex}.run-title strong{color:#68768c;font-size:11px;font-weight:550}.run-controls{gap:4px;display:flex}.run-controls button{min-height:25px;padding:3px 6px;font-size:10px}.status-badge{color:#8995a8;background:#f1f4f8;border-radius:4px;padding:2px 7px;font-size:9px}.status-badge.running,.status-badge.pausing{color:#6584d4;background:#edf3ff}.status-badge.succeeded{color:#60a281;background:#edf8f1}.status-badge.paused{color:#b79a62;background:#fbf4e8}.status-badge.failed{color:#cb7781;background:#fcf0f1}.run-tabs{border-bottom:1px solid #edf0f6;align-items:center;gap:16px;height:36px;min-height:36px;padding:0 16px;display:flex}.run-tabs button{color:#94a0b2;background:0 0;border:0;border-radius:0;gap:5px;min-height:36px;padding:0 2px;font-size:10px}.run-tabs button.active{color:#6687d6;box-shadow:inset 0 -2px #7293e9}.run-tabs b{background:#eef3fd;border-radius:3px;padding:0 3px;font-size:8px;font-weight:400}.run-tabs>.small{text-overflow:ellipsis;white-space:nowrap;max-width:200px;font-size:9px;overflow:hidden}.run-content{scrollbar-width:thin;flex:1;min-height:0;overflow:auto}.empty-state{color:#a8b2c2;text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:9px;height:100%;padding:25px 15px;font-size:11px;display:flex}.empty-state>svg{color:#c6d1e4}.event-row{border-bottom:1px solid #f3f5f9;align-items:center;gap:12px;min-height:27px;padding:4px 16px;font-size:10px;display:flex}.event-row time{color:#a2adbf;font:9px monospace}.event-kind{color:#91a0ba;min-width:102px;font:9px monospace}.event-row strong{color:#78859a;min-width:60px;font-size:10px;font-weight:500}.event-row>span:last-of-type{color:#8e9bb1;overflow-wrap:anywhere}.event-row>small{color:#a5b1c3;white-space:nowrap;margin-left:auto;font:9px monospace}.event-row.node_failed .event-kind,.event-row.run_failed .event-kind{color:#cf7582}.event-row.node_succeeded .event-kind{color:#81b09c}.event-list>.field-error{margin:8px 15px}.run-footnote{color:#a5aec0;background:#fafbfd;border-top:1px solid #f0f3f8;align-items:center;gap:10px;min-height:25px;padding:2px 13px;font-size:9px;display:flex}.run-footnote .text-button{min-height:20px;font-size:9px}.outputs{padding:12px 17px}.outputs pre{color:#708199;white-space:pre-wrap;overflow-wrap:anywhere;font:10px/1.8 monospace}.result-download{float:right;min-height:24px;padding:2px 6px;font-size:9px}.artifacts{flex-wrap:wrap;gap:12px;padding:12px;display:flex}.artifact-file{border:1px solid var(--border);overflow-wrap:anywhere;border-radius:6px;flex-direction:column;gap:8px;width:220px;padding:12px;display:flex}.artifact-file a{color:#8b9cb9;align-items:center;gap:4px;font-size:11px;text-decoration:none;display:flex}.artifact-file code{font-size:10px}.artifacts img{object-fit:contain;border:1px solid var(--border);border-radius:5px;width:190px;height:110px}.history-list{padding:6px 10px}.history-list button{border:0;justify-content:start;gap:12px;width:100%;min-height:32px;font-size:10px}.history-list button.active{background:#f1f5ff}.history-list strong{min-width:110px;font-weight:500}.history-list time{color:#a6b0c1;margin-left:auto;font-size:9px}.status-dot{background:#c1cbda;border-radius:50%;width:6px;height:6px;display:inline-block}.status-dot.succeeded{background:#79b99d}.status-dot.running,.status-dot.pausing{background:#7d9fe9}.status-dot.failed{background:#d58e99}.status-dot.paused{background:#ceaf73}.app-footer{color:#a5b0c0;background:#fff;align-items:center;gap:17px;height:31px;min-height:31px;padding:0 16px;font-size:9px;display:flex}.app-footer>span:first-child{align-items:center;gap:6px;display:flex}.app-footer button{color:#8b9ab4;background:0 0;border:0;min-height:20px;padding:2px 0;font-size:9px}.toast{z-index:60;color:#647898;background:#fff;border:1px solid #dce4f0;border-radius:8px;align-items:center;gap:10px;max-width:700px;padding:11px 15px;font-size:12px;display:flex;position:fixed;bottom:48px;left:50%;transform:translate(-50%);box-shadow:0 8px 35px #1e32541a}.toast>span{white-space:pre-wrap;overflow-wrap:anywhere;max-height:180px;overflow:auto}.modal-backdrop{-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);z-index:50;background:#172a4e4d;justify-content:center;align-items:center;padding:30px;display:flex;position:fixed;inset:0}.code-modal{background:#fff;border-radius:11px;flex-direction:column;width:min(1100px,90vw);height:85vh;display:flex;overflow:hidden;box-shadow:0 20px 70px #17284740}.code-modal .panel-heading{gap:12px;min-height:56px}.code-modal .panel-heading button{font-size:11px}.code-note{color:#8d9bb3;background:#fafbfd;border-bottom:1px solid #e5eaf3;margin:0;padding:12px 20px;font-size:11px}.code-modal pre{color:#526780;tab-size:2;background:#f9fbfe;flex:1;margin:0;padding:22px;font:11px/1.85 SFMono-Regular,Consolas,monospace;overflow:auto}.input-modal{background:#fff;border-radius:10px;width:470px;overflow:hidden;box-shadow:0 20px 70px #17284740}.input-modal-body{padding:16px 22px 23px}.check-row{color:#7a8aa3;align-items:center;gap:7px;font-size:11px;display:flex}.check-row input{accent-color:var(--blue)}.spin{animation:1.2s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}@media (width<=1200px){.library{width:195px;min-width:195px}.inspector{width:250px;min-width:250px}.app-header,.workspace-header{padding-inline:18px}.toolbar{gap:5px}.toolbar button{padding-inline:8px}.workspace-title h1{max-width:220px}.run-controls button{gap:0;font-size:0}.run-controls button svg{width:12px}.canvas-meta{display:none}.run-tabs{gap:11px}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition:none!important;animation:none!important}}.recording-entry{color:#c04051;border:1px solid var(--border);border-radius:6px;align-items:center;gap:6px;padding:6px 10px;text-decoration:none;display:inline-flex}.recording-handoff{color:#3864b8;background:#edf4ff;align-items:center;gap:12px;padding:10px 24px;display:flex}.recording-handoff button:first-of-type{margin-left:auto}.editor-commands{border-bottom:1px solid var(--border,#e2e8f0);background:#fff;flex-wrap:wrap;align-items:center;gap:5px;padding:7px 12px;display:flex}.editor-commands button{align-items:center;gap:5px;padding:5px 7px;font-size:12px;display:inline-flex}.editor-commands button[aria-pressed=true]{color:#3158cd;background:#edf2ff;border-color:#cbd7ff}.selection-summary{color:#64748b;white-space:nowrap;font-size:11px}.selection-inspector .inspector-body{flex-direction:column;gap:10px;display:flex}.selection-inspector .selection-node{text-align:left;justify-content:space-between;gap:10px;display:flex}.selection-node strong{text-overflow:ellipsis;overflow:hidden}.selection-node small{color:#64748b;flex-shrink:0}.reading-focus .inspector,.reading-focus .run-panel{display:none}.canvas-heading{flex-wrap:wrap;gap:8px;height:auto;min-height:52px;padding-block:8px}.canvas-heading>div{flex-wrap:wrap;gap:9px}.view-switch{background:#eef2f7;border-radius:8px;gap:2px;padding:3px;display:flex}.view-switch button{color:#63728a;background:0 0;border:0;min-height:28px;padding:3px 9px;font-size:11px}.view-switch button[aria-pressed=true]{color:#284c9d;background:#fff;box-shadow:0 1px 4px #25375b18}.library-tabs{gap:3px;padding-inline:7px}.library-tabs button{gap:5px;font-size:11px}.flow-reader{scrollbar-width:thin;scroll-behavior:smooth;background:#f5f7fb;height:100%;padding:26px clamp(18px,3.5vw,58px) 70px;overflow:auto;container-type:inline-size}.logic-intro{justify-content:space-between;align-items:center;gap:24px;max-width:1100px;margin:0 auto 28px;display:flex}.logic-kicker{color:#617089;letter-spacing:.6px;font-size:10px}.logic-intro h2{color:#243a5c;letter-spacing:-.5px;margin:6px 0;font-size:23px;font-weight:650}.logic-intro p{color:#617089;margin:0;font-size:12px}.logic-totals{border-left:1px solid #dde4ef;gap:24px;padding-left:20px;display:flex}.logic-totals>strong{color:#304e7e;text-align:center;font-size:24px;font-weight:600}.logic-totals small{color:#7a8aa1;font-size:10px;font-weight:400;display:block}.logic-sequence{max-width:1100px;margin:auto}.logic-connector{color:#9eabc0;justify-content:center;align-items:center;height:24px;display:flex}.logic-step{background:#fff;border:1px solid #dfe5ef;border-radius:9px;align-items:center;gap:12px;min-height:70px;padding:10px 14px;scroll-margin:28px;display:flex;box-shadow:0 2px 5px #253b5d04}.logic-order{color:#617089;flex-shrink:0;font:10px SFMono-Regular,Consolas,monospace}.logic-step-main{text-align:left;white-space:normal;background:0 0;border:0;flex:1;justify-content:flex-start;gap:12px;min-width:0;min-height:46px;padding:0}.logic-step-main:hover{color:#2755b1;background:0 0}.logic-step-main>span:last-child{min-width:0}.logic-step strong{color:#34475f;font-size:14px;font-weight:550;display:block}.logic-step small{color:#617089;overflow-wrap:anywhere;margin-top:3px;font-size:11px;display:block}.logic-step.type-start,.logic-step.type-end{box-shadow:none;background:#eef5f9;border-color:#d6e3eb}.logic-step.type-start .node-symbol,.logic-step.type-end .node-symbol{color:#426682;background:#deebf4}.logic-step.type-loopEnd{background:#faf8ff;border-style:dashed;border-color:#d9cdea}.logic-step.selected,.logic-block.selected{outline-offset:2px;outline:2px solid #6289df}.logic-step.failed{background:#fff9f9;border-color:#db7d82}.logic-step.running{background:#f8faff;border-color:#6b92e4}.logic-status{white-space:nowrap;border-radius:20px;flex-shrink:0;align-items:center;gap:5px;padding:4px 8px;font-size:10px;display:inline-flex}.logic-status.failed{color:#af3748;background:#fce8eb}.logic-status.running{color:#3561b9;background:#e8effd}.logic-status.succeeded{color:#3b8069;background:#edf6f2}.logic-return,.logic-reference{color:#8460b6;white-space:normal;background:0 0;border:0;font-size:11px}.logic-return{padding-inline:0}.logic-reference{background:#f7f9fc;border:1px dashed #cfd8e9;justify-content:flex-start;width:100%;padding:10px;display:flex}.logic-block{background:#fff;border:1px solid #dce3ef;border-radius:12px;scroll-margin:28px;overflow:visible}.logic-block-heading{background:#fbfcfe;border-radius:10px 10px 0 0;align-items:center;gap:11px;min-height:88px;padding:17px 16px 17px 10px;display:flex}.logic-block.loop{border-color:#d7c9eb #d7c9eb #d7c9eb #a087c6;border-left-style:solid;border-left-width:4px}.logic-block.loop>.logic-block-heading{background:#f6f2fc}.logic-block.condition{border-color:#d2dfee #d2dfee #d2dfee #7e9fc8;border-left-style:solid;border-left-width:4px}.logic-block.condition>.logic-block-heading{background:#f0f5fb}.logic-block.sequence{border-color:#dce3ed #dce3ed #dce3ed #bbc9dc;border-left-style:solid;border-left-width:4px}.logic-block-icon{color:#6282ac;display:flex}.loop>.logic-block-heading>.logic-block-icon{color:#8962b5}.logic-disclosure{color:#7f8c9f;background:0 0;border:0;flex-shrink:0;min-width:26px;min-height:30px;padding:2px}.logic-block-title{flex-direction:column;flex:1;gap:4px;min-width:0;display:flex}.logic-block-title button{white-space:normal;text-align:left;background:0 0;border:0;justify-content:flex-start;min-height:0;padding:0}.logic-block-title strong{color:#334766;font-size:14px;font-weight:600;line-height:1.5}.logic-block-title small{color:#617089;overflow-wrap:anywhere;font-size:11px}.logic-block-preview{background:#fbfcfe;border-radius:0 0 10px 10px;flex-wrap:wrap;gap:6px;padding:0 18px 15px 50px;display:flex}.logic-block.loop>.logic-block-preview{background:#f6f2fc}.logic-block.condition>.logic-block-preview{background:#f0f5fb}.logic-block-preview>span{color:#71829b;background:#ffffffa0;border:1px solid #dce4ee;border-radius:4px;padding:3px 7px;font-size:10px}.logic-block-preview .preview-more{color:#647d9c;background:0 0;border:0;align-items:center;gap:4px;display:inline-flex}.logic-milestone{color:#79618f;white-space:normal;text-align:left;background:#ffffffa6;border-color:#dfd5ec;min-height:24px;padding:4px 7px;font-size:10px;font-weight:500}.logic-block-preview .scope-summary{color:#77578e;background:0 0;border:0}.logic-block-content{border-top:1px solid #e6eaf2;padding:18px}.sequence>.logic-block-content{scrollbar-width:thin;max-height:620px;padding:8px;overflow:auto}.sequence .logic-step{box-shadow:none;border-color:#0000;border-radius:5px;min-height:60px;padding:8px}.sequence .logic-step.selected{background:#f1f5ff;border-color:#6289df;outline:0}.sequence .logic-connector{justify-content:flex-start;height:9px;padding-left:36px}.sequence .logic-connector svg{height:11px}.logic-scope-note{color:#77578e;align-items:center;gap:6px;margin:-3px 0 16px;font-size:10px;display:flex}.logic-branches{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;gap:16px;display:grid}.logic-branches.stacked{grid-template-columns:1fr}.logic-branch{background:#fafcfd;border:1px solid #e0e7ed;border-radius:8px;min-width:0;padding:12px}.logic-branch.true{border-top:3px solid #69ad96}.logic-branch.false{border-top:3px solid #d5ac73}.branch-heading{color:#4d6f6a;align-items:center;gap:7px;margin-bottom:13px;font-size:11px;font-weight:600;display:flex}.false>.branch-heading{color:#9a7748}.branch-heading>span{color:#90a0b4;margin-left:auto;font-size:10px;font-weight:400}.branch-heading>i,.branch-preview>i{background:#69ad96;border-radius:50%;width:6px;height:6px;display:inline-block}.false>.branch-heading>i,.branch-preview.false>i{background:#d5ac73}.branch-preview>i{margin-right:5px}.logic-branch .logic-block-heading{gap:7px;padding:12px 10px 12px 4px}.logic-branch .logic-block-preview{padding-left:16px}.logic-branch .logic-step{gap:7px;padding:8px}.logic-branch .logic-step-main{gap:7px}.logic-branch .logic-step strong{font-size:13px}.logic-merge{color:#617089;flex-wrap:wrap;justify-content:center;align-items:center;gap:5px;margin-bottom:0;padding-top:15px;font-size:10px;display:flex}.logic-merge button{color:#637d9e;background:0 0;border:0;min-height:0;padding:0;font-size:10px}.logic-empty{color:#9aa6b6;text-align:center;padding:16px 10px;font-size:11px}.logic-empty.unconnected{color:#b27f3d;background:#fff8ec;border-radius:5px}.logic-warning{color:#a27a42;background:#fff7e9;border:1px solid #eedbbc;border-radius:7px;align-items:center;gap:8px;max-width:1100px;margin:0 auto 18px;padding:12px;font-size:11px;display:flex}.logic-detached{border-top:1px dashed #cdd6e5;max-width:1100px;margin:30px auto 0;padding-top:20px}.logic-detached h3{margin-bottom:4px;font-size:14px}.logic-detached>p{color:#8a98ad;margin-bottom:20px;font-size:11px}.flow-outline{flex-direction:column;flex:1;min-height:0;display:flex}.flow-outline .library-search .icon-button{min-width:17px;min-height:17px;padding:0}.outline-count{color:#617089;margin:4px 15px 10px;font-size:10px}.flow-outline nav{scrollbar-width:thin;flex:1;min-height:0;padding:0 7px 16px;overflow:auto}.flow-outline ol{margin:0;padding:0;list-style:none}.flow-outline li{margin:2px 0}.flow-outline li>button{white-space:normal;text-align:left;padding-block:6px;color:#63748e;border-color:#0000;justify-content:flex-start;gap:7px;width:100%;min-height:44px;padding-right:7px}.flow-outline li>button.active{color:#3159a8;background:#eaf0fe;border-color:#d6e2fb}.flow-outline li>button.loop{background:#f6f2fb}.flow-outline li>button.condition{background:#f1f5fa}.flow-outline li>button>svg{flex-shrink:0}.flow-outline li>button>span:not(.outline-order){overflow-wrap:anywhere;flex:1;min-width:0;font-size:11px}.flow-outline small{color:#617089;margin-top:2px;font-size:10px;display:block}.outline-order{color:#617089;font:9px monospace}.flow-outline .library-footer{padding:10px 14px;font-size:9px;line-height:1.8}@container (width<=1000px){.logic-branches{grid-template-columns:1fr}.logic-totals{gap:12px}}@media (prefers-reduced-motion:reduce){.flow-reader{scroll-behavior:auto}}.flow-node{border-left:4px solid #87a7d0;border-radius:10px;gap:10px;width:280px;height:112px;padding:12px}.flow-node.group-network{border-left-color:#73aa9e}.flow-node.group-data{border-left-color:#91a9bf}.flow-node.type-condition{background:#fffdf7;border-color:#dbc7a5 #dbc7a5 #dbc7a5 #c69c59}.flow-node.type-foreach,.flow-node.type-forRange{background:#faf7ff;border-color:#d7c8e8 #d7c8e8 #d7c8e8 #9976c2}.flow-node.type-start,.flow-node.type-end{background:#eff5fa;border-color:#a8bdcf;border-radius:18px}.flow-node.type-loopEnd{background:#faf7ff;border-style:dashed;border-color:#b9a4d0;border-radius:28px}.flow-node.type-condition,.flow-node.type-foreach,.flow-node.type-forRange{--shape-fill:#faf7ff;--shape-stroke:#a487c6;box-shadow:none;background:0 0;border:0;padding-inline:30px}.flow-node.type-condition{--shape-fill:#fffdf5;--shape-stroke:#c49a52;text-align:center;padding:42px 74px}.node-surface{pointer-events:none;filter:drop-shadow(0 3px 4px #293d6009);width:100%;height:100%;position:absolute;inset:0;overflow:visible}.node-surface polygon{fill:var(--shape-fill);stroke:var(--shape-stroke);stroke-width:1.5px;vector-effect:non-scaling-stroke;stroke-linejoin:round}.flow-node.selected .node-surface polygon,.flow-node.running .node-surface polygon{stroke:#5c86df;stroke-width:2.5px;fill:#f3f7ff}.flow-node.failed .node-surface polygon{stroke:#d9717c;fill:#fff5f5}.flow-node .node-text,.flow-node>.node-symbol,.flow-node>.node-status{position:relative}.flow-node.type-condition>.node-symbol{color:#a77c34;background:0 0;width:24px;height:24px;position:absolute;top:22px;left:calc(50% - 12px)}.flow-node.type-condition>.node-status{position:absolute;bottom:24px;left:calc(50% - 5px)}.flow-node.type-condition .node-kind{justify-content:center;gap:8px}.flow-node.type-condition .port,.flow-node.type-foreach .port,.flow-node.type-forRange .port{transform:none}.flow-node.type-condition .port-true{top:50%;bottom:auto;left:0}.flow-node.type-condition .port-false,.flow-node.type-foreach .port-done,.flow-node.type-forRange .port-done{top:50%;bottom:auto;left:100%}.flow-node.type-foreach .port-body,.flow-node.type-forRange .port-body{bottom:0;left:50%}.flow-node.type-condition .port-true>span,.flow-node.type-condition .port-false>span,.flow-node.type-foreach .port-done>span,.flow-node.type-forRange .port-done>span{top:-27px}.flow-node.type-condition .port-true>span{left:-12px}.flow-node.type-condition .port-false>span,.flow-node.type-foreach .port-done>span,.flow-node.type-forRange .port-done>span{left:12px}.flow-node .node-text{gap:4px}.flow-node .node-kind{color:#8a99ad;justify-content:space-between;align-items:center;max-width:none;font-family:inherit;font-size:9px;line-height:1.3;display:flex}.node-kind small{color:#a2aec0;font:9px monospace}.flow-node .node-text strong{white-space:normal;-webkit-line-clamp:2;-webkit-box-orient:vertical;font-size:13px;line-height:17px;display:-webkit-box}.flow-node .node-text>span:last-child{white-space:normal;overflow-wrap:anywhere;-webkit-line-clamp:2;color:#7f8da2;-webkit-box-orient:vertical;max-width:none;font-size:10px;line-height:14px;display:-webkit-box}.flow-node .port>span{white-space:nowrap;background:#fff;border:1px solid #dce3ed;border-radius:4px;padding:2px 5px;font-family:inherit;font-size:10px;line-height:1.3;top:8px}.flow-node .port:has([data-handleid=true])>span{color:#378570;border-color:#b9d9ce}.flow-node .port:has([data-handleid=false])>span{color:#a37633;border-color:#e8d5b3}
