.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.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{color-scheme:light;--canvas: #eceae5;--canvas-dot: #cfcdc5;--surface-1: #f9f9f7;--surface-2: #fcfcfb;--surface-3: #f0efec;--surface-hover: rgba(11, 11, 11, .045);--surface-active: rgba(11, 11, 11, .08);--text-primary: #0b0b0b;--text-secondary: #52514e;--text-muted: #898781;--text-inverse: #fcfcfb;--border: rgba(11, 11, 11, .12);--border-strong: #c3c2b7;--grid: #e1e0d9;--accent: #2a78d6;--accent-soft: rgba(42, 120, 214, .14);--socket-table: #2a78d6;--socket-matrix: #eb6834;--socket-dataset: #1baf7a;--socket-scalar: #898781;--socket-any: #898781;--chip-1: #2a78d6;--chip-2: #eb6834;--chip-3: #1baf7a;--chip-4: #eda100;--chip-5: #e87ba4;--chip-6: #008300;--chip-7: #4a3aa7;--chip-8: #e34948;--status-ok: #0ca30c;--status-stale: #fab219;--status-running: #2a78d6;--status-error: #d03b3b;--status-muted: #898781;--status-running-ring: #a87400;--status-warn: #8a5e00;--status-refused: #c22f2f;--cat-dataset: #1baf7a;--cat-dataset-cave: #0b6b48;--cat-dataset-catmaid: #12885d;--cat-dataset-mock: #7fb3a0;--cat-query: #2a78d6;--cat-transform: #898781;--cat-analysis: #4a3aa7;--cat-visualisation: #eb6834;--cat-utility: #898781;--note-surface: #faf8f1;--note-border: #7d7b76;--group-line: #7d7b76;--start-image-opacity: .32;--node-width: 232px;--radius: 6px;--radius-sm: 4px;--shadow-node: 0 1px 2px rgba(11, 11, 11, .1), 0 4px 12px rgba(11, 11, 11, .06);--shadow-panel: 0 8px 32px rgba(11, 11, 11, .16);--font-ui: system-ui, -apple-system, "Segoe UI", sans-serif;--font-mono: ui-monospace, SFMono-Regular, "SF Mono", Menlo, monospace}@media(prefers-color-scheme:dark){:root:not([data-theme=light]){color-scheme:dark;--canvas: #121211;--canvas-dot: #2e2e2b;--surface-1: #171716;--surface-2: #1f1f1e;--surface-3: #1a1a19;--surface-hover: rgba(255, 255, 255, .06);--surface-active: rgba(255, 255, 255, .1);--text-primary: #ffffff;--text-secondary: #c3c2b7;--text-muted: #898781;--text-inverse: #0b0b0b;--border: rgba(255, 255, 255, .11);--border-strong: #383835;--grid: #2c2c2a;--status-running-ring: #fab219;--status-warn: #fab219;--status-refused: #e05c5c;--accent: #3987e5;--accent-soft: rgba(57, 135, 229, .2);--socket-table: #3987e5;--socket-matrix: #d95926;--socket-dataset: #199e70;--socket-scalar: #898781;--socket-any: #898781;--chip-1: #3987e5;--chip-2: #d95926;--chip-3: #199e70;--chip-4: #c98500;--chip-5: #d55181;--chip-6: #008300;--chip-7: #9085e9;--chip-8: #e66767;--cat-dataset: #199e70;--cat-dataset-cave: #3fd6a0;--cat-dataset-catmaid: #2ab98a;--cat-dataset-mock: #6f9686;--cat-query: #3987e5;--cat-transform: #898781;--cat-analysis: #9085e9;--cat-visualisation: #d95926;--cat-utility: #898781;--note-surface: #191918;--start-image-opacity: .55;--shadow-node: 0 1px 2px rgba(0, 0, 0, .5), 0 6px 18px rgba(0, 0, 0, .35);--shadow-panel: 0 8px 32px rgba(0, 0, 0, .55)}}:root[data-theme=dark]{color-scheme:dark;--canvas: #121211;--canvas-dot: #2e2e2b;--surface-1: #171716;--surface-2: #1f1f1e;--surface-3: #1a1a19;--surface-hover: rgba(255, 255, 255, .06);--surface-active: rgba(255, 255, 255, .1);--text-primary: #ffffff;--text-secondary: #c3c2b7;--text-muted: #898781;--text-inverse: #0b0b0b;--border: rgba(255, 255, 255, .11);--border-strong: #383835;--grid: #2c2c2a;--status-running-ring: #fab219;--status-warn: #fab219;--status-refused: #e05c5c;--accent: #3987e5;--accent-soft: rgba(57, 135, 229, .2);--socket-table: #3987e5;--socket-matrix: #d95926;--socket-dataset: #199e70;--socket-scalar: #898781;--socket-any: #898781;--chip-1: #3987e5;--chip-2: #d95926;--chip-3: #199e70;--chip-4: #c98500;--chip-5: #d55181;--chip-6: #008300;--chip-7: #9085e9;--chip-8: #e66767;--cat-dataset: #199e70;--cat-dataset-cave: #3fd6a0;--cat-dataset-catmaid: #2ab98a;--cat-dataset-mock: #6f9686;--cat-query: #3987e5;--cat-transform: #898781;--cat-analysis: #9085e9;--cat-visualisation: #d95926;--cat-utility: #898781;--note-surface: #191918;--start-image-opacity: .55;--shadow-node: 0 1px 2px rgba(0, 0, 0, .5), 0 6px 18px rgba(0, 0, 0, .35);--shadow-panel: 0 8px 32px rgba(0, 0, 0, .55)}*,*:before,*:after{box-sizing:border-box}html,body,#root{height:100%;margin:0}html:fullscreen{background:var(--canvas)}body{font-family:var(--font-ui);font-size:13px;line-height:1.45;color:var(--text-primary);background:var(--canvas);-webkit-font-smoothing:antialiased;overscroll-behavior:none}button{font:inherit;color:inherit}:focus-visible{outline:2px solid var(--accent);outline-offset:1px}*{scrollbar-width:thin;scrollbar-color:var(--border-strong) transparent}*::-webkit-scrollbar{width:10px;height:10px}*::-webkit-scrollbar-thumb{background:var(--border-strong);border-radius:5px;border:3px solid transparent;background-clip:content-box}*::-webkit-scrollbar-track{background:transparent}.app{display:grid;grid-template-rows:auto 1fr auto auto;grid-template-columns:1fr auto;grid-template-areas:"toolbar toolbar" "canvas inspector" "assistant assistant" "status status";height:100%}.toolbar{grid-area:toolbar;display:flex;align-items:center;gap:6px;padding:6px 10px;background:var(--surface-1);border-bottom:1px solid var(--border);min-height:42px}.toolbar__brand{display:flex;align-items:center;gap:7px;margin-right:6px;-webkit-user-select:none;user-select:none}.toolbar__brand svg{flex:none;color:var(--text-primary)}.toolbar__brandText{display:flex;align-items:baseline;flex-wrap:wrap;gap:7px}.toolbar__brand strong{font-size:14px;letter-spacing:.2px}.toolbar__brand span{font-size:11px;color:var(--text-muted)}.toolbar__spacer{flex:1}.toolbar__name{font-size:12px;color:var(--text-secondary);background:transparent;border:1px solid transparent;border-radius:var(--radius-sm);padding:3px 6px;min-width:140px;max-width:260px}.toolbar__name:hover{border-color:var(--border)}.toolbar__name:focus{border-color:var(--accent);background:var(--surface-2);color:var(--text-primary)}.canvas-area{grid-area:canvas;position:relative;min-width:0;min-height:0}.inspector{grid-area:inspector;width:320px;background:var(--surface-1);border-left:1px solid var(--border);display:flex;flex-direction:column;min-height:0}.statusbar{grid-area:status;display:flex;align-items:center;gap:10px;padding:4px 10px;background:var(--surface-1);border-top:1px solid var(--border);font-size:11px;color:var(--text-secondary);min-height:28px}.btn{display:inline-flex;align-items:center;gap:6px;padding:4px 9px;font-size:12px;background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius-sm);cursor:pointer;white-space:nowrap}.btn:hover:not(:disabled){background:var(--surface-hover);border-color:var(--border-strong)}.btn:active:not(:disabled){background:var(--surface-active)}.btn:disabled{opacity:.45;cursor:default}.btn--primary{background:var(--accent);border-color:transparent;color:#fff;font-weight:550}.btn--primary:hover:not(:disabled){background:var(--accent);filter:brightness(1.08)}.btn--ghost{background:transparent;border-color:transparent}.btn--ghost:hover:not(:disabled){background:var(--surface-hover)}.btn__kbd{font-size:10px;opacity:.7;font-family:var(--font-mono)}.btn--icon{width:28px;padding:4px 0;justify-content:center;color:var(--text-secondary)}.btn--icon:hover:not(:disabled){color:var(--text-primary)}.btn--icon[aria-pressed=true]{color:var(--text-primary);background:var(--surface-hover);border-color:var(--border)}.badge-count{display:inline-flex;align-items:center;justify-content:center;min-width:16px;height:16px;padding:0 4px;border-radius:8px;font-size:10px;font-weight:600;background:var(--surface-3);color:var(--text-secondary)}.badge-count[data-tone=stale]{background:color-mix(in srgb,var(--status-stale) 22%,transparent);color:var(--text-primary)}.badge-count[data-tone=error]{background:color-mix(in srgb,var(--status-error) 24%,transparent);color:var(--text-primary)}.react-flow{--xy-background-color: var(--canvas);--xy-edge-stroke-width: 1.6;--xy-selection-background-color: var(--accent-soft);--xy-selection-border: 1px solid var(--accent);background:var(--canvas)}.react-flow__attribution{display:none}.react-flow__pane{cursor:default}.react-flow__pane.dragging{cursor:grabbing}.react-flow__edge-path{stroke:var(--border-strong);stroke-width:1.6}.react-flow__edge.selected .react-flow__edge-path,.react-flow__edge:hover .react-flow__edge-path{stroke-width:2.4}.react-flow__edge.selected .react-flow__edge-path{stroke:var(--accent)}.react-flow__edge[data-muted=true] .react-flow__edge-path{stroke-dasharray:4 3;opacity:.5}.react-flow__edgeupdater{cursor:grab}.react-flow__edge.updating .react-flow__edge-path{stroke:var(--accent);stroke-width:2.8;stroke-dasharray:5 3}.react-flow__connectionline .react-flow__connection-path{stroke:var(--accent);stroke-width:2;stroke-dasharray:5 4}.react-flow__controls{box-shadow:none;gap:1px;display:flex;flex-direction:column}.react-flow__controls-button{background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text-secondary);width:26px;height:26px}.react-flow__controls-button:hover{background:var(--surface-hover)}.react-flow__controls-button svg{fill:currentColor;max-width:12px;max-height:12px}.react-flow__controls-button .rail-icon{fill:none;stroke:currentColor;stroke-width:1.2}.react-flow__controls-button .rail-icon [data-fill]{fill:currentColor;stroke:none}.react-flow__controls-button:disabled{opacity:.45}.react-flow__controls-button.rail-toggle--on{background:var(--accent-soft);border-color:var(--accent);color:var(--accent)}.react-flow__controls-button.rail-toggle--on:hover{background:var(--accent-soft)}.layout-options{position:relative;display:flex}.layout-bubble{position:absolute;bottom:0;left:calc(100% + 8px);z-index:40;width:232px;display:flex;flex-direction:column;gap:6px;padding:10px;background:var(--surface-1);border:1px solid var(--border-strong);border-radius:var(--radius);box-shadow:var(--shadow-panel);font-size:11.5px;color:var(--text-secondary);cursor:default}.layout-bubble__row{display:grid;grid-template-columns:68px 1fr auto;align-items:center;gap:8px}.layout-bubble__row>span:first-child{color:var(--text-muted)}.layout-bubble__row select{grid-column:2 / -1;width:100%;min-width:0;font:inherit;color:var(--text-primary);background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius-sm);padding:3px 4px}.layout-bubble__row input[type=range]{width:100%;min-width:0;accent-color:var(--accent)}.layout-bubble__row output{font-variant-numeric:tabular-nums;color:var(--text-muted);min-width:22px;text-align:right}.layout-bubble__row[data-disabled=true]>span:first-child{opacity:.5}.layout-bubble__row--check{grid-template-columns:auto 1fr}.layout-bubble__row--check input{accent-color:var(--accent)}.layout-bubble__segments{grid-column:2 / -1;display:flex;gap:2px}.layout-bubble__segments button{flex:1;height:22px;font:inherit;line-height:1;color:var(--text-secondary);background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius-sm);cursor:pointer}.layout-bubble__segments button:hover{background:var(--surface-hover)}.layout-bubble__segments button[aria-pressed=true]{background:var(--accent-soft);border-color:var(--accent);color:var(--accent)}.layout-bubble__foot{display:flex;justify-content:flex-end;border-top:1px solid var(--border);padding-top:8px;margin-top:2px}.layout-bubble__foot .btn{height:24px;font-size:11px;padding:0 10px}.react-flow__minimap{background:var(--surface-1);border:1px solid var(--border);border-radius:var(--radius)}.react-flow__minimap-mask{fill:color-mix(in srgb,var(--canvas) 70%,transparent)}.coda-node{width:var(--node-width);background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-node);font-size:12px;overflow:hidden;--state-bar: 3px;--header-h: 28px}.coda-node:before{content:"";position:absolute;inset:0 auto 0 0;width:var(--state-bar);background:transparent;z-index:1}.coda-node[data-state=ok]:before{background:var(--status-ok)}.coda-node[data-state=stale]:before{background:var(--status-stale)}.coda-node[data-state=running]:before{background:var(--status-running)}.coda-node[data-state=error]:before{background:var(--status-error)}.coda-node[data-state=blocked]:before,.coda-node[data-state=disabled]:before{background:var(--status-muted)}.coda-node.selected{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent),var(--shadow-node)}.coda-node[data-state=error]{border-color:color-mix(in srgb,var(--status-error) 55%,var(--border))}.coda-node[data-disabled=true]{opacity:.55}.coda-node__header{display:flex;align-items:center;min-height:var(--header-h);gap:6px;padding:5px 8px 5px calc(8px + var(--state-bar));background:color-mix(in srgb,var(--cat) 16%,var(--surface-2));border-bottom:1px solid var(--border);cursor:grab}.coda-node__header[data-category=dataset]{--cat: var(--cat-dataset)}.coda-node__header[data-backend=cave]{--cat: var(--cat-dataset-cave)}.coda-node__header[data-backend=catmaid]{--cat: var(--cat-dataset-catmaid)}.coda-node__header[data-backend=mock]{--cat: var(--cat-dataset-mock)}.coda-node__header[data-category=query]{--cat: var(--cat-query)}.coda-node__header[data-category=transform]{--cat: var(--cat-transform)}.coda-node__header[data-category=analysis]{--cat: var(--cat-analysis)}.coda-node__header[data-category=visualisation]{--cat: var(--cat-visualisation)}.coda-node__header[data-category=utility]{--cat: var(--cat-utility)}.coda-node__title{flex:1;font-weight:550;font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.coda-node__title-input{flex:1;min-width:0;font:inherit;font-weight:550;background:var(--surface-3);color:var(--text-primary);border:1px solid var(--accent);border-radius:3px;padding:0 3px}.state-badge{display:inline-flex;align-items:center;justify-content:center;width:14px;height:14px;border-radius:50%;font-size:9px;font-weight:700;line-height:1;flex:none;color:var(--text-inverse);background:var(--status-muted);font-family:var(--font-mono)}.state-badge[data-state=ok]{background:var(--status-ok)}.state-badge[data-state=stale]{background:var(--status-stale);color:#0b0b0b}.state-badge[data-state=running]{background:var(--status-running);color:#fff}.state-badge[data-state=error]{background:var(--status-error);color:#fff}.coda-node__collapse{border:none;background:transparent;color:var(--text-muted);cursor:pointer;padding:0 2px;font-size:9px;line-height:1}.coda-node__collapse:hover{color:var(--text-primary)}.coda-node__fold{display:inline-flex;align-items:center;justify-content:center;width:17px;height:17px;flex:none;padding:0;border:1px solid transparent;border-radius:3px;background:transparent;color:var(--text-muted);cursor:pointer;font-size:10px;line-height:1}.coda-node__fold:hover{background:var(--accent);border-color:transparent;color:#fff}.coda-node__fold[aria-pressed=true]{color:var(--text-secondary);border-color:var(--border-strong);background:var(--surface-3)}.coda-node__help{display:inline-flex;align-items:center;justify-content:center;width:17px;height:17px;flex:none;padding:0;border:1px solid transparent;border-radius:3px;background:transparent;color:var(--text-muted);cursor:pointer;font-size:11px;font-weight:700;line-height:1;opacity:.75}.coda-node__help:hover{background:var(--accent);border-color:transparent;color:#fff;opacity:1}.coda-node__run{display:inline-flex;align-items:center;justify-content:center;width:17px;height:17px;flex:none;padding:0;border:1px solid transparent;border-radius:3px;background:transparent;color:var(--text-secondary);cursor:pointer;font-size:9px;line-height:1}.coda-node__run:hover:not(:disabled){background:var(--accent);border-color:transparent;color:#fff}.coda-node__run:disabled{opacity:.28;cursor:default}.coda-node[data-state=stale] .coda-node__run,.coda-node[data-state=blocked] .coda-node__run,.coda-node[data-state=error] .coda-node__run{color:var(--text-primary);border-color:var(--border-strong);background:var(--surface-3)}.coda-node__run--stop{color:var(--status-error);border-color:var(--border-strong);background:var(--surface-3)}.coda-node__run--stop:hover:not(:disabled){background:var(--status-error);color:#fff}.coda-node__ports{padding:4px 0}.coda-node[data-ports-folded] .coda-node__ports{position:absolute;top:0;left:0;right:0;height:var(--header-h);z-index:2;padding:0;display:flex;flex-direction:column;justify-content:center;pointer-events:none;--port-pitch: 8px}.coda-node[data-ports-folded] .port-row{min-height:0;height:var(--port-pitch)}.coda-node[data-ports-folded] .port-label{display:none}.port-row{position:relative;display:grid;grid-template-columns:1fr 1fr;gap:4px;min-height:20px;align-items:center}.port-row__side{display:flex;align-items:center;gap:6px;min-width:0}.port-row__side--in{padding-left:calc(10px + var(--state-bar))}.port-row__side--out{justify-content:flex-end;padding-right:10px;text-align:right}.port-label{font-size:11px;color:var(--text-secondary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.port-row__side--in[data-unconnected=true] .port-label{color:var(--text-muted)}.port-row__side[data-error=true] .port-label{color:var(--status-error)}.socket.react-flow__handle{width:11px;height:11px;border-radius:50%;border:1.5px solid var(--surface-2);background:var(--socket-any);min-width:0;min-height:0}.socket.react-flow__handle.react-flow__handle-left{left:calc(-1px + var(--state-bar))}.socket.react-flow__handle.react-flow__handle-right{right:-1px}.socket[data-family=table]{background:var(--socket-table)}.socket[data-family=matrix]{background:var(--socket-matrix)}.socket[data-family=dataset]{background:var(--socket-dataset)}.socket[data-family=scalar],.socket[data-family=any]{background:var(--socket-scalar)}.socket[data-shape=ring]{background:var(--surface-2);border-color:var(--socket-table);border-width:2.5px}.socket[data-shape=ring][data-family=matrix]{border-color:var(--socket-matrix)}.socket[data-shape=ring][data-family=dataset]{border-color:var(--socket-dataset)}.socket[data-shape=ring][data-family=scalar],.socket[data-shape=ring][data-family=any]{border-color:var(--socket-scalar)}.socket[data-shape=diamond]{border-radius:2px;transform:rotate(45deg);width:10px;height:10px}.socket[data-shape=square]{border-radius:2px}.socket[data-shape=dot]{width:8px;height:8px}.socket.react-flow__handle:hover{box-shadow:0 0 0 3px var(--accent-soft)}.react-flow__handle.socket[data-compatible=false]{opacity:.28}.coda-node__params{display:flex;flex-direction:column;gap:4px;padding:4px 8px 6px calc(8px + var(--state-bar));border-top:1px solid var(--border)}.coda-node__tabs{display:flex;flex-wrap:wrap;gap:2px;margin-bottom:2px}.coda-node__tab{padding:1px 7px;border:1px solid transparent;border-radius:999px;background:transparent;color:var(--text-muted);font:inherit;font-size:11px;line-height:1.5;cursor:pointer}.coda-node__tab:hover{color:var(--text-secondary);background:var(--surface-hover)}.coda-node__tab[aria-selected=true]{border-color:var(--border);background:var(--surface-3);color:var(--text-primary)}.coda-node__more{align-self:flex-end;padding:0;border:none;background:transparent;color:var(--text-muted);font:inherit;font-size:9.5px;line-height:1.4;cursor:pointer;white-space:nowrap}.coda-node__more:hover{color:var(--text-primary)}.coda-node__more-set{color:var(--text-secondary)}.coda-node__more:hover .coda-node__more-set{color:inherit}.param{display:grid;grid-template-columns:62px 1fr;align-items:center;gap:6px;min-height:22px}.param__label{font-size:10.5px;color:var(--text-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.param--wide{grid-template-columns:1fr}.param--wide .param__label{display:none}.field{width:100%;min-width:0;font:inherit;font-size:11px;padding:2px 5px;background:var(--surface-3);color:var(--text-primary);border:1px solid var(--border);border-radius:var(--radius-sm);height:22px}.field:hover{border-color:var(--border-strong)}.field:focus{border-color:var(--accent);outline:none}.field--mono{font-family:var(--font-mono);font-size:10.5px}select.field{cursor:pointer;-webkit-appearance:none;-moz-appearance:none;appearance:none;padding-right:18px;background-image:linear-gradient(45deg,transparent 50%,var(--text-muted) 50%),linear-gradient(135deg,var(--text-muted) 50%,transparent 50%);background-position:calc(100% - 11px) 9px,calc(100% - 7px) 9px;background-size:4px 4px,4px 4px;background-repeat:no-repeat}.number-field{display:flex;align-items:center;position:relative}.number-field input{cursor:ew-resize}.number-field input:focus{cursor:text}.checkbox-field{display:flex;align-items:center;gap:6px;font-size:11px;color:var(--text-secondary);cursor:pointer;-webkit-user-select:none;user-select:none}.checkbox-field input{accent-color:var(--accent);margin:0;cursor:pointer}.columns-field{display:flex;flex-wrap:wrap;gap:3px;align-items:center;min-height:22px;padding:2px;background:var(--surface-3);border:1px solid var(--border);border-radius:var(--radius-sm)}.columns-field:focus-within{border-color:var(--accent)}.chip{display:inline-flex;align-items:center;gap:3px;font-size:10px;padding:1px 3px 1px 5px;background:var(--accent-soft);border:1px solid color-mix(in srgb,var(--accent) 35%,transparent);border-radius:9px;color:var(--text-primary);white-space:nowrap}.chip button{border:none;background:transparent;color:var(--text-secondary);cursor:pointer;padding:0 1px;font-size:11px;line-height:1}.chip button:hover{color:var(--status-error)}.chip--empty{background:transparent;border-style:dashed;border-color:var(--border-strong);color:var(--text-muted);padding-right:5px}.columns-field__add{border:1px dashed var(--border-strong);background:transparent;border-radius:9px;color:var(--text-muted);cursor:pointer;font-size:11px;line-height:1;padding:1px 6px 2px}.columns-field__add:hover{color:var(--text-primary);border-color:var(--accent)}.coda-node__footer{display:flex;align-items:center;gap:6px;padding:3px 8px 4px calc(8px + var(--state-bar));border-top:1px solid var(--border);background:var(--surface-3);font-size:10px;color:var(--text-muted);min-height:19px}.coda-node__summary{flex:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-variant-numeric:tabular-nums}.coda-node__timing{font-variant-numeric:tabular-nums;flex:none}.coda-node__cache{flex:none;padding:0;border:0;background:none;font:inherit;color:var(--text-muted);cursor:pointer;white-space:nowrap}.coda-node__cache:hover,.coda-node__cache:focus-visible{color:var(--text-primary)}.coda-node__cache--empty,.coda-node__cache--busy{cursor:default;color:var(--text-muted);opacity:.75}.coda-node__cache--empty:hover,.coda-node__cache--busy:hover{color:var(--text-muted)}.coda-node__cache--busy{min-width:0;overflow:hidden;text-overflow:ellipsis}.coda-node__issue{padding:3px 8px 4px calc(8px + var(--state-bar));font-size:10px;line-height:1.35;background:color-mix(in srgb,var(--status-error) 13%,var(--surface-2));color:var(--text-primary);border-top:1px solid color-mix(in srgb,var(--status-error) 30%,transparent)}.coda-node__issue[data-severity=warning]{background:color-mix(in srgb,var(--status-stale) 15%,var(--surface-2));border-top-color:color-mix(in srgb,var(--status-stale) 32%,transparent)}.coda-node__ring{--ring-width: 3px;--ring-gap: 3px;--ring-out: calc(var(--ring-width) + var(--ring-gap));position:absolute;top:calc(-1 * var(--ring-out));left:calc(-1 * var(--ring-out));width:calc(100% + 2 * var(--ring-out));height:calc(100% + 2 * var(--ring-out));z-index:0;pointer-events:none}.coda-node__ring rect{x:calc(var(--ring-width) / 2);y:calc(var(--ring-width) / 2);width:calc(100% - var(--ring-width));height:calc(100% - var(--ring-width));rx:calc(var(--radius) + var(--ring-gap) + var(--ring-width) / 2);fill:none;stroke:var(--status-running-ring);stroke-width:var(--ring-width);stroke-linecap:round;transition:stroke-dasharray .18s linear}.coda-node__ring[data-mode=progress] rect{animation:coda-ring-pulse 1.4s ease-in-out infinite}.coda-node__ring[data-mode=indeterminate] rect{animation:coda-ring-travel 1.8s linear infinite;transition:none}@keyframes coda-ring-pulse{0%,to{opacity:1}50%{opacity:.4}}@keyframes coda-ring-travel{0%{stroke-dashoffset:0}to{stroke-dashoffset:-1}}@media(prefers-reduced-motion:reduce){.coda-node__ring rect{animation:none;transition:none}.coda-node__ring[data-mode=indeterminate] rect{stroke-dasharray:1 0}}.coda-node__preview{border-top:1px solid var(--border);background:var(--surface-3);padding:4px;min-height:78px;max-height:210px;overflow:hidden;display:flex}.coda-node__preview>*{flex:1;min-width:0}.coda-node--wide{width:360px}.coda-node[data-sized]{width:100%}.coda-node[data-sized]:not([data-collapsed]){height:100%;display:flex;flex-direction:column}.coda-node[data-sized]:not([data-collapsed]) .coda-node__preview{flex:1;max-height:none;min-height:0}.react-flow__resize-control.coda-node__resize-line{border-color:transparent;border-width:2px}.react-flow__resize-control.coda-node__resize-line:hover{border-color:var(--accent)}.react-flow__resize-control.coda-node__resize-handle{width:10px;height:10px;border:1px solid var(--accent);border-radius:2px;background:var(--surface-2)}.coda-note{box-sizing:border-box;width:100%;height:100%;padding:9px 11px;display:flex;flex-direction:column;background:var(--note-surface);border:1.5px solid var(--note-border);border-radius:var(--radius-sm);box-shadow:var(--shadow-node);color:var(--text-primary);overflow:auto;overscroll-behavior:contain}.coda-note.selected{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent),var(--shadow-node)}.coda-note[data-outline=false]{border-color:transparent;background:transparent;box-shadow:none}.coda-note[data-outline=false][data-editing]{border-color:var(--note-border);background:var(--note-surface);box-shadow:var(--shadow-node)}.coda-note .markdown{color:var(--text-primary);font-size:12px}.coda-note .markdown__heading{margin-top:8px}.coda-note__hint{margin:0;font-size:11.5px;line-height:1.5;color:var(--text-secondary)}.coda-note__editor{flex:1;width:100%;min-height:0;padding:0;border:none;outline:none;resize:none;background:transparent;color:var(--text-primary);font-family:var(--font-mono);font-size:11.5px;line-height:1.55;-webkit-user-select:text;user-select:text;cursor:text}.coda-note__editor::placeholder{color:var(--text-muted)}.coda-node__body{border-top:1px solid var(--border);background:var(--surface-3);max-height:340px;display:flex;overflow:hidden}.coda-node__body>*{flex:1;min-width:0}.explore{display:flex;flex-direction:column;min-height:0;min-width:0;gap:4px;padding:5px}.explore__search{position:relative;display:flex;align-items:center;gap:3px;flex:0 0 auto}.explore__input{flex:1;min-width:0;font:inherit;font-size:12px;color:var(--text-primary);background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius-sm);padding:4px 7px}.explore__input:focus{border-color:var(--accent);outline:none}.explore__input:disabled{opacity:.5}.explore__clear,.explore__reload{flex:0 0 auto;width:22px;height:22px;display:inline-flex;align-items:center;justify-content:center;font-size:11px;color:var(--text-secondary);background:transparent;border:1px solid transparent;border-radius:var(--radius-sm);cursor:pointer}.explore__clear:hover,.explore__reload:hover{background:var(--surface-hover);color:var(--text-primary)}.explore__completions{position:absolute;top:calc(100% + 2px);left:0;right:26px;z-index:5;margin:0;padding:3px;list-style:none;max-height:190px;overflow-y:auto;background:var(--surface-1);border:1px solid var(--border-strong);border-radius:var(--radius-sm);box-shadow:var(--shadow-panel)}.explore__completion{display:flex;align-items:baseline;justify-content:space-between;gap:8px;width:100%;text-align:left;padding:3px 6px;font-size:12px;background:transparent;border:none;border-radius:var(--radius-sm);cursor:pointer}.explore__completion[data-active]{background:var(--accent-soft)}.explore__completion-detail{font-size:10px;color:var(--text-muted);font-family:var(--font-mono);flex:0 0 auto}.explore__list{flex:1 1 auto;min-height:0;overflow-y:auto;display:flex;flex-direction:column;gap:2px}.explore__empty,.explore__error{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;padding:16px 10px;text-align:center;font-size:11px;color:var(--text-muted)}.explore__error{color:var(--status-error)}.explore__hint{font-size:10px;color:var(--text-muted);max-width:34ch}.explore__spinner{width:14px;height:14px;border:2px solid var(--border-strong);border-top-color:var(--accent);border-radius:50%;animation:explore-spin .8s linear infinite}@keyframes explore-spin{to{transform:rotate(360deg)}}@media(prefers-reduced-motion:reduce){.explore__spinner{animation:none}}.explore-row{display:flex;align-items:center;gap:7px;padding:4px 5px;border:1px solid transparent;border-radius:var(--radius-sm);background:var(--surface-2)}.explore-row:hover{border-color:var(--border)}.explore-row[data-selected]{background:var(--accent-soft);border-color:color-mix(in srgb,var(--accent) 40%,transparent)}.explore-row__pick{flex:0 0 auto;display:flex;align-items:center;cursor:pointer}.explore-thumb{flex:0 0 auto;border-radius:var(--radius-sm);background:var(--surface-3);image-rendering:auto}.explore-thumb--loading,.explore-thumb--empty{width:56px;height:56px;display:flex;align-items:center;justify-content:center;color:var(--text-muted)}.explore-thumb--loading{opacity:.6}.explore-row__main{flex:1 1 auto;min-width:0;display:flex;flex-direction:column;gap:2px}.explore-row__name{display:flex;align-items:baseline;gap:6px;min-width:0}.explore-row__name strong{font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.explore-row__id{font-family:var(--font-mono);font-size:10px;color:var(--text-muted);flex:0 0 auto}.explore-row__sub{font-size:10px;color:var(--text-secondary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.explore-row__chips{display:flex;flex-wrap:wrap;gap:3px}.explore-row__tags{display:flex;flex-wrap:nowrap;align-items:baseline;gap:3px;margin-top:2px;overflow:hidden}.explore-tag{font-size:9px;line-height:1.5;padding:0 3px;border-radius:3px;color:var(--text-muted);border:1px solid var(--border);background:none;max-width:14ch;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;flex:0 1 auto}.explore-tag--more{border-color:transparent;flex:0 0 auto;max-width:none}.explore-chip{--chip: var(--text-muted);font-size:9.5px;line-height:1.5;padding:0 4px;border-radius:3px;background:color-mix(in srgb,var(--chip) 24%,var(--surface-3));color:var(--text-secondary);border:1px solid color-mix(in srgb,var(--chip) 70%,var(--border));max-width:16ch;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.explore-chip[data-slot="0"]{--chip: var(--chip-1)}.explore-chip[data-slot="1"]{--chip: var(--chip-2)}.explore-chip[data-slot="2"]{--chip: var(--chip-3)}.explore-chip[data-slot="3"]{--chip: var(--chip-4)}.explore-chip[data-slot="4"]{--chip: var(--chip-5)}.explore-chip[data-slot="5"]{--chip: var(--chip-6)}.explore-chip[data-slot="6"]{--chip: var(--chip-7)}.explore-chip[data-slot="7"]{--chip: var(--chip-8)}.explore-chip__key{color:var(--text-muted);margin-right:3px}.explore-row__stats{flex:0 0 auto;display:flex;gap:8px}.explore-stat{display:flex;flex-direction:column;align-items:flex-end;min-width:30px}.explore-stat__value{font-family:var(--font-mono);font-size:11px;color:var(--text-primary)}.explore-stat__label{font-size:9px;color:var(--text-muted)}.explore__foot{flex:0 0 auto;display:flex;align-items:center;gap:8px;font-size:10.5px;color:var(--text-secondary)}.explore__count{flex:1 1 auto;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.explore__fuzzy{color:var(--text-muted);font-style:italic}.explore__link{flex:0 0 auto;font-size:10.5px;color:var(--accent);background:transparent;border:none;padding:0;cursor:pointer;white-space:nowrap}.explore__link:hover:not(:disabled){text-decoration:underline}.explore__link:disabled{color:var(--text-muted);opacity:.55;cursor:default}.explore__pager{flex:0 0 auto;display:flex;align-items:center;gap:2px}.explore__page-btn{width:18px;height:18px;display:inline-flex;align-items:center;justify-content:center;background:transparent;border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text-secondary);cursor:pointer}.explore__page-btn:hover:not(:disabled){background:var(--surface-hover);color:var(--text-primary)}.explore__page-btn:disabled{opacity:.35;cursor:default}.explore__page-label{font-variant-numeric:tabular-nums;min-width:34px;text-align:center}.overlay__body .explore{padding:10px 12px;gap:8px}.overlay__body .explore__input{font-size:13px;padding:6px 9px}.overlay__body .explore-thumb--loading,.overlay__body .explore-thumb--empty{width:76px;height:76px}.overlay__body .explore__foot{font-size:12px}.add-menu{position:fixed;z-index:40;width:288px;max-height:420px;display:flex;flex-direction:column;background:var(--surface-1);border:1px solid var(--border-strong);border-radius:var(--radius);box-shadow:var(--shadow-panel);overflow:hidden}.add-menu__search{border:none;border-bottom:1px solid var(--border);background:var(--surface-2);padding:7px 9px;font:inherit;font-size:12px;color:var(--text-primary)}.add-menu__search:focus{outline:none}.add-menu__hint{padding:5px 9px;font-size:10.5px;color:var(--text-muted);border-bottom:1px solid var(--border);background:var(--surface-3)}.add-menu__list{overflow-y:auto;padding:3px}.add-menu__group{padding:5px 7px 2px;font-size:9.5px;text-transform:uppercase;letter-spacing:.6px;color:var(--text-muted)}.add-menu__item{display:flex;align-items:baseline;gap:4px;width:100%;text-align:left;padding:4px 7px;border:none;background:transparent;border-radius:var(--radius-sm);cursor:pointer;min-width:0}.add-menu__item:hover:not(:disabled),.add-menu__item[aria-selected=true]{background:var(--accent-soft)}.add-menu__crumb{font-size:10.5px;color:var(--text-muted);flex:none;white-space:nowrap}.add-menu__sep{font-size:7px;line-height:1;color:var(--text-muted);opacity:.45;flex:none;transform:translateY(-1px)}.add-menu__name{font-size:12px;font-weight:550;color:var(--text-primary);flex:none;max-width:45%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.add-menu__desc{font-size:10.5px;color:var(--text-muted);flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.add-menu__desc--warn{color:var(--status-warn)}.add-menu__empty{padding:14px 10px;font-size:11px;color:var(--text-muted);text-align:center}.add-menu__item:disabled{opacity:.4;cursor:default}.add-menu__kbd{font-family:var(--font-mono);font-size:10px;color:var(--text-muted);flex:none;align-self:center}.add-menu__match{background:transparent;color:var(--accent);font-weight:700}:root[data-theme=light] .add-menu__match{color:var(--accent)}.add-menu__footer{display:flex;gap:12px;padding:4px 9px;border-top:1px solid var(--border);background:var(--surface-3);font-size:10px;color:var(--text-muted);font-family:var(--font-mono)}.context-menu{position:fixed;z-index:45;min-width:176px;background:var(--surface-1);border:1px solid var(--border-strong);border-radius:var(--radius);box-shadow:var(--shadow-panel);padding:3px}.context-menu__item{display:flex;align-items:center;justify-content:space-between;gap:12px;width:100%;padding:5px 7px;border:none;background:transparent;border-radius:var(--radius-sm);cursor:pointer;font-size:12px;text-align:left}.context-menu__item:hover:not(:disabled){background:var(--accent-soft)}.context-menu__item:disabled{opacity:.4;cursor:default}.context-menu__item kbd{font-family:var(--font-mono);font-size:10px;color:var(--text-muted)}.context-menu__sep{height:1px;background:var(--border);margin:3px 1px}.context-menu__item--danger:hover:not(:disabled){background:color-mix(in srgb,var(--status-error) 18%,transparent)}.context-menu__header{padding:5px 7px 3px;max-width:240px}.context-menu__endpoint{display:flex;align-items:baseline;gap:5px;font-size:11px;line-height:1.5;min-width:0}.context-menu__endpoint-node{color:var(--text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.context-menu__endpoint-port{color:var(--text-muted);font-family:var(--font-mono);font-size:10px;flex:none}.context-menu__endpoint-arrow{color:var(--text-muted);flex:none}.inspector__header{display:flex;align-items:flex-start;gap:6px;padding:8px 12px;border-bottom:1px solid var(--border)}.inspector__heading{flex:1;min-width:0}.inspector__collapse{flex:0 0 auto;width:20px;height:20px;display:inline-flex;align-items:center;justify-content:center;font-size:12px;line-height:1;background:transparent;border:1px solid transparent;border-radius:var(--radius-sm);color:var(--text-muted);cursor:pointer}.inspector__collapse:hover{background:var(--surface-hover);color:var(--text-primary)}.inspector__title{font-size:13px;font-weight:600}.inspector__subtitle{font-size:10.5px;color:var(--text-muted);font-family:var(--font-mono)}.inspector__scroll{flex:1;overflow-y:auto;min-height:0}.inspector__section{padding:9px 12px;border-bottom:1px solid var(--border)}.inspector__section-title{font-size:9.5px;text-transform:uppercase;letter-spacing:.6px;color:var(--text-muted);margin-bottom:7px}.inspector__empty{padding:22px 14px;color:var(--text-muted);font-size:12px;text-align:center;line-height:1.6}.inspector .param{grid-template-columns:88px 1fr;min-height:24px}.inspector .param__label{font-size:11px;color:var(--text-secondary)}.inspector__help{grid-column:1 / -1;font-size:10.5px;color:var(--text-muted);line-height:1.4;margin:-2px 0 4px}.inspector__desc{font-size:11.5px;color:var(--text-secondary);line-height:1.5}.inspector__viewer{height:300px;display:flex;padding:6px;background:var(--surface-3);border-radius:var(--radius-sm)}.inspector__viewer>*{flex:1;min-width:0}.type-chip{display:inline-flex;align-items:center;gap:5px;font-size:10.5px;font-family:var(--font-mono);color:var(--text-secondary);background:var(--surface-3);border:1px solid var(--border);border-radius:9px;padding:1px 7px 1px 5px}.type-chip__dot{width:7px;height:7px;border-radius:50%}.issue-list{display:flex;flex-direction:column;gap:5px}.issue{display:flex;gap:6px;font-size:11px;line-height:1.4;padding:5px 7px;border-radius:var(--radius-sm);background:color-mix(in srgb,var(--status-error) 12%,transparent)}.issue[data-severity=warning]{background:color-mix(in srgb,var(--status-stale) 14%,transparent)}.issue__glyph{flex:none;font-family:var(--font-mono);font-weight:700;font-size:10px}.viewer{display:flex;flex-direction:column;min-width:0;min-height:0;background:var(--surface-2);border-radius:var(--radius-sm);overflow:hidden;position:relative}.viewer__empty{display:flex;align-items:center;justify-content:center;height:100%;color:var(--text-muted);font-size:11px;text-align:center;padding:10px;line-height:1.5}.slider-field{display:flex;align-items:center;gap:6px;min-width:0}.slider-field input[type=range]{flex:1;min-width:40px;accent-color:var(--accent);height:14px}.slider-field__value{font-size:10px;color:var(--text-secondary);font-variant-numeric:tabular-nums;min-width:30px;text-align:right}.viewer__empty--stacked{flex-direction:column;gap:8px}.viewer__scroll{overflow:auto;min-height:0;flex:1}.viewer__caption{padding:3px 6px;font-size:10px;color:var(--text-muted);border-top:1px solid var(--border);display:flex;align-items:center;justify-content:space-between;gap:8px;flex:none;min-height:22px}.viewer__note{font-style:italic;white-space:nowrap}.pager{display:flex;align-items:center;gap:2px;min-width:0}.pager__btn{border:1px solid transparent;background:transparent;color:var(--text-secondary);border-radius:3px;cursor:pointer;font-size:10px;line-height:1;padding:2px 4px;min-width:18px}.pager__btn:hover:not(:disabled){background:var(--surface-hover);border-color:var(--border);color:var(--text-primary)}.pager__btn:disabled{opacity:.3;cursor:default}.pager__label{font-variant-numeric:tabular-nums;padding:0 4px;white-space:nowrap}.pager__size{font:inherit;font-size:10px;background:var(--surface-3);color:var(--text-secondary);border:1px solid var(--border);border-radius:3px;margin-left:4px;cursor:pointer;padding:1px 2px}.data-table__name{all:unset;cursor:pointer;-webkit-user-select:none;user-select:none;display:block;width:100%;white-space:nowrap}.data-table__name:hover{color:var(--text-primary)}.data-table__name:focus-visible{outline:1px solid var(--accent);outline-offset:1px}.data-table th:hover{background:var(--surface-hover)}.data-table th[data-sorted]{color:var(--text-primary)}.data-table__sort{display:inline-block;width:8px;margin-left:2px;font-size:8px;color:var(--accent)}.data-table__filter{display:block;width:100%;min-width:0;margin-top:2px;padding:1px 3px;font:inherit;font-size:10px;font-weight:400;color:var(--text-primary);background:var(--surface-1);border:1px solid var(--border);border-radius:3px}.data-table__filter::placeholder{color:var(--text-muted)}.data-table__filter:focus{outline:none;border-color:var(--accent)}.data-table th[data-filtered] .data-table__filter{border-color:var(--accent)}.data-table th[data-filtered]{color:var(--text-primary)}.data-table__filter[data-invalid]{border-color:var(--status-error)}.pager__btn--icon{display:inline-flex;align-items:center;justify-content:center}.viewer-actions{position:relative;display:flex;align-items:center;gap:2px;flex:none}.download-button{position:relative;display:inline-flex;align-items:center;flex:none}.viewer-actions__btn{display:inline-flex;align-items:center;gap:4px;border:1px solid transparent;background:transparent;color:var(--text-secondary);border-radius:3px;cursor:pointer;font-size:11px;line-height:1;padding:2px 5px}.viewer-actions__btn:hover:not(:disabled){background:var(--surface-hover);border-color:var(--border);color:var(--text-primary)}.viewer-actions__btn:disabled{opacity:.4;cursor:default}.viewer-actions__btn span{font-size:10px}.viewer-actions__menu{position:absolute;right:0;bottom:calc(100% + 4px);z-index:20;min-width:148px;background:var(--surface-1);border:1px solid var(--border-strong);border-radius:var(--radius-sm);box-shadow:var(--shadow-panel);padding:3px}.viewer-actions__item{display:flex;align-items:center;justify-content:space-between;gap:10px;width:100%;border:none;background:transparent;border-radius:3px;cursor:pointer;font-size:11px;padding:4px 6px;text-align:left;color:var(--text-primary)}.viewer-actions__item:hover{background:var(--accent-soft)}.viewer-actions__item span{font-family:var(--font-mono);font-size:10px;color:var(--text-muted)}.data-table{border-collapse:separate;border-spacing:0;font-size:11px;font-variant-numeric:tabular-nums;width:max-content;min-width:100%}.data-table th{position:sticky;top:0;z-index:1;background:var(--surface-3);border-bottom:1px solid var(--border-strong);padding:3px 7px;text-align:left;font-weight:600;font-size:10.5px;color:var(--text-secondary);white-space:nowrap}.data-table th small{font-weight:400;color:var(--text-muted);font-size:9.5px;margin-left:3px}.data-table td{padding:2px 7px;border-bottom:1px solid var(--grid);white-space:nowrap;max-width:200px;overflow:hidden;text-overflow:ellipsis}.data-table td[data-numeric=true]{text-align:right}.data-table tbody tr:hover td{background:var(--surface-hover)}.data-table td[data-null=true]{color:var(--text-muted)}.chart{width:100%;height:100%;display:block;background:var(--surface-2)}.chart text{font-family:var(--font-ui)}.chart-tooltip{position:absolute;z-index:50;pointer-events:none;background:var(--surface-1);border:1px solid var(--border-strong);border-radius:var(--radius-sm);box-shadow:var(--shadow-panel);padding:5px 8px;font-size:11px;line-height:1.45;max-width:240px}.chart-tooltip strong{display:block;font-size:11.5px}.chart-tooltip__row{display:flex;align-items:center;gap:5px;color:var(--text-secondary);font-variant-numeric:tabular-nums}.chart-tooltip__swatch{width:8px;height:8px;border-radius:2px;flex:none}.legend{display:flex;flex-wrap:wrap;gap:3px 10px;padding:4px 6px;font-size:10px;color:var(--text-secondary);border-top:1px solid var(--border);flex:none;max-height:54px;overflow-y:auto}.legend__item{display:inline-flex;align-items:center;gap:4px;white-space:nowrap}.legend__group{display:inline-flex;align-items:center;gap:3px 8px;flex-wrap:wrap;white-space:nowrap}.legend__group+.legend__group{border-left:1px solid var(--border);padding-left:10px}.legend__title{color:var(--text-muted)}.legend__disc{border-radius:50%;background:var(--text-muted);flex:none}.legend__swatch{width:8px;height:8px;border-radius:2px;flex:none}.legend__swatch--input{padding:0;border:none;background:none;cursor:pointer;-webkit-appearance:none;-moz-appearance:none;appearance:none}.legend__swatch--input::-webkit-color-swatch-wrapper{padding:0}.legend__swatch--input::-webkit-color-swatch{border:none;border-radius:2px}.legend__swatch--input::-moz-color-swatch{border:none;border-radius:2px}.legend__label{border:none;background:none;padding:0;font:inherit;color:inherit;cursor:pointer}.legend__label:hover{text-decoration:underline}.legend__item[data-selected] .legend__label{color:var(--text-primary);font-weight:600}.legend__eye{border:none;background:none;padding:0 1px;font-size:8px;line-height:1;color:var(--text-muted);cursor:pointer;opacity:.55}.legend__eye:hover{opacity:1;color:var(--text-secondary)}.legend__more{color:var(--text-muted);font-style:italic}.legend__channel{display:inline-flex;align-items:center;gap:4px;border:none;background:none;padding:0;font:inherit;color:inherit;cursor:pointer;white-space:nowrap}.legend__channel:hover{color:var(--text-primary)}.legend__channel[aria-pressed=false]{text-decoration:line-through;color:var(--text-muted)}.legend__item[data-hidden]{opacity:.6}.legend__item[data-hidden] .legend__label{text-decoration:line-through}.legend__item[data-hidden] .legend__eye{opacity:1}.legend__reset button{border:none;background:none;padding:0;font:inherit;color:var(--text-muted);cursor:pointer;text-decoration:underline}.legend__reset button:hover{color:var(--text-secondary)}.colorbar{display:flex;align-items:center;gap:5px;font-size:9.5px;color:var(--text-muted);font-variant-numeric:tabular-nums}.colorbar__ramp{width:56px;height:7px;border-radius:2px;border:1px solid var(--border)}.notice{position:absolute;left:50%;bottom:14px;transform:translate(-50%);z-index:30;display:flex;align-items:center;gap:9px;max-width:min(560px,90%);padding:6px 10px;font-size:11.5px;background:var(--surface-1);border:1px solid var(--border-strong);border-left:3px solid var(--status-stale);border-radius:var(--radius-sm);box-shadow:var(--shadow-panel)}.notice button{border:none;background:transparent;color:var(--text-muted);cursor:pointer;font-size:13px;line-height:1;padding:0 2px}.notice button:hover{color:var(--text-primary)}.shortcut-hints{display:flex;gap:10px;font-size:10px;color:var(--text-muted);font-family:var(--font-mono)}.overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:60;display:flex;align-items:center;justify-content:center;padding:28px;background:color-mix(in srgb,var(--canvas) 78%,transparent);-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.overlay__panel{display:flex;flex-direction:column;width:100%;height:100%;max-width:1500px;min-height:0;background:var(--surface-1);border:1px solid var(--border-strong);border-radius:var(--radius);box-shadow:var(--shadow-panel);overflow:hidden}.overlay__panel:fullscreen{max-width:none;border:none;border-radius:0;background:var(--surface-1)}.viewer-panel{max-width:none}.overlay__header{display:flex;align-items:center;gap:8px;padding:8px 12px;border-bottom:1px solid var(--border);flex:none}.overlay__title{flex:1;min-width:0;display:flex;flex-direction:column;gap:1px}.overlay__title strong{font-size:14px;font-weight:600}.overlay__title span{font-size:11px;color:var(--text-muted);font-variant-numeric:tabular-nums}.overlay__rail{display:flex;flex-wrap:wrap;align-items:center;gap:6px 16px;padding:6px 12px;border-bottom:1px solid var(--border);background:var(--surface-3);flex:none}.overlay__rail-item{display:flex;align-items:center;gap:6px}.overlay__rail-item .param__label{font-size:11px;color:var(--text-secondary)}.overlay__rail-item .field{width:auto;min-width:120px}.overlay__rail-item .columns-field{min-width:160px}.overlay__main{flex:1;min-height:0;display:flex;min-width:0}.overlay__body{flex:1;min-height:0;min-width:0;display:flex;padding:10px 12px 12px}.overlay__body>*{flex:1;min-width:0}.overlay__body .viewer{background:var(--surface-2);border:1px solid var(--border)}.overlay__body .data-table{font-size:12px}.overlay__body .data-table td{padding:3px 9px;max-width:420px}.overlay__body .data-table th{padding:5px 9px;font-size:11px}.overlay__body .viewer__caption{font-size:11px;padding:5px 8px}.overlay__style{flex:none;width:268px;display:flex;flex-direction:column;min-height:0;border-left:1px solid var(--border);background:var(--surface-3)}.style-tabs{display:flex;flex-wrap:wrap;flex:none;padding:0 6px;gap:2px;border-bottom:1px solid var(--border)}.style-tab{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:none;background:transparent;color:var(--text-secondary);font-size:11px;padding:7px 9px 6px;cursor:pointer;border-bottom:2px solid transparent;margin-bottom:-1px}.style-tab:hover{color:var(--text-primary)}.style-tab[aria-selected=true]{color:var(--text-primary);border-bottom-color:var(--accent)}.style-scroll{flex:1;min-height:0;overflow-y:auto;padding:8px 10px 12px}.style-warning{margin:0 0 9px;padding:5px 7px;border-radius:var(--radius-sm);font-size:10.5px;line-height:1.4;color:var(--text-secondary);background:var(--surface-2);border-left:2px solid var(--status-stale)}.style-rows{display:flex;flex-direction:column;gap:9px}.style-row{display:grid;grid-template-columns:58px minmax(0,1fr);align-items:center;column-gap:8px;row-gap:4px}.style-row__label{font-size:11px;color:var(--text-secondary);overflow:hidden;text-overflow:ellipsis}.style-row__controls{display:flex;flex-direction:column;gap:4px;min-width:0}.style-row__controls .field,.style-row__controls .columns-field{width:100%;min-width:0}.style-row__extras{grid-column:2;display:flex;flex-wrap:wrap;gap:4px 10px;min-width:0}.style-facet{display:flex;align-items:center;gap:5px;min-width:0}.style-facet__label{font-size:10px;color:var(--text-muted)}.style-facet .field{width:66px;min-width:0}.node-browser{max-width:1080px;max-height:760px}.node-browser__search,.zoo__search{display:flex;align-items:center;gap:10px;padding:10px 14px;border-bottom:1px solid var(--border);flex:none}.node-browser__input{flex:1;min-width:0;font:inherit;font-size:15px;background:transparent;border:none;color:var(--text-primary);padding:2px 0}.node-browser__input:focus{outline:none}.node-browser__input::placeholder{color:var(--text-muted)}.node-browser__count{font-size:11px;color:var(--text-muted);font-variant-numeric:tabular-nums;white-space:nowrap}.node-browser__chips,.zoo__tags{display:flex;flex-wrap:wrap;gap:5px;padding:8px 14px;border-bottom:1px solid var(--border);background:var(--surface-3);flex:none}.chip-filter{display:inline-flex;align-items:center;gap:5px;padding:3px 9px;font-size:11.5px;background:transparent;border:1px solid var(--border);border-radius:11px;color:var(--text-secondary);cursor:pointer;white-space:nowrap}.chip-filter:hover{border-color:var(--border-strong);color:var(--text-primary)}.chip-filter[aria-selected=true]{color:var(--text-primary);border-color:transparent;background:var(--accent-soft);font-weight:550}.chip-filter[aria-selected=true][data-category=dataset]{background:color-mix(in srgb,var(--cat-dataset) 24%,transparent)}.chip-filter[aria-selected=true][data-category=query]{background:color-mix(in srgb,var(--cat-query) 24%,transparent)}.chip-filter[aria-selected=true][data-category=transform]{background:color-mix(in srgb,var(--cat-transform) 26%,transparent)}.chip-filter[aria-selected=true][data-category=analysis]{background:color-mix(in srgb,var(--cat-analysis) 24%,transparent)}.chip-filter[aria-selected=true][data-category=visualisation]{background:color-mix(in srgb,var(--cat-visualisation) 24%,transparent)}.chip-filter__count{font-size:10px;color:var(--text-muted);font-variant-numeric:tabular-nums}.chip-filter[aria-selected=true] .chip-filter__count{color:var(--text-secondary)}.node-browser__list,.zoo__list{flex:1;min-height:0;overflow-y:auto;padding:6px}.node-row,.zoo-row{display:flex;align-items:center;gap:12px;width:100%;text-align:left;padding:6px 8px;border:1px solid transparent;background:transparent;border-radius:var(--radius);cursor:pointer}.node-row:hover,.node-row[aria-selected=true],.zoo-row:hover,.zoo-row[aria-selected=true]{background:var(--surface-hover);border-color:var(--border)}.node-row[aria-selected=true],.zoo-row[aria-selected=true]{background:var(--accent-soft)}.node-thumb{flex:none;color:var(--text-muted)}.node-row[aria-selected=true] .node-thumb{color:var(--text-secondary)}.node-row__text,.zoo-row__text{display:flex;flex-direction:column;gap:1px;flex:1;min-width:0}.node-row__name{font-size:13px;font-weight:550;color:var(--text-primary)}.node-row__desc,.zoo-row__summary{font-size:11.5px;color:var(--text-muted);line-height:1.4;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.node-row__meta{display:flex;flex-direction:column;align-items:flex-end;gap:3px;flex:none;max-width:40%}.node-row__signature{font-family:var(--font-mono);font-size:10.5px;color:var(--text-secondary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}.node-row__category{display:inline-flex;align-items:center;gap:6px;font-size:10px;color:var(--text-muted)}.node-row__cost{padding:0 5px;border-radius:8px;background:color-mix(in srgb,var(--status-stale) 20%,transparent);color:var(--text-secondary)}.node-browser__footer{display:flex;align-items:center;gap:12px;padding:6px 14px;border-top:1px solid var(--border);background:var(--surface-3);font-size:10.5px;color:var(--text-muted);font-family:var(--font-mono);flex:none}.node-browser__guide{color:var(--accent);text-decoration:none;white-space:nowrap}.node-browser__guide:hover{text-decoration:underline}@media(max-width:680px){.node-row__meta{display:none}}.dropdown{position:relative}.dropdown__panel{position:absolute;top:calc(100% + 4px);left:0;z-index:40;min-width:260px;background:var(--surface-1);border:1px solid var(--border-strong);border-radius:var(--radius);box-shadow:var(--shadow-panel);padding:3px}.dropdown__item{display:block;width:100%;text-align:left;padding:6px 8px;border:none;background:transparent;border-radius:var(--radius-sm);cursor:pointer}.dropdown__item:hover{background:var(--accent-soft)}a.dropdown__item{color:inherit;text-decoration:none}.dropdown__item strong{display:block;font-size:12px;font-weight:550}.dropdown__item span{display:block;font-size:10.5px;color:var(--text-muted);line-height:1.4}.dropdown__item .dropdown__warn{color:var(--status-warn);margin-top:2px}.dropdown__item .dropdown__refused{color:var(--status-refused);margin-top:2px}.dropdown__item:disabled{cursor:default}.dropdown__item:disabled:hover{background:transparent}.dropdown__item:disabled strong,.dropdown__item:disabled>span:not(.dropdown__refused){opacity:.45}.dropdown__panel{max-height:min(70vh,520px);overflow-y:auto}.dropdown__group{border-top:1px solid var(--border);margin-top:3px;padding-top:3px}.dropdown__panel--flyouts{max-height:none;overflow:visible}.dropdown__sub{position:relative}.dropdown__item--parent{position:relative;padding-right:20px}.dropdown__item--parent:after{content:"▸";position:absolute;right:7px;top:50%;transform:translateY(-50%);font-size:12px;color:var(--text-secondary)}.dropdown__item--parent[aria-expanded=true]{background:var(--accent-soft)}.dropdown__flyout{top:-3px;left:100%}.dropdown__flyout--left{left:auto;right:100%}.dropdown__heading{padding:3px 8px;font-size:10px;font-weight:600;letter-spacing:.4px;text-transform:uppercase;color:var(--text-muted)}.dropdown__note{padding:4px 8px;font-size:10.5px;color:var(--text-muted)}.dropdown__note--error{color:var(--status-error)}.dropdown__note--caveat{padding:0 8px 4px;font-size:9.5px;font-style:italic;white-space:nowrap;color:color-mix(in srgb,var(--text-muted) 85%,var(--surface-1))}.dropdown__note--caveat+.dropdown__group{margin-top:0}.dropdown__note--heads-up{padding:7px 8px 1px;font-size:9.5px;font-style:italic;color:var(--status-warn)}.library-row{display:flex;align-items:stretch;gap:2px;border-radius:var(--radius-sm)}.library-row:hover{background:var(--accent-soft)}.library-row__open{flex:1;min-width:0}.library-row__open:hover{background:transparent}.library-row__open strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.library-row__act{flex:none;display:inline-flex;align-items:center;justify-content:center;min-width:24px;padding:0 6px;font-size:11px;color:var(--text-muted);background:transparent;border:1px solid transparent;border-radius:var(--radius-sm);cursor:pointer}.library-row__act:hover{background:var(--surface-hover);border-color:var(--border);color:var(--text-primary)}.library-row--editing{gap:4px;padding:4px;align-items:center}.library-row__input{flex:1;min-width:0;height:24px;padding:0 6px;font-size:12px;font-family:inherit;color:var(--text-primary);background:var(--surface-2);border:1px solid var(--border-strong);border-radius:var(--radius-sm)}.library-row__ask{flex:1;min-width:0;font-size:11.5px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.library-row__btn{height:24px;font-size:11px;padding:0 8px}.btn[data-tone=danger]{color:var(--status-error);border-color:color-mix(in srgb,var(--status-error) 45%,var(--border))}.btn[data-tone=danger]:hover:not(:disabled){background:color-mix(in srgb,var(--status-error) 12%,transparent);border-color:var(--status-error)}.dropdown__confirm{padding:7px 8px;display:flex;flex-direction:column;gap:8px}.dropdown__confirm p{margin:0;font-size:11.5px;line-height:1.4}.dropdown__confirm>div{display:flex;gap:6px}.dropdown__confirm .btn{height:24px;font-size:11px}.network-canvas,.viewer3d-canvas{flex:1;min-height:0;min-width:0;position:relative;overflow:hidden}.network-canvas canvas,.viewer3d-canvas canvas{display:block;outline:none}.viewer3d-canvas canvas{width:100%!important;height:100%!important}.network-canvas>.sigma-container{position:absolute;top:0;right:0;bottom:0;left:0}.scatter-canvas,.heatmap-plot{flex:1;min-height:0;min-width:0;position:relative;overflow:hidden}.scatter-canvas canvas,.heatmap-plot canvas{display:block}.scatter-canvas{touch-action:none}.scatter-canvas canvas{outline:none}.heatmap-overlay{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none}.scatter-gesture{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;z-index:2}.scatter-gesture rect,.scatter-gesture polygon{fill:var(--accent-soft);stroke:var(--accent);stroke-width:1;stroke-dasharray:3 3}.legend__mark{flex:none;color:var(--text-secondary)}.ng-frame{flex:1;min-height:180px;width:100%;background:#000;position:relative;overflow:hidden}.ng-frame__doc{position:absolute;top:0;left:0;border:0;display:block;width:calc(100% / var(--ng-scale, 1));height:calc(100% / var(--ng-scale, 1));transform:scale(var(--ng-scale, 1));transform-origin:0 0}a.viewer-actions__btn{text-decoration:none}.network-strip{position:absolute;top:6px;right:8px;z-index:3;display:flex;align-items:center;gap:3px;padding:3px;border-radius:var(--radius-sm);background:color-mix(in srgb,var(--surface-1) 88%,transparent);border:1px solid var(--border)}.network-strip__btn{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:1px solid transparent;background:transparent;color:var(--text-secondary);border-radius:3px;cursor:pointer;font-size:11px;line-height:1;padding:3px 5px;min-width:20px}.network-strip__btn:hover{background:var(--surface-hover);border-color:var(--border);color:var(--text-primary)}.network-strip__btn[aria-pressed=true]{color:var(--text-primary);border-color:var(--border);background:var(--surface-hover)}.network-strip__find{width:88px;min-width:0;font-size:10.5px;padding:2px 5px;border-radius:3px;border:1px solid var(--border);background:var(--surface-2);color:var(--text-primary)}.network-strip__find:focus{outline:none;border-color:var(--accent)}.network-strip__count{font-size:10px;color:var(--text-muted);font-variant-numeric:tabular-nums;padding-right:2px}.viewer__overlay-note{position:absolute;top:6px;left:8px;z-index:2;padding:2px 7px;border-radius:9px;font-size:10px;color:var(--text-secondary);background:color-mix(in srgb,var(--surface-1) 88%,transparent);border:1px solid var(--border);pointer-events:none}.network-tip{position:absolute;z-index:3;padding:2px 7px 4px;border-radius:4px;font-size:10px;font-variant-numeric:tabular-nums;white-space:nowrap;max-width:200px;color:var(--text-primary);background:var(--surface-1);border:1px solid var(--border);box-shadow:0 2px 8px #00000040;pointer-events:none}.network-tip__title{line-height:16px;font-weight:600;overflow:hidden;text-overflow:ellipsis}.network-tip__row{line-height:14px;color:var(--text-secondary);overflow:hidden;text-overflow:ellipsis}.coda-node__preview .network-canvas,.coda-node__preview .viewer3d-canvas{min-height:80px}.ids-field{display:flex;align-items:center;gap:6px;font-size:11px;color:var(--text-secondary);min-height:22px}.ids-field__count{font-variant-numeric:tabular-nums}.ids-field button{border:1px solid var(--border);background:var(--surface-3);color:var(--text-secondary);border-radius:3px;font-size:10px;padding:1px 6px;cursor:pointer}.ids-field button:hover{color:var(--text-primary);border-color:var(--border-strong)}.sources{max-width:640px;max-height:660px}.sources__header{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:10px 14px;border-bottom:1px solid var(--border);flex:none}.sources__header h2{margin:0;font-size:13px;font-weight:600}.sources__source{padding:12px 14px}.sources__note{margin:0 0 10px;font-size:11px;line-height:1.5;color:var(--text-secondary)}.sources__note--tight{margin-top:-4px}.sources__note code{font-family:var(--font-mono);font-size:10px;padding:1px 4px;border-radius:3px;background:var(--surface-2)}.sources__alert{flex:none;margin:0;padding:10px 14px;font-size:11px;line-height:1.5;color:var(--text-primary);background:color-mix(in srgb,var(--status-error) 12%,transparent);border-bottom:1px solid var(--border)}.sources__privacy{flex:none;margin:0;padding:9px 14px;font-size:11px;line-height:1.5;color:var(--text-secondary);background:var(--surface-2);border-bottom:1px solid var(--border)}.sources__privacy strong{color:var(--text-primary);font-weight:600}.sources__sections{display:flex;flex:none;gap:4px;margin:0 12px 10px;padding:3px;border-radius:7px;background:var(--surface-2)}.sources__section{-webkit-appearance:none;-moz-appearance:none;appearance:none;flex:1;border:none;border-radius:5px;background:transparent;color:var(--text-secondary);font-size:11px;font-weight:500;padding:6px 10px;cursor:pointer}.sources__section:hover{color:var(--text-primary)}.sources__section[aria-selected=true]{background:var(--surface-1);color:var(--text-primary);box-shadow:0 1px 2px #00000029}.sources__tabs{display:flex;flex:none;gap:2px;padding:0 8px;border-bottom:1px solid var(--border)}.sources__tab{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:none;background:transparent;color:var(--text-secondary);font-size:11px;padding:7px 9px 6px;cursor:pointer;border-bottom:2px solid transparent;margin-bottom:-1px}.sources__tab:hover{color:var(--text-primary)}.sources__tab[aria-selected=true]{color:var(--text-primary);border-bottom-color:var(--accent)}.sources__body{flex:1;min-height:0;overflow-y:auto}.sources__field{display:flex;flex-direction:column;gap:4px;margin-bottom:10px}.sources__field>span{font-size:10px;color:var(--text-muted)}.sources__inline{display:flex;align-items:center;gap:6px}.sources__inline>.field{flex:1;min-width:0}.sources__refresh{flex:none;width:30px;padding:0;text-align:center}.sources__check{display:flex;align-items:center;gap:6px;font-size:11.5px}.sources__check>span{color:var(--text-secondary)}.sources__hint{font-size:10px;color:var(--text-muted)}.sources__hint code{font-family:var(--font-mono);font-size:10px}.sources__actions{display:flex;align-items:center;gap:6px}.sources__result{margin:10px 0 0;font-size:11px;line-height:1.5;word-break:break-word}.sources__result[data-tone=ok]{color:var(--status-ok)}.sources__result[data-tone=error]{color:var(--status-error)}.sources__result[data-tone=warn]{color:var(--status-warn)}.sources__list{list-style:none;margin:0 0 10px;padding:0;display:flex;flex-direction:column;gap:10px}.sources__row{border:1px solid var(--border);border-radius:6px;padding:10px 10px 8px;background:var(--surface-2)}.sources__row .sources__field:last-of-type{margin-bottom:6px}.sources__more{margin:0 0 8px}.sources__more>summary{font-size:10px;color:var(--text-muted);cursor:pointer;text-decoration:underline dotted;text-underline-offset:2px;margin-bottom:6px}.sources__more>summary:hover{color:var(--text-primary)}.share{max-width:620px;height:auto;max-height:640px}.feedback{max-width:560px;height:auto;max-height:680px}.feedback__body{padding:12px 14px 14px}.feedback__message{height:auto;min-height:110px;padding:6px 7px;line-height:1.45;resize:vertical;white-space:pre-wrap}.feedback__diagnostics{margin:8px 0 0;padding:8px 10px;border-radius:4px;background:var(--surface-2);font-family:var(--font-mono);font-size:10.5px;line-height:1.5;color:var(--text-secondary);white-space:pre-wrap;word-break:break-all}.feedback__submit{margin-top:10px}.feedback__link{margin:6px 0 0;font-family:var(--font-mono);font-size:11px}.feedback__link-toolong{display:flex;flex-direction:column;gap:6px;margin:6px 0 0}.feedback__link-toolong .btn{align-self:flex-start}.shortcuts{max-width:820px;height:auto;max-height:min(88vh,820px)}.shortcuts__body{padding:12px 14px;columns:2;column-gap:26px}@media(max-width:720px){.shortcuts__body{columns:1}}.shortcuts__group{break-inside:avoid;margin-bottom:14px}.shortcuts__group h3{margin:0 0 6px;font-size:11px;font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:var(--text-muted)}.shortcuts__group dl{margin:0}.shortcuts__row{display:grid;grid-template-columns:112px 1fr;gap:8px;align-items:baseline;padding:3px 0}.shortcuts__row dt{display:flex;flex-wrap:wrap;gap:4px}.shortcuts__row dt kbd{font-family:var(--font-mono);font-size:10px;line-height:1.5;color:var(--text-primary);background:var(--surface-2);border:1px solid var(--border);border-radius:3px;padding:1px 5px;overflow-wrap:anywhere}.shortcuts__row dd{margin:0;font-size:12px;line-height:1.45;color:var(--text-primary)}.shortcuts__row dd span{display:block;font-size:11px;line-height:1.4;color:var(--text-secondary)}.shortcuts__foot{flex:none;padding:8px 14px;border-top:1px solid var(--border);font-size:11px;line-height:1.45;color:var(--text-secondary)}.share__body{flex:0 1 auto;padding:4px 14px 14px}.share .sources__sections{margin-top:10px}.share__link{display:flex;align-items:center;gap:6px;margin:10px 0 4px}.share__link>.field{flex:1;min-width:0;font-family:var(--font-mono);font-size:11px}.share__link>.btn{flex:none}.share__pending{margin:10px 0 4px;font-size:11px;color:var(--text-muted)}.share__size{margin:0 0 8px;font-size:10px;color:var(--text-muted)}.share__controls{display:flex;align-items:flex-start;gap:10px;margin:10px 0 2px}.share__controls>.btn{flex:none}.share__check{display:flex;align-items:flex-start;gap:6px;flex:1;min-width:0;font-size:11px;line-height:1.45}.share__check input{margin-top:2px;flex:none}.share__check em{display:block;font-style:normal;font-size:10px;line-height:1.45;color:var(--text-muted)}.share__advisory{margin:8px 0 0;padding-left:9px;border-left:2px solid var(--border);font-size:11px;line-height:1.5;color:var(--text-secondary)}.share__blocked{margin:10px 0 0;padding:8px 10px;border-radius:4px;background:var(--surface-2);font-size:11px;line-height:1.5;color:var(--text-secondary)}.share__blocked strong{color:var(--text-primary);font-weight:600}.share-gate{position:fixed;top:46px;left:50%;transform:translate(-50%);z-index:60;padding:6px 12px;border:1px solid var(--border);border-radius:5px;background:var(--surface-1);box-shadow:var(--shadow-panel);font-size:11px;color:var(--text-secondary)}.share-gate__panel{max-width:440px;height:auto;padding:14px 16px;gap:0}.share-gate__panel h2{margin:0 0 8px;font-size:13px;font-weight:600}.share-gate__panel p{margin:0 0 8px;font-size:11px;line-height:1.55;color:var(--text-secondary)}.share__advisory code,.share__blocked code,.share-gate__panel code{font-family:var(--font-mono);font-size:10px}.share-gate__panel code{padding:1px 4px;border-radius:3px;background:var(--surface-2);color:var(--text-primary)}.share-gate__quiet{color:var(--text-muted)!important}.share-gate__actions{display:flex;gap:6px;margin-top:12px}.feedback-nudge{position:fixed;right:16px;bottom:40px;z-index:50;max-width:280px;padding:10px 12px;border:1px solid var(--border);border-radius:7px;background:var(--surface-1);box-shadow:var(--shadow-panel)}.feedback-nudge p{margin:0 0 8px;font-size:11px;line-height:1.5;color:var(--text-primary)}.feedback-nudge__actions{display:flex;align-items:center;gap:6px}.field--area{resize:vertical;min-height:54px;line-height:1.45;padding:5px 7px;white-space:pre;overflow-wrap:normal;overflow-x:auto}.dataset-body{display:flex;flex-direction:column;gap:6px;padding:6px;min-width:0}.dataset-preview{position:relative;aspect-ratio:16 / 7;display:flex;align-items:center;justify-content:center;border-radius:var(--radius-sm);border:1px solid var(--border);background:radial-gradient(circle at 50% 45%,color-mix(in srgb,var(--cat-dataset) 12%,transparent),transparent 70%),var(--surface-2);color:color-mix(in srgb,var(--cat-dataset) 70%,var(--text-muted));overflow:hidden}.dataset-preview__art{height:78%;max-width:60%}.dataset-preview__caption{position:absolute;right:5px;bottom:3px;font-family:var(--font-mono);font-size:9.5px;color:var(--text-muted);background:color-mix(in srgb,var(--surface-2) 80%,transparent);padding:0 3px;border-radius:3px}.dataset-body__fields{display:flex;flex-direction:column;gap:4px}.dataset-body__field{display:grid;grid-template-columns:58px 1fr;align-items:center;gap:6px;min-width:0}.dataset-body__population{margin-top:2px;font-size:10px;line-height:1.35;color:var(--text-muted)}.dataset-body__foot{display:flex;align-items:baseline;gap:6px;font-size:10px;color:var(--text-muted);min-width:0}.dataset-body__id{font-family:var(--font-mono);color:var(--text-secondary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.dataset-body__server,.dataset-body__facts{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;flex:0 1 auto}.dataset-body__facts{margin-left:auto}.dataset-body__refresh{flex:0 0 auto;width:16px;height:16px;display:inline-flex;align-items:center;justify-content:center;font-size:10px;background:transparent;border:1px solid transparent;border-radius:var(--radius-sm);color:var(--text-muted);cursor:pointer}.dataset-body__refresh:hover{background:var(--surface-hover);color:var(--text-primary)}.dataset-body__edges{flex:0 1 auto;min-width:0;max-width:120px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;padding:0 4px;font-size:9.5px;background:transparent;border:1px solid transparent;border-radius:var(--radius-sm);color:var(--text-muted);cursor:pointer}.dataset-body__edges:hover{background:var(--surface-hover);color:var(--text-primary)}.dataset-body__edges[aria-pressed=true]{color:var(--accent);border-color:var(--border)}.edges__heading{margin:10px 0 4px;font-size:11px;font-weight:600;color:var(--text-primary)}.edges__list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:2px}.edges__row{display:flex;align-items:center;gap:8px;padding:3px 0;font-size:11px}.edges__pick{display:flex;align-items:center;gap:6px;min-width:0;flex:1 1 auto;cursor:pointer}.edges__name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.edges__rename{flex:1 1 auto;min-width:0;font-size:11px}.edges__facts{flex:0 0 auto;color:var(--text-muted);font-size:10px}.edges__actions{flex:0 0 auto;display:flex;gap:4px}.edges__file{display:none}.edges__progress{width:100%;height:6px}.edges__sample{width:100%;table-layout:fixed;border-collapse:collapse;margin:6px 0;font-family:var(--font-mono);font-size:10px;color:var(--text-muted)}.edges__sample td{padding:1px 4px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;border-bottom:1px solid var(--border)}.edges__sample td[data-role]{color:var(--text-primary);background:var(--surface-2)}.description-body,.cave-info{padding:2px 8px 8px;min-width:0;max-height:260px;overflow-y:auto;overscroll-behavior:contain}.overlay .description-body,.overlay .cave-info{max-height:none;padding:4px 2px}.description-body__empty,.cave-info__empty{margin:0;font-size:11px;line-height:1.5;color:var(--text-muted)}.cave-info{display:flex;flex-direction:column;gap:5px}.cave-info__head{display:flex;flex-wrap:wrap;align-items:baseline;gap:3px 6px;min-width:0}.cave-info__name{font-family:var(--font-mono);font-size:11px;color:var(--text-primary);overflow-wrap:anywhere}.cave-info__kind,.cave-info__schema{font-size:9.5px;letter-spacing:.02em;padding:1px 5px;border-radius:3px;background:var(--surface-3);color:var(--text-muted)}.cave-info__kind{white-space:nowrap}.cave-info__schema{font-family:var(--font-mono);overflow-wrap:anywhere}.cave-info__notice{margin:0;padding:4px 6px;border-radius:3px;font-size:10.5px;line-height:1.45;background:var(--surface-3);color:var(--status-warn)}.cave-info__rows{display:flex;flex-wrap:wrap;align-items:baseline;gap:2px 10px;margin:0;min-width:0}.cave-info__row{display:flex;align-items:baseline;gap:4px;min-width:0}.cave-info__row dt{font-size:9.5px;color:var(--text-muted);white-space:nowrap}.cave-info__row dd{margin:0;font-size:10.5px;color:var(--text-secondary);overflow-wrap:anywhere}.markdown{font-size:11.5px;line-height:1.55;color:var(--text-secondary);overflow-wrap:anywhere}.overlay .markdown{font-size:13px;line-height:1.6;max-width:70ch}.markdown>*:first-child{margin-top:0}.markdown>*:last-child{margin-bottom:0}.markdown__p{margin:0 0 8px}.markdown__heading{margin:12px 0 4px;font-size:1em;font-weight:600;color:var(--text-primary)}.markdown__list{margin:0 0 8px;padding-left:16px}.markdown__item{margin:0 0 2px}.markdown__item>.markdown__list{margin:2px 0 0}.markdown__code{font-family:var(--font-mono);font-size:.92em;padding:0 3px;border-radius:3px;background:var(--surface-3)}.markdown__link{color:var(--accent);text-decoration:underline;text-underline-offset:2px}.markdown__link:hover{text-decoration-thickness:2px}.markdown__link--internal{font:inherit;padding:0;border:none;background:none;cursor:pointer;vertical-align:baseline}.markdown__pre{margin:0 0 10px;padding:8px 10px;border:1px solid var(--border);border-radius:4px;background:var(--surface-2);color:var(--text-secondary);font-family:var(--font-mono);font-size:.92em;line-height:1.5;overflow-x:auto}.markdown__callout{margin:0 0 10px;padding:8px 12px;border-left:3px solid var(--cal);border-radius:0 4px 4px 0;background:color-mix(in srgb,var(--cal) 9%,transparent);--cal: var(--text-muted)}.markdown__callout[data-tone=warning]{--cal: var(--status-stale)}.markdown__callout[data-tone=tip]{--cal: var(--accent)}.markdown__callout-title{margin-bottom:3px;color:var(--text-primary);font-weight:600;font-size:.95em}.markdown__callout-body{font-size:inherit}.markdown__callout-body>*:last-child{margin-bottom:0}.markdown__table-scroll{margin:0 0 12px;overflow-x:auto}.markdown__table{border-collapse:collapse;width:100%;font-size:.95em}.markdown__table th,.markdown__table td{padding:5px 10px;border-bottom:1px solid var(--border);vertical-align:top}.markdown__table th{color:var(--text-primary);font-weight:600;border-bottom-color:var(--border-strong);white-space:nowrap}.markdown__figure{margin:0 0 12px}.markdown__figure img{display:block;max-width:100%;height:auto;padding:8px;background:#fff;border:1px solid var(--border);border-radius:4px}.markdown__figure figcaption{margin-top:4px;color:var(--text-muted);font-size:.92em}.markdown__missing{color:var(--text-muted);font-style:italic}.minimap-toggle{position:absolute;right:12px;bottom:12px;z-index:5;width:26px;height:26px;display:inline-flex;align-items:center;justify-content:center;padding:0;background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text-secondary);cursor:pointer}.minimap-toggle:hover{background:var(--surface-hover);color:var(--text-primary);border-color:var(--border-strong)}.minimap-toggle[data-open]{bottom:calc(12px + var(--minimap-height) + 6px);color:var(--text-primary)}.autorun{display:inline-flex;align-items:center;gap:5px;padding:4px 7px;font-size:12px;color:var(--text-secondary);border:1px solid transparent;border-radius:var(--radius-sm);cursor:pointer;white-space:nowrap;-webkit-user-select:none;user-select:none}.autorun:hover{background:var(--surface-hover);color:var(--text-primary)}.autorun input{margin:0;cursor:pointer;accent-color:var(--accent)}.autorun:has(input:checked){color:var(--text-primary);border-color:var(--border);background:var(--accent-soft)}.start{position:fixed;top:0;right:0;bottom:0;left:0;z-index:70;display:flex;align-items:center;justify-content:center;padding:28px;background:color-mix(in srgb,var(--canvas) 55%,transparent);-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.start__panel{position:relative;display:flex;flex-direction:column;width:min(1040px,90vw);height:min(700px,86vh);background:var(--surface-1);border:1px solid var(--border-strong);border-radius:var(--radius);box-shadow:var(--shadow-panel);overflow:hidden}.start__image{position:absolute;top:0;right:0;bottom:0;left:0;background-position:center;background-size:cover;opacity:var(--start-image-opacity);pointer-events:none}.start__scrim{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;background:linear-gradient(to bottom,color-mix(in srgb,var(--surface-1) 52%,transparent) 0%,color-mix(in srgb,var(--surface-1) 68%,transparent) 22%,var(--surface-1) 40%,var(--surface-1) 100%)}.start__close{position:absolute;top:12px;right:12px;z-index:3;width:28px;height:28px;display:grid;place-items:center;border:1px solid transparent;border-radius:var(--radius-sm);background:color-mix(in srgb,var(--surface-1) 70%,transparent);color:var(--text-secondary);font:inherit;font-size:14px;cursor:pointer}.start__close:hover{background:var(--surface-hover);color:var(--text-primary)}.start__scroll{position:relative;z-index:2;flex:1;min-height:0;overflow-y:auto;display:flex;flex-direction:column;gap:20px;padding:30px 34px 22px}.start__head{display:flex;flex-direction:column;gap:12px}.start__brand{display:flex;align-items:baseline;gap:12px;flex-wrap:wrap}.start__o{width:1.056em;height:1.056em;margin:0 -.04em;vertical-align:-.269em;color:var(--accent)}.start__brand h1{margin:0;font-size:36px;font-weight:600;letter-spacing:-.025em;line-height:1}.start__badge{font-family:var(--font-mono);font-size:10.5px;letter-spacing:.16em;text-transform:uppercase;padding:3px 8px;border-radius:3px;color:var(--status-running-ring);border:1px solid color-mix(in srgb,var(--status-running-ring) 45%,transparent);background:color-mix(in srgb,var(--status-running-ring) 12%,transparent)}.start__version{font-family:var(--font-mono);font-size:11.5px;color:var(--text-muted)}.start__lede{margin:0;font-size:15px;line-height:1.5;color:var(--text-secondary)}.start__lede strong{color:var(--text-primary);font-weight:600}.start__alpha{margin:0;font-size:13px;line-height:1.55;color:var(--text-muted);padding-left:11px;border-left:2px solid color-mix(in srgb,var(--status-running-ring) 55%,transparent)}.start__deck{display:flex;flex-direction:column;gap:9px}.start__deck-label{margin:0;display:flex;align-items:baseline;gap:10px;flex-wrap:wrap;font-family:var(--font-mono);font-size:10.5px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--text-secondary)}.start__deck-label span{font-family:var(--font-ui);font-weight:400;letter-spacing:.02em;text-transform:none;font-size:11.5px;color:var(--text-muted)}.start__deck-viewport{position:relative}.start__track{display:flex;gap:12px;overflow-x:auto;scroll-snap-type:x mandatory;scroll-behavior:smooth;padding-bottom:4px;scrollbar-width:thin}.start__arrow{position:absolute;top:50%;translate:0 -50%;z-index:2;width:26px;height:26px;display:grid;place-items:center;border:1px solid var(--border-strong);border-radius:50%;background:var(--surface-2);color:var(--text-secondary);font:inherit;font-size:12px;cursor:pointer;box-shadow:var(--shadow-node)}.start__arrow[data-dir=prev]{left:-9px}.start__arrow[data-dir=next]{right:-9px}.start__arrow:hover{color:var(--text-primary)}.start-card{position:relative;flex:none;width:196px;scroll-snap-align:start;background:var(--surface-2);border:1px solid var(--border-strong);border-radius:var(--radius);overflow:hidden}.start-card:hover{border-color:var(--accent)}.start-card:hover .start-card__tile{filter:brightness(1.06)}.start-card__main{display:flex;flex-direction:column;width:100%;padding:0;border:0;background:transparent;color:inherit;font:inherit;text-align:left;cursor:pointer}.start-card__main>*{width:100%}.start-card__tile{height:80px;display:grid;place-items:center;border-bottom:1px solid var(--border);background:linear-gradient(150deg,color-mix(in srgb,var(--tint) 26%,var(--surface-3)),color-mix(in srgb,var(--tint) 9%,var(--surface-3)));color:color-mix(in srgb,var(--tint) 78%,var(--text-primary))}.start-card__img{width:100%;height:100%;object-fit:cover}.start-card__glyph{width:44px;height:44px}.start-card__text{padding:9px 10px 11px;display:flex;flex-direction:column;gap:3px}.start-card__name{font-size:12.5px;font-weight:600;line-height:1.25}.start-card__blurb{font-size:11px;line-height:1.35;color:var(--text-muted);display:-webkit-box;-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.start-card__confirm{position:absolute;top:0;right:0;bottom:0;left:0;z-index:2;display:flex;flex-direction:column;justify-content:center;gap:9px;padding:12px;background:color-mix(in srgb,var(--surface-2) 94%,transparent);-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}.start-card__confirm p{margin:0;font-size:11.5px;line-height:1.4;color:var(--text-secondary)}.start-card__confirm div{display:flex;gap:6px}.start-card__confirm .btn{height:24px;font-size:11px}.start__keys{display:flex;flex-wrap:wrap;gap:4px 16px;font-family:var(--font-mono);font-size:11px;color:var(--text-muted);padding:7px 10px;border:1px solid var(--border);border-radius:var(--radius-sm);background:color-mix(in srgb,var(--surface-3) 70%,transparent)}.start__keys strong{color:var(--text-secondary);font-weight:600}.start__links{display:flex;flex-wrap:wrap;align-items:center;gap:6px 12px;font-size:12px;color:var(--text-muted)}.start__links a,.start__link-button{color:var(--accent);text-decoration:none;border-bottom:1px solid color-mix(in srgb,var(--accent) 40%,transparent)}.start__links a:hover,.start__link-button:hover{border-bottom-color:var(--accent)}.start__link-button{padding:0;border-width:0 0 1px;border-style:solid;background:none;font:inherit;cursor:pointer}.start__sep{opacity:.5}.start__credits{display:flex;align-items:center;gap:16px 24px}.start__credits>.start__links{flex:1;min-width:0}.start__logos{flex:none;display:flex;align-items:center;gap:18px}.start__logo-link{display:flex;align-items:center;padding:4px 6px;margin:-4px -6px;border-radius:var(--radius-sm);transition:background-color .12s ease}.start__logo-link:hover{background:var(--surface-hover)}.start__logo-link:focus-visible{outline:1px solid var(--accent);outline-offset:1px}@media(prefers-reduced-motion:reduce){.start__logo-link{transition:none}}.start__logo{height:36px;width:auto}.start__logo--cam{height:28px}.start__logo--dark{display:none}@media(prefers-color-scheme:dark){:root:not([data-theme=light]) .start__logo--light{display:none}:root:not([data-theme=light]) .start__logo--dark{display:block}}:root[data-theme=dark] .start__logo--light{display:none}:root[data-theme=dark] .start__logo--dark{display:block}.start__bar{position:relative;z-index:2;flex:none;display:flex;flex-direction:column;gap:9px;padding:12px 34px;border-top:1px solid var(--border);background:var(--surface-1)}.start__bar-row{display:flex;align-items:center;gap:14px}.start__bar-row>.start__dismiss,.start__bar-row>.btn{flex:none}.start__dismiss{display:flex;align-items:center;gap:8px;font-size:12.5px;color:var(--text-secondary);cursor:pointer;-webkit-user-select:none;user-select:none}.start__dismiss input{margin:0;width:15px;height:15px;accent-color:var(--accent);cursor:pointer}.start__bar .btn{height:30px;padding:0 18px;font-size:13px}@media(prefers-reduced-motion:reduce){.start__track{scroll-behavior:auto}}.profile{font-size:11.5px;line-height:1.45}.profile__pager{display:flex;align-items:center;gap:8px;padding:5px 7px;background:var(--surface-3);border-bottom:1px solid var(--border);flex:0 0 auto}.profile__page-btn{width:21px;height:21px;display:grid;place-items:center;flex:0 0 auto;border:1px solid var(--border-strong);border-radius:var(--radius-sm);background:var(--surface-2);color:var(--text-secondary);font-size:12px;line-height:1;cursor:pointer}.profile__page-btn:hover:not(:disabled){background:var(--surface-hover);color:var(--text-primary)}.profile__page-btn:disabled{opacity:.4;cursor:default}.profile__position{font-family:var(--font-mono);font-size:10px;color:var(--text-muted);font-variant-numeric:tabular-nums;flex:0 0 auto}.profile__name{font-weight:600;font-size:12.5px;color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0}.profile__id{font-family:var(--font-mono);font-size:10px;color:var(--text-muted);font-variant-numeric:tabular-nums;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;flex:0 1 auto}.profile__spacer{flex:1 1 auto}.profile__pin{flex:0 0 auto;font-size:9.5px;letter-spacing:.05em;text-transform:uppercase;padding:2px 7px;border-radius:var(--radius-sm);border:1px solid var(--border-strong);background:var(--surface-2);color:var(--text-secondary);cursor:pointer}.profile__pin:hover{background:var(--surface-hover);color:var(--text-primary)}.profile__pin[data-pinned]{border-color:var(--accent);background:var(--accent-soft);color:var(--accent)}.tiles{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:1px;background:var(--border);overflow-y:auto;flex:1 1 auto;min-height:0;align-content:start}.tile{background:var(--surface-2);padding:8px 9px 10px;min-width:0}.tile[data-wide]{grid-column:1 / -1}.tile[data-span="2"]{grid-column:span 2;grid-row:span 2;display:flex;flex-direction:column;min-height:0}.tile[data-span="2"]>.viewer{flex:1 1 auto;min-height:440px}.tile__label{font-size:9px;letter-spacing:.11em;text-transform:uppercase;color:var(--text-muted);margin:0 0 6px;font-weight:600;display:flex;align-items:baseline;gap:6px;min-width:0}summary.tile__label{cursor:pointer;margin-bottom:0}details[open]>summary.tile__label{margin-bottom:6px}.tile__qualifier{letter-spacing:.02em;text-transform:none;font-weight:400;opacity:.8;white-space:nowrap}.tile__pending{margin:0;color:var(--text-muted);font-size:10.5px;font-style:italic}.tile__note{margin:6px 0 0;color:var(--text-muted);font-size:10px}.profile__error{padding:6px 9px;color:var(--status-error);font-size:10.5px;border-top:1px solid var(--border);flex:0 0 auto}.tile__link{display:inline-block;margin-top:6px;padding:0;border:0;background:none;color:var(--accent);font-size:10.5px;cursor:pointer}.tile__link:hover{text-decoration:underline}.summary__reload{margin-left:auto;padding:0 4px;border:0;background:none;color:var(--text-muted);font-size:12px;line-height:1;cursor:pointer}.summary__reload:hover{color:var(--text-primary)}.tile__donut{display:grid;grid-template-columns:minmax(0,64px) minmax(0,1fr);gap:8px;align-items:center;margin-top:6px}.tile__donut-ring{width:100%;height:auto;overflow:visible}.tile__donut-slice{stroke-linecap:butt;paint-order:stroke}.tile__donut-total{fill:var(--text-primary);font-size:6px;font-weight:600;font-family:var(--font-mono)}.tile__donut-keys{list-style:none;margin:0;padding:0;display:grid;gap:2px;min-width:0}.tile__donut-key{display:grid;grid-template-columns:8px minmax(0,1fr) auto;gap:5px;align-items:center;font-size:10px;color:var(--text-secondary)}.tile__donut-swatch{width:8px;height:8px;border-radius:2px}.tile__donut-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tile__donut-share{font-family:var(--font-mono);font-size:9.5px;font-variant-numeric:tabular-nums;color:var(--text-muted)}.tile__columns-measure{width:100%;min-width:0;display:flex;flex:1 1 auto;min-height:0}.tile__columns{margin-top:8px;flex:1 1 auto;min-height:0;display:flex;min-width:0}.tile__columns-grid{display:flex;flex-direction:column;width:100%;min-width:0;padding-top:12px}.tile__columns-row{display:flex;align-items:flex-end;gap:3px;min-width:0}.tile__columns-band{position:relative;display:flex;align-items:flex-end;gap:3px;width:100%;min-width:0;height:128px}.tile__column-cell{flex:1 1 0;max-width:58px;min-width:0}.tile__column-value{font-family:var(--font-mono);font-size:8.5px;font-variant-numeric:tabular-nums;color:var(--text-muted);text-align:center;white-space:nowrap;overflow:hidden}.tile__column-track{position:relative;display:flex;align-items:flex-end;justify-content:center;height:100%}.tile__column-fill{width:100%;max-width:22px;border-radius:2px 2px 0 0}.tile__column-key{display:block;height:58px;margin-top:3px;font-size:9px;color:var(--text-secondary);writing-mode:vertical-rl;transform:rotate(180deg);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tile__columns-mean{position:absolute;left:0;right:0;height:0;border-top:1px dashed var(--text-primary);pointer-events:none;display:flex;justify-content:flex-end;padding-right:2px}.tile__columns-mean-label{transform:translateY(-100%);padding:0 3px 1px;border-radius:2px;font-family:var(--font-mono);font-size:8.5px;font-weight:600;font-variant-numeric:tabular-nums;color:var(--text-primary);background:var(--surface-2);white-space:nowrap}.tile__action{margin-left:auto;display:inline-flex;align-items:center;gap:2px;text-transform:none;letter-spacing:0}.tile__pager{display:inline-flex;align-items:center;gap:1px}.tile__page-btn{border:0;background:none;color:var(--text-muted);font-size:13px;line-height:1;padding:0 2px;cursor:pointer}.tile__page-btn:hover:not(:disabled){color:var(--text-primary)}.tile__page-btn:disabled{opacity:.3;cursor:default}.tile__page-count{font-family:var(--font-mono);font-size:9px;font-variant-numeric:tabular-nums;color:var(--text-muted)}.tile__measure{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface-3);color:var(--text-secondary);font:inherit;font-size:9px;text-transform:none;letter-spacing:0;padding:1px 3px;cursor:pointer}.tile__facts{margin:0;display:grid;grid-template-columns:auto minmax(0,1fr);gap:1px 10px}.tile__fact{display:contents}.tile__facts dt{color:var(--text-muted);font-size:10px;white-space:nowrap}.tile__facts dd{margin:0;font-size:11px;font-variant-numeric:tabular-nums;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.profile__chips{display:flex;flex-wrap:wrap;gap:3px;margin-top:7px}.profile__shape{display:flex;gap:10px;align-items:flex-start}.profile__shape-facts{min-width:0;flex:1 1 auto}.tile .viewer{background:none;border-radius:0;min-height:230px}.tile .viewer .ng-frame{border-radius:var(--radius-sm);overflow:hidden}.tile__bars{display:grid;gap:3px}.tile__bar{display:grid;grid-template-columns:minmax(28px,4.5em) minmax(0,1fr) auto;gap:6px;align-items:center}.tile__bar-key{font-family:var(--font-mono);font-size:10px;color:var(--text-secondary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tile__bar-track{display:flex;gap:1px;height:7px;border-radius:2px;background:var(--surface-3);overflow:hidden}.tile__bar-fill{display:block;height:100%;min-width:0;border-radius:1px}.tile__bar-value{font-family:var(--font-mono);font-size:9.5px;color:var(--text-secondary);font-variant-numeric:tabular-nums;white-space:nowrap;display:flex;gap:5px}.tile__bar-detail{color:var(--text-muted)}.profile__split{margin:0 0 7px}.profile__split-track{display:flex;gap:2px;height:8px;border-radius:2px;overflow:hidden;background:var(--surface-3)}.profile__split-track>span{display:block;min-width:2px}.profile__split-key{display:flex;flex-wrap:wrap;gap:4px 11px;margin-top:4px;font-size:9.5px;color:var(--text-muted);font-variant-numeric:tabular-nums}.profile__split-key i{display:inline-block;width:7px;height:7px;border-radius:2px;margin-right:4px}.profile__partners{display:grid;gap:1px}.profile__partner{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:8px;align-items:baseline;padding:1px 0;font-size:10.5px}.profile__partner+.profile__partner{border-top:1px dotted var(--border)}.profile__partner-name{font-family:var(--font-mono);color:var(--text-secondary);font-variant-numeric:tabular-nums;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}.profile__partner-type{margin-left:6px;color:var(--text-primary)}.profile__partner-weight{font-family:var(--font-mono);font-variant-numeric:tabular-nums;color:var(--text-secondary)}.profile__partner-share{font-family:var(--font-mono);font-variant-numeric:tabular-nums;color:var(--text-muted);width:3.6em;text-align:right}.paths-body{display:flex;flex-direction:column;gap:3px;min-width:0}.paths-body--empty{font-size:10px;color:var(--text-muted)}.paths-body__stats{display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 10px;font-size:10px;color:var(--text-secondary)}.paths-body__best{font-family:var(--font-mono);font-size:10px;color:var(--text-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0}.list-body{display:flex;flex-direction:column;gap:6px;min-width:0;padding:4px 8px 6px calc(8px + var(--state-bar))}.list-body__fields{display:flex;flex-direction:column;gap:4px}.list-body__field{display:grid;grid-template-columns:72px 1fr;align-items:center;gap:6px;min-width:0}.list-body__field textarea{min-height:42px;resize:vertical}.list-body__foot{display:flex;flex-wrap:wrap;align-items:baseline;gap:3px 8px;font-size:10px;color:var(--text-secondary);min-width:0}.list-body__foot--empty{color:var(--text-muted)}.list-body__missing{color:var(--status-stale);min-width:0;overflow:hidden;text-overflow:ellipsis}.step-body__pager{display:flex;align-items:center;gap:4px;min-width:0}.step-body__btn{padding:0 6px;line-height:18px;font-size:13px}.step-body__position{font-variant-numeric:tabular-nums;font-size:10px;color:var(--text-secondary);white-space:nowrap}.step-body__name{font-size:10px;color:var(--text-primary);min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.step-body__spacer{flex:1;min-width:0}.step-body__commit{flex:none;font-size:10px;padding:1px 6px}.loop-layer{position:absolute;top:0;right:0;bottom:0;left:0;z-index:-1;pointer-events:none}.loop-frame{position:absolute;top:0;left:0;border:1.5px dashed var(--border-strong);border-radius:10px;pointer-events:none}.loop-frame__label{position:absolute;top:3px;left:8px;font-size:9px;letter-spacing:.04em;text-transform:uppercase;color:var(--text-muted);white-space:nowrap}.loop-body__head{display:flex;align-items:center;gap:6px;min-width:0}.loop-body__count{font-variant-numeric:tabular-nums;font-size:10px;color:var(--text-secondary);white-space:nowrap;flex:none}.loop-body__progress{position:relative;height:16px;border-radius:3px;overflow:hidden;background:var(--surface-3);border:1px solid var(--border)}.loop-body__bar{position:absolute;inset:0 auto 0 0;background:var(--accent-soft);transition:width .12s linear}.loop-body__note{position:relative;display:block;padding:0 6px;line-height:16px;font-size:10px;font-variant-numeric:tabular-nums;color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.rename-body__rows,.filter-body__rows{display:flex;flex-direction:column;gap:4px;min-width:0}.rename-body__row{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr) auto;align-items:center;gap:4px;min-width:0}.rename-body__arrow,.filter-body__novalue{font-size:10px;color:var(--text-muted)}.rename-body__remove{flex:none;padding:0;width:18px;line-height:16px;font-size:10px;color:var(--text-muted)}.rename-body__remove:hover{color:var(--text-primary)}.rename-body__add{align-self:flex-start;font-size:10px;padding:1px 6px}.edit-body__row{display:grid;grid-template-columns:minmax(0,1.4fr) auto minmax(0,1fr) auto minmax(0,1fr) auto;align-items:center;gap:4px;min-width:0}.edit-body__row--broken input:first-child{border-color:var(--status-stale)}.upload-body{display:flex;flex-direction:column;gap:6px;min-width:0}.upload-body__actions{display:flex;gap:6px}.upload-body__actions button{flex:1}.upload-body__file{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip-path:inset(50%);white-space:nowrap}.upload-body__paste{display:flex;flex-direction:column;gap:4px}.upload-body__paste textarea{resize:vertical;font-family:var(--font-mono);font-size:10px}.upload-body__status{display:flex;flex-wrap:wrap;align-items:baseline;gap:3px 8px;font-size:10px;color:var(--text-secondary);min-width:0}.upload-body__status[data-state=empty],.upload-body__status[data-state=loading]{color:var(--text-muted)}.upload-body__status strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}.upload-body__absent{color:var(--status-stale);min-width:0}.upload-body__fields{display:flex;flex-direction:column;gap:4px}.upload-body__field{display:grid;grid-template-columns:72px 1fr;align-items:center;gap:6px;min-width:0}.upload-body__schema{width:100%;border-collapse:collapse;font-size:11px}.upload-body__schema th{text-align:left;font-weight:500;color:var(--text-muted);border-bottom:1px solid var(--border);padding:2px 6px 2px 0}.upload-body__schema td{padding:2px 6px 2px 0;border-bottom:1px solid var(--border);color:var(--text-secondary)}.upload-body__schema td:last-child{font-family:var(--font-mono);color:var(--text-muted)}.download-body__go{width:100%}.rois{display:grid;grid-template-columns:1fr 240px;grid-template-rows:1fr auto auto;grid-template-areas:"map rail" "ctl ctl" "cap cap";min-height:0}.rois:not(:has(.rois__rail)){grid-template-columns:1fr;grid-template-areas:"map" "ctl" "cap"}.rois--empty{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.6rem;padding:1.2rem;text-align:center}.rois__map{grid-area:map;position:relative;min-width:0;min-height:0}.rois__map svg{display:block;width:100%;height:100%}.roi{transition:opacity 90ms linear;cursor:pointer}.roi__label{font-family:var(--font-mono);font-size:9px;fill:var(--text-primary);paint-order:stroke;stroke:var(--surface-2);stroke-width:3px;stroke-linejoin:round;text-anchor:middle;pointer-events:none}.rois__rail{grid-area:rail;border-left:1px solid var(--border);background:var(--surface-1);padding:.5rem;display:flex;flex-direction:column;gap:.45rem;overflow-y:auto;min-height:0}.rois__name{margin:0 0 .35rem;font-family:var(--font-mono);font-size:.98rem;font-weight:620}.rois__ctl{grid-area:ctl;border-top:1px solid var(--border);background:var(--surface-3);padding:.35rem .5rem;display:flex;align-items:center;gap:.6rem;flex-wrap:wrap}.rois__slider{display:inline-flex;align-items:center;gap:.35rem;font-size:.74rem;color:var(--text-muted)}.rois__slider input{width:90px;accent-color:var(--accent)}.rois__cap{grid-area:cap;border-top:1px solid var(--border);padding:.3rem .55rem;font-size:.7rem;color:var(--text-muted);display:flex;gap:.4rem;flex-wrap:wrap;align-items:center}.rois__cap .sep{color:var(--border-strong)}.rois__cap .warn{color:var(--text-secondary)}.rois__load{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:1px solid var(--border-strong);background:var(--surface-2);color:var(--text-primary);border-radius:var(--radius-sm);font-family:var(--font-ui);font-size:.82rem;padding:.4rem .8rem;cursor:pointer}.rois__load:hover:not(:disabled){background:var(--surface-hover)}.rois__load:disabled{color:var(--text-muted);cursor:default}.rois__note{margin:0;max-width:42ch;font-size:.74rem;line-height:1.45;color:var(--text-muted)}.rois__progress{width:min(280px,80%);height:6px;border-radius:3px;background:var(--surface-3);border:1px solid var(--border);overflow:hidden}.rois__progress i{display:block;height:100%;background:var(--accent);transition:width .12s linear}.rois__spacer{flex:1}.rois__slider select{font-family:var(--font-ui);font-size:.74rem;padding:.18rem .3rem;border:1px solid var(--border-strong);border-radius:var(--radius-sm);background:var(--surface-2);color:var(--text-primary)}.rois__legend{position:absolute;top:8px;right:8px;display:flex;flex-direction:column;align-items:flex-end;gap:.15rem;pointer-events:none}.rois__legend-title{font-size:.66rem;color:var(--text-secondary)}.rois__groups{position:relative;font-size:.74rem}.rois__groups>summary{list-style:none;cursor:pointer;padding:.2rem .45rem;border:1px solid var(--border-strong);border-radius:var(--radius-sm);background:var(--surface-2);color:var(--text-primary);display:inline-flex;align-items:center;gap:.3rem;white-space:nowrap}.rois__groups>summary::-webkit-details-marker{display:none}.rois__groups>summary:after{content:"▾";color:var(--text-muted)}.rois__groups[open]>summary{background:var(--surface-active)}.rois__count{font-family:var(--font-mono);font-size:.66rem;padding:0 .28rem;border-radius:999px;background:var(--accent-soft);color:var(--text-primary)}.rois__menu{position:absolute;z-index:5;bottom:calc(100% + 4px);left:0;min-width:160px;max-height:220px;overflow-y:auto;padding:.35rem;display:flex;flex-direction:column;gap:.1rem;border:1px solid var(--border-strong);border-radius:var(--radius-sm);background:var(--surface-2);box-shadow:var(--shadow-panel)}.rois__menu label{display:flex;align-items:center;gap:.4rem;padding:.16rem .25rem;border-radius:var(--radius-sm);cursor:pointer;white-space:nowrap}.rois__menu label:hover{background:var(--surface-hover)}.rois__menu input{accent-color:var(--accent)}.assistant{grid-area:assistant;display:flex;flex-direction:column;height:232px;background:var(--surface-1);border-top:1px solid var(--border)}.assistant__header{display:flex;align-items:center;gap:8px;flex:none;padding:5px 10px;border-bottom:1px solid var(--border)}.assistant__title{font-size:12px;font-weight:600;margin:0}.assistant__hint{font-size:11px;color:var(--text-muted)}.assistant__log{flex:1;overflow-y:auto;padding:8px 10px;display:flex;flex-direction:column;gap:8px}.assistant__empty{margin:0;font-size:11.5px;line-height:1.5;color:var(--text-muted);max-width:62ch}.assistant__said{margin:0;font-size:12px;color:var(--text-secondary);padding-left:10px;border-left:2px solid var(--border)}.assistant__entry{border-left:2px solid var(--accent);padding-left:10px}.assistant__entry[data-tone=error]{border-left-color:var(--status-error, var(--text-muted))}.assistant__summary{margin:0;font-size:12px;line-height:1.45}.assistant__meta{display:flex;align-items:center;gap:8px;margin-top:2px;min-height:22px}.assistant__tally{font-size:10.5px;color:var(--text-muted);font-variant-numeric:tabular-nums}.assistant__detail,.assistant__warnings{margin:4px 0 0;padding-left:16px;font-size:11px;line-height:1.5;color:var(--text-secondary)}.assistant__warnings li[data-severity=error]{color:var(--text-primary)}.assistant__working,.assistant__note{margin:0;font-size:11.5px;color:var(--text-muted)}.assistant__working{display:flex;align-items:center;gap:8px;min-height:22px;font-variant-numeric:tabular-nums}.assistant__note{line-height:1.5;max-width:62ch}.assistant__ask{display:flex;flex:none;gap:6px;padding:8px 10px;border-top:1px solid var(--border)}.assistant__ask .field{flex:1}.react-flow__edge.coda-edge--splice .react-flow__edge-path{stroke:var(--text-primary)!important;stroke-width:3.2!important}.table-summary{flex:1;overflow-y:auto;overflow-x:hidden;font-size:11px;line-height:1.5}.table-summary__row{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1.2fr);gap:6px;align-items:baseline;padding:1px 2px;border-bottom:1px solid var(--border)}.table-summary__row:last-child{border-bottom:0}.table-summary__name{color:var(--text-primary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.table-summary__type{color:var(--text-muted);font-size:9px}.table-summary__value{color:var(--text-muted);font-variant-numeric:tabular-nums;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;text-align:right}.react-flow__edge.coda-edge--reference .react-flow__edge-path{stroke-dasharray:2 4;opacity:.75}.help-panel{max-width:1044px;max-height:900px}.help-scroll{display:block;overflow-y:auto;overscroll-behavior:contain}.help-doc{padding:20px 28px 32px}.help-doc__lede{margin:0 0 16px;padding-bottom:14px;border-bottom:1px solid var(--border);color:var(--text-primary);font-size:14.5px;line-height:1.55;max-width:70ch}.help-doc__tldr{margin-right:8px;color:var(--text-muted);font-size:10.5px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;vertical-align:1px}.help-doc__status{color:var(--text-muted);font-size:13px}.help-doc .markdown__heading[data-level="1"]{margin:26px 0 8px;font-size:19px;letter-spacing:-.01em}.help-doc .markdown__heading[data-level="2"]{margin:22px 0 6px;font-size:15.5px}.help-doc .markdown__heading[data-level="3"]{margin:18px 0 4px;font-size:13.5px;color:var(--text-secondary)}.help-doc .markdown__heading[data-level="1"]:first-child,.help-doc .markdown__heading[data-level="2"]:first-child{margin-top:0}.overlay .help-doc .markdown{max-width:none}.overlay .help-doc__body{font-size:13.5px;line-height:1.65}.help-doc__body>.markdown__p,.help-doc__body>.markdown__list,.help-doc__body>.markdown__heading,.help-doc__body>.markdown__callout{max-width:70ch}.filter-body__row{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.15fr) minmax(0,1fr) auto;align-items:center;gap:4px;min-width:0}.filter-body__row--broken select:first-child{border-color:var(--danger)}.filter-body__novalue{text-align:center}.zoo{max-width:1180px;max-height:820px}.zoo__refresh{flex:none}.zoo__refresh:disabled{opacity:.5;cursor:default}.zoo__body{display:flex;min-height:0;flex:1}.zoo__list{min-width:0}.zoo__detail{flex:none;width:400px;min-height:0;overflow-y:auto;padding:16px 18px;border-left:1px solid var(--border);background:var(--surface-2)}.zoo__empty{padding:28px 18px;color:var(--text-secondary);font-size:12.5px;line-height:1.55}.zoo__empty p{margin:0 0 8px}.zoo-row{padding:8px 10px}.zoo-row__text strong{font-size:13px;font-weight:550;color:var(--text-primary)}.zoo-row__meta{font-size:11px;color:var(--text-tertiary, var(--text-secondary))}.zoo-row__requires[data-free]{padding:1px 6px;border-radius:9px;background:var(--accent-soft);color:var(--text-primary)}.zoo-thumb{flex:none;display:block;background:var(--canvas);border:1px solid var(--border);border-radius:var(--radius)}.zoo-thumb--empty{background:var(--surface-2)}.zoo__title{margin:12px 0 4px;font-size:15px;font-weight:600;color:var(--text-primary)}.zoo__summary{margin:0 0 12px;font-size:12.5px;line-height:1.5;color:var(--text-secondary)}.zoo__facts{display:grid;grid-template-columns:auto minmax(0,1fr);gap:3px 10px;margin:0 0 14px;font-size:11.5px}.zoo__facts dt{color:var(--text-secondary)}.zoo__facts dd{margin:0;color:var(--text-primary);min-width:0;overflow-wrap:anywhere}.zoo__readme{font-size:12px;line-height:1.55;padding-top:12px;border-top:1px solid var(--border)}.zoo__error{margin:12px 0 0;font-size:11.5px;line-height:1.5;color:var(--status-error)}.zoo__actions{position:sticky;bottom:-16px;display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-top:16px;padding:12px 0;background:var(--surface-2)}.zoo__confirm-text{font-size:11.5px;color:var(--text-secondary)}.zoo__source-link{margin-left:auto;font-size:11.5px}.zoo__foot{display:flex;align-items:center;gap:12px;padding:8px 14px;border-top:1px solid var(--border);font-size:11px;color:var(--text-secondary);flex:none}.zoo__foot>a{margin-left:auto}.zoo__dropped{color:var(--status-warn, var(--text-secondary));cursor:help}.group-layer{position:absolute;top:0;left:0;z-index:-1;pointer-events:none}.group-frame{position:absolute;top:0;left:0;--group-color: var(--group-line)}.group-frame[data-color=blue]{--group-color: var(--chip-1)}.group-frame[data-color=orange]{--group-color: var(--chip-2)}.group-frame[data-color=green]{--group-color: var(--chip-3)}.group-frame[data-color=pink]{--group-color: var(--chip-5)}.group-frame[data-color=violet]{--group-color: var(--chip-7)}.group-frame__svg{display:block;overflow:visible}.group-frame__fill{fill:none}.group-frame[data-filled] .group-frame__fill{fill:color-mix(in srgb,var(--group-color) 12%,transparent)}.group-frame__line{fill:none;stroke:var(--group-color);stroke-width:1.5;opacity:.85}.group-frame[data-dashed] .group-frame__line{stroke-dasharray:7 5}.group-frame[data-selected] .group-frame__line{stroke-width:2.5;opacity:1}.group-frame__grab{fill:none;stroke:transparent;pointer-events:stroke;cursor:grab}.group-frame__grab:active{cursor:grabbing}.group-layer[data-locked] .group-frame__grab,.group-layer[data-locked] .group-frame__title{cursor:default}.group-frame__title-row{position:absolute;left:calc(var(--group-grab) / 2);bottom:calc(100% - var(--group-grab) / 2 + 3px);max-width:100%;pointer-events:none}.group-frame__title,.group-frame__title-input{pointer-events:auto;font-family:var(--font-ui);font-size:11.5px;font-weight:600;line-height:1.4;padding:1px 6px;border-radius:var(--radius-sm);color:var(--text-secondary);background:color-mix(in srgb,var(--canvas) 78%,transparent);border:0;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.group-frame__title{cursor:grab}.group-frame__title:active{cursor:grabbing}.group-frame__title-input{background:var(--surface-2);border:1px solid var(--group-color);min-width:120px;outline:none}.context-menu__caption{padding:5px 7px 3px;max-width:240px;font-size:11px;color:var(--text-muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.context-menu__tools{padding:1px 5px 5px}.context-menu__tool-row{display:flex;gap:3px}.context-menu__tool{display:flex;align-items:center;justify-content:center;width:28px;height:24px;padding:0;border:none;border-radius:var(--radius-sm);background:transparent;color:var(--text-secondary);cursor:pointer}.context-menu__tool:hover:not(:disabled){background:var(--accent-soft);color:var(--text-primary)}.context-menu__tool:disabled{opacity:.35;cursor:default}.context-menu__swatches{display:flex;gap:6px;padding:5px 10px 7px}.context-menu__swatch{width:16px;height:16px;border-radius:50%;border:1.5px solid var(--swatch-color);background:color-mix(in srgb,var(--swatch-color) 22%,transparent);cursor:pointer;padding:0}.context-menu__swatch[data-color=grey]{--swatch-color: var(--group-line)}.context-menu__swatch[data-color=blue]{--swatch-color: var(--chip-1)}.context-menu__swatch[data-color=orange]{--swatch-color: var(--chip-2)}.context-menu__swatch[data-color=green]{--swatch-color: var(--chip-3)}.context-menu__swatch[data-color=pink]{--swatch-color: var(--chip-5)}.context-menu__swatch[data-color=violet]{--swatch-color: var(--chip-7)}.context-menu__swatch[data-current]{background:var(--swatch-color);box-shadow:0 0 0 2px var(--surface-1),0 0 0 3.5px var(--swatch-color)}.legend__mark-pick{position:relative;display:inline-flex;flex:none}.legend__mark-select{position:absolute;top:0;right:0;bottom:0;left:0;opacity:0;cursor:pointer;-webkit-appearance:none;-moz-appearance:none;appearance:none;border:none;padding:0}.cfig{position:relative;margin:14px 0;overflow-x:auto;overflow-y:hidden;padding-bottom:2px}.cfig__stage{position:relative}.cfig__wires{position:absolute;top:0;right:0;bottom:0;left:0;overflow:visible;pointer-events:none}.cfig__wire{fill:none;stroke:var(--socket-scalar);stroke-width:1.6}.cfig__wire[data-fam=table]{stroke:var(--socket-table)}.cfig__wire[data-fam=matrix]{stroke:var(--socket-matrix)}.cfig__wire[data-fam=dataset],.cfig__wire[data-fam=geometry]{stroke:var(--socket-dataset)}.cfig__card{position:absolute;box-sizing:border-box;background:var(--surface-2);border:1px solid var(--border-strong);border-radius:5px;overflow:hidden;font-size:10px;line-height:1.2}.cfig__card[data-focus=true]{outline:2px solid var(--accent);outline-offset:1px}.cfig__head{display:flex;align-items:center;height:25px;padding:0 7px;gap:5px;background:color-mix(in srgb,var(--cat) 16%,var(--surface-2));border-bottom:1px solid var(--border);font-size:10.5px;font-weight:600;color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.cfig__card{--cat: var(--cat-utility)}.cfig__card[data-category=dataset]{--cat: var(--cat-dataset)}.cfig__card[data-backend=cave]{--cat: var(--cat-dataset-cave)}.cfig__card[data-backend=catmaid]{--cat: var(--cat-dataset-catmaid)}.cfig__card[data-backend=mock]{--cat: var(--cat-dataset-mock)}.cfig__card[data-category=query]{--cat: var(--cat-query)}.cfig__card[data-category=transform]{--cat: var(--cat-transform)}.cfig__card[data-category=analysis]{--cat: var(--cat-analysis)}.cfig__card[data-category=visualisation]{--cat: var(--cat-visualisation)}.cfig__band{padding-top:5px}.cfig__row{display:flex;align-items:center;height:17px;padding:0 6px;gap:5px;color:var(--text-secondary)}.cfig__side{display:flex;align-items:center;gap:4px;min-width:0;flex:1}.cfig__side--out{justify-content:flex-end}.cfig__port-label{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.cfig__pip{width:8px;height:8px;border-radius:50%;background:var(--socket-scalar);flex:none;margin-left:-10px;box-shadow:0 0 0 1.5px var(--surface-2)}.cfig__side--out .cfig__pip{margin-left:0;margin-right:-10px}.cfig__pip[data-fam=table]{background:var(--socket-table)}.cfig__pip[data-fam=matrix]{background:var(--socket-matrix)}.cfig__pip[data-fam=dataset],.cfig__pip[data-fam=geometry]{background:var(--socket-dataset)}.cfig__pip[data-shape=ring]{background:var(--surface-2);border:2px solid var(--socket-table)}.cfig__pip[data-shape=ring][data-fam=matrix]{border-color:var(--socket-matrix)}.cfig__pip[data-shape=ring][data-fam=dataset],.cfig__pip[data-shape=ring][data-fam=geometry]{border-color:var(--socket-dataset)}.cfig__pip[data-shape=ring][data-fam=scalar],.cfig__pip[data-shape=ring][data-fam=any]{border-color:var(--socket-scalar)}.cfig__pip[data-shape=square]{border-radius:2px}.cfig__pip[data-shape=diamond]{border-radius:1px;transform:rotate(45deg);width:7px;height:7px}.cfig__pip[data-shape=hex]{border-radius:1px;clip-path:polygon(25% 0,75% 0,100% 50%,75% 100%,25% 100%,0 50%)}.cfig__pip[data-shape=dot]{width:5px;height:5px}.cfig__pip[data-req=false]{opacity:.45}.cfig__param{display:flex;align-items:center;justify-content:space-between;height:17px;padding:0 7px;gap:6px;color:var(--text-muted)}.cfig__param-label{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.cfig__param-value{flex:none;max-width:60%;padding:0 4px;border-radius:3px;background:var(--surface-3, var(--surface-1));border:1px solid var(--border);color:var(--text-secondary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.cfig__param[data-called=true] .cfig__param-value{border-color:color-mix(in srgb,var(--accent) 55%,transparent);color:var(--text-primary)}.cfig__more{height:15px;padding:0 7px;color:var(--text-muted);font-size:9.5px}.cfig__caption{margin:6px 0 0;color:var(--text-muted);font-size:11px}.cfig__problems{margin:6px 0 0;padding:6px 8px;border:1px solid color-mix(in srgb,var(--status-error) 45%,transparent);border-radius:4px;color:var(--status-error);font-size:11px}.cfig__problems ul{margin:2px 0 0;padding-left:16px}.cfig-params{margin:14px 0;border:1px solid var(--border);border-radius:5px;overflow:hidden}.cfig-params__row{display:grid;grid-template-columns:minmax(120px,1fr) minmax(0,2fr);gap:4px 14px;padding:8px 10px;border-bottom:1px solid var(--border)}.cfig-params__row:last-child{border-bottom:none}.cfig-params__name{font-weight:600;color:var(--text-primary)}.cfig-params__meta{color:var(--text-muted);font-size:11px;font-variant-numeric:tabular-nums}.cfig-params__help{grid-column:2;color:var(--text-secondary)}
