.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))}@font-face{font-family:Inter;src:url(/workflow/fonts/InterVariable.woff2)format("woff2");font-weight:100 900;font-display:swap}:root{color:#202124;font-synthesis:none;--blue:#0345c9;--muted:#5c5e62;--line:#e5e6e8;--coral:#ff775f;--lime:#d7ed00;--teal:#00c3b4;--mono:"Courier New",Courier,monospace;--panel:326px;background:#fff;font-family:Inter,Arial,sans-serif;font-weight:400}*{box-sizing:border-box}body{margin:0}button,input,textarea,select{font:inherit}button,a,input,textarea,select{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:disabled{cursor:default}button{color:inherit}button,a{touch-action:manipulation}a{color:inherit}button:focus-visible,a:focus-visible,summary:focus-visible,[tabindex]:focus-visible{outline:2px solid var(--blue);outline-offset:4px}input:focus,textarea:focus,select:focus{outline:2px solid var(--blue);outline-offset:1px}button:disabled{opacity:.3}button svg{stroke-width:1.7px;flex-shrink:0}h1,h2,h3,p{margin:0}h1,h2,h3{font-weight:500}svg{vertical-align:middle}.app{flex-direction:column;height:100dvh;min-height:400px;display:flex;overflow:hidden}.app-header{border-bottom:1px solid var(--line);z-index:20;background:#fff;flex-shrink:0;align-items:center;gap:32px;height:85px;padding:0 27px;display:flex}.brand{flex-shrink:0}.brand-name{font-family:var(--mono);margin-bottom:5px;font-size:12px;text-decoration:none;display:inline-block}.brand-name:hover{text-underline-offset:3px;text-decoration:underline}.brand h1{color:var(--blue);letter-spacing:-1px;white-space:nowrap;font-size:23px;line-height:1.1}.brand h1>span{color:var(--coral)}.document-heading{border-left:1px solid var(--line);flex-direction:column;flex:1;align-items:flex-start;gap:7px;min-width:0;padding-left:30px;display:flex}.document-title{text-align:left;white-space:nowrap;text-overflow:ellipsis;background:0 0;border:0;align-items:center;gap:10px;max-width:100%;padding:0;font-size:13px;line-height:1.3;display:flex;overflow:hidden}.document-title svg{color:#8b8f96;flex-shrink:0}.save-status{font-family:var(--mono);color:var(--muted);white-space:nowrap;align-items:center;gap:6px;font-size:10px;display:flex}.status-dot{background:#4a917f;border-radius:50%;width:5px;height:5px;display:inline-block}.save-status.saving .status-dot{background:#a4acb9}.save-status.error,.save-status.conflict{color:#9c2f19}.save-status.error .status-dot,.save-status.conflict .status-dot{background:#d85435}.header-actions{align-items:center;gap:9px;display:flex}.button{white-space:nowrap;background:#fff;border:1px solid #dce0e6;border-radius:5px;justify-content:center;align-items:center;gap:9px;min-height:39px;padding:9px 14px;font-size:12px;font-weight:450;line-height:1.2;text-decoration:none;transition:background .12s,border-color .12s;display:inline-flex}.button:hover{background:#f5f7fa;border-color:#b6c2d5}.button.primary{background:var(--blue);color:#fff;border-color:var(--blue)}.button.primary:hover{background:#073ca6;border-color:#073ca6}.button.quiet{background:0 0;border-color:#0000}.button.quiet:hover{background:#f2f5fa}.button.active{color:var(--blue);background:#eef3ff}.file-button{font-family:var(--mono);gap:10px}.icon-button{background:0 0;border:0;border-radius:4px;flex-shrink:0;justify-content:center;align-items:center;width:36px;height:36px;transition:background .1s,color .1s;display:inline-flex}.icon-button:hover:not(:disabled){background:#edf2fa}.icon-button.active{color:var(--blue);background:#eaf0ff}.menu-wrap{position:relative}.file-menu{z-index:40;background:#fff;border:1px solid #e0e4eb;border-radius:7px;width:255px;padding:7px;position:absolute;top:calc(100% + 9px);right:0;box-shadow:0 7px 24px #192e4f14}.file-menu button{text-align:left;background:0 0;border:0;border-radius:3px;align-items:center;gap:11px;width:100%;min-height:39px;padding:9px 10px;font-size:12px;display:flex}.file-menu button:hover{background:#f1f5fc}.file-menu button>span{color:var(--muted);font-family:var(--mono);margin-left:auto;font-size:10px}.menu-rule{background:var(--line);height:1px;margin:5px 4px}.workspace{background:#f9fafc;flex:1;min-height:0;display:flex;position:relative;overflow:hidden}.canvas{isolation:isolate;flex:1;min-width:0;position:relative}.canvas:focus-visible{outline:none}.react-flow__pane{touch-action:none}.react-flow{--xy-background-color:#f9fafc;--xy-edge-stroke-selected:var(--blue);--xy-selection-background-color:#0345c90d;--xy-selection-border:1px solid #0345c9;--xy-node-boxshadow-selected:0 0 0 2px var(--blue);--xy-handle-background-color:var(--blue);--xy-handle-border-color:#fff}.react-flow__node-step{background:0 0;border:0;border-radius:7px}.step-card{background:#fff;border:1px solid #d7dce5;border-radius:7px;width:260px;min-height:169px;padding:20px 21px 22px;transition:box-shadow .12s,border-color .12s;position:relative;box-shadow:0 2px 3px #1b315008}.react-flow__node-step:hover .step-card{border-color:#a5b9d9}.react-flow__node-step.selected .step-card{border-color:var(--blue);box-shadow:0 0 0 1.5px var(--blue),0 5px 14px #153e7810}.react-flow__node-step:focus-visible{outline:none}.react-flow__node-step:focus-visible .step-card{outline:2px solid var(--blue);outline-offset:5px}.step-card h3{letter-spacing:-.65px;color:#193971;overflow-wrap:anywhere;font-size:21px;font-weight:500;line-height:1.22}.step-card h3.untitled{color:#76839c}.card-description{color:#616772;-webkit-line-clamp:3;overflow-wrap:anywhere;-webkit-box-orient:vertical;margin-top:9px;font-size:13px;line-height:1.55;display:-webkit-box;overflow:hidden}.card-roles{align-items:center;gap:5px;min-height:21px;margin-bottom:18px;display:flex}.role-badge{white-space:nowrap;color:#202124;border-radius:3px;align-items:center;gap:4px;padding:4px 6px;font-size:11px;font-weight:500;line-height:1.25;display:inline-flex}.role-human{--role-bg:#ff775f;--role-light:#ffe7e0}.role-ai{--role-bg:#d7ed00;--role-light:#f0f6bb}.role-code{--role-bg:#00c3b4;--role-light:#d4f3ed}.role-badge{background:var(--role-light)}.role-badge svg{stroke-width:1.75px;width:12px;height:12px}.unassigned{font-family:var(--mono);color:#657085;align-items:center;gap:6px;font-size:10px;display:inline-flex}.unassigned>span{border:1px solid #a6aebe;width:7px;height:7px;display:inline-block}.focus-mark{color:var(--blue);font-size:10px;font-family:var(--mono);border-top:1px solid #e0e8fa;align-items:center;gap:6px;margin-top:17px;padding-top:12px;display:flex}.step-card.is-focus{border-color:#87a8eb}.react-flow__handle{background:var(--blue);opacity:0;z-index:5;border:2px solid #fff;width:12px;min-width:12px;height:12px;min-height:12px;transition:opacity .12s}.react-flow__handle:after{content:"";position:absolute;inset:-9px}.react-flow__node:hover .react-flow__handle,.react-flow__node.selected .react-flow__handle,.react-flow__node:focus-visible .react-flow__handle,.tool-connect .react-flow__handle,.react-flow__handle.connectingto{opacity:1}.react-flow__edge.selected .react-flow__edge-path{stroke:var(--blue)!important;stroke-width:2px!important}.react-flow__edge:hover .react-flow__edge-path{stroke:#466799!important}.react-flow__edge:focus-visible{outline:none}.react-flow__edge:focus-visible .react-flow__edge-path{stroke:var(--blue)!important;stroke-width:3px!important}.react-flow__edge-text{font-family:Inter,Arial,sans-serif}.tool-hand .react-flow__pane,.tool-hand .react-flow__node{cursor:grab}.tool-connect .react-flow__node{cursor:crosshair}.react-flow__pane.dragging,.tool-hand .react-flow__node.dragging{cursor:grabbing}.canvas-caption{color:var(--muted);z-index:4;pointer-events:none;align-items:baseline;gap:12px;max-width:calc(100% - 54px);font-size:11px;display:flex;position:absolute;top:24px;left:27px}.canvas-caption>span{font-family:var(--mono);flex-shrink:0}.canvas-caption button{font:inherit;color:var(--muted);white-space:nowrap;text-overflow:ellipsis;text-align:left;pointer-events:auto;background:#f9fafcee;border:0;max-width:600px;padding:4px 0;overflow:hidden}.canvas-caption button:hover{color:var(--blue)}.caption-dot{color:#a5afbf}.canvas-toolbar{z-index:8;background:#fff;border:1px solid #e0e4eb;border-radius:9px;flex-direction:column;align-items:center;gap:4px;width:56px;padding:8px;display:flex;position:absolute;top:50%;left:24px;transform:translateY(-50%);box-shadow:0 3px 13px #20334d0e}.canvas-toolbar .icon-button{width:38px;height:38px}.canvas-toolbar .toolbar-divider{width:24px;height:1px;margin:4px 0}.toolbar-divider{background:#e5e9ef;flex-shrink:0;width:1px;height:22px;margin:0 4px;display:inline-block}.add-button{background:var(--blue);color:#fff;border:0;border-radius:4px;flex-shrink:0;justify-content:center;align-items:center;width:38px;height:38px;padding:0;display:flex}.add-button:hover{background:#073ca6}.zoom-controls{z-index:8;background:#fff;border:1px solid #e0e4eb;border-radius:6px;align-items:center;height:45px;padding:4px 5px;display:flex;position:absolute;bottom:29px;right:25px;box-shadow:0 2px 8px #20334d05}.zoom-controls .icon-button{width:29px;height:32px}.zoom-controls .toolbar-divider{height:18px;margin:0 4px}.zoom-value{font-family:var(--mono);color:#364154;background:0 0;border:0;border-radius:3px;min-width:47px;height:32px;padding:0 4px;font-size:11px}.zoom-value:hover{background:#f0f4fa}.zoom-value span{color:#7e8693}.canvas-help{color:#667184;font-family:var(--mono);z-index:7;align-items:center;gap:7px;font-size:9px;display:flex;position:absolute;bottom:34px;left:20px}.canvas-help .icon-button{width:32px;height:32px}.canvas-help>span{max-width:160px;line-height:1.5}.tool-hint{color:var(--blue);z-index:7;white-space:nowrap;background:#f5f8ff;border:1px solid #ccdaf6;border-radius:5px;align-items:center;gap:10px;padding:10px 12px;font-size:12px;display:flex;position:absolute;top:27px;left:50%;transform:translate(-50%);box-shadow:0 2px 9px #1b3b6410}.tool-hint button{color:var(--blue);background:0 0;border:0;padding:4px;display:flex}.tool-connect .canvas-caption{visibility:hidden}.welcome{pointer-events:none;grid-template-columns:1.15fr 1fr;align-items:center;gap:70px;width:min(860px,100% - 100px);display:grid;position:absolute;top:44%;left:50%;transform:translate(-50%,-50%)}.welcome-text,.welcome-drawing{pointer-events:auto}.welcome-byline{font-family:var(--mono);color:var(--muted);margin-bottom:22px;font-size:13px}.welcome h2{letter-spacing:-2px;color:var(--blue);font-size:48px;font-weight:450;line-height:1.08}.welcome h2 span{color:var(--coral)}.welcome-text>p:not(.welcome-byline):not(.welcome-footnote){color:#555c67;max-width:365px;margin-top:24px;font-size:15px;line-height:1.75}.welcome-actions{gap:10px;margin-top:28px;display:flex}.welcome-actions .button{min-height:42px;font-size:12px}.welcome-footnote{font-family:var(--mono);color:#6e7787;max-width:280px;margin-top:19px;font-size:10px;line-height:1.65}.welcome-drawing{pointer-events:none;height:330px;margin-top:23px;position:relative}.demo-card{background:#fff;border:1px solid #d6deed;border-radius:6px;width:217px;padding:19px 21px 25px;position:absolute;box-shadow:0 4px 8px #20334d04}.demo-card>span:last-child{letter-spacing:-.8px;color:#214279;margin-top:20px;font-size:23px;line-height:1.25;display:block}.demo-first{top:0;left:-2px;transform:rotate(-4deg)}.demo-second{bottom:10px;right:-8px;transform:rotate(3deg)}.demo-second>div{gap:5px;display:flex}.demo-line{fill:none;stroke:#839bbd;stroke-width:1.4px;width:137px;height:126px;position:absolute;top:117px;left:54px;overflow:visible}.demo-note{font-family:var(--mono);color:#75829a;font-size:10px;display:block;position:absolute;bottom:-30px;left:6px;transform:rotate(-3deg)}.empty-state{text-align:center;background:#f9fafcdd;width:min(390px,100% - 36px);padding:20px;position:absolute;top:40%;left:50%;transform:translate(-50%,-50%)}.empty-state h2{color:var(--blue);letter-spacing:-1px;font-size:28px}.empty-state p{color:var(--muted);margin:15px 0 25px;font-size:13px;line-height:1.6}.empty-state .text-button{margin:19px auto 0;display:block}.text-button{font-family:var(--mono);color:var(--muted);text-underline-offset:4px;background:0 0;border:0;font-size:11px;text-decoration:underline}.text-button:hover{color:var(--blue)}.inspector{width:var(--panel);min-width:var(--panel);z-index:12;background:#fff;border-left:1px solid #e0e4eb;flex-direction:column;display:flex;box-shadow:-3px 0 12px #20334d03}.inspector-heading{border-bottom:1px solid #eef0f4;flex-shrink:0;justify-content:space-between;align-items:center;padding:17px 19px 13px 23px;display:flex}.inspector-heading h2{letter-spacing:-.1px;color:#606978;font-size:13px;font-weight:450}.inspector-heading .icon-button{width:30px;height:30px}.inspector-content{overscroll-behavior:contain;scrollbar-width:thin;flex:1;min-height:0;padding:23px;overflow:auto}.field-label{margin-bottom:9px;font-size:12px;font-weight:500;line-height:1.4;display:block}.inspector input,.inspector textarea,.inspector select{color:#303642;background:#fff;border:1px solid #dce1e9;border-radius:4px;width:100%;padding:10px 11px;font-size:12px;line-height:1.6;display:block}.inspector input::placeholder,.inspector textarea::placeholder{color:#77808e}.inspector textarea{resize:vertical;min-height:70px;max-height:280px}.inspector input+.field-label,.inspector select+.field-label,.inspector textarea+.field-label{margin-top:22px}.inspector .title-input{letter-spacing:-.5px;color:var(--blue);padding:11px 10px;font-size:17px;font-weight:450;line-height:1.4}.inspector .description-input{border-color:#e8ebf0;min-height:63px;margin-top:10px}.role-fieldset{border:0;min-width:0;margin:27px 0 25px;padding:0}.role-fieldset legend{margin-bottom:11px;padding:0;font-size:12px;font-weight:500}.role-fieldset p{color:var(--muted);margin-top:10px;font-size:10px;line-height:1.5}.role-toggles{gap:6px;display:flex}.role-toggle{color:#586174;background:#fff;border:1px solid #d9dee7;border-radius:4px;flex:1;justify-content:center;align-items:center;gap:5px;min-height:38px;padding:8px 9px;font-size:11px;display:flex;position:relative}.role-toggle>svg{width:15px}.role-toggle .check-box{border:1px solid #9da7b5;border-radius:2px;flex-shrink:0;justify-content:center;align-items:center;width:11px;height:11px;display:flex}.role-toggle.checked .check-box{color:#25313e;border-color:#0000}.role-toggle.checked{background:var(--role-light);border-color:var(--role-bg);color:#202124;box-shadow:inset 0 -2px var(--role-bg)}.role-toggle:hover{border-color:#738baa}.step-details{border-top:1px solid #eaedf2;margin:24px 0 0;padding-top:17px}.step-details summary{color:#586273;cursor:pointer;justify-content:space-between;align-items:center;gap:10px;font-size:11px;line-height:1.5;list-style:none;display:flex}.step-details summary::-webkit-details-marker{display:none}.step-details summary:hover{color:var(--blue)}.step-details[open] summary{color:var(--blue);margin-bottom:19px}.step-details[open] summary>svg{transform:rotate(180deg)}.step-details textarea{margin-bottom:18px}.focus-button{text-align:left;width:100%;color:var(--blue);background:#fff;border:1px solid #dce4f5;border-radius:4px;align-items:center;gap:10px;margin-top:25px;padding:13px 11px;font-size:11px;line-height:1.4;display:flex}.focus-button small{color:#52627b;margin-top:3px;font-size:10px;font-weight:400;display:block}.focus-button>span{flex:1}.focus-button.chosen{background:#f2f6ff;border-color:#91b0ec}.focus-button:hover{background:#f2f6ff}.inspector-footer{border-top:1px solid #e8ecf2;justify-content:space-between;gap:8px;padding:13px 16px;display:flex}.inspector-footer .button{padding:9px 10px;font-size:11px}.delete-button{color:#a03723}.delete-button:hover{background:#fff1ec!important}.inspector-intro{color:#657082;margin-bottom:25px;font-size:12px;line-height:1.75}.inspector textarea+.inspector-intro,.reverse-button{margin-top:22px}.storage-note{color:#626e7e;border-top:1px solid var(--line);align-items:flex-start;gap:9px;margin:32px 0 20px;padding-top:20px;font-size:11px;line-height:1.8;display:flex}.storage-note svg{color:#32866f;flex-shrink:0;margin-top:3px}.multi-selection>p{color:var(--muted);margin-bottom:22px;font-size:12px;line-height:1.75}.notice{background:#fff6dd;border-bottom:1px solid #e4d6aa;flex-shrink:0;align-items:center;gap:14px;padding:11px 22px;font-size:11px;line-height:1.6;display:flex}.notice p{flex:1}.notice>button:not(.icon-button){white-space:nowrap;background:0 0;border:0;font-size:11px;text-decoration:underline}.toast{opacity:0;pointer-events:none;color:#fff;z-index:100;text-align:center;background:#20324b;border:1px solid #34465f;border-radius:5px;max-width:min(580px,100vw - 36px);padding:11px 18px;font-size:12px;line-height:1.5;transition:opacity .15s,transform .15s;position:fixed;bottom:103px;left:50%;transform:translate(-50%,8px);box-shadow:0 4px 20px #20334d12}.toast:empty{visibility:hidden}.toast.visible{opacity:1;transform:translate(-50%)}.modal{color:#202124;overscroll-behavior:contain;border:1px solid #dce1e9;border-radius:9px;width:min(580px,100vw - 32px);max-height:calc(100dvh - 56px);padding:28px;box-shadow:0 18px 80px #13264329}.modal::backdrop{background:#172b484f}.modal-heading{justify-content:space-between;align-items:center;gap:20px;margin-bottom:18px;display:flex}.modal-heading h2{letter-spacing:-.9px;color:var(--blue);font-size:24px;font-weight:450;line-height:1.2}.modal-heading .icon-button{margin-right:-7px}.modal>p{color:#626b7a;margin-bottom:20px;font-size:12px;line-height:1.8}.modal-actions{flex-wrap:wrap;justify-content:flex-end;gap:9px;margin-top:23px;display:flex}.overview-modal{width:min(750px,100vw - 32px)}.overview-text{resize:vertical;color:#384355;width:100%;height:43dvh;min-height:150px;font-family:var(--mono);background:#fafbfd;border:1px solid #dce2ec;border-radius:4px;padding:17px;font-size:11px;line-height:1.8}.shortcut-list{gap:0;margin:22px 0;display:grid}.shortcut-list>div{border-bottom:1px solid #f0f2f5;justify-content:space-between;align-items:center;gap:20px;padding:9px 0;font-size:11px;display:flex}.shortcut-list kbd{font-family:var(--mono);text-align:right;color:#516581;background:#f4f7fb;border-radius:2px;padding:3px 5px;font-size:10px}.help-modal{width:min(600px,100vw - 32px)}.help-modal .help-footnote{margin-bottom:0;font-size:11px}.confirm-modal .import-summary{font-family:var(--mono);background:#f5f7fb;padding:13px;font-size:12px}.presentation-caption{pointer-events:none;z-index:4;background:#f9fafcef;max-width:calc(100% - 64px);padding:0 0 12px;position:absolute;top:30px;left:32px}.presentation-caption h2{color:var(--blue);letter-spacing:-1px;font-size:27px;font-weight:450}.presentation-caption p{color:#647188;max-width:620px;margin-top:9px;font-size:13px;line-height:1.6}.presentation-legend{z-index:7;gap:10px;display:flex;position:absolute;bottom:35px;left:50%;transform:translate(-50%)}.presentation-legend .role-badge{padding:6px 8px;font-size:12px}.presenting .canvas-help>span{display:none}.presenting .react-flow__handle{opacity:0!important}.error-page{max-width:650px;padding:50px;font:16px/1.7 Inter,Arial,sans-serif}.error-page h1{color:var(--blue);margin-bottom:15px;font-size:28px}.error-page button{background:var(--blue);color:#fff;border:0;border-radius:4px;margin-top:20px;padding:10px 20px}@media (width>=1600px){:root{--panel:354px}.app-header{gap:42px;height:90px;padding:0 35px}.brand h1{font-size:24px}.document-title{font-size:14px}.document-heading{padding-left:40px}.header-actions .button{font-size:13px}.canvas-help>span{max-width:none}.canvas-caption{top:30px;left:35px}.inspector-content{padding:28px}.role-toggle{font-size:12px}}@media (width<=1200px){.app-header{gap:21px;padding:0 20px}.document-heading{padding-left:21px}.header-actions{gap:3px}.header-actions .button{padding:9px 10px}.canvas-help>span{display:none}.has-inspector .zoom-controls{bottom:97px;right:20px}.has-inspector .canvas-caption{font-size:10px}.welcome{gap:30px;width:calc(100% - 100px);max-width:810px}.welcome h2{font-size:45px}}@media (width<=960px){:root{--panel:300px}.app-header{gap:18px;height:80px}.brand h1{font-size:21px}.brand-name{font-size:11px}.document-heading{padding-left:18px}.header-actions .overview-button span{display:none}.header-actions .overview-button{width:36px}.document-title{font-size:12px}.save-status{font-size:9px}.inspector-content{padding:20px}.role-toggle{gap:4px;padding:8px 6px;font-size:10px}.role-toggle>svg{width:13px}.canvas-caption{top:20px;left:22px}.zoom-controls{bottom:93px;right:20px}.canvas-help{bottom:32px}.welcome{gap:25px;width:calc(100% - 125px);left:100px;transform:translateY(-50%)}.welcome h2{font-size:40px}.welcome-text>p:not(.welcome-byline):not(.welcome-footnote){font-size:13px}.welcome-actions{flex-wrap:wrap}.welcome-drawing{height:285px}.demo-card{width:185px;padding:17px 17px 20px}.demo-card>span:last-child{font-size:21px}.demo-second{right:0}.demo-note{font-size:9px}.has-inspector .canvas-help{display:none}}@media (width<=700px){.app-header{flex-wrap:wrap;align-items:flex-start;gap:12px;height:105px;padding:15px 16px 0;position:relative}.brand{height:46px}.brand h1{letter-spacing:-.7px;font-size:20px}.brand-name{margin-bottom:4px;font-size:10px}.document-heading{border:0;flex-direction:row;justify-content:space-between;align-items:center;gap:0;padding:0;display:flex;position:absolute;bottom:12px;left:16px;right:16px}.document-title{gap:6px;max-width:68%;font-size:11px}.document-title svg{width:11px}.save-status{gap:4px;max-width:29%;font-size:8px;overflow:hidden}.header-actions{align-self:flex-start;gap:1px;margin-left:auto}.header-actions .button{min-height:34px;padding:7px 9px;font-size:11px}.header-actions .present-button span{display:none}.header-actions .present-button,.header-actions .overview-button{width:34px}.file-button{gap:4px}.file-menu{top:calc(100% + 12px)}.canvas-toolbar{gap:2px;width:48px;padding:5px;left:8px}.canvas-toolbar .icon-button,.add-button{width:36px;height:36px}.canvas-toolbar .toolbar-divider{margin:4px 0}.zoom-controls{height:41px;bottom:88px;right:15px}.zoom-controls .icon-button{width:27px;height:31px}.zoom-controls .toolbar-divider{margin:0 2px}.zoom-value{min-width:42px;font-size:10px}.canvas-help{bottom:92px;left:12px}.canvas-caption{gap:8px;max-width:calc(100% - 38px);font-size:10px;top:17px;left:19px}.canvas-caption button{max-width:65vw}.welcome{width:calc(100% - 102px);max-width:420px;display:block;top:42%;left:78px;transform:translateY(-50%)}.welcome h2{font-size:38px;line-height:1.08}.welcome-byline{margin-bottom:18px;font-size:11px}.welcome-text>p:not(.welcome-byline):not(.welcome-footnote){max-width:315px;margin-top:19px;font-size:13px;line-height:1.8}.welcome-actions{gap:8px;margin-top:25px}.welcome-actions .button{min-height:40px;padding:9px 12px;font-size:11px}.welcome-footnote{max-width:280px;margin-top:16px;font-size:9px}.welcome-drawing{display:none}.inspector{width:min(326px,100vw - 64px);min-width:0;position:absolute;top:0;bottom:0;right:0;box-shadow:-15px 0 35px #13264315}.has-inspector .canvas-help{display:flex}.has-inspector .zoom-controls{bottom:88px;right:15px}.inspector-heading{padding:12px 16px 12px 20px}.inspector-content{padding:20px}.inspector-footer{padding:11px 14px}.role-toggle{gap:4px;padding:8px;font-size:11px}.modal{max-height:calc(100dvh - 30px);padding:21px}.modal-heading h2{font-size:22px}.modal>p{font-size:12px}.modal-actions{gap:8px}.modal-actions .button{font-size:11px}.shortcut-list>div{gap:9px;font-size:10px}.shortcut-list kbd{max-width:58%;font-size:9px}.toast{font-size:11px;bottom:145px}.tool-hint{white-space:normal;gap:7px;width:max-content;max-width:calc(100% - 30px);font-size:10px;top:15px}.notice{align-items:flex-start;gap:8px;padding:9px 12px;font-size:10px}.notice>button:not(.icon-button){white-space:normal;font-size:10px}.presentation-caption{max-width:calc(100% - 40px);top:20px;left:20px}.presentation-caption h2{font-size:21px}.presentation-caption p{max-width:350px;font-size:11px}.presentation-legend{gap:5px;bottom:27px}.presentation-legend .role-badge{font-size:10px}.presenting .header-actions .present-button{width:auto}.presenting .header-actions .present-button span{display:inline}.empty-state{top:39%}.empty-state h2{font-size:25px}.empty-state p{font-size:12px}}@media (height<=660px) and (width>=701px){.welcome{top:40%}.welcome h2{font-size:38px}.welcome-byline{margin-bottom:14px}.welcome-text>p:not(.welcome-byline):not(.welcome-footnote){margin-top:16px}.welcome-actions{margin-top:20px}.welcome-drawing{height:260px}.demo-card{width:190px;padding:16px}.demo-card>span:last-child{margin-top:13px;font-size:20px}.demo-note{display:none}.inspector-content{padding-top:16px}.role-fieldset{margin:20px 0}.step-details{margin-top:19px}.app-header{height:74px}}@media (height<=510px){.canvas-toolbar{max-height:calc(100% - 60px);top:12px;overflow-y:auto;transform:none}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition:none!important}}.save-short{display:none}@media (width<=700px){.save-full{display:none}.save-short{display:inline}.save-status{max-width:32%;font-size:9px}.document-title{max-width:65%}}.handoff-label{pointer-events:all;color:#596476;text-align:center;white-space:pre-wrap;overflow-wrap:anywhere;cursor:text;background:#f9fafcf2;border:1px solid #0000;border-radius:4px;max-width:220px;padding:6px 8px;font:11px/1.5 Inter,Arial,sans-serif;position:absolute}.handoff-label>span{-webkit-line-clamp:5;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.handoff-label:hover,.handoff-label.selected{color:#234b87;background:#fff;border-color:#b7c9e9}.handoff-label.empty{color:#667184;font-size:10px}.handoff-label:disabled{cursor:default;opacity:1}.react-flow__handle:focus-visible{opacity:1;outline:2px solid var(--blue);outline-offset:3px}.inspector #edge-label{min-height:190px;max-height:55vh}.export-options{gap:10px;display:grid}.export-option{text-align:left;color:#536071;background:#fff;border:1px solid #dce2ec;border-radius:5px;align-items:center;gap:16px;width:100%;padding:16px 14px;font-size:12px;line-height:1.6;display:flex}.export-option:hover{background:#f8faff;border-color:#91b0ec}.export-option:disabled{opacity:.55;cursor:wait}.export-format{min-width:42px;color:var(--blue);font:500 15px Inter,Arial,sans-serif}.export-option>span:nth-child(2){flex:1}.export-option>svg{color:var(--blue);flex-shrink:0}.export-modal .export-note{margin:20px 0 0;font-size:11px}.flow-breadcrumbs{scrollbar-width:thin;background:#fff;border-bottom:1px solid #e5e9ef;flex-shrink:0;align-items:center;gap:5px;min-height:43px;padding:7px 24px;display:flex;overflow-x:auto}.flow-breadcrumbs>span{flex-shrink:0;align-items:center;gap:5px;display:flex}.flow-breadcrumbs button{color:#536579;white-space:nowrap;text-overflow:ellipsis;background:0 0;border:0;border-radius:3px;align-items:center;gap:6px;max-width:240px;padding:6px 8px;font-size:12px;display:flex;overflow:hidden}.flow-breadcrumbs button:hover{color:var(--blue);background:#f2f6ff}.flow-breadcrumbs button[aria-current=page]{color:var(--blue);font-weight:500}.breadcrumb-separator{color:#a1abba;font-size:12px}.card-subflow{width:100%;color:var(--blue);text-align:left;background:0 0;border:0;border-top:1px solid #e0e8fa;align-items:center;gap:6px;margin-top:16px;padding:12px 0 0;font:11px/1.4 Inter,Arial,sans-serif;display:flex}.card-subflow>svg:last-child{margin-left:auto}.card-subflow:hover{text-underline-offset:3px;text-decoration:underline}.subflow-action{width:100%;color:var(--blue);text-align:left;background:#fff;border:1px solid #dce4f5;border-radius:4px;align-items:center;gap:10px;margin-top:24px;padding:14px 11px;font-size:12px;display:flex}.subflow-action>span{flex:1}.subflow-action small{color:#626e7e;margin-top:4px;font-size:10px;line-height:1.6;display:block}.subflow-action:hover{background:#f4f7fd}.subflow-action:disabled{opacity:.5;cursor:default}@media (width<=700px){.flow-breadcrumbs{min-height:39px;padding:5px 10px}.flow-breadcrumbs button{max-width:165px;padding:6px;font-size:11px}.empty-state{max-width:calc(100% - 90px);left:57%}}
