.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-button:last-child{border-bottom:none}.react-flow__controls.horizontal .react-flow__controls-button{border-bottom:none;border-right:1px solid var( --xy-controls-button-border-color-props, var(--xy-controls-button-border-color, var(--xy-controls-button-border-color-default)) )}.react-flow__controls.horizontal .react-flow__controls-button:last-child{border-right:none}.react-flow__resize-control{position:absolute}.react-flow__resize-control.left,.react-flow__resize-control.right{cursor:ew-resize}.react-flow__resize-control.top,.react-flow__resize-control.bottom{cursor:ns-resize}.react-flow__resize-control.top.left,.react-flow__resize-control.bottom.right{cursor:nwse-resize}.react-flow__resize-control.bottom.left,.react-flow__resize-control.top.right{cursor:nesw-resize}.react-flow__resize-control.handle{width:5px;height:5px;border:1px solid #fff;border-radius:1px;background-color:var(--xy-resize-background-color, var(--xy-resize-background-color-default));translate:-50% -50%}.react-flow__resize-control.handle.left{left:0;top:50%}.react-flow__resize-control.handle.right{left:100%;top:50%}.react-flow__resize-control.handle.top{left:50%;top:0}.react-flow__resize-control.handle.bottom{left:50%;top:100%}.react-flow__resize-control.handle.top.left,.react-flow__resize-control.handle.bottom.left{left:0}.react-flow__resize-control.handle.top.right,.react-flow__resize-control.handle.bottom.right{left:100%}.react-flow__resize-control.line{border-color:var(--xy-resize-background-color, var(--xy-resize-background-color-default));border-width:0;border-style:solid}.react-flow__resize-control.line.left,.react-flow__resize-control.line.right{width:1px;transform:translate(-50%);top:0;height:100%}.react-flow__resize-control.line.left{left:0;border-left-width:1px}.react-flow__resize-control.line.right{left:100%;border-right-width:1px}.react-flow__resize-control.line.top,.react-flow__resize-control.line.bottom{height:1px;transform:translateY(-50%);left:0;width:100%}.react-flow__resize-control.line.top{top:0;border-top-width:1px}.react-flow__resize-control.line.bottom{border-bottom-width:1px;top:100%}.react-flow__edge-textbg{fill:var(--xy-edge-label-background-color, var(--xy-edge-label-background-color-default))}.react-flow__edge-text{fill:var(--xy-edge-label-color, var(--xy-edge-label-color-default))}:root{font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;color:var(--text);background:var(--surface);font-synthesis:none;--surface: #fdfdfb;--surface-alt: #f4f4ef;--canvas: #fafaf7;--text: #1f2d28;--muted: #56675d;--subtle: #59685f;--danger: #9e392f;--caution: #775327;--border: #e2e5df;--accent: #23664d;--on-accent: #fff;--accent-hover: #174c37;--accent-bg: #e7f0e9;--grid: #d3d9d1;--shadow: 0 14px 55px #263b2926;--minimap-mask: #eef1eacc;--node-bg: #ffffff;--status-done-bg: #dcfce7;--status-done-ink: #075b2c;--status-done-border: #16803d;--status-progress-bg: #dbeafe;--status-progress-ink: #1e40af;--status-blocked-bg: #fee2e2;--status-blocked-ink: #991b1b;--status-planned-bg: #f1f5f9;--status-planned-ink: #334155}:root[data-theme=dark]{color-scheme:dark;--surface: #202522;--surface-alt: #1c211e;--canvas: #171c19;--text: #e1e7e1;--muted: #98a79d;--subtle: #94a398;--danger: #ef9c91;--caution: #e1b580;--border: #343e37;--accent: #75b6a0;--on-accent: #15271b;--accent-hover: #93cbb9;--accent-bg: #293d32;--grid: #344039;--shadow: 0 14px 55px #0006;--minimap-mask: #1c241ecc;--node-bg: #242d27;--status-done-bg: #123b25;--status-done-ink: #bbf7d0;--status-done-border: #65b981;--status-progress-bg: #172d55;--status-progress-ink: #bfdbfe;--status-blocked-bg: #4c1d24;--status-blocked-ink: #fecaca;--status-planned-bg: #283341;--status-planned-ink: #e2e8f0}*{box-sizing:border-box}body{margin:0}button,input,select,textarea{font:inherit;font-size:12px}button,a,select,summary{-webkit-tap-highlight-color:transparent}button{display:inline-flex;align-items:center;justify-content:center;gap:7px;min-height:30px;padding:5px 10px;border:1px solid var(--border);border-radius:5px;background:var(--surface);color:var(--text);cursor:pointer;white-space:nowrap;transition:background .1s}button:hover{background:var(--surface-alt)}button:disabled{opacity:.4;cursor:default}button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible,summary:focus-visible{outline:2px solid var(--accent);outline-offset:2px}button.primary{background:var(--accent);border-color:var(--accent);color:var(--on-accent);font-weight:600}button.primary:hover{background:var(--accent-hover)}button.active{color:var(--accent);background:var(--accent-bg)}button.danger{color:var(--danger)}button.danger:hover{background:#cf645014}input,textarea,select{width:100%;color:var(--text);background:var(--surface);border:1px solid var(--border);border-radius:5px;min-height:31px;padding:6px 8px}input::placeholder,textarea::placeholder{color:var(--subtle)}input[type=color]{height:31px;padding:3px;cursor:pointer}input[type=checkbox],input[type=radio]{width:13px;height:13px;min-height:0;accent-color:var(--accent)}textarea{resize:vertical;line-height:1.6}select{cursor:pointer}a{color:var(--accent);text-decoration:none}a:hover{text-decoration:underline}h1,h2,h3,p{margin:0}.muted{color:var(--muted);font-size:12px;line-height:1.6}.eyebrow{color:var(--muted);font-size:10px;font-weight:600;letter-spacing:1.3px}.icon-button{padding:4px;border-color:transparent;min-width:27px;min-height:27px;background:transparent}.full{width:100%;margin:5px 0}.button-row,.field-row{display:flex;gap:8px}.field-row{flex-wrap:wrap}.field-row .field{flex:1;min-width:95px}.field{display:flex;flex-direction:column;gap:6px;margin:0 0 14px;font-size:11px;color:var(--muted);font-weight:500}.check-field{display:flex;align-items:center;gap:8px;font-size:12px;margin:12px 0;color:var(--text)}.check-field input[type=checkbox],.check-field input[type=radio]{flex-shrink:0;min-height:0;margin:0;padding:0}.form-error{font-size:12px;color:var(--danger);margin:10px 0;line-height:1.6;white-space:pre-wrap}details{margin:12px 0;font-size:12px;color:var(--muted)}summary{cursor:pointer;padding:5px 0}details[open] summary{margin-bottom:9px}kbd{padding:2px 5px;color:var(--muted);border:1px solid var(--border);border-radius:4px;font:10px ui-monospace,monospace}.site-shell{position:relative;height:40px;display:flex;align-items:center;justify-content:space-between;padding:0 19px;border-bottom:1px solid var(--border);background:var(--surface);gap:20px;flex-shrink:0}.site-brand{display:flex;align-items:center;gap:10px;font-size:13px;color:var(--text);letter-spacing:-.15px;flex-shrink:0;white-space:nowrap}.site-brand:hover{text-decoration:none}.brand-symbol{color:#d08850;font-size:24px;font-weight:500;line-height:1}.brand-version{margin-left:14px;color:var(--muted);font-size:9px;letter-spacing:1.7px}.site-shell nav{display:flex;gap:22px;font-size:11px;flex-wrap:nowrap}.site-shell nav a{color:var(--muted);white-space:nowrap}.site-brand:focus-visible,.site-shell nav a:focus-visible{outline:2px solid var(--accent);outline-offset:2px}@media(max-width:1100px){:root{--workspace-header-height: 48px}.site-shell{height:48px;padding-inline:10px;gap:8px}.site-shell .brand-version{display:none}.site-shell nav{gap:4px;min-width:0;font-size:12px;align-items:center;justify-content:flex-end}.site-shell nav>.site-desktop-link{display:none}.site-shell .site-brand{min-height:44px;gap:6px}.site-shell nav>a:not(.site-desktop-link){display:inline-flex;align-items:center;justify-content:center;min-width:44px;min-height:44px;padding:4px 6px;line-height:1.25;text-align:center;white-space:normal;overflow-wrap:anywhere;border-radius:6px}.site-shell nav>.github-link{width:44px;flex-shrink:0}.site-shell nav>a:hover,.site-shell nav>a:focus-visible{background:var(--accent-bg);color:var(--accent)}}@media(max-width:360px){.site-shell{padding-inline:8px;gap:6px}.site-shell .site-brand{font-size:12px}.site-shell nav{font-size:11px;gap:2px}.site-shell nav>a:not(.site-desktop-link){padding-inline:4px}}.application{height:calc(100dvh - var(--workspace-header-height, 40px));display:grid;grid-template-columns:236px minmax(0,1fr) 282px;overflow:hidden}.application.storage-gate{grid-template-columns:1fr}.application.map-focus{grid-template-columns:minmax(0,1fr)}.map-focus .sidebar,.map-focus .properties{display:none}.sidebar{display:flex;flex-direction:column;border-right:1px solid var(--border);background:var(--surface-alt);overflow:hidden}@media(min-width:721px)and (max-height:650px){.sidebar{overflow-y:auto}.sidebar>*{flex-shrink:0}.sidebar .diagram-list{flex:none;overflow-y:visible}}.workspace-label{display:flex;gap:10px;align-items:center;padding:22px 16px 19px}.workspace-symbol{width:29px;height:29px;display:grid;place-items:center;background:#d8e1d7;border:1px solid #bccabd;border-radius:6px;font-size:10px;font-weight:700;color:#45634c}[data-theme=dark] .workspace-symbol{background:#314236;border-color:#4c5c4c;color:#b6ceb8}.workspace-label b{font-size:12px;font-weight:600}.workspace-label small{display:block;margin-top:4px;font-size:10px;color:var(--muted)}.local-dot{flex-shrink:0;width:5px;height:5px;border-radius:50%;display:inline-block;background:#62936d}.workspace-label .local-dot{margin-left:auto}.new-diagram{margin:0 13px 15px;justify-content:flex-start;min-height:33px;font-size:12px}.new-diagram span{margin-left:auto;font-size:10px;opacity:1;font-weight:400}.workspace-nav{padding:0 9px 17px;border-bottom:1px solid var(--border)}.workspace-nav button{width:100%;border:0;border-radius:5px;justify-content:flex-start;color:var(--muted);padding:7px 10px;gap:12px;font-size:12px;background:transparent}.workspace-nav button:hover{color:var(--text);background:var(--surface)}.workspace-nav button.active{color:var(--accent);background:var(--accent-bg);font-weight:600}.workspace-nav button span{margin-left:auto;font-size:10px;font-weight:400}.sidebar-section-title{display:flex;align-items:center;justify-content:space-between;padding:12px 15px 4px;color:var(--muted);font-size:9px;font-weight:600;letter-spacing:1px}.diagram-filter{display:flex;align-items:center;gap:5px;margin:5px 13px;color:var(--subtle)}.diagram-filter input{border:0;background:transparent;padding:3px;min-height:25px;font-size:11px}.list-filters{display:flex;gap:5px;padding:0 13px 10px}.list-filters select{border:0;color:var(--muted);background:transparent;min-height:24px;padding:2px;font-size:10px}.diagram-list{flex:1;overflow-y:auto;padding:0 9px}.folder-heading{width:100%;border:0;background:transparent;color:var(--muted);justify-content:flex-start;font-size:10px;gap:6px;padding:7px 3px}.folder-heading small{margin-left:auto;opacity:.7}.diagram-item{width:100%;min-height:32px;border:0;background:transparent;padding:7px 10px 7px 21px;gap:9px;justify-content:flex-start;color:var(--muted);font-size:11px}.diagram-item span{overflow:hidden;text-overflow:ellipsis;text-align:left}.diagram-item svg{flex-shrink:0}.diagram-item.active{color:var(--accent);background:var(--accent-bg)}.diagram-item:hover{background:var(--surface)}.list-empty{white-space:pre-line;color:var(--muted);text-align:center;font-size:11px;padding:28px 15px;line-height:1.8}.sidebar-footer{border-top:1px solid var(--border);padding:11px 13px}.sidebar-footer>button{border:0;background:transparent;width:100%;justify-content:flex-start;color:var(--muted);gap:12px}.local-note{display:flex;gap:7px;align-items:center;font-size:9px;color:var(--muted);padding:13px 8px 2px}.main-workspace{container-type:inline-size;container-name:workspace;min-width:0;display:flex;flex-direction:column;position:relative;background:var(--canvas)}.document-bar{background:var(--surface);border-bottom:1px solid var(--border);min-height:59px;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:0 21px}.document-title{display:flex;gap:10px;align-items:center;min-width:0}.document-title>svg{color:var(--muted);flex-shrink:0}.document-title h1{font-size:15px;font-weight:600;letter-spacing:-.3px;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.mode-badge{font-size:9px;border:1px solid var(--border);border-radius:4px;padding:3px 6px;color:var(--muted)}.document-actions{display:flex;gap:11px;align-items:center}.document-actions button{font-size:11px}.save-status{color:var(--muted);display:flex;align-items:center;gap:5px;white-space:nowrap;font-size:10px}.save-saved svg{color:var(--accent)}.save-error,.save-conflict{color:var(--danger)}.spin{animation:spin 1.8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.editor-toolbar{background:var(--surface);min-height:47px;display:flex;align-items:center;gap:10px;padding:7px 14px;border-bottom:1px solid var(--border);overflow-x:auto}@container workspace (max-width: 1000px){.editor-toolbar .toolbar-menu-label{display:none}}.spatial-view-bar{display:flex;align-items:center;gap:5px;padding:5px 14px;border-bottom:1px solid var(--border);background:var(--surface)}.spatial-view-bar button{min-height:32px;min-width:44px}.spatial-view-bar button[aria-pressed=true]{background:var(--accent);color:var(--on-accent)}.spatial-view-bar span{font-size:11px;color:var(--muted);margin-left:7px}@media(max-width:720px){.spatial-view-bar{padding:3px 8px}.spatial-view-bar button{min-height:44px}.spatial-view-bar span{font-size:10px}}.toolbar-group{display:flex;align-items:center;gap:3px;flex-shrink:0}.editor-toolbar button{border:0;background:transparent;min-height:28px;padding:5px 7px;font-size:11px}.editor-toolbar button:hover{background:var(--surface-alt)}.editor-toolbar button.add-node{color:var(--accent);font-weight:600}.editor-toolbar select{width:auto;border:0;color:var(--muted);background:transparent;font-size:10px;min-height:25px;padding:3px;max-width:124px}.toolbar-divider{background:var(--border);width:1px;height:18px;flex-shrink:0}.toolbar-spacer{flex:1}.filter-bar{display:flex;gap:7px;padding:9px 13px;background:var(--surface-alt);border-bottom:1px solid var(--border);flex-wrap:wrap}.filter-bar select,.filter-bar input{width:auto;max-width:136px;font-size:10px;min-height:27px}.filter-bar button{font-size:10px;min-height:27px}.canvas-shell{flex:1;min-height:0;position:relative}.canvas-statusbar{min-height:26px;background:var(--surface);border-top:1px solid var(--border);display:flex;align-items:center;justify-content:space-between;padding:0 13px;font-size:9px;color:var(--muted)}.canvas-statusbar i{padding:0 5px;font-style:normal;opacity:.5}.canvas-empty{position:absolute;inset:0;display:flex;flex-direction:column;gap:15px;align-items:center;justify-content:center;pointer-events:none}.canvas-empty h2{font-size:20px;font-weight:500;letter-spacing:-.5px}.canvas-empty p{color:var(--muted);font-size:12px}.canvas-empty button{margin-top:6px;pointer-events:auto}.empty-cross{border:1px dashed var(--border);border-radius:10px;color:var(--subtle);padding:3px 10px 5px;font-size:28px}.canvas-toggles{display:flex;gap:3px;padding:5px;background:var(--surface);box-shadow:0 3px 12px #00000009;border:1px solid var(--border);border-radius:6px;margin-bottom:9px}.canvas-toggles button{border:0;padding:6px;min-height:27px;background:transparent}.canvas-toggles button.active{color:var(--accent);background:var(--accent-bg)}.canvas-toggles>span{width:1px;background:var(--border);margin:5px 3px}.react-flow__controls{border:1px solid var(--border);box-shadow:0 3px 12px #00000009;border-radius:5px;overflow:hidden;margin:0 0 24px 18px!important}.react-flow__controls-button{width:28px;height:28px;padding:7px;border:0;border-bottom:1px solid var(--border);border-radius:0;background:var(--surface);color:var(--muted)}.react-flow__controls-button:hover{background:var(--surface-alt)}.react-flow__controls-button svg{fill:currentColor}.react-flow__minimap{width:148px;height:99px;border:1px solid var(--border);border-radius:5px;background:var(--surface)!important;margin:18px!important}.react-flow__attribution{background:transparent;font-size:8px;opacity:.6}.react-flow__edge.selected .react-flow__edge-path{stroke:var(--accent)!important;stroke-width:2.5px!important}.react-flow__node{border-radius:6px}@media(pointer:coarse),(max-width:900px){.react-flow .react-flow__resize-control.handle:not(.code-resize-handle){box-sizing:border-box;width:28px;height:28px;border:10px solid transparent;border-radius:50%;background-clip:padding-box}}.react-flow__node-input,.react-flow__node-output,.react-flow__node-group{padding:0;border:0;background:transparent;color:var(--text);text-align:left;--xy-node-boxshadow-hover: none;--xy-node-boxshadow-selected: none}.vn-node{height:100%;width:100%;background:var(--node-bg);border:1px solid var(--border);border-left:3px solid var(--node-accent);border-radius:6px;padding:12px 14px 10px;box-shadow:0 2px 6px #20322506;display:flex;flex-direction:column;gap:9px;position:relative}.vn-node.is-selected{outline:2px solid var(--accent);outline-offset:2px;box-shadow:0 0 0 5px #4e9a7812}.vn-node.node-overview{justify-content:center;gap:6px;padding:8px 10px;box-shadow:none}.node-topline{display:flex;align-items:center;gap:4px;color:var(--muted);font-size:8px;line-height:1;min-height:18px;flex-shrink:0}.node-topline>svg{color:var(--node-accent);flex-shrink:0}.node-kind{text-transform:uppercase;letter-spacing:.7px;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.node-title{font-size:12px;font-weight:600;line-height:1.4;color:var(--text);overflow:hidden;text-overflow:ellipsis;max-height:3em;flex-shrink:0}.node-bottomline{display:flex;align-items:center;gap:6px;color:var(--muted);font-size:8px;margin-top:auto;overflow:hidden;min-height:7px}.node-owner{display:flex;align-items:center;gap:5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.node-owner i{display:inline-block;width:4px;height:4px;border-radius:50%;flex-shrink:0}.node-date{margin-left:auto;white-space:nowrap}.node-status{display:inline-flex;align-items:center;align-self:flex-start;gap:3px;max-width:100%;flex-shrink:0;font-size:9px;font-weight:650;line-height:1;text-transform:none;letter-spacing:0;white-space:nowrap;background:var(--surface-alt);border:1px solid var(--border);border-radius:5px;padding:2px 4px;color:var(--text)}.node-status>svg{flex-shrink:0;fill:none}.node-status>span{min-width:0;overflow:hidden;text-overflow:ellipsis}.node-topline>.node-status{margin-left:auto;align-self:center;max-width:calc(100% - 21px);min-width:0;flex-shrink:1}.status-done{color:var(--status-done-ink);background:var(--status-done-bg);border-color:var(--status-done-border)}.status-planned{color:var(--status-planned-ink);background:var(--status-planned-bg);border-color:currentColor}.status-in-progress{color:var(--status-progress-ink);background:var(--status-progress-bg);border-color:currentColor}.status-blocked{color:var(--status-blocked-ink);background:var(--status-blocked-bg);border-color:currentColor}.node-status-overview{gap:5px;font-size:12px;padding:3px 5px}.node-status-overview>svg{width:18px;height:18px}.vn-node[data-node-status=done]:after,.mindmap-topic[data-node-status=done]:after{content:"";position:absolute;inset:2px;border:2px solid var(--status-done-border);border-radius:inherit;pointer-events:none}.branch-toggle{border:0;padding:0 2px;margin-left:auto;min-height:14px;background:transparent;color:var(--muted);gap:1px;font-size:8px}.mindmap-canvas .react-flow{background:var(--node-bg)}.mindmap-topic{width:100%;height:100%;position:relative;display:flex;flex-direction:column;justify-content:center;padding:8px 14px;border-radius:12px;color:var(--text);gap:5px}.mindmap-root{background:color-mix(in srgb,var(--branch-color) 7%,var(--node-bg));border:2px solid color-mix(in srgb,var(--branch-color) 35%,var(--border));border-radius:24px;padding:14px 22px;align-items:center;text-align:center;box-shadow:0 5px 20px #20322509}.topic-root-icon{color:var(--branch-color);flex-shrink:0}.mindmap-main{background:var(--branch-color);color:var(--topic-ink);border-radius:14px;padding:12px 16px}.mindmap-leaf{border-radius:12px;background:color-mix(in srgb,var(--branch-color) 14%,var(--node-bg));border:1px solid color-mix(in srgb,var(--branch-color) 40%,var(--border));color:var(--text);padding:8px 12px}.mindmap-topic .topic-title{font-size:17px;font-weight:500;color:inherit;max-height:2.8em}.mindmap-root .topic-title{font-size:21px;font-weight:650;line-height:1.25;letter-spacing:-.4px}.mindmap-main .topic-title{font-weight:600}.mindmap-leaf.topic-left{text-align:right}.mindmap-topic.is-selected{outline:2px solid var(--branch-color);outline-offset:5px}.topic-details{display:flex;align-items:center;gap:6px;flex-wrap:wrap;font-size:9px;max-height:2.8em;overflow:hidden}.topic-details>span:not(.node-status){opacity:.8}.topic-details>.node-status{align-self:center}.mindmap-topic[data-node-status]:not(.mindmap-root){padding-block:6px}.mindmap-topic[data-node-status] .topic-title{flex-shrink:1;min-height:1.4em}.topic-details:has(.node-status){flex-shrink:0;flex-wrap:nowrap;min-height:18px;max-height:18px}.topic-details:has(.node-status)>span:not(.node-status){min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mindmap-root .node-status-overview{align-self:center}.mindmap-leaf.topic-left .node-status-overview{align-self:flex-end}.topic-edit{display:block;width:100%;min-height:0;height:2.8em;background:transparent;color:inherit;border:0;border-radius:0;padding:0;margin:0;resize:none;font-size:17px;font-weight:500;line-height:1.35;text-align:inherit}.mindmap-root .topic-edit{font-size:21px;font-weight:650;height:2.5em}.topic-edit:focus-visible{outline:0}.topic-branch-controls{position:absolute;right:-40px;top:50%;transform:translateY(-50%);display:flex;gap:4px;align-items:center}.topic-left .topic-branch-controls{right:auto;left:-40px;flex-direction:row-reverse}.topic-branch-controls button{width:18px;height:18px;min-height:18px;padding:0;background:var(--node-bg);color:var(--branch-color);border:2px solid var(--branch-color);border-radius:50%;font-size:9px}.topic-branch-controls .topic-add{opacity:0}.mindmap-topic:hover .topic-add,.mindmap-topic.is-selected .topic-add,.topic-add:focus-visible{opacity:1}.mindmap-topic .react-flow__handle{background:var(--branch-color);width:6px;height:6px;opacity:0}.mindmap-topic:hover .react-flow__handle,.mindmap-topic.is-selected .react-flow__handle{opacity:1}.mindmap-topic .react-flow__handle.source{z-index:2}.topic-overview .topic-title{font-size:15px}.topic-overview{box-shadow:none}.react-flow__handle{height:7px;width:7px;border:1px solid var(--canvas);background:#8ba69b;opacity:.65}.react-flow__handle-top,.react-flow__handle-bottom{opacity:0}.vn-node:hover .react-flow__handle,.is-selected .react-flow__handle{opacity:1}.shape-pill{border-radius:44px;padding-left:23px;padding-right:23px}.shape-decision{border:1px solid var(--node-accent);border-radius:14px 3px;background:color-mix(in srgb,var(--node-accent) 5%,var(--node-bg))}.shape-decision .node-topline>svg{fill:color-mix(in srgb,var(--node-accent) 18%,transparent)}.shape-milestone{border-left-width:5px}.shape-timeline{background:color-mix(in srgb,var(--node-accent) 5%,var(--node-bg))}.shape-io{transform:skew(-4deg);border-radius:2px}.shape-io>div{transform:skew(4deg)}.shape-document{border-bottom:3px double var(--node-accent);border-radius:5px 5px 14px 2px}.shape-database{border-radius:20px/8px;border:1px solid var(--node-accent);border-top-width:3px}.shape-system{border:1px dashed var(--node-accent)}.shape-note{border:1px solid #d0bb7433;border-left-color:#c2a653;background:color-mix(in srgb,#eacd77 13%,var(--node-bg));border-radius:2px 2px 13px}.shape-group{border:1px dashed var(--node-accent);background:color-mix(in srgb,var(--node-accent) 3%,transparent);border-radius:7px}.shape-group .node-title{font-size:11px}.shape-group .node-topline{font-size:7px}.shape-group .node-bottomline{margin-top:0}.timeline-ruler{position:absolute;top:0;left:0;right:0;height:30px;border-bottom:1px solid var(--border);background:var(--surface);pointer-events:none;overflow:hidden}.timeline-ruler span{position:absolute;top:8px;font-size:9px;color:var(--muted);padding-left:5px;border-left:1px solid var(--border);white-space:nowrap}.properties{border-left:1px solid var(--border);background:var(--surface);overflow-y:auto}.panel-heading{min-height:59px;padding:0 18px;display:flex;gap:8px;align-items:center;font-size:11px;font-weight:600;border-bottom:1px solid var(--border)}.panel-heading .muted{font-size:9px;margin-left:auto;font-weight:400}.property-content{padding:19px 18px}.property-empty{padding:35px 22px;color:var(--muted);font-size:12px;text-align:center}.property-section{font-size:9px;color:var(--muted);font-weight:600;text-transform:uppercase;letter-spacing:1px;border-top:1px solid var(--border);margin:22px -18px 17px;padding:18px 18px 0}.diagram-summary{border-bottom:1px solid var(--border);padding-bottom:21px;margin-bottom:21px}.diagram-summary h2{font-size:18px;line-height:1.4;font-weight:500;margin:11px 0 8px;letter-spacing:-.5px}.diagram-summary p{color:var(--muted);font-size:10px}.entity-id{color:var(--subtle);font:8px ui-monospace,monospace;overflow:hidden;text-overflow:ellipsis;margin:15px 0}.property-tip{border:1px solid var(--border);border-radius:5px;padding:13px;color:var(--muted);font-size:10px;margin-top:35px;line-height:1.8}.property-tip b{font-weight:500;color:var(--text)}.property-tip p{margin:7px 0 10px}.property-tip kbd{margin-right:3px}.text-link{display:flex;align-items:center;gap:4px;font-size:10px}.owner-checklist{display:grid;gap:7px;font-size:11px}.owner-checklist label{display:flex;align-items:center;gap:7px}.metadata-editor textarea{font:10px ui-monospace,monospace;margin-bottom:8px}.welcome{flex:1;display:flex;flex-direction:column;justify-content:center;align-items:center;padding:40px;text-align:center;background-image:radial-gradient(var(--grid) .6px,transparent .6px);background-size:24px 24px}.welcome-mark{width:57px;height:57px;display:grid;place-items:center;border:1px solid var(--border);border-radius:10px;background:var(--surface);color:var(--accent);margin-bottom:25px}.welcome h1{font-size:clamp(24px,3vw,42px);line-height:1.2;font-weight:500;letter-spacing:-1.6px;margin:17px 0}.welcome>p{font-size:12px;line-height:1.8;color:var(--muted);max-width:400px}.welcome-actions{display:flex;flex-wrap:wrap;align-items:center;gap:18px;margin:26px 0}.welcome-actions button{min-height:44px;padding:9px 15px}.welcome-actions a{display:flex;gap:5px;align-items:center;font-size:11px}.welcome-bottom{display:flex;gap:10px;font-size:10px;color:var(--muted);margin-top:15px}.welcome-bottom i{font-style:normal;color:var(--subtle)}.notice{padding:9px 14px;background:#c58a3c13;color:var(--caution);border-bottom:1px solid var(--border);display:flex;align-items:center;flex-wrap:wrap;gap:8px;font-size:10px}.notice>span{flex:1}.notice button{font-size:9px;min-height:25px;padding:3px 7px}.error-notice{color:var(--danger);background:#c66e5510}.template-label{display:block;margin:22px 0 12px}.template-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.template-option{display:flex;flex-direction:column;align-items:stretch;padding:11px;gap:6px;text-align:left;border:1px solid var(--border);background:var(--surface);min-width:0;white-space:normal;overflow-wrap:anywhere}.template-option.selected{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent)}.template-option b{font-size:11px;font-weight:500}.template-option small{font-size:9px;color:var(--muted)}.template-preview{position:relative;height:55px;margin-bottom:5px;background:var(--surface-alt);border:1px solid var(--border);border-radius:3px}.template-preview span,.template-preview i{position:absolute;top:20px;width:18px;height:11px;border:1px solid #77a58b;background:var(--surface);border-radius:2px}.template-preview span{left:15%}.template-preview i:nth-of-type(1){left:40%}.template-preview i:nth-of-type(2){left:65%}.template-preview i:nth-of-type(3){display:none}.template-preview:after{content:"";position:absolute;top:25px;left:25%;width:45%;border-top:1px solid #b2c3b3;z-index:-1}.preview-blank span,.preview-blank i{display:none}.preview-blank{background-image:radial-gradient(var(--grid) 1px,transparent 1px);background-size:8px 8px}.preview-mindmap span{width:25px;top:21px;left:30%}.preview-mindmap i{left:65%}.preview-mindmap i:nth-of-type(1){top:6px;left:65%}.preview-mindmap i:nth-of-type(2){top:35px;left:65%}.preview-timeline span{width:42px;top:10px}.preview-timeline i:nth-of-type(1){width:42px;top:25px}.preview-timeline i:nth-of-type(2){width:30px;top:38px}.preview-flowchart i:nth-of-type(1){transform:rotate(45deg);width:11px}.owner-dialog{display:grid;grid-template-columns:235px 1fr;gap:24px}.owner-list{border-right:1px solid var(--border);padding-right:16px;max-height:520px;overflow-y:auto}.owner-list>input{margin-bottom:12px}.owner-dialog form h3{font-size:13px;font-weight:600;margin-bottom:18px}.owner-row{width:100%;display:flex;border:0;background:transparent;gap:10px;padding:9px 4px;justify-content:flex-start;text-align:left}.owner-row b{display:block;font-size:11px;font-weight:500}.owner-row small{display:block;font-size:9px;color:var(--muted);margin-top:3px}.avatar{width:29px;height:29px;border-radius:5px;display:grid;place-items:center;font-size:9px;font-weight:600;flex-shrink:0}.search-input{display:flex;align-items:center;gap:8px;color:var(--muted)}.search-input input{border:0;font-size:13px}.search-results{margin:18px -10px 0;max-height:420px;overflow-y:auto}.search-results>button{display:flex;width:100%;justify-content:flex-start;padding:12px;border:0;text-align:left}.search-results button>span:first-of-type{flex:1}.search-results b{font-size:12px;font-weight:500}.search-results small{display:block;color:var(--muted);font-size:10px;margin-top:4px}.search-results>p{padding:20px}.settings-message{word-break:break-word;color:var(--accent);font-size:11px;margin:15px 0}.shortcuts{display:grid;gap:9px;font-size:11px}.shortcuts>div{display:flex;justify-content:space-between;align-items:center;color:var(--muted)}.file-input{position:absolute;top:0;left:0;width:1px;height:1px;min-height:0;opacity:0;pointer-events:none}.help-page{max-width:840px;margin:55px auto;padding:0 30px 80px;font-size:14px;line-height:1.9;color:var(--text)}.help-page h1{font-size:36px;letter-spacing:-1px;font-weight:500;margin:20px 0}.help-page h2{font-size:21px;font-weight:600;margin:35px 0 13px}.help-page p{margin:14px 0}@media(max-width:1360px){.document-actions{gap:6px}.document-actions button{min-width:36px;min-height:36px;padding:8px}.document-actions button span{display:none}}@media(max-width:1180px){.application{grid-template-columns:210px minmax(0,1fr) 248px}.sidebar-section-title{font-size:8px}.document-bar{padding:0 13px}.editor-toolbar{gap:6px}.layout-group select{max-width:88px}.property-content{padding:16px 14px}.mode-badge{display:none}}@media(max-width:950px){.application{grid-template-columns:178px minmax(0,1fr) 218px}.workspace-label{padding:17px 10px;gap:6px}.workspace-label b{font-size:10px}.workspace-label small{font-size:9px}.workspace-symbol{width:24px;height:26px}.new-diagram span{display:none}.canvas-statusbar>span:last-child{display:none}.save-status{font-size:0;gap:0}.brand-version{display:none}.document-title h1{font-size:13px}.document-actions{gap:5px}.welcome{padding:25px}}@media(max-width:720px){.application{grid-template-columns:155px minmax(0,1fr)}.properties{display:none}.template-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.owner-dialog{grid-template-columns:145px 1fr;gap:12px}}@media(prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}}.mobile-only{display:none}.projects-shell,.properties-shell{display:contents}.author-credit{display:block;font-size:10px;color:var(--muted);padding:10px 8px 2px}.site-shell nav{align-items:center}.github-link{display:inline-flex;align-items:center;justify-content:center;min-width:28px;min-height:28px}.site-credit{font-size:10px}.document-title{flex:1}.document-title h1{margin:0;min-width:0}.project-title-button{padding:7px 3px;border:0;background:transparent;color:var(--text);font:inherit;font-weight:600;max-width:100%;overflow:hidden;text-overflow:ellipsis;justify-content:start}.project-title-button svg{opacity:.45;flex-shrink:0}.project-title-button:hover{color:var(--accent)}.project-title-input{width:min(380px,100%);font-size:15px;font-weight:600}.project-icon-picker{flex-shrink:0}.context-toolbar:empty,.context-toolbar:not(:has(.selection-tools)){display:none}.context-toolbar{background:var(--surface);border:1px solid var(--border);border-radius:12px;box-shadow:var(--shadow);padding:5px 8px}.react-flow__panel.selection-panel{z-index:60}.selection-tools{display:flex;gap:4px;align-items:center}.selection-tools>button{border:0;background:transparent}.selection-tools>.completion-action.is-done{background:var(--status-done-bg);color:var(--status-done-ink)}.quick-picker{margin:0;position:relative;color:var(--text)}.quick-picker>summary{display:flex;gap:7px;align-items:center;min-height:32px;padding:7px 9px;border-radius:6px;color:var(--text);list-style:none}.quick-picker>summary::-webkit-details-marker{display:none}.quick-picker[open]>summary,.quick-picker>summary:hover{background:var(--accent-bg);color:var(--accent)}.compact-picker>summary span{display:none}.compact-picker>summary{padding:6px}.picker-panel{position:absolute;z-index:100;top:calc(100% + 6px);left:0;width:276px;max-width:calc(100vw - 28px);background:var(--surface);padding:12px;border:1px solid var(--border);border-radius:12px;box-shadow:var(--shadow)}.status-picker-panel{width:220px}.status-picker-panel label{display:flex;flex-direction:column;gap:8px}.status-picker-panel select{width:100%}.icon-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:5px;margin:10px 0}.icon-grid button{display:flex;flex-direction:column;gap:5px;padding:8px 3px;min-height:56px;font-size:9px;white-space:normal}.color-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}.color-grid button{min-height:38px;border:2px solid var(--surface);border-radius:9px;box-shadow:0 0 0 1px var(--border)}.custom-color{display:flex;align-items:center;justify-content:space-between;font-size:12px;margin-top:12px}.custom-color input{width:64px}.topic-with-icon{display:flex;gap:8px;align-items:center}.topic-with-icon svg{flex-shrink:0}.topic-left .topic-with-icon{justify-content:flex-end}[data-theme=dark] .topic-root-icon{color:#a4d5b6}@media(max-width:950px){.site-credit{display:none}}@media(max-width:900px),(max-width:1100px)and (max-height:500px){.mobile-only{display:inline-flex}.desktop-tools,.toolbar-divider,.toolbar-spacer{display:none!important}.application,.application.map-focus{grid-template-columns:minmax(0,1fr)}.application .sidebar{display:none}.application[data-mobile-panel=projects] .sidebar{display:flex;position:fixed;inset:0 auto 0 0;width:min(320px,88vw);height:100dvh;z-index:90;box-shadow:var(--shadow);overflow-y:auto}.application[data-mobile-panel=projects] .sidebar>*{flex-shrink:0}.application[data-mobile-panel=projects] .diagram-list{flex:none;overflow-y:visible}.workspace-label .mobile-only{margin-left:auto}.mobile-scrim{position:fixed;inset:0;z-index:80;background:#10231c66;border:0;border-radius:0;width:100%;height:100%}.document-bar{min-height:59px;padding:0 8px;gap:6px}.document-title{gap:4px;min-width:0}.document-title h1{font-size:13px}.project-title-button{display:block;min-height:44px;width:100%;text-align:left}.project-title-button svg{display:none}.project-title-input{font-size:16px;min-width:0}.document-actions{gap:2px}.document-actions button{min-width:40px;min-height:44px;padding:9px}.document-actions button span,.document-actions>.icon-button{display:none}.project-menu{min-width:40px;min-height:44px;padding:8px}.project-icon-picker summary{min-height:44px;width:28px;padding:5px}.editor-toolbar{min-height:54px;padding:4px 8px;gap:4px;overflow:visible}.editor-toolbar button,.editor-toolbar summary{min-height:44px;min-width:40px;padding:8px}.editor-toolbar .toolbar-group{gap:1px}.sibling-button span{display:none}.mobile-more{margin-left:auto}.mobile-more .picker-panel{left:auto;right:-40px}.mobile-tool-menu{display:grid;gap:7px;max-height:calc(100dvh - 180px);overflow-y:auto}.mobile-tool-menu button{justify-content:flex-start;font-size:13px}.context-toolbar{position:fixed;bottom:calc(16px + env(safe-area-inset-bottom));left:50%;transform:translate(-50%);z-index:60;width:max-content;max-width:calc(100vw - 24px);border:1px solid var(--border);border-radius:14px;padding:5px;box-shadow:var(--shadow)}.react-flow__panel.selection-panel.top.center{position:static;transform:none;margin:0}.selection-tools{gap:2px;flex-wrap:wrap;justify-content:center}.selection-tools>button,.selection-tools>.quick-picker>summary{min-height:44px;min-width:44px;width:44px;padding:8px}.selection-tools>button span,.selection-tools>.quick-picker>summary span{display:none}.selection-tools .picker-panel{position:fixed;top:auto;bottom:calc(100% + 12px);left:50%;transform:translate(-50%);width:min(320px,calc(100vw - 28px))}.selection-tools .status-picker-panel{width:min(240px,calc(100vw - 28px))}.status-picker-panel select{min-height:44px}.selection-tools .icon-picker{position:fixed;left:50%;width:min(320px,calc(100vw - 28px))}.properties-shell{display:none}.application[data-mobile-panel=details] .properties-shell{display:flex;position:fixed;left:0;right:0;bottom:0;height:min(75dvh,680px);z-index:90;border-radius:18px 18px 0 0;overflow:hidden;box-shadow:var(--shadow);background:var(--surface)}.application[data-mobile-panel=details] .properties{display:flex;flex-direction:column;width:100%;padding-bottom:env(safe-area-inset-bottom)}.mobile-sheet-close{position:absolute;right:10px;top:5px;min-width:44px;min-height:44px;z-index:1;border:0;background:var(--surface)}.panel-heading{min-height:54px;padding-right:60px}.property-content{padding:16px}.property-content input,.property-content select,.property-content textarea,.modal input:not([type=checkbox]):not([type=radio]),.modal select,.modal textarea{font-size:16px;min-height:44px}.icon-grid button,.color-grid button{min-height:44px}.picker-panel input{font-size:16px;min-height:40px}.workspace-nav button,.diagram-item,.sidebar-footer button,.new-diagram{min-height:44px}.canvas-toggles{margin-bottom:0}.canvas-shell:has(.selection-tools) .canvas-toggles{margin-bottom:calc(110px + env(safe-area-inset-bottom))}.canvas-toggles button{min-width:36px;min-height:36px}.react-flow__controls{margin:0 0 22px 10px!important}.canvas-shell:has(.selection-tools) .react-flow__controls{margin-bottom:calc(130px + env(safe-area-inset-bottom))!important}.react-flow__controls-button{width:34px;height:36px}.react-flow__minimap{display:none}.topic-branch-controls button{width:26px;height:26px;min-height:26px}.mindmap-topic .topic-add{opacity:1}.canvas-statusbar{font-size:10px;min-height:24px}.canvas-statusbar>span:last-child{display:none}.welcome{padding:24px}.welcome h1{font-size:31px}.owner-dialog{grid-template-columns:1fr}.owner-list{max-height:180px;border-right:0;border-bottom:1px solid var(--border)}}@media(max-width:360px){.editor-toolbar{gap:2px;padding-inline:3px}.editor-toolbar .toolbar-group{gap:0}}.local-storage-badge{display:inline-flex;align-items:center;gap:5px;border:0;padding:2px 5px;background:transparent;color:var(--muted);font-size:11px;line-height:1.5}.storage-facts{display:grid;grid-template-columns:minmax(96px,.75fr) minmax(0,1.6fr);gap:9px 12px;margin:16px 0;font-size:13px}.storage-facts dt{color:var(--muted)}.storage-facts dd{margin:0;overflow-wrap:anywhere}.storage-actions{display:flex;flex-wrap:wrap;gap:8px;margin:14px 0 8px}.storage-notice{color:var(--muted);font-size:12px;line-height:1.6;padding:12px 0;border-top:1px solid var(--border)}.storage-details,.storage-danger{margin-top:18px;font-size:13px}.storage-details summary,.storage-danger summary{cursor:pointer;padding:7px 0}.storage-danger{margin-top:26px;border-top:1px solid var(--border);padding-top:10px}.storage-danger summary{color:var(--danger, #a84236)}.backup-nudge{display:flex;align-items:center;flex-wrap:wrap;gap:4px;padding:8px 0;font-size:11px;color:var(--muted)}.backup-nudge>span{width:100%}.backup-nudge>button{font-size:11px}.mcp-state{font-size:13px;color:var(--text)}.canvas-statusbar>span:first-child{display:flex;align-items:center;gap:5px}@media(max-width:720px){.canvas-statusbar .local-storage-badge span{display:inline}.storage-facts{gap:7px;font-size:12px}}.application.analytics-active{grid-template-columns:236px minmax(0,1fr)}.analytics-active .properties-shell{display:none}.analytics-template-choice{margin:18px 0;padding:18px;border:1px solid var(--border);border-radius:10px}.analytics-template-choice label{display:flex;align-items:center;gap:10px;padding:9px 0}.analytics-template-choice p{line-height:1.6;margin:8px 0 0}.analytics-active .canvas-statusbar>span:last-child{display:none}.analytics-document-bar{min-width:0}@media(max-width:760px){.application.analytics-active{grid-template-columns:minmax(0,1fr)}.analytics-document-bar .mode-badge,.analytics-document-bar .document-actions button span{display:none}.analytics-document-bar .document-actions button{min-width:44px;min-height:44px}.analytics-document-bar .document-actions .save-status{font-size:0;gap:0}}.template-preview.preview-analytics{display:grid;place-items:center;color:var(--accent)}.template-preview.preview-analytics svg{width:90%;height:90%}.app-language-bootstrap{max-width:38rem;margin:3rem auto;padding:1.5rem;line-height:1.6}.app-language-bootstrap>div,.app-language-notice{display:flex;flex-wrap:wrap;gap:.75rem;align-items:center}.app-language-notice{position:fixed;z-index:10000;inset:auto 1rem 1rem;max-width:52rem;margin-inline:auto;padding:.9rem;color:var(--text);background:var(--surface);border:1px solid var(--border);border-radius:.75rem;box-shadow:0 8px 30px #0002}.app-language-notice span{flex:1 1 16rem;overflow-wrap:anywhere}.app-language-bootstrap button,.app-language-notice button{min-height:44px}.modal-shade{position:fixed;inset:0;z-index:1000;background:#15291d66;display:flex;align-items:center;justify-content:center;padding:30px;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.modal{background:var(--surface);border:1px solid var(--border);border-radius:9px;box-shadow:var(--shadow);width:440px;max-width:100%;min-width:0;padding:24px;max-height:90dvh;overflow-y:auto;overscroll-behavior:contain}.modal-wide{width:680px}.modal-heading{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:22px}.modal-heading h2{min-width:0;font-size:17px;font-weight:600;letter-spacing:-.4px;line-height:1.4;overflow-wrap:anywhere}.modal-heading .icon-button{flex-shrink:0}.modal-content{display:flex;flex-direction:column;gap:16px;min-width:0}.modal-content form,.modal-content fieldset,.modal-content>section,.modal-content>:is(.diagram-file-import,.lovable-dialog,.data-inspection,.source-refresh){display:grid;gap:16px;min-width:0}.modal-content>section{gap:12px;padding-top:20px;border-top:1px solid var(--border)}.modal-content .data-inspection>section{display:grid;gap:12px;min-width:0}.modal-content .data-inspection>section>*{margin-block:0}.modal-content>p,.modal-content form>*,.modal-content fieldset>*,.modal-content>section>*,.modal-content>:is(.diagram-file-import,.lovable-dialog,.data-inspection,.source-refresh)>*{margin-block:0}.modal-content p{font-size:12px;line-height:1.7;overflow-wrap:anywhere}.settings-dialog :is(.settings-copy,.backup-security-notice){display:grid;gap:12px;min-width:0}.settings-dialog :is(.settings-copy,.backup-security-notice)>*{margin-block:0}.modal-content>.author-credit{padding:0;font-size:10px;line-height:1.6}.modal-content .field{min-width:0;gap:8px;margin:0 0 16px;font-size:12px;line-height:1.5}.modal-content>.field,.modal-content :is(form,fieldset,section,details,.field-row,.csv-control-row,.code-view-settings,.diagram-file-import,.lovable-dialog,.source-refresh)>.field{margin:0}.modal-content .field-row{align-items:start;gap:16px 12px}.modal-content input:not([type=checkbox]):not([type=radio]),.modal-content select,.modal-content textarea{min-width:0;min-height:38px}.modal-content :is(.check-field,.csv-check){min-height:38px;gap:10px;margin:0;line-height:1.5}.modal-content :is(input[type=checkbox],input[type=radio]){width:16px;height:16px;min-height:16px;margin:0;flex-shrink:0}.modal-content .property-section{margin:0;padding:0;border-top:0;font-size:10px}.modal-content>.property-section{margin-top:4px;padding-top:20px;border-top:1px solid var(--border)}.modal-content .mcp-connection-info{display:grid;gap:12px;min-width:0;padding:16px;border:1px solid var(--border);border-radius:8px;background:var(--surface-alt)}.modal-content details{min-width:0;margin:0}.modal-content details[open]>summary{margin-bottom:12px}.modal-content details[open]>:not(summary)+:not(summary){margin-top:12px}.modal-content :is(.storage-details,.storage-danger){border-top:1px solid var(--border);padding-top:12px}.modal-content .storage-facts{gap:10px 16px;line-height:1.5}.modal-content .storage-actions{gap:10px}.modal-content .shortcuts>div{align-items:start;flex-wrap:wrap;gap:8px 16px;line-height:1.6}.modal-content .shortcuts kbd{flex-shrink:0}.modal-actions,.modal-content .dialog-actions{display:flex;align-items:center;justify-content:flex-end;flex-wrap:wrap;gap:10px;border-top:1px solid var(--border);padding-top:16px;margin-top:0;font-size:11px}.modal-actions a{margin-right:auto}.modal-content :is(.modal-actions,.dialog-actions)>button{min-height:38px;white-space:normal}.modal-content .import-limit-warning{padding:12px 14px;border:1px solid var(--border);border-radius:7px;background:var(--surface-alt)}@media(max-width:900px),(max-width:1100px)and (max-height:500px){.modal-shade{padding:max(12px,env(safe-area-inset-top)) 0 0;align-items:flex-end}.modal{width:min(680px,100%);max-height:calc(100dvh - max(12px,env(safe-area-inset-top)));padding:20px 20px calc(20px + env(safe-area-inset-bottom));border-radius:22px 22px 0 0}.modal-heading{position:sticky;top:-20px;z-index:2;background:var(--surface);min-height:56px;margin:-8px 0 16px;padding-block:8px;border-bottom:1px solid var(--border)}.modal-heading h2{margin:0;font-size:18px}.modal-content :is(input:not([type=checkbox]):not([type=radio]),select,textarea),.modal-content :is(.check-field,.csv-check),.modal-content :is(.modal-actions,.dialog-actions)>button{min-height:44px}.modal-content :is(input:not([type=checkbox]):not([type=radio]),select,textarea){font-size:16px}.modal-heading .icon-button{min-width:44px;min-height:44px}}@media(max-width:600px){.modal-content .storage-facts{grid-template-columns:minmax(80px,.75fr) minmax(0,1.6fr);gap:10px 12px}.modal-content .storage-actions>button{flex:1 1 150px;min-height:44px;white-space:normal}}.app-update-workspace{display:contents}.app-update-notice{position:fixed;z-index:130;right:max(20px,env(safe-area-inset-right));bottom:calc(20px + env(safe-area-inset-bottom));width:min(440px,calc(100vw - 40px));max-height:calc(100dvh - 40px);overflow:auto;padding:20px;border:1px solid var(--border);border-radius:16px;background:var(--surface);color:var(--text);box-shadow:var(--shadow)}.app-update-copy p,.app-update-progress p{margin:10px 0 0;line-height:1.5}.app-update-actions{display:flex;justify-content:flex-end;flex-wrap:wrap;gap:10px;margin-top:16px}.app-update-actions button{min-height:44px}.app-update-overlay{position:fixed;z-index:150;inset:0;display:grid;place-items:center;padding:20px;background:#15251bd9}.app-update-progress{width:min(420px,100%);padding:24px;background:var(--surface);color:var(--text);border:1px solid var(--border);border-radius:16px;box-shadow:var(--shadow)}@media(max-width:600px){.app-update-notice{right:max(12px,env(safe-area-inset-right));bottom:calc(12px + env(safe-area-inset-bottom));width:calc(100vw - 24px);padding:16px}.app-update-actions button{flex:1;justify-content:center}}.csv-metric-summary{display:grid;gap:3px;width:100%;margin:8px 0 0;font-size:11px;line-height:17px;color:inherit}.csv-metric-summary>div{display:flex;align-items:baseline;justify-content:space-between;gap:12px;min-width:0}.csv-metric-summary dt{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;opacity:.82}.csv-metric-summary dd{margin:0;font-weight:600;font-variant-numeric:tabular-nums;white-space:nowrap}.csv-properties{min-width:0}.csv-group-overflow{margin:5px 0 0;font-size:10px;line-height:15px;opacity:.85}.csv-navigation-actions{display:flex;flex-wrap:wrap;gap:6px;margin:8px 0}.csv-group-notice{padding:9px;border:1px solid var(--border);border-radius:6px;background:var(--surface-alt);font-size:11px}.csv-properties p{margin:8px 0;line-height:1.6}.csv-source-name,.csv-grouping-path{overflow-wrap:anywhere}.csv-measure-controls,.csv-column-controls{display:grid;gap:9px;margin:10px 0}.csv-measure-control .check-field{margin:0;align-items:baseline}.csv-measure-control .check-field>span{flex:1;min-width:0;overflow-wrap:anywhere}.csv-measure-control .check-field>b{flex-shrink:0;font-size:12px;font-variant-numeric:tabular-nums}.csv-measure-quality{display:block;margin:2px 0 0 23px;color:var(--muted);line-height:1.5}.csv-measure-help{font-size:11px}.csv-source-rows,.csv-source-columns{margin:12px 0}.csv-source-rows>summary,.csv-source-columns>summary{cursor:pointer;line-height:1.8}.csv-table-scroll{max-width:100%;max-height:320px;overflow:auto;border:1px solid var(--border);border-radius:6px}.csv-source-table{width:100%;border-collapse:collapse;font-size:11px;text-align:left}.csv-source-table th,.csv-source-table td{padding:7px 9px;min-width:88px;border-bottom:1px solid var(--border);vertical-align:top;max-width:220px;overflow-wrap:anywhere}.csv-source-table th{position:sticky;top:0;background:var(--surface-alt);font-weight:600}@media(max-width:720px){.csv-properties .check-field{min-height:44px;align-items:center}.csv-source-rows>summary,.csv-source-columns>summary{min-height:44px;padding:10px 0}}.csv-metric-block{width:100%;min-width:0;flex-shrink:0}.vn-node[data-node-background],.mindmap-topic[data-node-background]{color:var(--text)}.vn-node[data-node-background]:not(.shape-ibm):not(.notation-node),.mindmap-topic[data-node-background]{background:var(--node-bg)}.mindmap-topic[data-node-background] .topic-title{color:var(--text)}.sql-table-summary{width:100%;min-width:0;flex-shrink:0}.sql-columns{width:100%;border-collapse:collapse;text-align:left;table-layout:fixed;font-size:10px;line-height:13px;color:var(--text)}.sql-columns th,.sql-columns td{padding:2px 3px;border-bottom:1px solid var(--border);vertical-align:top;overflow-wrap:anywhere}.sql-columns th{font-weight:600}.sql-columns th:first-child{width:38%}.sql-columns th:nth-child(2){width:30%}.sql-columns thead{color:var(--muted)}.sql-table-summary .sql-columns th,.sql-table-summary .sql-columns td{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sql-column-rules{display:flex;flex-wrap:wrap;gap:3px}.sql-column-rule{font-size:9px;line-height:13px;font-weight:500;color:var(--text);background:var(--surface-alt);border-radius:3px;padding-inline:3px}.sql-column-rule abbr{text-decoration:none}.sql-columns-overflow,.sql-column-legend{margin:5px 0 0;font-size:9px;line-height:13px;color:var(--muted)}.sql-column-legend{font-size:8px}.sql-table-details{min-width:0}.sql-qualified-name{font-size:12px;font-weight:600;margin:0 0 10px;overflow-wrap:anywhere}.sql-schema-notice,.sql-external-table{font-size:11px;line-height:1.6;color:var(--muted)}.sql-columns-scroll{max-height:360px;max-width:100%;overflow:auto;border:1px solid var(--border);border-radius:6px}.sql-table-details .sql-columns{table-layout:auto;font-size:11px;line-height:16px}.sql-table-details .sql-columns th,.sql-table-details .sql-columns td{min-width:90px;max-width:220px;padding:6px}.sql-table-details .sql-columns thead th{position:sticky;top:0;background:var(--surface-alt)}.sql-schema-keys{margin:12px 0;font-size:11px;line-height:1.7;overflow-wrap:anywhere}.sql-schema-keys dt{color:var(--muted);margin-top:8px}.sql-schema-keys dd{margin:0}.sql-schema-keys ul{margin:0;padding-left:16px}.sql-schema-pagination{display:flex;flex-wrap:wrap;align-items:center;gap:6px;margin-top:8px}.sql-schema-pagination button{min-height:44px;padding:8px;font-size:11px}.sql-schema-pagination>span{font-size:10px;color:var(--muted)}.code-summary{width:100%;min-width:0;min-height:0;flex:1;display:flex;flex-direction:column;gap:5px;font-size:11px;line-height:1.5}.code-object-kind{color:var(--muted);flex-shrink:0}.code-object-scroll{min-height:0;flex:1;overflow:auto;overscroll-behavior:contain;touch-action:pan-y;-webkit-user-select:text;user-select:text;scrollbar-width:thin;scrollbar-color:var(--node-accent, #31766c) transparent;scrollbar-gutter:stable;padding-right:4px;border-radius:3px}.code-object-scroll:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.code-object-scroll::-webkit-scrollbar{width:7px;height:7px}.code-object-scroll::-webkit-scrollbar-thumb{background:var(--node-accent, #31766c);border:2px solid var(--node-bg);border-radius:8px}.code-object-path,.code-object-name{font-family:ui-monospace,monospace;overflow-wrap:anywhere;margin:3px 0}.code-object-name>span{color:var(--muted);font-family:system-ui,sans-serif}.code-summary ul{list-style:none;padding:0;margin:5px 0}.code-summary li{overflow-wrap:anywhere;font-family:ui-monospace,monospace;border-bottom:1px solid var(--border);padding:2px 0}.code-summary-footer{flex-shrink:0;display:flex;flex-wrap:wrap;justify-content:space-between;gap:4px 8px;color:var(--muted);font-size:9px}.code-resize-hint{margin-left:auto}.code-summary[data-exporting=true] .code-object-scroll{scrollbar-width:none}.code-summary[data-exporting=true] .code-object-scroll::-webkit-scrollbar{display:none}.code-node{gap:7px}.code-node .node-title{overflow-wrap:anywhere}.code-node .node-bottomline{flex-shrink:0}.react-flow__resize-control.handle.code-resize-handle{width:14px;height:14px;border:2px solid var(--surface);border-radius:4px;box-shadow:0 0 0 1px var(--accent),0 2px 5px #0002}.react-flow__resize-control.handle.code-resize-handle.bottom.right{width:24px;height:24px}.code-resize-handle.bottom.right:after{content:"↘";display:grid;place-items:center;color:#fff;font:700 18px/1 system-ui}@media(pointer:coarse),(max-width:900px){.react-flow__resize-control.handle.code-resize-handle{width:24px;height:24px}.react-flow__resize-control.handle.code-resize-handle.bottom.right{width:32px;height:32px}}.code-details{min-width:0;font-size:11px;line-height:1.6;overflow-wrap:anywhere}.code-details dl{margin:8px 0}.code-details dt{color:var(--muted);margin-top:7px}.code-details dd{margin:0}.code-details ul{padding-left:17px;max-height:320px;overflow:auto}.code-details p{color:var(--muted)}.sql-query-summary,.sql-query-details{min-width:0;max-width:100%}.sql-query-summary{width:100%;flex-shrink:0;color:var(--text)}.sql-query-badges{display:flex;flex-wrap:wrap;gap:4px;margin:3px 0 7px;font-size:9px;line-height:14px;overflow-wrap:anywhere}.sql-query-badges>span,.sql-query-badges>code{background:var(--surface-alt);border:1px solid var(--border);border-radius:3px;padding:1px 4px}.sql-query-badges>code{max-width:100%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sql-query-table-name{margin:3px 0 7px;font:10px/15px ui-monospace,monospace;overflow-wrap:anywhere;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.sql-query-observed-columns{margin:0;padding-left:14px;columns:2;font:10px/16px ui-monospace,monospace}.sql-query-observed-columns li{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sql-query-overflow,.sql-query-notice{font-size:10px;line-height:1.6;color:var(--muted);margin:5px 0;overflow-wrap:anywhere}.sql-query-outputs{width:100%;border-collapse:collapse;table-layout:fixed;text-align:left;font-size:10px;line-height:14px}.sql-query-outputs th,.sql-query-outputs td{padding:3px;border-bottom:1px solid var(--border);vertical-align:top;overflow-wrap:anywhere}.sql-query-outputs th:first-child{width:36%}.sql-query-outputs thead{color:var(--muted)}.sql-query-summary .sql-query-outputs th,.sql-query-summary .sql-query-outputs td{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sql-query-outputs code,.sql-query-fields code,.sql-query-source-columns code{font-size:inherit}.sql-query-warning{color:var(--danger, #a84236);font-size:10px}.sql-query-clauses{margin:12px 0;font-size:11px;line-height:1.7;overflow-wrap:anywhere}.sql-query-clauses dt{color:var(--muted);font-size:10px;font-weight:650;margin-top:7px}.sql-query-clauses dd{margin:0;font-family:ui-monospace,monospace;white-space:pre-wrap}.sql-query-details .sql-query-clauses dd{max-height:320px;overflow:auto}.sql-query-clauses-compact{margin:7px 0 0;font-size:9px;line-height:13px}.sql-query-clauses-compact dt{font-size:8px}.sql-query-clauses-compact dd{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.sql-query-fields{margin:12px 0;font-size:11px;line-height:1.7;overflow-wrap:anywhere}.sql-query-fields dt{color:var(--muted);margin-top:8px}.sql-query-fields dd{margin:0}.sql-query-condition{max-height:320px;overflow:auto;white-space:pre-wrap}.sql-query-output-scroll,.sql-query-source-columns{max-height:420px;max-width:100%;overflow:auto;border:1px solid var(--border);border-radius:6px}.sql-query-source-columns{padding:10px 10px 10px 28px;font-size:11px;line-height:1.7;overflow-wrap:anywhere}.sql-query-details .sql-query-outputs{table-layout:auto;font-size:11px;line-height:16px}.sql-query-details .sql-query-outputs th,.sql-query-details .sql-query-outputs td{min-width:90px;max-width:220px;padding:6px}.sql-query-details .sql-query-outputs thead th{position:sticky;top:0;background:var(--surface-alt)}.sql-query-reference-list{padding-left:14px;margin:0;font-size:10px}.sql-query-pagination{display:flex;flex-wrap:wrap;align-items:center;gap:6px;margin-top:8px}.sql-query-pagination button{min-height:44px;padding:8px;font-size:11px}.sql-query-pagination>span{font-size:10px;color:var(--muted)}.simulation-node-summary{--simulation-traffic: #8994a6}.simulation-node-summary[data-traffic=clear]{--simulation-traffic: #169b65}.simulation-node-summary[data-traffic=busy]{--simulation-traffic: #d49a16}.simulation-node-summary[data-traffic=congested]{--simulation-traffic: #dc5055}.simulation-node-state{display:flex;align-items:center;flex-wrap:wrap;gap:4px 8px}.simulation-node-kind{text-transform:capitalize;opacity:.75}.simulation-traffic-badge{display:inline-flex;align-items:center;gap:4px;max-width:100%;padding:2px 6px 2px 4px;border:1px solid color-mix(in srgb,var(--simulation-traffic) 55%,transparent);border-radius:20px;background:color-mix(in srgb,var(--simulation-traffic) 12%,transparent);font-weight:650;line-height:1.3}.simulation-traffic-symbol{display:grid;place-items:center;flex:0 0 12px;width:12px;height:12px;border-radius:50%;background:var(--simulation-traffic);color:#fff;font-size:10px;font-weight:800;line-height:1}.simulation-node-summary[data-traffic=busy] .simulation-traffic-symbol{color:#202936}.simulation-utilization-track{display:block;height:3px;width:100%;overflow:hidden;border-radius:3px;background:color-mix(in srgb,currentColor 12%,transparent)}.simulation-utilization-track>span{display:block;width:var(--simulation-utilization, 0%);height:100%;background:var(--simulation-traffic)}.simulation-node-queue{display:block;padding:3px 6px;border-radius:4px;background:color-mix(in srgb,currentColor 6%,transparent);font-variant-numeric:tabular-nums}.simulation-node-queue[data-has-queue=true]{background:color-mix(in srgb,var(--simulation-traffic) 14%,transparent);border-inline-start:3px solid var(--simulation-traffic);font-weight:650}.vn-node:has(.simulation-node-summary[data-traffic=congested]){outline:2px solid #dc5055;outline-offset:2px}.vn-node:has(.simulation-node-summary[data-traffic=busy]){outline:1px solid #d49a16;outline-offset:2px}@media(forced-colors:active){.simulation-traffic-badge,.simulation-node-queue{border:1px solid CanvasText}.simulation-node-summary[data-traffic] .simulation-traffic-symbol{background:CanvasText;color:Canvas}}.vn-node>.simulation-node-summary{flex:1;min-height:0;min-width:0;font-size:11px;line-height:1.5;gap:8px}.simulation-node-summary>.simulation-node-state,.simulation-node-summary>.simulation-node-queue{flex-shrink:0}.simulation-node-details{display:grid;align-content:start;gap:6px;flex:1;min-width:0;min-height:0;overflow:auto;overflow-wrap:anywhere;overscroll-behavior:contain;touch-action:pan-y;-webkit-user-select:text;user-select:text;scrollbar-width:thin;scrollbar-color:var(--node-accent, #31766c) transparent;scrollbar-gutter:stable;padding-right:4px;border-radius:3px}.simulation-node-details>.simulation-node-resources{white-space:normal;overflow:visible;text-overflow:clip}.simulation-node-details:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}.simulation-node-details::-webkit-scrollbar{width:7px;height:7px}.simulation-node-details::-webkit-scrollbar-thumb{background:var(--node-accent, #31766c);border:2px solid var(--node-bg);border-radius:8px}@media(pointer:coarse),(max-width:760px){.vn-node>.simulation-node-summary{font-size:12px}}.simulation-process-navigation{display:flex;flex-wrap:wrap;align-items:center;gap:10px 16px;max-width:min(760px,calc(100vw - 28px));padding:10px 12px;border:1px solid var(--border);border-radius:12px;background:var(--surface);box-shadow:0 3px 14px #0000000d;color:var(--text);font-size:12px}.simulation-process-breadcrumbs{display:flex;flex-wrap:wrap;align-items:center;gap:4px 8px;min-width:0}.simulation-process-breadcrumbs>span{display:inline-flex;align-items:center;gap:8px;min-width:0}.simulation-process-navigation button{font-size:12px;min-height:32px;max-width:230px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.simulation-process-navigation button[aria-current=page]{background:var(--surface);color:var(--accent);font-weight:650}.simulation-process-all{margin-left:auto}.simulation-process-card{border-width:2px;padding:14px}.simulation-process-summary{display:flex;flex-direction:column;gap:6px;margin-top:6px;font-size:11px;min-width:0}.simulation-process-summary[data-traffic=clear]{--simulation-traffic: #169b65}.simulation-process-summary[data-traffic=busy]{--simulation-traffic: #d49a16}.simulation-process-summary[data-traffic=congested]{--simulation-traffic: #dc5055}.simulation-process-summary[data-traffic=inactive]{--simulation-traffic: #8994a6}.simulation-process-summary .simulation-traffic-badge{align-self:flex-start}.simulation-process-values{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.simulation-process-values>span{display:flex;flex-direction:column;gap:3px}.simulation-process-values small,.simulation-process-members,.simulation-process-context{color:var(--muted)}.simulation-process-values strong{font-size:17px;font-variant-numeric:tabular-nums}.simulation-process-summary button{align-self:flex-start;min-height:34px;margin-top:2px}.simulation-process-description{margin:0;color:var(--muted);line-height:1.5;max-height:65px;overflow:auto}.simulation-process-bottleneck{overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.simulation-process-spatial-navigation{position:absolute;z-index:15;top:12px;left:12px}.simulation-process-spatial-note{flex-basis:100%;color:var(--muted)}.simulation-process-editor-members{display:grid;gap:8px}.simulation-process-editor-members label{display:flex;gap:8px;align-items:center}.simulation-process-editor-members input{width:auto}@media(max-width:760px){.simulation-process-navigation{padding:8px;gap:6px 8px;max-width:calc(100vw - 24px)}.simulation-process-navigation button{min-height:44px;max-width:170px}.simulation-process-all{margin-left:0}}.simulation-process-card .node-title{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;flex-shrink:0}.simulation-process-card:has([data-traffic=congested]){outline:2px solid #dc5055;outline-offset:2px}.simulation-process-card:has([data-traffic=busy]){outline:1px solid #d49a16;outline-offset:2px}.simulation-process-spatial-shell{position:relative;flex:1;min-width:0;min-height:0;display:flex;flex-direction:column}.simulation-pool-card{padding:9px 10px;gap:4px;--node-accent: #31766c}.simulation-pool-card .node-title{font-size:11px;white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.simulation-pool-card .node-topline{min-height:12px}.simulation-pool-summary{display:flex;flex-direction:column;gap:5px;font-size:10px;--simulation-traffic: #8994a6}.simulation-pool-summary[data-traffic=clear]{--simulation-traffic: #169b65}.simulation-pool-summary[data-traffic=busy]{--simulation-traffic: #d49a16}.simulation-pool-summary[data-traffic=congested]{--simulation-traffic: #dc5055}.simulation-pool-summary .simulation-traffic-badge{align-self:flex-start}.simulation-pool-values{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}.simulation-pool-values>span{display:flex;flex-direction:column;gap:2px}.simulation-pool-values small{color:var(--muted);font-size:8px}.simulation-pool-values strong{font-size:15px;font-variant-numeric:tabular-nums}.simulation-pool-units{display:flex;align-items:center;gap:4px;font-size:8px}.simulation-pool-units i{width:10px;height:9px;border-radius:2px;background:var(--surface-alt);border:1px solid var(--border)}.simulation-pool-units i[data-occupied=true]{background:var(--simulation-traffic);border-color:var(--simulation-traffic)}.simulation-pool-card:has([data-traffic=congested]){outline:2px solid #dc5055;outline-offset:2px}.simulation-process-choice{display:flex;align-items:center;gap:8px;min-width:0;font-size:11px}.simulation-process-choice select{width:min(220px,45vw);min-height:32px;font-size:12px}@media(max-width:760px){.simulation-process-choice{flex-basis:100%}.simulation-process-choice select{flex:1;width:100%;min-height:44px;max-width:240px}}.canvas-shell.simulation-process-canvas{display:flex;flex-direction:column;min-width:0}.simulation-process-nav-strip{flex:none;min-width:0;padding:8px 12px;border-bottom:1px solid var(--border);background:var(--surface)}.simulation-process-nav-strip>.simulation-process-navigation{max-width:100%;border:0;border-radius:0;padding:0;box-shadow:none}.simulation-pool-domain{display:grid;gap:4px;font-size:11px;overflow-wrap:anywhere}.simulation-pool-domain button{padding:4px 6px;font-size:10px}.toolbar-menu{flex-shrink:0}.toolbar-menu>button{white-space:nowrap}.toolbar-menu-panel{position:fixed;z-index:110;width:min(310px,calc(100vw - 24px));box-sizing:border-box;display:grid;gap:7px;overflow-y:auto;overscroll-behavior:contain;background:var(--surface);color:var(--text);padding:12px;border:1px solid var(--border);border-radius:12px;box-shadow:var(--shadow)}.toolbar-menu-panel h3{margin:0;font-size:13px}.toolbar-menu-panel p{margin:0 0 5px;font-size:11px;line-height:1.6;color:var(--muted)}.toolbar-menu-panel button{min-height:40px;justify-content:flex-start;font-size:12px;white-space:normal}.toolbar-menu-panel button:disabled{opacity:.55}.toolbar-menu-panel select{width:100%}.toolbar-menu-panel .toolbar-menu-hint{margin:4px 0 0}@media(max-width:900px),(max-width:1100px)and (max-height:500px){.toolbar-menu-panel button,.toolbar-menu-panel select{min-height:44px}}.node-quick-add-floating{position:fixed;z-index:70}.node-quick-add .toolbar-menu{max-width:100%}.node-quick-add .toolbar-menu>button{max-width:100%;white-space:normal;min-height:36px;padding:7px 12px;border-radius:18px;border-color:var(--accent);color:var(--accent);background:var(--surface);box-shadow:0 3px 12px #00000012;font-weight:600}.node-quick-add .toolbar-menu>button>span{overflow-wrap:anywhere}.node-quick-add-title{overflow-wrap:anywhere}.node-quick-add-choice{gap:12px;padding:10px}.node-quick-add-choice>svg{flex-shrink:0;color:var(--accent)}.node-quick-add-choice>span{display:grid;gap:4px;text-align:left}.node-quick-add-choice strong{font-size:12px;font-weight:600}.node-quick-add-choice small{color:var(--muted);font-size:11px;line-height:1.45}@media(pointer:coarse),(max-width:900px){.node-quick-add .toolbar-menu>button{min-height:44px;padding-inline:14px;border-radius:22px}}.vn-node.shape-ibm{padding:0;background:transparent;border:0;border-radius:0;box-shadow:none;isolation:isolate}.vn-node.shape-ibm.is-selected{outline:none;box-shadow:none}.ibm-node-shape{position:absolute;inset:0;width:100%;height:100%;overflow:visible;z-index:-1;pointer-events:none;filter:drop-shadow(0 2px 3px #2032250c)}.spatial-face-back .ibm-node-shape{transform:scaleX(-1);transform-origin:center}.spatial-face-back .ibm-node-content{left:calc(100% - var(--ibm-content-x) - var(--ibm-content-width))}.ibm-symbol-outline{fill:var(--node-bg, #fff);stroke:var(--node-accent, currentColor);stroke-width:1.5;stroke-linejoin:round}.ibm-symbol-detail{fill:none;stroke:var(--node-accent, currentColor);stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}.shape-ibm.is-selected .ibm-node-shape .ibm-symbol-outline{stroke-width:2.5;filter:drop-shadow(0 0 2px var(--accent))}.shape-ibm .ibm-node-content{position:absolute;left:var(--ibm-content-x);top:var(--ibm-content-y);width:var(--ibm-content-width);height:var(--ibm-content-height);display:flex;flex-direction:column;justify-content:center;align-items:center;gap:4px;overflow:hidden;text-align:center;container-type:size}.shape-ibm .node-topline{min-height:18px;justify-content:center;flex-shrink:0;overflow:hidden}.shape-ibm .node-topline>svg{width:18px;height:18px}.shape-ibm .node-title{width:100%;font-size:14px;line-height:1.35;font-weight:600;overflow-wrap:anywhere;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:3;max-height:4.05em;flex-shrink:1;min-height:0}.shape-ibm .node-title.is-title-editing{display:block;-webkit-line-clamp:unset;max-height:none;min-height:44px;flex-shrink:0;overflow:visible}.shape-ibm .ibm-node-content:has(.is-title-editing){overflow:visible;z-index:4}.shape-ibm .node-status{align-self:center;max-width:100%;flex-shrink:0}.shape-ibm .node-bottomline{margin-top:0;justify-content:center;flex-shrink:0;max-width:100%}.shape-ibm .node-date{margin-left:0}@container (max-height: 72px){.shape-ibm .node-topline,.shape-ibm .node-bottomline{display:none}}@container (max-height: 101px){.shape-ibm .ibm-node-content:has(>.node-status) .node-title:not(.is-title-editing){-webkit-line-clamp:2;max-height:2.7em}}@container (max-height: 59px){.shape-ibm .node-title:not(.is-title-editing){-webkit-line-clamp:2;max-height:2.7em}.shape-ibm .ibm-node-content:has(>.node-status) .node-title:not(.is-title-editing){-webkit-line-clamp:1;max-height:1.35em}}.shape-ibm[data-node-status=done] .ibm-node-shape .ibm-symbol-outline,.shape-ibm[data-node-status=done] .ibm-node-shape .ibm-symbol-detail{stroke:var(--status-done-border, #16803d)}.shape-ibm[data-node-status=done]:after{display:none}.node-topline>.ibm-symbol-icon{flex-shrink:0;overflow:visible}.ibm-symbol-icon .ibm-symbol-outline{fill:none;stroke:currentColor;stroke-width:1}.ibm-symbol-icon .ibm-symbol-detail{stroke:currentColor;stroke-width:1}.node-title.is-title-editing{max-height:none;min-height:44px;overflow:visible}.node-title-input{width:100%;min-height:44px;height:64px;max-height:100%;box-sizing:border-box;margin:0;padding:4px 6px;resize:none;font:inherit;line-height:inherit;text-align:inherit;color:inherit;background:var(--node-bg);border:1px solid var(--node-accent, var(--accent));border-radius:4px;outline-offset:2px}.overview-controls{min-width:180px;max-width:320px;border:1px solid var(--border);border-radius:10px;background:var(--surface);color:var(--text);box-shadow:0 4px 16px #0001;font-size:12px}.canvas-shell:has(.selection-tools) .react-flow__panel.overview-panel{top:calc(var(--selection-toolbar-height, 44px) + 12px)}.overview-controls>summary{display:flex;align-items:center;gap:8px;cursor:pointer;padding:10px 12px;list-style:none}.overview-controls-body{display:flex;flex-direction:column;gap:12px;padding:4px 12px 14px}.overview-controls-body label{display:flex;gap:8px;align-items:center}.overview-controls-body label:has(select){display:flex;flex-direction:column;align-items:stretch;gap:6px}.overview-controls-body p{margin:0;line-height:1.5;color:var(--muted)}.overview-controls-body select,.overview-controls-body button{padding:8px;border:1px solid var(--border);border-radius:7px;background:var(--surface);color:var(--text)}.overview-view-switch{display:flex;gap:6px}.overview-view-switch button{flex:1}.overview-view-switch button[aria-pressed=true]{border-color:var(--accent);background:var(--accent-soft, var(--surface));font-weight:700}.overview-controls-body button{display:flex;justify-content:center;align-items:center;gap:6px}.overview-group-card{height:100%;width:100%;box-sizing:border-box;padding:12px!important;border:2px solid var(--node-accent)!important;border-radius:12px!important;display:flex;flex-direction:column;gap:7px;background:var(--node-bg);overflow:hidden}.overview-card-heading{display:flex;align-items:center;gap:6px;color:var(--muted);font-size:11px}.overview-group-card .node-title{font-weight:700;font-size:18px;line-height:1.2;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.overview-card-count{font-size:26px;line-height:1}.overview-card-count span{font-size:12px;font-weight:400}.overview-card-status{display:flex;flex-wrap:wrap;gap:5px;font-size:11px}.overview-card-status>span{display:flex;gap:5px;padding:3px 5px;border-radius:4px;background:var(--surface)}.overview-status-done{color:#28744f}.overview-status-blocked{color:#bd4437}.overview-group-card small{font-size:10px;color:var(--muted)}.overview-expand{pointer-events:auto;margin-top:auto;border:0;background:transparent;color:var(--text);display:flex;gap:4px;align-items:center;padding:0;font-size:11px;cursor:pointer}.react-flow__node.overview-detail-card.selected .vn-node,.react-flow__node.overview-detail-card.selected .mindmap-topic{outline:2px solid var(--accent);outline-offset:2px;box-shadow:0 0 0 5px #4e9a7812}@media(max-width:900px),(max-width:1100px)and (max-height:500px){.canvas-shell:has(.selection-tools) .react-flow__panel.overview-panel{top:0}.overview-controls{min-width:0;max-width:min(320px,calc(100vw - 24px));width:max-content;border-radius:12px}.overview-controls>summary{min-height:44px;padding:10px 12px}.overview-controls[open]{width:min(320px,calc(100vw - 24px))}.overview-controls-body{max-height:max(110px,calc(100dvh - 220px));overflow:auto;overscroll-behavior:contain}.overview-controls-body button,.overview-controls-body select{min-height:44px}.overview-controls-body select{font-size:16px}}.simulation-feature:not(.simulation-feature-compact){padding:14px 18px;scrollbar-gutter:stable}.simulation-feature .simulation-controls{display:flex;flex-direction:column;align-items:stretch;gap:12px}.simulation-transport{display:flex;align-items:center;flex-wrap:wrap;gap:12px 20px}.simulation-transport>strong{font-size:13px;margin-right:auto}.simulation-panel-toggle{margin-left:auto;min-height:36px;white-space:nowrap}.simulation-panel-body{margin-top:12px}.simulation-panel-body[hidden]{display:none}.simulation-panel-notices:empty{display:none}.simulation-feature.simulation-feature-collapsed{padding:8px 14px;max-height:none;overflow:visible}.simulation-feature-collapsed .simulation-transport{gap:8px 16px}.simulation-feature-collapsed .simulation-time{padding:6px 10px}.simulation-feature-collapsed .simulation-playback button{min-height:36px}.simulation-feature-collapsed .simulation-playback .simulation-icon-action{width:36px;padding:0;justify-content:center}.simulation-feature-collapsed .simulation-panel-notices p{margin:6px 0 0;font-size:11px;line-height:1.5}.simulation-playback,.simulation-time{display:flex;align-items:center;gap:8px}.simulation-feature .simulation-time{padding:8px 12px;border:1px solid var(--border);border-radius:8px;background:var(--surface-alt);font-size:12px;font-variant-numeric:tabular-nums}.simulation-time .simulation-run-status{color:var(--muted);font-size:11px}.simulation-desktop-settings{display:flex;align-items:end;flex-wrap:wrap;gap:12px;padding:12px;border:1px solid var(--border);border-radius:10px}.simulation-desktop-settings label{min-width:70px;color:var(--muted)}.simulation-desktop-settings input,.simulation-desktop-settings select{min-height:32px;font-size:12px;color:var(--text)}.simulation-feature .simulation-desktop-settings .simulation-finish-field{flex-direction:row;align-items:center;align-self:end;min-height:32px}.simulation-feature .simulation-finish-field input[type=checkbox]{width:18px;height:18px;min-height:18px}.simulation-feature .simulation-desktop-settings .simulation-scenario-field{flex:1;min-width:140px}.simulation-bottleneck{display:flex;align-items:baseline;flex-wrap:wrap;gap:6px 12px;font-size:12px;margin-top:14px}.simulation-bottleneck strong{color:var(--muted);font-size:11px;font-weight:500}.simulation-feature .simulation-primary-metrics{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px;margin-block:10px}.simulation-primary-metrics>div{padding:10px 12px;border:1px solid var(--border);border-radius:8px;background:var(--surface-alt);min-width:0}.simulation-feature .simulation-primary-metrics dt{font-size:10px;line-height:1.4}.simulation-feature .simulation-primary-metrics dd{font-size:13px;line-height:1.4;margin-top:5px;overflow-wrap:anywhere}.simulation-feature .simulation-extra-metrics>dl{display:grid;grid-template-columns:repeat(auto-fit,minmax(135px,1fr));gap:16px;padding:14px 0}.simulation-feature:not(.simulation-feature-compact) .simulation-dashboard>details,.simulation-feature:not(.simulation-feature-compact) .simulation-results,.simulation-feature:not(.simulation-feature-compact) .simulation-scenario-options{padding:8px 0;margin:0;border-top:1px solid var(--border)}.simulation-feature:not(.simulation-feature-compact) summary{min-height:24px;line-height:1.5}.simulation-feature:not(.simulation-feature-compact) .simulation-row{gap:14px;padding-top:12px}.simulation-traffic-legend{display:flex;align-items:center;flex-wrap:wrap;gap:8px 18px;font-size:11px;line-height:1.5;margin-block:12px}.simulation-traffic-legend>span{display:inline-flex;align-items:center;gap:6px}.simulation-traffic-legend i{width:8px;height:8px;border-radius:50%}.simulation-traffic-legend small{color:var(--muted);font-size:11px}@media(max-width:1200px){.simulation-feature-collapsed .simulation-transport>strong{display:none}}.simulation-feature{border-bottom:1px solid var(--border);background:var(--surface);padding:10px 14px;flex-shrink:0;max-height:44vh;overflow:auto}.simulation-controls,.simulation-row{display:flex;align-items:end;gap:10px;flex-wrap:wrap}.simulation-controls>strong{align-self:center;margin-right:8px}.simulation-controls button{display:inline-flex;align-items:center;gap:5px}.simulation-controls label,.simulation-row label,.simulation-field{display:flex;flex-direction:column;gap:6px}.simulation-controls label{font-size:11px}.simulation-controls input{width:80px}.simulation-controls output{align-self:center;font-variant-numeric:tabular-nums}.simulation-run-status{align-self:center;text-transform:capitalize}.simulation-dashboard dl{display:flex;flex-wrap:wrap;gap:10px 18px;margin:12px 0}.simulation-dashboard dt{font-size:10px;color:var(--muted)}.simulation-dashboard dd{margin:3px 0 0;font-weight:600;font-variant-numeric:tabular-nums}.simulation-results,.simulation-dashboard details{margin-top:8px}.simulation-table-scroll{overflow-x:auto;margin:12px 0}.simulation-feature table{width:100%;border-collapse:collapse;font-size:12px;white-space:nowrap}.simulation-feature th,.simulation-feature td{padding:8px 12px;border-bottom:1px solid var(--border);text-align:left}.simulation-feature summary{cursor:pointer;font-size:12px}.simulation-modal{display:flex;flex-direction:column;gap:16px}.simulation-modal header{display:flex;justify-content:space-between;gap:16px}.simulation-modal header h2{margin:0}.simulation-modal p{font-size:13px;line-height:1.5}.simulation-modal nav{display:flex;flex-wrap:wrap;gap:8px}.simulation-modal nav button[aria-pressed=true]{background:var(--accent);color:var(--surface)}.simulation-editor-body{display:flex;flex-direction:column;gap:18px}.simulation-modal fieldset{min-width:0;border:1px solid var(--border);border-radius:8px;margin:0;padding:16px;display:flex;flex-direction:column;gap:14px}.simulation-modal legend{padding:0 8px;font-weight:600}.simulation-modal label{font-size:13px}.simulation-modal label input[type=checkbox]{margin-right:8px}.simulation-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:16px}.simulation-modal input:not([type=checkbox]),.simulation-modal select,.simulation-modal textarea{width:100%}.simulation-modal textarea{resize:vertical}.simulation-modal footer{display:flex;justify-content:end;gap:10px}.simulation-resource-binding{display:flex;align-items:center;justify-content:space-between;gap:16px}.simulation-particles{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;z-index:6}.simulation-node-summary{display:flex;flex-direction:column;gap:5px;font-size:10px;margin-top:6px}.vn-node[data-simulation-projected=true]{cursor:pointer}.simulation-node-resources{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}.simulation-capacity-units{display:flex;gap:3px;flex-wrap:wrap}.simulation-capacity-units i{font-style:normal;border:1px solid currentColor;min-width:13px;padding:1px 3px;text-align:center;border-radius:3px}.simulation-capacity-units i.occupied{background:var(--node-accent);color:#fff}.simulation-entity[hidden],.simulation-workbench-body>[hidden]{display:none}.simulation-workbench h3{font-size:17px;margin:0 0 8px}.simulation-workbench label{display:flex;flex-direction:column;gap:8px}.simulation-run-settings{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));align-items:end;gap:16px;margin-block:20px}.simulation-run-settings .simulation-scenario-field{grid-column:1 / -1}.simulation-stop-actions,.simulation-sheet-actions{display:flex;gap:12px;align-items:center}.simulation-sheet-actions{justify-content:space-between;border-top:1px solid var(--border);padding-top:16px}.simulation-sheet-actions button,.simulation-stop-actions button,.simulation-run-settings button{display:inline-flex;justify-content:center;align-items:center;gap:8px}.simulation-workbench input,.simulation-workbench select{width:100%}.simulation-workbench .simulation-finish-field{flex-direction:row;align-items:center;justify-content:space-between}.simulation-workbench .simulation-finish-field input{flex-shrink:0;width:22px;height:22px}.simulation-metric-group h4,.simulation-metric-card h4{margin:0 0 12px;font-size:14px}.simulation-run-card,.simulation-metric-card{border:1px solid var(--border);border-radius:12px;padding:16px;min-width:0}.simulation-run-cards,.simulation-resource-cards,.simulation-type-cards,.simulation-metric-groups{display:grid;gap:16px;margin-block:20px}.simulation-run-card .simulation-run-choice{display:flex;flex-direction:row;align-items:center;min-height:44px;gap:12px}.simulation-run-choice input{width:22px;height:22px;flex-shrink:0}.simulation-run-choice span{display:flex;flex-direction:column;gap:6px;min-width:0}.simulation-run-choice small{color:var(--muted);line-height:1.5}.simulation-card-facts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px 12px;margin:20px 0 0}.simulation-card-facts dt{font-size:12px;color:var(--muted)}.simulation-card-facts dd{margin:6px 0 0;font-weight:600;font-variant-numeric:tabular-nums;overflow-wrap:anywhere}@media(max-width:900px),(max-width:1100px)and (max-height:500px){.simulation-feature-compact{padding:8px 12px;max-height:none;overflow:visible}.simulation-dock{display:flex;align-items:center;gap:8px;min-height:44px}.simulation-dock button{min-height:44px;flex-shrink:0;display:inline-flex;justify-content:center;align-items:center;gap:6px;padding-inline:12px}.simulation-dock .simulation-icon-action{width:44px;padding:0}.simulation-dock-clock{min-width:0;flex:1;display:flex;flex-direction:column;gap:4px;align-items:center;font-size:12px;font-variant-numeric:tabular-nums}.simulation-dock-clock output{white-space:nowrap;font-weight:600;max-width:100%;overflow:hidden;text-overflow:ellipsis}.simulation-dock-clock .simulation-run-status{font-size:10px;line-height:1;color:var(--muted)}.simulation-dock-error{margin:6px 0 0;font-size:12px;line-height:1.4;max-height:34px;overflow:auto}.simulation-workbench-dialog,.simulation-settings-dialog{display:flex;flex-direction:column;height:min(88dvh,900px);overflow:hidden;padding-bottom:max(16px,env(safe-area-inset-bottom))}.simulation-workbench-dialog .modal-heading,.simulation-settings-dialog .modal-heading{position:static;flex-shrink:0;margin-bottom:16px}.simulation-workbench-dialog .modal-content,.simulation-settings-dialog .modal-content{min-height:0;flex:1}.simulation-workbench,.simulation-settings-dialog .simulation-modal{display:flex;flex-direction:column;flex:1;min-height:0;gap:16px}.simulation-settings-dialog .simulation-modal{border:0;padding:0}.simulation-panel-choice,.simulation-edit-context,.simulation-sheet-actions{flex-shrink:0}.simulation-panel-choice{display:flex;flex-direction:column;gap:8px;font-size:12px;font-weight:600}.simulation-workbench-body,.simulation-settings-dialog .simulation-editor-body{flex:1;min-height:0;overflow-y:auto;overflow-x:hidden;overscroll-behavior:contain;padding-bottom:8px;scroll-padding-block:12px}.simulation-workbench .simulation-row{display:grid;grid-template-columns:1fr;gap:16px;align-items:stretch}.simulation-workbench :is(button,summary),.simulation-settings-dialog button,.simulation-settings-dialog label:has(input[type=checkbox]){min-height:44px}.simulation-workbench summary{display:flex;align-items:center;line-height:1.5;font-weight:600;font-size:13px;padding-block:8px}.simulation-workbench summary:before{content:"+";font-size:20px;margin-right:10px}.simulation-workbench details[open]>summary:before{content:"−"}.simulation-workbench :is(button,select),.simulation-settings-dialog button{white-space:normal}.simulation-workbench-body p,.simulation-settings-dialog .simulation-edit-context{margin:0;font-size:12px;line-height:1.6}.simulation-workbench .simulation-notice,.simulation-workbench .error-notice{padding:12px;border-radius:8px;background:var(--surface-alt);margin-bottom:16px}.simulation-dashboard dl,.simulation-dashboard .simulation-card-facts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:0}.simulation-metric-group>dl>div{padding:12px;border-radius:10px;background:var(--surface-alt);min-width:0}.simulation-dashboard dt{font-size:12px;line-height:1.4}.simulation-dashboard dd{font-size:15px;margin-top:8px;overflow-wrap:anywhere}.simulation-results-compact input[type=range]{width:100%;accent-color:var(--accent)}.simulation-modal fieldset{padding:14px;gap:18px}.simulation-grid{grid-template-columns:minmax(0,1fr);gap:18px}.simulation-modal label{display:flex;flex-direction:column;gap:8px;line-height:1.5}.simulation-modal label:has(input[type=checkbox]){flex-direction:row;align-items:center}.simulation-resource-binding{align-items:stretch;flex-direction:column;gap:8px}}@media(max-width:380px){.simulation-dock .simulation-details-action{width:44px;padding:0}.simulation-details-action span{display:none}}@media(max-width:1100px)and (max-height:500px){.simulation-workbench-dialog,.simulation-settings-dialog{height:calc(100dvh - max(12px,env(safe-area-inset-top)));padding-top:12px}.simulation-workbench-dialog .modal-heading,.simulation-settings-dialog .modal-heading{min-height:44px;padding-block:0;margin-top:0;margin-bottom:10px}.simulation-workbench,.simulation-settings-dialog .simulation-modal{gap:10px}.simulation-panel-choice{flex-direction:row;align-items:center;gap:16px}.simulation-panel-choice select{flex:1;min-width:0}.simulation-settings-dialog .simulation-edit-context{font-size:11px;line-height:1.4}.simulation-sheet-actions{padding-top:10px}.simulation-workbench .simulation-run-settings{grid-template-columns:repeat(3,minmax(0,1fr))}.simulation-workbench .simulation-scenario-field{grid-column:auto}}@media(max-width:900px),(max-width:1100px)and (max-height:500px){.react-flow__panel.canvas-tools-panel{left:auto!important;right:12px;bottom:12px;margin:0;transform:none!important;width:max-content}.canvas-toggles{gap:4px;padding:4px;border-radius:14px;box-shadow:0 3px 18px #10231c12}.canvas-toggles>button,.canvas-toggles .toolbar-menu>button{min-width:44px;min-height:44px;padding:10px;border-radius:10px}.canvas-shell:has(.selection-tools) .canvas-toggles{margin-bottom:calc(var(--selection-toolbar-height, 102px) + 12px + env(safe-area-inset-bottom))}.react-flow__controls{margin:0 0 16px 12px!important}.react-flow__controls-button{width:44px;height:44px}.react-flow__controls-zoomin,.react-flow__controls-zoomout{display:none}.canvas-shell:has(.selection-tools) .react-flow__controls{margin-bottom:calc(var(--selection-toolbar-height, 102px) + 24px + env(safe-area-inset-bottom))!important}}.drawing-surface{position:absolute;inset:0;z-index:4;touch-action:none;-webkit-user-select:none;user-select:none;cursor:crosshair}.drawing-eraser{cursor:cell}.react-flow__panel.drawing-panel{z-index:61;max-width:calc(100% - 24px)}.drawing-tools{display:flex;flex-wrap:wrap;align-items:center;gap:4px;background:var(--surface);border:1px solid var(--border);border-radius:10px;padding:5px;box-shadow:var(--shadow);width:max-content;max-width:100%}.drawing-tools button{border:0;background:transparent;min-width:32px;min-height:32px;padding:7px}.drawing-tools button.active{color:var(--accent);background:var(--accent-bg)}.drawing-tools input[type=color]{width:34px;height:32px;min-height:32px;padding:3px;cursor:pointer}.drawing-tools select{min-height:32px;width:65px;padding:4px 7px}.drawing-hint{margin:5px 0 0;padding:4px 7px;width:fit-content;max-width:100%;font-size:10px;color:var(--muted);background:var(--surface);border-radius:5px;pointer-events:none}.drawing-visibility button{background:var(--surface);border:1px solid var(--border);box-shadow:var(--shadow);min-width:36px;min-height:36px;padding:8px}@media(max-width:900px),(max-width:1100px)and (max-height:500px){.react-flow__panel.drawing-panel{margin:8px;max-width:calc(100% - 16px)}.drawing-tools{gap:3px;padding:4px}.drawing-tools button{min-width:40px;min-height:44px}.drawing-tools input[type=color]{width:40px;height:44px}.drawing-tools select{min-height:44px;width:60px}.drawing-hint{font-size:9px}.drawing-visibility button{min-width:44px;min-height:44px}}.process-start-panel{display:grid;justify-items:center;gap:14px;width:min(430px,calc(100vw - 48px));padding:26px;border:1px solid var(--border);border-radius:14px;background:var(--surface);box-shadow:var(--shadow);color:var(--text);text-align:center}.process-start-panel h2,.process-start-panel p{margin:0}.process-start-panel h2{font-size:20px;letter-spacing:-.5px}.process-start-panel p{font-size:13px;line-height:1.65}.process-start-panel small{font-size:11px;line-height:1.6;color:var(--muted)}.process-start-symbols{display:flex;align-items:center;gap:12px;color:var(--accent);padding-bottom:4px}.process-start-panel>button{min-height:42px}.process-wizard-dialog{width:760px}.modal-content form.process-wizard{gap:24px}.process-wizard-progress{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));list-style:none;padding:0;gap:10px}.process-wizard-progress li{display:flex;align-items:center;gap:8px;min-width:0;color:var(--muted);font-size:12px}.process-wizard-progress li>span{display:grid;place-items:center;flex-shrink:0;width:27px;height:27px;border:1px solid var(--border);border-radius:50%;font-weight:600}.process-wizard-progress li[aria-current=step],.process-wizard-progress li[data-complete=true]{color:var(--accent)}.process-wizard-progress li[aria-current=step]>span{background:var(--accent-bg);border-color:var(--accent)}.process-wizard-step,.process-wizard-resource{display:grid;gap:20px;min-width:0}.process-wizard-intro{display:grid;gap:8px}.process-wizard-intro h3,.process-wizard-intro p{margin:0}.process-wizard-intro h3{font-size:20px;line-height:1.35;letter-spacing:-.45px}.process-wizard-intro p{color:var(--muted)}.process-wizard-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.process-wizard-field{display:grid;align-content:start;gap:8px;min-width:0;font-size:12px;font-weight:600}.process-wizard-field small{color:var(--muted);font-weight:400;line-height:1.6}.process-arrival-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.process-arrival-options>button{display:grid;justify-items:start;gap:8px;padding:16px;min-width:0;white-space:normal;text-align:left}.process-arrival-options>button[aria-pressed=true]{border-color:var(--accent);background:var(--accent-bg);color:var(--text);box-shadow:0 0 0 1px var(--accent)}.process-arrival-options span{line-height:1.6;font-size:12px;color:var(--muted)}.process-wizard-check{display:flex;align-items:flex-start;gap:12px;padding:16px;border:1px solid var(--border);border-radius:8px;background:var(--surface-alt);font-size:12px}.process-wizard-check span{display:grid;gap:5px;min-width:0}.process-wizard-check small{color:var(--muted);line-height:1.6}.process-wizard-resource{grid-template-columns:repeat(2,minmax(0,1fr));padding-inline:16px;border-left:2px solid var(--accent)}.process-wizard-note,.process-wizard-warning,.process-wizard-error{padding:12px 14px;border-radius:8px;border:1px solid var(--border);background:var(--surface-alt)}.process-wizard-warning{border-color:#b98a2f;background:color-mix(in srgb,#b98a2f 12%,var(--surface))}.process-wizard-error{border-color:#ba4d4d;color:var(--text)}.process-starter-preview{display:grid;grid-template-columns:minmax(0,1fr) 18px minmax(0,1fr) 18px minmax(0,1fr);gap:10px;align-items:center}.process-starter-preview>div{display:grid;align-content:start;gap:9px;min-height:128px;min-width:0;padding:16px 12px;border:1px solid var(--border);border-radius:10px;background:var(--surface-alt);font-size:12px;overflow-wrap:anywhere}.process-starter-preview svg{color:var(--accent)}.process-starter-preview small{line-height:1.6;color:var(--muted)}.process-wizard-resource-summary{display:flex;align-items:flex-start;gap:10px}.process-wizard-resource-summary svg{flex-shrink:0}.process-wizard-facts{display:grid;gap:0;padding:0;font-size:12px;line-height:1.6}.process-wizard-facts>div{display:grid;grid-template-columns:minmax(150px,1fr) minmax(0,1.6fr);gap:18px;padding-block:10px;border-bottom:1px solid var(--border)}.process-wizard-facts dt{color:var(--muted)}.process-wizard-facts dd{margin:0;overflow-wrap:anywhere}.process-wizard-facts dd small{display:block;margin-top:5px;color:var(--muted);line-height:1.5}.process-wizard-actions{position:sticky;bottom:-24px;z-index:1;display:flex;align-items:center;justify-content:space-between;gap:12px;border-top:1px solid var(--border);background:var(--surface);padding-top:16px;padding-bottom:6px}.process-wizard-actions>span{color:var(--muted);font-size:11px}.process-wizard-actions button{min-height:42px}@media(max-width:600px){.process-start-panel{padding:20px}.process-wizard-progress{gap:6px}.process-wizard-progress li{flex-direction:column;gap:7px;font-size:10px}.process-wizard-grid,.process-arrival-options,.process-wizard-resource{grid-template-columns:minmax(0,1fr)}.process-starter-preview{grid-template-columns:minmax(0,1fr);justify-items:center}.process-starter-preview>div{min-height:auto;width:100%;grid-template-columns:24px minmax(0,1fr)}.process-starter-preview>div>small{grid-column:2}.process-starter-preview>svg{transform:rotate(90deg)}.process-wizard-facts>div{grid-template-columns:minmax(0,1fr);gap:4px}.process-wizard-actions{bottom:calc(-20px - env(safe-area-inset-bottom));padding-bottom:calc(10px + env(safe-area-inset-bottom))}.process-wizard-actions>span{display:none}.process-wizard-actions button{min-height:44px;white-space:normal}}.process-starter-subprocesses>ol{list-style:none;margin:18px 0;padding:0;display:grid;gap:18px}.process-starter-subprocesses li{padding:18px;border:1px solid var(--border);border-radius:12px;background:var(--surface-alt)}.process-starter-subprocesses li>header{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-bottom:16px}.process-starter-review-steps{display:grid;gap:12px;list-style:none;padding:0;margin:20px 0}.process-starter-review-steps li{display:grid;gap:6px;padding:12px 16px;border-left:3px solid var(--accent);border-radius:4px;background:var(--surface-alt)}.process-starter-review-steps span{color:var(--muted);font-size:12px;line-height:1.7}.analysis-tools{display:grid;gap:8px;margin-block:12px}.analysis-dialog{display:grid;gap:24px;padding:18px 24px 24px}.analysis-dialog section{display:grid;gap:12px;min-width:0}.analysis-dialog section+section{border-top:1px solid var(--border);padding-top:20px}.analysis-dialog h3{display:flex;align-items:center;gap:8px;margin:0}.analysis-dialog p{margin:0;line-height:1.5}.analysis-fields{display:grid;grid-template-columns:1fr 1fr;gap:12px}.analysis-dialog .field{margin:0;min-width:0}.analysis-dialog input:not([type=checkbox]),.analysis-dialog select,.analysis-dialog button{min-height:44px}.analysis-actions{display:flex;flex-wrap:wrap;gap:8px}.analysis-check{display:flex;align-items:center;gap:10px;min-height:44px}.analysis-check input{width:18px;height:18px;flex:0 0 18px}.analysis-warning,.analysis-notice{padding:10px 12px;border:1px solid var(--border);border-radius:8px;background:var(--surface)}.analysis-canvas-notice{display:grid;gap:4px;max-width:min(330px,calc(100vw - 32px));font-size:12px;padding:10px;background:var(--surface);border:1px solid var(--border);border-radius:8px;box-shadow:var(--shadow)}.analysis-canvas-notice button{min-height:44px}.react-flow__node.analysis-outside-data-view:after{content:"Outside current data view";position:absolute;left:0;top:-22px;padding:2px 6px;background:#fff4d0;color:#604700;border:1px solid #a98a3a;border-radius:4px;font-size:11px;line-height:16px;white-space:nowrap;pointer-events:none}@media(max-width:520px){.analysis-dialog{padding:14px}.analysis-fields{grid-template-columns:1fr}.analysis-actions>button{flex:1 1 120px}.analysis-canvas-notice{max-width:220px}}@media(max-width:900px),(max-width:1100px)and (max-height:500px){body:has(.application[data-compact-layout=true][data-has-document=true]){overflow:hidden}body:has(.application[data-compact-layout=true][data-has-document=true])>.site-shell{display:none}.application[data-compact-layout=true]{grid-template-columns:minmax(0,1fr);width:100%;min-height:0;padding-inline:env(safe-area-inset-left) env(safe-area-inset-right)}.application[data-compact-layout=true][data-has-document=true]{height:100dvh;padding-top:env(safe-area-inset-top);padding-bottom:env(safe-area-inset-bottom)}.application[data-compact-layout=true] .main-workspace{min-height:0;height:100%;overflow:hidden}.main-workspace>.compact-document-bar,.main-workspace>.compact-editor-toolbar,.main-workspace>.filter-bar,.main-workspace>.notice{flex-shrink:0}.compact-document-bar{height:56px;min-height:56px;padding:4px 8px;gap:4px}.compact-document-bar button,.compact-document-bar summary{min-height:44px;min-width:44px;padding:8px;border-radius:8px}.compact-document-bar .project-menu,.compact-document-bar .compact-edit-button{border:0;background:transparent;flex-shrink:0}.compact-document-bar .compact-edit-button{gap:5px;font-size:12px;font-weight:600}.compact-document-bar .toolbar-menu>button{border:0;background:transparent}.compact-document-bar .document-title{gap:0;overflow:hidden}.compact-document-bar .document-title h1{flex:1;font-size:14px}.compact-document-bar .project-title-button{display:block;font-size:14px;padding-inline:4px;overflow:hidden;text-overflow:ellipsis;text-align:left;width:100%;min-width:0}.compact-document-bar .project-title-button svg,.compact-document-bar .project-icon-picker,.compact-document-bar .mode-badge{display:none}.compact-document-bar .save-status{font-size:0;flex-shrink:0;min-width:14px;margin-right:2px}.compact-document-bar .project-title-input{min-height:44px;font-size:16px}.compact-editor-toolbar{min-height:48px;height:48px;padding:2px 8px;gap:4px;overflow-x:auto;overflow-y:hidden;scrollbar-width:none;overscroll-behavior-x:contain;touch-action:pan-x}.compact-editor-toolbar::-webkit-scrollbar{display:none}.compact-editor-toolbar>button,.compact-view-toggle>button{min-width:44px;min-height:44px;padding:8px;flex-shrink:0;border-radius:7px}.compact-editor-toolbar .add-node{margin-right:auto}.compact-view-toggle{border:0;padding:0;gap:2px;background:var(--surface-alt);border-radius:8px;flex-shrink:0}.compact-view-toggle button[aria-pressed=true]{background:var(--accent);color:var(--on-accent)}.compact-editor-toolbar .add-node span{font-size:12px}.toolbar-menu-panel button,.toolbar-menu-panel select,.toolbar-menu-panel input{min-height:44px;font-size:16px}.toolbar-menu-panel{padding:16px;border-radius:16px;gap:8px;scroll-padding-block:12px}.toolbar-menu-panel h3{margin-top:8px;color:var(--muted);font-size:12px}.compact-menu-link{min-height:44px;display:flex;align-items:center;padding-inline:10px;font-size:14px;border-radius:8px}.compact-menu-link:hover{background:var(--surface-alt)}.application[data-compact-layout=true] .projects-shell,.application[data-compact-layout=true] .properties-shell,.application[data-compact-layout=true] .sidebar{display:none}.application[data-compact-layout=true] .projects-shell[role=dialog],.application[data-compact-layout=true] .properties-shell[role=dialog]{position:fixed;display:flex;flex-direction:column;z-index:90;background:var(--surface);box-shadow:var(--shadow);overflow:auto;overscroll-behavior:contain;padding-top:env(safe-area-inset-top);padding-bottom:env(safe-area-inset-bottom);scrollbar-gutter:stable}.application[data-compact-layout=true] .projects-shell[role=dialog]{inset:0 auto 0 0;width:min(360px,calc(100vw - 24px));height:100dvh;border-radius:0 18px 18px 0;padding-left:env(safe-area-inset-left)}.application[data-compact-layout=true] .projects-shell[role=dialog] .sidebar{position:relative;display:flex;inset:auto;width:100%;height:auto;min-height:100%;overflow:visible;box-shadow:none;border:0}.projects-shell[role=dialog] .sidebar>*{flex-shrink:0}.projects-shell[role=dialog] .diagram-list{flex:1;overflow:visible}.projects-shell[role=dialog] .workspace-label{padding:12px 14px;gap:10px}.projects-shell[role=dialog] .workspace-label b{font-size:14px}.projects-shell[role=dialog] .workspace-label small{font-size:11px}.projects-shell[role=dialog] .workspace-label .local-dot{display:none}.projects-shell[role=dialog] .workspace-label button{margin-left:auto;min-height:44px;min-width:44px;border:0}.projects-shell[role=dialog] button,.projects-shell[role=dialog] input,.projects-shell[role=dialog] select{min-height:44px;font-size:14px}.projects-shell[role=dialog] input,.projects-shell[role=dialog] select{font-size:16px}.projects-shell[role=dialog] .list-filters{gap:10px}.projects-shell[role=dialog] .folder-heading{font-size:12px}.application[data-compact-layout=true] .properties-shell[role=dialog]{inset:0 0 0 auto;width:min(440px,100vw);height:100dvh;border-radius:18px 0 0 18px;padding-right:env(safe-area-inset-right)}.application[data-compact-layout=true] .properties-shell[role=dialog] .properties{display:block;width:100%;min-height:100%;padding-bottom:24px;overflow:visible;border:0}.properties-shell[role=dialog] .panel-heading{position:sticky;top:0;z-index:1;min-height:60px;padding:12px 62px 12px 20px;background:var(--surface);font-size:14px}.properties-shell[role=dialog] .mobile-sheet-close{position:fixed;right:calc(10px + env(safe-area-inset-right));top:calc(8px + env(safe-area-inset-top));z-index:2;border-radius:8px}.properties-shell[role=dialog] .property-content{padding:20px}.properties-shell[role=dialog] input:not([type=checkbox]):not([type=radio]),.properties-shell[role=dialog] select,.properties-shell[role=dialog] textarea{min-height:44px;font-size:16px}.properties-shell[role=dialog] button{min-height:44px}.properties-shell[role=dialog] .field{font-size:13px;gap:8px;margin-bottom:20px}.properties-shell[role=dialog] .field-row{gap:12px}.properties-shell[role=dialog] .check-field{min-height:44px;font-size:14px;gap:12px}.properties-shell[role=dialog] input[type=checkbox],.properties-shell[role=dialog] input[type=radio]{width:18px;height:18px}.mobile-scrim{position:fixed;inset:0;z-index:80;display:block;width:100%;height:100%;border:0;border-radius:0;background:#10231c73;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.application[data-compact-layout=true] .canvas-statusbar{display:none}.application[data-compact-layout=true] .filter-bar{gap:8px;padding:8px;flex-wrap:nowrap;overflow-x:auto;max-width:100%}.application[data-compact-layout=true] .filter-bar select,.application[data-compact-layout=true] .filter-bar input{min-height:44px;font-size:16px;width:140px;flex-shrink:0}.application[data-compact-layout=true] .notice{flex-wrap:wrap;max-height:min(140px,25dvh);overflow-y:auto;padding:12px;gap:8px}.application[data-compact-layout=true] .notice>span{overflow-wrap:anywhere;font-size:13px;min-width:0}.application[data-compact-layout=true] .notice button{min-height:44px}.application[data-compact-layout=true] .welcome{min-height:0;overflow-y:auto;padding:24px}.application[data-compact-layout=true] .welcome button,.application[data-compact-layout=true] .welcome a{min-height:44px}}@media(max-width:480px){.compact-document-bar .compact-edit-button span,.compact-editor-toolbar .add-node span{display:none}}@media(max-width:900px)and (max-height:500px),(max-width:1100px)and (max-height:500px){.compact-document-bar{height:48px;min-height:48px;padding-block:2px}.application[data-compact-layout=true] .welcome h1{font-size:25px}.application[data-compact-layout=true] .welcome-bottom{display:none}}.vn-node.notation-node{padding:0;background:transparent;border:0;border-radius:0;box-shadow:none;isolation:isolate}.notation-node-shape{position:absolute;inset:0;width:100%;height:100%;overflow:visible;pointer-events:none;z-index:-1}.notation-outline{fill:var(--node-bg, var(--surface));stroke:var(--node-accent, currentColor);stroke-width:1.5;stroke-linejoin:round}.notation-outline.fill-none{fill:none}.notation-background{fill:var(--node-bg, var(--surface));stroke:none}.notation-outline.fill-foreground,.notation-fill{fill:var(--node-accent, currentColor);stroke:var(--node-accent, currentColor)}.notation-detail{fill:none;stroke:var(--node-accent, currentColor);stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}.notation-node-content{position:absolute;left:var(--notation-x);top:var(--notation-y);width:var(--notation-width);height:var(--notation-height);display:flex;flex-direction:column;align-items:stretch;gap:4px;text-align:center;overflow:hidden;padding:2px}.notation-node .node-title{flex-shrink:0;font-size:14px;line-height:1.35;overflow-wrap:anywhere}.notation-node[data-notation-title-fill=canvas] .node-title-input{background:var(--surface)}.notation-node-content[data-title-style=italic] .node-title{font-style:italic}.notation-node-content[data-title-style=underlined] .node-title{text-decoration:underline}.notation-node .node-status{align-self:center;flex-shrink:0}.notation-node-content>svg{align-self:center;flex-shrink:0}.notation-prefix{font-size:11px;overflow-wrap:anywhere}.notation-node-heading{display:flex;align-items:center;justify-content:center;gap:6px;min-width:0}.notation-node-heading>svg{flex-shrink:0}.notation-node-heading .node-title{flex-shrink:1;min-width:0}.notation-sections{overflow:auto;scrollbar-width:thin;text-align:left;min-height:0}.notation-section{border-top:1px solid var(--node-accent);padding:6px 4px}.notation-section>strong{display:block;text-align:center;font-size:11px;margin-bottom:4px}.notation-entry{font-size:12px;line-height:1.5;overflow-wrap:anywhere;white-space:pre-wrap}.notation-node.is-selected{outline:none}.notation-node.is-selected .notation-outline{stroke-width:2.5}.notation-node-content:has(.is-title-editing){overflow:visible;z-index:4}.spatial-face-back .notation-node-shape{transform:scaleX(-1)}.spatial-face-back .notation-node-content{left:calc(100% - var(--notation-x) - var(--notation-width))}.notation-container{opacity:1}.notation-fixed-section{position:absolute;padding:4px;overflow:auto;scrollbar-width:thin;font-size:12px;text-align:left}.notation-fixed-section>strong{display:block;text-align:center;font-size:11px;margin-bottom:6px}.spatial-face-back .notation-fixed-section{left:calc(100% - var(--section-x) - var(--section-width))!important}.notation-container .notation-outline{fill-opacity:.035}.notation-content-stack{display:flex;flex-direction:column;align-items:stretch;gap:4px;min-height:0;height:100%}.notation-rotated-content{position:absolute;left:50%;top:50%;display:flex;flex-direction:column;justify-content:center;transform:translate(-50%,-50%) rotate(-90deg);gap:4px}.notation-node-content[data-title-rotation]{padding:0}.notation-fixed-prefix{position:absolute;display:flex;align-items:center;justify-content:center;overflow:hidden;font-size:11px;padding:2px}.spatial-face-back .notation-fixed-prefix{left:calc(100% - var(--prefix-x) - var(--prefix-width))!important}.notation-node-content[data-title-style=hidden]:not(:has(.is-title-editing)){visibility:hidden}.notation-node-content[data-title-style=hidden]:has(.is-title-editing){min-width:200px;min-height:80px}.notation-contrast{fill:none;stroke:var(--node-bg, var(--surface));stroke-width:1.5}.notation-shade{fill:var(--node-accent, currentColor);fill-opacity:.12;stroke:none}.react-flow__edge.selected .react-flow__edge-path.notation-edge-guide{stroke-width:0!important}.react-flow__edge.selected .react-flow__edge-path.notation-edge-heavy{stroke-width:var(--notation-stroke-width, 3.5px)!important}.react-flow__edge.selected .notation-edge-stroke{stroke:var(--accent)}.storyboard-editor{display:flex;flex-direction:column;gap:14px;border-top:1px solid var(--border, #ddd);padding-top:14px}.storyboard-editor fieldset{border:0;padding:0;margin:0;min-width:0;display:flex;flex-direction:column;gap:14px}.storyboard-actions{display:flex;align-items:center;flex-wrap:wrap;gap:10px}.storyboard-actions button{display:flex;align-items:center;gap:6px}.storyboard-scenes{margin:0;padding-left:28px;display:flex;flex-direction:column;gap:8px}.storyboard-scenes li>button:first-child{max-width:calc(100% - 118px);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;text-align:left}.storyboard-scenes li>button{margin-right:5px;vertical-align:middle}.storyboard-scenes button.active{background:#d6eae0;color:#184c38}.storyboard-draft{display:flex;flex-direction:column;gap:12px}.storyboard-draft>label,.storyboard-draft details>label{display:flex;flex-direction:column;gap:6px}.storyboard-draft textarea{resize:vertical;min-height:100px;line-height:1.5}.storyboard-draft details{border:1px solid var(--border, #ddd);border-radius:8px;padding:12px}.storyboard-draft details[open]>summary{margin-bottom:12px}.storyboard-timing{display:flex;gap:14px;flex-wrap:wrap}.storyboard-timing label{display:flex;flex:1;min-width:140px;flex-direction:column;gap:6px}.storyboard-object-list{margin:10px 0 16px;max-height:180px;overflow:auto;display:flex;flex-direction:column;gap:8px}.storyboard-object-list label{display:flex;align-items:center;gap:8px}.storyboard-object-list input{flex:none;width:auto}.storyboard-object-list span{overflow-wrap:anywhere}.presentation-player{position:absolute;z-index:12;bottom:40px;left:50%;transform:translate(-50%);width:min(680px,calc(100% - 24px));max-height:min(70vh,650px);overflow:auto;background:var(--surface, #fff);color:var(--text, #203b35);border:1px solid var(--border, #c6d5ce);border-radius:14px;box-shadow:0 8px 32px #0002;padding:16px;display:flex;flex-direction:column;gap:12px}.presentation-player>*{flex-shrink:0}.presentation-player[data-minimized=true]{display:grid;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:8px;padding:8px 12px}.presentation-player[data-minimized=true] :is(.presentation-secondary,.presentation-video,.presentation-order,.storyboard-editor){display:none}.presentation-player[data-minimized=true] .presentation-heading{grid-column:3;grid-row:1;flex-wrap:nowrap;gap:4px}.presentation-player[data-minimized=true] .presentation-heading>:is(strong,svg){display:none}.presentation-player[data-minimized=true] .presentation-heading>span{margin-right:4px;white-space:nowrap}.presentation-player[data-minimized=true] .presentation-heading button{min-width:36px;min-height:36px}.presentation-player[data-minimized=true] .presentation-current{grid-column:1;grid-row:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:13px}.presentation-player[data-minimized=true] .presentation-control-fieldset{grid-column:2;grid-row:1}.presentation-player[data-minimized=true] .presentation-controls{flex-wrap:nowrap;gap:4px}.presentation-player[data-minimized=true] :is(.presentation-message,.presentation-preparation){grid-column:1 / -1}.presentation-heading,.presentation-controls,.presentation-order-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.presentation-heading>span{margin-left:auto;font-size:12px}.presentation-controls button{min-width:36px;min-height:36px;display:flex;gap:6px;align-items:center;justify-content:center}.presentation-control-fieldset{border:0;margin:0;padding:0;min-width:0}.presentation-video{display:flex;flex-direction:column;gap:8px;border-top:1px solid var(--border, #ddd);padding-top:12px}.presentation-controls button[aria-pressed=true]{background:#d6eae0;color:#184c38}.presentation-current{overflow-wrap:anywhere}.presentation-subtitle{background:#142b26;color:#fff;border-radius:8px;padding:12px 16px;line-height:1.6;max-height:120px;overflow:auto;white-space:pre-wrap}.presentation-subtitles-overlay{position:absolute;z-index:13;left:50%;transform:translate(-50%);width:min(760px,calc(100% - 32px));text-align:center;pointer-events:none}.presentation-caption{display:inline-block;max-width:100%;border-radius:8px;padding:10px 16px;background:#10251ef0;color:#fff;box-shadow:0 2px 12px #0003;font:500 clamp(14px,1.4vw,18px) / 1.45 system-ui,sans-serif;white-space:pre-wrap;overflow-wrap:anywhere}.main-workspace:has(.presentation-player[data-minimized=true]) .react-flow__panel.canvas-tools-panel{bottom:var(--presentation-controls-offset, 200px)}.main-workspace:has(.presentation-player[data-minimized=true]) .react-flow__controls{bottom:var(--presentation-controls-offset, 200px);margin-bottom:0!important}.presentation-message{margin:0;font-size:12px;overflow-wrap:anywhere}.presentation-preparation{display:flex;flex-direction:column;gap:6px;font-size:12px}.presentation-preparation progress{width:100%}.presentation-order{display:flex;flex-direction:column;gap:12px;border-top:1px solid var(--border, #ddd);padding-top:12px}.presentation-timing{display:flex;flex-wrap:wrap;gap:12px}.presentation-timing label{flex:1;min-width:150px;display:flex;flex-direction:column;gap:6px}.presentation-order ol{margin:0;padding-left:28px}.presentation-order li{padding:5px 0}.presentation-order li>span{display:inline-block;width:calc(100% - 100px);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;vertical-align:middle}.presentation-order li>button{padding:4px;margin-left:4px}.presentation-node-number{position:absolute;top:4px;right:4px;z-index:1;font:600 11px/1.4 system-ui;border-radius:6px;background:#183e32;color:#fff;padding:1px 5px;pointer-events:none}.vn-node:has(.presentation-node-number) .node-topline{padding-right:28px}.mindmap-topic:has(.presentation-node-number) .topic-title{padding-right:24px}@media(max-width:900px),(max-width:1100px)and (max-height:500px){.presentation-player{padding:12px 16px;bottom:max(12px,env(safe-area-inset-bottom));gap:10px;width:min(680px,calc(100% - 24px));max-height:calc(100% - 24px);overscroll-behavior:contain;border-radius:18px}.presentation-heading{flex-wrap:nowrap;gap:4px}.presentation-heading strong{font-size:13px}.presentation-heading>span{white-space:nowrap}.presentation-controls{gap:6px}.presentation-player button{min-width:44px;min-height:44px}.presentation-player input,.presentation-player select,.presentation-player textarea{min-height:44px;font-size:16px}.presentation-player[data-minimized=true] .presentation-heading button{min-width:44px;min-height:44px}.presentation-order li{display:flex;flex-wrap:wrap;align-items:center;gap:4px;padding:8px 0;border-bottom:1px solid var(--border)}.presentation-order li>span{width:100%}.presentation-order li>button{margin:0}}.presentation-player[data-minimized=true][data-narrow=true]{grid-template-columns:minmax(0,1fr) auto;gap:4px 8px;border-radius:14px}.presentation-player[data-minimized=true][data-narrow=true] .presentation-heading{grid-column:2}.presentation-player[data-minimized=true][data-narrow=true] .presentation-control-fieldset{grid-column:1 / -1;grid-row:2}.presentation-player[data-minimized=true][data-narrow=true] .presentation-controls{justify-content:center;gap:6px}.presentation-player[data-minimized=true][data-narrow=true] .presentation-controls .primary span{display:none}.presentation-player[data-minimized=true][data-narrow=true] button{min-width:44px;min-height:44px}@media(max-width:599px){.presentation-caption{padding:8px 12px}}.infrastructure-quantity-controls{display:flex;gap:8px;align-items:center;min-width:0}.infrastructure-quantity-controls input{flex:1;min-width:0;width:100%}.infrastructure-quantity-controls select{flex:0 1 170px;min-width:90px}.infrastructure-quantity-controls>span{white-space:nowrap}.infrastructure-domain-fields,.infrastructure-domain-fields fieldset{min-width:0}.infrastructure-metrics>p{margin:0 0 12px;line-height:1.5}.infrastructure-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,260px),1fr));gap:12px}.infrastructure-pool-metrics{min-width:0;border:1px solid var(--border);border-radius:8px;padding:12px;background:var(--surface)}.infrastructure-pool-metrics h5{margin:0 0 8px;overflow-wrap:anywhere}.infrastructure-pool-metrics>dl.infrastructure-pool-facts{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,150px),1fr));gap:16px 12px;margin:16px 0 0}.infrastructure-pool-facts>div{min-width:0}.infrastructure-pool-facts :is(dt,dd){overflow-wrap:anywhere;line-height:1.5}.infrastructure-pressure{display:grid;grid-template-columns:9px minmax(0,1fr);gap:6px;align-items:start;line-height:1.5;overflow-wrap:anywhere}.infrastructure-pressure i{width:9px;height:9px;margin-top:calc(.75em - 4.5px);border-radius:50%;background:var(--pressure-color)}.infrastructure-domain-fields .simulation-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,220px),1fr))}@media(max-width:650px){.infrastructure-quantity-controls select{flex-basis:130px}}.analytics-workspace{flex:1;min-height:0;min-width:0;overflow:auto;overscroll-behavior:contain;background:var(--canvas);color:var(--text);padding:22px clamp(12px,2vw,28px) 40px}.analytics-workspace h1,.analytics-workspace h2,.analytics-workspace h3,.analytics-import h3{margin:0 0 12px;line-height:1.25}.analytics-workspace h1{font-size:clamp(21px,2vw,28px)}.analytics-workspace h2{font-size:19px}.analytics-workspace h3{font-size:15px}.analytics-workspace p,.analytics-import p{line-height:1.65;margin:8px 0 16px}.analytics-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:20px}.analytics-kicker{font-size:11px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);margin-bottom:8px}.analytics-tabs{display:flex;gap:6px;overflow-x:auto;margin:0 0 20px;padding:4px 2px 10px;scrollbar-width:thin}.analytics-tabs button{flex:0 0 auto;min-height:42px;border-radius:9px;padding:9px 14px;font-weight:600}.analytics-tabs button[aria-selected=true]{background:var(--accent-bg);color:var(--accent);border-color:var(--accent)}.analytics-panel{background:var(--surface);border:1px solid var(--border);border-radius:14px;padding:clamp(14px,2vw,22px);min-width:0;margin-bottom:16px}.analytics-panel-header{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-bottom:16px}.analytics-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,220px),1fr));gap:16px}.analytics-fields{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,180px),1fr));gap:14px;align-items:end}.analytics-workspace label,.analytics-import label{display:flex;flex-direction:column;gap:7px;line-height:1.4;font-size:12px;color:var(--muted);min-width:0}.analytics-workspace input,.analytics-workspace select,.analytics-workspace textarea,.analytics-import input,.analytics-import select,.analytics-import textarea{min-height:42px;width:100%;border-radius:8px;padding:9px 11px}.analytics-workspace button,.analytics-import button{min-height:44px}.analytics-workspace fieldset,.analytics-import fieldset{border:1px solid var(--border);border-radius:10px;padding:16px;margin:16px 0;min-width:0}.analytics-workspace legend,.analytics-import legend{padding:0 6px;font-weight:600}.analytics-actions{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin-top:16px}.analytics-note{background:var(--surface-alt);border:1px solid var(--border);border-radius:10px;padding:13px 16px;font-size:12px;line-height:1.65}.analytics-error{color:var(--danger);border-color:currentColor}.analytics-success{color:var(--accent)}.analytics-table-scroll{overflow-x:auto;max-height:400px;overflow-y:auto;scrollbar-width:thin;border:1px solid var(--border);border-radius:9px}.analytics-table{width:100%;border-collapse:collapse;font-size:12px;font-variant-numeric:tabular-nums}.analytics-table th{text-align:left;position:sticky;top:0;background:var(--surface-alt);color:var(--muted);font-weight:600}.analytics-table th,.analytics-table td{padding:11px 13px;border-bottom:1px solid var(--border);line-height:1.4;white-space:nowrap}.analytics-table tr:last-child td{border-bottom:0}.analytics-table td.analytics-wrap{white-space:normal;min-width:160px}.analytics-empty{text-align:center;max-width:720px;margin:38px auto;padding:32px 24px}.analytics-empty svg{color:var(--accent);margin-bottom:18px}.analytics-example-label{display:inline-flex;align-items:center;gap:6px;font-size:11px;color:var(--muted);border:1px solid var(--border);padding:5px 9px;border-radius:30px}.analytics-chart{width:100%;display:block;height:auto;overflow:visible;touch-action:none;-webkit-user-select:none;user-select:none}.analytics-chart-grid{stroke:var(--grid);stroke-width:1}.analytics-chart text{fill:var(--muted);font-size:11px;font-family:inherit}.analytics-chart-shell{position:relative;min-width:0}.analytics-chart-readout{min-height:54px;display:flex;gap:16px;flex-wrap:wrap;align-items:center;border-top:1px solid var(--border);padding:12px 0 0;font-size:12px;font-variant-numeric:tabular-nums}.analytics-chart-readout strong{color:var(--text)}.analytics-chart-toolbar{display:flex;gap:10px;flex-wrap:wrap;align-items:flex-end;margin-bottom:14px}.analytics-chart-toolbar label{min-width:130px;max-width:240px}.analytics-chip{display:inline-flex;align-items:center;gap:7px;padding:6px 9px;border:1px solid var(--border);border-radius:30px;font-size:11px}.analytics-series-options{display:flex;flex-wrap:wrap;gap:9px;margin:12px 0}.analytics-series-options label{display:inline-flex;flex-direction:row;align-items:center;border:1px solid var(--border);padding:8px 11px;border-radius:9px}.analytics-series-options input[type=checkbox]{width:16px;min-height:16px;margin:0}.analytics-color-dot{width:9px;height:9px;border-radius:50%;display:inline-block;flex-shrink:0}.analytics-stat-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(125px,1fr));gap:12px;margin:15px 0}.analytics-stat{padding:12px;border-radius:9px;background:var(--surface-alt);font-size:12px}.analytics-stat strong{display:block;font-size:18px;margin-top:7px;color:var(--text);font-variant-numeric:tabular-nums}.analytics-choice{padding:20px;border:1px solid var(--border);border-radius:12px;background:var(--surface);text-align:left;display:flex;flex-direction:column;gap:10px;align-items:flex-start}.analytics-choice strong{font-size:16px}.analytics-choice span{color:var(--muted);line-height:1.6}.analytics-rule-row{display:flex;flex-wrap:wrap;gap:12px;align-items:end;border-left:3px solid var(--accent);padding:12px;background:var(--surface-alt);border-radius:0 9px 9px 0;margin:12px 0}.analytics-rule-row label{flex:1;min-width:140px}.analytics-rule-tree{padding:10px;border:1px solid var(--border);border-radius:9px;margin-top:10px}.analytics-rule-tree>.analytics-rule-tree{margin-left:14px}.analytics-results{overflow-wrap:anywhere}.analytics-results pre{max-height:360px;overflow:auto;padding:15px;background:var(--surface-alt);border:1px solid var(--border);border-radius:9px;white-space:pre-wrap;font-size:11px}.analytics-import-drop{border:2px dashed var(--border);border-radius:12px;padding:26px 18px;text-align:center;background:var(--surface-alt);margin-bottom:18px}.analytics-import-drop input{display:block;max-width:420px;margin:14px auto 0}.analytics-progress{display:flex;align-items:center;gap:12px;margin:14px 0}.analytics-progress progress{flex:1;height:10px;accent-color:var(--accent)}.analytics-signal-item{padding:16px;border:1px solid var(--border);border-radius:10px;margin:10px 0}.analytics-signal-item strong{font-size:13px}.analytics-signal-item p{font-size:12px;margin:8px 0}.analytics-link{color:var(--accent)}@media(max-width:600px){.analytics-workspace{padding-top:16px}.analytics-heading{flex-direction:column;gap:8px}.analytics-heading p{margin-bottom:8px}.analytics-tabs{gap:4px;margin-bottom:12px}.analytics-tabs button{padding:9px 11px;font-size:11px}.analytics-panel-header{align-items:flex-start;flex-direction:column}.analytics-chart-toolbar label{max-width:none;flex:1;min-width:125px}.analytics-fields{grid-template-columns:1fr}.analytics-chart-readout{gap:8px 14px}.analytics-empty{margin:10px auto;padding:24px 12px}.analytics-rule-row label{min-width:100%}.analytics-rule-tree>.analytics-rule-tree{margin-left:5px}}@media(prefers-reduced-motion:reduce){.analytics-workspace *,.analytics-import *{scroll-behavior:auto;animation:none!important;transition:none!important}}.analytics-process-link{margin:20px 0;border:1px solid var(--border);padding:16px;border-radius:10px}.analytics-process-link summary{cursor:pointer;padding:8px 0;min-height:44px}.analytics-signal-layout{display:grid;gap:18px;align-items:start}@media(min-width:1200px){.analytics-signal-layout{grid-template-columns:minmax(0,1.05fr) minmax(0,1fr)}.analytics-signal-history{max-height:960px;overflow:auto}}.analytics-chart-legend{display:flex;flex-wrap:wrap;gap:8px 20px;list-style:none;padding:0;margin:14px 0;font-size:12px}.analytics-chart-legend li{display:flex;align-items:center;gap:6px}.analytics-scenario-panels{display:grid;gap:28px;margin-top:20px;min-width:0}.ibm-symbol-properties{display:grid;gap:12px;padding:14px 0;border-top:1px solid var(--border)}.ibm-symbol-properties p{margin:0;line-height:1.5}.ibm-symbol-properties .field{margin:0}.ibm-symbol-preview{display:flex;align-items:center;gap:12px}.ibm-symbol-preview svg{flex-shrink:0}.ibm-symbol-preview p{font-size:12px}.ibm-symbol-palette{display:grid;gap:4px}.ibm-symbol-palette button{display:flex;align-items:center;gap:12px;min-height:56px;text-align:left}.ibm-symbol-palette svg{flex-shrink:0;color:var(--accent);--node-accent: currentColor}.ibm-symbol-palette small{display:block;font-size:11px;color:var(--muted);margin-top:3px}.notation-palette{display:grid;gap:6px;margin-block:12px}.notation-palette button{display:flex;align-items:center;gap:12px;min-height:48px;padding:10px;text-align:left}.notation-palette svg{flex-shrink:0;color:var(--accent)}.notation-palette small{display:block;font-size:11px;color:var(--muted)}.notation-properties{display:grid;gap:12px;padding-block:16px;border-top:1px solid var(--border)}.notation-properties h3,.notation-properties p{margin:0}.notation-compartment-editor{display:grid;gap:8px;padding:10px;border:1px solid var(--border);border-radius:8px;min-width:0}.notation-compartment-editor textarea{font-family:ui-monospace,monospace;resize:vertical}.notation-validation{max-height:240px;overflow:auto;padding-left:20px}.notation-validation li{margin-block:8px}.node-background-field{display:grid;gap:10px;padding:14px 0;border-top:1px solid var(--border)}.node-background-field>label{color:var(--muted);font-size:12px;font-weight:600}.node-background-controls{display:flex;gap:10px;align-items:center}.node-background-controls input[type=color]{width:48px;min-height:44px;flex-shrink:0}.node-background-controls input[type=text]{width:0;flex:1;min-width:0;font-family:monospace}.node-background-field p{margin:0;line-height:1.5}.spatial-canvas{position:relative;min-width:0;min-height:320px;overflow:hidden;isolation:isolate;background:var(--canvas)}.spatial-stage{position:absolute;inset:0 0 28px}.spatial-load-failure{display:grid;justify-items:start;gap:12px;padding:24px;max-width:560px}.spatial-load-failure p{margin:0;line-height:1.5}.spatial-canvas .canvas-statusbar{position:absolute;left:0;right:0;bottom:0;height:28px}.spatial-stage canvas{display:block;width:100%;height:100%;touch-action:none}.spatial-stage canvas:focus-visible{outline:3px solid var(--accent, #2b7554);outline-offset:-3px}.spatial-hud{position:absolute;top:12px;left:12px;right:12px;z-index:5;display:flex;flex-direction:column;align-items:flex-start;gap:12px;max-height:calc(100% - 42px);overflow-y:auto;overscroll-behavior:contain;pointer-events:none}.spatial-hud>*{flex-shrink:0}.spatial-hud>.overview-controls{margin-left:4px;pointer-events:auto}.spatial-toolbar{display:flex;align-items:center;flex-wrap:wrap;gap:6px;width:fit-content;max-width:100%;padding:6px;border:1px solid var(--border);border-radius:12px;background:var(--surface);box-shadow:0 3px 15px #16261a13;pointer-events:auto}.spatial-toolbar button{display:inline-flex;align-items:center;gap:5px;min-height:32px;padding:5px 8px;border-radius:7px;white-space:nowrap}.spatial-toolbar .spatial-return{color:var(--accent, #27724f);font-weight:650}.spatial-toolbar button[aria-pressed=true]{background:color-mix(in srgb,var(--accent, #27724f) 15%,var(--surface));color:var(--accent, #27724f)}.spatial-canvas[data-object-mode=move] .spatial-stage canvas{cursor:grab}.spatial-canvas[data-object-mode=move] .spatial-stage canvas[data-object-dragging=true]{cursor:grabbing}.spatial-stage canvas[data-pan-held=true]{cursor:grab}.spatial-canvas .spatial-stage canvas[data-pan-dragging=true]{cursor:grabbing}.spatial-orientations{display:flex;gap:2px;border-left:1px solid var(--border);padding-left:5px}.spatial-toolbar label{display:flex;align-items:center;gap:4px;padding:0 6px;font-size:12px}.spatial-caption{display:grid;gap:5px;margin-left:6px;max-width:min(530px,calc(100% - 12px));padding:9px 12px;border-radius:8px;color:var(--text);background:color-mix(in srgb,var(--surface) 91%,transparent);pointer-events:none}.spatial-caption strong{font-size:13px}.spatial-help-content{display:grid;gap:5px}.spatial-caption[hidden],.spatial-help-content[hidden]{display:none}.spatial-caption-header{display:flex;align-items:center;justify-content:space-between;gap:12px}.spatial-caption-header button{flex-shrink:0;width:32px;height:32px;pointer-events:auto}.spatial-caption span,.spatial-caption small{font-size:11px;line-height:1.5;color:var(--muted)}.spatial-limit{position:absolute;bottom:84px;left:18px;right:18px;z-index:2;width:fit-content;max-width:min(670px,calc(100% - 36px));padding:10px 12px;border:1px solid var(--border);border-radius:8px;background:var(--surface);font-size:12px;line-height:1.5}.spatial-object-list{margin-left:6px;width:310px;max-width:calc(100% - 12px);border:1px solid var(--border);border-radius:10px;background:var(--surface);box-shadow:0 3px 15px #16261a13;pointer-events:auto}.spatial-object-list>summary{padding:11px 12px;font-size:12px;font-weight:650;cursor:pointer}.spatial-object-list>summary span{float:right;font-size:10px;font-weight:450;color:var(--muted)}.spatial-list-content{max-height:min(450px,49vh);overflow:auto;padding:0 10px 10px}.spatial-list-content label{display:grid;gap:5px;margin-bottom:10px;font-size:11px}.spatial-list-content input{width:100%}.spatial-list-content [role=listitem]>button{display:flex;align-items:center;justify-content:space-between;gap:7px;width:100%;text-align:left;font-size:12px;padding:7px;margin-bottom:3px;border-radius:6px;overflow-wrap:anywhere}.spatial-list-content button[aria-pressed=true]{background:color-mix(in srgb,var(--accent, #27724f) 15%,var(--surface))}.spatial-list-content small{font-size:10px;color:var(--muted)}.spatial-list-content .spatial-complete{color:#218353;font-weight:650}.spatial-list-content nav{display:flex;align-items:center;justify-content:space-between;margin:8px 0;font-size:11px}.spatial-list-content details{margin-top:9px;font-size:11px}.spatial-list-content details>summary{padding:6px 0;cursor:pointer}.spatial-fallback{position:absolute;inset:30% 20px auto;z-index:1;display:grid;justify-items:center;gap:12px;margin:auto;padding:25px;width:fit-content;max-width:480px;border:1px solid var(--border);border-radius:12px;color:var(--text);background:var(--surface);text-align:center}.spatial-fallback h2,.spatial-fallback p{margin:0}.spatial-fallback h2{font-size:17px}.spatial-fallback p{color:var(--muted);font-size:12px;line-height:1.6}@media(max-width:900px),(max-width:1100px)and (max-height:500px){.spatial-canvas{min-height:0}.spatial-hud{top:8px;left:8px;right:8px;gap:8px}.spatial-hud>.overview-controls{margin-left:0}.spatial-toolbar{gap:4px;padding:4px}.spatial-toolbar button{min-width:44px;min-height:44px;padding:10px;font-size:13px}.spatial-orientations{order:4;width:100%;justify-content:space-between;border-left:none;padding-left:0}.spatial-caption{margin-left:4px;max-width:calc(100% - 8px);padding:7px 9px}.spatial-caption span{display:none}.spatial-object-list{margin-left:0;max-width:100%}.spatial-object-list>summary{min-height:44px}.spatial-list-content{max-height:max(110px,calc(100dvh - 220px));overscroll-behavior:contain}.spatial-list-content input{font-size:16px;min-height:44px}.spatial-list-content [role=listitem]>button{min-height:44px}.spatial-caption-header button{width:44px;height:44px}.spatial-canvas .canvas-statusbar span:last-child{display:none}.spatial-fallback{inset:33% 12px auto;padding:16px}}.spatial-title-editor{position:absolute;z-index:8;transform:translate(-50%,-50%);padding:8px;border-radius:6px;background:var(--node-bg);border:1px solid var(--border);box-shadow:0 4px 16px #0002;box-sizing:border-box}.spatial-title-editor .node-title{text-align:center;font-size:14px}.spatial-navigation-gizmo{position:absolute;right:14px;bottom:42px;z-index:2;width:174px;max-width:calc(100% - 28px);padding:7px;border:1px solid var(--border);border-radius:12px;color:var(--text);background:color-mix(in srgb,var(--surface) 96%,transparent);box-shadow:0 3px 15px #16261a13;-webkit-user-select:none;user-select:none}.spatial-gizmo-modes{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:3px}.spatial-gizmo-modes button{display:grid;justify-items:center;gap:3px;min-width:0;min-height:42px;padding:5px 3px;border-radius:7px;font-size:10px}.spatial-gizmo-modes button[aria-pressed=true]{border-color:color-mix(in srgb,var(--accent, #27724f) 55%,var(--border));background:color-mix(in srgb,var(--accent, #27724f) 12%,var(--surface));color:var(--accent, #27724f)}.spatial-gizmo-space{display:block;width:100%;height:126px;overflow:visible;touch-action:none}.spatial-gizmo-ground{fill:color-mix(in srgb,var(--muted) 4%,transparent);stroke:color-mix(in srgb,var(--muted) 15%,transparent);stroke-width:1;pointer-events:none}.spatial-gizmo-control{cursor:grab;outline:none;touch-action:none}.spatial-gizmo-control.is-active{cursor:grabbing}.spatial-gizmo-axis{fill:none;stroke:var(--gizmo-axis);stroke-width:2;stroke-linecap:round;vector-effect:non-scaling-stroke}.spatial-gizmo-marker{fill:var(--gizmo-axis);stroke:var(--surface);stroke-width:1.5}.spatial-gizmo-control text{fill:var(--gizmo-axis);font-size:11px;font-weight:700;pointer-events:none}.spatial-gizmo-hit{fill:transparent;stroke:transparent;stroke-width:2;pointer-events:all}.spatial-gizmo-control:is(:hover,:focus-visible,.is-active) .spatial-gizmo-hit{fill:color-mix(in srgb,var(--gizmo-axis, var(--accent, #27724f)) 12%,transparent);stroke:var(--gizmo-axis, var(--accent, #27724f))}.spatial-gizmo-control:is(:hover,:focus-visible,.is-active) .spatial-gizmo-axis{stroke-width:3}.spatial-gizmo-free-disc{fill:var(--surface);stroke:var(--border)}.spatial-gizmo-free>path{stroke:var(--muted);stroke-width:1.5;stroke-linecap:round;pointer-events:none}.spatial-navigation-gizmo p{display:grid;gap:3px;margin:0;padding:0 2px 2px;color:var(--muted);font-size:10px;line-height:1.45;text-align:center}.spatial-navigation-gizmo p span{font-size:9px}.spatial-navigation-gizmo[aria-disabled=true]{opacity:.5}.spatial-navigation-gizmo[aria-disabled=true] .spatial-gizmo-control{cursor:default;pointer-events:none}@media(max-width:900px),(max-width:1100px)and (max-height:500px){.spatial-navigation-gizmo{right:12px;bottom:40px;width:156px;padding:4px;max-height:calc(100% - 56px);overflow:auto}.spatial-navigation-gizmo[data-expanded=false]{width:auto}.spatial-gizmo-toggle{width:100%;min-height:44px;padding:10px;border:0;border-radius:9px}.spatial-gizmo-space{height:111px}.spatial-gizmo-modes button{min-height:44px}.spatial-navigation-gizmo p span{display:none}}.question-dialog{display:grid;gap:1rem}.question-dialog>section{display:grid;gap:.8rem}.question-answers{display:grid;gap:1rem;padding-left:1.4rem}.question-answers>li{padding:.9rem;border:1px solid var(--border);border-radius:8px}.question-answers>li>span{display:block;margin:.45rem 0;color:var(--muted)}.question-answers details{margin:.7rem 0}.question-answers details li{margin:.8rem 0;overflow-wrap:anywhere}.question-answers details p{margin:.3rem 0}.question-answers code{white-space:normal;overflow-wrap:anywhere}.history-dialog{display:grid;gap:12px}.history-dialog p{margin:0}.history-dialog label{display:grid;gap:6px}.history-create{display:flex;align-items:end;gap:12px}.history-create label{flex:1}.history-capacity{color:var(--muted, #657067);font-size:13px}.history-actions{display:flex;gap:10px;flex-wrap:wrap}.history-dialog section{display:grid;gap:12px}.history-dialog table{width:100%;border-collapse:collapse}.history-dialog th,.history-dialog td{text-align:left;padding:6px;border-bottom:1px solid var(--border, #dce4dc)}.history-changes{max-height:260px;overflow:auto;padding-left:22px;margin:0;overflow-wrap:anywhere}.history-changes li{margin-bottom:7px}.history-dialog .history-ack{display:flex;align-items:start;gap:8px}.history-ack input{flex:none;margin-top:3px}@media(max-width:600px){.history-create{flex-direction:column;align-items:stretch}}.csv-import fieldset{border:1px solid var(--border);border-radius:9px;margin:20px 0;padding:14px;min-width:0}.csv-import legend{font-weight:650;padding:0 6px}.csv-import .muted{font-size:12px;line-height:1.5}.csv-control-row{display:flex;align-items:center;gap:7px;margin-bottom:9px}.csv-control-row input,.csv-control-row select{flex:1;min-width:0;width:100%}.csv-control-row button{flex-shrink:0;padding:7px}.csv-control-row .field{flex:1;min-width:0}.csv-control-row .field select{width:100%}.csv-rule{padding:10px 0;border-bottom:1px solid var(--border);margin-bottom:12px}.csv-check{display:flex;align-items:center;gap:7px;margin:10px 0;font-size:12px}.csv-check input{width:auto}.csv-level-number{font-size:12px;min-width:14px;color:var(--muted)}.csv-analysis-preview{background:var(--surface-alt);padding:15px;border-radius:9px}.csv-analysis-preview h3{margin-top:0}.csv-analysis-preview p{font-size:13px}.csv-preview-measures{display:flex;gap:18px;flex-wrap:wrap}.csv-preview-measures dt{font-size:11px;color:var(--muted)}.csv-preview-measures dd{margin:4px 0;font-size:19px;font-weight:650}.csv-preview-measures small{font-size:10px;color:var(--muted)}.csv-import-table{overflow:auto;max-height:240px;border:1px solid var(--border);margin-top:10px}.csv-import-table table{border-collapse:collapse;font-size:11px;width:max-content;min-width:100%}.csv-import-table th,.csv-import-table td{text-align:left;padding:8px;max-width:220px;white-space:pre-wrap;overflow-wrap:anywhere;border-bottom:1px solid var(--border)}.csv-import-table th{background:var(--surface);position:sticky;top:0}.csv-legacy-import{margin-top:15px;font-size:12px}.csv-focus-note{display:flex;align-items:center;gap:12px;padding:10px;background:var(--accent-bg);font-size:12px}.csv-drop-overlay{position:fixed;inset:80px 30px 30px;z-index:110;pointer-events:none;display:grid;place-content:center;text-align:center;background:color-mix(in srgb,var(--surface) 95%,transparent);border:3px dashed var(--accent);border-radius:16px;color:var(--text)}.csv-drop-overlay strong{display:block;font-size:25px;margin-bottom:12px}.csv-import-progress{position:fixed;bottom:24px;left:50%;transform:translate(-50%);z-index:110;padding:13px 20px;border:1px solid var(--border);background:var(--surface);border-radius:10px;box-shadow:0 5px 20px #0002}@media(max-width:640px){.csv-control-row{flex-wrap:wrap}.csv-control-row select,.csv-control-row input{flex:1 1 40%}.csv-drop-overlay{inset:90px 15px 15px}}.lovable-dialog{min-width:0}.modal:has(.lovable-dialog){min-width:0;max-width:100%}.lovable-intro,.lovable-scope-note,.lovable-disclosure,.lovable-drawing-note,.lovable-link-note,.lovable-copy-notice{font-size:12px;line-height:1.6;overflow-wrap:anywhere}.lovable-intro{margin:0 0 18px}.lovable-scope-note,.lovable-disclosure{color:var(--muted)}.lovable-instructions textarea{min-height:96px}.lovable-counts{display:flex;flex-wrap:wrap;gap:10px 24px;margin:18px 0}.lovable-counts>div{display:flex;flex-direction:column;gap:5px}.lovable-counts dt{color:var(--muted);font-size:11px}.lovable-counts dd{margin:0;font-size:18px;font-weight:650}.lovable-drawing-note,.lovable-link-note{padding:10px 12px;border:1px solid var(--border);border-radius:6px;background:var(--surface-alt)}.lovable-preview textarea{min-height:210px;max-height:45dvh;font:11px/1.6 ui-monospace,monospace;resize:vertical}.lovable-actions{flex-wrap:wrap;justify-content:flex-start}.lovable-actions>button,.lovable-open,.lovable-manual-link{display:inline-flex;align-items:center;justify-content:center;gap:7px;min-height:44px;padding:9px 12px;font-size:12px}.lovable-actions>.lovable-open{margin:0;border:1px solid var(--accent);border-radius:5px;background:var(--accent);color:var(--surface);text-decoration:none}.lovable-actions>.lovable-open:hover{background:var(--accent-hover)}[data-theme=dark] .lovable-actions>.lovable-open{color:#15271b}.lovable-manual-link{margin-top:10px;padding-inline:0;justify-content:flex-start;white-space:normal}.lovable-open:focus-visible,.lovable-manual-link:focus-visible{outline:2px solid var(--accent);outline-offset:2px}@media(max-width:720px){.lovable-dialog select,.lovable-dialog textarea{min-height:44px}.lovable-actions>button,.lovable-actions>.lovable-open{flex:1 1 190px;white-space:normal}.lovable-preview textarea{font-size:12px}}.build-specification{display:grid;gap:1rem}.build-specification details{border:1px solid var(--border);border-radius:8px;padding:.9rem}.build-specification summary{cursor:pointer;font-weight:600}.build-specification pre{max-height:18rem;overflow:auto;white-space:pre-wrap;overflow-wrap:anywhere;padding:.8rem;font-size:.8rem}.build-specification details>.field{margin-top:1rem}.sql-import,.modal:has(.sql-import){min-width:0;max-width:100%}.sql-import-intro,.sql-import-note,.sql-schema-preview p,.sql-preview-warnings{font-size:12px;line-height:1.6;overflow-wrap:anywhere}.sql-import-note{color:var(--muted)}.sql-file-picker{display:inline-flex;align-items:center;flex-wrap:wrap;gap:8px;margin:8px 0 18px;font-size:12px}.sql-file-picker input{max-width:100%;min-width:0}.sql-script-field textarea{min-height:210px;max-height:45dvh;font:12px/1.6 ui-monospace,monospace;resize:vertical}.sql-import-error{padding:12px;border:1px solid var(--danger, #a84236);border-radius:6px;color:var(--danger, #a84236);font-size:13px;overflow-wrap:anywhere}.sql-schema-preview{padding:16px;margin-top:16px;border:1px solid var(--border);border-radius:8px;background:var(--surface-alt)}.sql-schema-preview h3{margin:0 0 15px}.sql-preview-counts{display:flex;flex-wrap:wrap;gap:14px 24px}.sql-preview-counts dt{color:var(--muted);font-size:11px}.sql-preview-counts dd{margin:5px 0 0;font-size:18px;font-weight:650}.sql-preview-tables{padding-left:18px;max-height:240px;overflow:auto}.sql-preview-tables li{padding:4px 0;overflow-wrap:anywhere}.sql-preview-tables strong{font-size:12px}.sql-preview-tables span{display:block;color:var(--muted);font-size:11px;margin-top:3px}.sql-preview-warnings ul{padding-left:18px}.sql-import-actions{flex-wrap:wrap}.sql-import-actions button{min-height:44px}@media(max-width:720px){.sql-import input,.sql-import textarea{min-height:44px}.sql-import-actions button{flex:1 1 150px;white-space:normal}}.code-import,.modal:has(.code-import){min-width:0;max-width:100%}.code-import p,.code-notes{font-size:12px;line-height:1.6;overflow-wrap:anywhere}.code-note{color:var(--muted)}.code-loaders,.code-view-settings{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.code-loaders label{font-size:12px;display:flex;flex-direction:column;gap:8px}.code-loaders input{max-width:100%;min-width:0}.code-source textarea{min-height:180px;max-height:40dvh;font:12px/1.6 ui-monospace,monospace;resize:vertical}.code-file-list{border:1px solid var(--border);border-radius:7px;padding:12px;margin:12px 0}.code-file-language{display:grid;grid-template-columns:minmax(0,1fr) minmax(130px,180px);align-items:center;gap:12px;margin:7px 0}.code-file-language>span{font:11px/1.5 ui-monospace,monospace;overflow-wrap:anywhere}.code-files-actions{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-top:12px;font-size:11px}.code-error{padding:12px;border:1px solid var(--danger, #a84236);border-radius:6px;color:var(--danger, #a84236)}.code-preview{padding:16px;margin-top:16px;border:1px solid var(--border);border-radius:8px;background:var(--surface-alt)}.code-preview h3{margin:0 0 15px}.code-counts{display:flex;flex-wrap:wrap;gap:14px 24px}.code-counts dt{font-size:11px;color:var(--muted)}.code-counts dd{margin:5px 0 0;font-size:18px;font-weight:650}.code-preview-objects{max-height:240px;overflow:auto;padding-left:18px}.code-preview-objects li{padding:4px 0;overflow-wrap:anywhere}.code-preview-objects strong{font-size:12px}.code-preview-objects span{display:block;color:var(--muted);font-size:11px;margin-top:3px}.code-notes ul{padding-left:18px}.code-actions{flex-wrap:wrap}.code-actions button{min-height:44px}@media(max-width:720px){.code-loaders,.code-view-settings{grid-template-columns:1fr}.code-import input,.code-import textarea,.code-import select{min-height:44px}.code-actions button{flex:1 1 145px;white-space:normal}.code-file-language{grid-template-columns:1fr;gap:5px}}.code-archive-progress,.code-project-info{padding:14px;margin:14px 0;border:1px solid var(--border);border-radius:8px;background:var(--surface-alt)}.code-archive-progress progress{width:100%;accent-color:var(--accent)}.code-archive-progress span{display:block;overflow-wrap:anywhere;font-size:11px}.code-project-info ul{display:flex;flex-wrap:wrap;gap:6px 24px;padding-left:18px;font-size:12px}.code-import-progress{display:flex;flex-wrap:wrap;align-items:center;gap:12px}.diagram-file-import,.modal:has(.diagram-file-import){min-width:0;max-width:100%;overflow-wrap:anywhere}.diagram-file-preview{margin:16px 0;padding:12px;border:1px solid var(--border);border-radius:8px;background:var(--canvas)}.diagram-file-preview svg{display:block;width:100%;height:240px}.diagram-file-preview figcaption,.diagram-file-notices,.diagram-file-import .muted{font-size:12px;line-height:1.6}.diagram-file-notices{max-height:220px;overflow:auto;margin:16px 0}.diagram-file-error{color:var(--danger, #a84236);border:1px solid currentColor;padding:12px;border-radius:6px}.diagram-file-import select,.diagram-file-import input{min-width:0;width:100%;min-height:44px}.diagram-file-import .dialog-actions{flex-wrap:wrap}@media(max-width:720px){.diagram-file-preview svg{height:180px}.diagram-file-import .dialog-actions button{min-height:44px;flex:1 1 120px}}.data-sources{display:grid;gap:14px;min-width:0;max-height:calc(100dvh - 150px);overflow-y:auto}.data-sources p{margin:0;color:var(--muted);line-height:1.5}.data-source-list{padding:0;margin:0;list-style:none}.data-source-list li,.data-source-link{display:flex;align-items:center;justify-content:space-between;gap:12px;border-bottom:1px solid var(--line);padding:10px 0}.data-source-list span,.data-source-link span{min-width:0;overflow-wrap:anywhere}.data-source-list small{display:block;color:var(--muted);margin-top:4px}.data-source-matching{display:grid;grid-template-columns:1fr 1fr;gap:12px;border:1px solid var(--line);padding:14px;min-width:0}.data-source-matching .field,.data-source-matching select{min-width:0;max-width:100%}.data-match-preview{grid-column:1 / -1;display:grid;gap:10px}.data-match-preview dl{display:grid;grid-template-columns:1fr 1fr;gap:6px 12px;margin:0}.data-match-preview dd{margin:0}.data-source-actions{display:flex;justify-content:flex-end;gap:10px}.data-sources .data-source-error{color:var(--danger, #b3261e)}@media(max-width:600px){.data-source-matching{grid-template-columns:1fr}.data-source-list li,.data-source-link{align-items:start;flex-direction:column}.data-sources input,.data-sources select{font-size:16px}}.source-refresh,.modal:has(.source-refresh){min-width:0;max-width:100%}.source-refresh-intro,.source-removal-note,.source-refresh fieldset p,.source-column-map p,.source-change-preview p{font-size:12px;line-height:1.6;overflow-wrap:anywhere}.source-refresh fieldset{min-width:0;padding:14px;margin:16px 0;border:1px solid var(--border);border-radius:6px}.source-refresh legend{font-size:13px;font-weight:650}.source-key-columns{display:flex;flex-wrap:wrap;gap:4px 18px}.source-column-map{margin:16px 0}.source-column-map summary{padding:8px 0;cursor:pointer;font-size:13px}.source-map-row{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.6fr);align-items:center;gap:10px;overflow-wrap:anywhere}.source-refresh textarea{font:12px/1.6 ui-monospace,monospace;min-height:180px;max-height:45dvh}.source-refresh-error{color:var(--danger, #a84236);padding:10px;border:1px solid currentColor;border-radius:6px;font-size:13px;overflow-wrap:anywhere}.source-change-preview{padding:15px;border:1px solid var(--border);border-radius:8px;background:var(--surface-alt);margin-top:18px}.source-change-preview h3{margin-top:0}.source-change-counts{display:flex;flex-wrap:wrap;gap:14px 20px}.source-change-counts dt{color:var(--muted);font-size:11px}.source-change-counts dd{font-size:18px;font-weight:650;margin:5px 0 0}.source-change-preview ul{padding-left:18px;font-size:12px;line-height:1.6;overflow-wrap:anywhere}.source-change-preview>ul{max-height:200px;overflow:auto}.source-refresh-actions{flex-wrap:wrap}.source-refresh-actions button{min-height:44px;white-space:normal}@media(max-width:720px){.source-map-row{grid-template-columns:minmax(0,1fr)}.source-refresh input,.source-refresh select{min-height:44px}.source-key-columns input[type=checkbox]{min-height:auto}.source-refresh-actions button{flex:1 1 160px}}.data-inspection{padding:0 24px 24px;min-width:0}.data-inspection h3{margin:18px 0 8px}.data-inspection .field{margin:14px 0}.data-inspection-actions{display:flex;flex-wrap:wrap;gap:8px;margin:12px 0}.data-inspection-issues{display:grid;gap:6px;max-height:240px;overflow:auto;margin:14px 0}.data-inspection-issues button{display:flex;text-align:left;justify-content:space-between;gap:12px}.data-inspection-issues button.active{outline:2px solid var(--accent)}.data-evidence-scroll{overflow:auto;max-height:340px;border:1px solid var(--border);border-radius:6px}.data-evidence table{border-collapse:collapse;font-size:12px;width:100%}.data-evidence th,.data-evidence td{text-align:left;padding:8px;border-bottom:1px solid var(--border);white-space:pre-wrap;min-width:90px;max-width:300px;overflow-wrap:anywhere}.data-evidence th{position:sticky;top:0;background:var(--surface)}.data-evidence .evidence-highlight{background:color-mix(in srgb,var(--accent) 10%,transparent)}.data-inspection-key-columns{display:flex;flex-wrap:wrap;gap:8px 16px;max-height:140px;overflow:auto}@media(max-width:600px){.data-inspection{padding:0 14px 14px}}.collaboration-panel .modal-content{gap:18px}@media(min-width:901px)and (min-height:501px){.collaboration-panel .modal-heading{position:sticky;top:-24px;z-index:2;padding-block:12px;margin-top:-12px;background:var(--surface);border-bottom:1px solid var(--border)}}.collaboration-panel h3{font-size:14px;line-height:1.5}.collaboration-panel section,.collaboration-panel fieldset{min-width:0}.collaboration-modes,.collaboration-actions{display:flex;flex-wrap:wrap;align-items:center;gap:10px}.collaboration-modes>button{flex:1 1 180px}.collaboration-panel button{min-height:40px;white-space:normal}.collaboration-status{display:flex;align-items:center;flex-wrap:wrap;gap:8px;padding:12px 14px;border:1px solid var(--border);border-radius:9px;background:var(--surface-alt);font-size:13px}.collaboration-dot{flex:0 0 8px;width:8px;height:8px;border-radius:50%;background:var(--muted)}.collaboration-dot.connected{background:var(--accent)}.collaboration-status:is(.status-offline,.status-conflict,.status-error){border-color:var(--caution)}.collaboration-badge{font-size:11px;border:1px solid var(--border);border-radius:6px;padding:2px 6px;line-height:1.5;color:var(--muted)}.collaboration-disclosure{border:1px solid var(--border);border-radius:9px;padding:14px}.collaboration-disclosure legend{font-size:12px;font-weight:600;padding:0 5px}.collaboration-notice,.collaboration-error,.collaboration-confirmation{background:var(--surface-alt);border:1px solid var(--border);padding:14px;border-radius:9px}.collaboration-error{border-color:var(--danger)}.collaboration-error>strong{font-size:13px}.collaboration-error>p{margin:8px 0 0}.collaboration-list{margin:0;padding:0;list-style:none;display:grid;gap:12px}.collaboration-request{padding:14px;border:1px solid var(--border);border-radius:9px;display:grid;gap:12px;min-width:0}.collaboration-participant{display:flex;gap:12px;padding:14px;border:1px solid var(--border);border-radius:9px;min-width:0}.collaboration-person-details{flex:1;min-width:0;display:grid;gap:8px}.collaboration-person-name,.collaboration-person-status{display:flex;align-items:center;flex-wrap:wrap;gap:6px}.collaboration-person-name{font-weight:600;overflow-wrap:anywhere}.collaboration-person-status{color:var(--muted)}.collaboration-avatar{flex:0 0 34px;width:34px;height:34px;border-radius:50%;display:grid;place-items:center;overflow:hidden;background:var(--presence-color, var(--accent-bg));color:var(--presence-text, var(--accent));font-weight:650}.collaboration-avatar>img,.collaboration-presence-avatar>img{width:100%;height:100%;object-fit:cover}.collaboration-identity-details summary,.collaboration-security summary{display:flex;align-items:center;gap:8px;font-size:12px;cursor:pointer;min-height:32px}.collaboration-identity-details summary:before,.collaboration-security summary:before{content:"+";font-family:monospace}.collaboration-identity-details[open] summary:before,.collaboration-security[open] summary:before{content:"−"}.collaboration-member-controls{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:12px;padding-top:8px;border-top:1px solid var(--border)}.collaboration-member-controls>.field{margin:0;min-width:0}.collaboration-member-controls select{min-height:40px}.collaboration-copy-field{display:grid;gap:6px;min-width:0}.collaboration-copy-label,.collaboration-copy-feedback{font-size:11px;line-height:1.6;color:var(--muted)}.collaboration-copy-value{display:flex;width:100%;min-width:0;gap:12px;justify-content:space-between;text-align:left;background:var(--surface-alt);padding:10px 12px}.collaboration-copy-value code{min-width:0;overflow-wrap:anywhere;word-break:break-all;-webkit-user-select:text;user-select:text;font-size:11px;line-height:1.7;font-weight:400}.collaboration-copy-value>svg{flex:0 0 16px;align-self:center;color:var(--accent)}.collaboration-copy-input{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:stretch;gap:8px}.collaboration-copy-input textarea{width:100%;min-width:0;resize:vertical;overflow-wrap:anywhere;font-size:12px}.collaboration-copy-input>button{align-self:start;min-width:44px}.collaboration-identity-details .collaboration-copy-field{margin-top:8px}.collaboration-security{padding-top:12px;border-top:1px solid var(--border)}.collaboration-security a{font-size:12px}.collaboration-security p{margin:10px 0}.collaboration-progress{display:grid;gap:8px}.collaboration-progress progress{width:100%;accent-color:var(--accent)}.collaboration-session-actions{padding-top:14px;border-top:1px solid var(--border)}.collaboration-confirmation{border-color:var(--caution)}.collaboration-presence{display:inline-flex;gap:7px;align-items:center;min-height:34px;white-space:nowrap;font-size:11px;max-width:320px;min-width:0;border-radius:10px;box-shadow:0 3px 12px #00000009}.collaboration-presence>svg,.collaboration-presence-count,.collaboration-presence-avatars{flex-shrink:0}.collaboration-presence-label{overflow:hidden;text-overflow:ellipsis;min-width:0}.collaboration-presence-count{min-width:20px;text-align:center;font-variant-numeric:tabular-nums}.collaboration-presence-avatars{display:inline-flex;padding-left:4px}.collaboration-presence-avatar{width:23px;height:23px;border-radius:50%;margin-left:-4px;border:2px solid var(--surface);overflow:hidden;background:var(--presence-color, var(--accent-bg));color:var(--presence-text, var(--accent));display:grid;place-items:center;font-size:10px;font-weight:650}.collaboration-presence-more{font-size:10px;align-self:center;margin-left:4px}@media(max-width:900px){.collaboration-panel button,.collaboration-panel select,.collaboration-panel summary{min-height:44px}.collaboration-panel .modal-content{gap:20px}.collaboration-presence{min-height:44px}}@media(max-width:480px){.collaboration-modes>button{flex-basis:130px}.collaboration-actions>button{flex:1 1 145px}.collaboration-participant,.collaboration-request{padding:12px}.collaboration-member-controls{align-items:stretch;grid-template-columns:minmax(0,1fr)}.collaboration-member-controls>button{width:100%}}.collaboration-live-overlay{position:fixed;z-index:24;inset:0;pointer-events:none}.collaboration-live-overlay .collaboration-presence{position:fixed;pointer-events:auto}.collaboration-live-overlay .collaboration-presence:not([data-docked=true]){visibility:hidden}@media(max-width:900px){.collaboration-presence{border-radius:12px}}.collaboration-canvas-presence{position:absolute;inset:0;z-index:8;overflow:hidden;pointer-events:none}.collaboration-canvas-presence *{pointer-events:none}.collaboration-peer-pointer,.collaboration-node-presence{position:absolute;color:var(--presence-color)}.collaboration-peer-pointer{display:flex;align-items:flex-start;gap:2px}.collaboration-peer-pointer>svg{flex-shrink:0;fill:var(--presence-color);stroke:var(--surface);stroke-width:1.5}.collaboration-peer-pointer>span,.collaboration-node-presence>span{background:var(--presence-color);color:var(--presence-text);border-radius:4px;padding:3px 5px;font-size:10px;line-height:1.4}.collaboration-peer-pointer>span{max-width:140px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.collaboration-node-presence{border:2px dashed var(--presence-color);border-radius:9px}.collaboration-node-presence>span{position:absolute;top:-18px;right:-2px;font-weight:650}.document-workspace{display:grid;gap:14px;min-width:0}.document-work-tabs{display:flex;flex-wrap:wrap;gap:8px}.document-work-tabs>button{flex:1}.document-work-tabs>[aria-selected=true]{color:var(--accent);background:var(--accent-bg);border-color:var(--accent)}.document-workspace section{display:grid;gap:14px}.document-workspace .field{margin-bottom:0}.document-workspace :is(input,textarea,select){width:100%;min-width:0}.document-workspace textarea{resize:vertical;min-height:84px}.document-work-list{display:grid;gap:12px;min-width:0}.document-work-card{border:1px solid var(--border);border-radius:10px;padding:14px;display:grid;gap:12px;min-width:0;overflow-wrap:anywhere}.document-work-form{display:grid;gap:12px;min-width:0;padding-block:12px}.document-work-fields{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(150px,100%),1fr));gap:12px}.document-work-actions,.document-work-pages,.document-work-meta,.document-profile-heading,.document-profile-appearance{display:flex;align-items:center;flex-wrap:wrap;gap:10px;min-width:0}.document-work-meta{color:var(--muted);font-size:11px}.document-profile-heading>strong{flex:1;min-width:0;overflow-wrap:anywhere}.document-profile-appearance input[type=color]{width:80px;min-height:36px}.document-work-text{white-space:pre-wrap;overflow-wrap:anywhere;margin:0}.document-comment-message{border-bottom:1px solid var(--border);padding-bottom:12px;display:grid;gap:10px}.document-work-pages{justify-content:space-between}.document-work-notice,.document-work-error{padding:12px;border:1px solid var(--border);border-radius:8px;background:var(--surface-alt);margin:0}.document-work-error{border-color:var(--danger)}.document-work-confirmation{border:1px solid var(--caution);border-radius:8px;padding:12px;background:var(--surface-alt)}.document-workspace [role=tabpanel]:focus-visible{outline:2px solid var(--accent);outline-offset:4px}@media(max-width:900px),(max-width:1100px)and (max-height:500px){.document-workspace :is(button,select,input){min-height:44px}.document-workspace :is(input,select,textarea){font-size:16px}.document-work-card{padding:12px}}
