.react-flow{direction:ltr;--xy-edge-stroke-default: #b1b1b7;--xy-edge-stroke-width-default: 1;--xy-edge-stroke-selected-default: #555;--xy-connectionline-stroke-default: #b1b1b7;--xy-connectionline-stroke-width-default: 1;--xy-attribution-background-color-default: rgba(255, 255, 255, .5);--xy-minimap-background-color-default: #fff;--xy-minimap-mask-background-color-default: rgba(240, 240, 240, .6);--xy-minimap-mask-stroke-color-default: transparent;--xy-minimap-mask-stroke-width-default: 1;--xy-minimap-node-background-color-default: #e2e2e2;--xy-minimap-node-stroke-color-default: transparent;--xy-minimap-node-stroke-width-default: 2;--xy-background-color-default: transparent;--xy-background-pattern-dots-color-default: #91919a;--xy-background-pattern-lines-color-default: #eee;--xy-background-pattern-cross-color-default: #e2e2e2;background-color:var(--xy-background-color, var(--xy-background-color-default));--xy-node-color-default: inherit;--xy-node-border-default: 1px solid #1a192b;--xy-node-background-color-default: #fff;--xy-node-group-background-color-default: rgba(240, 240, 240, .25);--xy-node-boxshadow-hover-default: 0 1px 4px 1px rgba(0, 0, 0, .08);--xy-node-boxshadow-selected-default: 0 0 0 .5px #1a192b;--xy-node-border-radius-default: 3px;--xy-handle-background-color-default: #1a192b;--xy-handle-border-color-default: #fff;--xy-selection-background-color-default: rgba(0, 89, 220, .08);--xy-selection-border-default: 1px dotted rgba(0, 89, 220, .8);--xy-controls-button-background-color-default: #fefefe;--xy-controls-button-background-color-hover-default: #f4f4f4;--xy-controls-button-color-default: inherit;--xy-controls-button-color-hover-default: inherit;--xy-controls-button-border-color-default: #eee;--xy-controls-box-shadow-default: 0 0 2px 1px rgba(0, 0, 0, .08);--xy-edge-label-background-color-default: #ffffff;--xy-edge-label-color-default: inherit;--xy-resize-background-color-default: #3367d9}.react-flow.dark{--xy-edge-stroke-default: #3e3e3e;--xy-edge-stroke-width-default: 1;--xy-edge-stroke-selected-default: #727272;--xy-connectionline-stroke-default: #b1b1b7;--xy-connectionline-stroke-width-default: 1;--xy-attribution-background-color-default: rgba(150, 150, 150, .25);--xy-minimap-background-color-default: #141414;--xy-minimap-mask-background-color-default: rgba(60, 60, 60, .6);--xy-minimap-mask-stroke-color-default: transparent;--xy-minimap-mask-stroke-width-default: 1;--xy-minimap-node-background-color-default: #2b2b2b;--xy-minimap-node-stroke-color-default: transparent;--xy-minimap-node-stroke-width-default: 2;--xy-background-color-default: #141414;--xy-background-pattern-dots-color-default: #777;--xy-background-pattern-lines-color-default: #777;--xy-background-pattern-cross-color-default: #777;--xy-node-color-default: #f8f8f8;--xy-node-border-default: 1px solid #3c3c3c;--xy-node-background-color-default: #1e1e1e;--xy-node-group-background-color-default: rgba(240, 240, 240, .25);--xy-node-boxshadow-hover-default: 0 1px 4px 1px rgba(255, 255, 255, .08);--xy-node-boxshadow-selected-default: 0 0 0 .5px #999;--xy-handle-background-color-default: #bebebe;--xy-handle-border-color-default: #1e1e1e;--xy-selection-background-color-default: rgba(200, 200, 220, .08);--xy-selection-border-default: 1px dotted rgba(200, 200, 220, .8);--xy-controls-button-background-color-default: #2b2b2b;--xy-controls-button-background-color-hover-default: #3e3e3e;--xy-controls-button-color-default: #f8f8f8;--xy-controls-button-color-hover-default: #fff;--xy-controls-button-border-color-default: #5b5b5b;--xy-controls-box-shadow-default: 0 0 2px 1px rgba(0, 0, 0, .08);--xy-edge-label-background-color-default: #141414;--xy-edge-label-color-default: #f8f8f8}.react-flow__background{background-color:var(--xy-background-color-props, var(--xy-background-color, var(--xy-background-color-default)));pointer-events:none;z-index:-1}.react-flow__container{position:absolute;width:100%;height:100%;top:0;left:0}.react-flow__pane{z-index:1}.react-flow__pane.draggable{cursor:grab}.react-flow__pane.dragging{cursor:grabbing}.react-flow__pane.selection{cursor:pointer}.react-flow__viewport{transform-origin:0 0;z-index:2;pointer-events:none}.react-flow__renderer{z-index:4}.react-flow__selection{z-index:6}.react-flow__nodesselection-rect:focus,.react-flow__nodesselection-rect:focus-visible{outline:none}.react-flow__edge-path{stroke:var(--xy-edge-stroke, var(--xy-edge-stroke-default));stroke-width:var(--xy-edge-stroke-width, var(--xy-edge-stroke-width-default));fill:none}.react-flow__connection-path{stroke:var(--xy-connectionline-stroke, var(--xy-connectionline-stroke-default));stroke-width:var(--xy-connectionline-stroke-width, var(--xy-connectionline-stroke-width-default));fill:none}.react-flow .react-flow__edges{position:absolute}.react-flow .react-flow__edges svg{overflow:visible;position:absolute;pointer-events:none}.react-flow__edge{pointer-events:visibleStroke}.react-flow__edge.selectable{cursor:pointer}.react-flow__edge.animated path{stroke-dasharray:5;animation:dashdraw .5s linear infinite}.react-flow__edge.animated path.react-flow__edge-interaction{stroke-dasharray:none;animation:none}.react-flow__edge.inactive{pointer-events:none}.react-flow__edge.selected,.react-flow__edge:focus,.react-flow__edge:focus-visible{outline:none}.react-flow__edge.selected .react-flow__edge-path,.react-flow__edge.selectable:focus .react-flow__edge-path,.react-flow__edge.selectable:focus-visible .react-flow__edge-path{stroke:var(--xy-edge-stroke-selected, var(--xy-edge-stroke-selected-default))}.react-flow__edge-textwrapper{pointer-events:all}.react-flow__edge .react-flow__edge-text{pointer-events:none;-webkit-user-select:none;-moz-user-select:none;user-select:none}.react-flow__arrowhead polyline{stroke:var(--xy-edge-stroke, var(--xy-edge-stroke-default))}.react-flow__arrowhead polyline.arrowclosed{fill:var(--xy-edge-stroke, var(--xy-edge-stroke-default))}.react-flow__connection{pointer-events:none}.react-flow__connection .animated{stroke-dasharray:5;animation:dashdraw .5s linear infinite}svg.react-flow__connectionline{z-index:1001;overflow:visible;position:absolute}.react-flow__nodes{pointer-events:none;transform-origin:0 0}.react-flow__node{position:absolute;-webkit-user-select:none;-moz-user-select:none;user-select:none;pointer-events:all;transform-origin:0 0;box-sizing:border-box;cursor:default}.react-flow__node.selectable{cursor:pointer}.react-flow__node.draggable{cursor:grab;pointer-events:all}.react-flow__node.draggable.dragging{cursor:grabbing}.react-flow__nodesselection{z-index:3;transform-origin:left top;pointer-events:none}.react-flow__nodesselection-rect{position:absolute;pointer-events:all;cursor:grab}.react-flow__handle{position:absolute;pointer-events:none;min-width:5px;min-height:5px;width:6px;height:6px;background-color:var(--xy-handle-background-color, var(--xy-handle-background-color-default));border:1px solid var(--xy-handle-border-color, var(--xy-handle-border-color-default));border-radius:100%}.react-flow__handle.connectingfrom{pointer-events:all}.react-flow__handle.connectionindicator{pointer-events:all;cursor:crosshair}.react-flow__handle-bottom{top:auto;left:50%;bottom:0;transform:translate(-50%,50%)}.react-flow__handle-top{top:0;left:50%;transform:translate(-50%,-50%)}.react-flow__handle-left{top:50%;left:0;transform:translate(-50%,-50%)}.react-flow__handle-right{top:50%;right:0;transform:translate(50%,-50%)}.react-flow__edgeupdater{cursor:move;pointer-events:all}.react-flow__pane.selection .react-flow__panel{pointer-events:none}.react-flow__panel{position:absolute;z-index:5;margin:15px}.react-flow__panel.top{top:0}.react-flow__panel.bottom{bottom:0}.react-flow__panel.top.center,.react-flow__panel.bottom.center{left:50%;transform:translate(-15px) translate(-50%)}.react-flow__panel.left{left:0}.react-flow__panel.right{right:0}.react-flow__panel.left.center,.react-flow__panel.right.center{top:50%;transform:translateY(-15px) translateY(-50%)}.react-flow__attribution{font-size:10px;background:var(--xy-attribution-background-color, var(--xy-attribution-background-color-default));padding:2px 3px;margin:0}.react-flow__attribution a{text-decoration:none;color:#999}@keyframes dashdraw{0%{stroke-dashoffset:10}}.react-flow__edgelabel-renderer{position:absolute;width:100%;height:100%;pointer-events:none;-webkit-user-select:none;-moz-user-select:none;user-select:none;left:0;top:0}.react-flow__viewport-portal{position:absolute;width:100%;height:100%;left:0;top:0;-webkit-user-select:none;-moz-user-select:none;user-select:none}.react-flow__minimap{background:var( --xy-minimap-background-color-props, var(--xy-minimap-background-color, var(--xy-minimap-background-color-default)) )}.react-flow__minimap-svg{display:block}.react-flow__minimap-mask{fill:var( --xy-minimap-mask-background-color-props, var(--xy-minimap-mask-background-color, var(--xy-minimap-mask-background-color-default)) );stroke:var( --xy-minimap-mask-stroke-color-props, var(--xy-minimap-mask-stroke-color, var(--xy-minimap-mask-stroke-color-default)) );stroke-width:var( --xy-minimap-mask-stroke-width-props, var(--xy-minimap-mask-stroke-width, var(--xy-minimap-mask-stroke-width-default)) )}.react-flow__minimap-node{fill:var( --xy-minimap-node-background-color-props, var(--xy-minimap-node-background-color, var(--xy-minimap-node-background-color-default)) );stroke:var( --xy-minimap-node-stroke-color-props, var(--xy-minimap-node-stroke-color, var(--xy-minimap-node-stroke-color-default)) );stroke-width:var( --xy-minimap-node-stroke-width-props, var(--xy-minimap-node-stroke-width, var(--xy-minimap-node-stroke-width-default)) )}.react-flow__background-pattern.dots{fill:var( --xy-background-pattern-color-props, var(--xy-background-pattern-color, var(--xy-background-pattern-dots-color-default)) )}.react-flow__background-pattern.lines{stroke:var( --xy-background-pattern-color-props, var(--xy-background-pattern-color, var(--xy-background-pattern-lines-color-default)) )}.react-flow__background-pattern.cross{stroke:var( --xy-background-pattern-color-props, var(--xy-background-pattern-color, var(--xy-background-pattern-cross-color-default)) )}.react-flow__controls{display:flex;flex-direction:column;box-shadow:var(--xy-controls-box-shadow, var(--xy-controls-box-shadow-default))}.react-flow__controls.horizontal{flex-direction:row}.react-flow__controls-button{display:flex;justify-content:center;align-items:center;height:26px;width:26px;padding:4px;border:none;background:var(--xy-controls-button-background-color, var(--xy-controls-button-background-color-default));border-bottom:1px solid var( --xy-controls-button-border-color-props, var(--xy-controls-button-border-color, var(--xy-controls-button-border-color-default)) );color:var( --xy-controls-button-color-props, var(--xy-controls-button-color, var(--xy-controls-button-color-default)) );cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none}.react-flow__controls-button svg{width:100%;max-width:12px;max-height:12px;fill:currentColor}.react-flow__edge.updating .react-flow__edge-path{stroke:#777}.react-flow__edge-text{font-size:10px}.react-flow__node.selectable:focus,.react-flow__node.selectable:focus-visible{outline:none}.react-flow__node-input,.react-flow__node-default,.react-flow__node-output,.react-flow__node-group{padding:10px;border-radius:var(--xy-node-border-radius, var(--xy-node-border-radius-default));width:150px;font-size:12px;color:var(--xy-node-color, var(--xy-node-color-default));text-align:center;border:var(--xy-node-border, var(--xy-node-border-default));background-color:var(--xy-node-background-color, var(--xy-node-background-color-default))}.react-flow__node-input.selectable:hover,.react-flow__node-default.selectable:hover,.react-flow__node-output.selectable:hover,.react-flow__node-group.selectable:hover{box-shadow:var(--xy-node-boxshadow-hover, var(--xy-node-boxshadow-hover-default))}.react-flow__node-input.selectable.selected,.react-flow__node-input.selectable:focus,.react-flow__node-input.selectable:focus-visible,.react-flow__node-default.selectable.selected,.react-flow__node-default.selectable:focus,.react-flow__node-default.selectable:focus-visible,.react-flow__node-output.selectable.selected,.react-flow__node-output.selectable:focus,.react-flow__node-output.selectable:focus-visible,.react-flow__node-group.selectable.selected,.react-flow__node-group.selectable:focus,.react-flow__node-group.selectable:focus-visible{box-shadow:var(--xy-node-boxshadow-selected, var(--xy-node-boxshadow-selected-default))}.react-flow__node-group{background-color:var(--xy-node-group-background-color, var(--xy-node-group-background-color-default))}.react-flow__nodesselection-rect,.react-flow__selection{background:var(--xy-selection-background-color, var(--xy-selection-background-color-default));border:var(--xy-selection-border, var(--xy-selection-border-default))}.react-flow__nodesselection-rect:focus,.react-flow__nodesselection-rect:focus-visible,.react-flow__selection:focus,.react-flow__selection:focus-visible{outline:none}.react-flow__controls-button:hover{background:var( --xy-controls-button-background-color-hover-props, var(--xy-controls-button-background-color-hover, var(--xy-controls-button-background-color-hover-default)) );color:var( --xy-controls-button-color-hover-props, var(--xy-controls-button-color-hover, var(--xy-controls-button-color-hover-default)) )}.react-flow__controls-button:disabled{pointer-events:none}.react-flow__controls-button:disabled svg{fill-opacity:.4}.react-flow__controls-button:last-child{border-bottom:none}.react-flow__controls.horizontal .react-flow__controls-button{border-bottom:none;border-right:1px solid var( --xy-controls-button-border-color-props, var(--xy-controls-button-border-color, var(--xy-controls-button-border-color-default)) )}.react-flow__controls.horizontal .react-flow__controls-button:last-child{border-right:none}.react-flow__resize-control{position:absolute}.react-flow__resize-control.left,.react-flow__resize-control.right{cursor:ew-resize}.react-flow__resize-control.top,.react-flow__resize-control.bottom{cursor:ns-resize}.react-flow__resize-control.top.left,.react-flow__resize-control.bottom.right{cursor:nwse-resize}.react-flow__resize-control.bottom.left,.react-flow__resize-control.top.right{cursor:nesw-resize}.react-flow__resize-control.handle{width:5px;height:5px;border:1px solid #fff;border-radius:1px;background-color:var(--xy-resize-background-color, var(--xy-resize-background-color-default));translate:-50% -50%}.react-flow__resize-control.handle.left{left:0;top:50%}.react-flow__resize-control.handle.right{left:100%;top:50%}.react-flow__resize-control.handle.top{left:50%;top:0}.react-flow__resize-control.handle.bottom{left:50%;top:100%}.react-flow__resize-control.handle.top.left,.react-flow__resize-control.handle.bottom.left{left:0}.react-flow__resize-control.handle.top.right,.react-flow__resize-control.handle.bottom.right{left:100%}.react-flow__resize-control.line{border-color:var(--xy-resize-background-color, var(--xy-resize-background-color-default));border-width:0;border-style:solid}.react-flow__resize-control.line.left,.react-flow__resize-control.line.right{width:1px;transform:translate(-50%);top:0;height:100%}.react-flow__resize-control.line.left{left:0;border-left-width:1px}.react-flow__resize-control.line.right{left:100%;border-right-width:1px}.react-flow__resize-control.line.top,.react-flow__resize-control.line.bottom{height:1px;transform:translateY(-50%);left:0;width:100%}.react-flow__resize-control.line.top{top:0;border-top-width:1px}.react-flow__resize-control.line.bottom{border-bottom-width:1px;top:100%}.react-flow__edge-textbg{fill:var(--xy-edge-label-background-color, var(--xy-edge-label-background-color-default))}.react-flow__edge-text{fill:var(--xy-edge-label-color, var(--xy-edge-label-color-default))}:root{--bg: #151517;--bg-dot: #2b2b30;--panel: #1b1b1e;--card: #222226;--card-2: #2a2a2f;--card-3: #323238;--line: #2e2e33;--line-2: #3a3a41;--line-3: #4a4a53;--text: #ececee;--text-2: #c7c7cc;--muted: #8e8e96;--muted-2: #6c6c75;--accent: #ff6d5a;--accent-ink: #151517;--lavender: #9b8cfa;--mint: #7ee3b0;--radius: 12px;--radius-sm: 8px;--shadow: 0 12px 40px rgba(0, 0, 0, .5)}*{box-sizing:border-box;margin:0;padding:0}html,body,#root,.canvas-root{height:100%;width:100%}body{background:var(--bg);color:var(--text);font-family:-apple-system,SF Pro Text,Inter,Segoe UI,sans-serif;overflow:hidden}.react-flow{background:var(--bg)}.align-bar{position:fixed;top:42px;left:50%;transform:translate(-50%);z-index:30;display:flex;align-items:center;gap:3px;background:var(--card);border:1px solid var(--line-2);border-radius:10px;padding:5px 8px;box-shadow:0 10px 30px #00000080}.align-bar button{background:none;border:1px solid transparent;border-radius:6px;color:var(--text-2);cursor:pointer;display:grid;place-items:center;padding:5px}.align-bar button:hover{border-color:#ff6d5a;color:#ff6d5a}.align-sep{width:1px;height:16px;background:var(--line-2);margin:0 4px}.align-count{font-size:10.5px;color:var(--muted-2);margin-left:5px}.topbar{position:fixed;top:0;left:0;right:0;z-index:10;display:flex;justify-content:space-between;padding:10px 16px;pointer-events:none;font-size:12.5px;color:var(--muted)}.topbar .brand{color:var(--text-2);font-weight:600;pointer-events:auto;cursor:text}.topbar .brand:hover{color:var(--text)}.brand-edit{pointer-events:auto;background:var(--card);border:1px solid #ff6d5a;border-radius:7px;color:var(--text);font-size:13px;font-weight:600;padding:4px 9px;outline:none;width:260px}.topbar .toolbar{display:flex;gap:12px;align-items:center;pointer-events:auto}.tb-btn{background:var(--card-2);border:1px solid var(--line-3);color:var(--text);border-radius:8px;padding:5px 12px;font-size:12px;cursor:pointer}.tb-btn:hover{border-color:#ff6d5a}.board-sel{max-width:360px}.add-menu{position:fixed;z-index:40;background:var(--card);border:1px solid var(--line-2);border-radius:10px;padding:10px;box-shadow:0 12px 40px #0000008c;width:240px}.add-menu input{width:100%;background:var(--card);border:1px solid var(--line-2);border-radius:7px;color:var(--text);font-size:13px;padding:7px 10px;outline:none;margin-bottom:8px}.add-menu input:focus{border-color:#ff6d5a}.add-row{display:flex;gap:6px}.add-row button{flex:1;background:var(--card-2);border:1px solid var(--line-2);border-radius:7px;color:var(--text-2);font-size:12px;padding:6px 4px;cursor:pointer;white-space:nowrap}.add-row button:hover:not(:disabled){border-color:#ff6d5a}.add-row button:disabled{opacity:.4;cursor:default}.edge-menu{width:250px}.edge-menu .menu-title{font-size:10px;text-transform:uppercase;letter-spacing:.08em;color:var(--muted-2);margin-bottom:6px}.edge-menu .add-row button{display:flex;flex-direction:column;align-items:center;gap:2px;padding:6px 2px}.edge-menu .add-row button small{font-size:9px;color:var(--muted)}.edge-menu .add-row button.danger:hover{border-color:#e05252;color:#e08585}.panel-title{cursor:text}.panel-title .pencil{opacity:0;font-size:12px;color:var(--muted)}.panel-title:hover .pencil{opacity:1}.rename-input{width:100%;background:var(--card);border:1px solid #ff6d5a;border-radius:7px;color:var(--text);font-size:15px;font-weight:600;padding:6px 9px;outline:none;margin-bottom:6px}.cluster-x{margin-left:auto;opacity:.6}.cluster-x:hover{opacity:1}.cat-process .step-node{border-radius:999px;padding:0 18px}.cat-data-artifact .step-node{border-radius:4px}.cat-engine .step-node{border-width:2px;border-radius:10px;outline:1.5px solid color-mix(in srgb,var(--accent, #6f9fe8) 45%,transparent);outline-offset:3px}.cat-data-source .resource-circle{border-radius:12px;border:1.6px solid color-mix(in srgb,var(--accent, #57c9bd) 75%,var(--line-3));background:color-mix(in srgb,var(--accent, #57c9bd) 14%,var(--card-2))}.cat-decision .step-node{border:none;background:#a8623f;clip-path:polygon(14px 0,calc(100% - 14px) 0,100% 50%,calc(100% - 14px) 100%,14px 100%,0 50%);padding:0 22px}.cat-decision .step-node:before{content:"";position:absolute;top:1.5px;right:1.5px;bottom:1.5px;left:1.5px;z-index:0;clip-path:polygon(14px 0,calc(100% - 14px) 0,100% 50%,calc(100% - 14px) 100%,14px 100%,0 50%);background:var(--card-2)}.cat-decision .step-node>*{position:relative;z-index:1}.cat-trigger .step-node{border-radius:999px 12px 12px 999px;padding-left:10px}.cat-external-system .step-node{border-style:dashed;border-radius:10px}.cat-trigger .badge-node{border-radius:8px}.cat-section .step-node{width:72px;min-width:72px;height:72px;border-radius:8px;flex-direction:column;justify-content:center;gap:4px;padding:6px;text-align:center}.cat-section .step-node .step-icon{width:22px;height:22px;border-radius:6px}.cat-section .step-node .step-icon svg{width:13px;height:13px}.cat-section .step-node .step-label{white-space:normal;font-size:9.5px;line-height:1.15}.cat-state .badge-node{background:transparent;border-style:dashed}.badge-node.state{border-color:#7a5f96;color:#d3b8ee}.badge-node.state .badge-ico{background:color-mix(in srgb,#c9a3e8 16%,var(--card-2));color:#c9a3e8}.cat-action .badge-node{border-radius:8px;border-color:#4a7891}.cat-conversation .badge-node{border-radius:12px 12px 12px 3px}.cat-signal .badge-node{border:none;background:#a8873f;clip-path:polygon(10px 0,100% 0,100% 100%,10px 100%,0 50%);padding-left:16px;border-radius:0 6px 6px 0}.cat-signal .badge-node:before{content:"";position:absolute;top:1.5px;right:1.5px;bottom:1.5px;left:1.5px;z-index:0;clip-path:polygon(9px 0,100% 0,100% 100%,9px 100%,0 50%);background:var(--card-2);border-radius:0 5px 5px 0}.cat-signal .badge-node>*{position:relative;z-index:1}.legend{position:fixed;left:60px;bottom:12px;z-index:8;display:flex;flex-wrap:wrap;gap:5px 12px;max-width:460px;background:#1e1f2ab3;border:1px solid var(--line-2);border-radius:9px;padding:8px 26px 8px 11px;font-size:10.5px;color:var(--muted);pointer-events:none}.legend-x{position:absolute;top:2px;right:4px;pointer-events:auto;background:none;border:none;color:var(--muted-2);font-size:13px;cursor:pointer}.legend-x:hover{color:#ff6d5a}.legend-inline{position:static;max-width:none;background:none;border:0;padding:0 0 10px;margin-bottom:8px;border-bottom:1px solid var(--line-2);border-radius:0;pointer-events:auto}.legend-item{display:inline-flex;align-items:center;gap:5px}.legend-item i{width:10px;height:10px;border-radius:3px;display:inline-block;flex:none}.legend-item.l-process i{border-radius:999px;width:14px;height:8px}.legend-item.l-field i{border-radius:50%}.legend-item.l-actor i{clip-path:polygon(50% 0,100% 26%,100% 74%,50% 100%,0 74%,0 26%);border-radius:0;width:10px;height:10px}.legend-item.l-data-source i{border-radius:3px;outline:1px solid currentColor;outline-offset:-3px}.legend-item.l-action i{border-radius:3px;width:13px;height:8px;border-bottom:2.5px solid currentColor;box-sizing:border-box}.legend-item.l-signal i{clip-path:polygon(30% 0,100% 0,100% 100%,30% 100%,0 50%);border-radius:0;width:12px}.legend-item.l-conversation i{border-radius:5px 5px 5px 1px}.legend-item.l-data-artifact i{border-radius:1.5px}.legend-item.l-engine i{outline:1.5px solid currentColor;outline-offset:1.5px}.legend-item.l-decision i{clip-path:polygon(25% 0,75% 0,100% 50%,75% 100%,25% 100%,0 50%);border-radius:0;width:13px}.legend-item.l-trigger i{border-radius:5px 2px 2px 5px;width:12px}.legend-item.l-external-system i{background:transparent!important;border:1.5px dashed currentColor;box-sizing:border-box}.legend-item.l-state i{background:transparent!important;border:1.5px dashed currentColor;border-radius:999px;box-sizing:border-box;width:13px}.legend-item.l-sub-system i{border-radius:50%}.groups-pop{line-height:1.5;cursor:default}.group-row{display:flex;justify-content:space-between;align-items:center;gap:18px;padding:3px 0}.node-edit{flex:1;min-width:0;background:var(--card);border:1px solid #ff6d5a;border-radius:6px;color:var(--text);font-size:12.5px;font-weight:600;padding:5px 8px;outline:none}.node-edit.small{font-size:10.5px;font-weight:500;max-width:120px}.step-collapse{position:absolute;top:4px;right:4px;background:none;border:none;color:var(--muted);cursor:pointer;display:grid;place-items:center;padding:2px;opacity:0;transition:opacity .12s ease}.step-node:hover .step-collapse{opacity:1}.step-collapse:hover{color:#ff6d5a}.help-pop{position:fixed;top:44px;right:16px;z-index:40;background:var(--card);border:1px solid var(--line-2);border-radius:10px;padding:12px 14px;box-shadow:0 12px 40px #0000008c;font-size:12px;color:var(--text-2);line-height:1.9;cursor:pointer}.help-pop b{color:var(--text)}.quick-pick{width:240px}.quick-grid{display:grid;grid-template-columns:1fr 1fr;gap:4px}.quick-grid button{display:flex;align-items:center;gap:7px;background:var(--card-2);border:1px solid var(--line-2);border-radius:7px;color:var(--text-2);font-size:11px;padding:6px 8px;cursor:pointer;text-align:left}.quick-grid button:hover{border-color:#ff6d5a}.quick-grid i{width:9px;height:9px;border-radius:3px;flex:none}.quick-del{position:absolute;left:-9px;top:-17px;width:22px;height:22px;border-radius:50%;background:var(--card-2);border:1.5px solid #c96a6a;color:#e09999;font-size:11px;line-height:1;cursor:pointer;display:grid;place-items:center;opacity:0;transition:opacity .12s ease,transform .12s ease;z-index:6}.react-flow__node:hover .quick-del,.canvas-root:not(.sel-multi) .react-flow__node.selected .quick-del{opacity:1}.quick-del:hover{transform:scale(1.15);border-color:#e05252;color:#e05252}.resource-node .quick-del{left:-14px;right:auto;top:-14px}.port{opacity:0!important}.resource-node .quick-add,.resource-node .quick-del{pointer-events:none}.resource-node .resource-circle:hover~.quick-add,.resource-node .resource-circle:hover~.quick-del,.resource-node .quick-add:hover,.resource-node .quick-del:hover,.canvas-root:not(.sel-multi) .react-flow__node.selected .resource-node .quick-add,.canvas-root:not(.sel-multi) .react-flow__node.selected .resource-node .quick-del{opacity:1;pointer-events:auto}.badge-node .quick-add{right:-8px;top:-16px}.badge-node .quick-del{left:-8px;right:auto;top:-16px}.quick-add{position:absolute;right:-9px;top:-17px;transform:none;z-index:6;width:22px;height:22px;border-radius:50%;background:var(--card-2);border:1.5px solid #57a9c9;color:#9ac8dc;font-size:14px;line-height:1;cursor:pointer;display:grid;place-items:center;opacity:0;transition:opacity .12s ease,transform .12s ease}.react-flow__node:hover .quick-add,.canvas-root:not(.sel-multi) .react-flow__node.selected .quick-add{opacity:1}.quick-add:hover{transform:translateY(-50%) scale(1.15);border-color:#ff6d5a;color:#ff6d5a}.resource-node .quick-add{right:-14px;top:-14px}.step-node,.resource-node,.badge-node{position:relative}.sig-dock{position:absolute;top:-11px;right:-9px;z-index:5}.sig-chip{display:inline-flex;align-items:center;gap:3px;background:#3a3324;border:1px solid #8a6f3a;border-radius:999px;color:#e8b34b;font-size:10px;font-weight:700;padding:2px 7px;cursor:pointer}.sig-chip:hover{border-color:#e8b34b}.sig-pop-fixed{position:fixed;width:340px;z-index:40;background:var(--card);border:1px solid #8a6f3a;border-radius:10px;padding:6px;box-shadow:0 14px 40px #0000008c}.sig-pop-head{display:flex;align-items:center;gap:6px;font-size:10px;text-transform:uppercase;letter-spacing:.08em;color:#b08d45;padding:4px 7px 7px}.sig-row+.sig-row{border-top:1px solid var(--card-2)}.sig-row:before{content:"●";color:#e8b34b;font-size:8px;flex:none}.sig-row{display:flex;align-items:center;justify-content:space-between;gap:8px;font-size:11.5px;color:#e8c887;padding:5px 7px;border-radius:6px}.sig-row:hover{background:var(--card-2)}.sig-row span{cursor:pointer;line-height:1.45}.sig-actions{display:inline-flex;gap:2px;flex:none}.sig-row button{background:var(--card-2);border:1px solid var(--line-2);border-radius:6px;color:var(--muted);cursor:pointer;flex:none;font-size:11px;padding:2px 6px}.sig-row button:hover{border-color:#ff6d5a;color:#e8c887;color:#ff6d5a}.es-solid .react-flow__edge-path{stroke-dasharray:none!important;animation:none!important}.es-dashed .react-flow__edge-path{stroke-dasharray:6 5!important;animation:none!important}.es-anim .react-flow__edge-path{stroke-dasharray:6 5!important}.es-anim-rev .react-flow__edge-path{stroke-dasharray:6 5!important;animation-direction:reverse!important}.step-node{width:180px;height:72px;background:color-mix(in srgb,var(--accent, var(--line-3)) 11%,var(--card-2));border:1.5px solid color-mix(in srgb,var(--accent, var(--line-3)) 90%,var(--line-3));border-radius:12px;display:flex;align-items:center;gap:12px;padding:0 14px;box-shadow:0 3px 12px #00000059;transition:transform .12s ease,box-shadow .12s ease,border-color .12s ease}.raised .step-node,.step-node:hover{transform:translateY(-2px) scale(1.02);border-color:#ff6d5a;box-shadow:0 8px 24px #00000080}.react-flow__node.selected .step-node{border-color:#ff6d5a}.step-icon{width:42px;height:42px;flex:none;border-radius:9px;background:color-mix(in srgb,var(--accent, var(--muted)) 30%,var(--card-2));display:grid;place-items:center;color:var(--accent, var(--text-2))}.step-label{font-size:13px;font-weight:600;line-height:1.25;color:var(--text)}.sockets{position:absolute;left:0;right:0;bottom:0;height:0}.socket{position:absolute;bottom:-3px;transform:translate(-50%);text-align:center}.socket-label{position:absolute;top:15px;left:50%;transform:translate(-50%);font-size:9px;letter-spacing:.04em;color:var(--muted);white-space:nowrap;background:#212330d9;padding:1px 5px;border-radius:5px}.port{width:9px;height:9px;background:var(--muted);border:2px solid var(--bg);border-radius:50%}.port.side{top:50%}.port.side.multi{opacity:.5;width:7px;height:7px}.port.sock{position:relative;display:inline-block;width:7px;height:7px}.port.dim{opacity:.35}.resource-node{width:52px;display:flex;flex-direction:column;align-items:center}.resource-circle{width:52px;height:52px;border-radius:50%;background:color-mix(in srgb,var(--accent, var(--line-3)) 16%,var(--card-2));border:1.5px solid color-mix(in srgb,var(--accent, var(--line-3)) 92%,var(--line-3));display:grid;place-items:center;color:color-mix(in srgb,var(--accent, var(--text-2)) 70%,var(--text-2));box-shadow:0 2px 8px #0000004d;transition:transform .12s ease,border-color .12s ease}.raised .resource-circle,.resource-node:hover .resource-circle{transform:scale(1.07);border-color:#ff6d5a}.resource-label{position:absolute;top:100%;left:50%;transform:translate(-50%);margin-top:5px;width:110px;pointer-events:all;font-size:10.5px;font-weight:500;color:var(--text-2);text-align:center;line-height:1.25;background:#14151ec7;border-radius:5px;padding:1px 5px;width:-moz-max-content;width:max-content;max-width:120px}.badge-node{display:inline-flex;align-items:center;gap:7px;max-width:150px;padding:4px 10px 4px 5px;border-radius:999px;background:color-mix(in srgb,var(--accent, var(--line-3)) 12%,var(--card-2));border:1.5px solid color-mix(in srgb,var(--accent, var(--line-3)) 88%,var(--line-3));font-size:11px;font-weight:500;color:var(--text-2);white-space:nowrap;box-shadow:0 2px 8px #0000004d}.badge-node .badge-ico{display:grid;place-items:center;flex:none;width:20px;height:20px;border-radius:6px;background:var(--card-2)}.badge-node.amber .badge-ico{background:color-mix(in srgb,#e8b34b 18%,var(--card-2));color:#e8b34b}.badge-node.cyan .badge-ico{background:color-mix(in srgb,#57c9bd 18%,var(--card-2));color:#57c9bd}.badge-node.action .badge-ico{background:color-mix(in srgb,#57a9c9 18%,var(--card-2));color:#57a9c9}.badge-node .badge-text{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.badge-node.amber{border-color:#6d5a33;color:#e8c887}.badge-node.cyan{border-color:#35635e;color:#9adcd5}.badge-node.action{border-color:#365a6d;color:#9ac8dc}.cluster-node{border-radius:18px;background:color-mix(in srgb,var(--tint) 7%,transparent);border:1.5px dashed color-mix(in srgb,var(--tint) 38%,transparent);transition:width .15s ease,height .15s ease}.cluster-head{display:flex;align-items:center;gap:8px;padding:10px 14px;color:var(--tint);font-size:13px;font-weight:700}.cluster-toggle{background:none;border:none;color:var(--tint);cursor:pointer;display:grid;place-items:center}.cluster-title-btn{background:none;border:none;color:var(--tint);cursor:pointer;font-size:13px;font-weight:700;padding:0}.cluster-title-btn:hover{text-decoration:underline}.swatch{width:22px;height:22px;border-radius:6px;border:1px solid var(--line-2);cursor:pointer;flex:none}.swatch:hover{border-color:#fff}.cluster-count{font-size:10.5px;font-weight:500;opacity:.7;border:1px solid currentColor;border-radius:999px;padding:0 7px}.react-flow__edge-path{stroke-width:1.6}.edge-main .react-flow__edge-path{stroke:var(--muted-2);stroke-width:2}.edge-res .react-flow__edge-path{stroke:var(--muted-2)}.edge-dep .react-flow__edge-path{stroke:#c97a57;opacity:.75}.lit .react-flow__edge-path{stroke:#ff6d5a!important;stroke-width:2.6!important;opacity:1!important}.react-flow__edge-text{fill:var(--text-2);font-size:10px}.react-flow__edge-textbg{fill:var(--card)}.panel{position:fixed;top:44px;right:12px;bottom:12px;width:360px;z-index:20;background:var(--card);border:1px solid var(--line-2);border-radius:12px;padding:18px;overflow-y:auto;box-shadow:0 12px 40px #00000080}.panel h2{font-size:16px;margin-bottom:6px}.panel-meta{font-size:12px;color:var(--muted);margin-bottom:12px}.cat-select{background:var(--card-2);border:1px solid var(--line-2);border-radius:6px;color:var(--text-2);font-size:11.5px;padding:3px 6px;outline:none;cursor:pointer}.cat-select:focus{border-color:#ff6d5a}.panel-desc{font-size:12.5px;line-height:1.55;color:var(--text-2);margin-bottom:14px;white-space:pre-wrap}.panel-desc.editable{cursor:text;border-radius:6px;padding:4px;margin:-4px -4px 10px}.panel-desc.editable:hover{background:var(--card-2)}.desc-empty{color:var(--muted-2);font-style:normal}.desc-edit{width:100%;background:var(--card);border:1px solid #ff6d5a;border-radius:7px;color:var(--text-2);font-size:12.5px;line-height:1.5;padding:8px 10px;outline:none;resize:vertical;margin-bottom:12px;font-family:inherit}.panel h3{font-size:11px;text-transform:uppercase;letter-spacing:.08em;color:var(--muted-2);margin:12px 0 6px}.panel-link{display:block;width:100%;text-align:left;background:var(--card-2);border:1px solid var(--line-2);border-radius:8px;color:var(--text-2);font-size:12px;padding:7px 10px;margin-bottom:5px;cursor:pointer}.panel-link:hover{border-color:#ff6d5a}.panel-link em{color:var(--muted);font-style:normal}.panel-close{position:absolute;top:10px;right:12px;background:none;border:none;color:var(--muted);font-size:18px;cursor:pointer}.search-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:30;background:#0a0a108c;display:flex;justify-content:center;padding-top:14vh}.search-box{width:480px;max-height:420px;overflow-y:auto;background:var(--card);border:1px solid var(--line-2);border-radius:12px;padding:10px;box-shadow:0 16px 60px #0009;height:-moz-fit-content;height:fit-content}.search-box input{width:100%;background:var(--card);border:1px solid var(--line-2);border-radius:8px;color:var(--text);font-size:14px;padding:10px 12px;outline:none;margin-bottom:8px}.search-box input:focus{border-color:#ff6d5a}.search-hit{display:flex;justify-content:space-between;gap:10px;width:100%;background:none;border:none;color:var(--text-2);font-size:12.5px;padding:7px 10px;border-radius:7px;cursor:pointer;text-align:left}.search-hit:hover{background:var(--card-2)}.search-hit em{font-style:normal;font-size:11px}.react-flow__minimap{background:var(--panel);border-radius:10px}.react-flow__controls{border-radius:10px;overflow:hidden}.react-flow__controls button{background:var(--card);border-bottom:1px solid var(--line-2);color:var(--text-2);fill:var(--text-2)}.react-flow__controls button:hover{background:var(--card-2)}.edge-dot{fill:var(--muted);stroke:var(--bg);stroke-width:2px}.dep-chip{position:absolute;pointer-events:none;z-index:5;background:var(--card);border:1px solid #6d4a3a;border-radius:999px;color:#e8a583;font-size:10px;padding:2px 9px;white-space:nowrap}.dep-chip.editable{pointer-events:auto;cursor:text}.flow-chip{border-color:var(--line-3);color:var(--text-2)}.dep-chip.editable:hover{border-color:#ff6d5a}.react-flow__edge.faded{opacity:.22}.react-flow__edge.trace .react-flow__edge-path{stroke:#7fdcb4!important;stroke-width:2!important;stroke-dasharray:7 5;animation:trace-flow .8s linear infinite;opacity:1}.react-flow__edge.trace .edge-dot{fill:#7fdcb4!important}@keyframes trace-flow{to{stroke-dashoffset:-12}}.guide-line{position:absolute;background:#ff6d5a;opacity:.85;pointer-events:none;z-index:1200}.guide-v{top:-100000px;height:200000px;width:1px}.guide-h{left:-100000px;width:200000px;height:1px}.empty-hint{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;pointer-events:none;color:var(--muted);font-size:14px;text-align:center}.empty-hint b{font-size:17px;color:var(--text-2);letter-spacing:.02em}.empty-hint i{font-style:normal;color:var(--text-2)}.react-flow__edge.selected .react-flow__edge-path{stroke:#ff6d5a!important;stroke-width:2.4!important}.react-flow__edge.selected .edge-dot{fill:#ff6d5a!important}.bend-handle{position:absolute;width:22px;height:9px;border-radius:5px;background:#4c9ffe;border:1.5px solid #dfeeff;box-shadow:0 1px 6px #00000080;pointer-events:all;z-index:1300}.bh-h{cursor:ew-resize;width:9px;height:22px}.bh-v{cursor:ns-resize}.socket{pointer-events:none}.react-flow__edgelabel-renderer{z-index:6}.line-edit{position:fixed;transform:translate(-50%,-50%);z-index:1500;width:150px;padding:5px 9px;background:var(--card);color:#e8eaf2;border:1.5px solid #4c9ffe;border-radius:6px;font-size:12.5px;outline:none;box-shadow:0 4px 16px #00000080}.align-group{display:inline-flex;align-items:center;gap:5px;font-size:12px;padding:4px 10px!important}.group-dot{width:9px;height:9px;border-radius:3px;display:inline-block;margin-right:7px;flex:none}.group-name{display:inline-flex;align-items:center}.group-count{margin-left:7px;font-style:normal;opacity:.55;font-size:11px}.group-actions{display:inline-flex;gap:6px}.cat-area .step-node{border-radius:0}.cat-module .step-node{border-radius:14px}.cat-screen .step-node{border-radius:30px}.cat-object .step-node{border-radius:999px;padding:0 20px}.cat-source .step-node{border-radius:999px;padding:0 20px;border-style:dashed;border-width:2.2px}.cat-process .step-node{width:96px;height:96px;border-radius:50%;padding:0;display:grid;place-items:center;position:relative}.cat-process .step-node .step-icon{width:46px;height:46px}.cat-process .step-node .step-label{position:absolute;top:calc(100% + 7px);left:50%;transform:translate(-50%);width:160px;text-align:center;font-size:12px;pointer-events:all}.cat-process .step-node>input{position:absolute;top:calc(100% + 7px);left:50%;transform:translate(-50%)}.fam-behavior .badge-node{border-radius:9px;transform:none}.cat-state .badge-node{border-style:dashed;background:color-mix(in srgb,var(--card-2) 55%,transparent)}.cat-actor .resource-circle{clip-path:polygon(50% 0,100% 26%,100% 74%,50% 100%,0 74%,0 26%);border:none;border-radius:0;transform:none;background:color-mix(in srgb,var(--accent, var(--line-3)) 55%,var(--line-3));position:relative}.cat-actor .resource-circle:before{content:"";position:absolute;top:2px;right:2px;bottom:2px;left:2px;clip-path:polygon(50% 0,100% 26%,100% 74%,50% 100%,0 74%,0 26%);background:color-mix(in srgb,var(--accent, var(--line-3)) 9%,var(--card-2))}.cat-actor .resource-circle svg{transform:none;position:relative;z-index:1}.cat-note .badge-node{clip-path:none;border-radius:2px;background:color-mix(in srgb,#e8d27a 16%,#34302a);border:1px solid #e8d27a99;transform:rotate(-1.3deg);padding:6px 12px}.flag-badges{position:absolute;top:-8px;right:-8px;display:flex;flex-direction:column;align-items:flex-end;gap:3px;z-index:3}.step-node:has(.sig-dock) .flag-badges,.badge-node:has(.sig-dock) .flag-badges,.note-node:has(.sig-dock) .flag-badges{right:46px}.resource-node:has(.sig-dock) .flag-badges{top:auto;bottom:calc(100% + 11px);right:-8px}.fbadge{height:16px;padding:0 6px;border-radius:5px;font-size:9px;letter-spacing:.02em;white-space:nowrap;font-weight:700;font-style:normal;display:flex;align-items:center;justify-content:center;background:var(--card);border:1px solid var(--line-3);color:var(--text-2)}.panel-flags{display:flex;flex-wrap:wrap;gap:6px;margin:8px 0 2px}.flag-chip{background:var(--card);border:1px solid var(--line-2);color:var(--muted);border-radius:999px;padding:3px 11px;font-size:11.5px;cursor:pointer}.flag-chip.on{border-color:#7fa6e8;color:#cfe0ff;background:#2c3550}.legend-fams{display:flex;flex-direction:column;gap:4px;align-items:flex-start}.legend-fam{display:flex;align-items:center;gap:10px}.legend-fam>b{width:76px;font-size:10px;text-transform:uppercase;letter-spacing:.06em;color:var(--muted);font-weight:600}.edge-dot-hit{position:absolute;width:20px;height:20px;border-radius:50%;cursor:grab;pointer-events:all;z-index:1250}.edge-dot-hit:active{cursor:grabbing}.react-flow__handle.port.side{width:1px;height:1px;background:transparent;border:none;opacity:0!important;pointer-events:none}.react-flow__handle-right.port.side{right:-16px}.react-flow__handle-left.port.side{left:-16px}.react-flow__node:hover .react-flow__handle-right.port.side.source{right:-20px}.resource-node>.react-flow__handle.port,.badge-node>.react-flow__handle.port{width:1px;height:1px;background:transparent;border:none;opacity:0!important;pointer-events:none}.resource-node>.react-flow__handle-top.port,.badge-node>.react-flow__handle-top.port{top:-14px}.resource-node>.react-flow__handle-bottom.port,.badge-node>.react-flow__handle-bottom.port{bottom:-14px}.react-flow__connection-path{stroke:#4c9ffe!important;stroke-width:2.5!important;stroke-dasharray:7 5}.edge-dot.pinned{fill:#e6eaf6;stroke:var(--card);stroke-width:1.5px}.react-flow__handle.side-dot{width:26px;height:26px;background:transparent;border:none;border-radius:50%;opacity:1!important;cursor:crosshair;z-index:4}.react-flow__handle-left.side-dot{left:-24px;top:50%}.react-flow__handle-right.side-dot{right:-24px;top:50%}.react-flow__handle-top.side-dot{top:-24px;left:50%}.react-flow__handle-bottom.side-dot{bottom:-24px;left:50%}.react-flow__handle.side-dot:after{content:"+";position:absolute;left:50%;top:50%;width:16px;height:16px;transform:translate(-50%,-50%);border-radius:50%;box-sizing:border-box;background:var(--card-2);border:1.5px solid var(--line-3);color:var(--text-2);font:600 12px/13px ui-sans-serif,system-ui,sans-serif;text-align:center;box-shadow:0 2px 7px #00000073;opacity:0;transition:opacity .12s ease,transform .12s ease,box-shadow .12s ease,border-color .12s ease}.react-flow__node:hover .react-flow__handle.side-dot:after,.canvas-root:not(.sel-multi) .react-flow__node.selected .react-flow__handle.side-dot:after{opacity:1}.react-flow__handle.side-dot:hover:after{transform:translate(-50%,-50%) scale(1.2);border-color:#4c9ffe;color:#4c9ffe;box-shadow:0 0 0 5px #4c9ffe33}.react-flow:has(.react-flow__connectionline) .react-flow__handle.side-dot:after{opacity:1;border-color:#4c9ffe;color:#4c9ffe}.react-flow__handle.side-dot{pointer-events:none}.react-flow__node:hover .react-flow__handle.side-dot,.canvas-root:not(.sel-multi) .react-flow__node.selected .react-flow__handle.side-dot,.react-flow:has(.react-flow__connectionline) .react-flow__handle.side-dot{pointer-events:all}.type-badge{height:16px;padding:0 6px;border-radius:5px;display:flex;align-items:center;font-size:9px;font-weight:700;letter-spacing:.02em;white-space:nowrap;background:var(--card);border:1px solid var(--line-3);color:var(--text-2);pointer-events:none;z-index:3}.edge-menu{cursor:grab}.edge-menu:active{cursor:grabbing}.edge-menu input,.edge-menu button{cursor:auto}.edge-menu button{cursor:pointer}.multi-menu{position:fixed;z-index:40}.board-admin{left:14px;top:56px;right:auto;width:330px}.board-admin .add-row{flex-wrap:wrap}.board-admin .add-row button{flex:1 1 auto}.cat-step .badge-node,.cat-trigger .badge-node{max-width:none}.cat-step .badge-node .badge-text,.cat-trigger .badge-node .badge-text{overflow:visible;text-overflow:clip}.note-node{position:relative;display:flex;flex-direction:column;gap:6px;padding:11px 14px 13px;border-radius:10px;background:color-mix(in srgb,var(--accent, var(--line-3)) 10%,var(--card-2));border:1.5px solid color-mix(in srgb,var(--accent, var(--line-3)) 72%,var(--line-3));box-shadow:0 3px 12px #00000059}.note-title{font-size:13px;font-weight:600;line-height:1.3;color:var(--text);overflow-wrap:anywhere}.note-body{font-size:11.5px;line-height:1.5;color:var(--text-2);white-space:pre-wrap;overflow-wrap:anywhere}.note-body.empty{color:var(--muted-2);font-style:italic}.note-body-edit{font:inherit;font-size:11.5px;line-height:1.5;color:var(--text);background:#14151e8c;border:1px solid var(--line-3);border-radius:6px;padding:5px 7px;width:100%;resize:none;outline:none}.note-resize{position:absolute;right:2px;bottom:2px;width:15px;height:15px;cursor:ew-resize}.note-resize:after{content:"";position:absolute;right:3px;bottom:3px;width:8px;height:8px;border-right:2px solid var(--muted);border-bottom:2px solid var(--muted);border-bottom-right-radius:3px;opacity:0;transition:opacity .12s ease}.note-node:hover .note-resize:after{opacity:.85}.react-flow__node.selected .note-node{border-color:#ff6d5a}.mode-switch{display:inline-flex;border:1px solid var(--line-2);border-radius:8px;overflow:hidden}.mode-switch button{background:var(--card);color:var(--muted);border:0;font-size:12px;padding:6px 12px;cursor:pointer}.mode-switch button.on{background:var(--card-3);color:var(--text)}.jdots-toggle.on{border-color:#ff6d5a;color:#ff6d5a}.jdim .react-flow__node:not(.jstop):not(.jrel){opacity:.35}.jrel .step-node,.jrel .badge-node,.jrel .note-node,.jrel .resource-circle{border-color:var(--jstop);border-style:dashed;box-shadow:0 0 0 1.5px color-mix(in srgb,var(--jstop) 25%,transparent)}.journey-layer.passive .journey-note,.journey-layer.passive .journey-add,.journey-layer.passive .journey-origin{pointer-events:none}.jp-mark,.jp-mark.on{border-style:dashed}.jp-related{display:flex;flex-wrap:wrap;gap:5px;align-items:center;padding:2px 0 4px}.jp-related-title{font-size:10px;color:var(--muted-2);text-transform:uppercase;letter-spacing:.04em;margin-right:2px}.jp-rel-chip{display:inline-flex;align-items:center;gap:4px;font-size:11px;border:1px dashed var(--jc, #6f9fe8);color:var(--text-2);border-radius:999px;padding:2px 4px 2px 8px}.jp-rel-x{border:0;background:none;color:var(--muted);cursor:pointer;font-size:13px;line-height:1;padding:0 3px}.jp-rel-x:hover{color:#e08585}.jdim .react-flow__edge{opacity:.35}.mode-journeys .quick-add,.mode-journeys .quick-del,.mode-journeys .side-dot,.mode-journeys .sig-dock,.mode-journeys .note-resize,.mode-journeys .step-collapse,.mode-journeys .port{display:none!important}.journey-layer{position:absolute;left:0;top:0;pointer-events:none;z-index:7}.journey-svg{position:absolute;left:0;top:0;width:1px;height:1px;overflow:visible}.journey-path{fill:none;stroke-width:3;opacity:.9}.journey-path.back{stroke-width:2.5;stroke-dasharray:9 8;stroke-linecap:round;opacity:.7}.journey-layer.anim .journey-path{stroke-dasharray:15 10;stroke-linecap:round;animation:journey-flow 1.1s linear infinite}.journey-layer.anim .journey-path.back{stroke-dasharray:9 8;animation:journey-retrace .9s linear infinite}@keyframes journey-flow{to{stroke-dashoffset:-25}}@keyframes journey-retrace{to{stroke-dashoffset:-17}}.journey-badge{position:absolute;transform:translate(-55%,-55%);min-width:20px;height:20px;padding:0 4px;box-sizing:border-box;display:flex;align-items:center;justify-content:center;font-size:10.5px;font-weight:700;color:var(--bg);background:var(--jc);border:2px solid var(--jc);border-radius:50%;box-shadow:0 1px 6px #0000008c}.journey-badge.jb-outline{background:var(--bg);color:var(--jc)}.journey-badge.jb-square{border-radius:5px}.journey-badge.jb-bolt{border-radius:50%;font-size:9px;letter-spacing:-.5px}.journey-badge.jb-pass{min-width:10px;width:10px;height:10px;padding:0;border-width:0}.journey-dot{position:absolute;width:8px;height:8px;border-radius:50%;transform:translate(-50%,-50%);box-shadow:0 1px 4px #00000080}.journeys-panel{position:fixed;top:0;right:0;bottom:0;width:300px;z-index:30;background:var(--panel);border-left:1px solid var(--line);padding:16px 14px;overflow-y:auto;display:flex;flex-direction:column;gap:8px;color:var(--text-2);font-size:13px}.journeys-panel>*{flex-shrink:0}.jp-title{font-size:15px;font-weight:700;color:var(--text);margin-bottom:4px}.jp-empty{color:var(--muted-2);font-style:italic;font-size:12px;line-height:1.45}.jp-row{display:flex;align-items:center;gap:8px;padding:8px 9px;background:var(--card);border:1px solid var(--line);border-radius:8px;cursor:pointer}.jp-row:hover{border-color:var(--line-3)}.jp-swatch{width:12px;height:12px;border-radius:4px;flex:none}.jp-name{font-weight:600;color:var(--text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.jp-actor{color:var(--muted);font-size:11.5px;margin-left:auto;white-space:nowrap}.jp-eye{background:none;border:0;color:var(--muted);cursor:pointer;flex:none;display:grid;place-items:center;padding:3px}.jp-eye:hover{color:var(--text)}.jp-new{display:flex;align-items:center;gap:6px;justify-content:center;background:var(--card);border:1px dashed var(--line-3);border-radius:8px;color:#9ac8dc;padding:8px;cursor:pointer;font-size:12.5px}.jp-form{display:flex;flex-direction:column;gap:6px}.jp-form input,.jp-form textarea,.jp-actor-edit,.jp-jtbd,.jp-name-edit{background:var(--card);border:1px solid var(--line-2);border-radius:7px;color:var(--text);font-size:12.5px;padding:6px 9px;outline:none;resize:none;font-family:inherit}.jp-form input:focus,.jp-form textarea:focus,.jp-actor-edit:focus,.jp-jtbd:focus,.jp-name-edit:focus{border-color:#ff6d5a}.jp-form-row{display:flex;gap:6px;align-items:center}.jp-form-row button,.jp-create{background:var(--card);border:1px solid var(--line-2);border-radius:7px;color:var(--text-2);padding:6px 12px;cursor:pointer;font-size:12px}.jp-create{border-color:#57a9c9;color:#9ac8dc;flex:1}.jp-create:disabled{opacity:.4;cursor:default}.jp-color{width:26px;height:26px;padding:0;border:0;background:none;cursor:pointer;flex:none}.jp-head{display:flex;align-items:center;gap:7px}.jp-back{background:none;border:0;color:var(--muted);font-size:19px;cursor:pointer;padding:0 3px}.jp-name-edit{flex:1;font-weight:600;min-width:0}.jp-record{background:var(--card);border:1px solid var(--line-3);border-radius:8px;color:var(--text-2);padding:8px;cursor:pointer;font-size:12px}.jp-record.on{border-color:#e05252;color:#e08585;background:#322632}.jp-stops{display:flex;flex-direction:column;gap:5px}.jp-insert{position:relative;height:14px;margin:-7px 0;z-index:1;background:none;border:0;padding:0;cursor:pointer;display:flex;align-items:center;justify-content:center;opacity:0;transition:opacity .12s ease}.jp-insert:before{content:"";position:absolute;left:10px;right:10px;top:50%;height:1px;background:#ff6d5a;opacity:.6}.jp-insert span{position:relative;font-size:10px;font-weight:700;color:var(--bg);background:#ff6d5a;border-radius:999px;padding:1px 8px;line-height:14px}.jp-insert:hover,.jp-insert.on{opacity:1}.jp-stops:first-child .jp-insert:first-child{margin-top:0}.jp-stop{background:var(--card);border:1px solid var(--line);border-radius:8px}.jp-stop.broken{border-color:#7a3a3a}.jp-stop.editing{border-color:var(--line-3)}.jp-stop-row{display:flex;align-items:center;gap:6px;padding:6px 7px;cursor:pointer}.jp-grip{color:var(--line-3);flex:none}.jp-grip-hit{display:grid;place-items:center;cursor:grab;touch-action:none;padding:2px;margin:-2px}.jp-grip-hit:active{cursor:grabbing}.jp-stop.drop-here{border-color:#57a9c9}.jp-stop.drag-source{opacity:.45}.jp-stop.hidden-stop{opacity:.5}.jp-x,.jp-stop-eye{margin-left:0}.jp-stop-row .jp-stop-eye{margin-left:0;flex:none}.jp-stop-row .jp-x{margin-left:12px;flex:none}body.jp-dragging{cursor:grabbing;-webkit-user-select:none;-moz-user-select:none;user-select:none}.jp-stop-row{touch-action:none}.jp-num{width:17px;height:17px;border-radius:50%;flex:none;display:grid;place-items:center;font-size:9.5px;font-weight:700;font-style:normal;color:var(--bg)}.jp-stop-label{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:12px}.mode-journeys .react-flow__node.raised{filter:drop-shadow(0 0 3px #6f9fe8) drop-shadow(0 0 10px rgba(111,159,232,.75))}.jp-stop.hover{border-color:#6f9fe8}.jp-stop.hover .jp-stop-row{background:#6f9fe824}.jp-stop.broken .jp-stop-label{color:#e08585;text-decoration:line-through}.jp-pass-ico{color:var(--muted-2);flex:none}.jp-x{margin-left:auto;background:none;border:0;color:var(--muted-2);cursor:pointer;display:grid;place-items:center;padding:2px;flex:none}.jp-x:hover{color:#e08585}.jp-note-preview{color:var(--muted);font-size:11px;padding:0 8px 6px 30px;white-space:pre-wrap;overflow-wrap:anywhere;line-height:1.4}.jp-stop-edit{padding:0 8px 8px;display:flex;flex-direction:column;gap:6px}.jp-note{background:var(--card);border:1px solid var(--line-2);border-radius:6px;color:var(--text);font-size:11.5px;padding:5px 7px;outline:none;resize:none;font-family:inherit}.jp-passthrough{display:flex;align-items:center;gap:6px;font-size:11px;color:var(--muted);cursor:pointer}.jp-delete{margin-top:auto;background:none;border:1px solid #513;border-radius:7px;color:#b96a6a;padding:7px;cursor:pointer;font-size:11.5px}.jp-delete:hover{border-color:#7a3a3a;color:#e08585}.jstop .step-node,.jstop .badge-node,.jstop .note-node{border-color:var(--jstop);box-shadow:0 0 0 1.5px color-mix(in srgb,var(--jstop) 35%,transparent),0 3px 12px #00000059}.jstop .resource-circle{border-color:var(--jstop);box-shadow:0 0 0 1.5px color-mix(in srgb,var(--jstop) 35%,transparent),0 2px 8px #0000004d}.jp-note-save{align-self:flex-end;background:var(--card);border:1px solid #57a9c9;border-radius:6px;color:#9ac8dc;padding:5px 12px;cursor:pointer;font-size:11.5px}.journey-note{position:absolute;box-sizing:border-box;padding:6px 9px;border-radius:7px;background:#eef0f6d1;border:1.5px solid var(--jc);color:var(--card);font-size:11px;font-weight:500;line-height:1.45;white-space:pre-wrap;overflow-wrap:anywhere;box-shadow:0 3px 10px #00000073}.journey-note:before{content:"";position:absolute;top:-9px;left:16px;width:2px;height:9px;background:var(--jc)}.jn-title{display:block;font-weight:700;font-size:11.5px;margin-bottom:2px}.journey-note,.journey-badge{pointer-events:all;cursor:pointer}.journey-note.editing{cursor:auto;display:flex;flex-direction:column;gap:5px;background:#eef0f6f2}.jn-title-edit,.jn-note-edit{font:inherit;font-size:11px;color:var(--card);background:#fff;border:1px solid var(--text-2);border-radius:5px;padding:4px 7px;outline:none;resize:none;width:100%;box-sizing:border-box}.jn-title-edit{font-weight:700}.jn-title-edit:focus,.jn-note-edit:focus{border-color:var(--jc)}.journey-add{position:absolute;pointer-events:all;cursor:pointer;padding:3px 9px;border-radius:999px;background:#eef0f6eb;border:1.5px solid var(--jc);color:var(--card);font-size:10.5px;font-weight:600;white-space:nowrap;box-shadow:0 2px 8px #0006}.jp-stop-title{font-weight:600}.flag-chip.custom{display:inline-flex;align-items:center;gap:5px;padding-right:6px}.flag-chip.custom .flag-name{background:none;border:0;color:inherit;font:inherit;cursor:pointer;padding:0}.flag-chip.custom .flag-x{background:none;border:0;color:var(--muted-2);font-size:9px;cursor:pointer;padding:0 1px}.flag-chip.custom .flag-x:hover{color:#e08585}.flag-chip.flag-add{border-style:dashed;color:#9ac8dc}.flag-chip.type-flag:not(.on){border-style:dashed}.flag-edit{background:var(--card);border:1px solid #57a9c9;border-radius:999px;color:var(--text);font-size:11px;padding:3px 10px;outline:none;width:92px}.jp-jtbd,.jp-note,.jn-note-edit{field-sizing:content;min-height:3.2em;max-height:14em}.jp-actor-row{display:flex;gap:6px}.jp-actor-row .jp-actor-edit{flex:1;min-width:0}.jp-actor-pick{background:var(--card);border:1px solid var(--line-2);border-radius:7px;color:#9ac8dc;cursor:pointer;padding:0 9px;display:grid;place-items:center}.jp-actor-pick:hover{border-color:#57a9c9}.actors-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:60;background:#0a0b1099;display:grid;place-items:center}.actors-modal{width:min(860px,92vw);max-height:84vh;overflow-y:auto;background:var(--panel);border:1px solid var(--line-2);border-radius:12px;padding:16px;color:var(--text-2);box-shadow:0 24px 80px #0009}.am-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}.am-head b{font-size:15px;color:var(--text)}.am-close{background:none;border:0;color:var(--muted);cursor:pointer}.am-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:12px}.am-card{background:var(--card);border:1px solid var(--line);border-radius:10px;padding:10px;display:flex;flex-direction:column;gap:6px;position:relative}.am-img{position:relative;aspect-ratio:1;width:100%;border-radius:8px;overflow:hidden;background:var(--panel)}.am-img img{width:100%;height:100%;-o-object-fit:cover;object-fit:cover;display:block}.am-placeholder{width:100%;height:100%;display:grid;place-items:center;color:var(--line-3)}.am-img-tools{position:absolute;right:6px;bottom:6px;display:flex;gap:4px}.am-img-tools button{background:#14151ecc;border:1px solid var(--line-2);border-radius:6px;color:var(--text-2);cursor:pointer;padding:4px;display:grid;place-items:center}.am-kind{align-self:flex-start;font-size:9px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:#9ac8dc;background:var(--card-2);border-radius:999px;padding:2px 8px}.am-name{font-size:15px;font-weight:700;color:var(--text)}.am-fields{display:flex;flex-direction:column;gap:3px;font-size:11.5px}.am-fields i{display:block;font-style:normal;font-size:9px;letter-spacing:.05em;text-transform:uppercase;color:var(--muted-2)}.am-actions{margin-top:auto;display:flex;gap:6px;align-items:center}.am-use{flex:1;background:var(--card);border:1px solid #57a9c9;border-radius:7px;color:#9ac8dc;padding:6px;cursor:pointer;font-size:12px}.am-use:disabled{opacity:.4}.am-del{background:none;border:0;color:var(--muted-2);cursor:pointer}.am-del:hover{color:#e08585}.am-new{border-style:dashed;align-items:center;justify-content:center;flex-direction:row;gap:6px;color:#9ac8dc;cursor:pointer;min-height:120px;font-size:13px}.am-form input{background:var(--card);border:1px solid var(--line-2);border-radius:6px;color:var(--text);font-size:11.5px;padding:5px 8px;outline:none}.am-form input:focus{border-color:#57a9c9}.am-form-row{display:flex;gap:6px}.journey-origin{position:absolute;box-sizing:border-box;transform:translateY(-50%);display:flex;flex-direction:column;gap:4px;padding:8px 10px;border-radius:8px;background:#eef0f6e6;border:1.5px solid var(--jc);color:var(--card);font-size:11px;line-height:1.45;pointer-events:all;cursor:pointer;box-shadow:0 3px 10px #00000073}.journey-origin.editing{cursor:auto;background:#eef0f6f5}.jo-head{display:flex;align-items:center;gap:7px;font-size:12px}.jo-avatar{width:26px;height:26px;border-radius:50%;-o-object-fit:cover;object-fit:cover;flex:none}.jo-ph{background:#d4d7e2;color:var(--muted-2);display:grid;place-items:center}.jo-role{font-size:10px;color:var(--line-3)}.jo-jtbd{white-space:pre-wrap;overflow-wrap:anywhere}.user-chrome{display:inline-flex;align-items:center;gap:8px;margin-left:6px}.user-avatar{width:24px;height:24px;border-radius:50%;-o-object-fit:cover;object-fit:cover;border:1px solid var(--line-2);display:inline-grid;place-items:center}.user-avatar-ph{background:var(--card);color:#9ac8dc;font-size:11px;font-weight:700}.user-chrome a.tb-btn{text-decoration:none;line-height:1}.teams-wrap{min-height:100vh;background:var(--bg);padding:20px 24px}.teams-back{display:inline-block;margin-bottom:14px;color:#9ac8dc;text-decoration:none;font-size:13px}.signin-screen{min-height:100vh;display:grid;place-items:center;background:var(--bg);background-image:radial-gradient(var(--bg-dot) 1.1px,transparent 1.1px);background-size:26px 26px}.signin-card{width:min(400px,92vw);background:var(--panel);border:1px solid var(--line);border-radius:14px;padding:28px 26px;box-shadow:0 24px 80px #0000008c;font-family:Inter,-apple-system,sans-serif}.signin-brand{display:flex;align-items:center;gap:8px;font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:#9ac8dc;margin-bottom:14px}.signin-dot{width:8px;height:8px;border-radius:50%;background:#ff6d5a}.signin-title{font-family:Inter,-apple-system,sans-serif;font-size:24px;font-weight:700;letter-spacing:-.01em;color:var(--text);margin:0 0 8px;line-height:1.2}.signin-sub{color:var(--muted);font-size:13.5px;line-height:1.55;margin:0 0 20px}.signin-google{width:100%;display:flex;align-items:center;justify-content:center;gap:10px;background:var(--card);border:1px solid var(--line-3);border-radius:9px;color:var(--text);font-size:13.5px;font-weight:600;padding:11px 14px;cursor:pointer}.signin-google:hover{border-color:#ff6d5a;background:var(--card-3)}.signin-foot{color:var(--muted-2);font-size:11px;margin:14px 0 0;text-align:center}.boot-screen{min-height:100vh;display:grid;place-items:center;background:var(--bg)}.boot-dot{width:12px;height:12px;border-radius:50%;background:#ff6d5a;animation:bootpulse .9s ease-in-out infinite alternate}@keyframes bootpulse{0%{opacity:.35;transform:scale(.85)}to{opacity:1;transform:scale(1)}}.topbar{justify-content:space-between;align-items:flex-start;padding:12px 14px}.tb-file,.tb-account{display:flex;gap:6px;align-items:center;pointer-events:auto;background:var(--panel);border:1px solid var(--line);border-radius:12px;padding:6px 8px;box-shadow:0 8px 30px #00000073}.tb-file .tb-btn,.tb-account .tb-btn,.tb-file .board-sel,.tb-account a.tb-btn{height:26px;padding:0 10px;font-size:12px;display:inline-flex;align-items:center;border-radius:7px}.tb-file .brand{padding:0 6px 0 4px;font-size:12.5px}.tb-file .brand-edit{height:26px;padding:0 8px;width:180px}.tb-file .board-sel{max-width:170px}.tb-account .user-avatar{width:26px;height:26px}.tb-account .user-chrome{margin-left:0;gap:6px}.bottombar{position:fixed;left:50%;bottom:18px;transform:translate(-50%);z-index:30;display:flex;gap:8px;align-items:center;background:var(--panel);border:1px solid var(--line);border-radius:14px;padding:8px 10px;box-shadow:0 12px 44px #0000008c}.bb-sep{width:1px;height:20px;background:var(--line)}.bottombar .tb-btn{height:27px;display:inline-flex;align-items:center}.bottombar .tb-btn svg{display:block}.groups-pop{top:auto;right:auto;bottom:74px;left:50%;transform:translate(-50%)}.signin-denied{margin:12px 0 0;padding:8px 10px;border-radius:8px;background:#e052521f;border:1px solid #7a3a3a;color:#e08585;font-size:12px;line-height:1.5}.legend-chip{position:fixed;left:64px;bottom:18px;z-index:20;background:var(--panel);border:1px solid var(--line);border-radius:999px;color:var(--muted);font-size:11px;padding:6px 12px;cursor:pointer;box-shadow:0 6px 24px #0006}.legend-chip:hover{color:var(--text);border-color:var(--line-3)}.teams-modal{width:min(680px,92vw)}.tp-hint{color:var(--muted);font-size:12px;line-height:1.5;margin:-4px 0 12px}.tp-cols{display:grid;grid-template-columns:200px 1fr;gap:12px}.tp-teams{display:flex;flex-direction:column;gap:6px}.tp-team{display:flex;align-items:center;justify-content:space-between;gap:8px;background:var(--card);border:1px solid var(--line);border-radius:8px;color:var(--text-2);font-size:12.5px;padding:8px 10px;cursor:pointer;text-align:left}.tp-team.on{border-color:#57a9c9}.tp-team i{font-style:normal;color:var(--muted-2);font-size:11px}.tp-team.tp-new{justify-content:flex-start;border-style:dashed;color:#9ac8dc}.tp-detail{background:var(--card);border:1px solid var(--line);border-radius:10px;padding:12px;display:flex;flex-direction:column;gap:8px;min-height:200px}.tp-detail-head{display:flex;align-items:center;justify-content:space-between;color:var(--text)}.tp-empty{color:var(--muted-2);font-style:italic;font-size:12px;margin:auto}.tp-member{display:flex;align-items:center;gap:9px}.tp-member.tp-pending{opacity:.75}.tp-m-name{display:flex;flex-direction:column;font-size:12.5px;color:var(--text);min-width:0}.tp-m-name small{color:var(--muted);font-size:11px}.tp-role{margin-left:auto;font-style:normal;font-size:10px;letter-spacing:.05em;text-transform:uppercase;color:#9ac8dc}.tp-member .am-del{flex:none}.tp-member .tp-role+.am-del{margin-left:8px}.tp-invite{display:flex;gap:6px;margin-top:auto;padding-top:8px}.tp-invite-btn{flex:none;display:inline-flex;align-items:center;gap:6px}.tp-input{flex:1;background:var(--card);border:1px solid var(--line-2);border-radius:7px;color:var(--text);font-size:12px;padding:7px 9px;outline:none;min-width:0}.tp-input:focus{border-color:#57a9c9}.share-sel{max-width:170px}.board-admin .menu-title,.add-menu .menu-title{display:flex;align-items:center;justify-content:space-between}.menu-x{background:none;border:0;color:var(--muted-2);font-size:15px;cursor:pointer;padding:0 2px;line-height:1}.menu-x:hover{color:var(--text)}.tp-rename{display:flex;gap:6px;flex:1;margin-right:8px}.tp-save{flex:none;padding:4px 12px}.tp-name-editable{cursor:text;display:inline-flex;align-items:center;gap:6px}.tp-name-editable .tp-pencil{color:var(--line-3)}.tp-name-editable:hover .tp-pencil{color:#9ac8dc}.board-owner-note{color:var(--muted-2);font-size:11px;align-self:center;padding:0 4px}.cat-select{-moz-appearance:none;appearance:none;-webkit-appearance:none;padding:3px 30px 3px 10px;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6' viewBox='0 0 10 6'%3E%3Cpath d='M1 1l4 4 4-4' fill='none' stroke='%238b93a7' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 11px center}.tb-file .board-sel,.share-sel{padding-right:30px}.people-strip{display:inline-flex;align-items:center;gap:4px;margin-right:6px}.person{width:26px;height:26px;border-radius:50%;padding:0;overflow:hidden;border:2px solid transparent;background:var(--card);cursor:default;display:inline-grid;place-items:center;opacity:.45}.person img{width:100%;height:100%;-o-object-fit:cover;object-fit:cover;border-radius:50%}.person i{font-style:normal;font-size:11px;font-weight:700;color:#9ac8dc}.person.live{opacity:1;cursor:pointer}.person.live:hover{transform:translateY(-1px)}.person.followed{box-shadow:0 0 0 2px var(--bg),0 0 0 4px currentColor}.person-more{font-size:10px;color:var(--muted);border-color:var(--line);opacity:1;display:inline-grid;place-items:center}.follow-pill{margin-left:6px;border:0;border-radius:999px;padding:5px 11px;font-size:11px;font-weight:700;color:var(--bg);cursor:pointer}.canvas-root{position:relative}.cm-toggle.on{background:#ff6d5a;color:var(--bg);border-color:#ff6d5a}.cm-catcher{position:absolute;top:0;right:0;bottom:0;left:0;z-index:24;cursor:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='28' height='28'%3E%3Cpath d='M3 25 V10 a7 7 0 0 1 7-7 h8 a7 7 0 0 1 7 7 v8 a7 7 0 0 1-7 7 z' fill='%23f4f4f6' stroke='%23151517' stroke-width='1.5' stroke-linejoin='round'/%3E%3Cpath d='M14 10 v8 M10 14 h8' stroke='%23151517' stroke-width='1.8' stroke-linecap='round'/%3E%3C/svg%3E") 3 25,crosshair}.cm-pins{position:absolute;top:0;right:0;bottom:0;left:0;z-index:25;pointer-events:none;overflow:hidden}.cm-pins>*{pointer-events:auto}.cm-pin{position:absolute;width:30px;height:30px;padding:2px;transform:translateY(-100%);border-radius:15px 15px 15px 3px;background:#ff6d5a;border:2px solid #fff2;box-shadow:0 3px 10px #0007;cursor:pointer;display:grid;place-items:center}.cm-pin.on{border-color:#fff}.cm-pin.resolved{background:var(--line-3);opacity:.75}.cm-pin em{position:absolute;top:-5px;right:-6px;font-style:normal;background:var(--text);color:var(--bg);border-radius:999px;font-size:9px;font-weight:800;padding:1px 4px}.cm-ava{width:22px;height:22px;border-radius:50%;-o-object-fit:cover;object-fit:cover;display:inline-grid;place-items:center}.cm-ava-ph{font-style:normal;background:var(--card);color:#9ac8dc;font-size:10px;font-weight:700}.cm-anchor{position:absolute}.cm-anchor .cm-pin{left:0;top:0}.cm-pop{width:264px;background:var(--panel);border:1px solid var(--line);border-radius:12px;box-shadow:0 10px 30px #000a;padding:8px;display:flex;flex-direction:column;gap:6px}.cm-pop-draft{position:absolute;left:36px;top:-34px;width:240px}.cm-pop-head{display:flex;justify-content:flex-end;gap:2px}.cm-icon{border:0;background:none;color:var(--muted);cursor:pointer;padding:3px;border-radius:6px;display:inline-grid;place-items:center}.cm-icon:hover{background:var(--card);color:var(--text)}.cm-msg{display:flex;gap:8px;align-items:flex-start;padding:2px 4px}.cm-msg-body{min-width:0;flex:1}.cm-msg-meta{display:flex;align-items:center;gap:6px;font-size:11px}.cm-msg-meta b{font-size:11.5px}.cm-msg-meta span{color:var(--muted-2)}.cm-msg-meta .cm-del{margin-left:auto;opacity:.5}.cm-msg:hover .cm-del{opacity:1}.cm-msg p{margin:2px 0 0;font-size:12px;line-height:1.45;white-space:pre-wrap;word-break:break-word}.cm-input{display:flex;align-items:center;gap:6px}.cm-input input{flex:1;min-width:0;background:var(--bg);color:var(--text);border:1px solid var(--line);border-radius:999px;padding:7px 12px;font-size:12px}.cm-input input:focus{outline:none;border-color:#6f9fe8}.cm-send{width:28px;height:28px;border-radius:50%;border:0;cursor:pointer;background:#ff6d5a;color:var(--bg);font-weight:800;flex:none}.cm-send:disabled{background:var(--line);color:var(--muted-2);cursor:default}.cm-panel{position:fixed;top:52px;right:14px;bottom:66px;width:272px;z-index:30;background:var(--panel);border:1px solid var(--line);border-radius:12px;box-shadow:0 10px 30px #000a;padding:10px;overflow-y:auto;display:flex;flex-direction:column;gap:4px}.cm-panel-head{display:flex;align-items:center;gap:8px;padding:0 2px 6px;border-bottom:1px solid var(--line)}.cm-panel-head b{font-size:12.5px;flex:1}.cm-show-resolved{display:inline-flex;align-items:center;gap:4px;font-size:10.5px;color:var(--muted);cursor:pointer}.cm-empty{color:var(--muted-2);font-size:11.5px;padding:10px 4px}.cm-row{display:flex;gap:8px;align-items:flex-start;text-align:left;background:none;border:0;border-radius:8px;padding:7px 6px;cursor:pointer;color:inherit}.cm-row-acts{display:inline-flex;gap:1px;margin-left:auto;opacity:.35}.cm-row:hover .cm-row-acts,.cm-row.on .cm-row-acts{opacity:1}.cm-row:hover,.cm-row.on{background:var(--card-2)}.cm-row.resolved{opacity:.55}.cm-row-body{min-width:0;flex:1}.cm-row-meta{display:flex;align-items:center;gap:6px;font-size:11px}.cm-row-meta small{color:var(--muted-2)}.cm-row-check{color:#5fbf9e}.cm-row p{margin:2px 0 0;font-size:11.5px;color:var(--text-2);line-height:1.4;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.cm-replies{color:#6f9fe8;font-size:10.5px}.boot-screen{position:fixed;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;background:var(--bg);color:var(--muted)}.boot-dot{width:10px;height:10px;background:#ff6d5a;border-radius:50%;animation:boot-pulse 1s infinite}@keyframes boot-pulse{0%,to{transform:scale(1);opacity:.6}50%{transform:scale(1.4);opacity:1}}.hist-toggle svg{display:block}.hist-toggle.on{background:#ff6d5a;color:var(--bg);border-color:#ff6d5a}.hist-panel{z-index:31}.hist-hint{color:var(--muted-2);font-size:10.5px;line-height:1.45;margin:2px 2px 6px}.hist-row{display:flex;flex-direction:column;gap:2px;padding:7px 8px;border-radius:8px;font-size:12px}.hist-row:hover{background:var(--card-2)}.hist-line{display:flex;align-items:center;gap:6px}.hist-when{font-size:12px}.hist-meta{color:var(--muted);font-size:11px}.hist-badge{font-style:normal;padding:1px 6px;border-radius:999px;background:#3a3324;color:#e8c25a;font-size:10px}.hist-restore{display:inline-flex;align-items:center;gap:5px;opacity:0;align-self:flex-start;margin-top:3px}.hist-row:hover .hist-restore{opacity:1}.hist-confirm{display:inline-flex;align-items:center;gap:4px;margin-top:3px}.hist-confirm .am-use{font-size:11.5px}.jp-stop.cursor .jp-stop-row{box-shadow:inset 3px 0 #ff6d5a}.jp-stop.cursor .jp-stop-row:after{content:"next stops go here ▾";margin-left:0;padding-left:6px;font-size:9.5px;color:#ff6d5a;white-space:nowrap;opacity:.85}.jp-stop.cursor .jp-stop-row .jp-x,.jp-stop.cursor .jp-stop-row .jp-eye{order:2;margin-left:0}.rail{position:fixed;left:0;top:0;bottom:0;width:56px;z-index:35;background:var(--panel);border-right:1px solid var(--line);display:flex;flex-direction:column;align-items:center;padding:10px 0 12px;gap:8px}.rail-logo{width:32px;height:32px;display:grid;place-items:center;margin-bottom:6px}.rail-logo span{width:10px;height:10px;border-radius:50%;background:var(--accent);box-shadow:0 0 0 4px color-mix(in srgb,var(--accent) 22%,transparent)}.rail-group{display:flex;flex-direction:column;gap:4px;width:100%;align-items:center;border-top:1px solid var(--line);padding-top:10px}.rail-foot{margin-top:auto;display:flex;flex-direction:column;gap:8px;align-items:center}.rail-btn{width:48px;padding:7px 0 5px;border:0;border-radius:10px;background:none;color:var(--muted);display:flex;flex-direction:column;align-items:center;gap:3px;cursor:pointer;font-size:10px}.rail-btn:hover{color:var(--text);background:var(--card)}.rail-btn.on{color:var(--text);background:var(--card-2)}.rail-avatar img,.rail-avatar i{width:28px;height:28px;border-radius:50%;-o-object-fit:cover;object-fit:cover;display:grid;place-items:center;border:1px solid var(--line-2);background:var(--card-2);color:var(--text-2);font-style:normal;font-size:12px;font-weight:700}.side-panel{position:fixed;left:56px;top:0;bottom:0;width:300px;z-index:34;background:var(--panel);border-right:1px solid var(--line);padding:14px 14px 20px;overflow-y:auto;display:flex;flex-direction:column;gap:10px}.sp-head{display:flex;align-items:center;justify-content:space-between;height:28px}.sp-head b{font-size:15px}.sp-close{border:0;background:none;color:var(--muted);font-size:18px;cursor:pointer}.sp-close:hover{color:var(--text)}.sp-search{display:flex;align-items:center;gap:8px;background:var(--card);border:1px solid var(--line);border-radius:10px;padding:8px 12px;color:var(--muted)}.sp-search input{flex:1;background:none;border:0;color:var(--text);font-size:13.5px;outline:none}.sp-hint{font-size:11px;color:var(--muted-2);line-height:1.45;margin:-4px 2px 0}.sp-group h3{font-size:12.5px;font-weight:600;color:var(--text-2);margin:2px 0 6px}.sp-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:6px}.mod-card{aspect-ratio:1 / 1;border:1px solid var(--line-2);border-radius:10px;background:var(--card);color:var(--text);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:7px;cursor:grab;font-size:11.5px;text-transform:capitalize;transition:border-color .12s ease,background .12s ease,transform .12s ease}.mod-card:hover{border-color:var(--line-3);background:var(--card-2);transform:translateY(-1px)}.mod-card:active{cursor:grabbing}.mod-ico{display:grid;place-items:center;color:var(--cat, var(--text))}.mod-name{color:var(--text)}.mod-about{position:fixed;left:366px;width:300px;z-index:36;pointer-events:none;background:var(--card-2);border:1px solid var(--line-2);border-radius:14px;padding:16px 18px;box-shadow:var(--shadow);display:flex;flex-direction:column;gap:8px}.ma-top{display:flex;align-items:center;justify-content:space-between}.ma-fam{font-size:11px;color:var(--text-2);background:var(--card-3);border-radius:999px;padding:3px 9px}.ma-name{font-size:16px;text-transform:capitalize}.ma-text{font-size:13px;line-height:1.5;color:var(--muted)}.ma-chips{display:flex;align-items:center;gap:6px;margin-top:4px;flex-wrap:wrap}.ma-chip{font-style:normal;font-size:11.5px;padding:2px 8px;border-radius:6px;border:1px solid var(--lavender);color:var(--lavender)}.ma-chip.alt{border-color:var(--mint);color:var(--mint)}.ma-arrow{font-style:normal;color:var(--muted-2)}.canvas-root{padding-left:56px}.canvas-root.panel-open{padding-left:356px}.topbar{padding-left:72px}.panel-open .topbar{padding-left:372px}.react-flow__controls{bottom:14px!important;left:14px!important}.panel-open .bottombar{left:calc(50% + 178px)}.bottombar{border-radius:16px;padding:8px 10px;gap:6px;background:var(--card);border-color:var(--line-2)}.bottombar .tb-btn{height:36px;padding:0 12px;border-radius:10px;font-size:12.5px;background:var(--card-2);border-color:var(--line-2)}.bottombar .tb-btn:hover{background:var(--card-3);border-color:var(--line-3)}.mode-switch{border-radius:10px;border-color:var(--line-2)}.mode-switch button{height:36px;padding:0 14px;font-size:12.5px}.mode-switch button.on{background:var(--card-3)}.bb-sep{height:24px}.bb-zoom{min-width:60px;justify-content:center;font-variant-numeric:tabular-nums;color:var(--text-2)}.cm-toggle.on,.jdots-toggle.on{color:var(--accent);border-color:var(--accent);background:var(--card-2)}.cm-toggle.on{background:var(--accent);color:var(--accent-ink)}.welcome{position:relative;text-align:left;pointer-events:none;width:min(520px,90vw);background:var(--card);border:1px solid var(--line-2);border-radius:18px;padding:30px 32px 28px;box-shadow:var(--shadow);display:flex;flex-direction:column;gap:14px;color:var(--text)}.welcome-x{pointer-events:auto;position:absolute;top:12px;right:14px;width:28px;height:28px;border:0;border-radius:8px;background:none;color:var(--muted);font-size:20px;line-height:1;cursor:pointer}.welcome-x:hover{background:var(--card-3);color:var(--text)}.welcome-eyebrow{font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);font-weight:700}.welcome h2{font-size:26px;font-weight:700;letter-spacing:-.01em;margin:-4px 0 4px}.welcome ol{list-style:none;display:flex;flex-direction:column;gap:10px}.welcome li{display:flex;gap:12px;align-items:flex-start;font-size:13.5px;line-height:1.5;color:var(--text-2)}.welcome li i{flex:none;width:24px;height:24px;border-radius:50%;display:grid;place-items:center;font-style:normal;font-size:11px;font-weight:800;background:var(--card-3);color:var(--text)}.welcome li b{color:var(--text)}.welcome-cta{pointer-events:auto;align-self:flex-start;margin-top:6px;background:var(--accent);color:var(--accent-ink);border:0;border-radius:10px;padding:11px 16px;font-size:13.5px;font-weight:700;cursor:pointer}.welcome-cta:hover{filter:brightness(1.06)}.signin-screen{display:grid;place-items:center;padding:40px 24px;background:var(--bg);background-image:radial-gradient(var(--bg-dot) 1.1px,transparent 1.1px);background-size:26px 26px}.hero{width:min(1120px,100%);display:grid;grid-template-columns:minmax(320px,460px) minmax(360px,1fr);gap:56px;align-items:center}.hero-copy{display:flex;flex-direction:column;gap:18px}.hero-title{font-size:clamp(40px,5.2vw,64px);line-height:1.02;letter-spacing:-.025em;font-weight:750;color:var(--text)}.hero-sub{font-size:16.5px;line-height:1.55;color:var(--muted);max-width:44ch}.hero .signin-google{width:auto;align-self:flex-start;padding:13px 20px;font-size:14.5px;border-radius:12px;margin-top:6px}.hero .signin-foot{text-align:left;margin:0}.hero-board{aspect-ratio:560 / 380;border-radius:20px;overflow:hidden;background:var(--panel);border:1px solid var(--line-2);box-shadow:0 30px 90px #0009}@media (max-width: 900px){.hero{grid-template-columns:1fr;gap:28px}.hero-board{max-width:560px}}.rail svg,.side-panel svg,.bottombar svg,.topbar svg,.help-pop svg,.cm-panel svg,.hist-panel svg,.journeys-panel svg,.panel svg{stroke-width:1.5px}.react-flow__node svg{stroke-width:1.6px}.rail-btn{width:50px;padding:8px 0 6px;gap:4px;font-size:10.5px;letter-spacing:.01em;border-radius:8px}.rail-btn svg{width:21px;height:21px}.rail-btn.on{background:var(--card-2)}.rail-btn.on svg{color:var(--text)}.rail-logo span{box-shadow:none;width:9px;height:9px}.mod-card{border-color:var(--line);border-radius:10px;position:relative}.mod-card:hover{border-color:var(--line-3)}.mod-card .mod-ico{color:var(--text-2)}.mod-card .mod-ico svg{width:20px;height:20px}.mod-card:after{content:"";position:absolute;top:7px;right:7px;width:5px;height:5px;border-radius:50%;background:var(--cat, var(--muted));opacity:.85}.mod-about .mod-ico{color:var(--text)}.sp-search{border-radius:9px}.step-node{border-width:1px;border-radius:10px;padding:0 12px;gap:10px;background:color-mix(in srgb,var(--accent, var(--line-3)) 8%,var(--card));border-color:color-mix(in srgb,var(--accent, var(--line-3)) 60%,var(--line-2));box-shadow:inset 0 1px #ffffff08,0 1px 2px #00000073,0 10px 26px #00000047}.raised .step-node,.step-node:hover{transform:translateY(-1px) scale(1.01);box-shadow:0 1px 2px #00000080,0 14px 32px #0000006b}.step-icon{width:34px;height:34px;border-radius:8px;background:color-mix(in srgb,var(--accent, var(--muted)) 18%,var(--card-2))}.step-label{font-size:12.5px;letter-spacing:-.005em}.resource-circle{border-width:1px;background:color-mix(in srgb,var(--accent, var(--line-3)) 12%,var(--card));border-color:color-mix(in srgb,var(--accent, var(--line-3)) 62%,var(--line-2));box-shadow:0 1px 2px #00000073,0 6px 16px #00000040}.raised .resource-circle,.resource-node:hover .resource-circle{transform:scale(1.05)}.resource-label{font-size:10.5px;color:var(--text-2)}.badge-node{border-width:1px;padding:3px 10px 3px 4px;font-size:11px;background:color-mix(in srgb,var(--accent, var(--line-3)) 9%,var(--card));border-color:color-mix(in srgb,var(--accent, var(--line-3)) 58%,var(--line-2));box-shadow:0 1px 2px #00000073}.badge-node .badge-ico{width:18px;height:18px;border-radius:5px;background:color-mix(in srgb,var(--accent, var(--muted)) 16%,var(--card-2))}.note-node{border-width:1px;border-radius:10px;background:color-mix(in srgb,var(--accent, var(--line-3)) 7%,var(--card));border-color:color-mix(in srgb,var(--accent, var(--line-3)) 45%,var(--line-2))}.cluster-node{border-width:1px;border-radius:16px;background:color-mix(in srgb,var(--tint) 5%,transparent);border-color:color-mix(in srgb,var(--tint) 32%,transparent)}.cluster-head{font-size:12px;padding:8px 12px}.type-badge,.fbadge{height:15px;padding:0 5px;border-radius:4px;font-size:8.5px;font-weight:700;letter-spacing:.05em;text-transform:uppercase;background:var(--card-2);border:1px solid var(--line-2);color:var(--text-2)}.flag-badges{top:-7px;right:-6px;gap:2px}.react-flow__edge-path{stroke-width:1.3}.edge-main .react-flow__edge-path{stroke:#61616b;stroke-width:1.6}.edge-res .react-flow__edge-path{stroke:#565660}.edge-dep .react-flow__edge-path{stroke:#b9764f;opacity:.7}.react-flow__edge.selected .react-flow__edge-path{stroke-width:2!important}.edge-dot{fill:#8e8e96;stroke:var(--bg);stroke-width:1.5px;r:3.5}.react-flow__edge.selected .edge-dot{r:4}.port{width:8px;height:8px;background:#8e8e96;border-color:var(--bg)}.bend-handle{width:18px;height:8px;border-radius:4px;background:var(--text);border:1px solid var(--bg);box-shadow:0 1px 3px #00000080}.bh-h{width:8px;height:18px}.bend-handle:hover{background:var(--accent)}.guide-line{background:var(--accent);opacity:.7}.bottombar{padding:6px 8px;gap:5px;border-radius:14px}.bottombar .tb-btn,.mode-switch button{height:34px}.bottombar .tb-btn{border-radius:9px;padding:0 11px}.mode-switch{border-radius:9px}.bb-zoom{gap:4px}.bb-zoom svg{color:var(--muted)}.react-flow__controls{border:1px solid var(--line-2);box-shadow:0 8px 24px #00000059}.react-flow__controls button{width:28px;height:28px;border-bottom-color:var(--line)}.react-flow__controls button svg{fill:var(--text-2)}.react-flow__minimap{border:1px solid var(--line);box-shadow:0 8px 24px #00000059}.tb-file,.tb-account{border-radius:12px;border-color:var(--line-2)}.add-menu,.help-pop,.panel{border-radius:12px}.tb-btn,.add-row button,.cat-select{border-radius:8px}.bend-handle,.bend-handle.run{background:var(--text);border-color:var(--bg)}.bend-handle:hover,.bend-handle.run:hover{background:var(--accent)}.rail{width:56px;padding:0 0 14px;gap:0}.rail-logo{height:56px;width:56px;margin:0;display:grid;place-items:center;border-bottom:1px solid var(--line)}.rail-logo span{width:8px;height:8px}.rail-group{border-top:0;padding-top:10px;gap:2px}.rail-btn{width:56px;height:64px;padding:0;border-radius:0;background:none!important;gap:5px;font-size:11px;font-weight:500;color:var(--muted);letter-spacing:0}.rail-ico{width:32px;height:32px;border-radius:8px;display:grid;place-items:center;transition:background .12s ease,color .12s ease}.rail-btn svg,.rail-ico svg{width:20px;height:20px;stroke-width:1.5px}.rail-btn:hover{color:var(--text-2)}.rail-btn:hover .rail-ico{background:var(--card)}.rail-btn.on{color:var(--text)}.rail-btn.on .rail-ico{background:var(--card-2);color:var(--text)}.rail-foot{gap:6px;padding-bottom:2px}.rail-avatar img,.rail-avatar i{width:26px;height:26px;margin-top:6px}.side-panel{padding:0;gap:0}.sp-head{height:56px;padding:0 20px;border-bottom:1px solid var(--line);flex:none}.sp-head b{font-size:15px;font-weight:600}.sp-close{font-size:17px}.modules-panel>.sp-search{margin:18px 20px 4px}.sp-search{height:36px;padding:0 12px;gap:9px;border-radius:8px;border-color:var(--line-2);background:var(--card)}.sp-search svg{width:16px;height:16px}.sp-search input{font-size:13.5px}.sp-search input::-moz-placeholder{color:var(--muted)}.sp-search input::placeholder{color:var(--muted)}.sp-group{padding:0 20px}.sp-group:last-of-type{padding-bottom:24px}.sp-group h3{font-size:13.5px;font-weight:600;color:var(--text);margin:18px 0 10px}.sp-grid{gap:8px}.mod-card{border-radius:8px;border-color:var(--line-2);gap:8px;font-size:11.5px}.mod-card .mod-ico svg{width:17px;height:17px}.mod-card:after{top:6px;right:6px;width:4px;height:4px}.mod-about{left:372px}.rail-btn span{font-size:10.5px;letter-spacing:-.01em}.bottombar{background:#1e1e22;border:1px solid rgba(255,255,255,.06);box-shadow:0 2px 6px #00000059,0 14px 36px #0000008c}.bottombar .tb-btn{background:transparent;border-color:transparent;color:var(--text-2)}.bottombar .tb-btn:hover{background:var(--card-2);border-color:transparent;color:var(--text)}.mode-switch{border:0;background:transparent;gap:2px}.mode-switch button{background:transparent;color:var(--muted);border-radius:9px}.mode-switch button:hover{color:var(--text);background:var(--card-2)}.mode-switch button.on{background:var(--text);color:var(--accent-ink);font-weight:600}.cm-toggle.on{background:var(--text);color:var(--accent-ink);border-color:transparent}.jdots-toggle.on{background:transparent;border-color:transparent;color:var(--accent)}.bb-sep{background:#ffffff14}.rail-btn{height:62px;gap:6px}.rail-ico{width:30px;height:30px;border-radius:7px}.rail-btn svg,.rail-ico svg{width:16px;height:16px;stroke-width:1.6px}.rail-btn span{font-size:10.5px}.rail-group{padding-top:14px;gap:4px}.rail-foot .rail-btn{height:56px}.modules-panel .sp-search{height:40px;min-height:40px;padding:0 14px;gap:10px;border-radius:9px}.modules-panel .sp-search svg{width:17px;height:17px}.modules-panel .sp-search input{font-size:14px;height:100%}.side-panel .sp-body{padding:16px 20px 28px;display:flex;flex-direction:column;gap:8px;overflow-y:auto}.hist-panel .hist-hint{margin:0 0 8px;font-size:11.5px}.hist-panel .hist-row{background:var(--card);border:1px solid var(--line);border-radius:10px;padding:10px 12px;gap:4px}.hist-panel .hist-restore{align-self:flex-start;margin-top:4px}.teams-panel .tp-hint{margin:0 0 4px}.teams-panel .tp-cols{grid-template-columns:1fr;gap:14px}.help-panel .sp-body{gap:0}.help-panel .sp-body>div{font-size:12px;color:var(--text-2);line-height:1.55;padding:9px 0;border-bottom:1px solid var(--line);cursor:default}.help-panel .sp-body>div:last-child{border-bottom:0}.help-panel .sp-body b{color:var(--text);font-weight:600}.help-panel .legend-fams{display:flex;flex-direction:column;gap:8px;padding:0 0 12px;border:0;background:none;box-shadow:none}.help-panel .legend-fam{display:flex;flex-wrap:wrap;align-items:center;gap:4px 10px;font-size:11px;color:var(--muted)}.help-panel .legend-fam>b{width:100%;font-size:10.5px;letter-spacing:.06em;text-transform:uppercase;color:var(--muted-2)}.rail-account{position:relative}.rail-avatar{border:0;background:none;padding:0;cursor:pointer;border-radius:50%;display:block}.rail-avatar.on img,.rail-avatar.on i,.rail-avatar:hover img,.rail-avatar:hover i{border-color:var(--text-2)}.rail-menu{position:fixed;left:64px;bottom:14px;width:232px;z-index:60;background:var(--card);border:1px solid var(--line-2);border-radius:12px;padding:8px;box-shadow:0 2px 6px #00000059,0 14px 36px #0000008c}.rm-who{display:flex;align-items:center;gap:10px;padding:8px 8px 10px;border-bottom:1px solid var(--line);margin-bottom:6px}.rm-avatar img,.rm-avatar i{width:32px;height:32px;border-radius:50%;-o-object-fit:cover;object-fit:cover;display:grid;place-items:center;background:var(--card-2);border:1px solid var(--line-2);font-style:normal;font-size:13px;font-weight:700;color:var(--text-2)}.rm-text{display:flex;flex-direction:column;min-width:0}.rm-text b{font-size:12.5px;color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.rm-text small{font-size:11px;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.rm-signout{display:flex;align-items:center;gap:8px;width:100%;height:32px;padding:0 10px;border:0;border-radius:8px;background:none;color:var(--text-2);font-size:12.5px;cursor:pointer}.rm-signout:hover{background:var(--card-2);color:var(--text)}.tb-account:empty{display:none}.edge-ring .er-out{fill:var(--bg);stroke:var(--pc, var(--muted));stroke-width:1.75px}.edge-ring .er-in{fill:var(--pc, var(--muted))}.edge-ring.on .er-out,.react-flow__edge.lit .edge-ring .er-out{stroke:#ff6d5a}.edge-ring.on .er-in,.react-flow__edge.lit .edge-ring .er-in{fill:#ff6d5a}.react-flow__edge.trace .edge-ring .er-out{stroke:#7fdcb4}.react-flow__edge.trace .edge-ring .er-in{fill:#7fdcb4}.react-flow__handle-left.side-dot{left:-16px}.react-flow__handle-right.side-dot{right:-16px}.react-flow__handle-top.side-dot{top:-16px}.react-flow__handle-bottom.side-dot{bottom:-16px}.react-flow__handle.side-dot:after{width:14px;height:14px;font:600 11px/12px ui-sans-serif,system-ui,sans-serif;background:var(--bg);border:1.5px solid var(--line-3);color:var(--muted);box-shadow:none}.react-flow__handle.side-dot:hover:after{border-color:#4c9ffe;color:#4c9ffe;box-shadow:0 0 0 4px #4c9ffe2e}.connect-line path{fill:none;stroke:#4c9ffe;stroke-width:1.6px;stroke-dasharray:5 4}.connect-line .cl-ring{fill:var(--bg);stroke:#4c9ffe;stroke-width:1.75px}.connect-line .cl-dot{fill:#4c9ffe}.react-flow:has(.react-flow__connectionline) .react-flow__node:hover .step-node,.react-flow:has(.react-flow__connectionline) .react-flow__node:hover .badge-node,.react-flow:has(.react-flow__connectionline) .react-flow__node:hover .note-node,.react-flow:has(.react-flow__connectionline) .react-flow__node:hover .resource-circle{border-color:#4c9ffe!important;box-shadow:0 0 0 4px #4c9ffe33!important}.edge-dep .react-flow__edge-path{stroke:var(--muted-2);opacity:1}.react-flow__edge:hover .react-flow__edge-path{stroke-width:1.6!important}.react-flow__edge.edge-main:hover .react-flow__edge-path{stroke-width:2!important}.react-flow__edge.selected:hover .react-flow__edge-path{stroke-width:2.4!important}.react-flow__handle-left.side-dot{left:-12px}.react-flow__handle-right.side-dot{right:-12px}.react-flow__handle-top.side-dot{top:-12px}.react-flow__handle-bottom.side-dot{bottom:-12px}.react-flow__handle.side-dot:after{content:"";width:8px;height:8px;background:var(--bg);border:1.5px solid var(--muted);box-shadow:none}.react-flow__handle.side-dot:hover:after{transform:translate(-50%,-50%) scale(1.5);border-color:#4c9ffe;background:#4c9ffe;box-shadow:0 0 0 4px #4c9ffe33}.react-flow:has(.react-flow__connectionline) .react-flow__handle.side-dot:after{border-color:#4c9ffe}.resource-node .quick-add{top:-6px;right:-26px}.resource-node .quick-del{top:-6px;left:-26px;right:auto}.resource-node .react-flow__handle-top.side-dot,.resource-node .react-flow__handle-bottom.side-dot{display:none}.flag-badges{flex-direction:row;flex-wrap:nowrap;align-items:center;justify-content:flex-end;gap:3px}.type-badge,.fbadge{white-space:nowrap;flex:none}.lit .react-flow__edge-path{stroke-width:1.3!important}.edge-main.lit .react-flow__edge-path{stroke-width:1.6!important}.edge-menu{width:auto;padding:6px;background:#1e1e22;border:1px solid rgba(255,255,255,.06);border-radius:12px;box-shadow:0 2px 6px #00000059,0 14px 36px #0000008c}.edge-menu .menu-title{font-size:10px;letter-spacing:.08em;text-transform:uppercase;color:var(--muted-2);margin:0;padding:4px 8px 6px}.edge-menu .add-row{gap:2px}.edge-menu .add-row button{flex:none;width:48px;height:46px;padding:4px 2px 3px;gap:3px;border:0;border-radius:9px;background:transparent;color:var(--text-2);font-size:13px;line-height:1}.edge-menu .add-row button small{font-size:9.5px;letter-spacing:.01em;color:var(--muted)}.edge-menu .add-row button:hover:not(:disabled){background:var(--card-2);color:var(--text);border:0}.edge-menu .add-row button:hover:not(:disabled) small{color:var(--text-2)}.edge-menu .add-row button.danger:hover{background:#e052521f;color:#e08585;border:0}.edge-menu input{background:var(--card-2);border-color:transparent;border-radius:8px;font-size:12.5px;padding:7px 10px;margin:2px 2px 6px;width:calc(100% - 4px)}.edge-menu input:focus{border-color:var(--line-3)}.step-node,.badge-node,.resource-circle,.note-node{background:var(--card);border:1px solid rgba(255,255,255,.08);box-shadow:0 1px 2px #0006,0 6px 18px #00000038}.step-node{padding:0 14px 0 10px;gap:10px;border-radius:12px}.cat-area .step-node{border-radius:8px}.cat-module .step-node{border-radius:12px}.cat-screen .step-node{border-radius:24px}.raised .step-node,.step-node:hover{transform:none;border-color:#fff3;box-shadow:0 1px 2px #00000073,0 10px 26px #00000059}.react-flow__node.selected .step-node,.react-flow__node.selected .badge-node,.react-flow__node.selected .resource-circle,.react-flow__node.selected .note-node{border-color:#ff6d5a}.step-icon{width:30px;height:30px;border-radius:8px;background:#ffffff0d;color:var(--accent, var(--text-2))}.step-icon svg{width:15px;height:15px}.step-text{display:flex;flex-direction:column;gap:2px;min-width:0}.step-label{font-size:12.5px;font-weight:500;color:#e6e6ea;letter-spacing:0}.node-meta{font-size:10px;font-weight:400;color:var(--muted);letter-spacing:.01em;line-height:1.2;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.flag-badges{display:none}.cat-section .step-node .step-text{align-items:center}.cat-section .step-node .node-meta{display:none}.badge-node{max-width:200px;padding:4px 10px 4px 5px;gap:7px;color:#dcdce0;font-weight:500;font-size:11.5px}.badge-node.amber,.badge-node.cyan,.badge-node.action,.badge-node.state{color:#dcdce0;border-color:#ffffff14}.badge-node .badge-ico{background:#ffffff0d}.badge-node .node-meta{font-size:9.5px;margin-left:1px}.react-flow__node:hover .badge-node{border-color:#fff3}.cat-state .badge-node{background:transparent;border-style:dashed;border-color:#ffffff2e}.resource-circle{color:var(--accent, var(--text-2))}.raised .resource-circle,.resource-node:hover .resource-circle{transform:none;border-color:#ffffff38}.resource-label{font-size:11px;font-weight:500;color:var(--text-2);background:#151517d9}.resource-node .node-meta{display:block;margin-top:1px;font-size:9.5px;text-align:center}.tb-file,.tb-account,.bottombar,.edge-menu,.add-menu,.react-flow__controls,.react-flow__minimap,.side-panel,.cm-panel,.panel,.help-pop,.rail-menu{background:#1c1c20;border-color:#ffffff14}.react-flow__controls button{background:#1c1c20;border-bottom-color:#ffffff14}.rail,.topbar,.bottombar,.sp-head,.side-panel h3,.rail-btn span{-moz-user-select:none;user-select:none;-webkit-user-select:none}.tb-btn{white-space:nowrap}@media (max-width: 1280px){.react-flow__minimap{display:none}}.panel{font-size:12.5px;padding:20px}.panel h2{font-size:15px;font-weight:600;margin-bottom:4px}.panel-meta{font-size:11.5px}.panel .flag-chip{height:20px;padding:0 8px;font-size:11px;line-height:18px}.panel-link{display:flex;align-items:center;gap:8px;width:100%;height:32px;padding:0 8px;border:0;border-radius:8px;background:none;color:var(--text-2);font-size:12.5px;text-align:left;cursor:pointer}.panel-link:hover{background:var(--card-2);color:var(--text)}.react-flow__edge.trace .react-flow__edge-path{animation:none!important;stroke-dasharray:none!important;stroke:#7fdcb4!important;stroke-width:1.6px!important}.react-flow__edge.faded{opacity:.55!important}.react-flow__handle-top.side-dot,.react-flow__handle-bottom.side-dot{display:none}.quick-add,.quick-del{background:var(--card-2);border-color:#ffffff24;color:var(--text-2)}.resource-label{max-width:110px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;background:#151517e6;border-radius:4px;padding:2px 6px}.resource-node .node-meta{display:none}.react-flow__node:hover .resource-label,.react-flow__node.selected .resource-label{-webkit-line-clamp:unset}.react-flow__node:hover .resource-node .node-meta,.react-flow__node.selected .resource-node .node-meta{display:block}.hist-panel .hist-hint{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.hist-panel .hist-row{flex-direction:row;align-items:center;gap:10px;height:44px;padding:0 6px 0 12px}.hist-panel .hist-line{flex:none}.hist-panel .hist-meta{flex:1;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.hist-panel .hist-restore{align-self:center;margin:0;width:28px;height:28px;padding:0;display:grid;place-items:center;opacity:.4}.hist-panel .hist-row:hover .hist-restore{opacity:1}.hist-panel .hist-confirm{display:inline-flex;gap:6px;align-items:center}.hist-panel .hist-when{font-size:12px;font-weight:600}.hist-panel .hist-meta{font-size:11px}.hist-panel .hist-badge{font-size:9.5px}.tb-file,.tb-account{height:44px;padding:6px;border-radius:14px;gap:4px}.tb-file .tb-btn,.tb-account .tb-btn{height:32px;padding:0 12px;border-radius:9px;font-size:12.5px}.brand-sel.cat-select{-moz-appearance:none;appearance:none;-webkit-appearance:none;height:32px;max-width:280px;padding:0 26px 0 10px;border:0;border-radius:9px;background:transparent;color:var(--text);font-size:12.5px;font-weight:600;text-overflow:ellipsis;cursor:pointer;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%238e8e96' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 8px center}.brand-sel.cat-select:hover{background-color:var(--card-2)}.brand-sel.cat-select:focus{outline:none;box-shadow:0 0 0 2px #ffffff14}.hist-panel .hist-row{display:grid;grid-template-columns:1fr 28px;grid-template-rows:auto auto;align-items:center;-moz-column-gap:8px;column-gap:8px;row-gap:1px;height:auto;padding:8px 6px 8px 12px}.hist-panel .hist-line{grid-column:1;grid-row:1}.hist-panel .hist-meta{grid-column:1;grid-row:2;white-space:normal}.hist-panel .hist-restore,.hist-panel .hist-confirm{grid-column:2;grid-row:1 / span 2}.hist-panel .hist-confirm{grid-column:1 / span 2;grid-row:3;justify-content:flex-end;margin-top:6px}.journeys-panel .jp-row{background:transparent;border:0;border-radius:8px;padding:0 8px;height:38px}.journeys-panel .jp-row:hover,.journeys-panel .jp-row.on{background:var(--card-2)}.journeys-panel .jp-stop{background:transparent;border:0;border-radius:8px}.journeys-panel .jp-stop:hover,.journeys-panel .jp-stop.editing{background:var(--card-2)}.journeys-panel .jp-stop.broken{box-shadow:inset 2px 0 #7a3a3a}.journeys-panel .jp-stop.drop-here{box-shadow:inset 0 0 0 1px #4c9ffe}.journeys-panel .jp-stop-row{height:36px;padding:0 8px;gap:8px}.journeys-panel .jp-stops{gap:1px}.journeys-panel .jp-num{width:18px;height:18px;font-size:10px;font-weight:600}.journeys-panel .jp-stop .jp-eye,.journeys-panel .jp-stop .jp-x,.journeys-panel .jp-stop-eye,.journeys-panel .jp-grip{opacity:.4}.journeys-panel .jp-stop:hover .jp-eye,.journeys-panel .jp-stop:hover .jp-x,.journeys-panel .jp-stop:hover .jp-stop-eye,.journeys-panel .jp-stop:hover .jp-grip{opacity:1}.journeys-panel .jp-record{min-height:32px;padding:6px 10px;border:0;border-radius:8px;background:var(--card-2);color:var(--text-2);font-size:12px;line-height:1.3;text-align:left}.journeys-panel .jp-record:hover{background:var(--card-3);color:var(--text)}.journeys-panel .jp-record.on{background:#ff6d5a1a;color:#ff8f7e;box-shadow:inset 2px 0 #ff6d5a}.journeys-panel .jp-mark{border:0}.journeys-panel .jp-mark.on{background:#ff6d5a1a}.react-flow__handle.side-dot{width:auto;height:auto;border-radius:0;background:transparent;border:0;cursor:crosshair}.react-flow__handle.side-dot:after{display:none}.react-flow__handle-left.side-dot,.react-flow__handle-right.side-dot{top:0;height:100%;width:10px;transform:none}.react-flow__handle-left.side-dot{left:-5px}.react-flow__handle-right.side-dot{right:-5px}.react-flow__handle-top.side-dot,.react-flow__handle-bottom.side-dot{display:block;left:0;width:100%;height:10px;transform:none}.react-flow__handle-top.side-dot{top:-5px}.react-flow__handle-bottom.side-dot{bottom:-5px}.journeys-panel .jp-actions{display:flex;flex-wrap:wrap;gap:6px}.journeys-panel .jp-actions .jp-record{flex:1 1 0}.journeys-panel .jp-actions .jp-record.on{flex-basis:100%}.journey-origin,.journey-origin.editing{background:var(--card);border:1px solid color-mix(in srgb,var(--jc) 40%,rgba(255,255,255,.08));box-shadow:0 6px 18px #00000059;color:var(--text-2)}.journey-origin .jo-ph{background:var(--card-3);color:var(--text-2)}.journey-origin .jo-role{color:var(--muted)}.journey-origin .jo-jtbd{color:var(--text)}.panel-flags{display:flex;flex-wrap:wrap;gap:4px}.panel .flag-chip.flag-add{order:-1}.pl-dot{width:6px;height:6px;border-radius:50%;flex:none;display:inline-block}.hist-panel .hist-row{background:transparent;border:0;border-radius:0;border-bottom:1px solid var(--line)}.hist-panel .hist-row:last-child{border-bottom:0}.rail{background:#1c1c20}.react-flow__node:hover .resource-node .node-meta,.react-flow__node.selected .resource-node .node-meta{display:inline;margin:0 0 0 4px}.resource-node .node-meta:before{content:"· "}.edge-menu .add-row button svg{width:14px;height:14px;stroke-width:1.8px;display:block}.cm-pop{background:#1c1c20;border:1px solid rgba(255,255,255,.08);border-radius:12px;padding:8px;box-shadow:0 2px 6px #00000059,0 14px 36px #0000008c}.cm-input{gap:6px}.cm-input input{height:32px;padding:0 12px;border-radius:9px;background:var(--card-2);border:1px solid transparent;font-size:12.5px}.cm-input input:focus{border-color:var(--line-3)}.cm-send{width:28px;height:28px;border-radius:8px;background:var(--text);color:var(--bg);font-weight:600;display:grid;place-items:center}.cm-send:hover:not(:disabled){background:#fff}.cm-send:disabled{background:var(--card-3);color:var(--muted-2)}.cm-pin{width:26px;height:26px;border-radius:13px 13px 13px 3px;border:1.5px solid rgba(255,255,255,.28)}.cm-ava{width:20px;height:20px}.cm-msg p{font-size:12.5px}.cm-panel-head b{font-size:15px;font-weight:600}.cm-panel{padding:12px 10px}.react-flow__handle.side-dot{z-index:5}.react-flow__handle-left.side-dot,.react-flow__handle-right.side-dot{width:14px}.react-flow__handle-left.side-dot{left:-10px}.react-flow__handle-right.side-dot{right:-10px}.react-flow__handle-top.side-dot,.react-flow__handle-bottom.side-dot{height:14px}.react-flow__handle-top.side-dot{top:-10px}.react-flow__handle-bottom.side-dot{bottom:-10px}.panel .flag-chip{padding:0 7px;font-size:10.5px}.react-flow__edge-interaction{vector-effect:non-scaling-stroke;stroke-width:16px}.react-flow__edge.selected .react-flow__edge-interaction{cursor:move}.bend-handle:before{content:"";position:absolute;top:-8px;right:-8px;bottom:-8px;left:-8px}.edge-dot-hit{border-radius:50%}.edge-dot-hit:hover{background:#ff6d5a29;box-shadow:inset 0 0 0 1.5px #ff6d5a}
