.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: #555;--xy-background-pattern-lines-color-default: #333;--xy-background-pattern-cross-color-default: #333;--xy-node-color-default: #f8f8f8;--xy-node-border-default: 1px solid #3c3c3c;--xy-node-background-color-default: #1e1e1e;--xy-node-group-background-color-default: rgba(240, 240, 240, .25);--xy-node-boxshadow-hover-default: 0 1px 4px 1px rgba(255, 255, 255, .08);--xy-node-boxshadow-selected-default: 0 0 0 .5px #999;--xy-handle-background-color-default: #bebebe;--xy-handle-border-color-default: #1e1e1e;--xy-selection-background-color-default: rgba(200, 200, 220, .08);--xy-selection-border-default: 1px dotted rgba(200, 200, 220, .8);--xy-controls-button-background-color-default: #2b2b2b;--xy-controls-button-background-color-hover-default: #3e3e3e;--xy-controls-button-color-default: #f8f8f8;--xy-controls-button-color-hover-default: #fff;--xy-controls-button-border-color-default: #5b5b5b;--xy-controls-box-shadow-default: 0 0 2px 1px rgba(0, 0, 0, .08);--xy-edge-label-background-color-default: #141414;--xy-edge-label-color-default: #f8f8f8}.react-flow__background{background-color:var(--xy-background-color-props, var(--xy-background-color, var(--xy-background-color-default)));pointer-events:none;z-index:-1}.react-flow__container{position:absolute;width:100%;height:100%;top:0;left:0}.react-flow__pane{z-index:1;touch-action:none}.react-flow__pane.draggable{cursor:grab}.react-flow__pane.dragging{cursor:grabbing}.react-flow__pane.selection{cursor:pointer}.react-flow__viewport{transform-origin:0 0;z-index:2;pointer-events:none}.react-flow__renderer{z-index:4}.react-flow__selection{z-index:6}.react-flow__nodesselection-rect:focus,.react-flow__nodesselection-rect:focus-visible{outline:none}.react-flow__edge-path{stroke:var(--xy-edge-stroke, var(--xy-edge-stroke-default));stroke-width:var(--xy-edge-stroke-width, var(--xy-edge-stroke-width-default));fill:none}.react-flow__connection-path{stroke:var(--xy-connectionline-stroke, var(--xy-connectionline-stroke-default));stroke-width:var(--xy-connectionline-stroke-width, var(--xy-connectionline-stroke-width-default));fill:none}.react-flow .react-flow__edges{position:absolute}.react-flow .react-flow__edges svg{overflow:visible;position:absolute;pointer-events:none}.react-flow__edge{pointer-events:visibleStroke}.react-flow__edge.selectable{cursor:pointer}.react-flow__edge.animated path{stroke-dasharray:5;animation:dashdraw .5s linear infinite}.react-flow__edge.animated path.react-flow__edge-interaction{stroke-dasharray:none;animation:none}.react-flow__edge.inactive{pointer-events:none}.react-flow__edge.selected,.react-flow__edge:focus,.react-flow__edge:focus-visible{outline:none}.react-flow__edge.selected .react-flow__edge-path,.react-flow__edge.selectable:focus .react-flow__edge-path,.react-flow__edge.selectable:focus-visible .react-flow__edge-path{stroke:var(--xy-edge-stroke-selected, var(--xy-edge-stroke-selected-default))}.react-flow__edge-textwrapper{pointer-events:all}.react-flow__edge .react-flow__edge-text{pointer-events:none;-webkit-user-select:none;-moz-user-select:none;user-select:none}.react-flow__arrowhead polyline{stroke:var(--xy-edge-stroke, var(--xy-edge-stroke-default))}.react-flow__arrowhead polyline.arrowclosed{fill:var(--xy-edge-stroke, var(--xy-edge-stroke-default))}.react-flow__connection{pointer-events:none}.react-flow__connection .animated{stroke-dasharray:5;animation:dashdraw .5s linear infinite}svg.react-flow__connectionline{z-index:1001;overflow:visible;position:absolute}.react-flow__nodes{pointer-events:none;transform-origin:0 0}.react-flow__node{position:absolute;-webkit-user-select:none;-moz-user-select:none;user-select:none;pointer-events:all;transform-origin:0 0;box-sizing:border-box;cursor:default}.react-flow__node.selectable{cursor:pointer}.react-flow__node.draggable{cursor:grab;pointer-events:all}.react-flow__node.draggable.dragging{cursor:grabbing}.react-flow__nodesselection{z-index:3;transform-origin:left top;pointer-events:none}.react-flow__nodesselection-rect{position:absolute;pointer-events:all;cursor:grab}.react-flow__handle{position:absolute;pointer-events:none;min-width:5px;min-height:5px;width:6px;height:6px;background-color:var(--xy-handle-background-color, var(--xy-handle-background-color-default));border:1px solid var(--xy-handle-border-color, var(--xy-handle-border-color-default));border-radius:100%}.react-flow__handle.connectingfrom{pointer-events:all}.react-flow__handle.connectionindicator{pointer-events:all;cursor:crosshair}.react-flow__handle-bottom{top:auto;left:50%;bottom:0;transform:translate(-50%,50%)}.react-flow__handle-top{top:0;left:50%;transform:translate(-50%,-50%)}.react-flow__handle-left{top:50%;left:0;transform:translate(-50%,-50%)}.react-flow__handle-right{top:50%;right:0;transform:translate(50%,-50%)}.react-flow__edgeupdater{cursor:move;pointer-events:all}.react-flow__pane.selection .react-flow__panel{pointer-events:none}.react-flow__panel{position:absolute;z-index:5;margin:15px}.react-flow__panel.top{top:0}.react-flow__panel.bottom{bottom:0}.react-flow__panel.top.center,.react-flow__panel.bottom.center{left:50%;transform:translate(-15px) translate(-50%)}.react-flow__panel.left{left:0}.react-flow__panel.right{right:0}.react-flow__panel.left.center,.react-flow__panel.right.center{top:50%;transform:translateY(-15px) translateY(-50%)}.react-flow__attribution{font-size:10px;background:var(--xy-attribution-background-color, var(--xy-attribution-background-color-default));padding:2px 3px;margin:0}.react-flow__attribution a{text-decoration:none;color:#999}@keyframes dashdraw{0%{stroke-dashoffset:10}}.react-flow__edgelabel-renderer{position:absolute;width:100%;height:100%;pointer-events:none;-webkit-user-select:none;-moz-user-select:none;user-select:none;left:0;top:0}.react-flow__viewport-portal{position:absolute;width:100%;height:100%;left:0;top:0;-webkit-user-select:none;-moz-user-select:none;user-select:none}.react-flow__minimap{background:var( --xy-minimap-background-color-props, var(--xy-minimap-background-color, var(--xy-minimap-background-color-default)) )}.react-flow__minimap-svg{display:block}.react-flow__minimap-mask{fill:var( --xy-minimap-mask-background-color-props, var(--xy-minimap-mask-background-color, var(--xy-minimap-mask-background-color-default)) );stroke:var( --xy-minimap-mask-stroke-color-props, var(--xy-minimap-mask-stroke-color, var(--xy-minimap-mask-stroke-color-default)) );stroke-width:var( --xy-minimap-mask-stroke-width-props, var(--xy-minimap-mask-stroke-width, var(--xy-minimap-mask-stroke-width-default)) )}.react-flow__minimap-node{fill:var( --xy-minimap-node-background-color-props, var(--xy-minimap-node-background-color, var(--xy-minimap-node-background-color-default)) );stroke:var( --xy-minimap-node-stroke-color-props, var(--xy-minimap-node-stroke-color, var(--xy-minimap-node-stroke-color-default)) );stroke-width:var( --xy-minimap-node-stroke-width-props, var(--xy-minimap-node-stroke-width, var(--xy-minimap-node-stroke-width-default)) )}.react-flow__background-pattern.dots{fill:var( --xy-background-pattern-color-props, var(--xy-background-pattern-color, var(--xy-background-pattern-dots-color-default)) )}.react-flow__background-pattern.lines{stroke:var( --xy-background-pattern-color-props, var(--xy-background-pattern-color, var(--xy-background-pattern-lines-color-default)) )}.react-flow__background-pattern.cross{stroke:var( --xy-background-pattern-color-props, var(--xy-background-pattern-color, var(--xy-background-pattern-cross-color-default)) )}.react-flow__controls{display:flex;flex-direction:column;box-shadow:var(--xy-controls-box-shadow, var(--xy-controls-box-shadow-default))}.react-flow__controls.horizontal{flex-direction:row}.react-flow__controls-button{display:flex;justify-content:center;align-items:center;height:26px;width:26px;padding:4px;border:none;background:var(--xy-controls-button-background-color, var(--xy-controls-button-background-color-default));border-bottom:1px solid var( --xy-controls-button-border-color-props, var(--xy-controls-button-border-color, var(--xy-controls-button-border-color-default)) );color:var( --xy-controls-button-color-props, var(--xy-controls-button-color, var(--xy-controls-button-color-default)) );cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none}.react-flow__controls-button svg{width:100%;max-width:12px;max-height:12px;fill:currentColor}.react-flow__edge.updating .react-flow__edge-path{stroke:#777}.react-flow__edge-text{font-size:10px}.react-flow__node.selectable:focus,.react-flow__node.selectable:focus-visible{outline:none}.react-flow__node-input,.react-flow__node-default,.react-flow__node-output,.react-flow__node-group{padding:10px;border-radius:var(--xy-node-border-radius, var(--xy-node-border-radius-default));width:150px;font-size:12px;color:var(--xy-node-color, var(--xy-node-color-default));text-align:center;border:var(--xy-node-border, var(--xy-node-border-default));background-color:var(--xy-node-background-color, var(--xy-node-background-color-default))}.react-flow__node-input.selectable:hover,.react-flow__node-default.selectable:hover,.react-flow__node-output.selectable:hover,.react-flow__node-group.selectable:hover{box-shadow:var(--xy-node-boxshadow-hover, var(--xy-node-boxshadow-hover-default))}.react-flow__node-input.selectable.selected,.react-flow__node-input.selectable:focus,.react-flow__node-input.selectable:focus-visible,.react-flow__node-default.selectable.selected,.react-flow__node-default.selectable:focus,.react-flow__node-default.selectable:focus-visible,.react-flow__node-output.selectable.selected,.react-flow__node-output.selectable:focus,.react-flow__node-output.selectable:focus-visible,.react-flow__node-group.selectable.selected,.react-flow__node-group.selectable:focus,.react-flow__node-group.selectable:focus-visible{box-shadow:var(--xy-node-boxshadow-selected, var(--xy-node-boxshadow-selected-default))}.react-flow__node-group{background-color:var(--xy-node-group-background-color, var(--xy-node-group-background-color-default))}.react-flow__nodesselection-rect,.react-flow__selection{background:var(--xy-selection-background-color, var(--xy-selection-background-color-default));border:var(--xy-selection-border, var(--xy-selection-border-default))}.react-flow__nodesselection-rect:focus,.react-flow__nodesselection-rect:focus-visible,.react-flow__selection:focus,.react-flow__selection:focus-visible{outline:none}.react-flow__controls-button:hover{background:var( --xy-controls-button-background-color-hover-props, var(--xy-controls-button-background-color-hover, var(--xy-controls-button-background-color-hover-default)) );color:var( --xy-controls-button-color-hover-props, var(--xy-controls-button-color-hover, var(--xy-controls-button-color-hover-default)) )}.react-flow__controls-button:disabled{pointer-events:none}.react-flow__controls-button:disabled svg{fill-opacity:.4}.react-flow__controls.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,[data-theme=dark]{--fs-2xs: 9px;--fs-xs: 10px;--fs-sm: 11px;--fs-md: 12px;--fs-lg: 13px;--fs-xl: 14px;--fs-2xl: 16px;--fs-display: 26px;color-scheme:dark;--bg: #0b0b0d;--surface: #131316;--elevated: #1a1b1f;--border: #26272c;--border-strong: #33343a;--fg: #e8e8ea;--dim: #8a8a92;--dim2: #63636b;--acc: #f54e00;--sel: #3b82f6;--sel-soft: rgba(59, 130, 246, .14);--acc-soft: rgba(245, 78, 0, .14);--acc-tint: rgba(245, 78, 0, .14);--green: #4ade80;--red: #f87171;--danger: #ef4444;--card: #1a1b1f;--canvas-glow: rgba(245, 78, 0, .06);--panel-glass: rgba(19, 19, 22, .86);--panel-glass-strong: rgba(19, 19, 22, .92);--scrim: rgba(11, 11, 13, .45);--minimap-mask: rgba(11, 11, 13, .7);--dots: rgba(255, 255, 255, .14);--shadow: rgba(0, 0, 0, .6);--shadow-strong: 0 18px 40px -10px rgba(0, 0, 0, .75);--shadow-pop: 0 30px 70px -12px rgba(0, 0, 0, .85);--shadow-sm: 0 6px 20px -6px rgba(0, 0, 0, .6);--shadow-toolbar: 0 10px 28px -8px rgba(0, 0, 0, .7);--scroll-hover: #43444a;--on-acc: #fff;--on-acc-hover: #ff5f12;--edge-text-bg: #1a1b1f;--c-accent: #f54e00;--c-green: #4ade80;--c-cyan: #22d3ee;--c-violet: #a78bfa;--c-amber: #fbbf24;--c-slate: #94a3b8;--c-red: #ff6b6b;--c-blue: #7aa2ff;--c-pink: #f783ac;--c-black: #000000;--c-white: #ffffff;--mono: "JetBrains Mono", ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;--sans: "Inter", ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, sans-serif}[data-theme=light]{color-scheme:light;--bg: #f7f7f8;--surface: #ffffff;--elevated: #f2f2f4;--border: #e4e4e7;--border-strong: #d4d4d8;--fg: #18181b;--dim: #52525b;--dim2: #82828c;--acc: #c2410c;--acc-soft: color-mix(in srgb, var(--acc) 10%, transparent);--sel: #2563eb;--sel-soft: color-mix(in srgb, var(--sel) 12%, transparent);--green: #15803d;--red: #b91c1c;--danger: #b91c1c;--card: #f2f2f4;--canvas-glow: rgba(194, 65, 12, .05);--panel-glass: rgba(255, 255, 255, .86);--panel-glass-strong: rgba(255, 255, 255, .94);--scrim: rgba(24, 24, 27, .28);--minimap-mask: rgba(24, 24, 27, .15);--dots: rgba(24, 24, 27, .18);--shadow: rgba(24, 24, 27, .12);--shadow-strong: 0 14px 34px -12px rgba(24, 24, 27, .18);--shadow-pop: 0 24px 48px -14px rgba(24, 24, 27, .22);--shadow-sm: 0 4px 14px -6px rgba(24, 24, 27, .14);--shadow-toolbar: 0 8px 22px -8px rgba(24, 24, 27, .18);--scroll-hover: #a1a1aa;--on-acc: #fff;--on-acc-hover: #9a3412;--edge-text-bg: #ffffff;--acc-tint: rgba(194, 65, 12, .1);--c-accent: #9a3412;--c-green: #166534;--c-cyan: #0e7490;--c-violet: #5b21b6;--c-amber: #8e6700;--c-slate: #475569;--c-red: #e03131;--c-blue: #4465e9;--c-pink: #c2255c}[data-theme=paper]{color-scheme:light;--bg: #f6f1e7;--surface: #fffaf1;--elevated: #efe8da;--border: #e2d8c6;--border-strong: #cfc2ab;--fg: #2b2620;--dim: #7a6f60;--dim2: #9c9184;--acc: #8a2e05;--acc-soft: color-mix(in srgb, var(--acc) 10%, transparent);--sel: #1e3a8a;--sel-soft: color-mix(in srgb, var(--sel) 12%, transparent);--green: #14532d;--red: #991b1b;--danger: #991b1b;--card: #efe8da;--canvas-glow: rgba(138, 46, 5, .05);--panel-glass: rgba(255, 250, 241, .86);--panel-glass-strong: rgba(255, 250, 241, .94);--scrim: rgba(43, 38, 32, .28);--minimap-mask: rgba(43, 38, 32, .16);--dots: rgba(80, 60, 30, .22);--shadow: rgba(80, 60, 30, .14);--shadow-strong: 0 14px 34px -12px rgba(80, 60, 30, .2);--shadow-pop: 0 24px 48px -14px rgba(80, 60, 30, .24);--shadow-sm: 0 4px 14px -6px rgba(80, 60, 30, .16);--shadow-toolbar: 0 8px 22px -8px rgba(80, 60, 30, .2);--scroll-hover: #b8ab93;--on-acc: #fffaf1;--on-acc-hover: #6f2604;--edge-text-bg: #fffaf1;--acc-tint: rgba(138, 46, 5, .1);--c-accent: #8a2e05;--c-green: #14532d;--c-cyan: #115e59;--c-violet: #5b21b6;--c-amber: #6d4f00;--c-slate: #44403c;--c-red: #ac0000;--c-blue: #0031f5;--c-pink: #aa003b}[data-theme=midnight]{color-scheme:dark;--bg: #0a0f1e;--surface: #121a2e;--elevated: #18233c;--border: #1e2a45;--border-strong: #2b3a5e;--fg: #dbe4ff;--dim: #8b9ac0;--dim2: #6b7a9e;--acc: #ff7a45;--acc-soft: color-mix(in srgb, var(--acc) 12%, transparent);--sel: #6c9dff;--sel-soft: color-mix(in srgb, var(--sel) 16%, transparent);--green: #5eead4;--red: #ff8a80;--danger: #ff8a80;--card: #18233c;--canvas-glow: rgba(255, 122, 69, .06);--panel-glass: rgba(18, 26, 46, .88);--panel-glass-strong: rgba(18, 26, 46, .94);--scrim: rgba(10, 15, 30, .5);--minimap-mask: rgba(10, 15, 30, .7);--dots: rgba(219, 228, 255, .15);--shadow: rgba(0, 0, 0, .7);--shadow-strong: 0 18px 40px -10px rgba(0, 0, 0, .8);--shadow-pop: 0 30px 70px -12px rgba(0, 0, 0, .9);--shadow-sm: 0 6px 20px -6px rgba(0, 0, 0, .7);--shadow-toolbar: 0 10px 28px -8px rgba(0, 0, 0, .8);--scroll-hover: #33436b;--on-acc: #0a0f1e;--on-acc-hover: #ff9761;--edge-text-bg: #121a2e;--acc-tint: rgba(255, 122, 69, .12);--c-accent: #ff7a45;--c-green: #86efac;--c-cyan: #5eead4;--c-violet: #c4b5fd;--c-amber: #fcd34d;--c-slate: #94a3b8;--c-red: #ff9494;--c-blue: #9bafff;--c-pink: #ff90b7}[data-theme=contrast]{color-scheme:dark;--bg: #000000;--surface: #000000;--elevated: #141414;--border: #808080;--border-strong: #c0c0c0;--fg: #ffffff;--dim: #c8c8c8;--dim2: #a0a0a0;--acc: #ffff00;--acc-soft: color-mix(in srgb, var(--acc) 20%, transparent);--sel: #00ffff;--sel-soft: color-mix(in srgb, var(--sel) 20%, transparent);--green: #80ff80;--red: #ff8080;--danger: #ff8080;--card: #141414;--canvas-glow: transparent;--panel-glass: rgba(0, 0, 0, .92);--panel-glass-strong: rgba(0, 0, 0, .96);--scrim: rgba(0, 0, 0, .6);--minimap-mask: rgba(0, 0, 0, .75);--dots: rgba(255, 255, 255, .25);--shadow: rgba(0, 0, 0, .85);--shadow-strong: 0 0 0 1px #808080;--shadow-pop: 0 0 0 1px #808080;--shadow-sm: 0 0 0 1px #808080;--shadow-toolbar: 0 0 0 1px #808080;--scroll-hover: #a0a0a0;--on-acc: #000000;--on-acc-hover: #ffff66;--edge-text-bg: #000000;--acc-tint: rgba(255, 255, 0, .2);--c-accent: #ffff00;--c-green: #80ff80;--c-cyan: #00ffff;--c-violet: #c0c0ff;--c-amber: #ffe066;--c-slate: #c8c8c8;--c-red: #ffbbbb;--c-blue: #bdcaff;--c-pink: #ffb8d1}.ds-flow-wrap{--xy-background-pattern-color: var(--dots);--xy-minimap-background-color: var(--surface);--xy-minimap-mask-background-color: var(--minimap-mask);--xy-minimap-node-background-color: var(--border-strong);--xy-controls-button-background-color: var(--surface);--xy-controls-button-background-color-hover: var(--elevated);--xy-controls-button-color: var(--dim);--xy-controls-button-color-hover: var(--fg);--xy-controls-button-border-color: var(--border);--xy-edge-label-background-color: var(--surface);--xy-edge-label-color: var(--fg);--xy-selection-background-color: var(--sel-soft);--xy-selection-border: 1px dotted var(--sel);--xy-handle-background-color: var(--elevated);--xy-handle-border-color: var(--border-strong)}*{box-sizing:border-box}html,body,#root{height:100%;margin:0}html,body,#root{height:100dvh}body{background:var(--bg);color:var(--fg);font-family:var(--sans);overflow:hidden}.app{display:grid;grid-template-columns:var(--left-w, 232px) 1fr var(--right-w, 288px);height:100%;transition:grid-template-columns .22s ease}.app-host{position:relative;height:100%}@media (max-width: 1228.98px){.app{--left-w: 200px;--right-w: 248px}.app.right-hidden{--left-w: 200px;--right-w: 0px}}.app.right-hidden{--right-w: 0px}.app.right-hidden .panel.right{border-left:none;opacity:0}.app.left-hidden{--left-w: 0px}.app.left-hidden .panel:not(.right){border-right:none;opacity:0}.scrim{position:absolute;top:0;right:0;bottom:0;left:0;z-index:7;-webkit-appearance:none;-moz-appearance:none;appearance:none;border:0;padding:0;margin:0;background:var(--scrim);cursor:pointer;-webkit-tap-highlight-color:transparent}.app[data-form-factor=tablet][data-orientation=portrait]{--left-w: 0px;--right-w: 0px}.app[data-form-factor=tablet][data-orientation=portrait] .panel{position:absolute;top:0;bottom:0;z-index:8;width:min(320px,calc(100% - 56px));box-shadow:var(--shadow-sm);transition:transform .22s ease}.app[data-form-factor=tablet][data-orientation=portrait] .panel:not(.right){left:0;transform:translate(-101%)}.app[data-form-factor=tablet][data-orientation=portrait] .panel.right{left:auto;right:0;transform:translate(101%)}.app[data-form-factor=tablet][data-orientation=portrait][data-overlay=left] .panel:not(.right),.app[data-form-factor=tablet][data-orientation=portrait][data-overlay=right] .panel.right{transform:translate(0)}.app[data-form-factor=tablet][data-orientation=portrait] .panel-toggle{z-index:9}.app-host[data-form-factor=phone]{--safe-bottom: var(--safe-area-bottom, env(safe-area-inset-bottom, 0px));--toolbar-h: 96px}.app-host{overflow:clip}.app[data-form-factor=tablet][data-orientation=portrait] .canvas-wrap,.app[data-form-factor=phone] .canvas-wrap{grid-area:1 / 1 / 2 / -1}.app[data-form-factor=phone]{--left-w: 0px;--right-w: 0px}.app[data-form-factor=phone] .toolbar{top:auto;bottom:0;left:0;right:0;transform:none;max-width:none;height:auto;min-height:44px;border-radius:0;border-left:0;border-right:0;border-bottom:0;padding:6px 6px calc(6px + var(--safe-bottom));justify-content:center;flex-wrap:wrap;row-gap:2px}.app[data-form-factor=phone] .panel{position:absolute;top:auto;left:0;right:0;bottom:0;z-index:8;width:auto;max-height:58%;border-left:0;border-right:0;border-bottom:0;border-top:1px solid var(--border);border-radius:14px 14px 0 0;padding-bottom:var(--safe-bottom);box-shadow:var(--shadow-sm);transition:transform .22s ease;transform:translateY(101%)}.app[data-form-factor=phone] .panel:before{content:"";flex:none;width:36px;height:4px;border-radius:999px;margin:8px auto 4px;background:var(--border-strong)}.app[data-form-factor=phone][data-overlay=left] .panel:not(.right),.app[data-form-factor=phone][data-overlay=right] .panel.right{transform:translateY(0)}.app[data-form-factor=phone] .panel-toggle[data-panel-toggle]{top:auto;transform:none;z-index:9;bottom:calc(var(--toolbar-h, 96px) + var(--safe-bottom) + 8px);width:32px;height:32px}.app[data-form-factor=phone] .panel-toggle[data-panel-toggle=left]{left:8px;right:auto}.app[data-form-factor=phone] .panel-toggle[data-panel-toggle=right]{right:8px;left:auto}.app[data-form-factor=phone][data-overlay] .panel,.app[data-form-factor=tablet][data-orientation=portrait][data-overlay] .panel{opacity:1}@media (prefers-reduced-motion: reduce){.app .panel,.app .scrim{transition:none!important}}.app.ds-no-anim .panel,.app.ds-no-anim .scrim{transition:none!important}.app[data-form-factor=phone] .toast{bottom:calc(var(--toolbar-h, 96px) + var(--safe-bottom) + 8px)}.app[data-form-factor=phone] .help-btn{right:10px;bottom:calc(var(--toolbar-h, 96px) + var(--safe-bottom) + 8px)}.app[data-form-factor=phone] .help-pop{right:10px;left:10px;width:auto;bottom:calc(var(--toolbar-h, 96px) + var(--safe-bottom) + 40px);max-height:60dvh;overflow-y:auto}.app[data-form-factor=phone] .sel-bar{top:auto;bottom:calc(var(--toolbar-h, 96px) + var(--safe-bottom) + 8px);margin-top:0;max-width:calc(100% - 16px);overflow-x:auto}.app[data-form-factor=phone] .react-flow__controls,.app[data-form-factor=phone] .react-flow__minimap,.app[data-form-factor=phone] .react-flow__panel.bottom{bottom:calc(var(--toolbar-h, 96px) + var(--safe-bottom) + 10px)}.panel-toggle{position:absolute;top:50%;transform:translateY(-50%);z-index:6;width:20px;height:44px;padding:0;display:grid;place-items:center;-webkit-appearance:none;-moz-appearance:none;appearance:none;font:inherit;color:var(--dim);cursor:pointer;background:var(--surface);border:1px solid var(--border);border-radius:7px;transition:color .15s,border-color .15s,background .15s,left .22s ease,right .22s ease}.panel-toggle:hover{color:var(--fg);border-color:var(--border-strong);background:var(--elevated)}.panel-toggle:focus-visible{outline:none;border-color:var(--acc);box-shadow:0 0 0 3px var(--acc-soft)}.panel-toggle[data-panel-toggle=left]{left:max(4px,calc(var(--left-w, 232px) - 10px))}.panel-toggle[data-panel-toggle=right]{right:max(4px,calc(var(--right-w, 288px) - 10px))}.panel{background:var(--surface);border-right:1px solid var(--border);display:flex;flex-direction:column;overflow:hidden}.panel.right{border-right:none;border-left:1px solid var(--border)}.panel-head{padding:14px 16px 12px;border-bottom:1px solid var(--border)}.brand{display:flex;align-items:center;gap:8px;font-family:var(--mono);font-size:var(--fs-lg);font-weight:700;letter-spacing:-.01em}.brand .brand-mark{width:16px;height:16px;display:inline-block;flex:none}.brand .path{color:var(--dim);font-weight:400;font-size:var(--fs-sm);margin-left:2px}.panel-body{padding:12px;overflow-y:auto;flex:1}.sec-label{font-family:var(--mono);font-size:var(--fs-sm);letter-spacing:.1em;text-transform:uppercase;color:var(--dim);margin:4px 0 10px 2px}.palette{display:flex;flex-direction:column;gap:6px}.pal-item{display:flex;align-items:center;gap:10px;padding:9px 10px;border-radius:8px;border:1px solid var(--border);background:var(--elevated);cursor:grab;transition:border-color .15s,transform .1s;font-size:var(--fs-md)}.pal-item:hover{border-color:var(--sel);transform:translate(2px)}.pal-item:active{cursor:grabbing}.pal-swatch{width:30px;height:24px;border-radius:6px;flex:none;display:grid;place-items:center;background:transparent}.pal-swatch span{font-family:var(--mono);font-size:var(--fs-sm);font-weight:700}.shape-preview{display:block;overflow:visible}.pal-meta{display:flex;flex-direction:column;line-height:1.25}.pal-meta small{color:var(--dim);font-size:var(--fs-sm);font-family:var(--mono)}.sp-src{margin-top:2px;color:var(--dim2);font-size:var(--fs-2xs);font-family:var(--sans)}.lib-search{margin:0 0 12px}.lib-search-input{width:100%;background:var(--elevated);color:var(--fg);border:1px solid var(--border);border-radius:7px;padding:8px 10px;font-size:var(--fs-md);font-family:var(--sans);outline:none;transition:border-color .15s,box-shadow .15s}.lib-search-input::placeholder{color:var(--dim2)}.lib-search-input:hover{border-color:var(--border-strong)}.lib-search-input:focus{border-color:var(--acc);box-shadow:0 0 0 3px var(--acc-soft)}.lib-search-input::-webkit-search-cancel-button{display:none}.lib-search-head{display:flex;align-items:center;gap:6px;width:100%;font:inherit;font-size:var(--fs-sm);font-family:var(--mono);letter-spacing:.06em;text-transform:uppercase;padding:6px 4px;color:var(--dim)}.pal-item.pal-dimmed{opacity:.45}.pal-item.pal-dimmed:hover{opacity:.8}.lib-no-match{padding:10px 4px;font-size:var(--fs-md);color:var(--dim);font-family:var(--mono)}.lib-cats{display:flex;flex-direction:column;gap:8px}.lib-cat-head{display:flex;align-items:center;gap:6px;width:100%;font:inherit;font-size:var(--fs-sm);font-family:var(--mono);letter-spacing:.06em;text-transform:uppercase;cursor:pointer;padding:6px 4px;border:0;border-radius:6px;background:transparent;color:var(--dim)}.lib-cat-head:hover{background:var(--surface);color:var(--fg)}.lib-chev{flex:none;transition:transform .15s}.lib-chev.open{transform:rotate(0)}.lib-chev:not(.open){transform:rotate(-90deg)}.lib-cat-name{flex:1;text-align:left}.lib-cat-n{font-size:var(--fs-xs);padding:1px 4px;border-radius:999px;background:var(--surface);border:1px solid var(--border);color:var(--dim)}.lib-cat .palette{margin-top:6px}.pal-star{flex:none;margin-left:auto;width:24px;height:24px;padding:0;display:grid;place-items:center;font:inherit;font-size:var(--fs-xl);line-height:1;cursor:pointer;border-radius:6px;border:1px solid transparent;background:transparent;color:var(--dim2);transition:color .15s,border-color .15s,background .15s}.pal-star:hover{color:var(--acc);border-color:var(--border);background:var(--surface)}.pal-star.on{color:var(--acc)}.fav-sec{margin-bottom:14px}.fav-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(72px,1fr));gap:6px}.fav-tile{display:flex;flex-direction:column;align-items:center;gap:4px;padding:7px 4px;border-radius:8px;cursor:pointer;font:inherit;font-size:var(--fs-xs);line-height:1.15;text-align:center;border:1px solid var(--border);background:var(--elevated);color:var(--dim);transition:border-color .15s,color .15s,transform .1s}.fav-tile:hover{border-color:var(--sel);color:var(--fg);transform:translateY(-1px)}.fav-tile:active{cursor:grabbing}.fav-glyph{width:34px;height:25px;border-radius:6px;flex:none;display:grid;place-items:center;background:var(--surface)}.fav-glyph span{font-family:var(--mono);font-size:var(--fs-sm);font-weight:700}.fav-name{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-family:var(--mono);font-size:var(--fs-xs)}.fav-tile{position:relative}.fav-remove{position:absolute;top:0;right:0;width:24px;height:24px;border-radius:7px;display:grid;place-items:center;font-family:var(--mono);font-size:var(--fs-sm);line-height:1;color:var(--dim);background:var(--surface);border:1px solid var(--border);opacity:.6;transition:opacity .15s,color .15s,border-color .15s}.fav-remove:hover,.fav-remove:focus-visible{opacity:1;color:var(--fg);border-color:var(--acc)}.fav-tile:hover>.fav-remove,.fav-tile:focus-within>.fav-remove{opacity:.9}.fav-pending{border-style:dashed;border-color:var(--acc);background:var(--acc-soft);color:var(--acc);animation:fav-pending-pulse 1.8s ease-in-out infinite}.fav-pending .fav-glyph{background:transparent;font-size:var(--fs-2xl);font-weight:700;color:var(--acc)}.fav-pending:hover{border-color:var(--acc);color:var(--acc)}@keyframes fav-pending-pulse{0%,to{box-shadow:0 0 0 0 var(--acc-soft)}50%{box-shadow:0 0 0 3px var(--acc-soft)}}@media (prefers-reduced-motion: reduce){.fav-pending{animation:none}}.cust-shapes{margin-bottom:14px}.cust-head{display:flex;align-items:center;justify-content:space-between;gap:8px}.cust-head .sec-label{margin:0 0 0 2px}.cust-import{flex:none;font-family:var(--mono);font-size:var(--fs-sm);letter-spacing:.04em;padding:4px 9px;border-radius:6px;cursor:pointer;border:1px solid var(--border);background:var(--elevated);color:var(--dim);transition:border-color .15s,color .15s,background .15s}.cust-import:hover{border-color:var(--acc);color:var(--fg);background:var(--acc-soft)}.cust-file{display:none}.cust-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(72px,1fr));gap:6px;margin-top:10px}.cust-tile{position:relative}.cust-art{display:block;width:100%;height:100%;object-fit:contain}.cust-remove{position:absolute;top:0;right:0;width:24px;height:24px;border-radius:7px;display:grid;place-items:center;font-family:var(--mono);font-size:var(--fs-sm);line-height:1;color:var(--dim);background:var(--surface);border:1px solid var(--border);opacity:.6;transition:opacity .15s,color .15s,border-color .15s}.cust-remove:hover{opacity:1;color:var(--fg);border-color:var(--acc)}.cust-drop{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;padding:10px 6px;cursor:pointer;font:inherit;font-size:var(--fs-xs);line-height:1.2;text-align:center;border:1px dashed var(--border-strong);border-radius:8px;background:var(--elevated);color:var(--dim);transition:border-color .15s,color .15s,background .15s}.cust-drop{grid-column:1 / -1;min-height:56px}.cust-drop-compact{grid-column:auto;min-height:0}.cust-drop-compact .cust-drop-text{display:none}.cust-drop:hover,.cust-drop:focus-visible{border-color:var(--acc);color:var(--acc);background:var(--acc-soft)}.cust-drop-glyph{font-family:var(--mono);font-size:var(--fs-xl);font-weight:700}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--border-strong);border-radius:999px}::-webkit-scrollbar-thumb:hover{background:var(--scroll-hover)}*{scrollbar-width:thin;scrollbar-color:var(--border-strong) transparent}.canvas-wrap{position:relative;background:radial-gradient(1200px 600px at 20% -10%,var(--canvas-glow),transparent 60%),var(--bg)}.react-flow__attribution{background:var(--surface);color:var(--dim);border:1px solid var(--border);border-radius:9px;box-shadow:var(--shadow-sm);overflow:hidden}.react-flow__attribution svg{fill:var(--dim)}.react-flow__attribution a{color:var(--dim)}.react-flow__attribution a:hover,.react-flow__attribution a:focus-visible{color:var(--fg);background:var(--surface)}.react-flow__controls{box-shadow:var(--shadow-sm);border:1px solid var(--border);border-radius:9px;overflow:hidden;background:var(--surface)}.react-flow__controls-button{background:var(--surface);border:none;border-bottom:1px solid var(--border);width:30px;height:30px}.react-flow__controls-button:last-child{border-bottom:none}.react-flow__controls-button:hover{background:var(--elevated)}.react-flow__controls-button svg{fill:var(--dim)}.react-flow__controls-button:hover svg{fill:var(--fg)}.react-flow__minimap{border-radius:9px;overflow:hidden}.toolbar{position:absolute;top:14px;left:50%;transform:translate(-50%);z-index:5;display:flex;gap:4px;align-items:center;justify-content:center;max-width:calc(100% - 34px);background:var(--panel-glass);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border:1px solid var(--border);border-radius:10px;padding:6px;height:40px}.tbtn-label{font-family:var(--mono);font-size:var(--fs-sm);letter-spacing:.1em;text-transform:uppercase;color:var(--dim);padding:0 4px}.tbtn{font-family:var(--mono);font-size:var(--fs-md);background:transparent;color:var(--fg);border:1px solid transparent;border-radius:6px;padding:6px 10px;cursor:pointer;transition:all .15s}.tbtn:hover{background:var(--elevated);border-color:var(--border-strong)}.tbtn:disabled{opacity:.5;cursor:not-allowed}.tbtn-icon{width:28px;height:28px;padding:0;display:grid;place-items:center;flex:none;background:transparent;color:var(--fg);border:1px solid transparent;border-radius:6px;cursor:pointer;transition:all .15s}.tbtn-icon:hover{background:var(--elevated);border-color:var(--border-strong)}.tbtn-icon:disabled{opacity:.4;cursor:not-allowed}.tbtn-icon.on{color:var(--sel);border-color:var(--sel);background:var(--sel-soft)}.tbtn-hold{display:inline-flex;flex:none}.tbtn-hold>button:disabled{pointer-events:none}.tooltip{position:fixed;z-index:9999;background:var(--surface);border:1px solid var(--border);color:var(--fg);font-family:var(--mono);font-size:var(--fs-sm);padding:4px 8px;border-radius:6px;box-shadow:var(--shadow-toolbar);pointer-events:none;white-space:nowrap}.tbtn-dd{display:flex;align-items:center;gap:4px;font-family:var(--mono);font-size:var(--fs-md);background:transparent;color:var(--fg);border:1px solid transparent;border-radius:6px;padding:6px 10px;cursor:pointer;transition:all .15s}.tbtn-dd:hover{background:var(--elevated);border-color:var(--border-strong)}.pop{position:absolute;top:calc(100% + 6px);right:0;min-width:168px;z-index:30;background:var(--surface);border:1px solid var(--border-strong);border-radius:9px;padding:4px;box-shadow:var(--shadow-strong)}.pop-item{display:flex;align-items:center;gap:9px;width:100%;background:transparent;color:var(--fg);border:none;border-radius:6px;padding:7px 10px;cursor:pointer;font-family:var(--mono);font-size:var(--fs-md);text-align:left;transition:background .12s}.pop-item:hover{background:var(--elevated)}.pop-item.primary{background:var(--acc);color:var(--on-acc);font-weight:600}.pop-item.primary:hover{background:var(--on-acc-hover)}.toast{position:absolute;bottom:16px;left:50%;transform:translate(-50%);z-index:25;pointer-events:none;background:var(--surface);color:var(--fg);border:1px solid var(--border-strong);border-radius:8px;padding:7px 14px;font-family:var(--mono);font-size:var(--fs-md);animation:toast-in .18s ease-out}@keyframes toast-in{0%{opacity:0;transform:translate(-50%) translateY(6px)}to{opacity:1;transform:translate(-50%) translateY(0)}}.node{min-width:190px;position:relative;padding:0;font-size:var(--fs-lg);width:100%;min-height:100%}.shape-frame{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;overflow:visible;pointer-events:none}.node.shape-connector{min-width:0}.node.shape-connector>.node-body{padding:14px 0}.node.selected{box-shadow:0 0 0 2px var(--bg),0 0 0 4px var(--sel);border-radius:8px}.node-body{position:relative;padding:14px 18px}.node .glyph{font-family:var(--mono);font-size:var(--fs-sm);font-weight:700}.node-kicker{font-family:var(--mono);font-size:var(--fs-sm);letter-spacing:.11em;text-transform:uppercase;color:var(--dim);margin-bottom:4px}.node-title{font-family:var(--sans);font-size:var(--fs-xl);font-weight:650;letter-spacing:-.01em;color:var(--fg);display:flex;align-items:center;gap:7px}.node-ico{width:17px;height:17px;flex:none;border-radius:4px;display:grid;place-items:center;font-family:var(--mono);font-size:var(--fs-xs);font-weight:700;background:color-mix(in srgb,var(--nc, var(--acc)) 18%,transparent);color:var(--nc, var(--acc))}.node-sub{font-family:var(--mono);font-size:var(--fs-md);color:var(--dim);margin-top:6px}.node-metric{font-family:var(--mono);font-size:var(--fs-2xl);font-weight:700;color:var(--nc, var(--acc));margin-top:7px;letter-spacing:-.02em}.node-metric small{font-size:var(--fs-sm);color:var(--dim);font-weight:400;margin-left:3px}.label-node{font-family:var(--mono);font-size:var(--fs-lg);line-height:1.5;color:var(--fg);background:transparent;border:none;outline:none;padding:4px 6px;min-width:60px;white-space:pre-wrap;border-radius:4px;width:100%;min-height:100%}.label-node.selected{box-shadow:0 0 0 2px var(--sel)}.node-label-input{display:block;width:100%;min-width:0;resize:none;overflow:hidden;white-space:pre-wrap;font-size:var(--fs-lg);line-height:1.5}.label-node.editing,.label-node.editing .node-label-input{cursor:text}.custom-shape-node{position:relative;width:100%;height:100%;display:flex;align-items:center;justify-content:center}.custom-shape-node.selected{box-shadow:0 0 0 2px var(--bg),0 0 0 4px var(--sel);border-radius:8px;outline:none}.react-flow__handle{width:12px;height:12px;background:var(--elevated);border:2px solid var(--border);opacity:0;transition:opacity .15s,transform .12s,border-color .12s;z-index:5;transform-origin:center}@media (hover: hover){.react-flow__node:hover .react-flow__handle{opacity:1}.react-flow__handle:hover{opacity:1;border-color:var(--nc, var(--sel));box-shadow:0 0 0 3px color-mix(in srgb,var(--nc, var(--sel)) 30%,transparent)}.react-flow__handle-left:hover{transform:translate(-50%,-50%) scale(1.35)}.react-flow__handle-right:hover{transform:translate(50%,-50%) scale(1.35)}.react-flow__handle-top:hover{transform:translate(-50%,-50%) scale(1.35)}.react-flow__handle-bottom:hover{transform:translate(-50%,50%) scale(1.35)}}@media (hover: hover){.ds-flow-wrap.ds-read-only .react-flow__node:hover .react-flow__handle,.ds-flow-wrap.ds-read-only .react-flow__handle:hover,.ds-flow-wrap.ds-read-only .tnode:hover .react-flow__handle.tnode-h{opacity:0}}.react-flow__node.selected .react-flow__handle,.react-flow__handle.connecting,.react-flow__handle.valid{opacity:1}.react-flow__handle.valid{border-color:var(--sel)}.react-flow__edge-path{stroke-width:1.8}.edge-sel-core{fill:none;pointer-events:none}.react-flow__edge-text{font-family:var(--mono);font-size:var(--fs-sm);font-weight:600;fill:var(--fg)}.ds-flow-wrap .react-flow__edgeupdater,.ds-flow-wrap.ds-read-only .react-flow__edgeupdater{fill:none;stroke:none;opacity:0}.group-node{width:100%;height:100%;min-width:220px;min-height:140px;border:1.5px dashed var(--nc, var(--border-strong));border-radius:14px;position:relative;background:color-mix(in srgb,var(--nc, var(--border-strong)) 7%,transparent);font-family:var(--mono)}.group-node.selected{border-color:var(--sel);box-shadow:0 0 0 2px var(--sel)}.group-label{position:absolute;top:-11px;left:14px;display:flex;align-items:center;gap:6px;padding:1px 8px;border-radius:999px;background:var(--bg);border:1px solid var(--nc, var(--border-strong));color:var(--nc, var(--fg));font-size:var(--fs-sm);font-weight:600;white-space:nowrap;max-width:calc(100% - 28px);overflow:hidden}.group-label small{color:var(--dim);font-size:var(--fs-xs);font-weight:400}.group-ico{display:grid;place-items:center}.note-node{min-width:120px;max-width:320px;font-family:var(--mono);font-size:var(--fs-lg);line-height:1.5;color:var(--fg);background:transparent;border:none;border-left:2px solid var(--nc, var(--border-strong));padding:2px 4px 2px 10px;white-space:pre-wrap}.note-node.selected{box-shadow:0 0 0 2px var(--sel);border-radius:4px}.note-title{font-weight:650}.edge-label{position:absolute;pointer-events:all;font-family:var(--ts-font, var(--mono));font-size:calc(var(--fs-sm) * var(--ts-scale, 1));font-weight:var(--ts-weight, 600);color:var(--label-fg, var(--fg));background:var(--surface);border:1px solid transparent;border-radius:5px;padding:1px 6px;cursor:grab;white-space:nowrap;touch-action:none}.edge-label.selected{border-color:var(--sel)}.edge-label:empty{display:none}.edge-label:active{cursor:grabbing}.edge-label:after{content:"";position:absolute;top:-6px;right:-6px;bottom:-6px;left:-6px}.edge-label.editing:after{content:none}.edge-label.lb-none{background:transparent;text-shadow:0 1px 0 var(--bg),0 -1px 0 var(--bg),1px 0 0 var(--bg),-1px 0 0 var(--bg)}.edge-label.lb-surface{background:var(--label-plate, var(--surface))}.edge-label.lb-outline{background:var(--label-plate, transparent);border-color:var(--border-strong)}.edge-label-input{font-family:var(--mono);font-size:var(--fs-sm);font-weight:600;background:var(--elevated);color:var(--fg);border:1px solid var(--sel);border-radius:5px;padding:1px 6px;outline:none;min-width:70px}.toggle{font-family:var(--mono);font-size:var(--fs-sm);letter-spacing:.06em;text-transform:uppercase;cursor:pointer;background:var(--elevated);color:var(--dim);border:1px solid var(--border-strong);border-radius:7px;padding:7px 12px;min-width:60px}.toggle.on{background:var(--sel-soft);color:var(--sel);border-color:var(--sel)}.icon-field{position:relative}.icon-trigger{width:100%;display:flex;align-items:center;gap:9px;background:var(--elevated);color:var(--fg);border:1px solid var(--border-strong);border-radius:7px;padding:8px 10px;cursor:pointer;transition:border-color .15s}.icon-trigger:hover,.icon-trigger.on{border-color:var(--sel)}.icon-trigger-glyph{display:grid;place-items:center;width:18px;height:18px;flex:none;color:var(--nc, var(--acc));font-family:var(--mono);font-size:var(--fs-lg)}.icon-trigger-name{font-family:var(--mono);font-size:var(--fs-md);color:var(--fg);flex:1;text-align:left;overflow:hidden;text-overflow:ellipsis}.icon-trigger-caret{color:var(--dim);font-size:var(--fs-xs)}.icon-pop{position:absolute;z-index:20;top:calc(100% + 6px);left:auto;right:12px;width:min(264px,calc(100% - 12px));background:var(--surface);border:1px solid var(--border-strong);border-radius:10px;padding:8px;box-shadow:var(--shadow-strong)}.icon-search{width:100%;background:var(--elevated);color:var(--fg);border:1px solid var(--border);border-radius:6px;padding:7px 9px;font-family:var(--mono);font-size:var(--fs-md);outline:none;margin-bottom:7px}.icon-pop .icon-search:focus{border-color:var(--sel);box-shadow:none}.icon-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:4px;max-height:232px;overflow-y:auto;padding-right:2px}.icon-cell{height:38px;display:grid;place-items:center;background:var(--elevated);color:var(--fg);border:1px solid var(--border);border-radius:7px;cursor:pointer;transition:border-color .12s,color .12s}.icon-cell:hover{border-color:var(--sel);color:var(--sel)}.icon-cell.on{border-color:var(--sel);color:var(--sel);background:var(--sel-soft)}.icon-cell.none{font-family:var(--mono);font-size:var(--fs-sm);color:var(--dim)}.icon-empty{grid-column:1 / -1;color:var(--dim);font-family:var(--mono);font-size:var(--fs-sm);padding:10px 2px}.icon-foot{display:flex;align-items:center;gap:8px;margin-top:8px;font-family:var(--mono);font-size:var(--fs-sm);color:var(--dim)}.icon-raw{flex:1;background:var(--elevated);color:var(--fg);border:1px solid var(--border-strong);border-radius:6px;padding:4px 8px;font-family:var(--mono);font-size:var(--fs-md);outline:none}.icon-raw:focus{border-color:var(--sel)}.insp-glyph{display:block;overflow:visible}.insp-trigger-glyph{width:26px;height:18px}.insp-pop{width:min(288px,calc(100% - 12px))}.insp-opt-list{display:flex;flex-direction:column;gap:3px;max-height:min(60dvh,260px);overflow-y:auto}.insp-opt{display:flex;align-items:center;gap:9px;width:100%;background:var(--elevated);color:var(--fg);border:1px solid var(--border);border-radius:7px;padding:6px 9px;cursor:pointer;text-align:left;font-family:var(--mono);font-size:var(--fs-md);transition:border-color .12s,color .12s}.insp-opt:hover{border-color:var(--sel);color:var(--sel)}.insp-opt.on{border-color:var(--sel);color:var(--sel);background:var(--sel-soft)}.insp-opt-glyph{display:grid;place-items:center;width:26px;height:18px;flex:none}.insp-font-btn{flex:none;font-size:var(--fs-sm)}.insp-opt-label{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.insp-shape-list{display:flex;flex-direction:column;gap:3px;max-height:min(60dvh,260px);overflow-y:auto}.insp-shape-item{display:flex;align-items:center;gap:9px;width:100%;background:var(--elevated);color:var(--fg);border:1px solid var(--border);border-radius:7px;padding:6px 9px;cursor:pointer;text-align:left;transition:border-color .12s,color .12s}.insp-shape-item:hover{border-color:var(--sel);color:var(--sel)}.insp-shape-item.on{border-color:var(--sel);color:var(--sel);background:var(--sel-soft)}.insp-shape-text{display:flex;flex-direction:column;gap:1px;flex:1;min-width:0}.insp-shape-text .insp-opt-label{font-family:var(--mono);font-size:var(--fs-md)}.insp-shape-hint{font-family:var(--mono);font-size:var(--fs-xs);color:var(--dim);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.insp-shape-item.on .insp-shape-hint{color:var(--sel)}.swatches.insp-seg{display:flex;flex-wrap:wrap;gap:5px}.insp-seg .insp-seg-btn{flex:1 1 0;min-width:0}.insp-seg-btn{display:grid;place-items:center;padding:7px 6px;gap:4px}.insp-seg.wide .insp-seg-btn{padding:6px 7px}.insp-seg.grid3{gap:5px}.insp-seg.grid3 .insp-seg-btn{flex:1 1 calc((100% - 10px) / 3);min-width:0;padding:6px 7px}.insp-seg.half{gap:5px}.insp-seg.half .insp-seg-btn{flex:1 1 calc((100% - 5px)/2);min-width:0;padding:6px 7px}.field>.swatches.insp-seg+.swatches.insp-seg{margin-top:13px}.insp-seg-btn.on{border-color:var(--sel);color:var(--sel);background:var(--sel-soft)}.insp-seg-btn:disabled{opacity:.45;cursor:not-allowed}.chips{display:flex;flex-wrap:wrap;gap:4px}.chip{display:inline-flex;align-items:center;gap:6px;min-height:30px;padding:4px 10px;background:var(--elevated);color:var(--fg);border:1px solid var(--border);border-radius:999px;font-family:var(--mono);font-size:var(--fs-sm);line-height:1;cursor:pointer;white-space:nowrap;transition:border-color .14s,color .14s,background .14s}.chip:hover{border-color:var(--border-strong)}.chip.on{border-color:var(--sel);color:var(--sel);background:var(--sel-soft)}.chip:disabled{opacity:.45;cursor:not-allowed}.chip svg{width:15px;height:15px;flex:0 0 15px}.chip.ic{padding:4px;width:30px;height:30px;min-height:30px;justify-content:center;border-radius:7px}.chip.act{color:var(--dim);background:transparent;border-style:dashed}.chip.act:hover{color:var(--fg);border-style:solid;border-color:var(--border-strong)}.insp-stepper{display:flex;align-items:center;gap:0;border:1px solid var(--border);border-radius:7px;background:var(--elevated);overflow:hidden}.insp-step-btn{width:34px;height:30px;flex:none;background:transparent;border:0;color:var(--fg);font-family:var(--mono);font-size:var(--fs-xl);line-height:1;cursor:pointer;transition:color .12s}.insp-step-btn:hover:not(:disabled){color:var(--sel)}.insp-step-btn:disabled{color:var(--dim2);cursor:not-allowed}.insp-step-val{flex:1;text-align:center;font-family:var(--mono);font-size:var(--fs-md);color:var(--fg);border-left:1px solid var(--border);border-right:1px solid var(--border);min-height:30px;display:flex;align-items:center;justify-content:center}.insp-stepper.compact{width:96px;flex:none}.insp-stepper.compact .insp-step-btn{width:28px}.insp-stepper.compact .insp-step-val{min-width:28px;font-size:var(--fs-md)}.pair{display:flex;gap:8px;align-items:flex-end;margin-bottom:13px}.pair .field{margin:0}.pair .grow{flex:1;min-width:0}.speedwrap{display:flex;align-items:center;gap:8px}.flow-speed-range{-webkit-appearance:none;-moz-appearance:none;appearance:none;flex:1;min-width:0;height:30px;background:transparent;cursor:pointer;margin:0}.flow-speed-range::-webkit-slider-runnable-track{height:4px;border-radius:2px;background:var(--border)}.flow-speed-range::-webkit-slider-thumb{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:14px;height:14px;border-radius:50%;background:var(--sel);border:0;margin-top:-5px}.flow-speed-range::-moz-range-track{height:4px;border-radius:2px;background:var(--border)}.flow-speed-range::-moz-range-thumb{width:14px;height:14px;border:0;border-radius:50%;background:var(--sel)}.flow-speed-range:focus-visible{outline:1px solid var(--sel);outline-offset:2px}.speedval{font-family:var(--mono);font-size:var(--fs-sm);color:var(--dim);min-width:40px;text-align:right;flex:none}.insp-section+.insp-section{margin-top:16px;padding-top:12px;border-top:1px solid var(--border)}.insp-sec-title{margin:0 0 10px 2px;font-size:var(--fs-lg);letter-spacing:.06em;color:var(--fg)}.insp-sec-body{display:block;margin-top:10px}.insp-sec-trigger{display:flex;align-items:center;gap:6px;flex-wrap:wrap;width:100%;min-width:0;margin:0;padding:6px 2px 6px 0;background:transparent;border:0;cursor:pointer;text-align:left;border-radius:6px;font:inherit;color:var(--fg);transition:background-color .12s}.insp-sec-trigger:hover{background:var(--elevated)}.insp-sec-trigger:hover .insp-sec-title{color:var(--fg)}.insp-sec-trigger:focus-visible{outline:2px solid var(--sel);outline-offset:2px;border-radius:4px}.insp-sec-caret{flex:none;display:grid;place-items:center;width:16px;color:var(--fg);line-height:1}.insp-sec-caret svg{display:block;transition:transform .15s}.insp-sec-caret[data-open=true] svg{transform:rotate(90deg)}.insp-sec-trigger .insp-sec-title{margin:0;white-space:nowrap}.insp-sec-readout{margin-left:auto;min-width:0;flex:0 1 auto;text-align:right;font-family:var(--mono);font-size:var(--fs-sm);letter-spacing:.03em;color:var(--dim)}.insp-sec-readout-val{display:block;min-width:0;overflow-wrap:anywhere}.visually-hidden{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}.field-toggle-trigger{display:flex;align-items:center;gap:6px;width:100%;min-width:0;margin:0 0 6px;padding:4px 7px;background:var(--elevated);border:1px solid var(--border);border-radius:7px;cursor:pointer;text-align:left;font:inherit;color:var(--dim);transition:color .15s,border-color .15s}.field-toggle-trigger:hover{color:var(--fg);border-color:var(--border-strong)}.field-toggle-trigger:focus-visible{outline:2px solid var(--sel);outline-offset:1px;border-radius:7px}.field-toggle-label{min-width:0;font-family:var(--mono);font-size:var(--fs-sm);letter-spacing:.04em;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.field{margin-bottom:13px}.field label{display:block;font-family:var(--mono);font-size:var(--fs-sm);letter-spacing:.08em;text-transform:uppercase;color:var(--dim);margin-bottom:4px}.field input,.field select,.field textarea{width:100%;background:var(--elevated);color:var(--fg);border:1px solid var(--border);border-radius:7px;height:30px;padding:0 10px;font-size:var(--fs-md);font-family:var(--sans);outline:none;transition:border-color .15s}.swatches{display:flex;gap:7px;flex-wrap:wrap}.swatch{width:26px;height:26px;border-radius:7px;cursor:pointer;border:2px solid transparent;transition:transform .1s;box-shadow:inset 0 0 0 1px var(--border)}.swatch:hover{transform:scale(1.1)}.swatch.on{border-color:var(--sel)}.swatches.swatch6{gap:7px;--cell: calc((100% - 35px) / 6)}.swatches.swatch6 .swatch{flex:0 0 var(--cell);min-width:0;height:26px}.swatch-custom{position:relative;overflow:hidden;flex:0 0 var(--cell);min-width:0;height:26px;border-radius:7px;cursor:pointer;border:2px solid transparent;transition:transform .1s;background:conic-gradient(var(--c-accent),var(--c-amber),var(--c-green),var(--c-cyan),var(--c-blue),var(--c-violet),var(--c-accent))}.swatch-custom:hover{transform:scale(1.1)}.swatch-custom.on{border-color:var(--sel)}.swatch-custom input[type=color]{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;opacity:0;border:0;padding:0;margin:0;cursor:pointer;-moz-appearance:none;appearance:none;-webkit-appearance:none}.empty{color:var(--dim);font-size:var(--fs-md);font-family:var(--mono);text-align:center;padding:24px 10px;line-height:1.6}.hint{font-family:var(--mono);font-size:var(--fs-md);color:var(--dim);padding:10px 2px;line-height:1.6}.key-note{display:flex;align-items:flex-start;gap:6px;padding:8px 2px 2px;font-family:var(--mono);font-size:var(--fs-md);color:var(--dim);line-height:1.5}.key-note-text{flex:1;min-width:0}.key-note-x{flex:none;width:16px;height:16px;border-radius:50%;display:grid;place-items:center;font-family:var(--mono);font-size:var(--fs-sm);line-height:1;color:var(--dim);background:var(--surface);border:1px solid var(--border);cursor:pointer;transition:color .15s,border-color .15s}.key-note-x:hover,.key-note-x:focus-visible{color:var(--fg);border-color:var(--acc)}kbd{font-family:var(--mono);font-size:var(--fs-sm);font-weight:500;font-variant-numeric:tabular-nums;padding:2.5px 7px;display:inline-block;min-width:22px;text-align:center;line-height:1.5;white-space:nowrap;border-radius:5px;background:var(--elevated);border:1px solid var(--border-strong);color:var(--fg)}.tt-keys{display:inline-flex;align-items:center;gap:3px;margin-left:4px;vertical-align:middle}.tt-keys kbd{min-width:0;padding:1px 4px;font-size:var(--fs-xs);background:var(--surface);border-color:var(--border)}.badge{display:inline-block;font-family:var(--mono);font-size:var(--fs-sm);padding:2px 7px;border-radius:999px;border:1px solid var(--border-strong);color:var(--dim)}.field+.sec-label{margin-top:18px;padding-top:14px;border-top:1px solid var(--border)}.field-row{display:grid;grid-template-columns:1fr 1fr;gap:8px}.resize-line{border-width:0!important;z-index:1}.resize-line.left:after,.resize-line.right:after{content:"";position:absolute;top:0;bottom:0;left:50%;transform:translate(-50%);width:10px}.resize-line.top:after,.resize-line.bottom:after{content:"";position:absolute;left:0;right:0;top:50%;transform:translateY(-50%);height:10px}.react-flow__resize-control.handle{width:10px!important;height:10px!important;border-radius:2px;border:1px solid var(--sel)!important;background:var(--surface)!important;z-index:2}.react-flow__resize-control.handle:after{content:"";position:absolute;top:-6px;right:-6px;bottom:-6px;left:-6px}.zoom-pill{position:absolute;bottom:16px;left:56px;z-index:6;font-family:var(--mono);font-size:var(--fs-sm);font-weight:600;color:var(--fg);background:var(--surface);border:1px solid var(--border);border-radius:999px;padding:4px 10px;cursor:pointer;transition:all .15s}.zoom-pill:hover{border-color:var(--sel);color:var(--sel)}.react-flow__edge-textbg{fill:var(--edge-text-bg);rx:5}.react-flow__edge-text{font-size:var(--fs-sm)}.sp-overlay{position:absolute;top:0;right:0;bottom:0;left:0;z-index:40;display:grid;place-items:center;background:var(--scrim)}.sp-card{width:380px;max-width:calc(100% - 48px);background:var(--surface);border:1px solid var(--border-strong);border-radius:12px;padding:10px;box-shadow:var(--shadow-pop)}.sp-input{width:100%;background:var(--elevated);color:var(--fg);border:1px solid var(--border-strong);border-radius:7px;padding:9px 10px;font-family:var(--mono);font-size:var(--fs-lg);outline:none;transition:border-color .15s}.sp-input:focus{border-color:var(--sel)}.sp-list{margin-top:8px;max-height:300px;overflow-y:auto;display:flex;flex-direction:column;gap:4px}.sp-item{display:flex;align-items:center;gap:10px;width:100%;background:transparent;color:var(--fg);border:1px solid transparent;border-radius:8px;padding:7px 9px;cursor:pointer;text-align:left;font-size:var(--fs-md)}.sp-item.on{background:var(--elevated);border-color:var(--sel)}.sp-item.on .pal-swatch{background:transparent}.sp-empty{color:var(--dim);font-family:var(--mono);font-size:var(--fs-md);padding:14px 4px;text-align:center}.sp-foot{display:flex;align-items:center;gap:4px;margin-top:8px;padding:2px 2px 0;font-family:var(--mono);font-size:var(--fs-sm);color:var(--dim)}.bd-overlay{z-index:45}.bd-card{width:440px;padding:14px 16px 12px;display:flex;flex-direction:column;gap:10px}.bd-head{display:flex;align-items:flex-start;gap:10px}.bd-title{margin:0;font-family:var(--mono);font-size:var(--fs-xl);font-weight:700;letter-spacing:.02em;color:var(--fg)}.bd-sub{margin:3px 0 0;font-family:var(--mono);font-size:var(--fs-sm);line-height:1.5;color:var(--dim)}.bd-x{margin-left:auto;flex:none;width:24px;height:24px;display:grid;place-items:center;background:transparent;color:var(--dim);border:1px solid transparent;border-radius:7px;cursor:pointer;transition:all .12s}.bd-x:hover{color:var(--fg);border-color:var(--border-strong)}.bd-body{display:flex;flex-direction:column}.bd-label{font-family:var(--mono);font-size:var(--fs-xs);letter-spacing:.1em;text-transform:uppercase;color:var(--dim);margin:0 0 4px 2px}.bd-label-gap{margin-top:12px}.bd-list{display:flex;flex-direction:column;gap:8px;max-height:210px;overflow-y:auto}.bd-row{display:flex;align-items:center;width:100%;background:transparent;color:var(--sel);border:1px dashed var(--border-strong);border-radius:8px;padding:7px 9px;cursor:pointer;text-align:left;font-family:var(--mono);font-size:var(--fs-md);transition:background .12s,border-color .12s}.bd-row:hover{background:var(--elevated);border-style:solid}.bd-row-text{display:flex;flex-direction:column;line-height:1.3;min-width:0}.bd-row-name{font-weight:600}.bd-row-hint{font-family:var(--mono);font-size:var(--fs-xs);color:var(--dim);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.bd-danger-note{font-family:var(--mono);font-size:var(--fs-md);line-height:1.6;color:var(--fg);background:var(--acc-tint);border:1px solid var(--danger);border-radius:8px;padding:10px 12px}.bd-danger-note b{color:var(--danger)}.bd-actions{display:flex;justify-content:flex-end;gap:7px}.bd-btn{font-family:var(--mono);font-size:var(--fs-md);background:var(--elevated);color:var(--fg);border:1px solid var(--border-strong);border-radius:7px;padding:7px 12px;cursor:pointer;transition:all .12s}.bd-btn:hover{border-color:var(--sel);color:var(--sel)}.bd-btn.primary{background:var(--acc);color:var(--on-acc);border-color:var(--acc);font-weight:600}.bd-btn.primary:hover{color:var(--on-acc);filter:brightness(1.08)}.bd-btn.primary[disabled]{opacity:.45;cursor:not-allowed;filter:none}.bd-btn.danger{background:var(--danger);color:var(--on-acc);border-color:var(--danger);font-weight:600}.bd-btn.danger:hover{color:var(--on-acc);filter:brightness(1.08)}.help-btn{position:absolute;bottom:16px;right:208px;z-index:6;width:28px;height:28px;display:grid;place-items:center;font-family:var(--mono);font-size:var(--fs-lg);font-weight:700;color:var(--fg);background:var(--surface);border:1px solid var(--border);border-radius:50%;cursor:pointer;transition:all .15s}.help-btn:hover,.help-btn.on{border-color:var(--sel);color:var(--sel)}.help-pop{position:absolute;bottom:52px;right:208px;z-index:30;width:400px;max-height:min(70dvh,520px);overflow-y:auto;overflow-x:hidden;background:var(--surface);border:1px solid var(--border-strong);border-radius:10px;padding:10px 12px;box-shadow:var(--shadow-strong)}.help-pop h4{margin:0 0 8px;font-family:var(--mono);font-size:var(--fs-sm);letter-spacing:.1em;text-transform:uppercase;color:var(--dim)}.help-row{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:4px 0;font-size:var(--fs-md);color:var(--fg)}.help-row>span:first-child{flex:1;min-width:0}.help-row+.help-row{border-top:1px solid var(--border)}.help-keys{display:flex;gap:4px;flex:0 1 auto;min-width:min-content;flex-wrap:wrap;justify-content:flex-end}.help-group{margin:16px 2px 4px;font-family:var(--mono);font-size:var(--fs-sm);font-weight:500;letter-spacing:.12em;text-transform:uppercase;color:var(--dim)}.help-pop h4+.help-group{margin-top:2px}.help-hint{display:block;color:var(--dim);font-size:var(--fs-sm);font-family:var(--mono);margin-top:2px}.multi-head{font-family:var(--mono);font-size:var(--fs-lg);font-weight:700;color:var(--fg);padding:2px 0 6px}.multi-actions{display:flex;flex-wrap:wrap;gap:4px;padding-top:4px}.multi-grid3{gap:5px}.multi-grid3 .mbtn{flex:1 1 calc((100% - 10px) / 3);min-width:0;display:grid;place-items:center;padding:6px 4px}.multi-grid2{gap:5px}.multi-grid2 .mbtn{flex:1 1 calc((100% - 5px)/2);min-width:0;display:grid;place-items:center;padding:6px 4px}.multi-actions .mbtn svg{width:15px;height:15px;flex:none}.mbtn{font-family:var(--mono);font-size:var(--fs-sm);background:var(--elevated);color:var(--fg);border:1px solid var(--border-strong);border-radius:6px;padding:4px 8px;cursor:pointer;transition:all .12s}.mbtn:hover{border-color:var(--sel);color:var(--sel)}.mbtn:disabled{opacity:.45;cursor:not-allowed}.mbtn:disabled:hover{border-color:var(--border-strong);color:var(--fg)}.mbtn.danger:hover,.mbtn.multi-danger,.mbtn.multi-danger:hover{border-color:var(--acc);color:var(--acc)}.sel-bar{position:absolute;top:14px;left:50%;transform:translate(-50%);margin-top:40px;z-index:6;display:flex;gap:2px;align-items:center;background:var(--panel-glass);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border:1px solid var(--border);border-radius:10px;padding:4px}.sel-bar .tbtn-label{padding:0 2px}.sel-bar .sel-count{font-family:var(--mono);font-size:var(--fs-md);font-weight:700;color:var(--fg);padding:0 2px 0 6px}.sel-bar .sel-count-label{font-size:var(--fs-2xs);letter-spacing:.08em;text-transform:uppercase;color:var(--dim);padding:0 6px 0 0}.sel-bar .tbtn,.sel-bar .tbtn-icon{display:inline-flex;align-items:center;justify-content:center;min-width:30px;height:30px;padding:0 4px;gap:4px}.edge-flow-dot{pointer-events:none}.edge-flow-dash{pointer-events:none;stroke-dasharray:2 10;stroke-linecap:round;animation:edge-dash-run linear infinite;opacity:.95}@keyframes edge-dash-run{to{stroke-dashoffset:-240}}.edge-flow-pulse{pointer-events:none;stroke-dasharray:14 220;stroke-linecap:round;animation:edge-pulse-run linear infinite;opacity:.9}@keyframes edge-pulse-run{to{stroke-dashoffset:-234}}@media (prefers-reduced-motion: reduce){.edge-flow-dash,.edge-flow-pulse{animation:none}}.react-flow__pane{cursor:default}.react-flow__node{cursor:grab}.react-flow__node:active{cursor:grabbing}.react-flow.snap-on .react-flow__pane:active{cursor:crosshair}.react-flow.snap-on .react-flow__node:active{cursor:cell}.react-flow.snap-on .react-flow__background{opacity:1}.ds-flow-wrap.ds-read-only .react-flow__node,.ds-flow-wrap.ds-read-only .react-flow__node:active,.ds-flow-wrap.ds-read-only .react-flow__edge{cursor:default}.ds-flow-wrap.ds-read-only .react-flow__pane{cursor:grab}.ds-flow-wrap.ds-read-only .react-flow__pane:active{cursor:grabbing}.ds-flow-wrap.ds-read-only .edge-label{cursor:default}.panel-head{position:relative}.boards-btn{width:100%;justify-content:flex-start;gap:7px}.boards-btn .boards-name{flex:1;text-align:left;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.boards-btn.on{background:var(--elevated);border-color:var(--border-strong)}.boards-pop{z-index:60;max-height:none}.boards-list{display:flex;flex-direction:column;gap:2px;overflow-y:auto;max-height:300px}.boards-item{flex-direction:column;align-items:flex-start;gap:2px;padding:7px 10px}.boards-item.current{background:var(--elevated);box-shadow:inset 2px 0 0 var(--acc)}.boards-item .boards-item-name{font-weight:600;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;display:block}.boards-item .boards-item-meta{color:var(--dim);font-size:var(--fs-sm)}.boards-empty{color:var(--dim);font-size:var(--fs-md);padding:8px 10px}.boards-mode{color:var(--dim);font-size:var(--fs-xs);padding:5px 10px 3px;border-bottom:1px solid var(--border)}.boards-mode:empty{display:none}.boards-storage-readout{border-bottom:none;padding-top:0;white-space:normal;line-height:1.45}.boards-actions{border-top:1px solid var(--border);margin-top:4px;padding-top:4px;display:flex;flex-direction:column;gap:2px}.boards-actions .pop-item[disabled]{opacity:.45;cursor:not-allowed}.save-ind{font-family:var(--mono);font-size:var(--fs-xs);color:var(--dim);margin-top:6px;min-height:12px;text-align:right}.save-ind.busy{color:var(--acc)}.save-ind.err{color:var(--danger)}.ctx-menu{position:fixed;z-index:60;min-width:172px;background:var(--surface);border:1px solid var(--border-strong);border-radius:9px;padding:4px;box-shadow:var(--shadow-strong)}.ctx-title{font-family:var(--mono);font-size:var(--fs-xs);letter-spacing:.1em;text-transform:uppercase;color:var(--dim);padding:3px 10px 4px}.ctx-item{display:flex;align-items:center;gap:8px;width:100%;background:transparent;color:var(--fg);border:none;border-radius:6px;padding:6px 10px;cursor:pointer;font-family:var(--mono);font-size:var(--fs-md);text-align:left;transition:background .12s}.ctx-item:hover{background:var(--elevated)}.ctx-item.danger{color:var(--acc)}.ctx-item.danger:hover{background:var(--acc-tint)}.ctx-sep{height:1px;background:var(--border);margin:4px 6px}.helper-line{position:absolute;z-index:4;pointer-events:none;background:var(--sel)}.helper-v{width:1px;border-left:1px dashed var(--sel);background:transparent}.helper-h{height:1px;border-top:1px dashed var(--sel);background:transparent}.canvas-empty{text-align:center;pointer-events:none;max-width:440px}.ce-title{font-size:var(--fs-xl);font-weight:650;color:var(--fg);margin-bottom:8px}.ce-sub{font-size:var(--fs-md);color:var(--dim);line-height:1.7}.ce-sub b{color:var(--fg);font-weight:600}.ce-hint{margin-top:10px;font-family:var(--mono);font-size:var(--fs-sm);color:var(--dim);opacity:.85}.ce-hint kbd{background:var(--elevated);border:1px solid var(--border-strong);border-radius:4px;padding:1px 4px;font-size:var(--fs-xs);color:var(--fg)}.ce-actions{display:flex;align-items:center;justify-content:center;gap:12px;margin-top:14px;pointer-events:auto}.ce-btn{font-family:var(--mono);font-size:var(--fs-md);font-weight:600;background:var(--elevated);color:var(--fg);border:1px solid var(--border-strong);border-radius:8px;padding:7px 12px;cursor:pointer;transition:all .15s}.ce-btn:hover{border-color:var(--acc);color:var(--acc)}.ce-or{font-family:var(--mono);font-size:var(--fs-sm);color:var(--dim)}.gsc{position:absolute;bottom:64px;left:16px;z-index:6;width:236px;background:var(--panel-glass-strong);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border:1px solid var(--border);border-radius:10px;box-shadow:var(--shadow-strong)}.gsc.collapsed{width:auto;border-radius:999px;overflow:hidden}.gsc-pill{font-family:var(--mono);font-size:var(--fs-sm);color:var(--fg);background:transparent;border:none;padding:6px 12px;border-radius:999px;cursor:pointer;transition:all .15s}.gsc-pill:hover{color:var(--sel)}.gsc-head{display:flex;align-items:center;padding:8px 8px 2px 10px}.gsc-head-btn{display:flex;align-items:center;gap:7px;flex:1;background:transparent;border:none;cursor:pointer;padding:0;color:var(--fg);font-size:var(--fs-md);font-weight:600}.gsc-head-btn:hover .gsc-title{color:var(--sel)}.gsc-count{font-family:var(--mono);font-size:var(--fs-sm);color:var(--dim)}.gsc-n{color:var(--green)}.gsc-chev{color:var(--dim);transform:rotate(-90deg)}.gsc-x{flex:none;display:grid;place-items:center;width:20px;height:20px;background:transparent;border:none;border-radius:6px;color:var(--dim);cursor:pointer;transition:all .15s}.gsc-x:hover{color:var(--fg);background:var(--elevated)}.gsc-list{list-style:none;margin:2px 0 0;padding:2px 10px 8px;display:flex;flex-direction:column;gap:1px}.gsc-item{display:flex;align-items:center;gap:8px;font-size:var(--fs-md);color:var(--fg);padding:4px 2px;transition:color .2s}.gsc-item .gsc-check{flex:none;width:14px;height:14px;display:grid;place-items:center;border:1px solid var(--border-strong);border-radius:4px;color:transparent;transition:all .2s}.gsc-item.done{color:var(--dim);text-decoration:line-through}.gsc-item.done .gsc-check{background:var(--green);border-color:var(--green);color:var(--bg)}.help-cap{display:flex;flex-direction:column;gap:6px;margin:2px 0 14px}.help-cap-row{display:flex;flex-direction:column;gap:1px}.help-cap-row b{font-size:var(--fs-md);font-weight:600;color:var(--fg)}.help-cap-row span{font-size:var(--fs-sm);color:var(--dim);line-height:1.45}.help-action-btn{display:flex;align-items:center;gap:8px;width:100%;margin-top:0;margin-bottom:8px;padding:7px 8px;background:var(--elevated);border:1px solid var(--border-strong);border-radius:7px;color:var(--fg);font-family:var(--mono);font-size:var(--fs-md);cursor:pointer;transition:all .15s}.help-action-btn:hover{border-color:var(--acc);color:var(--acc)}.ds-electric .react-flow__edge-path{filter:drop-shadow(0 0 8px var(--sel));stroke-dasharray:5 5;animation:ds-edge-dash .5s linear infinite}@keyframes ds-edge-dash{to{stroke-dashoffset:-10}}.edge-label.ds-electric{font-weight:700;color:var(--sel);border-color:var(--sel)}.ds-interaction-active .ds-animated-payload{visibility:hidden}.ds-animated-payload,.edge-flow-icon{pointer-events:none}.ds-animating-layout .react-flow__node{transition:transform .35s cubic-bezier(.4,0,.2,1)}.ds-no-anim .ds-animated-payload{visibility:hidden}.ds-toggle{display:flex;align-items:center;justify-content:space-between;gap:10px;width:100%;background:var(--elevated);color:var(--fg);border:1px solid var(--border-strong);border-radius:7px;padding:8px 10px;cursor:pointer;font-family:var(--mono);font-size:var(--fs-sm);letter-spacing:.06em;text-transform:uppercase;transition:all .15s}.ds-toggle:hover{border-color:var(--sel)}.ds-toggle.on{background:var(--sel-soft);color:var(--sel);border-color:var(--sel)}.ds-toggle b{color:var(--sel);font-weight:700}.ds-hint{font-family:var(--mono);font-size:var(--fs-sm);color:var(--dim);line-height:1.6;padding:6px 2px 0}.ds-hint.warn{color:var(--acc)}@media (prefers-reduced-motion: reduce){.ds-electric .react-flow__edge-path{animation:none}}.node.shape-actor>.node-body,.note-node{background:linear-gradient(135deg,color-mix(in srgb,var(--nc, var(--acc)) 15%,var(--elevated)),color-mix(in srgb,var(--nc, var(--acc)) 4%,var(--surface)));box-shadow:1px 1px 3px color-mix(in srgb,var(--shadow) 60%,transparent),3px 4px 8px color-mix(in srgb,var(--shadow) 40%,transparent);border-radius:12px}.note-node{position:relative;border-left:none;padding:10px 14px 12px;box-shadow:1px 1px 3px color-mix(in srgb,var(--shadow) 60%,transparent),3px 4px 8px color-mix(in srgb,var(--shadow) 40%,transparent)}.ds-postit-fold{position:absolute;right:0;bottom:0;width:0;height:0;border-width:0 0 18px 18px;border-style:solid;border-color:transparent transparent color-mix(in srgb,var(--nc, var(--acc)) 50%,transparent) transparent;pointer-events:none;z-index:2}.ds-postit-mark{position:absolute;right:8px;top:6px;width:30px;height:30px;display:grid;place-items:center;opacity:.2;transform:rotate(12deg);pointer-events:none;z-index:1;color:var(--nc, var(--acc))}.ds-postit-mark svg{width:30px;height:30px}.ds-postit-mark .glyph{font-size:var(--fs-display)}.group-head{position:absolute;left:0;right:0;top:0;height:44px;border-bottom:1px solid color-mix(in srgb,var(--nc, var(--border-strong)) 30%,transparent);border-radius:14px 14px 0 0;pointer-events:none;background:color-mix(in srgb,var(--nc, var(--border-strong)) 8%,transparent)}.group-badge{position:absolute;left:12px;top:-14px;width:32px;height:32px;border-radius:50%;z-index:3;pointer-events:none;display:grid;place-items:center;background:var(--elevated);border:2px solid color-mix(in srgb,var(--nc, var(--border-strong)) 55%,var(--border-strong));color:var(--nc, var(--fg));box-shadow:var(--shadow-sm)}.group-badge svg{width:16px;height:16px}.group-node.has-badge .group-label{padding-left:40px}.group-node .group-label{top:0;left:0;right:0;bottom:auto;height:44px;max-width:none;padding:0 12px 0 14px;border:none;border-radius:14px 14px 0 0;background:transparent;font-size:calc(var(--fs-md) * var(--ts-scale, 1));display:flex;align-items:center;gap:6px}.badge.preset{border-color:var(--acc);color:var(--acc)}.boards-item .boards-item-preset{font-family:var(--mono);font-size:var(--fs-xs);color:var(--acc);border:1px solid var(--acc);border-radius:999px;padding:0 4px;align-self:flex-start;white-space:nowrap}.preset-warn{font-family:var(--mono);font-size:var(--fs-sm);line-height:1.5;color:var(--dim);padding:4px 10px 8px}.node.label-only{border-radius:0;background:transparent}.node.label-only .lo-body,.node .lo-body{position:relative;padding:14px 16px;display:flex;flex-direction:column;align-items:var(--ts-justify, center);justify-content:var(--ts-align-items, center);min-height:100%;text-align:var(--ts-align, center);gap:3px}.node .lo-title{display:flex;align-items:center;justify-content:var(--ts-justify, center);gap:6px;font-family:var(--sans);font-size:var(--fs-lg);font-weight:600;color:var(--fg);line-height:1.25}.node .lo-sub{font-family:var(--mono);font-size:var(--fs-sm);color:var(--dim)}.node.shape-decision .lo-body{padding:24px 32px}.node.shape-io .lo-body{padding:14px 32px}.node.shape-manual .lo-body{padding:14px 32px 20px}.node.shape-delay .lo-body{padding:14px 32px 14px 12px}.node.shape-connector .lo-body{padding:8px}.node.shape-connector .lo-title{font-size:calc(var(--fs-md) * var(--ts-scale, 1))}.node.shape-terminator .lo-body{padding:14px 32px}.node.shape-document .lo-body{padding:12px 18px 20px}.node.shape-subprocess .lo-body,.node.shape-preparation .lo-body{padding:14px 32px}.ds-crowdefs{position:absolute;width:0;height:0}.edge-label .edge-techn{display:block;font-size:var(--fs-xs);color:var(--dim);font-weight:400}.react-flow__edge-path{stroke-linejoin:round}.tnode{width:100%;min-width:200px;background:var(--surface);border:1px solid var(--border);border-radius:9px;font-family:var(--sans);font-size:var(--fs-md);box-shadow:var(--shadow-sm)}.tnode>:last-child{border-radius:0 0 8px 8px}.tnode.selected{border-color:var(--sel);box-shadow:0 0 0 2px var(--sel)}.tnode-head{display:flex;align-items:center;gap:6px;padding:7px 9px;background:var(--elevated);border-bottom:1px solid var(--border);border-left:3px solid var(--nc, var(--border-strong));border-radius:8px 8px 0 0}.tnode-head:last-child{border-radius:8px}.tnode-ico{color:var(--nc, var(--dim));flex:none}.tnode-name{flex:1;font-weight:650;font-size:var(--fs-md);color:var(--fg);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tnode-name small{color:var(--dim);font-weight:400}.tnode-mode{font-family:var(--mono);font-size:var(--fs-2xs);letter-spacing:.06em;text-transform:uppercase;color:var(--acc);border:1px solid var(--acc);border-radius:999px;padding:0 4px}.tnode-toggle{flex:none;display:grid;place-items:center;width:20px;height:20px;border-radius:5px;background:transparent;border:none;color:var(--dim);cursor:pointer}.tnode-toggle:hover{color:var(--fg);background:var(--surface)}.tnode-col{display:flex;align-items:center;gap:6px;padding:4px 9px;border-bottom:1px solid var(--border);position:relative;cursor:default}.tnode-col:last-child{border-bottom:0}.tnode-col:hover{background:color-mix(in srgb,var(--sel) 8%,transparent)}.tnode-col.is-fk .tnode-cname{color:var(--sel)}.tnode-flags{display:flex;align-items:center;gap:3px;flex:none;width:30px}.tnode-pk{color:var(--acc)}.tnode-fkico{color:var(--sel)}.tnode-cname{flex:1;font-family:var(--mono);font-size:var(--fs-sm);color:var(--fg);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tnode-u{font-family:var(--mono);font-size:var(--fs-2xs);color:var(--acc);border:1px solid var(--acc);border-radius:3px;padding:0 3px}.tnode-nn{width:7px;height:7px;border-radius:50%;flex:none;border:1.5px solid var(--dim2);background:transparent}.tnode-nn.on{border-color:var(--nc, var(--fg));background:var(--nc, var(--fg))}.tnode-ctype{font-family:var(--mono);font-size:var(--fs-xs);color:var(--dim);text-align:right;flex:none;max-width:96px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;opacity:.65;transition:opacity .15s}.tnode-col:hover .tnode-ctype{opacity:1}.tnode-more{padding:4px 9px;font-family:var(--mono);font-size:var(--fs-xs);color:var(--dim);border-top:1px solid var(--border);display:flex;align-items:center;gap:4px;cursor:pointer}.tnode.collapsed .tnode-more{border-top:0}.tnode .react-flow__handle.tnode-h{width:12px;height:12px;border-radius:50%;border:1px solid var(--nc, var(--sel));background:var(--surface);opacity:0;transition:opacity .15s}@media (hover: hover){.tnode:hover .react-flow__handle.tnode-h{opacity:1}.tnode:hover .tnode-h-head{opacity:0}}.tnode.selected .react-flow__handle.tnode-h,.tnode .react-flow__handle.tnode-h.connecting,.tnode .react-flow__handle.tnode-h.valid{opacity:1}.react-flow__handle.tnode-h.tnode-h-head{opacity:0}.node.shape-connector{display:grid;place-items:center}.node.shape-connector .node-title{font-size:calc(var(--fs-md) * var(--ts-scale, 1));justify-content:var(--ts-justify, center)}.node.shape-connector .node-kicker,.node.shape-connector .node-sub,.node.shape-connector .node-metric{display:none}.settings-overlay{position:absolute;top:0;right:0;bottom:0;left:0;z-index:70;display:grid;place-items:center;background:var(--scrim)}.settings-modal{position:relative;width:720px;max-width:calc(100% - 48px);height:460px;max-height:calc(100% - 48px);display:flex;overflow:hidden;background:var(--surface);border:1px solid var(--border-strong);border-radius:12px;box-shadow:var(--shadow-pop)}.settings-nav{width:190px;flex:none;min-height:0;display:flex;flex-direction:column;border-right:1px solid var(--border);background:var(--elevated);padding:12px 8px}.settings-search{width:100%;box-sizing:border-box;margin:0 0 8px;background:var(--surface);color:var(--fg);border:1px solid var(--border);border-radius:8px;padding:7px 10px;font-family:var(--sans);font-size:var(--fs-md);outline:none;transition:border-color .15s}.settings-search::placeholder{color:var(--dim)}.settings-search:focus{border-color:var(--sel)}.settings-nav-list{display:flex;flex-direction:column;gap:1px;overflow-y:auto}.settings-nav-item{display:flex;align-items:center;gap:9px;width:100%;background:transparent;color:var(--dim);text-align:left;border:1px solid transparent;border-radius:8px;padding:8px 10px;cursor:pointer;font-family:var(--sans);font-size:var(--fs-md);transition:all .12s}.settings-nav-item:hover{background:var(--surface);color:var(--fg)}.settings-nav-item.on{background:var(--acc-soft);color:var(--acc);font-weight:700}.settings-nav-item svg{flex:none}.settings-nav-note{margin-top:auto;padding:10px 10px 2px;font-family:var(--mono);font-size:var(--fs-xs);color:var(--dim)}.settings-empty{color:var(--dim);font-family:var(--mono);font-size:var(--fs-md);padding:14px 10px;line-height:1.5}.settings-main{flex:1;min-width:0;padding:18px 20px;overflow-y:auto;background:var(--surface)}.settings-h{margin:0 0 4px;font-family:var(--mono);font-size:var(--fs-xl);letter-spacing:.02em;color:var(--fg)}.settings-sub{color:var(--dim);font-size:var(--fs-md);font-family:var(--mono);margin:0 0 18px}.settings-close{position:absolute;top:10px;right:10px;width:26px;height:26px;display:grid;place-items:center;background:transparent;color:var(--dim);border:1px solid transparent;border-radius:7px;cursor:pointer;transition:all .12s}.settings-close:hover{color:var(--fg);border-color:var(--border-strong)}.settings-rows{display:flex;flex-direction:column}.settings-row{display:flex;align-items:center;gap:12px;padding:10px 2px;border-bottom:1px solid var(--border);font-size:var(--fs-md);color:var(--fg)}.settings-row:last-child{border-bottom:none}.settings-row-label{flex:1;min-width:0}.settings-row-hint{display:block;color:var(--dim);font-size:var(--fs-sm);font-family:var(--mono);margin-top:2px}.settings-row-val{display:flex;align-items:center;gap:6px;flex:none;font-family:var(--mono);font-size:var(--fs-sm);color:var(--dim)}.settings-row .help-keys{gap:4px;align-items:center;flex-wrap:wrap;justify-content:flex-end}.settings-group{margin:16px 2px 4px;font-family:var(--mono);font-size:var(--fs-sm);font-weight:500;letter-spacing:.12em;text-transform:uppercase;color:var(--dim)}.settings-group:first-child{margin-top:2px}.gesture{display:flex;align-items:center;gap:0;flex-wrap:wrap;justify-content:flex-end;font-family:var(--mono);font-size:var(--fs-sm);color:var(--dim)}.gesture-token{border:none;background:none;padding:0}.settings-state{font-family:var(--mono);font-size:var(--fs-sm);color:var(--dim)}.settings-state.on{color:var(--green)}.settings-state.off{color:var(--dim)}.settings-select{background:var(--elevated);color:var(--fg);border:1px solid var(--border);border-radius:8px;padding:4px 20px 4px 9px;font-family:var(--sans);font-size:var(--fs-md);cursor:pointer;outline:none;transition:border-color .15s}.settings-select:focus{border-color:var(--sel)}.settings-input{width:72px;box-sizing:border-box;background:var(--elevated);color:var(--fg);border:1px solid var(--border);border-radius:8px;padding:4px 9px;font-family:var(--mono);font-size:var(--fs-md);outline:none;transition:border-color .15s}.settings-input:focus{border-color:var(--sel)}.settings-input::-webkit-outer-spin-button,.settings-input::-webkit-inner-spin-button{opacity:.45}.settings-toggle{position:relative;flex:none;width:40px;height:22px;padding:0;background:var(--elevated);border:1px solid var(--border);border-radius:999px;cursor:pointer;transition:background .15s,border-color .15s}.settings-toggle:hover{border-color:var(--border-strong)}.settings-toggle:focus-visible{outline:none;border-color:var(--sel);box-shadow:0 0 0 2px var(--sel-soft)}.settings-toggle.on{background:var(--acc-soft);border-color:var(--acc)}.settings-toggle-knob{position:absolute;top:50%;left:3px;width:14px;height:14px;border-radius:50%;transform:translateY(-50%);background:var(--dim);transition:left .15s,background .15s}.settings-toggle.on .settings-toggle-knob{left:21px;background:var(--acc)}.settings-chip{font-family:var(--mono);font-size:var(--fs-xs);letter-spacing:.06em;text-transform:uppercase;color:var(--dim);border:1px solid var(--border);border-radius:5px;padding:1px 4px;white-space:nowrap}.settings-note{margin-top:16px;padding:9px 10px;border:1px solid var(--border);border-radius:8px;background:var(--elevated);color:var(--dim);font-family:var(--mono);font-size:var(--fs-sm);line-height:1.55}.settings-kv{font-family:var(--mono);font-size:var(--fs-md);color:var(--dim);line-height:1.9}.settings-grid{display:grid;grid-template-columns:1fr 1fr 1fr;gap:12px}.settings-card{display:block;width:100%;text-align:left;border:1.5px solid var(--border);border-radius:11px;padding:10px;cursor:pointer;background:var(--surface);color:var(--fg);transition:border-color .12s}.settings-card:hover{border-color:var(--border-strong)}.settings-card.on{border-color:var(--acc);background:var(--acc-soft)}.settings-card-mini{height:76px;border-radius:7px;border:1px solid var(--border);position:relative;overflow:hidden;margin-bottom:8px}.settings-card-mini .settings-mini-dots{position:absolute;top:0;right:0;bottom:0;left:0;left:calc(25% + 1px);background-image:radial-gradient(var(--mini-dot) 1.2px,transparent 1.2px);background-size:14px 14px;opacity:.9}.settings-mini-box{position:absolute;border-radius:4px;border:1.5px solid var(--mini-nc);background:color-mix(in srgb,var(--mini-nc) 12%,transparent)}.settings-mini-side{position:absolute;left:0;top:0;bottom:0;width:25%;background:var(--mini-surface);border-right:1px solid var(--mini-border);display:flex;flex-direction:column;justify-content:center;gap:4px;padding:0 4px}.settings-mini-side i{display:block;height:3px;border-radius:999px;background:var(--mini-fg);opacity:.22}.settings-card-cap{display:flex;align-items:center;gap:7px}.settings-card-name{font-size:var(--fs-md);font-weight:600}.settings-card-mode{font-family:var(--mono);font-size:var(--fs-xs);color:var(--dim)}.settings-card-check{margin-left:auto;display:flex;color:var(--acc)}.settings-probe{display:none}.settings-btn[aria-expanded=true]{border-color:var(--acc);color:var(--acc);background:var(--acc-soft)}.app[data-form-factor=tablet][data-orientation=portrait] .settings-overlay{display:block;padding:24px}.app[data-form-factor=tablet][data-orientation=portrait] .settings-modal{flex-direction:column;width:100%;height:100%;max-width:none;max-height:none}.app[data-form-factor=tablet][data-orientation=portrait] .settings-nav{width:auto;flex-direction:row;align-items:center;gap:8px;border-right:none;border-bottom:1px solid var(--border)}.app[data-form-factor=tablet][data-orientation=portrait] .settings-nav-list{flex-direction:row;gap:4px;overflow-x:auto;order:1;flex:1;min-width:0}.app[data-form-factor=tablet][data-orientation=portrait] .settings-nav-item{width:auto;white-space:nowrap}.app[data-form-factor=tablet][data-orientation=portrait] .settings-search{width:190px;flex:none;order:2}.app[data-form-factor=tablet][data-orientation=portrait] .settings-nav-note{display:none}.app[data-form-factor=tablet][data-orientation=portrait] .settings-main{padding:20px 24px}.app[data-form-factor=phone] .settings-overlay{display:block;padding:0}.app[data-form-factor=phone] .settings-modal{flex-direction:column;width:100%;height:100%;max-width:none;max-height:none;border-radius:0;border:none}.app[data-form-factor=phone] .settings-nav{width:auto;flex-direction:column;gap:8px;border-right:none;border-bottom:1px solid var(--border);padding:10px 10px 0}.app[data-form-factor=phone] .settings-nav-list{flex-direction:row;gap:6px;overflow-x:auto;padding-bottom:10px;scrollbar-width:none}.app[data-form-factor=phone] .settings-nav-list::-webkit-scrollbar{display:none}.app[data-form-factor=phone] .settings-nav-item{width:auto;white-space:nowrap;flex:none}.app[data-form-factor=phone] .settings-nav-note{display:none}.app[data-form-factor=phone] .settings-main{padding:16px 14px 20px}.app[data-form-factor=phone] .settings-row{flex-direction:column;align-items:flex-start;gap:7px}.app[data-form-factor=phone] .settings-row-val{width:100%}.app[data-form-factor=phone] .settings-grid{grid-template-columns:1fr 1fr}.app[data-form-factor=phone] .settings-close{top:8px;right:8px}.app[data-form-factor=phone] .settings-search{width:calc(100% - 34px)}.app[data-form-factor=tablet][data-orientation=portrait] .settings-search{margin-right:32px}.app[data-form-factor=phone] .settings-h{font-size:var(--fs-xl)}.ui-select,.field select,.settings-select,.tnode-mode-sel{-moz-appearance:none;appearance:none;-webkit-appearance:none;background-color:var(--elevated);color:var(--fg);border:1px solid var(--border);border-radius:7px;padding:8px 32px 8px 10px;cursor:pointer;outline:none;transition:border-color .15s,box-shadow .15s;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='13' height='13' viewBox='0 0 24 24' fill='none' stroke='%238a8a92' stroke-width='2.4' 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 10px center}.ui-select:hover,.field select:hover,.settings-select:hover,.tnode-mode-sel:hover{border-color:var(--border-strong)}.ui-select:focus,.field select:focus,.settings-select:focus,.tnode-mode-sel:focus{border-color:var(--acc);box-shadow:0 0 0 3px var(--acc-soft);outline:none}.tnode-mode-sel{padding:4px 24px 4px 8px;font-family:var(--mono);font-size:var(--fs-sm);background-position:right 7px center}.ui-input,.field input,.field textarea,.settings-search,.settings-input,.sp-input,.icon-search,.icon-raw,.tcol-name,.tcol-type,.edge-label-input{background-color:var(--elevated);color:var(--fg);border:1px solid var(--border);border-radius:7px;padding:8px 10px;outline:none;transition:border-color .15s,box-shadow .15s}.ui-input::placeholder,.field input::placeholder,.field textarea::placeholder,.settings-search::placeholder,.settings-input::placeholder,.sp-input::placeholder,.icon-search::placeholder,.icon-raw::placeholder,.tcol-name::placeholder,.tcol-type::placeholder{color:var(--dim2)}.ui-input:hover,.field input:hover,.field textarea:hover,.settings-search:hover,.settings-input:hover,.sp-input:hover,.icon-search:hover,.icon-raw:hover,.tcol-name:hover,.tcol-type:hover,.edge-label-input:hover{border-color:var(--border-strong)}.ui-input:focus,.field input:focus,.field textarea:focus,.settings-search:focus,.settings-input:focus,.sp-input:focus,.icon-search:focus,.icon-raw:focus,.tcol-name:focus,.tcol-type:focus,.edge-label-input:focus{border-color:var(--acc);box-shadow:0 0 0 3px var(--acc-soft)}.edge-label-input{padding:1px 6px}.settings-seg{display:inline-flex;background:var(--elevated);border:1px solid var(--border);border-radius:9px;padding:2px;gap:2px}.settings-seg-btn{font-family:var(--mono);font-size:var(--fs-md);letter-spacing:.02em;background:transparent;color:var(--dim);border:0;border-radius:7px;padding:4px 10px;cursor:pointer;transition:color .12s,background .12s}.settings-seg-btn:hover{color:var(--fg)}.settings-seg-btn.on{background:var(--acc-soft);color:var(--acc);font-weight:700}@media (pointer: coarse){.react-flow__handle{width:20px;height:20px}.react-flow__handle:after{content:"";position:absolute;top:-5px;right:-5px;bottom:-5px;left:-5px;border-radius:50%}}@media (hover: none){.react-flow__node.selected .react-flow__handle,.react-flow__handle.valid,.react-flow__handle.connecting{opacity:1}.react-flow__handle.valid{border-color:var(--sel)}.tnode.selected .react-flow__handle.tnode-h,.tnode .react-flow__handle.tnode-h.connecting,.tnode .react-flow__handle.tnode-h.valid{opacity:1}}@media (pointer: coarse){.toolbar{height:auto;min-height:44px;padding:7px}.tbtn-icon,.panel-toggle{width:44px;height:44px}.panel-toggle[data-panel-toggle=left]{left:max(4px,calc(var(--left-w, 232px) - 22px))}.panel-toggle[data-panel-toggle=right]{right:max(4px,calc(var(--right-w, 288px) - 22px))}}.edge-bend-handle{position:absolute;pointer-events:all;cursor:grab;width:14px;height:14px;border-radius:50%;background:var(--elevated);border:2px solid var(--acc);touch-action:none;z-index:6}.edge-bend-handle:hover,.edge-bend-handle:active{background:var(--sel);border-color:var(--sel)}.edge-bend-handle:active{cursor:grabbing}.edge-bend-handle:after{content:"";position:absolute;top:-9px;right:-9px;bottom:-9px;left:-9px}.node-body{overflow:hidden;max-height:100%;overflow-wrap:anywhere}.node{height:100%}.node-title>span:last-child,.node .lo-title>span:last-child,.group-label>span{min-width:0}.node-kicker,.node-title,.node-sub,.node-metric{overflow-wrap:anywhere}.node .lo-body{overflow:hidden;overflow-wrap:anywhere}.node .lo-title,.node .lo-sub,.note-node{overflow-wrap:anywhere}.note-body{max-height:100%;overflow:hidden}.note-title,.group-label{overflow-wrap:anywhere}.label-node{overflow-wrap:anywhere;height:100%}.label-text{max-height:100%;overflow:hidden}.label-node.editing .node-label-input{max-height:100%;overflow-y:auto}.node-kicker{font-size:calc(var(--fs-sm) * var(--ts-scale, 1))}.node-title{font-size:calc(var(--fs-xl) * var(--ts-scale, 1))}.node-sub{font-size:calc(var(--fs-md) * var(--ts-scale, 1))}.node-metric{font-size:calc(var(--fs-2xl) * var(--ts-scale, 1))}.node-metric small{font-size:calc(var(--fs-sm) * var(--ts-scale, 1))}.node .lo-title{font-size:calc(var(--fs-lg) * var(--ts-scale, 1))}.node .lo-sub{font-size:calc(var(--fs-sm) * var(--ts-scale, 1))}.note-node,.note-title{font-size:calc(var(--fs-lg) * var(--ts-scale, 1))}.group-label{font-size:calc(var(--fs-sm) * var(--ts-scale, 1))}.group-label small{font-size:calc(var(--fs-xs) * var(--ts-scale, 1))}.label-node,.label-node .node-label-input{font-size:calc(var(--fs-lg) * var(--ts-scale, 1))}.node-title{font-weight:var(--ts-weight, 650)}.node-metric{font-weight:var(--ts-weight, 700)}.node .lo-title{font-weight:var(--ts-weight, 600)}.node .lo-sub,.note-node{font-weight:var(--ts-weight, 400)}.note-title{font-weight:var(--ts-weight, 650)}.label-node,.label-node .node-label-input{font-weight:var(--ts-weight, 400)}.node-kicker,.node-sub{color:var(--ts-color, var(--dim))}.node-title{color:var(--ts-color, var(--fg))}.node-metric{color:var(--ts-color, var(--nc, var(--acc)))}.node .lo-title{color:var(--ts-color, var(--fg))}.node .lo-sub{color:var(--ts-color, var(--dim))}.note-node{color:var(--ts-color, var(--fg))}.group-label{color:var(--ts-color, var(--nc, var(--fg)))}.label-node,.label-node .node-label-input{color:var(--ts-color, var(--fg))}.node-body{text-align:var(--ts-align, left)}.node .lo-body{text-align:var(--ts-align, center)}.note-body,.label-node,.label-node .node-label-input{text-align:var(--ts-align, left)}.node-title{justify-content:var(--ts-justify, flex-start)}.node .lo-title{justify-content:var(--ts-justify, center)}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/jetbrains-mono-400-vietnamese.woff2) format("woff2");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/jetbrains-mono-400-latin-ext.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/jetbrains-mono-400-latin.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:600;font-display:swap;src:url(/fonts/jetbrains-mono-600-vietnamese.woff2) format("woff2");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:600;font-display:swap;src:url(/fonts/jetbrains-mono-600-latin-ext.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:600;font-display:swap;src:url(/fonts/jetbrains-mono-600-latin.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:700;font-display:swap;src:url(/fonts/jetbrains-mono-700-vietnamese.woff2) format("woff2");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:700;font-display:swap;src:url(/fonts/jetbrains-mono-700-latin-ext.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:700;font-display:swap;src:url(/fonts/jetbrains-mono-700-latin.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:100 800;font-display:swap;src:url(/fonts/jetbrains-mono-variable.woff2) format("woff2-variations");unicode-range:U+0000-00FF,U+0100-02BA,U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0180-024F,U+0259,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0300-036F,U+1D00-1DBF,U+1E00-1EFF,U+1EA0-1EF9,U+2000-206F,U+20AB,U+20A0-20C0,U+2113,U+2190-2193,U+2212,U+2C60-2C7F,U+A720-A7FF,U+FEFF,U+FFFD}@font-face{font-family:Inter;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/inter-400-vietnamese.woff2) format("woff2");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Inter;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/inter-400-latin-ext.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Inter;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/inter-400-latin.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Inter;font-style:normal;font-weight:500;font-display:swap;src:url(/fonts/inter-500-vietnamese.woff2) format("woff2");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Inter;font-style:normal;font-weight:500;font-display:swap;src:url(/fonts/inter-500-latin-ext.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Inter;font-style:normal;font-weight:500;font-display:swap;src:url(/fonts/inter-500-latin.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Inter;font-style:normal;font-weight:600;font-display:swap;src:url(/fonts/inter-600-vietnamese.woff2) format("woff2");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Inter;font-style:normal;font-weight:600;font-display:swap;src:url(/fonts/inter-600-latin-ext.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Inter;font-style:normal;font-weight:600;font-display:swap;src:url(/fonts/inter-600-latin.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Inter;font-style:normal;font-weight:700;font-display:swap;src:url(/fonts/inter-700-vietnamese.woff2) format("woff2");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Inter;font-style:normal;font-weight:700;font-display:swap;src:url(/fonts/inter-700-latin-ext.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Inter;font-style:normal;font-weight:700;font-display:swap;src:url(/fonts/inter-700-latin.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(/fonts/inter-variable.woff2) format("woff2-variations");unicode-range:U+0000-00FF,U+0100-02BA,U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0180-024F,U+0259,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0300-036F,U+1D00-1DBF,U+1E00-1EFF,U+1EA0-1EF9,U+2000-206F,U+20AB,U+20A0-20C0,U+2113,U+2190-2193,U+2212,U+2C60-2C7F,U+A720-A7FF,U+FEFF,U+FFFD}@font-face{font-family:Lexend;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/lexend-400-vietnamese.woff2) format("woff2");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Lexend;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/lexend-400-latin-ext.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Lexend;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/lexend-400-latin.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Lexend;font-style:normal;font-weight:700;font-display:swap;src:url(/fonts/lexend-700-vietnamese.woff2) format("woff2");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Lexend;font-style:normal;font-weight:700;font-display:swap;src:url(/fonts/lexend-700-latin-ext.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Lexend;font-style:normal;font-weight:700;font-display:swap;src:url(/fonts/lexend-700-latin.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Be Vietnam Pro;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/be-vietnam-pro-400-vietnamese.woff2) format("woff2");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Be Vietnam Pro;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/be-vietnam-pro-400-latin-ext.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Be Vietnam Pro;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/be-vietnam-pro-400-latin.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Be Vietnam Pro;font-style:normal;font-weight:700;font-display:swap;src:url(/fonts/be-vietnam-pro-700-vietnamese.woff2) format("woff2");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Be Vietnam Pro;font-style:normal;font-weight:700;font-display:swap;src:url(/fonts/be-vietnam-pro-700-latin-ext.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Be Vietnam Pro;font-style:normal;font-weight:700;font-display:swap;src:url(/fonts/be-vietnam-pro-700-latin.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/ibm-plex-sans-400-vietnamese.woff2) format("woff2");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/ibm-plex-sans-400-latin-ext.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/ibm-plex-sans-400-latin.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:700;font-display:swap;src:url(/fonts/ibm-plex-sans-700-vietnamese.woff2) format("woff2");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:700;font-display:swap;src:url(/fonts/ibm-plex-sans-700-latin-ext.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:700;font-display:swap;src:url(/fonts/ibm-plex-sans-700-latin.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Shantell Sans;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/shantell-sans-400-vietnamese.woff2) format("woff2");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Shantell Sans;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/shantell-sans-400-latin-ext.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Shantell Sans;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/shantell-sans-400-latin.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Shantell Sans;font-style:normal;font-weight:700;font-display:swap;src:url(/fonts/shantell-sans-700-vietnamese.woff2) format("woff2");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Shantell Sans;font-style:normal;font-weight:700;font-display:swap;src:url(/fonts/shantell-sans-700-latin-ext.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Shantell Sans;font-style:normal;font-weight:700;font-display:swap;src:url(/fonts/shantell-sans-700-latin.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}.node-kicker{font-family:var(--ts-font, var(--mono))}.node-title{font-family:var(--ts-font, var(--sans))}.node-sub,.node-metric{font-family:var(--ts-font, var(--mono))}.node .lo-title{font-family:var(--ts-font, var(--sans))}.node .lo-sub,.note-node,.label-node,.label-node .node-label-input{font-family:var(--ts-font, var(--mono))}.node-body,.note-body{display:flex;flex-direction:column;min-height:100%;justify-content:var(--ts-align-items, flex-start)}.label-node{display:flex;flex-direction:column;justify-content:var(--ts-align-items, flex-start)}.tg-overlay{z-index:46;display:flex;align-items:center;justify-content:center;padding:24px}.tg-card{width:100%;max-width:920px;height:100%;max-height:640px;min-width:0;min-height:0;padding:14px 16px 12px;display:flex;flex-direction:column;gap:10px;overflow:hidden}.tg-body{flex:1;min-height:0;display:grid;grid-template-columns:190px minmax(0,1fr);gap:14px}.tg-rail{display:flex;flex-direction:column;gap:10px;overflow-y:auto;min-width:0;border-right:1px solid var(--border);padding-right:10px}.tg-rail-fam{display:flex;flex-direction:column;gap:2px}.tg-rail-fam-label{margin:0 0 2px 2px;font-family:var(--mono);font-size:var(--fs-xs);letter-spacing:.1em;text-transform:uppercase;color:var(--dim)}.tg-rail-item{display:flex;align-items:center;gap:8px;width:100%;background:transparent;color:var(--dim);text-align:left;border:1px solid transparent;border-radius:8px;padding:7px 10px;cursor:pointer;font-family:var(--sans);font-size:var(--fs-md);transition:all .12s}.tg-rail-item:hover{background:var(--surface);color:var(--fg)}.tg-rail-n{margin-left:auto;font-family:var(--mono);font-size:var(--fs-xs);color:var(--dim)}.tg-grid{overflow-y:auto;min-width:0;display:flex;flex-direction:column;gap:16px}.tg-sec{display:flex;flex-direction:column;gap:7px;scroll-margin-top:2px}.tg-sec-hd{margin:0;font-family:var(--mono);font-size:var(--fs-xs);letter-spacing:.1em;text-transform:uppercase;color:var(--dim)}.tg-tiles{display:grid;gap:10px;grid-template-columns:repeat(auto-fill,minmax(240px,1fr))}.tg-tile{display:flex;flex-direction:column;gap:6px;width:100%;background:var(--surface);color:var(--fg);text-align:left;border:1px solid var(--border);border-radius:9px;padding:10px;cursor:pointer;transition:border-color .12s,background .12s}.tg-tile:hover{background:var(--elevated);border-color:var(--border-strong)}.tg-tile:focus-visible{outline:2px solid var(--sel);outline-offset:1px}.tg-tile-top{display:flex;align-items:center;gap:8px}.tg-tile-name{font-weight:600;font-size:var(--fs-md)}.tg-chip{margin-left:auto;flex:none;border:1px solid var(--border-strong);background:var(--elevated);color:var(--dim);border-radius:999px;padding:1px 7px;font-family:var(--mono);font-size:var(--fs-xs);letter-spacing:.04em}.tg-preview{display:flex;align-items:center;gap:4px;min-height:18px}.tg-glyphs{display:flex;align-items:center;gap:3px;flex-wrap:wrap;min-width:0}.tg-glyph{display:grid;place-items:center}.tg-more{font-family:var(--mono);font-size:var(--fs-xs);color:var(--dim)}.tg-more-phone{display:none}.tg-tile-hint{font-family:var(--mono);font-size:var(--fs-xs);color:var(--dim);line-height:1.45}.tg-tile-meta{font-family:var(--mono);font-size:var(--fs-xs);color:var(--dim)}.tg-tile-cta{margin-top:2px;font-family:var(--mono);font-size:var(--fs-xs);letter-spacing:.06em;text-transform:uppercase;color:var(--sel)}.app[data-form-factor=tablet] .tg-body{grid-template-columns:minmax(0,1fr);grid-template-rows:auto minmax(0,1fr)}.app[data-form-factor=tablet] .tg-rail{flex-direction:row;align-items:center;gap:10px;overflow-x:auto;overflow-y:visible;min-width:0;border-right:none;border-bottom:1px solid var(--border);padding-right:0;padding-bottom:8px}.app[data-form-factor=tablet] .tg-rail-fam{flex-direction:row;align-items:center;gap:4px}.app[data-form-factor=tablet] .tg-rail-fam-label{margin:0 2px 0 0;white-space:nowrap}.app[data-form-factor=tablet] .tg-rail-item{width:auto;white-space:nowrap}.app[data-form-factor=tablet] .tg-overlay{padding:18px}.app[data-form-factor=tablet] .tg-card{height:auto;max-height:100%}.app[data-form-factor=phone] .tg-overlay{display:flex;padding:0}.app[data-form-factor=phone] .tg-card{width:100%;height:100%;max-width:none;max-height:none;border-radius:0;border:none;align-self:stretch}.app[data-form-factor=phone] .tg-body{grid-template-columns:minmax(0,1fr);grid-template-rows:auto minmax(0,1fr)}.app[data-form-factor=phone] .tg-rail{flex-direction:row;align-items:center;gap:10px;overflow-x:auto;overflow-y:visible;min-width:0;border-right:none;border-bottom:1px solid var(--border);padding-right:0;padding-bottom:8px}.app[data-form-factor=phone] .tg-rail-fam{flex-direction:row;align-items:center;gap:4px}.app[data-form-factor=phone] .tg-rail-fam-label{margin:0 2px 0 0;white-space:nowrap}.app[data-form-factor=phone] .tg-rail-item{width:auto;white-space:nowrap}.app[data-form-factor=phone] .tg-tiles{grid-template-columns:minmax(0,1fr)}.app[data-form-factor=phone] .tg-glyph:nth-child(n+5){display:none}.app[data-form-factor=phone] .tg-more-wide{display:none}.app[data-form-factor=phone] .tg-more-phone{display:inline}.rm{margin-top:16px}.rm-cols{display:grid;grid-template-columns:minmax(0,1fr);gap:14px}.rm-col{min-width:0;padding-left:9px;border-left:2px solid var(--border)}.rm-colhead{display:flex;align-items:center;gap:7px;margin:0 0 9px;font-family:var(--mono);font-size:var(--fs-sm);font-weight:500;letter-spacing:.06em;text-transform:uppercase;color:var(--fg)}.rm-dot{flex:none;width:7px;height:7px;border-radius:50%;background:var(--dim)}.rm-dot.now{background:var(--acc)}.rm-dot.next{background:var(--sel)}.rm-dot.later{background:var(--dim2)}.rm-collabel{flex:1;min-width:0}.rm-colcount{flex:none;font-family:var(--mono);font-size:var(--fs-xs);color:var(--dim2)}.rm-items{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:9px}.rm-item{display:flex;flex-direction:column;gap:4px;min-width:0;padding:8px 9px;border:1px solid var(--border);border-radius:8px;background:var(--elevated)}.rm-title{font-size:var(--fs-md);color:var(--fg)}.rm-desc{font-size:var(--fs-sm);line-height:1.5;color:var(--dim)}.rm-chips{display:flex;flex-wrap:wrap;gap:4px;margin-top:1px}.rm-chip{font-family:var(--mono);font-size:var(--fs-2xs);letter-spacing:.06em;text-transform:uppercase;color:var(--dim);border:1px solid var(--border);border-radius:5px;padding:1px 4px;white-space:nowrap}.rm-chip-conf.committed{color:var(--green);border-color:var(--green)}.rm-chip-conf.exploring{color:var(--sel);border-color:var(--sel)}.rm-foot{margin:9px 0 0;font-size:var(--fs-xs);font-style:italic;color:var(--dim2)}.rm-shipped-h{margin:20px 2px 6px;font-family:var(--mono);font-size:var(--fs-sm);font-weight:500;letter-spacing:.12em;text-transform:uppercase;color:var(--dim)}.rm-shipped{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:4px 16px}.rm-ship-row{display:flex;align-items:baseline;gap:7px;min-width:0;font-size:var(--fs-sm)}.rm-ship-label{flex:none;font-family:var(--mono);font-size:var(--fs-xs);color:var(--dim2)}.rm-ship-what{flex:1;min-width:0;color:var(--fg)}.rm-ship-when{flex:none;font-family:var(--mono);font-size:var(--fs-xs);color:var(--dim2)}.rm-reviewed{margin:16px 2px 0;font-family:var(--mono);font-size:var(--fs-xs);color:var(--dim2)}.settings-feedback{margin:20px 2px 0;font-family:var(--mono);font-size:var(--fs-xs)}.settings-feedback a,.settings-feedback button{color:var(--dim);text-decoration:none;border-bottom:1px solid var(--border);background:none;border-top:0;border-left:0;border-right:0;font:inherit;padding:0;cursor:pointer}.settings-rows a.settings-link{color:var(--dim);text-decoration:none;border-bottom:1px solid var(--border)}.settings-rows a.settings-link:hover,.settings-rows a.settings-link:focus-visible{color:var(--acc);border-bottom-color:var(--acc)}.settings-feedback a:hover,.settings-feedback button:hover,.settings-feedback a:focus-visible,.settings-feedback button:focus-visible{color:var(--acc);border-bottom-color:var(--acc)}.fb-overlay{z-index:80}.fb-card{width:400px}.fb-body{display:flex;flex-direction:column;gap:4px;padding:2px 2px 0}.fb-label{font-family:var(--mono);font-size:var(--fs-xs);color:var(--dim);text-transform:lowercase;margin-top:8px}.fb-label-gap{margin-top:12px}.fb-kinds{border:0;padding:0;margin:0;display:flex;flex-direction:column;gap:6px}.fb-kinds legend{padding:0}.fb-kind{display:flex;align-items:flex-start;gap:8px;cursor:pointer}.fb-kind input{margin-top:3px;accent-color:var(--acc)}.fb-kind-text{display:flex;flex-direction:column;gap:1px}.fb-kind-name{font-size:var(--fs-sm);color:var(--fg);font-weight:600}.fb-kind-hint{font-size:var(--fs-xs);color:var(--dim)}.fb-details{background:var(--elevated);border:1px solid var(--border-strong);border-radius:8px;padding:8px 10px;font:inherit;color:var(--fg);resize:vertical;min-height:88px}.fb-details:focus,.fb-details:hover{border-color:var(--sel);outline:none}.fb-actions{display:flex;gap:8px;justify-content:flex-end;margin-top:12px}.fb-note{margin:10px 0 0;font-family:var(--mono);font-size:var(--fs-xs);color:var(--dim2)}.fb-note a{color:var(--dim);border-bottom:1px solid var(--border);text-decoration:none}.fb-note a:hover,.fb-note a:focus-visible{color:var(--acc);border-bottom-color:var(--acc)}.fb-shot{display:flex;align-items:center;flex-wrap:wrap;gap:8px;margin-top:12px;padding-top:10px;border-top:1px solid var(--border)}.fb-shot-btn{font-size:var(--fs-sm)}.fb-shot-note{font-size:var(--fs-xs);color:var(--dim)}.fb-shot-err{font-size:var(--fs-xs);color:var(--danger)}.about-logo{display:block;width:280px;height:auto;margin:4px auto 12px}.ce-logo{display:block;width:240px;height:auto;margin:0 auto 16px}.app[data-form-factor=phone] .rm-shipped{grid-template-columns:minmax(0,1fr)}.node.body-inset .node-body{position:absolute;padding:0;overflow:hidden;min-height:0;inset:var(--body-inset, 2% 3% 2% 3%)}.node.body-inset{aspect-ratio:2 / 1}.node.body-inset .node-body{inset:var(--body-inset, 2% 3% 2% 3%)}.node.shape-database.body-inset,.node.shape-storeddata.body-inset{--body-inset: 35% 6% 20% 6%}.node.shape-storage.body-inset{--body-inset: 24% 3% 26% 3%}.node.shape-queue.body-inset{--body-inset: 2% 34% 2% 36%}.node.shape-actor.body-inset{--body-inset: 2% 3% 2% 33%}.node.shape-subprocess.body-inset,.node.shape-internalstorage.body-inset{--body-inset: 2% 16% 2% 16%}.em-overlay{z-index:60}.em-modal{display:flex;gap:var(--space-5, 20px);background:var(--bg);color:var(--fg);border:1px solid var(--border);border-radius:var(--r-lg, 14px);padding:var(--space-5, 20px);width:min(880px,92vw);height:min(84vh,640px);box-shadow:0 18px 50px #00000059}.em-left{width:250px;flex:0 0 auto;display:flex;flex-direction:column;gap:var(--space-3, 12px);overflow-y:auto;min-height:0}.em-right{flex:1 1 auto;min-width:0;min-height:0;display:flex;flex-direction:column;gap:var(--space-2, 8px)}.em-title{font-size:var(--fs-lg);font-weight:650}.em-tabs{display:flex;gap:var(--space-1, 4px)}.em-tabs button{font:inherit;font-size:var(--fs-sm);font-weight:650;color:var(--dim);background:transparent;border:none;border-bottom:2px solid transparent;padding:var(--space-1, 4px) var(--space-2, 8px);cursor:pointer}.em-tabs button.on{color:var(--fg);border-bottom-color:var(--acc)}.em-label{font-size:var(--fs-2xs);letter-spacing:.1em;text-transform:uppercase;color:var(--dim);margin-top:var(--space-1, 4px)}.em-seg{display:flex;flex-wrap:wrap;gap:var(--space-1, 4px)}.em-seg button{font:inherit;font-size:var(--fs-xs);color:var(--dim);background:var(--surface);border:1px solid var(--border);border-radius:var(--r-md, 8px);padding:3px var(--space-2, 8px);cursor:pointer}.em-seg button.on{color:var(--fg);border-color:var(--acc);background:var(--acc-soft)}.em-seg button:disabled{opacity:.4;cursor:not-allowed}.em-note{font-size:var(--fs-2xs);color:var(--dim2)}.em-go{font:inherit;font-size:var(--fs-sm);font-weight:650;color:var(--bg);background:var(--acc);border:0;border-radius:var(--r-md, 8px);padding:var(--space-2, 8px) var(--space-3, 12px);cursor:pointer;margin-top:var(--space-1, 4px)}.em-go:disabled{opacity:.45;cursor:not-allowed}.em-go.secondary{background:var(--surface);color:var(--fg);border:1px solid var(--border)}.em-import{margin-top:var(--space-3, 12px);border-top:1px solid var(--border);padding-top:var(--space-3, 12px);display:flex;flex-direction:column;gap:var(--space-2, 8px)}.em-ta{font:inherit;font-size:var(--fs-xs);color:var(--fg);background:var(--surface);border:1px solid var(--border);border-radius:var(--r-md, 8px);padding:var(--space-2, 8px);resize:vertical;min-height:70px}.em-errs{margin:0;padding:var(--space-2, 8px);list-style:none;display:flex;flex-direction:column;gap:var(--space-1, 4px);max-height:132px;overflow-y:auto;background:var(--surface);border:1px solid var(--border);border-left:2px solid var(--red);border-radius:var(--r-md, 8px)}.em-err{font-size:var(--fs-2xs);color:var(--fg);line-height:1.45}.em-err-at{font-family:var(--mono);font-variant-numeric:tabular-nums;color:var(--red);margin-right:var(--space-1, 4px)}.em-stage{flex:1 1 auto;min-height:320px;overflow:auto;border:1px solid var(--border);border-radius:var(--r-lg, 14px);background:var(--surface);padding:var(--space-3, 12px)}.em-img{max-width:100%;height:auto;display:block}.em-code{font:inherit;font-size:var(--fs-2xs);color:var(--dim);white-space:pre-wrap;word-break:break-word;margin:0}.em-share-url{font-family:var(--mono);font-variant-numeric:tabular-nums;font-size:var(--fs-2xs);color:var(--fg);background:var(--surface);border:1px solid var(--border);border-radius:var(--r-md, 8px);padding:var(--space-2, 8px);width:100%;box-sizing:border-box;cursor:text}.ds-share-banner{position:absolute;top:0;left:0;right:0;z-index:6;display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-2, 8px);padding:var(--space-2, 8px) var(--space-3, 12px);background:var(--surface);border-bottom:1px solid var(--border)}.canvas-wrap:has(.ds-share-banner) .toolbar{top:64px}.ds-share-title{font-size:var(--fs-sm);font-weight:650;color:var(--fg)}.ds-share-sub{font-size:var(--fs-2xs);color:var(--dim2);flex:1 1 160px}.ds-share-actions{display:flex;gap:var(--space-2, 8px);margin-left:auto}.ds-share-btn{display:inline-flex;align-items:center;gap:5px;font:inherit;font-size:var(--fs-xs);font-weight:600;color:var(--bg);background:var(--acc);border:0;border-radius:var(--r-md, 8px);padding:4px var(--space-2, 8px);cursor:pointer;text-decoration:none}.ds-share-btn.secondary{background:var(--surface);color:var(--fg);border:1px solid var(--border)}.ds-share-error{border-left:3px solid var(--red)}.node.shape-terminator.body-inset,.node.shape-gateway.body-inset{--body-inset: 2% 27% 2% 27%}.node.shape-preparation.body-inset{--body-inset: 2% 24% 2% 24%}.node.shape-connector.body-inset{--body-inset: 17% 34% 17% 34%}.node.shape-decision.body-inset{--body-inset: 28% 27% 28% 27%}.node.shape-io.body-inset,.node.shape-manual.body-inset{--body-inset: 2% 19% 2% 19%}.node.shape-manualinput.body-inset{--body-inset: 30% 3% 2% 3%}.node.shape-document.body-inset{--body-inset: 2% 3% 26% 3%}.node.shape-delay.body-inset{--body-inset: 2% 42% 2% 3%}.node.shape-display.body-inset{--body-inset: 2% 30% 2% 12%}.node.shape-offpage.body-inset{--body-inset: 2% 3% 34% 3%}.ds-rotate-grip{position:absolute;left:50%;top:-30px;width:18px;height:18px;display:grid;place-items:center;border-radius:50%;border:1px solid var(--sel);background:var(--surface);color:var(--sel);cursor:grab;z-index:3;padding:0}.ds-rotate-grip:active{cursor:grabbing}.ds-rotate-grip:focus-visible{outline:2px solid var(--sel);outline-offset:2px}.ds-group-rotate-grip{position:absolute;transform:translate(-50%);width:18px;height:18px;display:grid;place-items:center;border-radius:50%;border:1px solid var(--sel);background:var(--surface);color:var(--sel);cursor:grab;z-index:1000;padding:0}.ds-group-rotate-grip:active{cursor:grabbing}.ds-group-rotate-grip:focus-visible{outline:2px solid var(--sel);outline-offset:2px}.ds-flow-wrap .react-flow__nodesselection-rect{visibility:hidden}.ds-selection-box{position:absolute;pointer-events:none;background:var(--sel-soft);border:1px dotted var(--sel)}.embed-shell{position:fixed;top:0;right:0;bottom:0;left:0;background:var(--bg)}.embed-shell .ds-share-banner{margin:16px}
