.react-flow{--xy-edge-stroke-default:#b1b1b7;--xy-edge-stroke-width-default:1;--xy-edge-stroke-selected-default:#555;--xy-connectionline-stroke-default:#b1b1b7;--xy-connectionline-stroke-width-default:1;--xy-attribution-background-color-default:#ffffff80;--xy-minimap-background-color-default:#fff;--xy-minimap-mask-background-color-default:#f0f0f099;--xy-minimap-mask-stroke-color-default:transparent;--xy-minimap-mask-stroke-width-default:1;--xy-minimap-node-background-color-default:#e2e2e2;--xy-minimap-node-stroke-color-default:transparent;--xy-minimap-node-stroke-width-default:2;--xy-background-color-default:transparent;--xy-background-pattern-dots-color-default:#91919a;--xy-background-pattern-lines-color-default:#eee;--xy-background-pattern-cross-color-default:#e2e2e2;background-color:var(--xy-background-color,var(--xy-background-color-default));--xy-node-color-default:inherit;--xy-node-border-default:1px solid #1a192b;--xy-node-background-color-default:#fff;--xy-node-group-background-color-default:#f0f0f040;--xy-node-boxshadow-hover-default:0 1px 4px 1px #00000014;--xy-node-boxshadow-selected-default:0 0 0 .5px #1a192b;--xy-node-border-radius-default:3px;--xy-handle-background-color-default:#1a192b;--xy-handle-border-color-default:#fff;--xy-selection-background-color-default:#0059dc14;--xy-selection-border-default:1px dotted #0059dccc;--xy-controls-button-background-color-default:#fefefe;--xy-controls-button-background-color-hover-default:#f4f4f4;--xy-controls-button-color-default:inherit;--xy-controls-button-color-hover-default:inherit;--xy-controls-button-border-color-default:#eee;--xy-controls-box-shadow-default:0 0 2px 1px #00000014;--xy-edge-label-background-color-default:#fff;--xy-edge-label-color-default:inherit;--xy-resize-background-color-default:#3367d9;direction:ltr}.react-flow.dark{--xy-edge-stroke-default:#3e3e3e;--xy-edge-stroke-width-default:1;--xy-edge-stroke-selected-default:#727272;--xy-connectionline-stroke-default:#b1b1b7;--xy-connectionline-stroke-width-default:1;--xy-attribution-background-color-default:#96969640;--xy-minimap-background-color-default:#141414;--xy-minimap-mask-background-color-default:#3c3c3c99;--xy-minimap-mask-stroke-color-default:transparent;--xy-minimap-mask-stroke-width-default:1;--xy-minimap-node-background-color-default:#2b2b2b;--xy-minimap-node-stroke-color-default:transparent;--xy-minimap-node-stroke-width-default:2;--xy-background-color-default:#141414;--xy-background-pattern-dots-color-default:#777;--xy-background-pattern-lines-color-default:#777;--xy-background-pattern-cross-color-default:#777;--xy-node-color-default:#f8f8f8;--xy-node-border-default:1px solid #3c3c3c;--xy-node-background-color-default:#1e1e1e;--xy-node-group-background-color-default:#f0f0f040;--xy-node-boxshadow-hover-default:0 1px 4px 1px #ffffff14;--xy-node-boxshadow-selected-default:0 0 0 .5px #999;--xy-handle-background-color-default:#bebebe;--xy-handle-border-color-default:#1e1e1e;--xy-selection-background-color-default:#c8c8dc14;--xy-selection-border-default:1px dotted #c8c8dccc;--xy-controls-button-background-color-default:#2b2b2b;--xy-controls-button-background-color-hover-default:#3e3e3e;--xy-controls-button-color-default:#f8f8f8;--xy-controls-button-color-hover-default:#fff;--xy-controls-button-border-color-default:#5b5b5b;--xy-controls-box-shadow-default:0 0 2px 1px #00000014;--xy-edge-label-background-color-default:#141414;--xy-edge-label-color-default:#f8f8f8}.react-flow__background{background-color:var(--xy-background-color-props,var(--xy-background-color,var(--xy-background-color-default)));pointer-events:none;z-index:-1}.react-flow__container{width:100%;height:100%;position:absolute;top:0;left:0}.react-flow__pane{z-index:1}.react-flow__pane.draggable{cursor:grab}.react-flow__pane.dragging{cursor:grabbing}.react-flow__pane.selection{cursor:pointer}.react-flow__viewport{transform-origin:0 0;z-index:2;pointer-events:none}.react-flow__renderer{z-index:4}.react-flow__selection{z-index:6}.react-flow__nodesselection-rect:focus,.react-flow__nodesselection-rect:focus-visible{outline:none}.react-flow__edge-path{stroke:var(--xy-edge-stroke,var(--xy-edge-stroke-default));stroke-width:var(--xy-edge-stroke-width,var(--xy-edge-stroke-width-default));fill:none}.react-flow__connection-path{stroke:var(--xy-connectionline-stroke,var(--xy-connectionline-stroke-default));stroke-width:var(--xy-connectionline-stroke-width,var(--xy-connectionline-stroke-width-default));fill:none}.react-flow .react-flow__edges{position:absolute}.react-flow .react-flow__edges svg{pointer-events:none;position:absolute;overflow:visible}.react-flow__edge{pointer-events:visibleStroke}.react-flow__edge.selectable{cursor:pointer}.react-flow__edge.animated path{stroke-dasharray:5;animation:.5s linear infinite dashdraw}.react-flow__edge.animated path.react-flow__edge-interaction{stroke-dasharray:none;animation:none}.react-flow__edge.inactive{pointer-events:none}.react-flow__edge.selected,.react-flow__edge:focus,.react-flow__edge:focus-visible{outline:none}.react-flow__edge.selected .react-flow__edge-path,.react-flow__edge.selectable:focus .react-flow__edge-path,.react-flow__edge.selectable:focus-visible .react-flow__edge-path{stroke:var(--xy-edge-stroke-selected,var(--xy-edge-stroke-selected-default))}.react-flow__edge-textwrapper{pointer-events:all}.react-flow__edge .react-flow__edge-text{pointer-events:none;-webkit-user-select:none;user-select:none}.react-flow__arrowhead polyline{stroke:var(--xy-edge-stroke,var(--xy-edge-stroke-default))}.react-flow__arrowhead polyline.arrowclosed{fill:var(--xy-edge-stroke,var(--xy-edge-stroke-default))}.react-flow__connection{pointer-events:none}.react-flow__connection .animated{stroke-dasharray:5;animation:.5s linear infinite dashdraw}svg.react-flow__connectionline{z-index:1001;position:absolute;overflow:visible}.react-flow__nodes{pointer-events:none;transform-origin:0 0}.react-flow__node{-webkit-user-select:none;user-select:none;pointer-events:all;transform-origin:0 0;box-sizing:border-box;cursor:default;position:absolute}.react-flow__node.selectable{cursor:pointer}.react-flow__node.draggable{cursor:grab;pointer-events:all}.react-flow__node.draggable.dragging{cursor:grabbing}.react-flow__nodesselection{z-index:3;transform-origin:0 0;pointer-events:none}.react-flow__nodesselection-rect{pointer-events:all;cursor:grab;position:absolute}.react-flow__handle{pointer-events:none;background-color:var(--xy-handle-background-color,var(--xy-handle-background-color-default));border:1px solid var(--xy-handle-border-color,var(--xy-handle-border-color-default));border-radius:100%;width:6px;min-width:5px;height:6px;min-height:5px;position:absolute}.react-flow__handle.connectingfrom{pointer-events:all}.react-flow__handle.connectionindicator{pointer-events:all;cursor:crosshair}.react-flow__handle-bottom{top:auto;bottom:0;left:50%;transform:translate(-50%,50%)}.react-flow__handle-top{top:0;left:50%;transform:translate(-50%,-50%)}.react-flow__handle-left{top:50%;left:0;transform:translate(-50%,-50%)}.react-flow__handle-right{top:50%;right:0;transform:translate(50%,-50%)}.react-flow__edgeupdater{cursor:move;pointer-events:all}.react-flow__pane.selection .react-flow__panel{pointer-events:none}.react-flow__panel{z-index:5;margin:15px;position:absolute}.react-flow__panel.top{top:0}.react-flow__panel.bottom{bottom:0}.react-flow__panel.top.center,.react-flow__panel.bottom.center{left:50%;transform:translate(-15px)translate(-50%)}.react-flow__panel.left{left:0}.react-flow__panel.right{right:0}.react-flow__panel.left.center,.react-flow__panel.right.center{top:50%;transform:translateY(-15px)translateY(-50%)}.react-flow__attribution{background:var(--xy-attribution-background-color,var(--xy-attribution-background-color-default));margin:0;padding:2px 3px;font-size:10px}.react-flow__attribution a{color:#999;text-decoration:none}@keyframes dashdraw{0%{stroke-dashoffset:10px}}.react-flow__edgelabel-renderer{pointer-events:none;-webkit-user-select:none;user-select:none;width:100%;height:100%;position:absolute;top:0;left:0}.react-flow__viewport-portal{-webkit-user-select:none;user-select:none;width:100%;height:100%;position:absolute;top:0;left:0}.react-flow__minimap{background:var(--xy-minimap-background-color-props,var(--xy-minimap-background-color,var(--xy-minimap-background-color-default)))}.react-flow__minimap-svg{display:block}.react-flow__minimap-mask{fill:var(--xy-minimap-mask-background-color-props,var(--xy-minimap-mask-background-color,var(--xy-minimap-mask-background-color-default)));stroke:var(--xy-minimap-mask-stroke-color-props,var(--xy-minimap-mask-stroke-color,var(--xy-minimap-mask-stroke-color-default)));stroke-width:var(--xy-minimap-mask-stroke-width-props,var(--xy-minimap-mask-stroke-width,var(--xy-minimap-mask-stroke-width-default)))}.react-flow__minimap-node{fill:var(--xy-minimap-node-background-color-props,var(--xy-minimap-node-background-color,var(--xy-minimap-node-background-color-default)));stroke:var(--xy-minimap-node-stroke-color-props,var(--xy-minimap-node-stroke-color,var(--xy-minimap-node-stroke-color-default)));stroke-width:var(--xy-minimap-node-stroke-width-props,var(--xy-minimap-node-stroke-width,var(--xy-minimap-node-stroke-width-default)))}.react-flow__background-pattern.dots{fill:var(--xy-background-pattern-color-props,var(--xy-background-pattern-color,var(--xy-background-pattern-dots-color-default)))}.react-flow__background-pattern.lines{stroke:var(--xy-background-pattern-color-props,var(--xy-background-pattern-color,var(--xy-background-pattern-lines-color-default)))}.react-flow__background-pattern.cross{stroke:var(--xy-background-pattern-color-props,var(--xy-background-pattern-color,var(--xy-background-pattern-cross-color-default)))}.react-flow__controls{box-shadow:var(--xy-controls-box-shadow,var(--xy-controls-box-shadow-default));flex-direction:column;display:flex}.react-flow__controls.horizontal{flex-direction:row}.react-flow__controls-button{background:var(--xy-controls-button-background-color,var(--xy-controls-button-background-color-default));border:none;border-bottom:1px solid var(--xy-controls-button-border-color-props,var(--xy-controls-button-border-color,var(--xy-controls-button-border-color-default)));width:26px;height:26px;color:var(--xy-controls-button-color-props,var(--xy-controls-button-color,var(--xy-controls-button-color-default)));cursor:pointer;-webkit-user-select:none;user-select:none;justify-content:center;align-items:center;padding:4px;display:flex}.react-flow__controls-button svg{fill:currentColor;width:100%;max-width:12px;max-height:12px}.react-flow__edge.updating .react-flow__edge-path{stroke:#777}.react-flow__edge-text{font-size:10px}.react-flow__node.selectable:focus,.react-flow__node.selectable:focus-visible{outline:none}.react-flow__node-input,.react-flow__node-default,.react-flow__node-output,.react-flow__node-group{border-radius:var(--xy-node-border-radius,var(--xy-node-border-radius-default));width:150px;color:var(--xy-node-color,var(--xy-node-color-default));text-align:center;border:var(--xy-node-border,var(--xy-node-border-default));background-color:var(--xy-node-background-color,var(--xy-node-background-color-default));padding:10px;font-size:12px}.react-flow__node-input.selectable:hover,.react-flow__node-default.selectable:hover,.react-flow__node-output.selectable:hover,.react-flow__node-group.selectable:hover{box-shadow:var(--xy-node-boxshadow-hover,var(--xy-node-boxshadow-hover-default))}.react-flow__node-input.selectable.selected,.react-flow__node-input.selectable:focus,.react-flow__node-input.selectable:focus-visible,.react-flow__node-default.selectable.selected,.react-flow__node-default.selectable:focus,.react-flow__node-default.selectable:focus-visible,.react-flow__node-output.selectable.selected,.react-flow__node-output.selectable:focus,.react-flow__node-output.selectable:focus-visible,.react-flow__node-group.selectable.selected,.react-flow__node-group.selectable:focus,.react-flow__node-group.selectable:focus-visible{box-shadow:var(--xy-node-boxshadow-selected,var(--xy-node-boxshadow-selected-default))}.react-flow__node-group{background-color:var(--xy-node-group-background-color,var(--xy-node-group-background-color-default))}.react-flow__nodesselection-rect,.react-flow__selection{background:var(--xy-selection-background-color,var(--xy-selection-background-color-default));border:var(--xy-selection-border,var(--xy-selection-border-default))}.react-flow__nodesselection-rect:focus,.react-flow__nodesselection-rect:focus-visible,.react-flow__selection:focus,.react-flow__selection:focus-visible{outline:none}.react-flow__controls-button:hover{background:var(--xy-controls-button-background-color-hover-props,var(--xy-controls-button-background-color-hover,var(--xy-controls-button-background-color-hover-default)));color:var(--xy-controls-button-color-hover-props,var(--xy-controls-button-color-hover,var(--xy-controls-button-color-hover-default)))}.react-flow__controls-button:disabled{pointer-events:none}.react-flow__controls-button:disabled svg{fill-opacity:.4}.react-flow__controls.horizontal .react-flow__controls-button{border-bottom:none;border-right:1px solid var(--xy-controls-button-border-color-props,var(--xy-controls-button-border-color,var(--xy-controls-button-border-color-default)))}.react-flow__controls.horizontal .react-flow__controls-button:last-child{border-right:none}.react-flow__resize-control{position:absolute}.react-flow__resize-control.left,.react-flow__resize-control.right{cursor:ew-resize}.react-flow__resize-control.top,.react-flow__resize-control.bottom{cursor:ns-resize}.react-flow__resize-control.top.left,.react-flow__resize-control.bottom.right{cursor:nwse-resize}.react-flow__resize-control.bottom.left,.react-flow__resize-control.top.right{cursor:nesw-resize}.react-flow__resize-control.handle{background-color:var(--xy-resize-background-color,var(--xy-resize-background-color-default));border:1px solid #fff;border-radius:1px;width:5px;height:5px;translate:-50% -50%}.react-flow__resize-control.handle.left{top:50%;left:0}.react-flow__resize-control.handle.right{top:50%;left:100%}.react-flow__resize-control.handle.top{top:0;left:50%}.react-flow__resize-control.handle.bottom{top:100%;left:50%}.react-flow__resize-control.handle.top.left,.react-flow__resize-control.handle.bottom.left{left:0}.react-flow__resize-control.handle.top.right,.react-flow__resize-control.handle.bottom.right{left:100%}.react-flow__resize-control.line{border-color:var(--xy-resize-background-color,var(--xy-resize-background-color-default));border-style:solid;border-width:0}.react-flow__resize-control.line.left,.react-flow__resize-control.line.right{width:1px;height:100%;top:0;transform:translate(-50%)}.react-flow__resize-control.line.left{border-left-width:1px;left:0}.react-flow__resize-control.line.right{border-right-width:1px;left:100%}.react-flow__resize-control.line.top,.react-flow__resize-control.line.bottom{width:100%;height:1px;left:0;transform:translateY(-50%)}.react-flow__resize-control.line.top{border-top-width:1px;top:0}.react-flow__resize-control.line.bottom{border-bottom-width:1px;top:100%}.react-flow__edge-textbg{fill:var(--xy-edge-label-background-color,var(--xy-edge-label-background-color-default))}:root{font-synthesis:none;text-rendering:optimizelegibility;--radius-sm:6px;--space-1:4px;--space-2:8px;--space-3:10px;--space-4:12px;--space-5:14px;--space-6:16px;--node-username:#1d7a85;--node-email:#8a5b12;--node-url:#4457a6;--node-fio:#7a3d7a;--node-bank-card:#8a2534;--node-ip:#286f3a;--node-ip-prefix:#4e6b27;--node-entity:#2d2d2d;--node-default:#555;--edge-strong:#5aa57c;--edge-strong-focus:#96d9b0;--edge-medium:#607999;--edge-medium-focus:#8eaad3;--edge-weak:#4b5258;--edge-weak-focus:#9a9fa5;--edge-member:#51615b;--edge-member-focus:#7a8f87;--edge-global-strong:#6874a8;--edge-global-strong-focus:#9ca7d9;--edge-global-medium:#61687a;--edge-global-medium-focus:#8f95ab;--edge-global-member:#45515a;--edge-global-member-focus:#60707c;font-family:SF Pro Display,Helvetica Neue,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}:root,:root[data-theme=dark]{color:#ecf2ef;--color-bg:#0d1110;--color-bg-elevated:#101614;--color-bg-panel:#111715;--color-bg-soft:#141a18;--color-bg-overlay:#0c110ff5;--color-bg-overlay-strong:#0c110ffa;--color-bg-shell:#0a0e0de0;--color-text:#ecf2ef;--color-text-strong:#f5faf7;--color-text-muted:#8da097;--color-text-subtle:#a0b1a8;--color-border:#26312d;--color-border-strong:#34413c;--color-border-soft:#25302c;--color-accent:#6f8f82;--color-accent-text:#0d1110;--color-danger:#ff8797;--color-success-bg:#173425;--color-success-text:#9be0b1;--color-warning-bg:#383323;--color-warning-text:#e7d18a;--color-danger-bg:#3b2027;--color-danger-text:#ff9fad;--color-brand:#314740;--shadow-popover:0 16px 30px #00000038;--shadow-drawer:0 18px 36px #00000042;--app-background:radial-gradient(circle at top left, #566f602e, transparent 28%), linear-gradient(180deg, #0d1110 0%, #111816 100%);--graph-surface-bg:#0f1412;--graph-label-bg:#101614;--graph-background-dot:#2b342f;--edge-label:#b9c2bd;--edge-label-muted:#96a8a0;--edge-label-strong:#d7f3e1;background:#0d1110}:root[data-theme=light]{color:#17211d;--color-bg:#f3f6f4;--color-bg-elevated:#fff;--color-bg-panel:#f8faf9;--color-bg-soft:#eef3f0;--color-bg-overlay:#fffffff5;--color-bg-overlay-strong:#fffffffa;--color-bg-shell:#f6f9f7eb;--color-text:#17211d;--color-text-strong:#0c1511;--color-text-muted:#5c6e65;--color-text-subtle:#61756b;--color-border:#d2ddd7;--color-border-strong:#bdccc4;--color-border-soft:#dde6e1;--color-accent:#426f5e;--color-accent-text:#fff;--color-danger:#b8324b;--color-success-bg:#dff2e6;--color-success-text:#1d6b3b;--color-warning-bg:#f4ead0;--color-warning-text:#745915;--color-danger-bg:#f9dbe2;--color-danger-text:#9d2740;--color-brand:#dcebe4;--shadow-popover:0 16px 30px #14221c1a;--shadow-drawer:0 18px 36px #14221c1f;--app-background:radial-gradient(circle at top left, #426f5e1f, transparent 28%), linear-gradient(180deg, #f3f6f4 0%, #eaf0ed 100%);--graph-surface-bg:#f8faf9;--graph-label-bg:#fff;--graph-background-dot:#c9d5ce;--edge-label:#4f6359;--edge-label-muted:#6a7c73;--edge-label-strong:#244d39;background:#f3f6f4}*{box-sizing:border-box}body{min-width:320px;min-height:100vh;margin:0}button,input,select,.ui-button,.ui-input,.ui-select{font:inherit}.ui-button{border:1px solid var(--color-border-strong);border-radius:var(--radius-sm);background:var(--color-bg-soft);color:var(--color-text);cursor:pointer;transition:background .16s,border-color .16s,color .16s,transform .12s}.ui-button:hover:not(:disabled){border-color:var(--color-accent);background:var(--color-bg-elevated)}.ui-button:active:not(:disabled){transform:translateY(1px)}.ui-button:focus-visible,.ui-input:focus-visible,.ui-select:focus-visible{outline:2px solid color-mix(in srgb, var(--color-accent) 72%, transparent);outline-offset:2px}.ui-button:disabled{cursor:not-allowed;opacity:.55}.ui-input,.ui-select{border:1px solid var(--color-border-strong);border-radius:var(--radius-sm);background:var(--color-bg-panel);width:100%;min-height:38px;color:var(--color-text);padding:8px 10px;transition:border-color .16s,background .16s}.ui-input::placeholder{color:var(--color-text-muted)}.ui-button-primary{border-color:var(--color-accent);background:var(--color-accent);width:100%;color:var(--color-accent-text);margin-top:10px;font-weight:700}.ui-button-primary:hover:not(:disabled){border-color:color-mix(in srgb, var(--color-accent) 86%, var(--color-text-strong));background:color-mix(in srgb, var(--color-accent) 88%, var(--color-text-strong));color:var(--color-accent-text)}.ui-button-danger{border-color:var(--color-danger);color:var(--color-danger)}.ui-button-ghost{background:0 0}.panel{border-top:1px solid var(--color-border-soft);padding:14px 0}.panel h2,.details-pane h2{margin:0 0 12px;font-size:16px;line-height:1.2}.panel-note{color:var(--color-text-muted);margin:-4px 0 10px;font-size:13px;line-height:1.45}.status-badge{border-radius:var(--radius-sm);background:var(--color-bg-soft);min-height:26px;color:var(--color-text);align-items:center;padding:4px 8px;font-size:12px;font-weight:800;display:inline-flex}.status-completed{background:var(--color-success-bg);color:var(--color-success-text)}.status-failed,.error-text{color:var(--color-danger)}.status-running,.status-new,.status-open{background:var(--color-warning-bg);color:var(--color-warning-text)}.status-chip{border:1px solid var(--color-border-strong);background:var(--color-bg-overlay);min-height:26px;color:var(--color-text);border-radius:999px;align-items:center;padding:4px 10px;font-size:12px;font-weight:700;display:inline-flex}.metric{border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-bg-elevated);min-height:62px;padding:10px}.metric span,.metric strong{display:block}.metric span{color:var(--color-text-muted);font-size:12px}.metric strong{overflow-wrap:anywhere;margin-top:6px}.toolbar-group{pointer-events:auto;flex-wrap:wrap;gap:8px;display:flex}.workspace-drawer{z-index:11;border:1px solid var(--color-border-strong);border-radius:var(--radius-sm);background:var(--color-bg-overlay);width:min(420px,100vw - 48px);max-height:calc(100vh - 200px);box-shadow:var(--shadow-drawer);position:absolute;top:66px;right:14px;overflow:auto}.drawer-header{z-index:2;background:var(--color-bg-overlay-strong);border-bottom:1px solid var(--color-border);padding:12px 14px;position:sticky;top:0}.empty-workspace{grid-template-columns:minmax(0,1fr) minmax(160px,220px);align-content:center;align-items:start;gap:28px;max-width:820px;min-height:calc(100vh - 40px);padding:24px;display:grid}.empty-workspace h1,.workspace-header h1{overflow-wrap:anywhere;margin:0;line-height:1.08}.empty-workspace-start{gap:18px;min-width:0;display:grid}.empty-workspace-copy{gap:8px;display:grid}.empty-workspace-copy h1{max-width:620px;color:var(--color-text-strong);letter-spacing:0;font-size:clamp(30px,4vw,48px)}.empty-workspace-copy p{max-width:440px;color:var(--color-text-muted);margin:0;font-size:14px;line-height:1.5}.empty-workspace-form{max-width:420px}.empty-workspace-steps{gap:10px;margin:6px 0 0;padding:0;list-style:none;display:grid}.empty-workspace-steps li{min-width:0;color:var(--color-text-muted);grid-template-columns:28px minmax(0,1fr);align-items:center;gap:10px;font-size:13px;display:grid}.empty-workspace-steps span{border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-bg-panel);width:28px;height:28px;color:var(--color-text-muted);font-variant-numeric:tabular-nums;place-items:center;font-size:12px;font-weight:800;display:grid}.empty-workspace-steps strong{min-width:0;color:var(--color-text);text-overflow:ellipsis;white-space:nowrap;font-size:13px;font-weight:700;overflow:hidden}.muted,.eyebrow{color:var(--color-text-muted)}.eyebrow{letter-spacing:0;text-transform:uppercase;margin:0 0 6px;font-size:12px;font-weight:800}@media (width<=760px){.empty-workspace{grid-template-columns:1fr;align-content:start;gap:20px;padding:18px 4px}.empty-workspace-copy h1{font-size:30px}}.app-shell{background:var(--app-background);grid-template-columns:282px 1fr;min-height:100vh;display:grid}.auth-screen{background:var(--app-background);place-items:center;min-height:100vh;padding:24px;display:grid}.auth-card{border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-bg-panel);width:min(380px,100%);box-shadow:var(--shadow-popover);gap:12px;padding:22px;display:grid}.auth-mark{border-radius:var(--radius-sm);background:var(--color-brand);width:38px;height:38px;color:var(--color-text-strong);place-items:center;font-weight:700;display:grid}.auth-card h1{color:var(--color-text-strong);margin:4px 0 0;font-size:20px;line-height:1.15}.auth-card p{color:var(--color-text-muted);margin:0;font-size:13px;line-height:1.45}.auth-card .ui-button{justify-self:start;margin-top:4px}.auth-error{color:var(--color-danger)!important}.app-shell-sidebar-collapsed{grid-template-columns:72px 1fr}.sidebar{box-sizing:border-box;border-right:1px solid var(--color-border);background:var(--color-bg-shell);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);flex-direction:column;gap:14px;min-width:0;height:100dvh;min-height:0;padding:18px 14px 22px;transition:padding .18s;display:flex;overflow:hidden}.sidebar-collapsed{align-items:center;padding:18px 10px}.brand{width:100%;color:var(--color-text);text-align:left;cursor:pointer;background:0 0;border:0;align-items:center;gap:12px;padding:0;display:flex}.brand-rail{justify-content:center;gap:0;width:42px;height:42px}.brand-mark{border-radius:var(--radius-sm);background:var(--color-brand);width:42px;height:42px;color:var(--color-text-strong);place-items:center;font-weight:800;display:grid}.brand strong,.brand small{display:block}.brand small{color:var(--color-text-muted)}.sidebar-header,.sidebar-actions,.sidebar-content,.sidebar-footer{gap:12px;min-width:0;max-width:100%;display:grid;overflow-x:hidden}.sidebar-header{flex:none;padding-bottom:2px}.sidebar-actions,.sidebar-footer{flex:none}.sidebar-content{scrollbar-gutter:stable;flex:auto;align-content:start;min-height:0;padding-right:4px;overflow-y:auto}.sidebar-content>*{min-width:0;max-width:100%}.sidebar-user{border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-bg-panel);grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:8px;max-width:100%;min-height:36px;padding:5px 6px 5px 10px;display:grid}.sidebar-user span{min-width:0;color:var(--color-text-muted);text-overflow:ellipsis;white-space:nowrap;font-size:12px;font-weight:700;overflow:hidden}.sidebar-logout{min-height:28px;color:var(--color-text);padding:4px 8px;font-size:12px}.visually-hidden{clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.rail-actions{justify-items:center;gap:8px;width:100%;max-width:100%;display:grid}.rail-action,.theme-toggle-compact{background:var(--color-bg-panel);text-align:center;place-items:center;width:42px;min-width:42px;height:42px;min-height:42px;padding:0;font-size:18px;font-weight:800;display:inline-grid}.rail-actions .sidebar-toggle{width:42px}.sidebar-new-investigation{min-height:40px;margin-top:0;padding:9px 12px}.sidebar-footer{padding-top:12px}.sidebar-toggle{background:var(--color-bg-panel);text-align:center;justify-content:center;align-items:center;gap:8px;width:100%;max-width:100%;min-height:38px;padding:8px 10px;display:inline-flex}.theme-switch{border:1px solid var(--color-border-strong);border-radius:var(--radius-sm);background:var(--color-bg-panel);grid-template-columns:repeat(2,minmax(0,1fr));gap:2px;max-width:100%;padding:3px;display:grid}.theme-switch button{border-radius:calc(var(--radius-sm) - 2px);min-height:32px;color:var(--color-text-muted);cursor:pointer;font:inherit;background:0 0;border:0;justify-content:center;align-items:center;gap:6px;font-size:12px;font-weight:800;transition:background .16s,color .16s;display:inline-flex}.theme-switch button[aria-pressed=true]{background:var(--color-bg-elevated);color:var(--color-text-strong)}.theme-switch button:hover{color:var(--color-text-strong)}.theme-switch button:focus-visible{outline:2px solid color-mix(in srgb, var(--color-accent) 72%, transparent);outline-offset:2px}.workspace{min-width:0;padding:14px;overflow:auto}.app-access-notice{border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-bg-panel);color:var(--color-text);justify-content:space-between;align-items:center;gap:12px;margin-bottom:12px;padding:10px 12px;font-size:13px;line-height:1.4;display:flex}.app-access-notice span{min-width:0}.app-access-notice-dismiss{white-space:nowrap;min-height:32px;padding:6px 10px}.workspace-shell{gap:14px;display:grid}.workspace-header,.drawer-header,.graph-toolbar{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}@media (width<=980px){.app-shell,.app-shell-sidebar-collapsed{grid-template-columns:1fr}.sidebar{border-right:0;border-bottom:1px solid var(--color-border);height:auto;overflow:visible}.sidebar-content{overflow:visible}}.search-panel-backdrop{z-index:40;background:#00000047;justify-content:flex-end;display:flex;position:fixed;inset:0}.search-panel{border-left:1px solid var(--color-border-strong);background:var(--color-bg-overlay-strong);width:min(440px,100vw - 24px);height:100dvh;box-shadow:var(--shadow-drawer);padding:16px;overflow:auto}.search-panel:focus{outline:none}.search-panel:focus-visible{outline:2px solid color-mix(in srgb, var(--color-accent) 72%, transparent);outline-offset:-4px}.search-panel-header{border-bottom:1px solid var(--color-border-soft);justify-content:space-between;align-items:flex-start;gap:12px;padding-bottom:14px;display:flex}.search-panel-header strong,.search-panel-header span{display:block}.search-panel-header span{color:var(--color-text-muted);margin-top:4px;font-size:13px;line-height:1.4}.create-investigation-backdrop{z-index:45;background:#00000057;place-items:center;padding:18px;display:grid;position:fixed;inset:0}.create-investigation-dialog{border:1px solid var(--color-border-strong);border-radius:var(--radius-sm);background:var(--color-bg-overlay-strong);width:min(380px,100%);box-shadow:var(--shadow-popover);padding:16px}.create-investigation-dialog:focus{outline:none}.create-investigation-dialog:focus-visible{outline:2px solid color-mix(in srgb, var(--color-accent) 72%, transparent);outline-offset:2px}.create-investigation-dialog-header{padding-bottom:12px}.create-investigation-dialog-header strong{color:var(--color-text-strong);font-size:16px;line-height:1.25;display:block}.search-panel-close{white-space:nowrap;min-height:32px;padding:6px 10px;line-height:1.15}.attribute-list,.settings-grid,.recent-runs{gap:8px;min-width:0;max-width:100%;display:grid}.create-investigation-form{gap:10px;display:grid}.create-investigation-form .ui-button-primary{min-height:40px;margin-top:0;padding:9px 12px}.search-plan-input{grid-template-columns:112px minmax(0,1fr);gap:8px;display:grid}.search-plan-input input:last-of-type{grid-column:1/-1}.search-plan-panel,.search-plan-note{margin-top:10px}.search-plan-note{color:var(--color-text-muted);font-size:12px}.search-plan-panel{gap:10px;display:grid}.search-plan-group-header{justify-content:space-between;align-items:flex-start;gap:10px;display:flex}.search-plan-group-header>div:first-child{gap:2px;min-width:0;display:grid}.search-plan-group-header strong{color:var(--color-text-strong);font-size:13px}.search-plan-group-header span{color:var(--color-text-muted);font-size:12px}.search-plan-group-header>div:last-child{gap:6px;display:flex}.search-plan-group-header .search-panel-action{min-height:32px;padding:6px 10px;line-height:1.15}.search-plan-group{border:1px solid var(--color-border-soft);border-radius:var(--radius-sm);background:color-mix(in srgb, var(--color-bg-panel) 78%, transparent);gap:8px;padding:10px;display:grid}.search-plan-email-constructor{grid-template-columns:minmax(120px,.85fr) minmax(0,1.6fr);gap:8px;display:grid}.search-plan-email-axis{border:1px solid var(--color-border-soft);border-radius:var(--radius-sm);background:color-mix(in srgb, var(--color-bg-soft) 66%, transparent);align-content:start;gap:6px;padding:8px;display:grid}.search-plan-option-list,.search-plan-domain-regions{gap:5px;display:grid}.search-plan-domain-region{gap:4px;display:grid}.search-plan-domain-region small{color:var(--color-text-muted);text-overflow:ellipsis;white-space:nowrap;font-size:11px;font-weight:800;overflow:hidden}.search-plan-option,.search-plan-compact-row{border:1px solid color-mix(in srgb, var(--color-border-soft) 82%, transparent);border-radius:var(--radius-sm);background:color-mix(in srgb, var(--color-bg-panel) 72%, transparent);color:var(--color-text);text-align:left;cursor:pointer;transition:border-color .14s,background .14s,color .14s}.search-plan-option{align-items:center;width:100%;min-height:30px;padding:6px 8px;font-size:12px;display:grid}.search-plan-option:hover,.search-plan-compact-row:hover{border-color:var(--color-border-strong);background:var(--color-bg-overlay)}.search-plan-option:active,.search-plan-compact-row:active{transform:translateY(1px)}.search-plan-option[aria-pressed=true],.search-plan-compact-row[aria-pressed=true]{border-color:color-mix(in srgb, var(--color-accent) 72%, var(--color-border-strong));background:color-mix(in srgb, var(--color-accent) 14%, var(--color-bg-overlay));color:var(--color-text-strong)}.search-plan-option span,.search-plan-compact-row span{text-overflow:ellipsis;white-space:nowrap;min-width:0;display:block;overflow:hidden}.search-plan-compact-table{gap:5px;display:grid}.search-plan-compact-row{grid-template-columns:minmax(0,1fr) minmax(70px,auto);align-items:center;gap:8px;min-height:34px;padding:7px 9px;display:grid}.search-plan-compact-row small{color:var(--color-text-muted);text-align:right;font-size:11px}.search-plan-actions{justify-content:flex-start;margin:10px 0 8px;display:flex}.search-plan-clear{min-height:32px;padding:6px 10px;line-height:1.15}.search-plan-submit.ui-button-primary{justify-content:center;align-items:center;min-height:44px;padding:11px 14px;line-height:1.2;display:inline-flex}.search-plan-limit-note{color:var(--color-text-muted);margin:0 0 8px;font-size:12px}@media (width<=560px){.search-plan-email-constructor{grid-template-columns:1fr}}.run-list-item{min-height:38px}.settings-grid{grid-template-columns:repeat(3,minmax(0,1fr));margin-bottom:8px}.settings-grid label{color:var(--color-text-muted);gap:4px;font-size:12px;display:grid}.run-list-item{background:var(--color-bg-panel);text-align:left;justify-content:space-between;align-items:center;gap:10px;width:100%;min-width:0;max-width:100%;padding:8px 10px;display:flex}.run-list-item span{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.run-list-item small{color:var(--color-text-muted);white-space:nowrap;flex:none}.advanced-toggle{border:1px solid var(--color-border);border-radius:var(--radius-sm);width:100%;min-height:36px;color:var(--color-text);cursor:pointer;background:0 0;justify-content:space-between;align-items:center;padding:8px 10px;display:flex}.advanced-toggle strong{color:var(--color-text-muted);font-size:12px}.advanced-search-panel{border:1px solid var(--color-border-soft);border-radius:var(--radius-sm);background:color-mix(in srgb, var(--color-bg-panel) 78%, transparent);gap:8px;margin-top:8px;padding:10px;display:grid}.success-text{color:var(--color-success-text);margin:10px 0 0;font-size:13px}.investigation-shell{grid-template-rows:auto minmax(0,1fr);min-height:calc(100vh - 28px)}.investigation-header-main{min-width:0}.investigation-header-actions{justify-content:flex-end;align-items:center}.investigation-header-actions .ui-button-primary{width:auto;min-width:132px;margin-top:0}.investigation-status-block{gap:4px;margin-top:8px;display:grid}.investigation-status-summary{color:var(--color-text-muted);flex-wrap:wrap;align-items:center;gap:6px 10px;font-size:13px;line-height:1.4;display:flex}.investigation-status-summary strong{color:var(--color-text);font-weight:800}.investigation-status-dot{background:var(--color-text-muted);border-radius:999px;flex:none;width:8px;height:8px}.investigation-status-running,.investigation-status-open{background:var(--color-warning-text)}.investigation-status-completed{background:var(--color-success-text)}.investigation-status-failed{background:var(--color-danger)}.investigation-status-meta{align-items:center;min-width:0;display:inline-flex}.investigation-status-meta:before{content:"·";color:var(--color-text-muted);margin-right:10px}.investigation-status-warning,.investigation-status-loading{color:var(--color-text-muted);margin:0;font-size:13px}.status-strip{flex-wrap:wrap;gap:8px;margin-top:12px;display:flex}.summary-strip{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;display:grid}.search-trace-shell{grid-template-rows:auto minmax(0,1fr);gap:16px;min-height:calc(100vh - 28px);display:grid}.search-trace-header{border-bottom:1px solid var(--color-border-soft);justify-content:space-between;align-items:flex-start;gap:16px;padding-bottom:14px;display:flex}.search-trace-kicker,.search-trace-muted{color:var(--color-text-muted);font-size:12px}.search-trace-header h1{margin:2px 0 4px;font-size:24px;line-height:1.15}.search-trace-counters{grid-template-columns:repeat(5,minmax(66px,1fr));gap:8px;display:grid}.search-trace-metric{border:1px solid var(--color-border-soft);border-radius:var(--radius-sm);background:var(--color-bg-panel);align-content:center;min-height:52px;padding:8px 10px;display:grid}.search-trace-metric strong{font-size:18px}.search-trace-metric span,.trace-inline-metrics,.trace-query-meta,.trace-reasons,.trace-task-head span,.trace-execution-head span,.trace-hit-main span{color:var(--color-text-muted);font-size:12px}.search-trace-pipeline{grid-auto-columns:minmax(340px,420px);grid-auto-flow:column;align-items:start;gap:12px;padding-bottom:10px;display:grid;overflow-x:auto}.trace-run,.trace-task,.trace-execution,.trace-query,.trace-hit,.search-trace-empty{border:1px solid var(--color-border-soft);border-radius:var(--radius-sm);background:var(--color-bg-panel)}.trace-run{gap:10px;padding:10px;display:grid}.trace-run-header,.trace-task-head,.trace-execution-head,.trace-hit-main,.trace-query summary{justify-content:space-between;align-items:center;gap:8px;min-width:0;display:flex}.trace-task-list,.trace-query-list,.trace-hit-list,.trace-task,.trace-execution{gap:8px;display:grid}.trace-task,.trace-execution,.trace-hit,.search-trace-empty{padding:10px}.trace-query{overflow:hidden}.trace-query summary{cursor:pointer;min-height:38px;padding:8px 10px}.trace-query-text{min-width:0;color:var(--color-text);text-overflow:ellipsis;white-space:nowrap;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,monospace;overflow:hidden}.trace-query-meta,.trace-reasons,.trace-linkage,.trace-inline-metrics{flex-wrap:wrap;gap:6px;display:flex}.trace-query-meta,.trace-hit-list{border-top:1px solid var(--color-border-soft);padding:8px 10px}.trace-hit-main{align-items:flex-start}.trace-hit-main a{color:var(--color-text);font-weight:700;text-decoration:none;display:block}.trace-hit-main a:hover{text-decoration:underline}.trace-hit-main div{min-width:0}.trace-hit-main div span,.trace-hit p{-webkit-line-clamp:2;-webkit-box-orient:vertical;margin:2px 0 0;display:-webkit-box;overflow:hidden}.trace-rank{flex:0 0 34px}.trace-status,.trace-decision,.trace-reasons span,.trace-linkage a,.trace-linkage span{border:1px solid var(--color-border-soft);border-radius:var(--radius-sm);flex:none;padding:3px 6px;font-size:11px;font-weight:800}.trace-linkage{margin-top:8px}.trace-linkage a{color:var(--color-accent);text-decoration:none}.trace-linkage a:hover{text-decoration:underline}.trace-status-success,.trace-status-completed,.trace-status-done,.trace-decision-accepted{border-color:color-mix(in srgb, var(--color-success-text) 55%, var(--color-border-soft));color:var(--color-success-text)}.trace-status-failed,.trace-decision-policy_skipped,.trace-decision-quality_skipped,.trace-error{color:var(--color-danger)}.trace-hit-policy_skipped,.trace-hit-quality_skipped{background:color-mix(in srgb, var(--color-bg-panel) 82%, var(--color-danger) 18%)}.trace-error{margin:0;font-size:12px}@media (width<=780px){.search-trace-header{display:grid}.search-trace-counters{grid-template-columns:repeat(2,minmax(0,1fr))}.search-trace-pipeline{grid-auto-flow:row;grid-auto-columns:unset;grid-template-columns:minmax(0,1fr);overflow-x:visible}}.graph-workspace{min-height:0;position:relative}.graph-workbench{grid-template-columns:minmax(0,1fr);min-height:calc(100vh - 130px);display:grid}.graph-stage{border:1px solid color-mix(in srgb, var(--color-border-soft) 74%, transparent);border-radius:var(--radius-sm);background:linear-gradient(180deg, color-mix(in srgb, var(--graph-surface-bg) 92%, var(--color-bg-soft)) 0%, var(--graph-surface-bg) 42%), var(--graph-surface-bg);min-width:0;min-height:0;box-shadow:inset 0 1px 0 color-mix(in srgb, var(--color-text-strong) 7%, transparent), 0 18px 42px #0000001a;display:grid;position:relative;overflow:hidden}.graph-layer-filter{border:1px solid color-mix(in srgb, var(--color-border-strong) 76%, transparent);border-radius:var(--radius-sm);background:color-mix(in srgb, var(--color-bg-overlay) 76%, transparent);gap:3px;padding:2px;display:inline-flex}.graph-layer-filter .ui-button{min-height:28px;color:var(--color-text-subtle);background:0 0;border-color:#0000;padding:4px 7px;font-size:12px}.graph-layer-filter .ui-button:disabled{color:var(--color-text-muted);opacity:.38;background:0 0;border-color:#0000}.graph-layer-filter .ui-button:disabled:hover{color:var(--color-text-muted);background:0 0;border-color:#0000}.graph-layer-filter-active{background:var(--color-bg-soft)!important;color:var(--color-text)!important;border-color:var(--color-border-strong)!important}.graph-map-dock,.graph-layer-dock{z-index:12;border:1px solid color-mix(in srgb, var(--color-border-strong) 68%, transparent);border-radius:var(--radius-sm);background:color-mix(in srgb, var(--color-bg-overlay) 82%, var(--graph-surface-bg));box-shadow:inset 0 1px 0 color-mix(in srgb, var(--color-text-strong) 5%, transparent), 0 8px 18px #00000014;align-items:center;gap:6px;padding:4px;display:inline-flex;position:absolute}.graph-map-dock{max-width:min(720px,100% - 24px);top:12px;left:12px}.graph-layer-dock{top:12px;right:12px}.graph-hypotheses-panel{z-index:13;border:1px solid color-mix(in srgb, var(--color-border-strong) 72%, transparent);border-radius:var(--radius-sm);background:color-mix(in srgb, var(--color-bg-overlay-strong) 94%, var(--graph-surface-bg));width:min(360px,100% - 24px);min-height:0;box-shadow:var(--shadow-popover);grid-template-rows:auto minmax(0,1fr);gap:8px;padding:10px;display:grid;position:absolute;top:58px;bottom:12px;left:12px;overflow:hidden}.graph-hypotheses-header{justify-content:space-between;align-items:center;gap:8px;display:flex}.graph-hypotheses-header strong{color:var(--color-text-strong);font-size:13px}.graph-hypotheses-header span{color:var(--color-text-muted);font-size:12px}.graph-hypotheses-list{align-content:start;gap:5px;min-height:0;display:grid;overflow:auto}.graph-hypothesis-item{border:1px solid color-mix(in srgb, var(--color-border-soft) 82%, transparent);border-radius:var(--radius-sm);background:color-mix(in srgb, var(--color-bg-soft) 68%, transparent);color:var(--color-text);text-align:left;cursor:pointer;gap:2px;padding:7px 8px;display:grid}.graph-hypothesis-item:hover{border-color:var(--color-border-strong);background:var(--color-bg-panel)}.graph-hypothesis-item span{min-width:0;color:var(--color-text-strong);overflow-wrap:anywhere;font-size:12px}.graph-hypothesis-item small{color:var(--color-text-muted);font-size:11px}.graph-map-tools{align-items:center;gap:4px;display:inline-flex}.graph-map-tools .ui-button{white-space:nowrap;justify-content:center;align-items:center;gap:5px;min-height:28px;padding:4px 7px;font-size:12px;display:inline-flex}.graph-map-tools .ui-button-primary{width:auto;min-width:0;margin-top:0}.graph-search{width:min(318px,100%);position:relative}.graph-search input{border-color:color-mix(in srgb, var(--color-border-strong) 78%, transparent);background:color-mix(in srgb, var(--color-bg-panel) 72%, transparent);min-height:30px;padding:6px 9px;font-size:12px}.graph-search-results{border:1px solid var(--color-border-strong);border-radius:var(--radius-sm);background:var(--color-bg-overlay-strong);width:100%;box-shadow:var(--shadow-popover);gap:5px;padding:6px;display:grid;position:absolute;top:calc(100% + 6px);left:0}.graph-search-result,.graph-search-empty{border-radius:var(--radius-sm);text-align:left;background:0 0;gap:2px;padding:7px 8px;font-size:12px;display:grid}.graph-search-result:hover{background:var(--color-bg-panel)}.graph-search-result span,.graph-search-empty{color:var(--color-text-subtle)}.graph-search-result-active{border-color:var(--color-accent)}.graph-surface{background:linear-gradient(color-mix(in srgb, var(--graph-background-dot) 15%, transparent) 1px, transparent 1px), linear-gradient(90deg, color-mix(in srgb, var(--graph-background-dot) 15%, transparent) 1px, transparent 1px), radial-gradient(circle at 50% 42%, color-mix(in srgb, var(--color-accent) 9%, transparent) 0%, transparent 38%), var(--graph-surface-bg);background-size:72px 72px,72px 72px,auto,auto;border:0;border-radius:0;height:100%;min-height:0;position:relative;overflow:hidden}.graph-surface:before{content:"";pointer-events:none;z-index:1;box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--color-text-strong) 4%, transparent), inset 0 24px 46px #00000014, inset 0 -28px 50px #0000001a;position:absolute;inset:0}.graph-surface .react-flow{z-index:2;position:relative}.graph-surface-investigation{height:auto;min-height:620px}.graph-legend-anchor{z-index:13;position:absolute;bottom:14px;right:14px}.legend-trigger{border-radius:var(--radius-sm);border-color:color-mix(in srgb, var(--color-border-strong) 74%, transparent);background:color-mix(in srgb, var(--color-bg-overlay) 84%, var(--graph-surface-bg));width:32px;height:32px;color:var(--color-text);justify-content:center;align-items:center;font-weight:800;display:inline-flex}.legend-trigger-active{border-color:var(--color-accent);color:var(--color-text-strong)}.legend-popover{border:1px solid var(--color-border-strong);border-radius:var(--radius-sm);background:var(--color-bg-overlay-strong);width:min(316px,100vw - 32px);max-height:min(72vh,620px);box-shadow:var(--shadow-popover);padding:12px;position:absolute;bottom:calc(100% + 8px);right:0;overflow:auto}.legend-action-list p,.legend-chip-list p{color:var(--color-text-subtle);margin:0;font-size:12px;line-height:1.38}.legend-section{border-top:1px solid color-mix(in srgb, var(--color-border-soft) 76%, transparent);gap:8px;margin-top:10px;padding-top:10px;display:grid}.legend-section:first-of-type{border-top:0;padding-top:0}.legend-section h3{color:var(--color-text);margin:0;font-size:12px;font-weight:650}.details-pane{background:0 0;min-height:220px;padding:10px;overflow:auto}.graph-details-popover{left:var(--details-popover-x,16px);top:var(--details-popover-y,16px);z-index:18;border:1px solid color-mix(in srgb, var(--color-border-soft) 78%, transparent);border-radius:var(--radius-sm);background:linear-gradient(180deg, color-mix(in srgb, var(--color-bg-overlay-strong) 94%, var(--color-bg-soft)) 0%, color-mix(in srgb, var(--color-bg-overlay) 90%, var(--color-bg-panel)) 100%);width:min(360px,100% - 28px);min-width:0;max-height:min(560px,100% - 28px);box-shadow:inset 0 1px 0 color-mix(in srgb, var(--color-text-strong) 6%, transparent), 0 12px 26px #0000001f;position:absolute;overflow:hidden}.graph-details-popover-header{z-index:3;border-bottom:1px solid color-mix(in srgb, var(--color-border-soft) 82%, transparent);background:color-mix(in srgb, var(--color-bg-overlay-strong) 94%, var(--color-bg-panel));cursor:grab;-webkit-user-select:none;user-select:none;touch-action:none;justify-content:space-between;align-items:center;gap:10px;min-height:42px;padding:8px 10px;display:flex;position:sticky;top:0}.graph-details-popover-header:active{cursor:grabbing}.graph-details-popover-header>div{gap:2px;min-width:0;display:grid}.graph-details-popover-header .details-copy-link{white-space:nowrap;cursor:pointer;min-height:28px;padding:5px 8px;font-size:11.5px}.graph-details-popover-header strong{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.graph-inspector-label,.details-kind{color:var(--color-text-muted);letter-spacing:.02em;text-transform:uppercase;font-size:10.5px;font-weight:650}.graph-details-popover-body{max-height:min(516px,100vh - 260px);overflow:auto}.details-title-block{border-bottom:1px solid color-mix(in srgb, var(--color-border-soft) 82%, transparent);gap:5px;padding-bottom:9px;display:grid}.details-title-block h2{overflow-wrap:anywhere;margin:0;font-size:15px;font-weight:600;line-height:1.22}.details-title-link{max-width:100%;color:inherit;overflow-wrap:anywhere;grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:5px;text-decoration:none;transition:color .16s;display:inline-grid}.details-title-link-text{-webkit-line-clamp:3;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.details-title-link:hover{color:var(--color-accent)}.details-title-link-mark{color:var(--color-text-muted);vertical-align:.08em;font-size:11px;line-height:1;display:inline-block}.details-title-link:hover .details-title-link-mark{color:currentColor}.details-meta-line{color:var(--color-text-muted);flex-wrap:wrap;align-items:center;gap:5px 8px;font-size:11px;display:flex}.details-section{gap:6px;display:grid}.details-section+.details-section{margin-top:10px}.details-section h3{color:var(--color-text);margin:0;font-size:12.5px;font-weight:650}.details-note{color:var(--color-text-muted);margin:0 0 10px;font-size:12.5px;line-height:1.45}.details-facts{flex-wrap:wrap;gap:5px;margin:8px 0 10px;display:flex}.details-facts span{border:1px solid color-mix(in srgb, var(--color-border-soft) 82%, transparent);border-radius:var(--radius-sm);background:color-mix(in srgb, var(--color-bg-soft) 62%, transparent);color:var(--color-text-subtle);font-variant-numeric:tabular-nums;padding:3px 7px;font-size:11px}.node-value{overflow-wrap:anywhere;margin:0 0 12px;font-weight:600}.details-list{grid-template-columns:104px 1fr;gap:7px;margin:0;font-size:12.5px;display:grid}dt{color:var(--color-text-muted)}dd{overflow-wrap:anywhere;margin:0}.evidence-row,.diagnostic-row,.case-run-card,.legend-row{border-top:1px solid color-mix(in srgb, var(--color-border-soft) 82%, transparent);gap:3px;padding:10px 0;display:grid}.evidence-card-list{gap:7px;display:grid}.evidence-card,.relation-card{border:1px solid color-mix(in srgb, var(--color-border-soft) 86%, transparent);border-radius:var(--radius-sm);background:color-mix(in srgb, var(--color-bg-panel) 68%, transparent);gap:7px;padding:9px;display:grid}.evidence-card-header,.evidence-card-meta,.relation-card-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:6px 10px;display:flex}.evidence-card-facts,.relation-card-facts{flex-wrap:wrap;gap:5px;display:flex}.evidence-card-facts span,.relation-card-facts span{border:1px solid color-mix(in srgb, var(--color-border-soft) 82%, transparent);border-radius:var(--radius-sm);background:color-mix(in srgb, var(--color-bg-soft) 72%, transparent);color:var(--color-text-subtle);padding:2px 6px;font-size:10.5px}.evidence-card-header strong,.relation-card-header strong{color:var(--color-text);font-size:12.5px;font-weight:600}.evidence-card-header span,.relation-card-header span,.evidence-card-meta,.evidence-card p,.relation-card p{color:var(--color-text-subtle);font-size:12px}.evidence-card p,.relation-card p{margin:0;line-height:1.4}.evidence-card-meta a{color:var(--color-text);text-decoration:none}.evidence-card-meta a:hover{color:var(--color-accent)}.relation-card-list{gap:7px;display:grid}.run-chip-list{grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:7px;display:grid}.run-chip{background:var(--color-bg-panel);text-align:left;justify-items:start;gap:4px;width:100%;padding:7px 9px;font-size:12px;display:grid}.run-chip small,.evidence-row span,.diagnostic-row span,.diagnostic-row small,.legend-row p{overflow-wrap:anywhere;color:var(--color-text-subtle)}.legend-list{gap:6px;display:grid}.legend-row{border-top:0;grid-template-columns:44px 1fr;align-items:center;padding:0}.legend-row strong,.legend-row p{margin:0}.legend-row strong{color:var(--color-text);font-size:12px;font-weight:600}.legend-row p{color:var(--color-text-subtle);font-size:11.5px;line-height:1.34}.legend-line{border-top:3px solid var(--edge-label-muted);width:42px;height:0;display:inline-block}.legend-line-strong{border-top-color:var(--edge-strong)}.legend-line-medium{border-top-color:var(--edge-medium)}.legend-line-weak{border-top-color:var(--edge-weak)}.legend-line-member{border-top-color:var(--edge-member);border-top-style:dashed}.legend-chip-list{grid-template-columns:max-content 1fr;align-items:center;gap:6px 8px;display:grid}.legend-chip{border:1px solid color-mix(in srgb, var(--color-border-soft) 82%, transparent);border-radius:var(--radius-sm);background:color-mix(in srgb, var(--color-bg-soft) 72%, transparent);min-height:22px;color:var(--color-text);justify-content:center;align-items:center;padding:3px 7px;font-size:11px;font-weight:600;display:inline-flex}.legend-chip-archive{background:color-mix(in srgb, var(--edge-global-strong) 20%, transparent)}.legend-action-list{gap:6px;display:grid}.legend-action-list strong{color:var(--color-text);font-weight:650}.node-actions{grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;margin:9px 0 12px;display:grid}.node-actions .ui-button{text-align:center;white-space:normal;justify-content:center;align-items:center;gap:6px;min-width:0;min-height:32px;padding-inline:9px;font-size:12px;line-height:1.2;display:inline-flex}.details-action-mark{color:currentColor;opacity:.72;font-size:12px;line-height:1}.node-actions .ui-button-primary{width:100%;min-width:132px;margin-top:0}.node-action-main{grid-column:1/-1}.details-action-error{border:1px solid color-mix(in srgb, var(--color-danger-text) 28%, transparent);border-radius:var(--radius-sm);background:var(--color-danger-bg);color:var(--color-danger-text);margin:8px 0 0;padding:7px 9px;font-size:12px;line-height:1.35}.decision-label{border-radius:var(--radius-sm);background:var(--color-bg-soft);color:var(--color-text);padding:2px 6px;font-size:10.5px;font-weight:650;display:inline-flex}.decision-exclude{background:var(--color-danger-bg);color:var(--color-danger-text)}.decision-pin{background:var(--color-success-bg);color:var(--color-success-text)}.react-flow__node{border-radius:var(--radius-sm);box-shadow:none;background:0 0;border:0}.react-flow__edge-path{transition:opacity .14s,stroke-width .14s,stroke .14s}.react-flow__edge-text{fill:var(--color-text-subtle)}.react-flow__controls{border:1px solid color-mix(in srgb, var(--color-border-strong) 78%, transparent);border-radius:var(--radius-sm);box-shadow:none;background:color-mix(in srgb, var(--color-bg-overlay) 78%, var(--graph-surface-bg));overflow:hidden}.react-flow__controls-button{border-bottom:1px solid var(--color-border-strong);background:color-mix(in srgb, var(--color-bg-overlay) 92%, var(--graph-surface-bg));width:28px;height:28px;color:var(--color-text)}.react-flow__controls-button:last-child{border-bottom:0}.react-flow__controls-button svg{fill:currentColor}.react-flow__minimap{border:1px solid color-mix(in srgb, var(--color-border-strong) 76%, transparent);border-radius:var(--radius-sm);background:color-mix(in srgb, var(--color-bg-overlay) 88%, var(--graph-surface-bg));box-shadow:none;overflow:hidden}.react-flow__minimap-mask{fill:#7e958a24}.react-flow__controls,.react-flow__minimap{opacity:.84;transition:opacity .16s}.react-flow__controls:hover,.react-flow__minimap:hover{opacity:1}.react-flow__attribution{box-shadow:0 10px 24px #00000038;border:1px solid var(--color-border-strong)!important;border-radius:var(--radius-sm)!important;background:var(--color-bg-overlay)!important;color:var(--color-text-subtle)!important}.react-flow__attribution a{color:inherit!important}.graph-node{border:1px solid color-mix(in srgb, var(--color-border-strong) 82%, transparent);border-radius:var(--radius-sm);background:color-mix(in srgb, var(--color-bg-overlay) 92%, var(--graph-surface-bg));width:224px;min-height:90px;box-shadow:inset 0 1px 0 color-mix(in srgb, var(--color-text-strong) 5%, transparent), 0 10px 22px #00000014;color:var(--color-text);padding:10px 11px;transition:border-color .14s,box-shadow .14s,background .14s,opacity .14s}.graph-node-attribute{border-left:0;position:relative}.graph-node-attribute:before{content:"";background:var(--node-accent,var(--color-accent));border-radius:0 3px 3px 0;width:3px;position:absolute;top:10px;bottom:10px;left:0}.graph-node-entity{background:linear-gradient(180deg, color-mix(in srgb, var(--color-bg-soft) 90%, var(--node-entity)) 0%, var(--color-bg-soft) 100%);border-color:var(--color-border-strong);width:204px}.graph-node-global{border-color:var(--edge-global-strong)}.graph-node-selected{border-color:var(--color-accent);box-shadow:inset 0 1px 0 color-mix(in srgb, var(--color-text-strong) 7%, transparent), 0 0 0 2px color-mix(in srgb, var(--color-accent) 38%, transparent), 0 14px 28px #00000024}.graph-node:hover{border-color:color-mix(in srgb, var(--color-accent) 72%, var(--color-border-strong));background:var(--color-bg-overlay-strong)}.graph-node-pin{border-color:var(--color-success-text)}.graph-node-exclude{opacity:.54;border-color:var(--color-danger-text)}.graph-node-include{border-color:var(--color-accent)}.graph-node-topline,.graph-node-bottomline{justify-content:space-between;align-items:center;gap:8px;display:flex}.graph-node-bottomline{margin-top:9px}.graph-node-value{-webkit-line-clamp:2;word-break:break-word;-webkit-box-orient:vertical;margin-top:8px;font-size:13px;font-weight:600;line-height:1.25;display:-webkit-box;overflow:hidden}.graph-type-badge,.graph-confidence-badge,.graph-state-badge,.graph-secondary-badge{border-radius:var(--radius-sm);white-space:nowrap;align-items:center;min-height:20px;padding:2px 6px;font-size:10.5px;font-weight:600;display:inline-flex}.graph-type-badge{background:color-mix(in srgb, var(--color-accent) 16%, transparent);color:var(--color-text-subtle);text-transform:none}.graph-confidence-badge,.graph-secondary-badge{background:color-mix(in srgb, var(--color-bg-soft) 72%, transparent);color:var(--color-text-subtle)}.graph-state-badge{background:var(--color-bg-soft);color:var(--color-text)}.graph-state-pin{background:var(--color-success-bg);color:var(--color-success-text)}.graph-state-exclude{background:var(--color-danger-bg);color:var(--color-danger-text)}.graph-state-include{background:color-mix(in srgb, var(--color-accent) 22%, transparent);color:var(--color-text)}.graph-state-global{background:color-mix(in srgb, var(--edge-global-strong) 20%, transparent);color:var(--color-text)}.graph-handle{opacity:0}@media (width<=980px){.graph-workbench{grid-template-columns:1fr;min-height:auto}.graph-surface,.graph-surface-investigation{height:68vh;min-height:520px}.graph-map-dock{flex-wrap:wrap;max-width:none;left:10px;right:10px}.graph-search{flex:220px}.graph-map-tools{flex:auto;justify-content:flex-end}.graph-layer-dock{top:auto;bottom:54px;right:10px}.graph-hypotheses-panel{width:auto;inset:104px 10px 10px}.legend-popover{width:min(316px,100vw - 32px);max-height:min(68vh,560px);right:0}.graph-details-popover{width:auto;max-height:min(72vh,100% - 76px);position:absolute;inset:auto 10px 10px}.graph-details-popover-body{max-height:min(58vh,100% - 128px)}}
