:root{--text:#334155;--muted:#64748b;--heading:#111827;--line:#d9e2ec;--surface:#fff;--surface-soft:#f6f8fb;color:var(--text);background:var(--surface-soft);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}html,body,#root{width:100%;min-width:320px;min-height:100%;margin:0}body{min-height:100svh;overflow:hidden}input,textarea,select,button{font:inherit}textarea{scrollbar-width:thin}@media (width<=1120px){body{overflow:auto}}.react-flow{--xy-edge-stroke-default:#b1b1b7;--xy-edge-stroke-width-default:1;--xy-edge-stroke-selected-default:#555;--xy-connectionline-stroke-default:#b1b1b7;--xy-connectionline-stroke-width-default:1;--xy-attribution-background-color-default:#ffffff80;--xy-minimap-background-color-default:#fff;--xy-minimap-mask-background-color-default:#f0f0f099;--xy-minimap-mask-stroke-color-default:transparent;--xy-minimap-mask-stroke-width-default:1;--xy-minimap-node-background-color-default:#e2e2e2;--xy-minimap-node-stroke-color-default:transparent;--xy-minimap-node-stroke-width-default:2;--xy-background-color-default:transparent;--xy-background-pattern-dots-color-default:#91919a;--xy-background-pattern-lines-color-default:#eee;--xy-background-pattern-cross-color-default:#e2e2e2;background-color:var(--xy-background-color,var(--xy-background-color-default));--xy-node-color-default:inherit;--xy-node-border-default:1px solid #1a192b;--xy-node-background-color-default:#fff;--xy-node-group-background-color-default:#f0f0f040;--xy-node-boxshadow-hover-default:0 1px 4px 1px #00000014;--xy-node-boxshadow-selected-default:0 0 0 .5px #1a192b;--xy-node-border-radius-default:3px;--xy-handle-background-color-default:#1a192b;--xy-handle-border-color-default:#fff;--xy-selection-background-color-default:#0059dc14;--xy-selection-border-default:1px dotted #0059dccc;--xy-controls-button-background-color-default:#fefefe;--xy-controls-button-background-color-hover-default:#f4f4f4;--xy-controls-button-color-default:inherit;--xy-controls-button-color-hover-default:inherit;--xy-controls-button-border-color-default:#eee;--xy-controls-box-shadow-default:0 0 2px 1px #00000014;--xy-edge-label-background-color-default:#fff;--xy-edge-label-color-default:inherit;--xy-resize-background-color-default:#3367d9;direction:ltr}.react-flow.dark{--xy-edge-stroke-default:#3e3e3e;--xy-edge-stroke-width-default:1;--xy-edge-stroke-selected-default:#727272;--xy-connectionline-stroke-default:#b1b1b7;--xy-connectionline-stroke-width-default:1;--xy-attribution-background-color-default:#96969640;--xy-minimap-background-color-default:#141414;--xy-minimap-mask-background-color-default:#3c3c3c99;--xy-minimap-mask-stroke-color-default:transparent;--xy-minimap-mask-stroke-width-default:1;--xy-minimap-node-background-color-default:#2b2b2b;--xy-minimap-node-stroke-color-default:transparent;--xy-minimap-node-stroke-width-default:2;--xy-background-color-default:#141414;--xy-background-pattern-dots-color-default:#777;--xy-background-pattern-lines-color-default:#777;--xy-background-pattern-cross-color-default:#777;--xy-node-color-default:#f8f8f8;--xy-node-border-default:1px solid #3c3c3c;--xy-node-background-color-default:#1e1e1e;--xy-node-group-background-color-default:#f0f0f040;--xy-node-boxshadow-hover-default:0 1px 4px 1px #ffffff14;--xy-node-boxshadow-selected-default:0 0 0 .5px #999;--xy-handle-background-color-default:#bebebe;--xy-handle-border-color-default:#1e1e1e;--xy-selection-background-color-default:#c8c8dc14;--xy-selection-border-default:1px dotted #c8c8dccc;--xy-controls-button-background-color-default:#2b2b2b;--xy-controls-button-background-color-hover-default:#3e3e3e;--xy-controls-button-color-default:#f8f8f8;--xy-controls-button-color-hover-default:#fff;--xy-controls-button-border-color-default:#5b5b5b;--xy-controls-box-shadow-default:0 0 2px 1px #00000014;--xy-edge-label-background-color-default:#141414;--xy-edge-label-color-default:#f8f8f8}.react-flow__background{background-color:var(--xy-background-color-props,var(--xy-background-color,var(--xy-background-color-default)));pointer-events:none;z-index:-1}.react-flow__container{width:100%;height:100%;position:absolute;top:0;left:0}.react-flow__pane{z-index:1;touch-action:none}.react-flow__pane.draggable{cursor:grab}.react-flow__pane.dragging{cursor:grabbing}.react-flow__pane.selection{cursor:pointer}.react-flow__viewport{transform-origin:0 0;z-index:2;pointer-events:none}.react-flow__renderer{z-index:4}.react-flow__selection{z-index:6}.react-flow__nodesselection-rect:focus,.react-flow__nodesselection-rect:focus-visible{outline:none}.react-flow__edge-path{stroke:var(--xy-edge-stroke,var(--xy-edge-stroke-default));stroke-width:var(--xy-edge-stroke-width,var(--xy-edge-stroke-width-default));fill:none}.react-flow__connection-path{stroke:var(--xy-connectionline-stroke,var(--xy-connectionline-stroke-default));stroke-width:var(--xy-connectionline-stroke-width,var(--xy-connectionline-stroke-width-default));fill:none}.react-flow .react-flow__edges{position:absolute}.react-flow .react-flow__edges svg{pointer-events:none;position:absolute;overflow:visible}.react-flow__edge{pointer-events:visibleStroke}.react-flow__edge.selectable{cursor:pointer}.react-flow__edge.animated path{stroke-dasharray:5;animation:.5s linear infinite dashdraw}.react-flow__edge.animated path.react-flow__edge-interaction{stroke-dasharray:none;animation:none}.react-flow__edge.inactive{pointer-events:none}.react-flow__edge.selected,.react-flow__edge:focus,.react-flow__edge:focus-visible{outline:none}.react-flow__edge.selected .react-flow__edge-path,.react-flow__edge.selectable:focus .react-flow__edge-path,.react-flow__edge.selectable:focus-visible .react-flow__edge-path{stroke:var(--xy-edge-stroke-selected,var(--xy-edge-stroke-selected-default))}.react-flow__edge-textwrapper{pointer-events:all}.react-flow__edge .react-flow__edge-text{pointer-events:none;-webkit-user-select:none;user-select:none}.react-flow__arrowhead polyline{stroke:var(--xy-edge-stroke,var(--xy-edge-stroke-default))}.react-flow__arrowhead polyline.arrowclosed{fill:var(--xy-edge-stroke,var(--xy-edge-stroke-default))}.react-flow__connection{pointer-events:none}.react-flow__connection .animated{stroke-dasharray:5;animation:.5s linear infinite dashdraw}svg.react-flow__connectionline{z-index:1001;position:absolute;overflow:visible}.react-flow__nodes{pointer-events:none;transform-origin:0 0}.react-flow__node{-webkit-user-select:none;user-select:none;pointer-events:all;transform-origin:0 0;box-sizing:border-box;cursor:default;position:absolute}.react-flow__node.selectable{cursor:pointer}.react-flow__node.draggable{cursor:grab;pointer-events:all}.react-flow__node.draggable.dragging{cursor:grabbing}.react-flow__nodesselection{z-index:3;transform-origin:0 0;pointer-events:none}.react-flow__nodesselection-rect{pointer-events:all;cursor:grab;position:absolute}.react-flow__handle{pointer-events:none;background-color:var(--xy-handle-background-color,var(--xy-handle-background-color-default));border:1px solid var(--xy-handle-border-color,var(--xy-handle-border-color-default));border-radius:100%;width:6px;min-width:5px;height:6px;min-height:5px;position:absolute}.react-flow__handle.connectingfrom{pointer-events:all}.react-flow__handle.connectionindicator{pointer-events:all;cursor:crosshair}.react-flow__handle-bottom{top:auto;bottom:0;left:50%;transform:translate(-50%,50%)}.react-flow__handle-top{top:0;left:50%;transform:translate(-50%,-50%)}.react-flow__handle-left{top:50%;left:0;transform:translate(-50%,-50%)}.react-flow__handle-right{top:50%;right:0;transform:translate(50%,-50%)}.react-flow__edgeupdater{cursor:move;pointer-events:all}.react-flow__pane.selection .react-flow__panel{pointer-events:none}.react-flow__panel{z-index:5;margin:15px;position:absolute}.react-flow__panel.top{top:0}.react-flow__panel.bottom{bottom:0}.react-flow__panel.top.center,.react-flow__panel.bottom.center{left:50%;transform:translate(-15px)translate(-50%)}.react-flow__panel.left{left:0}.react-flow__panel.right{right:0}.react-flow__panel.left.center,.react-flow__panel.right.center{top:50%;transform:translateY(-15px)translateY(-50%)}.react-flow__attribution{background:var(--xy-attribution-background-color,var(--xy-attribution-background-color-default));margin:0;padding:2px 3px;font-size:10px}.react-flow__attribution a{color:#999;text-decoration:none}@keyframes dashdraw{0%{stroke-dashoffset:10px}}.react-flow__edgelabel-renderer{pointer-events:none;-webkit-user-select:none;user-select:none;width:100%;height:100%;position:absolute;top:0;left:0}.react-flow__viewport-portal{-webkit-user-select:none;user-select:none;width:100%;height:100%;position:absolute;top:0;left:0}.react-flow__minimap{background:var(--xy-minimap-background-color-props,var(--xy-minimap-background-color,var(--xy-minimap-background-color-default)))}.react-flow__minimap-svg{display:block}.react-flow__minimap-mask{fill:var(--xy-minimap-mask-background-color-props,var(--xy-minimap-mask-background-color,var(--xy-minimap-mask-background-color-default)));stroke:var(--xy-minimap-mask-stroke-color-props,var(--xy-minimap-mask-stroke-color,var(--xy-minimap-mask-stroke-color-default)));stroke-width:var(--xy-minimap-mask-stroke-width-props,var(--xy-minimap-mask-stroke-width,var(--xy-minimap-mask-stroke-width-default)))}.react-flow__minimap-node{fill:var(--xy-minimap-node-background-color-props,var(--xy-minimap-node-background-color,var(--xy-minimap-node-background-color-default)));stroke:var(--xy-minimap-node-stroke-color-props,var(--xy-minimap-node-stroke-color,var(--xy-minimap-node-stroke-color-default)));stroke-width:var(--xy-minimap-node-stroke-width-props,var(--xy-minimap-node-stroke-width,var(--xy-minimap-node-stroke-width-default)))}.react-flow__background-pattern.dots{fill:var(--xy-background-pattern-color-props,var(--xy-background-pattern-color,var(--xy-background-pattern-dots-color-default)))}.react-flow__background-pattern.lines{stroke:var(--xy-background-pattern-color-props,var(--xy-background-pattern-color,var(--xy-background-pattern-lines-color-default)))}.react-flow__background-pattern.cross{stroke:var(--xy-background-pattern-color-props,var(--xy-background-pattern-color,var(--xy-background-pattern-cross-color-default)))}.react-flow__controls{box-shadow:var(--xy-controls-box-shadow,var(--xy-controls-box-shadow-default));flex-direction:column;display:flex}.react-flow__controls.horizontal{flex-direction:row}.react-flow__controls-button{background:var(--xy-controls-button-background-color,var(--xy-controls-button-background-color-default));border:none;border-bottom:1px solid var(--xy-controls-button-border-color-props,var(--xy-controls-button-border-color,var(--xy-controls-button-border-color-default)));width:26px;height:26px;color:var(--xy-controls-button-color-props,var(--xy-controls-button-color,var(--xy-controls-button-color-default)));cursor:pointer;-webkit-user-select:none;user-select:none;justify-content:center;align-items:center;padding:4px;display:flex}.react-flow__controls-button svg{fill:currentColor;width:100%;max-width:12px;max-height:12px}.react-flow__edge.updating .react-flow__edge-path{stroke:#777}.react-flow__edge-text{font-size:10px}.react-flow__node.selectable:focus,.react-flow__node.selectable:focus-visible{outline:none}.react-flow__node-input,.react-flow__node-default,.react-flow__node-output,.react-flow__node-group{border-radius:var(--xy-node-border-radius,var(--xy-node-border-radius-default));width:150px;color:var(--xy-node-color,var(--xy-node-color-default));text-align:center;border:var(--xy-node-border,var(--xy-node-border-default));background-color:var(--xy-node-background-color,var(--xy-node-background-color-default));padding:10px;font-size:12px}.react-flow__node-input.selectable:hover,.react-flow__node-default.selectable:hover,.react-flow__node-output.selectable:hover,.react-flow__node-group.selectable:hover{box-shadow:var(--xy-node-boxshadow-hover,var(--xy-node-boxshadow-hover-default))}.react-flow__node-input.selectable.selected,.react-flow__node-input.selectable:focus,.react-flow__node-input.selectable:focus-visible,.react-flow__node-default.selectable.selected,.react-flow__node-default.selectable:focus,.react-flow__node-default.selectable:focus-visible,.react-flow__node-output.selectable.selected,.react-flow__node-output.selectable:focus,.react-flow__node-output.selectable:focus-visible,.react-flow__node-group.selectable.selected,.react-flow__node-group.selectable:focus,.react-flow__node-group.selectable:focus-visible{box-shadow:var(--xy-node-boxshadow-selected,var(--xy-node-boxshadow-selected-default))}.react-flow__node-group{background-color:var(--xy-node-group-background-color,var(--xy-node-group-background-color-default))}.react-flow__nodesselection-rect,.react-flow__selection{background:var(--xy-selection-background-color,var(--xy-selection-background-color-default));border:var(--xy-selection-border,var(--xy-selection-border-default))}.react-flow__nodesselection-rect:focus,.react-flow__nodesselection-rect:focus-visible,.react-flow__selection:focus,.react-flow__selection:focus-visible{outline:none}.react-flow__controls-button:hover{background:var(--xy-controls-button-background-color-hover-props,var(--xy-controls-button-background-color-hover,var(--xy-controls-button-background-color-hover-default)));color:var(--xy-controls-button-color-hover-props,var(--xy-controls-button-color-hover,var(--xy-controls-button-color-hover-default)))}.react-flow__controls-button:disabled{pointer-events:none}.react-flow__controls-button:disabled svg{fill-opacity:.4}.react-flow__controls-button:last-child{border-bottom:none}.react-flow__controls.horizontal .react-flow__controls-button{border-bottom:none;border-right:1px solid var(--xy-controls-button-border-color-props,var(--xy-controls-button-border-color,var(--xy-controls-button-border-color-default)))}.react-flow__controls.horizontal .react-flow__controls-button:last-child{border-right:none}.react-flow__resize-control{position:absolute}.react-flow__resize-control.left,.react-flow__resize-control.right{cursor:ew-resize}.react-flow__resize-control.top,.react-flow__resize-control.bottom{cursor:ns-resize}.react-flow__resize-control.top.left,.react-flow__resize-control.bottom.right{cursor:nwse-resize}.react-flow__resize-control.bottom.left,.react-flow__resize-control.top.right{cursor:nesw-resize}.react-flow__resize-control.handle{background-color:var(--xy-resize-background-color,var(--xy-resize-background-color-default));border:1px solid #fff;border-radius:1px;width:5px;height:5px;translate:-50% -50%}.react-flow__resize-control.handle.left{top:50%;left:0}.react-flow__resize-control.handle.right{top:50%;left:100%}.react-flow__resize-control.handle.top{top:0;left:50%}.react-flow__resize-control.handle.bottom{top:100%;left:50%}.react-flow__resize-control.handle.top.left,.react-flow__resize-control.handle.bottom.left{left:0}.react-flow__resize-control.handle.top.right,.react-flow__resize-control.handle.bottom.right{left:100%}.react-flow__resize-control.line{border-color:var(--xy-resize-background-color,var(--xy-resize-background-color-default));border-style:solid;border-width:0}.react-flow__resize-control.line.left,.react-flow__resize-control.line.right{width:1px;height:100%;top:0;transform:translate(-50%)}.react-flow__resize-control.line.left{border-left-width:1px;left:0}.react-flow__resize-control.line.right{border-right-width:1px;left:100%}.react-flow__resize-control.line.top,.react-flow__resize-control.line.bottom{width:100%;height:1px;left:0;transform:translateY(-50%)}.react-flow__resize-control.line.top{border-top-width:1px;top:0}.react-flow__resize-control.line.bottom{border-bottom-width:1px;top:100%}.react-flow__edge-textbg{fill:var(--xy-edge-label-background-color,var(--xy-edge-label-background-color-default))}.react-flow__edge-text{fill:var(--xy-edge-label-color,var(--xy-edge-label-color-default))}.app-shell{--accent:#1f4f7a;--accent-strong:#2563eb;--accent-shadow:#1f4f7a38;--focus-ring:#2563eb47;--symbol-default:#335d91;--symbol-selected-shadow:#2563eb3d;--symbol-selected-ring:#2563ebb3;--start-stroke:#0f766e;--decision-stroke:#b45309;--danger-stroke:#dc2626;--palette-stroke:#16766f;--palette-hover:#fff8ed;--palette-hover-border:#c7852c;min-height:100svh;color:var(--text);background:linear-gradient(#ffffffdb,#f4f7fbeb),#f5f7fb;grid-template-rows:auto minmax(0,1fr);display:grid}.topbar{border-bottom:1px solid var(--line);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);z-index:20;background:#ffffffd1;justify-content:space-between;align-items:center;gap:18px;min-height:74px;padding:14px 18px;display:flex;position:sticky;top:0}.brand,.project-bar,.top-actions,.panel-heading,.panel-heading-actions,.panel-actions,.segmented,.tool-dock,.ink-controls,.swatches,.metric-strip,.file-button{align-items:center;display:flex}.brand{gap:12px;min-width:0}.brand-mark{color:#fff;background:var(--accent);width:44px;height:44px;box-shadow:0 12px 24px var(--accent-shadow);border-radius:8px;flex:none;place-items:center;display:grid}.brand h1{letter-spacing:0;color:var(--heading);margin:0;font-size:20px;line-height:1.05}.brand span{color:var(--muted);margin-top:4px;font-size:13px;display:block}.top-actions{flex-wrap:wrap;justify-content:flex-end;gap:8px}.top-actions button.is-mode-active{background:var(--accent);color:#fff;box-shadow:0 8px 18px var(--accent-shadow);border-color:#89a9c7}.project-bar{flex:460px;justify-content:center;gap:8px;min-width:280px;max-width:680px}button,.file-button{color:#253245;min-height:42px;font:inherit;cursor:pointer;background:#fff;border:1px solid #cbd6e3;border-radius:8px;gap:8px;padding:0 13px;font-size:14px;font-weight:700;transition:transform .14s,border-color .14s,background .14s,box-shadow .14s;box-shadow:0 1px #141f2e0a}button{justify-content:center;align-items:center;display:inline-flex}button:hover,.file-button:hover{border-color:#8ba4bf;box-shadow:0 8px 20px #2a3d541c}button:active,.file-button:active{transform:translateY(1px)}button:focus-visible,.file-button:focus-within,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:3px solid var(--focus-ring);outline-offset:2px}button:disabled{color:#94a3b8;cursor:not-allowed;box-shadow:none;border-color:#d9e1ea}.ghost-button{background:#f3f7fb}.project-picker,.project-name-input{color:#253245;background:#fff;border:1px solid #cbd6e3;border-radius:8px;min-height:42px;box-shadow:0 1px #141f2e0a}.project-picker{flex:190px;align-items:center;gap:8px;min-width:150px;padding:0 10px;display:flex}.project-picker svg{color:var(--accent);flex:none}.project-picker select,.project-name-input{color:#253245;width:100%;min-width:0;font:inherit;background:0 0;border:0;outline:0;font-size:14px;font-weight:750}.project-name-input{flex:180px;min-width:150px;padding:0 12px}.workspace{grid-template-columns:minmax(250px,300px) minmax(0,1fr) minmax(250px,300px);gap:0;min-height:0;display:grid}.workspace.import-hidden{grid-template-columns:minmax(0,1fr) minmax(250px,300px)}.workspace.inspector-hidden{grid-template-columns:minmax(250px,300px) minmax(0,1fr)}.workspace.import-hidden.inspector-hidden{grid-template-columns:minmax(0,1fr)}.panel{border-right:1px solid var(--line);background:#ffffffe0;flex-direction:column;gap:14px;min-width:0;padding:16px;display:flex;overflow:auto}.inspector-panel{border-right:0;border-left:1px solid var(--line)}.panel-heading{color:var(--heading);justify-content:space-between;gap:10px;font-size:15px;font-weight:800}.panel-heading-actions{justify-content:flex-end;gap:8px}.file-button{min-height:38px;position:relative}.file-button input{opacity:0;pointer-events:none;position:absolute;inset:0}.import-panel textarea,.inspector-form textarea,.inspector-form input,.inspector-form select{width:100%;color:var(--heading);box-sizing:border-box;font:inherit;background:#fbfdff;border:1px solid #cad6e4;border-radius:8px}.import-panel textarea{resize:none;flex:auto;min-height:320px;padding:13px;line-height:1.5}.panel-actions{justify-content:space-between;gap:10px}.segmented{background:#e9eff6;border-radius:8px;gap:3px;padding:3px}.segmented button,.tool-dock button,.icon-action{width:42px;padding:0}.segmented button,.tool-dock button{box-shadow:none;background:0 0;border-color:#0000}.segmented button.is-active,.tool-dock button.is-active{background:var(--accent);color:#fff;box-shadow:0 8px 18px var(--accent-shadow)}.metric-strip{gap:8px}.metric-strip>div{background:#f8fbff;border:1px solid #dce5ef;border-radius:8px;flex:1 1 0;padding:10px}.metric-strip strong,.metric-strip span{display:block}.metric-strip strong{color:var(--heading);font-size:20px;line-height:1.1}.metric-strip span{color:var(--muted);margin-top:3px;font-size:12px}.canvas-shell{background:#edf2f7;grid-template-rows:minmax(0,1fr) auto;min-width:0;min-height:0;display:grid;position:relative}.canvas-frame{min-height:0;position:relative}.flow-canvas{background-color:#f6f8fb;background-image:linear-gradient(90deg,#e2e8f08a 1px,#0000 1px),linear-gradient(#e2e8f08a 1px,#0000 1px),none;background-position:0 0,0 0,0 0;background-repeat:repeat,repeat,repeat;background-size:42px 42px;background-attachment:scroll,scroll,scroll;background-origin:padding-box,padding-box,padding-box;background-clip:border-box,border-box,border-box}.flow-canvas .react-flow__pane{cursor:grab}.flow-canvas.mode-pen .react-flow__pane,.flow-canvas.mode-erase .react-flow__pane,.flow-canvas.mode-connect .react-flow__pane,.flow-canvas.mode-connect .flow-node{cursor:crosshair}.flow-node{--symbol-fill:#fff;--symbol-stroke:var(--symbol-default);--symbol-shadow:#1b2b4124;width:220px;height:112px;color:var(--heading);box-sizing:border-box;position:relative}.flow-node.tone-start{--symbol-stroke:var(--start-stroke)}.flow-node.tone-decision{--symbol-stroke:var(--decision-stroke)}.flow-node.tone-finish{--symbol-stroke:var(--accent-strong)}.symbol-outline{width:220px;height:112px;color:var(--symbol-stroke);filter:drop-shadow(0 12px 18px var(--symbol-shadow));position:absolute;inset:0;overflow:visible}.symbol-main{fill:var(--symbol-fill);stroke:currentColor;stroke-width:3px;stroke-linejoin:round;vector-effect:non-scaling-stroke}.symbol-line{fill:none;stroke:currentColor;stroke-width:3px;stroke-linecap:square;stroke-linejoin:round;vector-effect:non-scaling-stroke}.symbol-ghost{opacity:.92}.flow-node.is-selected .symbol-outline{--symbol-shadow:var(--symbol-selected-shadow);color:var(--accent-strong);filter:drop-shadow(0 0 0 var(--symbol-selected-ring)) drop-shadow(0 14px 22px var(--symbol-shadow))}.symbol-content{text-align:center;pointer-events:none;align-content:center;justify-items:center;display:grid;position:absolute;inset:22px 24px}.symbol-decision .symbol-content,.symbol-data .symbol-content,.symbol-manualInput .symbol-content,.symbol-manualOperation .symbol-content,.symbol-preparation .symbol-content,.symbol-display .symbol-content{inset-inline:42px}.symbol-connector .symbol-content,.symbol-summingJunction .symbol-content,.symbol-or .symbol-content,.symbol-extract .symbol-content,.symbol-merge .symbol-content,.symbol-offPageConnector .symbol-content,.symbol-collate .symbol-content,.symbol-sort .symbol-content{inset:31px 58px 22px}.symbol-connector .node-kicker,.symbol-summingJunction .node-kicker,.symbol-or .node-kicker,.symbol-extract .node-kicker,.symbol-merge .node-kicker,.symbol-collate .node-kicker,.symbol-sort .node-kicker{display:none}.node-kicker{color:#5f6f84;text-transform:uppercase;letter-spacing:.08em;font-size:11px;font-weight:800;line-height:1}.node-title{color:#172033;overflow-wrap:anywhere;margin-top:5px;font-size:15px;font-weight:850;line-height:1.18}.node-detail{color:#607086;-webkit-line-clamp:2;-webkit-box-orient:vertical;margin-top:5px;font-size:12px;line-height:1.28;display:-webkit-box;overflow:hidden}.node-handle{background:var(--accent);border:2px solid #fff;width:11px;height:11px}.tool-dock{z-index:12;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#ffffffe0;border:1px solid #d2dce8;border-radius:8px;gap:5px;padding:5px;position:absolute;top:16px;left:16px;box-shadow:0 12px 26px #1b2b411f}.panel-reopen{z-index:14;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#fffffff0;border-color:#c8d4e2;min-height:40px;padding:0 11px;position:absolute;top:50%;box-shadow:0 12px 26px #1b2b411f}.panel-reopen span{font-size:13px}.import-reopen{left:12px;transform:translateY(-50%)}.inspector-reopen{right:12px;transform:translateY(-50%)}.canvas-shell.symbols-open .inspector-reopen{right:min(232px,100% - 96px)}.symbol-bar{z-index:13;pointer-events:auto;flex-direction:column;gap:8px;width:min(208px,100% - 32px);max-height:calc(100% - 96px);display:flex;position:absolute;top:16px;right:16px}.symbol-bar.is-collapsed{width:auto}.symbol-bar-toggle{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#fffffff0;border-color:#c8d4e2;justify-content:flex-start;width:100%;box-shadow:0 12px 26px #1b2b411f}.symbol-bar.is-collapsed .symbol-bar-toggle{width:auto}.symbol-list{-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#ffffffeb;border:1px solid #d2dce8;border-radius:8px;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;min-height:0;padding:8px;display:grid;overflow:auto;box-shadow:0 18px 34px #1b2b4124}.symbol-button{--symbol-fill:#fff;--symbol-stroke:var(--palette-stroke);color:#26374d;min-height:78px;box-shadow:none;background:#fbfdff;border-color:#d7e0eb;flex-direction:column;gap:5px;padding:7px 6px}.symbol-button:hover{border-color:var(--palette-hover-border);background:var(--palette-hover)}.symbol-button.is-active{border-color:var(--accent);color:var(--accent);background:#eef6ff}.symbol-button-preview{width:58px;height:32px;color:var(--symbol-stroke);overflow:visible}.symbol-button span{color:#42546c;text-align:center;overflow-wrap:normal;width:100%;min-width:0;font-size:11px;font-weight:800;line-height:1.12}.line-symbol-button{--symbol-stroke:var(--accent)}.line-preview-stroke{stroke:currentColor;stroke-width:5px;stroke-linecap:round}.line-preview-head{fill:currentColor}.ink-controls{border-top:1px solid var(--line);background:#ffffffe0;justify-content:space-between;gap:12px;min-height:58px;padding:8px 12px}.swatches{gap:8px}.swatches button{border:3px solid #fff;border-radius:999px;width:32px;min-height:32px;padding:0;box-shadow:0 0 0 1px #b9c6d6}.swatches button.is-active{box-shadow:0 0 0 3px var(--focus-ring)}.ink-controls label{color:var(--muted);flex:auto;align-items:center;gap:8px;max-width:230px;display:flex}.ink-controls input[type=range]{width:100%;accent-color:var(--accent)}.ink-viewport{pointer-events:none;width:6800px;height:5200px;position:absolute;top:-2000px;left:-2400px;overflow:visible}.ink-catcher{z-index:9;pointer-events:none;touch-action:none;position:absolute;inset:0}.ink-catcher.is-active{pointer-events:auto}.inspector-form{gap:13px;display:grid}.inspector-form label{gap:7px;display:grid}.inspector-form label span{color:var(--muted);text-transform:uppercase;letter-spacing:.08em;font-size:12px;font-weight:800}.inspector-form input,.inspector-form select{min-height:42px;padding:0 11px}.inspector-form textarea{resize:vertical;min-height:150px;padding:11px;line-height:1.45}.empty-state{color:#7b8ca3;background:#f8fbff;border:1px dashed #c7d3e1;border-radius:8px;align-content:center;place-items:center;gap:10px;min-height:220px;font-weight:700;display:grid}.danger{color:var(--danger-stroke)}.react-flow__minimap{background:#ffffffdb;border:1px solid #d4dee9;border-radius:8px;overflow:hidden}.react-flow__controls{border:1px solid #d4dee9;border-radius:8px;overflow:hidden;box-shadow:0 12px 26px #1b2b411f}.react-flow__controls-button{border:0;border-bottom:1px solid #d4dee9;border-radius:0;width:32px;height:32px;min-height:32px}@media (width<=1120px){.workspace{grid-template-rows:minmax(560px,1fr) auto auto;grid-template-columns:minmax(0,1fr);overflow:auto}.workspace.import-hidden,.workspace.inspector-hidden{grid-template-rows:minmax(560px,1fr) auto;grid-template-columns:minmax(0,1fr)}.workspace.import-hidden.inspector-hidden{grid-template-rows:minmax(560px,1fr)}.canvas-shell{order:1;min-height:64svh}.import-panel{border-right:0;border-top:1px solid var(--line);order:2}.inspector-panel{border-left:0;border-top:1px solid var(--line);order:3}.import-panel textarea{min-height:190px}}@media (width<=720px){.topbar{flex-direction:column;align-items:stretch;padding:12px}.top-actions{grid-template-columns:repeat(5,minmax(0,1fr));display:grid}.project-bar{flex:none;grid-template-columns:repeat(4,minmax(0,1fr));width:100%;min-width:0;max-width:none;display:grid}.project-picker,.project-name-input{grid-column:span 2;min-width:0}.project-bar button{min-width:0;padding:0 8px;font-size:13px}.project-bar .icon-action{width:100%}.top-actions button{min-width:0;padding:0 8px;font-size:13px}.workspace{grid-template-rows:minmax(480px,62svh) auto auto}.workspace.import-hidden,.workspace.inspector-hidden{grid-template-rows:minmax(480px,62svh) auto}.workspace.import-hidden.inspector-hidden{grid-template-rows:minmax(480px,62svh)}.panel{padding:13px}.panel-actions,.metric-strip{flex-direction:column;align-items:stretch}.segmented{justify-content:space-between}.segmented button{flex:1 1 0}.tool-dock{top:10px;left:10px}.panel-reopen{min-height:38px;padding:0 9px}.panel-reopen span{display:none}.canvas-shell.symbols-open .inspector-reopen{right:12px}.symbol-bar{width:auto;max-height:176px;inset:auto 10px 72px}.symbol-bar.is-collapsed{left:auto;right:10px}.symbol-list{scrollbar-width:thin;grid-template-columns:none;padding:7px;display:flex;overflow:auto hidden}.symbol-button{flex:0 0 88px;min-height:70px}.ink-controls{flex-wrap:wrap;align-items:stretch}.ink-controls label{order:3;width:100%;max-width:none}.react-flow__minimap{display:none}}
