.qterm{color:#c9d1d9;z-index:10;background:#0b0d12;border-top:1px solid #ffffff14;flex-direction:column;flex-shrink:0;font-family:JetBrains Mono,IBM Plex Mono,Fira Code,ui-monospace,monospace;font-size:13px;display:flex;position:relative;overflow:hidden}.qterm--left{border-top:none;border-right:1px solid #ffffff14;height:100%!important}.qterm--right{border-top:none;border-left:1px solid #ffffff14;height:100%!important}.qterm--collapsed{width:auto!important;height:auto!important}.qterm-resize-handle{cursor:ns-resize;z-index:20;background:0 0;height:5px;transition:background .12s;position:absolute;top:0;left:0;right:0}.qterm-resize-handle:hover{background:#54aeff40}.qterm-resize-handle--left{cursor:ew-resize;width:5px;height:auto;inset:0 0 0 auto}.qterm-resize-handle--right{cursor:ew-resize;width:5px;height:auto;inset:0 auto 0 0}.qterm-header{background:#0d1117;border-bottom:1px solid #ffffff0f;flex-wrap:wrap;flex-shrink:0;align-items:center;gap:8px;min-height:34px;padding:4px 10px;display:flex}.qterm-title{letter-spacing:.06em;text-transform:uppercase;color:#7d8590;white-space:nowrap;align-items:center;gap:6px;font-size:11px;font-weight:600;display:flex}.qterm-dot{background:#3fb950;border-radius:50%;flex-shrink:0;width:8px;height:8px}.qterm-lang-tabs{flex-wrap:wrap;flex:1;gap:2px;display:flex}.qterm-lang-tab{color:#7d8590;cursor:pointer;white-space:nowrap;background:0 0;border:1px solid #0000;border-radius:4px;padding:2px 9px;font-family:inherit;font-size:11px;font-weight:500;transition:all .12s}.qterm-lang-tab:hover{color:#c9d1d9;background:#ffffff0d;border-color:#ffffff1a}.qterm-lang-tab.active{color:#58a6ff;background:#58a6ff1a;border-color:#58a6ff4d}.qterm-header-right{flex-shrink:0;gap:4px;margin-left:auto;display:flex}.qterm-btn{color:#7d8590;cursor:pointer;background:0 0;border:1px solid #ffffff1a;border-radius:4px;padding:2px 8px;font-family:inherit;font-size:11px;transition:all .12s}.qterm-btn:hover:not(:disabled){color:#c9d1d9;background:#ffffff12;border-color:#ffffff2e}.qterm-btn.is-active{color:#54aeff;background:#54aeff1f;border-color:#54aeff40}.qterm-btn:disabled{opacity:.35;cursor:default}.qterm-btn--close:hover:not(:disabled){color:#f85149;background:#f8514914;border-color:#f8514959}.qterm-output{scroll-behavior:smooth;flex:1;padding:6px 0;overflow-y:auto}.qterm-output::-webkit-scrollbar{width:6px}.qterm-output::-webkit-scrollbar-track{background:0 0}.qterm-output::-webkit-scrollbar-thumb{background:#ffffff1f;border-radius:3px}.qterm-output::-webkit-scrollbar-thumb:hover{background:#ffffff38}.qterm-welcome{color:#4a5568;flex-direction:column;gap:4px;padding:16px;display:flex}.qterm-welcome-title{color:#586069;letter-spacing:.04em;font-size:12px;font-weight:600}.qterm-welcome-langs{color:#3d4451;font-size:11px}.qterm-welcome-hint{color:#3d4451;margin-top:4px;font-size:11px}.qterm-welcome-hint kbd{color:#586069;background:#161b22;border:1px solid #2d3748;border-radius:3px;padding:0 4px;font-family:inherit;font-size:10px;display:inline-block}.qterm-entry{border-bottom:1px solid #ffffff0a;padding:4px 12px 6px}.qterm-entry:last-child{border-bottom:none}.qterm-entry--info{color:#586069;padding:3px 12px;font-size:11px;font-style:italic}.qterm-entry-cmd{align-items:flex-start;gap:8px;margin-bottom:4px;line-height:1.5;display:flex}.qterm-entry-prompt{color:#58a6ff;-webkit-user-select:none;user-select:none;text-align:right;flex-shrink:0;min-width:42px;font-weight:700}.qterm-entry-code{white-space:pre-wrap;word-break:break-all;color:#e6edf3;font-family:inherit;font-size:13px}.tok-kw{color:#ff7b72;font-weight:600}.tok-type{color:#79c0ff}.tok-str{color:#a5d6ff}.tok-num{color:#f2cc60}.tok-var{color:#d2a8ff}.tok-comment{color:#4a5568;font-style:italic}.qterm-result-meta{align-items:center;gap:8px;padding:2px 0 4px;font-size:12px;display:flex}.qterm-ok{color:#3fb950;font-weight:700}.qterm-err{color:#f85149;font-weight:700}.qterm-elapsed{color:#4a5568;font-size:11px}.qterm-dim{color:#4a5568}.qterm-badge{letter-spacing:.04em;border-radius:3px;padding:1px 6px;font-size:10px;font-weight:600}.qterm-badge--note{color:#d2a8ff;background:#d2a8ff1a;border:1px solid #d2a8ff40}.qterm-result-empty{color:#4a5568;padding:2px 0;font-size:12px}.qterm-table{border-collapse:collapse;width:100%;margin-top:2px;font-size:12px}.qterm-table th{text-align:left;color:#586069;letter-spacing:.06em;text-transform:uppercase;white-space:nowrap;border-bottom:1px solid #ffffff12;padding:3px 8px 3px 0;font-size:10px;font-weight:600}.qterm-table td{vertical-align:middle;border-bottom:1px solid #ffffff0a;padding:3px 8px 3px 0}.qterm-table-row:hover td{background:#58a6ff0d}.qterm-table-row.is-open td{background:#58a6ff14;border-bottom:none}.qterm-hit-detail-row td{border-bottom:1px solid #ffffff0f;padding:0}.qterm-hit-detail-cell{background:#58a6ff0a}.qterm-hit-detail{border-left:2px solid #58a6ff66;flex-direction:column;gap:6px;padding:8px 12px 10px;display:flex}.qterm-hit-detail-header{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.qterm-hit-detail-name{color:#e6edf3;word-break:break-word;flex:1;font-size:13px;font-weight:600}.qterm-hit-detail-id{color:#4a5568;letter-spacing:.03em;-webkit-user-select:all;user-select:all;cursor:text;font-family:JetBrains Mono,ui-monospace,monospace;font-size:10px}.qterm-hit-attrs{grid-template-columns:1fr;gap:3px;margin:0;display:grid}.qterm-hit-attr-row{grid-template-columns:minmax(80px,160px) 1fr;align-items:baseline;gap:8px;display:grid}.qterm-hit-attr-key{color:#7d8590;text-align:right;white-space:nowrap;text-overflow:ellipsis;font-size:11px;overflow:hidden}.qterm-hit-attr-val{color:#c9d1d9;word-break:break-word;white-space:pre-wrap;margin:0;font-size:12px}.qterm-hit-detail-score{color:#4a5568;margin-top:2px;font-size:11px}.qterm-hit-detail-score strong{color:#7d8590}.qterm-detail-btn{color:#7d8590;cursor:pointer;white-space:nowrap;background:0 0;border:1px solid #ffffff1a;border-radius:4px;padding:2px 8px;font-family:inherit;font-size:11px;transition:all .12s}.qterm-detail-btn:hover{color:#c9d1d9;background:#ffffff12;border-color:#ffffff2e}.qterm-detail-btn--focus{color:#58a6ff;border-color:#58a6ff4d}.qterm-detail-btn--focus:hover{color:#79c0ff;background:#58a6ff1f;border-color:#58a6ff80}.qterm-detail-btn--close:hover{color:#f85149;background:#f851490f;border-color:#f851494d}.qterm-id{color:#586069;white-space:nowrap;font-size:11px}.qterm-name{color:#e6edf3;text-overflow:ellipsis;white-space:nowrap;max-width:320px;overflow:hidden}.qterm-score{color:#7d8590;text-align:right;white-space:nowrap;font-size:11px}.qterm-kind-badge{letter-spacing:.04em;color:#79c0ff;white-space:nowrap;background:#58a6ff1a;border:1px solid #58a6ff33;border-radius:3px;padding:1px 6px;font-size:10px;font-weight:600;display:inline-block}.qterm-kind-badge.kind-requirement{color:#3fb950;background:#3fb9501a;border-color:#3fb95040}.qterm-kind-badge.kind-function{color:#d2a8ff;background:#d2a8ff1a;border-color:#d2a8ff40}.qterm-kind-badge.kind-component,.qterm-kind-badge.kind-part{color:#f2cc60;background:#ffd43b1a;border-color:#ffd43b40}.qterm-kind-badge.kind-assembly{color:#ff7b72;background:#f851491a;border-color:#f8514940}.qterm-kind-badge.kind-material{color:#a5d6ff;background:#a5d6ff1a;border-color:#a5d6ff40}.qterm-kind-badge.kind-port{color:#14b8a6;background:#14b8a61a;border-color:#14b8a640}.qterm-show-more{color:#586069;cursor:pointer;background:0 0;border:1px solid #ffffff14;border-radius:4px;margin-top:4px;padding:2px 10px;font-family:inherit;font-size:11px;transition:all .12s}.qterm-show-more:hover{color:#58a6ff;border-color:#58a6ff4d}.qterm-warnings{margin-top:4px}.qterm-warning{color:#e3b341;padding:1px 0;font-size:11px;line-height:1.4}.qterm-result-error{align-items:flex-start;gap:8px;padding:2px 0;display:flex}.qterm-err-msg{color:#f85149;word-break:break-all;flex:1;font-size:12px}.qterm-running{color:#58a6ff;align-items:center;gap:8px;padding:6px 16px;font-size:12px;display:flex}.qterm-spinner{border:2px solid #58a6ff40;border-top-color:#58a6ff;border-radius:50%;flex-shrink:0;width:12px;height:12px;animation:.6s linear infinite qterm-spin;display:inline-block}.qterm-spinner--sm{width:10px;height:10px}@keyframes qterm-spin{to{transform:rotate(360deg)}}.qterm-templates{background:#ffffff03;border-top:1px solid #ffffff0d;flex-wrap:wrap;gap:4px;padding:4px 12px;display:flex}.qterm-template-chip{color:#7d8590;cursor:pointer;white-space:nowrap;background:#ffffff0a;border:1px solid #ffffff14;border-radius:4px;padding:2px 9px;font-family:inherit;font-size:11px;transition:all .12s}.qterm-template-chip:hover{color:#58a6ff;background:#58a6ff14;border-color:#58a6ff40}.qterm-input-bar{background:#0d1117;border-top:1px solid #ffffff12;flex-shrink:0;align-items:flex-start;gap:8px;padding:6px 10px;display:flex}.qterm-prompt-label{color:#58a6ff;text-align:right;-webkit-user-select:none;user-select:none;flex-shrink:0;min-width:48px;padding-top:6px;font-size:13px;font-weight:700}.qterm-input{color:#e6edf3;resize:none;background:#ffffff08;border:1px solid #ffffff1a;border-radius:5px;outline:none;flex:1;min-height:34px;padding:5px 10px;font-family:inherit;font-size:13px;line-height:1.5;transition:border-color .15s,background .15s}.qterm-input:focus{background:#58a6ff0a;border-color:#58a6ff80}.qterm-input:disabled{opacity:.5;cursor:not-allowed}.qterm-input::placeholder{color:#3d4451}.qterm-run-btn{color:#58a6ff;cursor:pointer;white-space:nowrap;background:#58a6ff26;border:1px solid #58a6ff4d;border-radius:5px;flex-shrink:0;justify-content:center;align-self:flex-start;align-items:center;gap:6px;min-width:64px;margin-top:1px;padding:6px 14px;font-family:inherit;font-size:12px;font-weight:600;transition:all .15s;display:flex}.qterm-run-btn:hover:not(:disabled){background:#58a6ff40;border-color:#58a6ff8c;box-shadow:0 0 0 2px #58a6ff1f}.qterm-run-btn:disabled{opacity:.35;cursor:not-allowed}.graph-toolbar__btn--terminal-active{color:#58a6ff!important;background:#58a6ff1a!important;border-color:#58a6ff4d!important}.query-explorer{background:#0d1117b3;border:1px solid #30363d99;border-radius:6px;margin-bottom:8px;padding:10px 12px;font-size:12px}.qe-header{align-items:center;gap:10px;margin-bottom:8px;display:flex}.qe-header strong{color:#c9d1d9;font-size:13px}.qe-header .muted{flex:1;font-size:11px}.qe-tabs{border-bottom:1px solid #30363d66;gap:4px;margin-bottom:8px;padding-bottom:4px;display:flex}.qe-tabs button{color:#8b949e;cursor:pointer;background:0 0;border:1px solid #0000;border-radius:4px;padding:3px 8px;font-size:11px;transition:all .12s}.qe-tabs button:hover{color:#c9d1d9;background:#30363d4d}.qe-tabs button.active{color:#58a6ff;background:#58a6ff1a;border-color:#58a6ff40}.qe-filter{color:#c9d1d9;background:#161b22cc;border:1px solid #30363d80;border-radius:4px;outline:none;width:100%;margin-bottom:8px;padding:4px 8px;font-size:12px}.qe-filter:focus{border-color:#58a6ff66}.qe-body{max-height:200px;overflow-y:auto}.qe-list{flex-wrap:wrap;gap:5px;display:flex}.qe-chip{color:#c9d1d9;cursor:pointer;background:#161b22cc;border:1px solid #30363d80;border-radius:4px;align-items:center;gap:5px;padding:3px 8px;font-size:11px;transition:all .12s;display:inline-flex}.qe-chip:hover{color:#58a6ff;background:#58a6ff1a;border-color:#58a6ff59}.qe-count{color:#8b949e;background:#30363d80;border-radius:3px;padding:0 4px;font-size:10px}.qe-hint{margin-top:8px;font-size:11px}.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-button:last-child{border-bottom:none}.react-flow__controls.horizontal .react-flow__controls-button{border-bottom:none;border-right:1px solid var(--xy-controls-button-border-color-props,var(--xy-controls-button-border-color,var(--xy-controls-button-border-color-default)))}.react-flow__controls.horizontal .react-flow__controls-button:last-child{border-right:none}.react-flow__resize-control{position:absolute}.react-flow__resize-control.left,.react-flow__resize-control.right{cursor:ew-resize}.react-flow__resize-control.top,.react-flow__resize-control.bottom{cursor:ns-resize}.react-flow__resize-control.top.left,.react-flow__resize-control.bottom.right{cursor:nwse-resize}.react-flow__resize-control.bottom.left,.react-flow__resize-control.top.right{cursor:nesw-resize}.react-flow__resize-control.handle{background-color:var(--xy-resize-background-color,var(--xy-resize-background-color-default));border:1px solid #fff;border-radius:1px;width:5px;height:5px;translate:-50% -50%}.react-flow__resize-control.handle.left{top:50%;left:0}.react-flow__resize-control.handle.right{top:50%;left:100%}.react-flow__resize-control.handle.top{top:0;left:50%}.react-flow__resize-control.handle.bottom{top:100%;left:50%}.react-flow__resize-control.handle.top.left,.react-flow__resize-control.handle.bottom.left{left:0}.react-flow__resize-control.handle.top.right,.react-flow__resize-control.handle.bottom.right{left:100%}.react-flow__resize-control.line{border-color:var(--xy-resize-background-color,var(--xy-resize-background-color-default));border-style:solid;border-width:0}.react-flow__resize-control.line.left,.react-flow__resize-control.line.right{width:1px;height:100%;top:0;transform:translate(-50%)}.react-flow__resize-control.line.left{border-left-width:1px;left:0}.react-flow__resize-control.line.right{border-right-width:1px;left:100%}.react-flow__resize-control.line.top,.react-flow__resize-control.line.bottom{width:100%;height:1px;left:0;transform:translateY(-50%)}.react-flow__resize-control.line.top{border-top-width:1px;top:0}.react-flow__resize-control.line.bottom{border-bottom-width:1px;top:100%}.react-flow__edge-textbg{fill:var(--xy-edge-label-background-color,var(--xy-edge-label-background-color-default))}.react-flow__edge-text{fill:var(--xy-edge-label-color,var(--xy-edge-label-color-default))}.gdg-mnuv029{word-break:break-word;-webkit-touch-callout:default;padding-top:6px}.gdg-mnuv029>*{margin:0}.gdg-mnuv029 :last-child{margin-bottom:0}.gdg-mnuv029 p img{width:100%}.gdg-d19meir1{box-sizing:border-box;--overlay-top:var(--d19meir1-0);left:var(--d19meir1-1);top:var(--d19meir1-0);min-width:var(--d19meir1-2);min-height:var(--d19meir1-3);width:max-content;max-width:400px;max-height:calc(100vh - var(--d19meir1-4));font-family:var(--gdg-font-family);font-size:var(--gdg-editor-font-size);text-align:start;flex-direction:column;display:flex;position:absolute;overflow:hidden}@keyframes glide_fade_in-gdg-d19meir1{0%{opacity:0}to{opacity:1}}.gdg-d19meir1.gdg-style{background-color:var(--gdg-bg-cell);box-shadow:0 0 0 1px var(--gdg-accent-color), 0px 0px 1px #3e415666, 0px 6px 12px #3e415626;border-radius:2px;animation:60ms glide_fade_in-gdg-d19meir1}.gdg-d19meir1.gdg-pad{padding:var(--d19meir1-5) 8.5px 3px}.gdg-d19meir1 .gdg-clip-region{border-radius:2px;flex-direction:column;flex-grow:1;display:flex;overflow:hidden auto}.gdg-d19meir1 .gdg-clip-region .gdg-growing-entry{height:100%}.gdg-d19meir1 .gdg-clip-region input.gdg-input{border:0;outline:none;width:100%}.gdg-d19meir1 .gdg-clip-region textarea.gdg-input{border:0;outline:none}.gdg-b1ygi5by{flex-wrap:wrap;margin-top:auto;margin-bottom:auto;display:flex}.gdg-b1ygi5by .boe-bubble{border-radius:var(--gdg-rounding-radius,10px);background-color:var(--gdg-bg-bubble);height:20px;color:var(--gdg-text-dark);justify-content:center;align-items:center;margin:2px;padding:0 8px;display:flex}.gdg-b1ygi5by textarea{opacity:0;width:0;height:0;position:absolute;top:0;left:0}.gdg-n15fjm3e{color:var(--gdg-text-dark);margin:6px 0 3px;display:flex}.gdg-n15fjm3e>input{font-size:var(--gdg-editor-font-size);font-family:var(--gdg-font-family);color:var(--gdg-text-dark);background-color:var(--gdg-bg-cell);padding:0}.gdg-d4zsq0x{flex-wrap:wrap;display:flex}.gdg-d4zsq0x .doe-bubble{background-color:var(--gdg-bg-cell);height:24px;color:var(--gdg-text-dark);border-radius:var(--gdg-rounding-radius,6px);justify-content:center;align-items:center;margin:2px;padding:0 8px;display:flex;box-shadow:0 0 1px #3e415666,0 1px 3px #3e415666}.gdg-d4zsq0x .doe-bubble img{object-fit:contain;height:16px;margin-right:4px}.gdg-d4zsq0x textarea{opacity:0;width:0;height:0;position:absolute;top:0;left:0}.gdg-i2iowwq{height:100%;display:flex}.gdg-i2iowwq .gdg-centering-container{justify-content:center;align-items:center;height:100%;display:flex}.gdg-i2iowwq .gdg-centering-container img,.gdg-i2iowwq .gdg-centering-container canvas{max-height:calc(100vh - var(--overlay-top) - 20px);object-fit:contain;-webkit-user-select:none;user-select:none}.gdg-i2iowwq .gdg-centering-container canvas{max-width:380px}.gdg-i2iowwq .gdg-edit-icon{width:48px;height:48px;color:var(--gdg-accent-color);cursor:pointer;justify-content:center;align-items:center;display:flex;position:absolute;top:12px;right:0}.gdg-i2iowwq .gdg-edit-icon>*{width:24px;height:24px}.gdg-i2iowwq textarea{opacity:0;width:0;height:0;position:absolute;top:0;left:0}.gdg-u1rrojo{flex-grow:1;align-items:center;min-height:21px;display:flex}.gdg-u1rrojo .gdg-link-area{cursor:pointer;text-overflow:ellipsis;white-space:nowrap;color:var(--gdg-link-color);flex-grow:1;flex-shrink:1;margin-right:8px;overflow:hidden;-webkit-text-decoration:underline!important;text-decoration:underline!important}.gdg-u1rrojo .gdg-edit-icon{width:32px;color:var(--gdg-accent-color);cursor:pointer;flex-shrink:0;justify-content:center;align-items:center;display:flex}.gdg-u1rrojo .gdg-edit-icon>*{width:24px;height:24px}.gdg-u1rrojo textarea{opacity:0;width:0;height:0;position:absolute;top:0;left:0}.gdg-m1pnx84e{min-width:var(--m1pnx84e-0);-webkit-box-align:start;-webkit-align-items:flex-start;-ms-flex-align:flex-start;width:100%;color:var(--gdg-text-dark);justify-content:space-between;align-items:flex-start;display:flex;position:relative}.gdg-m1pnx84e .gdg-g1y0xocz{flex-shrink:1;min-width:0}.gdg-m1pnx84e .gdg-spacer{flex:1}.gdg-m1pnx84e .gdg-edit-icon{cursor:pointer;color:var(--gdg-accent-color);border-radius:6px;flex-shrink:0;justify-content:center;align-items:center;width:24px;height:24px;padding:0;transition:all .125s;display:flex;position:relative}.gdg-m1pnx84e .gdg-edit-icon>*{width:16px;height:16px}.gdg-m1pnx84e .gdg-edit-hover:hover{background-color:var(--gdg-accent-light);transition:background-color .15s}.gdg-m1pnx84e .gdg-checkmark-hover:hover{color:#fff;background-color:var(--gdg-accent-color)}.gdg-m1pnx84e .gdg-md-edit-textarea{opacity:0;width:0;height:0;margin-top:25px;padding:0;position:relative;top:0;left:0}.gdg-m1pnx84e .gdg-ml-6{margin-left:6px}.gdg-s1dgczr6 .dvn-scroller{overflow:var(--s1dgczr6-0);transform:translate(0,0)}.gdg-s1dgczr6 .dvn-hidden{visibility:hidden}.gdg-s1dgczr6 .dvn-scroll-inner{pointer-events:none;display:flex}.gdg-s1dgczr6 .dvn-scroll-inner>*{flex-shrink:0}.gdg-s1dgczr6 .dvn-scroll-inner .dvn-spacer{flex-grow:1}.gdg-s1dgczr6 .dvn-scroll-inner .dvn-stack{flex-direction:column;display:flex}.gdg-s1dgczr6 .dvn-underlay>*{position:absolute;top:0;left:0}.gdg-s1dgczr6 canvas{outline:none}.gdg-s1dgczr6 canvas *{height:0}.gdg-izpuzkl{resize:none;white-space:pre-wrap;width:100%;min-width:100%;height:100%;font-size:var(--gdg-editor-font-size);line-height:16px;font-family:var(--gdg-font-family);-webkit-text-fill-color:var(--gdg-text-dark);color:var(--gdg-text-dark);background-color:#0000;border:0;border-radius:0;margin:0;padding:0;position:absolute;inset:0;overflow:hidden}.gdg-izpuzkl::-webkit-input-placeholder{color:var(--gdg-text-light)}.gdg-izpuzkl::placeholder{color:var(--gdg-text-light)}.gdg-izpuzkl::placeholder{color:var(--gdg-text-light)}.gdg-invalid .gdg-izpuzkl{-webkit-text-decoration:underline #d60606;text-decoration:underline #d60606}.gdg-s69h75o{visibility:hidden;white-space:pre-wrap;word-wrap:break-word;width:max-content;min-width:100%;max-width:100%;font-size:var(--gdg-editor-font-size);line-height:16px;font-family:var(--gdg-font-family);color:var(--gdg-text-dark);margin:0;padding:0 0 2px}.gdg-g1y0xocz{margin-top:6px;position:relative}.gdg-seveqep{background-color:var(--gdg-bg-cell);color:var(--gdg-text-dark);border:1px solid var(--gdg-border-color);font-size:var(--gdg-editor-font-size);border-radius:6px;padding:8px;animation:.15s forwards gdg-search-fadein-gdg-seveqep;position:absolute;top:4px;right:20px}.gdg-seveqep.out{animation:.15s forwards gdg-search-fadeout-gdg-seveqep}.gdg-seveqep .gdg-search-bar-inner{display:flex}.gdg-seveqep .gdg-search-status{padding-top:4px;font-size:11px}.gdg-seveqep .gdg-search-progress{background-color:var(--gdg-text-light);height:4px;position:absolute;bottom:0;left:0}.gdg-seveqep input{width:220px;color:var(--gdg-textDark);background-color:var(--gdg-bg-cell);border:0;outline:none}.gdg-seveqep button{cursor:pointer;width:24px;height:24px;color:var(--gdg-text-medium);background:0 0;border:none;outline:none;justify-content:center;align-items:center;padding:0;display:flex}.gdg-seveqep button:hover{color:var(--gdg-text-dark)}.gdg-seveqep button .button-icon{width:16px;height:16px}.gdg-seveqep button:disabled{opacity:.4;pointer-events:none}@keyframes gdg-search-fadeout-gdg-seveqep{0%{transform:translate(0)}to{transform:translate(400px)}}@keyframes gdg-search-fadein-gdg-seveqep{0%{transform:translate(400px)}to{transform:translate(0)}}.gdg-wmyidgi{min-width:10px;max-width:100%;min-height:10px;max-height:100%;width:var(--wmyidgi-0);height:var(--wmyidgi-1);direction:ltr;position:relative;overflow:clip}.gdg-wmyidgi>:first-child{width:100%;height:100%;position:absolute;top:0;left:0}.gdg-r17m35ur{background-color:var(--gdg-bg-header-has-focus);box-shadow:0 0 0 1px var(--gdg-border-color);color:var(--gdg-text-group-header);min-height:var(--r17m35ur-0);font:var(--gdg-header-font-style) var(--gdg-font-family);border:none;border-radius:9px;outline:none;flex-grow:1;padding:0 8px}.gdg-c1tqibwd{background-color:var(--gdg-bg-header);align-items:center;padding:0 8px;display:flex}:root{--color-bg:#1e1e1e;--color-bg-elevated:#252526;--color-bg-muted:#2d2d30;--color-bg-canvas:#1e1e1e;--color-bg-hover:#3e3e42;--color-border:#3e3e42;--color-border-subtle:#333;--color-border-strong:#555;--color-text:#ccc;--color-text-secondary:#aaa;--color-text-muted:#858585;--color-text-faint:#666;--color-accent:#569cd6;--color-accent-hover:#4e8ec5;--color-accent-soft:#569cd626;--color-accent-ghost:#569cd614;--color-success:#4ec9b0;--color-warning:#dcdcaa;--color-danger:#f44747;--color-info:#9cdcfe;--color-code-bg:#2d2d30;--shadow-sm:0 1px 2px #0000004d;--shadow-md:0 4px 12px #0006;--shadow-lg:0 8px 30px #00000080;--shadow-xl:0 20px 50px #0009;--shadow-glow:0 0 0 3px #569cd633;--font-sans:"Inter", "DM Sans", system-ui, -apple-system, BlinkMacSystemFont, sans-serif;--font-mono:"JetBrains Mono", "IBM Plex Mono", ui-monospace, monospace;--text-xs:.75rem;--text-sm:.8125rem;--text-base:.9375rem;--text-md:1rem;--text-lg:1.125rem;--text-xl:1.35rem;--text-2xl:clamp(1.6rem, 4vw, 2.5rem);--text-3xl:clamp(2rem, 5vw, 3rem);--leading-tight:1.15;--leading-snug:1.35;--leading-normal:1.55;--track-heading:-.03em;--track-ui:-.01em;--space-4:4px;--space-6:6px;--space-8:8px;--space-10:10px;--space-12:12px;--space-14:14px;--space-16:16px;--space-20:20px;--space-24:24px;--space-32:32px;--space-40:40px;--space-48:48px;--space-64:64px;--radius-sm:6px;--radius-md:10px;--radius-lg:14px;--radius-xl:20px;--radius-pill:9999px;--layout-gutter:clamp(16px, 3vw, 64px);--panel-side-max:400px;--panel-side-min:260px;--header-height:56px;--toolbar-height:48px;--transition-fast:.12s ease;--transition-base:.18s ease;--transition-slow:.3s ease;--color-surface:var(--color-bg-muted);--color-surface-active:var(--color-bg-hover);--color-surface-elevated:var(--color-bg-elevated);--color-accent-dim:var(--color-accent-ghost);--color-border-hover:var(--color-border-strong);--color-status-ok:var(--color-success);--color-status-warn:var(--color-warning);--color-status-bad:var(--color-danger);--color-earth-2:var(--color-border-strong)}*{box-sizing:border-box}body{font-family:var(--font-sans);font-size:var(--text-base);line-height:var(--leading-normal);letter-spacing:var(--track-ui);background:var(--color-bg);color:var(--color-text);-webkit-font-smoothing:antialiased;max-width:100vw;margin:0;overflow-x:hidden}.app-shell{width:100%;height:100dvh;padding-top:env(safe-area-inset-top,0px);padding-left:env(safe-area-inset-left,0px);padding-right:env(safe-area-inset-right,0px);padding-bottom:env(safe-area-inset-bottom,0px);flex-direction:column;display:flex;overflow:hidden}.app-main{width:100%;min-height:0;padding:0 var(--layout-gutter) var(--space-24);flex-direction:column;flex:1;margin-inline:auto;display:flex}.app-main--agent-left,.app-main--agent-right,.app-main--terminal-left,.app-main--terminal-right{flex-direction:row;gap:0;padding-bottom:0}.app-main-content{flex-direction:column;flex:1;min-width:0;min-height:0;display:flex}.workspace-tabs{padding:6px var(--layout-gutter) 0;background:var(--color-bg-elevated);border-bottom:1px solid var(--color-border);-webkit-overflow-scrolling:touch;scroll-snap-type:x proximity;scrollbar-width:thin;scrollbar-color:var(--color-border-strong) transparent;flex-shrink:0;align-items:center;gap:2px;display:flex;position:relative;overflow-x:auto}.workspace-tabs::-webkit-scrollbar{height:6px}.workspace-tabs::-webkit-scrollbar-track{background:0 0}.workspace-tabs::-webkit-scrollbar-thumb{background:var(--color-border-strong);border-radius:3px}.workspace-tabs:after{content:"";background:linear-gradient(to right, transparent, var(--color-bg-elevated));pointer-events:none;opacity:1;width:40px;position:absolute;top:0;bottom:0;right:0}.workspace-tab{appearance:none;font-family:inherit;font-size:var(--text-sm);color:var(--color-text-muted);cursor:pointer;white-space:nowrap;scroll-snap-align:start;background:0 0;border:none;border-bottom:2.5px solid #0000;padding:8px 14px;font-weight:600;transition:color .15s,border-color .15s;position:relative}.workspace-tab:hover{color:var(--color-text)}.workspace-tab.is-active{color:var(--color-accent);border-bottom-color:var(--color-accent)}.workspace-tab--agent,.workspace-tab--terminal{letter-spacing:.01em;border-left:1px solid #ffffff0f;font-weight:500}.workspace-tab--agent{color:#c084fc}.workspace-tab--agent:hover{color:#d8b4fe}.workspace-tab--agent.is-active{color:#d8b4fe;background:#c084fc0f;border-bottom-color:#c084fc}.workspace-tab--terminal{color:#38bdf8}.workspace-tab--terminal:hover{color:#7dd3fc}.workspace-tab--terminal.is-active{color:#7dd3fc;background:#38bdf80f;border-bottom-color:#38bdf8}.workspace-panels{will-change:transform;flex-direction:column;flex:1;min-height:0;display:flex;overflow:auto;transform:translateZ(0)}.workspace-panel{flex-direction:column;flex:1;min-height:0;display:flex;overflow:auto}.workspace-panel[hidden]{display:none!important}.site-header{justify-content:space-between;align-items:center;gap:var(--space-16);padding:var(--space-12) var(--layout-gutter);border-bottom:1px solid var(--color-border-subtle);flex-direction:row;flex-shrink:0;width:100%;display:flex}.site-header-brand{flex-direction:column;gap:2px;display:flex}.site-header h1{font-size:var(--text-lg);letter-spacing:var(--track-heading);font-weight:700;line-height:var(--leading-tight);color:var(--color-text);margin:0}.site-header p{font-size:var(--text-xs);line-height:var(--leading-snug);color:var(--color-text-muted);margin:2px 0 0}@media (width<=1023px){.site-header-brand h1{font-size:var(--text-sm)}.site-header-brand p{display:none}}@media (width<=640px){.site-header-brand h1{font-size:var(--text-xs);text-overflow:ellipsis;white-space:nowrap;max-width:140px;overflow:hidden}}.site-nav{flex-shrink:0}.site-nav a{font-size:var(--text-sm);letter-spacing:var(--track-ui);color:var(--color-bg-elevated);background:var(--color-accent);border-radius:var(--radius-pill);border:none;justify-content:center;align-items:center;padding:10px 20px;font-weight:500;text-decoration:none;transition:background .15s,opacity .15s;display:inline-flex}.site-nav a:hover{background:var(--color-accent-hover)}.site-nav a:focus-visible{outline:2px solid var(--color-accent);outline-offset:3px}.site-nav-actions{align-items:center;gap:8px;display:flex}.site-nav-btn{border-radius:var(--radius-md);width:36px;height:36px;color:var(--color-text-muted);cursor:pointer;background:0 0;border:1px solid #ffffff14;justify-content:center;align-items:center;transition:color .15s,background .15s,border-color .15s;display:inline-flex}.site-nav-btn:hover{color:var(--color-text);background:#ffffff0d;border-color:#ffffff24}.site-nav-btn:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}.graph-workspace{flex-direction:column;flex:1;min-height:0;display:flex;overflow:hidden}.graph-toolbar{justify-content:space-between;align-items:center;gap:var(--space-16);padding:var(--space-12) var(--space-16);background:var(--color-bg-elevated);border-bottom:1px solid var(--color-border-subtle);scrollbar-gutter:stable;flex-shrink:0;display:flex;overflow-x:auto}.graph-toolbar__left,.graph-toolbar__right{align-items:center;gap:var(--space-12);display:flex}.graph-toolbar__btn{border-radius:var(--radius-sm);border:1px solid var(--color-border);background:var(--color-bg);color:var(--color-text);font-size:var(--text-xs);cursor:pointer;white-space:nowrap;align-items:center;gap:6px;padding:6px 12px;font-weight:500;transition:background .12s,border-color .12s;display:inline-flex}.graph-toolbar__btn:hover{background:var(--color-bg-muted);border-color:var(--color-accent)}.graph-toolbar__btn--primary{background:var(--color-accent);color:var(--color-bg-elevated);border-color:var(--color-accent)}.graph-toolbar__btn--primary:hover{background:var(--color-accent-hover)}.graph-toolbar__btn:disabled{opacity:.5;cursor:not-allowed}.graph-toolbar__sep{background:var(--color-border-subtle);flex-shrink:0;width:1px;height:20px}.graph-toolbar__badge{font-size:var(--text-xs);color:var(--color-text-muted);white-space:nowrap}.graph-layout{gap:clamp(var(--space-16), 2vw, var(--space-24));min-height:0;padding:var(--space-16);will-change:transform;flex-direction:column;flex:1;display:flex;overflow:hidden;transform:translateZ(0)}.graph-workspace-right{flex-direction:column;flex:1;min-width:0;min-height:0;display:flex;overflow:hidden}.graph-workspace-main{gap:clamp(var(--space-16), 2vw, var(--space-24));flex-direction:row;flex:1;min-height:0;display:flex;overflow:hidden}.graph-workspace-bottom{flex-direction:column;flex-shrink:0;max-height:30vh;display:flex;overflow:hidden}.graph-workspace-right-column{flex-direction:column;gap:10px;height:100%;min-height:0;display:flex;overflow-y:auto}@media (width>=1024px){.graph-workspace-right-column{flex-shrink:0;width:360px;min-width:300px;max-width:460px}}.graph-workspace-right-column>.graph-panel-right{flex:none;overflow:visible}.graph-workspace-right-column>.graph-panel:not(.graph-panel-right){flex:none;max-height:none;overflow:visible}.graph-panel-tree .systems-panel{flex-shrink:0;padding:12px 0}.live-model-footer{padding:var(--space-12) var(--space-16);background:var(--color-bg-elevated);border:1px solid var(--color-border);border-radius:var(--radius-sm);flex-shrink:0}.live-model-bar{justify-content:space-between;align-items:center;gap:var(--space-12);flex-wrap:wrap;width:100%;display:flex}.live-model-bar .model-action-bar__info{font-size:var(--text-xs);color:var(--color-text-muted);align-items:center;gap:8px;display:flex}.live-model-bar .model-action-bar__label{color:var(--color-text);font-weight:600}.live-model-bar .model-action-bar__stats{color:var(--color-text-muted)}.live-model-bar .model-action-bar__actions{align-items:center;gap:8px;display:flex}.live-model-bar .model-action-bar__btn{border-radius:var(--radius-sm);border:1px solid var(--color-border);background:var(--color-bg);color:var(--color-text);font-size:var(--text-xs);cursor:pointer;white-space:nowrap;align-items:center;gap:6px;padding:6px 12px;font-weight:500;transition:background .12s,border-color .12s;display:inline-flex}.live-model-bar .model-action-bar__btn:hover{background:var(--color-bg-muted);border-color:var(--color-accent)}.live-model-bar .model-action-bar__btn--primary{background:var(--color-accent);color:var(--color-bg-elevated);border-color:var(--color-accent)}.live-model-bar .model-action-bar__btn--primary:hover{background:var(--color-accent-hover);border-color:var(--color-accent-hover)}.live-model-bar .model-action-bar__btn:disabled{opacity:.5;cursor:not-allowed}.graph-panel{border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-bg-elevated);padding:var(--space-16);scrollbar-gutter:stable;contain:layout;flex-direction:column;min-height:0;display:flex;overflow:hidden auto}.shape-palette{gap:var(--space-8);flex-direction:column;display:flex}.shape-palette-header{justify-content:space-between;align-items:center;display:flex}.shape-palette-title{font-size:var(--text-xs);letter-spacing:.08em;text-transform:uppercase;color:var(--color-text-faint);font-weight:600}.shape-palette-add-btn{font-size:var(--text-xs);border-radius:var(--radius-sm);border:1px solid var(--color-border-subtle);background:var(--color-surface-active);color:var(--color-text);cursor:pointer;padding:4px 10px}.shape-palette-grid{grid-template-columns:repeat(3,1fr);gap:6px;display:grid}.shape-palette-item{border-radius:var(--radius-sm);border:1px solid var(--color-border-subtle);color:var(--color-text);font-size:var(--text-xs);cursor:pointer;text-align:left;background:0 0;align-items:center;gap:6px;min-height:32px;padding:6px 8px;display:flex}.shape-palette-item:hover{background:var(--color-surface-active)}.shape-palette-item-active{border-color:var(--color-primary);background:color-mix(in srgb, var(--color-primary) 12%, transparent)}.shape-palette-icon{flex-shrink:0;font-size:14px;line-height:1}.shape-palette-label{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}@media (width<=1023px){.graph-panel-tree{order:-3;max-height:35vh}.graph-panel-left{order:-2;max-height:40vh}.graph-canvas{order:-1}.graph-panel-right{max-height:35vh}}@media (width>=1024px){.graph-layout{flex-direction:row;align-items:stretch}.graph-panel-left{flex-shrink:0;gap:10px;width:360px;min-width:300px;max-width:460px;max-height:none}.graph-canvas-wrap{flex:1;min-width:0}.graph-panel-right{flex-shrink:0;gap:10px;width:100%;min-width:340px;max-width:460px;max-height:none}.graph-panel-tree{scrollbar-gutter:stable;contain:layout;flex-direction:column;flex-shrink:0;gap:10px;width:280px;min-width:240px;max-width:360px;max-height:none;display:flex;overflow:hidden auto}.graph-layout>.graph-workspace-right-column{order:1}.graph-layout>.graph-workspace-right{order:2}}@media (width>=1600px){.graph-layout{gap:clamp(var(--space-24), 2vw, 40px)}}.diagrams-panel{min-height:0;padding:var(--space-16);gap:var(--space-16);flex-direction:row;flex:1;display:flex;overflow:hidden}.diagrams-panel-sidebar{gap:var(--space-8);border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-bg-elevated);flex-direction:column;flex-shrink:0;width:260px;min-width:220px;max-width:320px;display:flex;overflow:hidden}.diagrams-panel-sidebar-header{padding:var(--space-12) var(--space-12) 0;flex-shrink:0}.diagrams-panel-sidebar-header h3{font-size:var(--text-xs);letter-spacing:var(--track-heading);color:var(--color-text);margin:0 0 4px;font-weight:700}.diagrams-panel-sidebar-tree{min-height:0;padding:0 var(--space-8) var(--space-8);flex:1;overflow:auto}.diagrams-panel-main{flex-direction:column;flex:1;min-width:0;display:flex;overflow:hidden}.diagrams-panel-header{margin-bottom:var(--space-12);flex-shrink:0}.diagrams-panel-header h2{font-size:var(--text-sm);letter-spacing:var(--track-heading);color:var(--color-text);margin:0 0 4px;font-weight:700}.diagrams-panel-canvas{border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-bg-canvas);flex:1;min-height:0;position:relative;overflow:hidden}.diagrams-panel-empty{justify-content:center;align-items:center;gap:var(--space-16);text-align:center;color:var(--color-text-muted);flex-direction:column;flex:1;display:flex}.diagrams-panel-empty code{font-family:var(--font-mono);font-size:var(--text-xs);background:var(--color-code-bg);border-radius:4px;padding:2px 5px}.diagrams-panel-tabs{gap:4px;margin:8px 0;display:flex}.diagrams-panel-tab{appearance:none;font-family:inherit;font-size:var(--text-xs);color:var(--color-text-muted);cursor:pointer;border:1px solid var(--color-border-subtle);border-radius:var(--radius-sm);background:0 0;padding:4px 10px;font-weight:600;transition:background .12s,color .12s,border-color .12s}.diagrams-panel-tab:hover:not(:disabled){background:var(--color-bg-muted);color:var(--color-text)}.diagrams-panel-tab.is-active{background:var(--color-accent);color:var(--color-bg-elevated);border-color:var(--color-accent)}.diagrams-panel-tab:disabled{opacity:.5;cursor:not-allowed}.topology-diagram{width:100%;height:100%;position:relative}.topology-diagram-controls{gap:4px;display:flex;position:absolute;bottom:12px;right:12px}.diagrams-panel-generated{gap:var(--space-12);flex-direction:column;flex:1;min-height:0;display:flex;overflow:hidden}.diagrams-gen-steps{background:var(--color-bg-elevated);border:1px solid var(--color-border);border-radius:var(--radius-sm);flex-wrap:wrap;flex-shrink:0;align-items:center;gap:6px;padding:8px 12px;display:flex}.diagrams-gen-step{color:var(--color-text-muted);align-items:center;gap:6px;font-size:11px;display:flex}.diagrams-gen-step.is-done{color:var(--color-text)}.diagrams-gen-step.is-optional{opacity:.65}.diagrams-gen-step-num{background:var(--color-border);width:18px;height:18px;color:var(--color-text-muted);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:10px;font-weight:700;display:inline-flex}.diagrams-gen-step.is-done .diagrams-gen-step-num{color:#58a6ff;background:#58a6ff33}.diagrams-gen-step-arrow{color:var(--color-text-faint);flex-shrink:0;font-size:14px}.diagrams-gen-label{color:var(--color-text-muted);white-space:nowrap;letter-spacing:.04em;text-transform:uppercase;font-size:11px;font-weight:700}.diagrams-gen-primary-btn{padding:6px 18px!important;font-size:13px!important;font-weight:600!important}.diagrams-level-section{flex-wrap:wrap;flex-shrink:0;align-items:center;gap:10px;display:flex}.diagrams-level-tabs{flex-shrink:0;gap:2px;display:flex}.diagrams-level-tab{border:1px solid var(--color-border-subtle);color:var(--color-text-muted);cursor:pointer;white-space:nowrap;background:0 0;border-radius:4px;padding:3px 10px;font-family:inherit;font-size:11px;font-weight:500;transition:all .12s}.diagrams-level-tab:hover:not(:disabled){color:var(--color-text);background:#ffffff0d;border-color:#ffffff26}.diagrams-level-tab.is-active{color:#58a6ff;background:#58a6ff1a;border-color:#58a6ff59;font-weight:600}.diagrams-level-tab:disabled{opacity:.4;cursor:not-allowed}.diagrams-panel-generated-controls{align-items:flex-end;gap:var(--space-12);flex-wrap:wrap;flex-shrink:0;display:flex}.diagrams-panel-generated-actions{gap:var(--space-8);margin-left:auto;display:flex}.diagrams-panel-generated-result{gap:var(--space-8);flex-direction:column;flex:1;min-height:0;display:flex;overflow:hidden}.diagrams-panel-generated-meta{justify-content:space-between;align-items:center;gap:var(--space-8);flex-shrink:0;display:flex}.diagrams-panel-generated-render{border:1px solid var(--color-border-subtle);text-align:center;overflow:auto}.diagrams-panel-generated-render svg{vertical-align:middle;max-width:100%;height:auto;display:inline-block}.panel-header{justify-content:space-between;align-items:center;gap:var(--space-8);flex-shrink:0;display:flex}.panel-header h2{margin:0}.panel-collapse-btn{appearance:none;border:1px solid var(--color-border);border-radius:var(--radius-sm);color:var(--color-text-muted);cursor:pointer;background:0 0;flex-shrink:0;justify-content:center;align-items:center;width:28px;height:28px;padding:0;font-size:12px;transition:background .15s,color .15s,border-color .15s;display:flex}.panel-collapse-btn:hover{background:var(--color-bg-muted);color:var(--color-text);border-color:var(--color-accent)}.panel-expand-tab{appearance:none;background:var(--color-bg-elevated);border:1px solid var(--color-border);border-radius:var(--radius-sm);color:var(--color-text-muted);cursor:pointer;font-family:inherit;font-size:var(--text-xs);white-space:nowrap;writing-mode:vertical-rl;text-orientation:mixed;flex-shrink:0;align-self:flex-start;padding:8px 10px;font-weight:600;transition:background .15s,color .15s,border-color .15s}.panel-expand-tab:hover{background:var(--color-bg-muted);color:var(--color-text);border-color:var(--color-accent)}.panel-expand-tab--left,.panel-expand-tab--right,.panel-expand-tab--tree{margin-top:var(--space-16)}@media (width<=1023px){.panel-expand-tab{writing-mode:horizontal-tb;text-align:center;align-self:stretch}.diagrams-panel{flex-direction:column}.diagrams-panel-sidebar{width:100%;max-width:none;max-height:35vh}}.model-action-bar{justify-content:space-between;align-items:center;gap:var(--space-12);width:100%;display:flex}.model-action-bar__info{font-size:var(--text-xs);color:var(--color-text-muted);align-items:center;gap:8px;display:flex}.model-action-bar__icon{color:var(--color-accent)}.model-action-bar__label{color:var(--color-text);font-weight:600}.model-action-bar__stats{color:var(--color-text-muted)}.model-action-bar__actions{align-items:center;gap:8px;display:flex}.model-action-bar__btn{border-radius:var(--radius-sm);border:1px solid var(--color-border);background:var(--color-bg);color:var(--color-text);font-size:var(--text-xs);cursor:pointer;white-space:nowrap;align-items:center;gap:6px;padding:6px 12px;font-weight:500;transition:background .12s,border-color .12s;display:inline-flex}.model-action-bar__btn--primary:hover{background:var(--color-accent-hover)}.graph-panel h2{margin:0 0 var(--space-24);font-size:var(--text-xs);letter-spacing:.12em;text-transform:uppercase;color:var(--color-text-muted);font-weight:600}.graph-panel-left .graph-fieldset:first-of-type,.graph-panel-left .graph-filter-input{margin-top:0}.graph-impacted-filter{align-items:flex-start;gap:var(--space-8);margin:var(--space-12) 0 0;font-size:var(--text-sm);color:var(--color-text);line-height:1.4;display:flex}.graph-impacted-filter input{flex-shrink:0;margin-top:.2em}.graph-impacted-hint{margin:var(--space-8) 0 0;font-size:var(--text-xs)}.graph-app-loading{min-height:0;padding:var(--space-24);font-size:var(--text-sm);color:var(--color-text-muted);flex-direction:column;flex:1;justify-content:center;align-items:center;gap:16px;display:flex}.graph-app-loading:before{content:"";border:2px solid #ffffff14;border-top-color:var(--color-accent);border-radius:50%;width:32px;height:32px;animation:.9s linear infinite graph-app-loading-spin}@keyframes graph-app-loading-spin{to{transform:rotate(360deg)}}.graph-canvas-loading{min-height:clamp(240px,42vh,520px);font-size:var(--text-sm);color:var(--color-text-muted);justify-content:center;align-items:center;display:flex}.graph-canvas-wrap{will-change:transform;position:relative;transform:translateZ(0)}.graph-data-loading-overlay{z-index:2;pointer-events:none;font-size:var(--text-sm);color:var(--color-text-muted);background:color-mix(in srgb, var(--color-bg-canvas) 82%, transparent);justify-content:center;align-items:center;font-weight:600;display:flex;position:absolute;inset:0}.graph-data-loading-overlay--interactive{pointer-events:auto}.graph-bootstrap-error{max-width:min(420px,92%);padding:var(--space-24);border-radius:var(--radius-sm);border:1px solid var(--color-border);background:var(--color-bg-elevated);box-shadow:0 8px 28px color-mix(in srgb, var(--color-text) 8%, transparent)}.graph-bootstrap-error h2{margin:0 0 var(--space-8);font-size:var(--text-lg);color:var(--color-text);letter-spacing:var(--track-ui);font-weight:600}.graph-bootstrap-error p{margin:0 0 var(--space-16);font-size:var(--text-sm);font-weight:400;line-height:var(--leading-snug);color:var(--color-text-muted)}.graph-bootstrap-error code{font-family:var(--font-mono);font-size:var(--text-xs);background:var(--color-code-bg);color:var(--color-text);border-radius:4px;padding:2px 6px}.graph-bootstrap-error-actions{gap:var(--space-8);flex-wrap:wrap;align-items:center;display:flex}.graph-bootstrap-error button{font:inherit;font-size:var(--text-sm);letter-spacing:var(--track-ui);border-radius:var(--radius-sm);border:1px solid var(--color-border);background:var(--color-bg-muted);color:var(--color-text);cursor:pointer;padding:8px 14px;font-weight:600}.graph-bootstrap-error button:hover{border-color:var(--color-accent);color:var(--color-accent-hover)}.graph-loading-hint{margin-top:var(--space-8);font-size:var(--text-xs);color:var(--color-text-faint);font-weight:400}.graph-canvas{border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-bg-canvas);min-height:clamp(240px,42vh,520px);overflow:hidden}@media (width>=1024px){.graph-canvas{min-height:0}}.stacked-label{gap:var(--space-8);margin:var(--space-16) 0;font-size:var(--text-sm);color:var(--color-text-muted);flex-direction:column;font-weight:500;display:flex}.graph-kind-legend{margin:var(--space-16) 0;padding:var(--space-12) var(--space-16);border:1px solid var(--color-border-subtle);border-radius:var(--radius-sm);background:var(--color-bg-elevated)}.graph-kind-legend-title{font-size:var(--text-xs);letter-spacing:.06em;text-transform:uppercase;color:var(--color-text-faint);margin-bottom:var(--space-8);font-weight:600}.graph-kind-legend-list{gap:var(--space-6);flex-direction:column;max-height:200px;margin:0;padding:0;list-style:none;display:flex;overflow:auto}.graph-kind-legend-item{align-items:center;gap:var(--space-8);font-size:var(--text-sm);color:var(--color-text);display:flex}.graph-kind-swatch{border:1px solid #0000001f;border-radius:3px;flex-shrink:0;width:14px;height:14px;box-shadow:inset 0 0 0 1px #ffffff26}.graph-kind-label{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.graph-kind-legend-empty{font-size:var(--text-sm);margin:0}.graph-fieldset{border:1px solid var(--color-border-subtle);border-radius:var(--radius-sm);margin:var(--space-16) 0;padding:var(--space-16);gap:var(--space-8);background:0 0;flex-direction:column;display:flex}.graph-fieldset legend{padding:0 var(--space-8);font-size:var(--text-xs);letter-spacing:.08em;text-transform:uppercase;color:var(--color-text-faint);font-weight:600}.graph-fieldset label{gap:var(--space-8);font-size:var(--text-sm);color:var(--color-text);align-items:center;display:flex}.scrollable{max-height:220px;overflow:auto}.hybrid-query-fieldset{max-height:480px}.hybrid-query-help{font-size:var(--text-xs);margin:0 0 var(--space-8);line-height:1.45}.hybrid-query-help code{font-size:.9em}.hybrid-query-textarea{width:100%;min-height:120px;font-family:var(--font-mono,ui-monospace, monospace);font-size:var(--text-xs);background:var(--color-bg-elevated);border:1px solid var(--color-border);color:var(--color-text);border-radius:var(--radius-sm);resize:vertical;padding:10px 12px;line-height:1.4}.hybrid-query-fieldset select{width:100%;font-family:var(--font-sans);font-size:var(--text-sm);border-radius:var(--radius-sm);border:1px solid var(--color-border);background:var(--color-bg-elevated);color:var(--color-text);padding:8px 10px}.hybrid-query-checks{gap:var(--space-8);font-size:var(--text-sm);flex-direction:column;display:flex}.hybrid-query-meta{font-size:var(--text-xs);margin:var(--space-8) 0 0}.hybrid-query-details{font-size:var(--text-xs)}.hybrid-query-pre{margin:var(--space-8) 0 0;padding:var(--space-8);background:var(--color-bg-elevated);border-radius:var(--radius-sm);border:1px solid var(--color-border-subtle);white-space:pre-wrap;word-break:break-word;max-height:160px;overflow:auto}.hybrid-query-hits{margin-top:var(--space-8)}.hybrid-query-hits-title{font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.06em;color:var(--color-text-faint);margin-bottom:var(--space-8);font-weight:600}.hybrid-query-hit-list{flex-direction:column;gap:4px;max-height:180px;margin:0;padding:0;list-style:none;display:flex;overflow:auto}.hybrid-query-hit-btn{gap:var(--space-8);text-align:left;width:100%;font-size:var(--text-xs);border-radius:var(--radius-sm);border:1px solid var(--color-border-subtle);background:var(--color-bg-elevated);color:var(--color-text);cursor:pointer;grid-template-columns:1fr auto minmax(52px,auto);align-items:center;padding:6px 8px;font-family:inherit;transition:border-color .15s,background .15s;display:grid}.hybrid-query-hit-btn:hover{border-color:var(--color-accent);background:var(--color-bg)}.hybrid-query-hit-id{font-family:var(--font-mono,ui-monospace, monospace);opacity:.85}.hybrid-query-hit-kind{color:var(--color-text-faint)}.hybrid-query-hit-score{font-variant-numeric:tabular-nums;color:var(--color-accent);font-weight:600}input[type=text],input[type=number],input[type=search]{width:100%;font-family:var(--font-sans);font-size:var(--text-sm);background:var(--color-bg-elevated);border:1px solid var(--color-border);color:var(--color-text);border-radius:var(--radius-sm);padding:10px 12px;transition:border-color .15s,background .15s}input[type=text]:hover,input[type=number]:hover,input[type=search]:hover{border-color:var(--color-earth-2)}input[type=text]:focus,input[type=number]:focus,input[type=search]:focus{border-color:var(--color-accent);background:var(--color-bg-elevated);outline:none}input[type=text]::placeholder,input[type=number]::placeholder,input[type=search]::placeholder{color:var(--color-text-faint)}input[type=radio],input[type=checkbox]{width:auto;accent-color:var(--color-accent);cursor:pointer}.graph-kv{justify-content:space-between;align-items:baseline;gap:var(--space-16);margin:var(--space-8) 0;font-size:var(--text-sm);color:var(--color-text-muted);display:flex}.graph-kv strong{color:var(--color-text);text-align:right;word-break:break-all;overflow-wrap:anywhere;font-weight:500}.status-connected{color:var(--color-status-ok)}.status-connecting{color:var(--color-status-warn)}.status-disconnected{color:var(--color-status-bad)}.graph-hydration-loading{color:var(--color-status-warn)}.inspect-block{margin-top:var(--space-24);padding-top:var(--space-24);border-top:1px solid var(--color-border-subtle);overflow-wrap:break-word}.inspect-block:first-of-type{border-top:none;margin-top:0;padding-top:0}.inspect-block h3{margin:0 0 var(--space-16);font-size:var(--text-lg);letter-spacing:var(--track-heading);color:var(--color-text);font-weight:600}.inspect-block details{margin-top:var(--space-16)}.inspect-block summary{font-size:var(--text-sm);color:var(--color-text-muted);cursor:pointer;padding:var(--space-8) 0;font-weight:500;list-style:none}.inspect-block summary::-webkit-details-marker{display:none}.inspect-block pre{max-height:180px;margin:var(--space-8) 0 0;background:var(--color-code-bg);border:1px solid var(--color-border-subtle);padding:var(--space-16);border-radius:var(--radius-sm);font-family:var(--font-mono);font-size:var(--text-xs);line-height:var(--leading-snug);color:var(--color-text);overflow:auto}.inspect-properties{margin:var(--space-8) 0 0;padding:0}.inspect-properties dt{margin:var(--space-8) 0 0;font-size:var(--text-sm);letter-spacing:var(--track-ui);color:var(--color-text-faint);font-weight:500}.inspect-properties dd{font-size:var(--text-sm);font-family:var(--font-mono);line-height:var(--leading-snug);white-space:pre-wrap;word-break:break-word;overflow-wrap:anywhere;color:var(--color-text);margin:4px 0 0}.inspect-properties-empty{margin:var(--space-8) 0 0;font-size:var(--text-sm)}.compact-list{margin:var(--space-8) 0 0;padding-left:0;list-style:none}.compact-list li{margin-bottom:var(--space-8);word-break:break-all;font-size:var(--text-sm);color:var(--color-text-muted)}.compact-list code{font-family:var(--font-mono);font-size:var(--text-xs);color:var(--color-accent);background:var(--color-bg-muted);border-radius:4px;padding:2px 6px}.muted{color:var(--color-text-muted);font-size:var(--text-sm);line-height:var(--leading-snug)}.graph-button{width:100%;font-family:var(--font-sans);font-size:var(--text-sm);letter-spacing:var(--track-ui);background:var(--color-accent);color:var(--color-bg-elevated);border-radius:var(--radius-pill);cursor:pointer;border:none;padding:11px 18px;font-weight:500;transition:background .15s,opacity .15s}.graph-button:hover:not(:disabled){background:var(--color-accent-hover)}.graph-button:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}.graph-button:disabled{opacity:.45;cursor:not-allowed}.graph-button-row{gap:var(--space-8);margin:var(--space-16) 0;flex-wrap:wrap;display:flex}.graph-button-row .graph-button{flex:1;min-width:120px}.graph-hidden-file-input{display:none}.mutation-error{margin-top:var(--space-16);color:var(--color-status-bad);font-size:var(--text-sm);line-height:var(--leading-snug)}.large-example-notice{margin-bottom:var(--space-16);padding:var(--space-12);border:1px solid var(--color-border-subtle,#ffffff1f);border-radius:var(--radius-sm,6px);background:var(--color-surface-elevated,#ffffff0a)}.large-example-notice p{margin:0 0 var(--space-12);font-size:var(--text-sm);line-height:var(--leading-snug)}.large-example-notice .graph-button{width:100%}.ai-chat-toggle{z-index:1000;border-radius:var(--radius-pill);background:var(--color-accent);height:40px;color:var(--color-bg-elevated);cursor:pointer;font-family:inherit;font-size:var(--text-xs);letter-spacing:var(--track-ui);white-space:nowrap;border:none;justify-content:center;align-items:center;gap:6px;padding:0 14px;font-weight:600;transition:background .15s,transform .15s;display:flex;position:fixed;bottom:24px;right:24px;box-shadow:0 4px 16px #0000002e}.ai-chat-toggle:hover{background:var(--color-accent-hover);transform:scale(1.03)}.ai-chat-panel{z-index:1000;background:var(--color-bg-elevated);border:1px solid var(--color-border);border-radius:var(--radius-sm);flex-direction:column;width:min(420px,100vw - 48px);height:min(640px,100vh - 140px);display:flex;position:fixed;bottom:88px;right:24px;overflow:hidden;box-shadow:0 8px 32px #00000024}.ai-chat-panel--inline{width:100%;height:auto;max-height:520px;box-shadow:none;border-radius:var(--radius-sm);margin-top:var(--space-16);flex-direction:column;display:flex;position:static;overflow:hidden}.ai-chat-header{border-bottom:1px solid var(--color-border-subtle);background:var(--color-bg);flex-shrink:0;justify-content:space-between;align-items:center;padding:12px 14px;display:flex}.ai-chat-header-left{font-weight:600;font-size:var(--text-sm);color:var(--color-text);align-items:center;gap:8px;display:flex}.ai-chat-badge{font-size:var(--text-xs);letter-spacing:.04em;text-transform:uppercase;color:var(--color-status-ok);background:#6b75681f;border-radius:4px;padding:2px 7px;font-weight:600}.ai-chat-status-dot{border-radius:50%;flex-shrink:0;width:8px;height:8px}.ai-chat-status-dot--ok{background:var(--color-status-ok);box-shadow:0 0 0 2px #6b756833}.ai-chat-status-dot--bad{background:var(--color-status-bad);box-shadow:0 0 0 2px #8f6f6a33}.ai-chat-header-actions{align-items:center;gap:6px;display:flex}.ai-chat-clear,.ai-chat-close{width:30px;height:30px;color:var(--color-text-muted);cursor:pointer;background:0 0;border:none;border-radius:6px;justify-content:center;align-items:center;transition:background .12s,color .12s;display:flex}.ai-chat-clear:hover,.ai-chat-close:hover{background:var(--color-bg-muted);color:var(--color-text)}.ai-export-menu{background:var(--color-bg-elevated,#1e1e2e);border:1px solid var(--color-border,#313244);z-index:100;border-radius:6px;min-width:120px;position:absolute;top:calc(100% + 4px);right:0;box-shadow:0 4px 12px #0006}.ai-export-item{width:100%;color:var(--color-text-muted);text-align:left;cursor:pointer;white-space:nowrap;background:0 0;border:none;padding:8px 12px;font-size:12px;display:block}.ai-export-item:hover{background:var(--color-bg-muted);color:var(--color-text)}.ai-export-item:first-child{border-radius:6px 6px 0 0}.ai-export-item:last-child{border-radius:0 0 6px 6px}.ai-settings-dropdown{min-width:240px;padding:12px}.ai-settings-menu{flex-direction:column;gap:12px;display:flex}.ai-settings-section{flex-direction:column;gap:6px;display:flex}.ai-settings-label{text-transform:uppercase;letter-spacing:.04em;color:var(--color-text-muted);font-size:11px;font-weight:600}.ai-settings-select{appearance:none;background:var(--color-bg-muted);color:var(--color-text);border:1px solid var(--color-border-subtle);cursor:pointer;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%23999' stroke-width='2'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-position:right 8px center;background-repeat:no-repeat;border-radius:6px;padding:6px 28px 6px 10px;font-size:12px}.ai-settings-select:focus{border-color:var(--color-border);outline:none}.ai-settings-select:disabled{opacity:.5;cursor:not-allowed}.ai-settings-key-row{align-items:center;gap:6px;display:flex}.ai-settings-input{background:var(--color-bg-muted);color:var(--color-text);border:1px solid var(--color-border-subtle);font-size:12px;font-family:var(--font-mono,ui-monospace, monospace);border-radius:6px;flex:1;padding:6px 10px}.ai-settings-input:focus{border-color:var(--color-border);outline:none}.ai-settings-key-toggle{width:28px;height:28px;color:var(--color-text-muted);cursor:pointer;background:0 0;border:none;border-radius:6px;flex-shrink:0;justify-content:center;align-items:center;display:flex}.ai-settings-key-toggle:hover{background:var(--color-bg-muted);color:var(--color-text)}.ai-settings-apply{background:var(--color-bg-muted);color:var(--color-text-muted);cursor:pointer;border:none;border-radius:6px;align-self:flex-start;align-items:center;gap:6px;padding:5px 10px;font-size:11px;font-weight:500;transition:background .12s,color .12s;display:inline-flex}.ai-settings-apply:hover:not(:disabled){background:var(--color-border-subtle);color:var(--color-text)}.ai-settings-apply:disabled{opacity:.5;cursor:not-allowed}.ai-settings-status{color:var(--color-text-muted);border-top:1px solid var(--color-border-subtle);align-items:center;gap:6px;padding-top:4px;font-size:11px;display:flex}.ai-settings-badge{text-transform:uppercase;letter-spacing:.04em;color:var(--color-status-ok);background:#6b75681f;border-radius:3px;margin-left:auto;padding:1px 5px;font-size:9px;font-weight:600}.ai-chat-messages{flex-direction:column;flex:1;gap:14px;padding:14px;display:flex;overflow-y:auto}.ai-chat-message{align-items:flex-start;gap:10px;display:flex}.ai-chat-message-icon{border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:26px;height:26px;margin-top:2px;display:flex}.ai-chat-message-user .ai-chat-message-icon{background:var(--color-accent);color:var(--color-bg-elevated)}.ai-chat-message-assistant .ai-chat-message-icon{background:var(--color-bg-muted);color:var(--color-text-muted)}.ai-chat-message-body{flex:1;min-width:0}.ai-chat-message-text{font-size:var(--text-sm);line-height:var(--leading-snug);color:var(--color-text);white-space:pre-wrap;word-break:break-word}.ai-chat-message-user .ai-chat-message-text{color:var(--color-text)}.ai-chat-hits{flex-direction:column;gap:8px;margin-top:10px;display:flex}.ai-chat-hit-card{text-align:left;background:var(--color-bg);border:1px solid var(--color-border-subtle);border-radius:var(--radius-sm);flex-wrap:wrap;align-items:flex-start;gap:0;transition:border-color .12s,background .12s;display:flex;overflow:hidden}.ai-chat-hit-card:hover{border-color:var(--color-accent);background:#5c534a0a}.ai-chat-hit-card-main{text-align:left;cursor:pointer;min-width:0;color:inherit;background:0 0;border:none;flex:1;padding:10px 12px;font-family:inherit}.ai-chat-hit-row{justify-content:space-between;align-items:center;gap:8px;display:flex}.ai-chat-hit-kind{font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.04em;color:var(--color-accent);font-weight:600}.ai-chat-hit-score{font-size:var(--text-xs);color:var(--color-status-ok);font-weight:600}.ai-chat-hit-name{font-size:var(--text-sm);color:var(--color-text);font-weight:500;line-height:var(--leading-snug);word-break:break-word;margin-top:4px}.ai-chat-hit-meta{font-size:var(--text-xs);color:var(--color-text-faint);margin-top:4px}.ai-chat-hit-meta code{font-family:var(--font-mono);font-size:var(--text-xs);color:var(--color-text-faint);background:#5c534a0f;border-radius:3px;padding:1px 4px}.ai-chat-hit-expand{width:36px;height:36px;color:var(--color-text-muted);cursor:pointer;background:0 0;border:none;border-radius:6px;flex-shrink:0;justify-content:center;align-items:center;margin:6px 6px 0 0;transition:background .12s,color .12s;display:flex}.ai-chat-hit-expand:hover{background:var(--color-bg-muted);color:var(--color-text)}.ai-chat-hit-detail{border-top:1px solid var(--color-border-subtle);background:#5c534a05;flex-direction:column;gap:4px;width:100%;padding:8px 12px 10px;display:flex}.ai-chat-hit-detail-row{font-size:var(--text-xs);line-height:var(--leading-snug);gap:8px;display:flex}.ai-chat-hit-detail-key{color:var(--color-text-faint);text-transform:capitalize;flex-shrink:0;min-width:100px;font-weight:500}.ai-chat-hit-detail-val{color:var(--color-text);word-break:break-word;flex:1}.ai-chat-hit-more{font-size:var(--text-xs);color:var(--color-text-muted);border:1px dashed var(--color-border-subtle);border-radius:var(--radius-sm);cursor:pointer;background:0 0;justify-content:center;align-items:center;gap:4px;padding:6px 10px;transition:border-color .12s,background .12s;display:flex}.ai-chat-hit-more:hover{border-color:var(--color-accent);background:#5c534a0a}.ai-chat-error{border-radius:var(--radius-sm);font-size:var(--text-xs);color:var(--color-status-bad);background:#8f6f6a14;border:1px solid #8f6f6a33;margin-top:8px;padding:8px 10px}.ai-chat-meta{font-size:var(--text-xs);color:var(--color-text-faint);margin-top:6px}.ai-chat-debug{border:1px solid var(--color-border-subtle);border-radius:var(--radius-sm);background:var(--color-bg);margin-top:8px;overflow:hidden}.ai-chat-debug-summary{font-size:var(--text-xs);color:var(--color-text-muted);cursor:pointer;-webkit-user-select:none;user-select:none;align-items:center;gap:6px;padding:6px 10px;font-weight:500;display:flex}.ai-chat-debug-body{border-top:1px solid var(--color-border-subtle);flex-direction:column;gap:4px;padding:8px 10px;display:flex}.ai-chat-debug-row{font-size:var(--text-xs);gap:8px;display:flex}.ai-chat-debug-label{color:var(--color-text-faint);flex-shrink:0;min-width:90px}.ai-chat-debug-value{color:var(--color-text);word-break:break-all}.ai-chat-tool-cards{flex-wrap:wrap;gap:8px;margin-top:10px;display:flex}.ai-chat-tool-card{background:var(--color-bg);border:1px solid var(--color-border-subtle);border-radius:var(--radius-sm);min-width:120px;padding:10px 12px}.ai-chat-tool-card-title{font-size:var(--text-xs);color:var(--color-text-muted);margin-bottom:4px;font-weight:600}.ai-chat-tool-card-body{font-size:var(--text-xs);color:var(--color-text);line-height:var(--leading-snug)}.ai-chat-stat-row{justify-content:space-between;align-items:center;gap:12px;padding:2px 0;display:flex}.ai-chat-stat-label{color:var(--color-text-muted)}.ai-chat-stat-val{color:var(--color-text);font-weight:600}.ai-chat-progress-row{flex-direction:column;gap:2px;margin:4px 0;display:flex}.ai-chat-progress-label{color:var(--color-text-muted);justify-content:space-between;font-size:11px;display:flex}.ai-chat-progress-val{color:var(--color-text);font-size:11px;font-weight:600}.ai-chat-progress-track{background:var(--color-border-subtle);border-radius:2px;height:4px;overflow:hidden}.ai-chat-progress-fill{border-radius:2px;height:100%;transition:width .4s}.ai-chat-loading{font-size:var(--text-sm);color:var(--color-text-muted);align-items:center;gap:8px;display:flex}.ai-chat-spinner{animation:1s linear infinite spin}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.ai-chat-suggestions{flex-wrap:wrap;gap:4px;margin-top:6px;display:flex}.ai-chat-suggestion{background:var(--color-bg);border:1px solid var(--color-border-subtle);border-radius:var(--radius-sm);color:var(--color-text-secondary);cursor:pointer;text-align:left;white-space:nowrap;align-items:center;gap:4px;padding:4px 8px;font-size:11px;line-height:1.3;transition:border-color .12s,background .12s,color .12s;display:inline-flex}.ai-chat-suggestion:hover{border-color:var(--color-accent);color:var(--color-text);background:#5c534a0f}.ai-chat-input-bar{border-top:1px solid var(--color-border-subtle);background:var(--color-bg);flex-shrink:0;gap:8px;padding:10px 14px;display:flex}.ai-chat-textarea{resize:none;border:1px solid var(--color-border);border-radius:var(--radius-sm);font-family:var(--font-sans);font-size:var(--text-sm);line-height:var(--leading-snug);color:var(--color-text);background:var(--color-bg-elevated);outline:none;flex:1;padding:9px 12px;transition:border-color .12s}.ai-chat-textarea:focus{border-color:var(--color-accent)}.ai-chat-textarea:disabled{opacity:.5}.ai-chat-send{border-radius:var(--radius-sm);background:var(--color-accent);width:38px;height:38px;color:var(--color-bg-elevated);cursor:pointer;border:none;flex-shrink:0;justify-content:center;align-items:center;transition:background .12s;display:flex}.ai-chat-send:hover:not(:disabled){background:var(--color-accent-hover)}.ai-chat-send:disabled{opacity:.4;cursor:not-allowed}@media (width<=480px){.ai-chat-panel{width:auto;height:min(520px,100vh - 100px);bottom:76px;left:12px;right:12px}.ai-chat-toggle{bottom:12px;right:12px}}.mcp-chat-bubble-row{align-items:flex-start;gap:10px;display:flex}.mcp-chat-bubble-row--user{flex-direction:row-reverse}.mcp-chat-bubble-avatar{background:var(--color-bg-muted);width:28px;height:28px;color:var(--color-text-muted);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;margin-top:4px;display:flex}.mcp-chat-bubble-row--user .mcp-chat-bubble-avatar{background:var(--color-accent);color:var(--color-bg-elevated)}.mcp-chat-bubble-wrap{flex-direction:column;flex:1;min-width:0;display:flex}.mcp-chat-bubble-row--user .mcp-chat-bubble-wrap{align-items:flex-end}.mcp-chat-bubble-row--assistant .mcp-chat-bubble-wrap{align-items:flex-start}.mcp-chat-bubble{max-width:88%;font-size:var(--text-sm);word-break:break-word;border-radius:14px;padding:10px 14px;line-height:1.6}.mcp-chat-bubble--user{background:var(--color-accent);color:var(--color-bg-elevated);border-bottom-right-radius:4px}.mcp-chat-bubble--assistant{background:var(--color-bg-elevated);color:var(--color-text);border:1px solid var(--color-border-subtle);border-bottom-left-radius:4px}.mcp-chat-bubble--assistant .mcp-chat-hits{margin-top:10px}.mcp-chat-typing{align-items:center;gap:4px;padding:4px 0;display:flex}.mcp-chat-typing-dot{background:var(--color-text-muted);border-radius:50%;width:7px;height:7px;animation:1.4s ease-in-out infinite both typingBounce}.mcp-chat-typing-dot:first-child{animation-delay:-.32s}.mcp-chat-typing-dot:nth-child(2){animation-delay:-.16s}@keyframes typingBounce{0%,80%,to{opacity:.4;transform:scale(.6)}40%{opacity:1;transform:scale(1)}}.mcp-chat-textarea{field-sizing:content;min-height:38px;max-height:200px}.gvc-zoom-row,.gvc-toggle-row,.gvc-action-row{gap:var(--space-6);flex-wrap:wrap;display:flex}.gvc-icon-btn{border-radius:var(--radius-sm);border:1px solid var(--color-border-subtle);background:var(--color-bg-elevated);width:32px;height:32px;color:var(--color-text-muted);cursor:pointer;justify-content:center;align-items:center;transition:background .12s,color .12s,border-color .12s;display:flex}.gvc-icon-btn:hover{background:var(--color-surface);color:var(--color-text);border-color:var(--color-border)}.gvc-icon-btn:active{background:var(--color-surface-active)}.gvc-zoom-level{min-width:42px;height:32px;font-size:var(--text-xs);color:var(--color-text-muted);background:var(--color-bg-elevated);border:1px solid var(--color-border-subtle);border-radius:var(--radius-sm);font-variant-numeric:tabular-nums;justify-content:center;align-items:center;font-weight:600;display:flex}.gvc-toggle-btn{align-items:center;gap:var(--space-4);border-radius:var(--radius-pill);border:1px solid var(--color-border-subtle);background:var(--color-bg-elevated);height:28px;color:var(--color-text-muted);font-size:var(--text-xs);cursor:pointer;padding:0 10px;font-weight:500;transition:background .12s,color .12s,border-color .12s;display:inline-flex}.gvc-toggle-btn:hover{background:var(--color-surface);color:var(--color-text);border-color:var(--color-border)}.gvc-toggle-btn.active{background:var(--color-accent);color:var(--color-bg-elevated);border-color:var(--color-accent)}.gvc-toggle-btn.active:hover{background:var(--color-accent-hover);border-color:var(--color-accent-hover)}.gvc-toggle-btn:disabled{opacity:.4;cursor:not-allowed}.gvc-action-btn{align-items:center;gap:var(--space-4);border-radius:var(--radius-pill);border:1px solid var(--color-border-subtle);background:var(--color-bg-elevated);height:28px;color:var(--color-text-muted);font-size:var(--text-xs);cursor:pointer;padding:0 10px;font-weight:500;transition:background .12s,color .12s,border-color .12s;display:inline-flex}.gvc-action-btn:hover{background:var(--color-surface);color:var(--color-text);border-color:var(--color-border)}.gvc-action-btn:disabled{opacity:.4;cursor:not-allowed}.model-action-bar{justify-content:space-between;align-items:center;gap:var(--space-12);padding:var(--space-12) var(--space-16);margin:calc(var(--space-24) * -1) calc(var(--space-24) * -1) var(--space-16);background:var(--color-surface);border-bottom:1px solid var(--color-border);border-radius:var(--radius-sm) var(--radius-sm) 0 0;flex-wrap:wrap;display:flex}.model-action-bar__info{align-items:center;gap:var(--space-8);font-size:var(--text-sm);color:var(--color-text);min-width:0;display:flex}.model-action-bar__icon{color:var(--color-accent);flex-shrink:0}.model-action-bar__label{white-space:nowrap;font-weight:600}.model-action-bar__stats{color:var(--color-text-muted);font-size:var(--text-xs);white-space:nowrap}.model-action-bar__actions{gap:var(--space-8);flex-shrink:0;display:flex}.model-action-bar__btn{align-items:center;gap:var(--space-6);padding:var(--space-8) var(--space-12);border-radius:var(--radius-sm);border:1px solid var(--color-border);background:var(--color-bg-elevated);color:var(--color-text);font-size:var(--text-sm);cursor:pointer;font-weight:500;transition:background .12s,border-color .12s;display:inline-flex}.model-action-bar__btn:hover{background:var(--color-surface);border-color:var(--color-border-hover)}.model-action-bar__btn:disabled{opacity:.4;cursor:not-allowed}.model-action-bar__btn--primary{background:var(--color-accent);color:var(--color-bg);border-color:var(--color-accent)}.model-action-bar__btn--primary:hover{background:var(--color-accent-hover);border-color:var(--color-accent-hover)}.import-modal-backdrop{z-index:200;padding:var(--space-24);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#000000a6;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.import-modal{background:var(--color-bg-elevated);border:1px solid var(--color-border);border-radius:var(--radius-md);flex-direction:column;width:100%;max-width:520px;max-height:90vh;display:flex;overflow:hidden;box-shadow:0 24px 64px #00000073}.import-modal__header{justify-content:space-between;align-items:center;gap:var(--space-12);padding:var(--space-16) var(--space-20);border-bottom:1px solid var(--color-border);flex-shrink:0;display:flex}.import-modal__title{align-items:center;gap:var(--space-10);font-size:var(--text-lg);color:var(--color-text);margin:0;font-weight:600;display:flex}.import-modal__close{border-radius:var(--radius-sm);border:1px solid var(--color-border);background:var(--color-bg-elevated);width:32px;height:32px;color:var(--color-text-muted);cursor:pointer;justify-content:center;align-items:center;transition:background .12s,color .12s;display:flex}.import-modal__close:hover{background:var(--color-surface);color:var(--color-text)}.import-modal__close:disabled{opacity:.4;cursor:not-allowed}.import-modal__body{padding:var(--space-20);gap:var(--space-20);flex-direction:column;display:flex;overflow-y:auto}.import-modal__footer{justify-content:flex-end;gap:var(--space-10);padding:var(--space-14) var(--space-20);border-top:1px solid var(--color-border);flex-shrink:0;display:flex}.import-dropzone{justify-content:center;align-items:center;gap:var(--space-10);padding:var(--space-32) var(--space-24);border:2px dashed var(--color-border);border-radius:var(--radius-md);background:var(--color-bg);color:var(--color-text-muted);cursor:pointer;text-align:center;flex-direction:column;transition:border-color .15s,background .15s;display:flex}.import-dropzone:hover{border-color:var(--color-accent);background:var(--color-surface)}.import-dropzone.is-dragging{border-color:var(--color-accent);background:#c7a57514}.import-dropzone.has-file{border-style:solid;border-color:var(--color-border-hover)}.import-dropzone__title{font-size:var(--text-base);color:var(--color-text);margin:0;font-weight:600}.import-dropzone__hint{font-size:var(--text-sm);color:var(--color-text-muted);margin:0}.import-dropzone__file{align-items:center;gap:var(--space-6);flex-direction:column;display:flex}.import-dropzone__filename{font-size:var(--text-sm);color:var(--color-text);word-break:break-all;font-weight:600}.import-dropzone__filesize{font-size:var(--text-xs);color:var(--color-text-muted)}.import-dropzone__change{margin-top:var(--space-4);padding:var(--space-4) var(--space-10);border-radius:var(--radius-sm);border:1px solid var(--color-border);background:var(--color-bg-elevated);color:var(--color-accent);font-size:var(--text-xs);cursor:pointer;font-weight:500}.import-dropzone__change:hover{background:var(--color-surface)}.import-formats__label{margin:0 0 var(--space-8);font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.08em;color:var(--color-text-muted);font-weight:600}.import-formats__list{gap:var(--space-6);flex-wrap:wrap;display:flex}.import-format-badge{align-items:center;gap:var(--space-4);padding:var(--space-3) var(--space-8);border-radius:var(--radius-sm);background:var(--color-bg);border:1px solid var(--color-border-subtle);font-size:var(--text-xs);color:var(--color-text-muted);display:inline-flex}.import-format-badge__ext{color:var(--color-accent);font-weight:600}.import-format-badge__desc{opacity:.8}.import-samples{margin-top:var(--space-14)}.import-samples__group{margin-top:8px}.import-samples__category{letter-spacing:.08em;text-transform:uppercase;color:var(--color-text-muted);margin-bottom:5px;font-size:10px;font-weight:700;display:block}.import-samples__chips{flex-wrap:wrap;gap:5px;display:flex}.import-sample-chip{border:1px solid var(--color-border);background:var(--color-bg-elevated);color:var(--color-text);cursor:pointer;white-space:nowrap;border-radius:4px;align-items:center;gap:5px;padding:3px 9px 3px 6px;font-size:11px;transition:border-color .12s,background .12s;display:inline-flex}.import-sample-chip:hover:not(:disabled){border-color:var(--color-accent);background:#45a29e14}.import-sample-chip.is-selected{border-color:var(--color-accent);color:var(--color-accent);background:#45a29e26}.import-sample-chip:disabled{opacity:.5;cursor:not-allowed}.import-sample-chip__fmt{letter-spacing:.04em;text-transform:uppercase;color:var(--color-accent);background:#45a29e1f;border-radius:3px;padding:1px 4px;font-size:9px;font-weight:700}.import-options{gap:var(--space-14);flex-direction:column;display:flex}.import-option-row{align-items:flex-start;gap:var(--space-10);font-size:var(--text-sm);color:var(--color-text);cursor:pointer;display:flex}.import-option-row input{flex-shrink:0;margin-top:2px}.import-option-row__hint{margin-top:var(--space-4);font-size:var(--text-xs);color:var(--color-text-muted);line-height:1.4;display:block}.import-progress{align-items:flex-start;gap:var(--space-12);padding:var(--space-12) var(--space-14);border-radius:var(--radius-sm);background:var(--color-bg);border:1px solid var(--color-border);display:flex}.import-progress--active{border-color:var(--color-accent)}.import-progress--success{border-color:#4a8a5c}.import-progress--error{border-color:#c45a5a}.import-progress__icon{color:var(--color-accent);flex-shrink:0;margin-top:1px}.import-progress--success .import-progress__icon{color:#4a8a5c}.import-progress--error .import-progress__icon{color:#c45a5a}.import-progress__body{flex:1;min-width:0}.import-progress__message{font-size:var(--text-sm);color:var(--color-text);margin-bottom:var(--space-8)}.import-progress__bar{background:var(--color-border);border-radius:2px;height:4px;overflow:hidden}.import-progress__fill{background:var(--color-accent);border-radius:2px;height:100%;transition:width .3s}.import-progress--success .import-progress__fill{background:#4a8a5c}.import-progress--error .import-progress__fill{background:#c45a5a}.project-tree-scroll{max-height:380px;padding-right:var(--space-4);overflow:auto}.project-tree-scroll::-webkit-scrollbar{width:5px}.project-tree-scroll::-webkit-scrollbar-track{background:0 0}.project-tree-scroll::-webkit-scrollbar-thumb{background:var(--color-border);border-radius:3px}.graph-panel-left,.graph-panel-right{scrollbar-gutter:stable;contain:layout;flex-direction:column;min-height:0;display:flex}.graph-panel-left>*,.graph-panel-right>*{flex-shrink:0}.graph-panel-left>.project-tree-fieldset,.graph-panel-tree>.project-tree-fieldset,.dia-tree-body>.project-tree-fieldset{flex-direction:column;flex:auto;min-height:180px;display:flex;overflow:hidden}.graph-panel-left .project-tree-scroll,.graph-panel-tree .project-tree-scroll,.dia-tree-body .project-tree-scroll{scrollbar-gutter:stable;flex:auto;min-height:0;max-height:none;overflow:hidden auto}.app-global-tree .project-tree-fieldset--panel{flex-direction:column;flex:auto;min-height:0;display:flex;overflow:hidden}.app-global-tree .project-tree-scroll{flex:auto;min-height:0;max-height:none;overflow:hidden auto}.graph-panel-right .inspect-block{flex:0 auto;min-height:0}details.graph-fieldset>summary{cursor:pointer;align-items:center;gap:var(--space-8);-webkit-user-select:none;user-select:none;list-style:none;display:flex}details.graph-fieldset>summary::-webkit-details-marker{display:none}details.graph-fieldset>summary:after{content:"▾";color:var(--color-text-faint);transition:transform var(--transition-fast);text-align:center;width:12px;margin-left:auto;font-size:10px;display:inline-block}details.graph-fieldset[open]>summary:after{transform:rotate(180deg)}details.graph-fieldset>summary:hover{color:var(--color-text)}.tabular-viewer{gap:var(--space-16);padding:var(--space-20);flex-direction:column;flex:1;min-height:0;display:flex;overflow:hidden}.tabular-viewer-header{gap:var(--space-12);flex-direction:column;display:flex}.tabular-viewer-header h2{font-size:var(--text-base);color:var(--color-text);margin:0;font-weight:600}.tabular-viewer-controls{gap:var(--space-12);flex-wrap:wrap;align-items:flex-end;display:flex}.tabular-viewer-controls .stacked-label{flex:180px;min-width:140px;margin:0}.tabular-viewer-actions{gap:var(--space-10);flex-wrap:wrap;align-items:center;display:flex}.tabular-viewer-actions .graph-button{flex:none;width:auto}.tabular-viewer-import-hint{margin:0}.tabular-viewer-meta{font-size:var(--text-xs);margin:0}.tabular-viewer-table-wrap{border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-bg);flex:auto;height:0;min-height:0;overflow:auto}.tabular-viewer-table-wrap::-webkit-scrollbar{width:6px;height:6px}.tabular-viewer-table-wrap::-webkit-scrollbar-track{background:0 0}.tabular-viewer-table-wrap::-webkit-scrollbar-thumb{background:var(--color-border);border-radius:3px}.tabular-viewer-table{border-collapse:collapse;width:100%;font-size:var(--text-sm);color:var(--color-text)}.tabular-viewer-table thead{z-index:1;background:var(--color-bg-elevated);position:sticky;top:0}.tabular-viewer-table th{padding:var(--space-10) var(--space-12);text-align:left;font-weight:600;font-size:var(--text-xs);letter-spacing:.06em;text-transform:uppercase;color:var(--color-text-muted);border-bottom:1px solid var(--color-border);white-space:nowrap}.tabular-viewer-table td{padding:var(--space-8) var(--space-12);border-bottom:1px solid var(--color-border-subtle);vertical-align:middle}.tabular-viewer-table tbody tr:hover{background:var(--color-bg-muted)}.tabular-viewer-table tbody tr:last-child td{border-bottom:none}.tabular-sort-btn{align-items:center;gap:var(--space-4);color:inherit;font:inherit;font-weight:inherit;letter-spacing:inherit;text-transform:inherit;cursor:pointer;background:0 0;border:none;padding:0;transition:color .12s;display:inline-flex}.tabular-sort-btn:hover{color:var(--color-text)}.tabular-viewer-row-actions{gap:var(--space-6);white-space:nowrap;align-items:center;display:flex}.tabular-row-btn{padding:var(--space-4) var(--space-10);font-size:var(--text-xs);min-height:28px}.tabular-row-btn-secondary{color:var(--color-text-muted)!important;border:1px solid var(--color-border)!important;background:0 0!important}.tabular-row-btn-secondary:hover{background:var(--color-bg-muted)!important;color:var(--color-text)!important;border-color:var(--color-border)!important}.scenarios-viewer{flex-direction:column;flex:1;max-width:1200px;min-height:0;margin:0 auto;padding:20px;display:flex;overflow:hidden}.scenarios-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-bottom:16px;display:flex}.scenarios-header h2{color:#e2e8f0;margin:0;font-size:16px;font-weight:600}.scenarios-controls{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.scenarios-controls input{color:#e2e8f0;background:#1e1e2e;border:1px solid #313244;border-radius:6px;min-width:180px;padding:6px 10px;font-size:12px}.scenarios-list-wrap{flex:1;min-height:0;margin-top:16px;overflow-y:auto}.scenarios-list{flex-direction:column;gap:10px;display:flex}.scenarios-empty{text-align:center;color:#89a;padding:48px 20px}.scenarios-empty-hint{color:#64748b;margin-top:4px;font-size:12px}.scenario-usecase-card{background:#0b0c10;border:1px solid #313244;border-radius:8px;overflow:hidden}.scenario-usecase-header{text-align:left;color:#e2e8f0;cursor:pointer;background:#1e1e2e;border:none;align-items:center;gap:8px;width:100%;padding:10px 14px;font-family:inherit;font-size:13px;font-weight:600;transition:background .12s;display:flex}.scenario-usecase-header:hover{background:#252538}.scenario-usecase-name{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.scenario-usecase-meta{color:#89a;font-size:11px;font-weight:400}.scenario-delete-btn{appearance:none;color:#7d8590;cursor:pointer;opacity:0;background:0 0;border:none;border-radius:4px;justify-content:center;align-items:center;padding:2px;transition:opacity .12s,background .12s,color .12s;display:flex}.scenario-usecase-header:hover .scenario-delete-btn,.scenario-item:hover .scenario-delete-btn{opacity:1}.scenario-delete-btn:hover{color:#f87171;background:#f871711f}.scenario-usecase-body{border-top:1px solid #1e1e2e;padding:12px 14px}.scenario-desc{color:#cbd5e1;margin:0 0 12px;font-size:12px;line-height:1.5}.scenario-empty{color:#64748b;margin:0;font-size:12px;font-style:italic}.scenario-children{flex-direction:column;gap:8px;display:flex}.scenario-item{background:#15161e;border:1px solid #252538;border-radius:6px;padding:10px 12px}.scenario-item-header{color:#e2e8f0;align-items:center;gap:8px;font-size:12px;font-weight:600;display:flex}.scenario-item-name{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.scenario-item-desc{color:#89a;margin:6px 0 0;font-size:11px;line-height:1.4}.scenario-item-links{flex-wrap:wrap;gap:8px;margin-top:8px;display:flex}.scenario-link-group{color:#45a29e;background:#45a29e14;border-radius:4px;align-items:center;gap:4px;padding:2px 8px;font-size:10px;display:inline-flex}.scenario-link-none{color:#64748b;font-size:11px;font-style:italic}.scenario-create-form{background:#1e1e2e;border:1px solid #313244;border-radius:8px;margin-bottom:16px;padding:14px}.scenario-create-form h3{color:#e2e8f0;align-items:center;gap:6px;margin:0 0 12px;font-size:13px;font-weight:600;display:flex}.scenario-create-fields{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px;display:grid}.scenario-create-fields .stacked-label{color:#89a;flex-direction:column;gap:4px;margin:0;font-size:11px;display:flex}.scenario-create-fields input,.scenario-create-fields select{color:#e2e8f0;background:#0b0c10;border:1px solid #313244;border-radius:6px;padding:6px 10px;font-family:inherit;font-size:12px}.scenario-create-fields input:focus,.scenario-create-fields select:focus{border-color:var(--color-accent);outline:none}.scenario-create-actions{gap:8px;margin-top:12px;display:flex}.tabular-viewer-empty{padding:var(--space-32) var(--space-16);text-align:center;color:var(--color-text-muted)}.tabular-viewer-empty-actions{margin-top:var(--space-16);display:block}.tabular-viewer-table td input[type=text],.tabular-viewer-table td input[type=number],.tabular-viewer-table td select{width:100%;min-width:80px;padding:var(--space-4) var(--space-6);font-size:var(--text-sm);background:var(--color-bg-elevated);border:1px solid var(--color-border);border-radius:var(--radius-sm);color:var(--color-text)}.tabular-viewer-table td input:focus,.tabular-viewer-table td select:focus{border-color:var(--color-accent);outline:none}.tabular-viewer-table td:first-child,.tabular-viewer-table th:first-child{text-align:center;width:40px}.graph-button--primary{background:var(--color-accent)!important;color:var(--color-bg)!important;border-color:var(--color-accent)!important}.graph-button--primary:hover{background:var(--color-accent-hover)!important;border-color:var(--color-accent-hover)!important}.graph-button--danger{color:#f87171!important;border-color:#f8717144!important}.graph-button--danger:hover:not(:disabled){background:#f8717122!important;border-color:#f87171!important}.mutation-error{padding:var(--space-10) var(--space-12);border-radius:var(--radius-sm);color:#e08e8e;font-size:var(--text-sm);background:#e08e8e1a;border:1px solid #e08e8e40;margin:0}.project-tree-header{gap:var(--space-8);padding-bottom:var(--space-8);flex-direction:column;display:flex}.project-tree-search{align-items:center;display:flex;position:relative}.project-tree-search-icon{left:var(--space-10);color:var(--color-text-muted);pointer-events:none;position:absolute}.project-tree-search-input{width:100%;padding:var(--space-8) var(--space-10) var(--space-8) 28px;border-radius:var(--radius-sm);border:1px solid var(--color-border);background:var(--color-bg-elevated);color:var(--color-text);font-size:var(--text-sm)}.project-tree-search-input::placeholder{color:var(--color-text-faint)}.project-tree-search-clear{right:var(--space-8);color:var(--color-text-muted);cursor:pointer;font-size:var(--text-base);background:0 0;border:none;line-height:1;position:absolute}.project-tree-meta{align-items:center;gap:var(--space-8);display:flex}.project-tree-count{font-size:var(--text-xs);color:var(--color-text-muted);margin-right:auto;font-weight:500}.project-tree-expand-btn{border-radius:var(--radius-sm);border:1px solid var(--color-border);background:var(--color-bg-elevated);width:22px;height:22px;color:var(--color-text-muted);cursor:pointer;justify-content:center;align-items:center;transition:background .12s,color .12s;display:flex}.project-tree-expand-btn:hover{background:var(--color-surface-active);color:var(--color-text)}.project-tree-branch{flex-direction:column;display:flex}.project-tree-node{align-items:center;gap:var(--space-6);width:100%;padding:var(--space-5) var(--space-6);border-radius:var(--radius-sm);color:var(--color-text);font-size:var(--text-sm);text-align:left;cursor:pointer;background:0 0;border:none;transition:background .1s;display:flex}.project-tree-node:hover{background:var(--color-surface-active)}.project-tree-node.selected{background:var(--color-accent-dim);color:var(--color-accent)}.project-tree-node.hovered{background:var(--color-bg-muted)}.project-tree-node.virtual-folder{opacity:.85;color:var(--color-text-muted);font-style:italic}.project-tree-node.virtual-folder .project-tree-node-name{text-transform:capitalize;font-weight:500}.project-tree-chevron,.project-tree-chevron-placeholder{width:14px;height:14px;color:var(--color-text-muted);flex-shrink:0;justify-content:center;align-items:center;display:flex}.project-tree-chevron{cursor:pointer}.project-tree-node-icon{width:16px;height:16px;color:var(--color-text-muted);flex-shrink:0;justify-content:center;align-items:center;display:flex}.project-tree-node-dot{border-radius:50%;flex-shrink:0;width:6px;height:6px}.project-tree-node-name{text-overflow:ellipsis;white-space:nowrap;min-width:0;font-size:var(--text-sm);color:var(--color-text);flex:auto;overflow:hidden}.project-tree-node-name:hover{color:var(--color-text)}.project-tree-node-pin{color:var(--color-accent);flex-shrink:0}.project-tree-empty{padding:var(--space-16);text-align:center;color:var(--color-text-muted);font-size:var(--text-sm)}.agent-tab-manager{z-index:10;background:#0b0d12;border-top:1px solid #ffffff14;flex-direction:column;display:flex;position:relative;overflow:hidden}.agent-tab-manager--left{border-top:none;border-right:1px solid #ffffff14;height:100%!important}.agent-tab-manager--right{border-top:none;border-left:1px solid #ffffff14;height:100%!important}.agent-tab-manager--collapsed{width:auto!important;height:auto!important}.agent-resize-handle{cursor:ns-resize;z-index:20;background:0 0;height:5px;transition:background .12s;position:absolute;top:0;left:0;right:0}.agent-resize-handle:hover{background:#54aeff40}.agent-resize-handle--left{cursor:ew-resize;width:5px;height:auto;inset:0 0 0 auto}.agent-resize-handle--right{cursor:ew-resize;width:5px;height:auto;inset:0 auto 0 0}.agent-panel-header{background:#0d1117;border-bottom:1px solid #ffffff0f;flex-shrink:0;justify-content:space-between;align-items:center;gap:8px;min-height:34px;padding:4px 10px;display:flex}.agent-panel-title{letter-spacing:.06em;text-transform:uppercase;color:#7d8590;white-space:nowrap;cursor:pointer;-webkit-user-select:none;user-select:none;align-items:center;gap:6px;font-size:11px;font-weight:600;display:flex}.agent-panel-title:hover{color:#c9d1d9}.agent-panel-header-actions{align-items:center;gap:2px;display:flex}.agent-panel-header-btn{appearance:none;color:#7d8590;cursor:pointer;background:0 0;border:1px solid #0000;border-radius:4px;padding:2px 6px;font-size:11px;font-weight:600;line-height:1;transition:all .12s}.agent-panel-header-btn:hover{color:#c9d1d9;background:#ffffff0f;border-color:#ffffff1a}.agent-panel-header-btn.is-active{color:var(--color-accent);background:#45a29e1f;border-color:#45a29e40}.agent-session-tabs{border-bottom:1px solid var(--color-border-subtle);background:var(--color-bg);flex-shrink:0;align-items:center;gap:2px;padding:6px 12px 0;display:flex;overflow-x:auto}.agent-session-tab{appearance:none;color:var(--color-text-muted);cursor:pointer;white-space:nowrap;background:0 0;border:1px solid #0000;border-bottom:none;border-radius:6px 6px 0 0;align-items:center;gap:6px;padding:5px 12px;font-family:inherit;font-size:.8rem;font-weight:600;transition:color .15s,background .15s;display:flex}.agent-session-tab:hover{color:var(--color-text);background:#ffffff0a}.agent-session-tab.is-active{color:var(--color-accent);border-color:var(--color-border-subtle);background:#45a29e14}.agent-session-tab-close{opacity:.5;cursor:pointer;border-radius:3px;padding:0 2px;font-size:.9rem;line-height:1}.agent-session-tab-close:hover{opacity:1;background:#ffffff1a}.agent-session-tab-add{opacity:.6;padding:4px 10px;font-size:1rem}.agent-session-tab-add:hover{opacity:1;color:var(--color-accent)}.agent-session-panels{flex:1;min-height:0;overflow:hidden}.agent-session-panels>div{height:100%}.agent-session-panels .ai-chat-panel--inline{border-radius:0;height:100%;max-height:100%;margin-top:0}.node-detail-card{min-width:180px;max-width:280px;font-family:var(--font-mono,"JetBrains Mono", monospace);color:#c5c6c7;-webkit-user-select:none;user-select:none;background:#1a1c20;border:1px solid #3a4a5a;border-radius:6px;font-size:11px;overflow:hidden;box-shadow:0 4px 20px #000000a6,0 0 0 1px #45a29e33}.node-detail-card__header{background:#12141a;border-bottom:1px solid #2e3a44;align-items:center;gap:6px;padding:6px 8px;display:flex}.node-detail-card__kind{text-transform:uppercase;letter-spacing:.06em;color:#45a29e;white-space:nowrap;background:#45a29e2e;border:1px solid #45a29e4d;border-radius:3px;flex-shrink:0;padding:2px 5px;font-size:9px;font-weight:700}.node-detail-card__name{color:#e0e0e0;text-overflow:ellipsis;white-space:nowrap;flex:1;font-size:11px;font-weight:600;overflow:hidden}.node-detail-card__close{color:#666;cursor:pointer;background:0 0;border:none;border-radius:3px;flex-shrink:0;padding:0 2px;font-size:14px;line-height:1}.node-detail-card__close:hover{color:#f87171;background:#f871711a}.node-detail-card__body{border-top:1px solid #2e3a44;padding:6px 0}.node-detail-card__row{grid-template-columns:minmax(60px,90px) 1fr;gap:4px;padding:2px 8px;display:grid}.node-detail-card__row--extra{opacity:.8}.node-detail-card__key{color:#6a9fb5;text-overflow:ellipsis;white-space:nowrap;font-size:10px;overflow:hidden}.node-detail-card__val{color:#c5c6c7;text-overflow:ellipsis;white-space:nowrap;font-size:10px;overflow:hidden}.node-detail-card__expand{color:#45a29e;text-align:left;cursor:pointer;background:0 0;border:none;border-top:1px solid #2e3a44;width:100%;margin-top:2px;padding:3px 8px;font-family:inherit;font-size:10px;display:block}.node-detail-card__expand:hover{background:#45a29e14}.systems-panel{border-top:1px solid var(--color-border,#2a2a2a);flex-direction:column;flex-shrink:0;gap:10px;max-height:35vh;padding:12px;display:flex;overflow-y:auto}.systems-stats{gap:8px;display:flex}.systems-stat{background:var(--color-surface-elevated,#1a1a1a);border:1px solid var(--color-border,#2a2a2a);text-align:center;border-radius:6px;flex:1;padding:8px 4px}.systems-stat-value{color:var(--color-text-primary,#e5e5e5);font-size:16px;font-weight:700;display:block}.systems-stat-label{text-transform:uppercase;letter-spacing:.05em;color:var(--color-text-muted,#888);margin-top:2px;font-size:10px;display:block}.systems-actions{gap:6px;display:flex}.systems-btn{border:1px solid var(--color-border,#2a2a2a);background:var(--color-surface,#111);color:var(--color-text-primary,#e5e5e5);cursor:pointer;border-radius:5px;justify-content:center;align-items:center;gap:4px;padding:6px 10px;font-size:11px;font-weight:600;transition:background .15s;display:inline-flex}.systems-btn:hover:not(:disabled){background:var(--color-surface-hover,#1f1f1f)}.systems-btn:disabled{opacity:.4;cursor:not-allowed}.systems-btn-danger{color:#fecaca;background:#450a0a;border-color:#7f1d1d}.systems-btn-danger:hover:not(:disabled){background:#7f1d1d}.systems-btn-warning{color:#fef08a;background:#422006;border-color:#854d0e}.systems-btn-warning:hover:not(:disabled){background:#854d0e}.systems-list-header{text-transform:uppercase;letter-spacing:.06em;color:var(--color-text-muted,#888);justify-content:space-between;align-items:center;margin-top:4px;font-size:11px;font-weight:700;display:flex}.systems-refresh-btn{color:var(--color-text-muted,#888);cursor:pointer;background:0 0;border:none;padding:2px 6px;font-size:13px}.systems-refresh-btn:hover{color:var(--color-text-primary,#e5e5e5)}.systems-list{flex-direction:column;gap:6px;max-height:220px;display:flex;overflow-y:auto}.systems-empty{color:var(--color-text-muted,#888);text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:6px;padding:24px 12px;display:flex}.systems-empty p{margin:0;font-size:12px}.systems-item{background:var(--color-surface-elevated,#1a1a1a);border:1px solid var(--color-border,#2a2a2a);border-radius:6px;align-items:center;gap:8px;padding:8px 10px;display:flex}.systems-item-info{flex:1;min-width:0}.systems-item-name{color:var(--color-text-primary,#e5e5e5);word-break:break-all;overflow-wrap:anywhere;font-size:12px;font-weight:600}.systems-item-meta{color:var(--color-text-muted,#888);margin-top:2px;font-size:10px}.systems-item-delete{width:26px;height:26px;color:var(--color-text-muted,#888);cursor:pointer;background:0 0;border:none;border-radius:4px;flex-shrink:0;justify-content:center;align-items:center;display:flex}.systems-item-delete:hover:not(:disabled){color:#fecaca;background:#450a0a}.systems-item-delete:disabled{opacity:.4;cursor:not-allowed}.systems-modal-overlay{z-index:1000;background:#000000b3;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.systems-modal{background:var(--color-surface,#111);border:1px solid var(--color-border,#2a2a2a);text-align:center;border-radius:10px;width:90%;max-width:360px;padding:24px;box-shadow:0 20px 60px #00000080}.systems-modal-icon{margin-bottom:12px}.systems-modal h3{color:var(--color-text-primary,#e5e5e5);margin:0 0 8px;font-size:15px}.systems-modal p{color:var(--color-text-muted,#888);margin:0 0 18px;font-size:12px;line-height:1.5}.systems-modal-actions{justify-content:center;gap:8px;display:flex}.graph-resize-handle{z-index:10;background:0 0;flex-shrink:0;transition:background .12s;position:relative}.graph-resize-handle--ew{cursor:col-resize;align-self:stretch;width:6px;margin:0 -3px}.graph-resize-handle--ew:hover,.graph-resize-handle--ew:active{background:#54aeff59}.graph-resize-handle--ns{cursor:row-resize;height:6px;margin:-3px 0}.graph-resize-handle--ns:hover,.graph-resize-handle--ns:active{background:#54aeff59}@media (width<=1023px){.graph-resize-handle{display:none}}.vo-context-menu{background:var(--color-bg-elevated,#252526);border:1px solid var(--color-border,#3e3e42);border-radius:var(--radius-sm,6px);z-index:200;min-width:180px;padding:6px;animation:.12s vo-context-fade-in;box-shadow:0 10px 40px #00000080}@keyframes vo-context-fade-in{0%{opacity:0;transform:scale(.96)}to{opacity:1;transform:scale(1)}}.vo-context-menu-item{color:var(--color-text,#ccc);cursor:pointer;-webkit-user-select:none;user-select:none;border-radius:5px;outline:none;align-items:center;gap:8px;padding:7px 10px;font-size:12px;display:flex}.vo-context-menu-item:hover,.vo-context-menu-item:focus{background:var(--color-bg-muted,#2d2d30)}.vo-context-menu-item--accent{color:#6ee7b7;font-weight:600}.vo-context-menu-item--accent:hover,.vo-context-menu-item--accent:focus{background:#064e3b}.vo-context-menu-item--danger{color:#f87171}.vo-context-menu-item--danger:hover,.vo-context-menu-item--danger:focus{background:#450a0a}.vo-context-menu-separator{background:var(--color-border,#3e3e42);height:1px;margin:4px 0}.report-viewer{flex-direction:column;flex:1;max-width:1200px;min-height:0;margin:0 auto;padding:20px;display:flex;overflow-y:auto}.report-section-title{color:#e2e8f0;border-bottom:1px solid #313244;margin:24px 0 12px;padding-bottom:8px;font-size:14px;font-weight:600}.report-stats-grid{grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:12px;display:grid}.report-stat{text-align:center;background:#1e1e2e;border:1px solid #313244;border-radius:8px;padding:14px;transition:border-color .2s}.report-stat:hover{border-color:#45475a}.report-stat-icon{color:#89a;margin-bottom:6px}.report-stat-value{color:#e2e8f0;font-size:22px;font-weight:700;line-height:1.2}.report-stat-label{color:#89a;text-transform:uppercase;letter-spacing:.04em;margin-top:4px;font-size:11px}.report-stat--good{border-color:#34d3994d}.report-stat--good .report-stat-value{color:#34d399}.report-stat--warn{border-color:#fbbf244d}.report-stat--warn .report-stat-value{color:#fbbf24}.report-stat--bad{border-color:#f871714d}.report-stat--bad .report-stat-value{color:#f87171}.report-bar-chart{flex-direction:column;gap:8px;display:flex}.report-bar-row{grid-template-columns:180px 1fr 48px;align-items:center;gap:10px;font-size:12px;display:grid}.report-bar-label{color:#cbd5e1;text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.report-bar-track{background:#313244;border-radius:4px;height:8px;overflow:hidden}.report-bar-fill{background:linear-gradient(90deg,#45a29e,#66fcf1);border-radius:4px;height:100%;transition:width .4s}.report-bar-value{color:#89a;text-align:right;font-variant-numeric:tabular-nums;font-weight:600}.report-entity-list{flex-direction:column;gap:6px;display:flex}.report-entity-chip{background:#1e1e2e;border:1px solid #313244;border-radius:6px;grid-template-columns:120px 100px 1fr;align-items:center;gap:10px;padding:8px 12px;font-size:12px;display:grid}.report-entity-kind{text-transform:uppercase;letter-spacing:.04em;color:#66fcf1;background:#66fcf114;border-radius:4px;width:fit-content;padding:2px 8px;font-size:10px;font-weight:600}.report-entity-id{color:#89a;font-family:JetBrains Mono,monospace;font-size:10px}.report-entity-name{color:#e2e8f0;text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.report-entity-more{text-align:center;color:#89a;padding:8px;font-size:12px}.report-error{color:#f87171;text-align:center;padding:2rem}.traceability-viewer{flex-direction:column;flex:1;max-width:1400px;min-height:0;margin:0 auto;padding:20px;display:flex;overflow-y:auto}.traceability-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-bottom:16px;display:flex}.traceability-header h2{color:#e2e8f0;margin:0;font-size:16px;font-weight:600}.traceability-controls{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.traceability-controls input,.traceability-controls select{color:#e2e8f0;background:#1e1e2e;border:1px solid #313244;border-radius:6px;padding:6px 10px;font-size:12px}.traceability-matrix-wrap{background:#0b0c10;border:1px solid #313244;border-radius:8px;flex:1;min-height:0;overflow:auto}.traceability-matrix{border-collapse:collapse;width:100%;font-size:12px}.traceability-matrix th{color:#89a;text-align:left;white-space:nowrap;z-index:2;background:#1e1e2e;border-bottom:1px solid #313244;padding:10px 12px;font-weight:600;position:sticky;top:0}.traceability-matrix td{color:#cbd5e1;vertical-align:top;border-bottom:1px solid #1e1e2e;padding:8px 12px}.traceability-matrix tr:hover td{background:#45a29e0a}.trace-req-id{color:#89a;font-family:JetBrains Mono,monospace;font-size:10px}.trace-req-text{max-width:300px;max-height:2.8em;line-height:1.4;overflow:hidden}.trace-status{text-transform:uppercase;border-radius:4px;align-items:center;gap:4px;padding:2px 8px;font-size:10px;font-weight:600;display:inline-flex}.trace-status--linked{color:#34d399;background:#34d3991f}.trace-status--unlinked{color:#fbbf24;background:#fbbf241f}.trace-link-cell{text-align:center}.trace-link-dot{border-radius:50%;width:8px;height:8px;display:inline-block}.trace-link-dot--satisfies{background:#34d399}.trace-link-dot--satisfiedby{background:#60a5fa}.trace-link-dot--derives{background:#a78bfa}.trace-link-dot--verifies{background:#fbbf24}.trace-anchor-badge{border-radius:4px;align-items:center;gap:4px;padding:2px 6px;font-size:10px;display:inline-flex}.trace-anchor-badge--pass{color:#34d399;background:#34d3991f}.trace-anchor-badge--fail{color:#f87171;background:#f871711f}.trace-anchor-badge--none{color:#89a;background:#8899aa1f}.trace-summary-bar{background:#1e1e2e;border:1px solid #313244;border-radius:8px;gap:16px;margin-bottom:16px;padding:12px 16px;font-size:12px;display:flex}.trace-summary-item{align-items:center;gap:6px;display:flex}.trace-summary-item .value{color:#e2e8f0;font-weight:700}.trace-summary-item .label{color:#89a}.tabular-column-toggle{flex-wrap:wrap;gap:6px;margin-bottom:10px;display:flex}.tabular-column-toggle label{color:#89a;cursor:pointer;-webkit-user-select:none;user-select:none;background:#1e1e2e;border:1px solid #313244;border-radius:4px;align-items:center;gap:4px;padding:4px 8px;font-size:11px;display:inline-flex}.tabular-column-toggle label:hover{border-color:#45475a}.tabular-column-toggle input{accent-color:#45a29e}.tabular-row-expand-btn{color:#89a;cursor:pointer;background:0 0;border:none;border-radius:4px;padding:2px 6px;font-size:12px}.tabular-row-expand-btn:hover{color:#e2e8f0;background:#313244}.tabular-row-detail{background:#0b0c10;border-left:2px solid #45a29e;padding:12px 16px;font-size:12px}.tabular-row-detail-grid{grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:10px;display:grid}.tabular-row-detail-item{flex-direction:column;gap:2px;display:flex}.tabular-row-detail-item .label{color:#89a;text-transform:uppercase;letter-spacing:.04em;font-size:10px}.tabular-row-detail-item .value{color:#e2e8f0;word-break:break-word}.tabular-pagination{color:#89a;justify-content:space-between;align-items:center;gap:12px;padding:10px 0;font-size:12px;display:flex}.tabular-pagination button{color:#e2e8f0;cursor:pointer;background:#1e1e2e;border:1px solid #313244;border-radius:6px;padding:6px 12px;font-size:12px}.tabular-pagination button:hover:not(:disabled){border-color:#45475a}.tabular-pagination button:disabled{opacity:.4;cursor:not-allowed}.tabular-page-size{align-items:center;gap:6px;display:flex}.tabular-page-size select{color:#e2e8f0;background:#1e1e2e;border:1px solid #313244;border-radius:4px;padding:4px 8px;font-size:12px}.topology-panel{color:#cdd6f4;border-top:1px solid #313244;max-height:50vh;padding:10px 12px;font-size:12px;overflow-y:auto}.topology-panel__header{justify-content:space-between;align-items:center;gap:8px;margin-bottom:8px;display:flex}.topology-panel__header h3{color:#cdd6f4;align-items:center;gap:6px;margin:0;font-size:13px;font-weight:600;display:flex}.topology-panel__actions{gap:6px;display:flex}.topology-panel__btn{color:#cdd6f4;cursor:pointer;background:#1e1e2e;border:1px solid #45475a;border-radius:6px;align-items:center;gap:4px;padding:4px 8px;font-size:11px;display:inline-flex}.topology-panel__btn:hover:not(:disabled){border-color:#89b4fa}.topology-panel__btn:disabled{opacity:.4;cursor:not-allowed}.topology-panel__btn--secondary{border-color:#313244}.topology-panel__error{color:#f38ba8;background:#1e1e2e;border:1px solid #f38ba8;border-radius:6px;align-items:center;gap:6px;margin-bottom:8px;padding:6px 8px;font-size:11px;display:flex}.topology-panel__hint{color:#89a;background:#1e1e2e;border:1px solid #313244;border-radius:6px;margin-bottom:8px;padding:6px 8px;font-size:11px}.topology-panel__metrics{grid-template-columns:repeat(3,1fr);gap:6px;margin-bottom:10px;display:grid}.topology-metric{color:#a6adc8;background:#1e1e2e;border:1px solid #313244;border-radius:6px;align-items:center;gap:4px;padding:4px 6px;font-size:11px;display:flex}.topology-panel__tabs{border-bottom:1px solid #313244;gap:2px;margin-bottom:8px;display:flex}.topology-tab{color:#89a;cursor:pointer;background:0 0;border:none;border-bottom:2px solid #0000;padding:4px 6px;font-size:11px}.topology-tab.is-active{color:#89b4fa;border-bottom-color:#89b4fa}.topology-panel__body{padding-bottom:8px}.topology-section h4{color:#bac2de;margin:8px 0 4px;font-size:12px;font-weight:600}.topology-list{margin:0;padding:0;list-style:none}.topology-list-item{background:#1e1e2e;border:1px solid #313244;border-radius:6px;flex-direction:column;align-items:stretch;gap:2px;margin-bottom:6px;padding:6px 8px;display:flex}.topology-link{color:#89b4fa;cursor:pointer;background:0 0;border:none;padding:0;font-size:11px;-webkit-text-decoration:underline #0000;text-decoration:underline #0000;transition:text-decoration-color .15s}.topology-link:hover{text-decoration-color:#89b4fa}.topology-badge{color:#cdd6f4;background:#313244;border-radius:4px;align-items:center;padding:1px 4px;font-size:10px;font-weight:600;display:inline-flex}.topology-badge--critical{color:#1e1e2e;background:#f38ba8}.topology-badge--danger{color:#1e1e2e;background:#eba0ac}.topology-badge--warn{color:#1e1e2e;background:#f9e2af}.topology-badge--info{color:#1e1e2e;background:#89b4fa}.topology-tree{margin:0;padding:0;list-style:none}.topology-tree-item{margin-bottom:2px}.topology-tree-toggle{color:#cdd6f4;cursor:pointer;text-align:left;background:0 0;border:none;border-radius:4px;align-items:center;gap:4px;width:100%;padding:3px 4px;font-size:11px;display:flex}.topology-tree-toggle:hover{background:#89b4fa14}.topology-tree-children{margin:2px 0 4px 16px;padding:0;list-style:none}.topology-meta{color:#89a;margin-left:auto;font-size:10px}.topology-empty{color:#89a;padding:8px 4px;font-size:11px}.topology-pattern-header,.topology-inferred-header{align-items:center;gap:6px;width:100%;display:flex}.topology-pattern-desc,.topology-pattern-rec{color:#a6adc8;margin:0;font-size:11px;line-height:1.4}.topology-pattern-rec{color:#89b4fa}.topology-pattern-nodes{flex-wrap:wrap;gap:4px;margin-top:2px;display:flex}.topology-inferred-pair{align-items:center;gap:6px;display:flex}.topology-inferred-reason{color:#89a;margin:0;font-size:10px}.topology-severity-high{color:#f38ba8}.topology-severity-med{color:#f9e2af}.topology-severity-low{color:#a6e3a1}.requirements-workspace{background:var(--color-bg);flex-direction:column;flex:1;min-height:0;display:flex;overflow:auto}.req-toolbar{background:var(--color-bg-elevated);border-bottom:1px solid var(--color-border);z-index:10;flex-direction:column;flex-shrink:0;gap:0;padding:8px 12px;display:flex;position:relative}.req-toolbar-primary{scrollbar-width:thin;scrollbar-color:var(--color-border-strong) transparent;flex-wrap:nowrap;justify-content:space-between;align-items:center;gap:8px;min-width:0;display:flex;overflow-x:auto}.req-toolbar-primary::-webkit-scrollbar{height:6px}.req-toolbar-primary::-webkit-scrollbar-track{background:0 0}.req-toolbar-primary::-webkit-scrollbar-thumb{background:var(--color-border-strong);border-radius:3px}.req-toolbar-left,.req-toolbar-right{flex-shrink:0;align-items:center;gap:6px;min-width:0;display:flex}.req-toolbar-divider{background:var(--color-border);width:1px;height:20px}.req-btn{color:var(--color-text-secondary);cursor:pointer;background:0 0;border:1px solid #0000;border-radius:6px;align-items:center;gap:6px;padding:6px 10px;font-family:inherit;font-size:12px;font-weight:500;transition:all .12s;display:inline-flex}.req-btn:hover{background:var(--color-bg-hover);color:var(--color-text)}.req-btn-primary{background:var(--color-accent);color:#0b0c10;border-color:var(--color-accent)}.req-btn-primary:hover{background:var(--color-accent-hover)}.req-btn-danger{color:var(--color-danger)}.req-btn-danger:hover{background:#f447471a}.req-btn-ghost{border-color:var(--color-border)}.req-btn-ghost.is-active{background:var(--color-accent-soft);color:var(--color-accent);border-color:var(--color-accent)}.req-btn-sm{padding:4px 8px;font-size:11px}.req-btn-icon{padding:6px}.req-search-wrap{align-items:center;display:flex;position:relative}.req-search-input{border:1px solid var(--color-border);background:var(--color-bg);width:220px;color:var(--color-text);border-radius:6px;outline:none;padding:6px 10px 6px 28px;font-family:inherit;font-size:12px}.req-search-input:focus{border-color:var(--color-accent);box-shadow:0 0 0 2px var(--color-accent-soft)}.req-search-icon{color:var(--color-text-muted);pointer-events:none;position:absolute;left:8px}.req-search-clear{color:var(--color-text-muted);cursor:pointer;background:0 0;border:none;align-items:center;padding:2px;display:flex;position:absolute;right:6px}.req-selection-badge{color:var(--color-accent);background:var(--color-accent-soft);border-radius:999px;padding:2px 8px;font-size:11px;font-weight:600}.req-stats-bar{border-top:1px solid var(--color-border-subtle);color:var(--color-text-muted);align-items:center;gap:10px;margin-top:6px;padding-top:6px;font-size:11px;display:flex}.req-stat-item strong{color:var(--color-text-secondary);margin-right:3px;font-weight:600}.req-stat-sep{color:var(--color-border-strong)}.req-stat-linked strong{color:var(--color-success)}.req-stat-unlinked strong{color:var(--color-danger)}.req-stat-loading{color:var(--color-accent);margin-left:auto;font-style:italic}.req-dropdown{background:var(--color-bg-elevated);border:1px solid var(--color-border);box-shadow:var(--shadow-lg);z-index:100;border-radius:8px;min-width:220px;padding:8px;position:absolute;top:calc(100% + 4px)}.req-dropdown-filter{left:140px}.req-dropdown-columns{left:230px}.req-dropdown-header{color:var(--color-text-secondary);border-bottom:1px solid var(--color-border);justify-content:space-between;align-items:center;padding:4px 6px 8px;font-size:12px;font-weight:600;display:flex}.req-dropdown-grid{grid-template-columns:1fr 1fr;gap:8px;padding:6px;display:grid}.req-dropdown-list{max-height:300px;overflow-y:auto}.req-dropdown-item{border-radius:4px;justify-content:space-between;align-items:center;gap:8px;padding:4px 6px;display:flex}.req-dropdown-item:hover{background:var(--color-bg-hover)}.req-dropdown-label{color:var(--color-text-secondary);cursor:pointer;flex:1;align-items:center;gap:6px;font-size:12px;display:flex}.req-dropdown-footer{border-top:1px solid var(--color-border);justify-content:flex-end;padding-top:6px;display:flex}.req-filter-field{flex-direction:column;gap:3px;display:flex}.req-filter-field label{color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.03em;font-size:10px;font-weight:600}.req-filter-field select{border:1px solid var(--color-border);background:var(--color-bg);color:var(--color-text);border-radius:4px;outline:none;padding:4px 6px;font-size:11px}.req-workspace-body{flex:1;min-height:0;display:flex;position:relative;overflow:auto}.req-grid-pane{flex-direction:column;flex:1;min-width:0;min-height:0;display:flex;overflow:hidden}.req-grid-pane--narrow{flex:0 0 calc(100% - 320px)}.req-grid-wrapper{flex:1;min-height:0;position:relative;overflow:hidden}.req-tree-panel{background:var(--color-bg-elevated);border-right:1px solid var(--color-border);flex-direction:column;flex-shrink:0;width:260px;display:flex;overflow:hidden}.req-tree-header{border-bottom:1px solid var(--color-border);color:var(--color-text-secondary);text-transform:uppercase;letter-spacing:.03em;justify-content:space-between;align-items:center;padding:8px 10px;font-size:12px;font-weight:600;display:flex}.req-tree-toggle{color:var(--color-text-muted);cursor:pointer;background:0 0;border:none;border-radius:4px;justify-content:center;align-items:center;padding:4px;transition:all .12s;display:flex}.req-tree-toggle:hover{background:var(--color-bg-hover);color:var(--color-text)}.req-tree-body{flex:1;min-height:0;padding:6px;overflow-y:auto}.req-tree-expand{z-index:20;border:1px solid var(--color-border);background:var(--color-bg-elevated);width:28px;height:28px;color:var(--color-text-muted);cursor:pointer;border-radius:6px;justify-content:center;align-items:center;transition:all .12s;display:flex;position:absolute;top:50%;left:8px;transform:translateY(-50%);box-shadow:0 2px 8px #0000004d}.req-tree-expand:hover{background:var(--color-bg-hover);color:var(--color-text)}.req-grid-pane--with-tree{flex:1;min-width:0}.dia-workspace{width:100%;height:100%;min-height:0;display:flex;position:relative;overflow:hidden}.dia-tree-panel{background:var(--color-bg-elevated);border-right:1px solid var(--color-border);flex-direction:column;flex-shrink:0;width:260px;display:flex;overflow:hidden}.dia-tree-header{border-bottom:1px solid var(--color-border);color:var(--color-text-secondary);text-transform:uppercase;letter-spacing:.03em;justify-content:space-between;align-items:center;padding:8px 10px;font-size:12px;font-weight:600;display:flex}.dia-tree-toggle{color:var(--color-text-muted);cursor:pointer;background:0 0;border:none;border-radius:4px;justify-content:center;align-items:center;padding:4px;transition:all .12s;display:flex}.dia-tree-toggle:hover{background:var(--color-bg-hover);color:var(--color-text)}.dia-tree-body{flex:1;min-height:0;padding:6px;overflow-y:auto}.dia-tree-expand{z-index:20;border:1px solid var(--color-border);background:var(--color-bg-elevated);width:28px;height:28px;color:var(--color-text-muted);cursor:pointer;border-radius:6px;justify-content:center;align-items:center;transition:all .12s;display:flex;position:absolute;top:50%;left:8px;transform:translateY(-50%);box-shadow:0 2px 8px #0000004d}.dia-tree-expand:hover{background:var(--color-bg-hover);color:var(--color-text)}.dia-canvas-wrap{flex-direction:column;flex:1;min-width:0;display:flex;position:relative}.dia-scope-bar::-webkit-scrollbar{height:6px}.dia-scope-bar::-webkit-scrollbar-thumb{background:#33333a;border-radius:3px}.dia-scope-bar::-webkit-scrollbar-track{background:0 0}.req-sidebar{background:var(--color-bg-elevated);border-left:1px solid var(--color-border);flex-direction:column;flex-shrink:0;width:320px;display:flex}.req-sidebar-header{border-bottom:1px solid var(--color-border);justify-content:space-between;align-items:center;padding:8px 10px;display:flex}.req-sidebar-tabs{align-items:center;gap:2px;display:flex}.req-sidebar-tab{width:32px;height:28px;color:var(--color-text-muted);cursor:pointer;background:0 0;border:none;border-radius:6px;justify-content:center;align-items:center;transition:all .12s;display:flex}.req-sidebar-tab:hover{background:var(--color-bg-hover);color:var(--color-text-secondary)}.req-sidebar-tab.is-active{background:var(--color-accent-soft);color:var(--color-accent)}.req-sidebar-body{flex:1;min-height:0;padding:12px;overflow-y:auto}.req-sidebar-empty{height:100%;color:var(--color-text-muted);text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:12px;font-size:13px;display:flex}.req-details-form{flex-direction:column;gap:10px;display:flex}.req-details-header{border-bottom:1px solid var(--color-border);justify-content:space-between;align-items:center;padding-bottom:8px;display:flex}.req-details-id{font-family:var(--font-mono);color:var(--color-accent);font-size:12px;font-weight:600}.req-detail-field{flex-direction:column;gap:3px;display:flex}.req-detail-field label{color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.03em;font-size:10px;font-weight:600}.req-detail-field input,.req-detail-field textarea,.req-detail-field select{border:1px solid var(--color-border);background:var(--color-bg);color:var(--color-text);resize:vertical;border-radius:6px;outline:none;padding:6px 8px;font-family:inherit;font-size:12px}.req-detail-field input:focus,.req-detail-field textarea:focus,.req-detail-field select:focus{border-color:var(--color-accent);box-shadow:0 0 0 2px var(--color-accent-soft)}.req-detail-field input[readonly],.req-detail-field textarea[readonly]{opacity:.6;cursor:not-allowed}.req-bulk-actions{background:var(--color-bg-muted);border-radius:8px;padding:12px}.req-bulk-actions p{color:var(--color-text-secondary);margin:0 0 8px;font-size:12px}.req-bulk-buttons{gap:6px;display:flex}.req-bulk-buttons select{border:1px solid var(--color-border);background:var(--color-bg);color:var(--color-text);border-radius:4px;padding:4px 6px;font-size:11px}.req-traceability-panel{flex-direction:column;gap:12px;display:flex}.req-traceability-header{border-bottom:1px solid var(--color-border);justify-content:space-between;align-items:center;padding-bottom:8px;display:flex}.req-traceability-header h4{color:var(--color-text-secondary);margin:0;font-size:13px}.req-traceability-badge{background:var(--color-success);color:#0b0c10;border-radius:999px;padding:2px 8px;font-size:11px;font-weight:600}.req-traceability-badge.unlinked{background:var(--color-danger);color:#fff}.req-traceability-section{flex-direction:column;gap:4px;display:flex}.req-traceability-section-header{color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.03em;align-items:center;gap:6px;font-size:11px;font-weight:600;display:flex}.req-traceability-count{background:var(--color-bg-muted);border-radius:999px;margin-left:auto;padding:1px 6px;font-size:10px}.req-traceability-list{flex-direction:column;gap:4px;display:flex}.req-traceability-item{background:var(--color-bg);border:1px solid var(--color-border);border-radius:6px;padding:6px 8px}.req-traceability-item.suspect{border-color:var(--color-danger)}.req-traceability-item-main{justify-content:space-between;align-items:center;gap:6px;display:flex}.req-traceability-target{font-family:var(--font-mono);color:var(--color-accent);font-size:11px;font-weight:600}.req-traceability-type{color:var(--color-text-muted);text-transform:capitalize;font-size:10px}.req-traceability-item-sub{color:var(--color-text-secondary);margin-top:2px;font-size:11px}.req-traceability-suspect{color:var(--color-danger);align-items:center;gap:4px;margin-top:4px;font-size:10px;display:flex}.req-traceability-empty{color:var(--color-text-muted);text-align:center;padding:8px;font-size:11px}.req-document-panel{flex-direction:column;gap:12px;display:flex}.req-document-header h4{color:var(--color-text-secondary);margin:0;font-size:13px}.req-document-dropzone{border:2px dashed var(--color-border);color:var(--color-text-muted);cursor:pointer;border-radius:8px;flex-direction:column;align-items:center;gap:6px;padding:20px;transition:all .18s;display:flex}.req-document-dropzone:hover{border-color:var(--color-accent);color:var(--color-accent);background:var(--color-accent-ghost)}.req-document-dropzone p{margin:0;font-size:12px}.req-document-dropzone span{font-size:10px}.req-document-list{flex-direction:column;gap:4px;display:flex}.req-document-item{background:var(--color-bg);border:1px solid var(--color-border);border-radius:6px;align-items:center;gap:8px;padding:6px 8px;display:flex}.req-document-info{flex-direction:column;flex:1;min-width:0;display:flex}.req-document-name{color:var(--color-text);text-overflow:ellipsis;white-space:nowrap;font-size:11px;overflow:hidden}.req-document-meta{color:var(--color-text-muted);font-size:10px}.req-document-actions{gap:4px;display:flex}.req-document-empty{color:var(--color-text-muted);text-align:center;padding:8px;font-size:11px}.req-document-source{flex-direction:column;gap:4px;display:flex}.req-document-source label{color:var(--color-text-muted);text-transform:uppercase;font-size:10px;font-weight:600}.req-document-source input{border:1px solid var(--color-border);background:var(--color-bg);color:var(--color-text);border-radius:6px;padding:6px 8px;font-size:12px}.req-document-hint{color:var(--color-text-muted);margin:0;font-size:10px}.req-document-count{color:var(--color-text-muted);background:var(--color-bg);border-radius:10px;padding:2px 6px;font-size:10px}.req-document-header{justify-content:space-between;align-items:center;padding:0 4px;display:flex}.req-document-dropzone.is-uploading{opacity:.6;cursor:not-allowed}.req-ai-panel{flex-direction:column;gap:12px;display:flex}.req-ai-header h4{color:var(--color-text-secondary);margin:0;font-size:13px}.req-ai-score{background:var(--color-bg);border:1px solid var(--color-border);border-radius:8px;align-items:center;gap:12px;padding:12px;display:flex}.req-ai-score-ring{border:3px solid;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:48px;height:48px;display:flex}.req-ai-score-ring span{font-size:16px;font-weight:700}.req-ai-score-label{flex-direction:column;display:flex}.req-ai-score-label span{color:var(--color-text-secondary);font-size:12px;font-weight:600}.req-ai-score-label small{color:var(--color-text-muted);font-size:11px}.req-ai-issues{flex-direction:column;gap:6px;display:flex}.req-ai-no-issues{color:var(--color-success);align-items:center;gap:6px;padding:12px;font-size:12px;display:flex}.req-ai-issue{background:var(--color-bg);border:1px solid var(--color-border);border-radius:6px;padding:8px}.req-ai-issue--high{border-color:var(--color-danger)}.req-ai-issue--medium{border-color:var(--color-warning)}.req-ai-issue-header{align-items:center;gap:6px;margin-bottom:4px;display:flex}.req-ai-issue-type{color:var(--color-text-secondary);text-transform:capitalize;font-size:10px;font-weight:600}.req-ai-severity{text-transform:uppercase;border-radius:999px;margin-left:auto;padding:1px 5px;font-size:9px;font-weight:700}.req-ai-severity--high{background:var(--color-danger);color:#fff}.req-ai-severity--medium{background:var(--color-warning);color:#0b0c10}.req-ai-severity--low{background:var(--color-text-muted);color:#fff}.req-ai-issue-message{color:var(--color-text-secondary);margin:0;font-size:11px}.req-ai-issue-suggestion{color:var(--color-accent);align-items:center;gap:4px;margin:4px 0 0;font-size:10px;display:flex}.req-ai-actions{justify-content:flex-end;display:flex}.req-import-dropzone{border:2px dashed var(--color-border);color:var(--color-text-muted);cursor:pointer;text-align:center;border-radius:10px;flex-direction:column;align-items:center;gap:8px;padding:32px;transition:all .18s;display:flex}.req-import-dropzone:hover,.req-import-dropzone.is-dragover{border-color:var(--color-accent);color:var(--color-accent);background:var(--color-accent-ghost)}.req-import-icon{opacity:.6}.req-import-title{margin:0;font-size:14px;font-weight:500}.req-import-hint{color:var(--color-text-muted);margin:0;font-size:11px}.req-import-file{background:var(--color-bg-muted);color:var(--color-text-secondary);border-radius:6px;align-items:center;gap:8px;padding:8px 12px;font-size:12px;display:flex}.req-import-preview{flex-direction:column;gap:6px;display:flex}.req-import-preview label{color:var(--color-text-muted);font-size:11px;font-weight:600}.req-import-textarea{border:1px solid var(--color-border);background:var(--color-bg);width:100%;color:var(--color-text);font-family:var(--font-mono);resize:vertical;border-radius:6px;padding:10px;font-size:11px}.req-dropdown-sort{left:200px}.req-sort-indicator{color:var(--color-accent);margin-left:auto;font-size:10px}.req-details-section{border-bottom:1px solid var(--color-border);flex-direction:column;gap:8px;padding-bottom:12px;display:flex}.req-details-section:last-child{border-bottom:none}.req-section-title{color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.06em;margin:0;font-size:10px;font-weight:700}.req-detail-row{grid-template-columns:1fr 1fr;gap:8px;display:grid}.req-detail-meta{color:var(--color-text-muted);gap:12px;padding-top:4px;font-size:10px;display:flex}.req-details-status{text-transform:capitalize;border-radius:999px;padding:2px 8px;font-size:10px;font-weight:600}.req-status--draft{background:var(--color-text-muted);color:#fff}.req-status--reviewed{color:#fff;background:#3b82f6}.req-status--approved{background:var(--color-success);color:#0b0c10}.req-status--implemented{color:#fff;background:#8b5cf6}.req-status--verified{color:#0b0c10;background:#2dd4a0}.req-status--rejected{background:var(--color-danger);color:#fff}.req-status--under_review{color:#0b0c10;background:#f5a623}.req-bulk-title{color:var(--color-text-secondary);margin:0 0 8px;font-size:13px;font-weight:600}.req-bulk-select{border:1px solid var(--color-border);background:var(--color-bg);color:var(--color-text);cursor:pointer;border-radius:6px;padding:6px 8px;font-size:12px}.req-bulk-select:focus{border-color:var(--color-accent);outline:none}.req-filter-checkbox{color:var(--color-text-secondary);cursor:pointer;align-items:center;gap:6px;font-size:11px;display:flex}.req-filter-checkbox input{accent-color:var(--color-accent)}.gdg-cell.is-selected{background:var(--color-accent-soft)!important;outline:1px solid var(--color-accent)!important}.requirements-manager{background:var(--color-bg);flex-direction:column;flex:1;min-height:0;display:flex;overflow:auto}.rm-toolbar{justify-content:space-between;align-items:center;gap:var(--space-16);padding:var(--space-12) var(--space-16);background:var(--color-bg-elevated);border-bottom:1px solid var(--color-border-subtle);flex-wrap:wrap;flex-shrink:0;min-height:52px;display:flex}.rm-toolbar-left{align-items:center;gap:var(--space-16);flex-wrap:wrap;display:flex}.rm-toolbar-right{align-items:center;gap:var(--space-12);flex-wrap:wrap;display:flex}.rm-title{font-size:var(--text-sm);color:var(--color-text);letter-spacing:var(--track-heading);white-space:nowrap;align-items:center;gap:8px;margin:0;font-weight:700;display:flex}.rm-title-badge{font-size:var(--text-xs);color:var(--color-text-muted);background:var(--color-bg-muted);border-radius:var(--radius-pill);padding:2px 8px;font-weight:500}.rm-toolbar-actions{align-items:center;gap:var(--space-8);flex-wrap:wrap;display:flex}.rm-toolbar-divider{background:var(--color-border-subtle);flex-shrink:0;width:1px;height:20px}.rm-btn{border-radius:var(--radius-sm);border:1px solid var(--color-border);background:var(--color-bg);color:var(--color-text);font-family:inherit;font-size:var(--text-xs);cursor:pointer;white-space:nowrap;justify-content:center;align-items:center;gap:6px;padding:6px 12px;font-weight:500;transition:background .12s,border-color .12s,color .12s;display:inline-flex}.rm-btn:hover:not(:disabled){background:var(--color-bg-hover);border-color:var(--color-accent)}.rm-btn:disabled{opacity:.45;cursor:not-allowed}.rm-btn--primary{background:var(--color-accent);color:var(--color-bg-elevated);border-color:var(--color-accent)}.rm-btn--primary:hover:not(:disabled){background:var(--color-accent-hover);border-color:var(--color-accent-hover)}.rm-btn--secondary{background:var(--color-bg-muted);color:var(--color-text-secondary);border-color:var(--color-border)}.rm-btn--secondary:hover:not(:disabled){background:var(--color-bg-hover);color:var(--color-text);border-color:var(--color-border-strong)}.rm-btn--ghost{color:var(--color-text-muted);background:0 0;border-color:#0000;padding:6px}.rm-btn--ghost:hover:not(:disabled){background:var(--color-accent-ghost);color:var(--color-accent);border-color:var(--color-accent-ghost)}.rm-btn--xs{padding:4px 6px;font-size:11px}.rm-search{background:var(--color-bg);border:1px solid var(--color-border);border-radius:var(--radius-sm);flex:1;align-items:center;gap:6px;min-width:180px;max-width:280px;padding:4px 10px;display:flex}.rm-search:focus-within{border-color:var(--color-accent);box-shadow:var(--shadow-glow)}.rm-search input{color:var(--color-text);font-family:inherit;font-size:var(--text-xs);background:0 0;border:none;outline:none;flex:1;min-width:0}.rm-search input::placeholder{color:var(--color-text-faint)}.rm-search-icon{color:var(--color-text-muted);flex-shrink:0}.rm-search-clear{appearance:none;color:var(--color-text-muted);cursor:pointer;background:0 0;border:none;flex-shrink:0;padding:0 2px;font-size:14px;line-height:1}.rm-search-clear:hover{color:var(--color-text)}.rm-summary-bar{align-items:center;gap:var(--space-24);padding:var(--space-10) var(--space-16);background:var(--color-bg);border-bottom:1px solid var(--color-border-subtle);flex-wrap:wrap;flex-shrink:0;display:flex}.rm-summary-item{align-items:baseline;gap:6px;display:flex}.rm-summary-value{font-size:var(--text-md);color:var(--color-accent);font-weight:700;font-family:var(--font-mono)}.rm-summary-label{font-size:var(--text-xs);color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.04em}.rm-error{padding:var(--space-10) var(--space-16);color:var(--color-danger);font-size:var(--text-xs);background:#f447471a;border-bottom:1px solid #f4474740;flex-shrink:0;align-items:center;gap:8px;display:flex}.rm-table-wrap{flex:1;min-height:0;position:relative;overflow:auto}.rm-table{border-collapse:collapse;width:100%;font-size:var(--text-xs)}.rm-table thead{z-index:2;position:sticky;top:0}.rm-table thead tr{background:var(--color-bg-elevated)}.rm-th{text-align:left;color:var(--color-text-secondary);border-bottom:1px solid var(--color-border);white-space:nowrap;letter-spacing:.02em;text-transform:uppercase;padding:10px 12px;font-size:11px;font-weight:600}.rm-th--icon{width:140px;min-width:140px}.rm-th--narrow{text-align:center;width:90px;min-width:90px}.rm-sort-btn{appearance:none;color:inherit;font:inherit;cursor:pointer;background:0 0;border:none;align-items:center;gap:4px;padding:0;display:inline-flex}.rm-sort-btn:hover{color:var(--color-text)}.rm-row{cursor:pointer;border-bottom:1px solid var(--color-border-subtle);transition:background .1s}.rm-row:hover{background:var(--color-bg-hover)}.rm-row.is-selected{background:var(--color-accent-soft)}.rm-row.is-selected:hover{background:#569cd638}.rm-cell{color:var(--color-text);vertical-align:middle;white-space:nowrap;padding:8px 12px}.rm-cell--icon{width:140px;min-width:140px}.rm-cell-name-inner{align-items:center;gap:4px;display:flex}.rm-cell--name{min-width:160px;max-width:320px}.rm-cell--text{min-width:200px;max-width:400px}.rm-cell--narrow{text-align:center;width:90px;min-width:90px}.rm-cell--center{text-align:center}.rm-cell-text{text-overflow:ellipsis;white-space:nowrap;cursor:text;display:block;overflow:hidden}.rm-cell-input{appearance:none;background:var(--color-bg);border:1px solid var(--color-accent);color:var(--color-text);font-family:inherit;font-size:var(--text-xs);border-radius:4px;outline:none;width:100%;min-width:120px;padding:4px 8px}.rm-cell-input--wide{min-width:200px}.rm-cell-select{appearance:none;background:var(--color-bg);border:1px solid var(--color-accent);color:var(--color-text);font-family:inherit;font-size:var(--text-xs);cursor:pointer;border-radius:4px;outline:none;padding:4px 8px}.rm-chevron-btn{appearance:none;color:var(--color-text-muted);cursor:pointer;background:0 0;border:none;border-radius:3px;flex-shrink:0;justify-content:center;align-items:center;padding:2px;transition:color .1s,background .1s;display:inline-flex}.rm-chevron-btn:hover{color:var(--color-text);background:var(--color-bg-hover)}.rm-chevron-spacer{flex-shrink:0;width:16px;display:inline-block}.rm-empty{text-align:center;color:var(--color-text-muted);font-size:var(--text-sm);padding:48px 16px}.rm-detail-panel{background:var(--color-bg-elevated);border-top:1px solid var(--color-border);max-height:280px;padding:var(--space-16);flex-shrink:0;animation:.2s slideUp;overflow:auto}@keyframes slideUp{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}.rm-detail-header{justify-content:space-between;align-items:center;gap:var(--space-12);margin-bottom:var(--space-12);padding-bottom:var(--space-10);border-bottom:1px solid var(--color-border-subtle);display:flex}.rm-detail-header h3{font-size:var(--text-sm);color:var(--color-text);letter-spacing:var(--track-heading);margin:0;font-weight:700}.rm-detail-body{gap:var(--space-12);grid-template-columns:repeat(auto-fill,minmax(220px,1fr));display:grid}.rm-detail-field{flex-direction:column;gap:4px;display:flex}.rm-detail-field label{color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.04em;font-size:11px;font-weight:600}.rm-detail-field p{font-size:var(--text-xs);color:var(--color-text-secondary);word-break:break-word;margin:0;line-height:1.5}.rm-detail-field code{font-family:var(--font-mono);background:var(--color-code-bg);color:var(--color-info);word-break:break-all;border-radius:4px;padding:3px 6px;font-size:11px}.rm-detail-row{align-items:center;gap:8px;padding:4px 0;display:flex}.rm-detail-chips{flex-wrap:wrap;gap:6px;display:flex}.rm-detail-chip{border-radius:var(--radius-pill);background:var(--color-bg-muted);color:var(--color-text-secondary);border:1px solid var(--color-border-subtle);align-items:center;gap:4px;padding:3px 8px;font-size:11px;font-weight:500;display:inline-flex}.rm-detail-trace-good{color:var(--color-success)}.rm-detail-trace-warn{color:var(--color-warning)}.rm-status-badge{border-radius:var(--radius-pill);text-transform:uppercase;letter-spacing:.03em;background:var(--color-bg-muted);color:var(--color-text-secondary);border:1px solid var(--color-border-subtle);justify-content:center;align-items:center;padding:2px 8px;font-size:10px;font-weight:600;display:inline-flex}.rm-priority-dot{border-radius:50%;flex-shrink:0;width:8px;height:8px;display:inline-block}.rm-category-badge{border-radius:var(--radius-pill);background:var(--color-bg-muted);color:var(--color-text-muted);border:1px solid var(--color-border-subtle);align-items:center;padding:2px 8px;font-size:10px;font-weight:500;display:inline-flex}.rm-filter-bar{align-items:center;gap:var(--space-16);padding:var(--space-10) var(--space-16);background:var(--color-bg);border-bottom:1px solid var(--color-border-subtle);flex-wrap:wrap;flex-shrink:0;display:flex}.rm-filter-group{align-items:center;gap:6px;display:flex}.rm-filter-group label{color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.04em;white-space:nowrap;font-size:11px;font-weight:600}.rm-filter-group select{appearance:none;background:var(--color-bg-elevated);border:1px solid var(--color-border);border-radius:var(--radius-sm);color:var(--color-text);font-family:inherit;font-size:var(--text-xs);cursor:pointer;outline:none;min-width:100px;padding:4px 8px}.rm-filter-group select:focus{border-color:var(--color-accent)}.rm-filter-clear{margin-left:auto}.fd-wbs-label{font-family:var(--font-mono);color:var(--color-text-muted);text-align:right;min-width:36px;margin-right:6px;font-size:11px;font-weight:600}@media (width<=768px){.rm-toolbar{gap:var(--space-10);padding:var(--space-10)}.rm-toolbar-left,.rm-toolbar-right{width:100%}.rm-search{width:100%;max-width:none}.rm-summary-bar{gap:var(--space-16);padding:var(--space-8) var(--space-10)}.rm-cell--text{max-width:160px}.rm-detail-body{grid-template-columns:1fr}.rm-detail-panel{max-height:40vh}}.onboarding-overlay{z-index:1000;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#08080fbf;justify-content:center;align-items:center;padding:24px;display:flex;position:fixed;inset:0}.onboarding-card{background:linear-gradient(#16161e 0%,#0f0f18 100%);border:1px solid #ffffff1a;border-radius:16px;width:100%;max-width:520px;padding:40px 36px 28px;position:relative;box-shadow:0 24px 60px #0009,0 0 0 1px #1aad8a14}.onboarding-close{width:32px;height:32px;color:var(--color-text-muted);cursor:pointer;background:0 0;border:none;border-radius:8px;justify-content:center;align-items:center;transition:color .2s,background .2s;display:flex;position:absolute;top:14px;right:14px}.onboarding-close:hover{color:var(--color-text);background:#ffffff0f}.onboarding-content{text-align:center;margin-bottom:32px}.onboarding-icon{width:56px;height:56px;color:var(--lp-accent,#1aad8a);background:linear-gradient(135deg,#1aad8a26 0%,#06b6d41a 100%);border:1px solid #1aad8a33;border-radius:14px;justify-content:center;align-items:center;margin:0 auto 20px;display:flex}.onboarding-title{letter-spacing:-.02em;color:#f0f0f5;margin:0 0 12px;font-size:1.35rem;font-weight:700}.onboarding-desc{color:#9a9ab0;margin:0 0 16px;font-size:.95rem;line-height:1.6}.onboarding-tip{color:var(--lp-accent,#1aad8a);background:#1aad8a14;border:1px solid #1aad8a26;border-radius:999px;align-items:center;gap:8px;padding:8px 14px;font-size:.82rem;font-weight:500;display:inline-flex}.onboarding-footer{justify-content:space-between;align-items:center;gap:16px;display:flex}.onboarding-dots{align-items:center;gap:8px;display:flex}.onboarding-dot{cursor:pointer;background:#ffffff26;border:none;border-radius:50%;width:8px;height:8px;padding:0;transition:background .2s,transform .2s}.onboarding-dot.is-active{background:var(--lp-accent,#1aad8a);transform:scale(1.2)}.onboarding-actions{align-items:center;gap:10px;display:flex}.onboarding-btn-primary{background:linear-gradient(135deg, var(--lp-accent,#1aad8a) 0%, #148a6e 100%);color:#fff;cursor:pointer;border:none;border-radius:999px;align-items:center;gap:6px;padding:10px 20px;font-size:.9rem;font-weight:600;transition:transform .2s,box-shadow .2s;display:inline-flex;box-shadow:0 4px 16px #1aad8a4d}.onboarding-btn-primary:hover{transform:translateY(-1px);box-shadow:0 6px 20px #1aad8a66}.onboarding-btn-secondary{color:#9a9ab0;cursor:pointer;background:0 0;border:1px solid #ffffff1a;border-radius:999px;align-items:center;gap:6px;padding:10px 18px;font-size:.9rem;font-weight:600;transition:color .2s,background .2s;display:inline-flex}.onboarding-btn-secondary:hover{color:#f0f0f5;background:#ffffff0a}@media (width<=560px){.onboarding-card{padding:32px 24px 24px}.onboarding-title{font-size:1.15rem}.onboarding-desc{font-size:.88rem}.onboarding-footer{flex-direction:column-reverse;align-items:stretch}.onboarding-actions{justify-content:center}}.setup-page{background:linear-gradient(#0f0f18 0%,#16161e 100%);justify-content:center;align-items:center;min-height:100vh;padding:24px;display:flex}.setup-card{border-radius:var(--radius-lg);background:linear-gradient(#1a1a24 0%,#14141c 100%);border:1px solid #ffffff14;width:100%;max-width:440px;padding:40px 36px;box-shadow:0 24px 60px #00000080,0 0 0 1px #1aad8a0f}.setup-brand{align-items:center;gap:16px;margin-bottom:24px;display:flex}.setup-logo{flex-shrink:0;width:52px;height:52px}.setup-brand-text h1{color:#f0f0f5;letter-spacing:-.02em;margin:0 0 4px;font-size:1.35rem;font-weight:700}.setup-brand-text p{color:#9a9ab0;margin:0;font-size:.82rem}.setup-desc{color:#9a9ab0;margin:0 0 24px;font-size:.9rem;line-height:1.6}.setup-desc a{color:var(--lp-accent,#1aad8a);font-weight:500;text-decoration:none}.setup-desc a:hover{text-decoration:underline}.setup-form{flex-direction:column;gap:16px;display:flex}.setup-field{flex-direction:column;gap:8px;display:flex}.setup-field-label{color:#b0b0c0;text-transform:uppercase;letter-spacing:.04em;align-items:center;gap:6px;font-size:.82rem;font-weight:600;display:flex}.setup-input{border-radius:var(--radius-md);color:#f0f0f5;font-size:1rem;font-family:var(--font-mono);letter-spacing:.05em;background:#ffffff0a;border:1px solid #ffffff1a;outline:none;padding:12px 16px;transition:border-color .2s,box-shadow .2s}.setup-input::placeholder{color:#5a5a6e}.setup-input:focus{border-color:var(--lp-accent,#1aad8a);box-shadow:0 0 0 3px #1aad8a1f}.setup-error{border-radius:var(--radius-sm);color:#f87171;background:#f4474714;border:1px solid #f4474733;align-items:center;gap:8px;padding:10px 14px;font-size:.85rem;display:flex}.setup-submit{border-radius:var(--radius-md);background:linear-gradient(135deg, var(--lp-accent,#1aad8a) 0%, #148a6e 100%);color:#fff;cursor:pointer;border:none;justify-content:center;align-items:center;gap:8px;padding:14px 20px;font-size:.95rem;font-weight:700;transition:transform .2s,box-shadow .2s;display:flex;box-shadow:0 4px 16px #1aad8a40}.setup-submit:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 6px 20px #1aad8a59}.setup-submit:disabled{opacity:.6;cursor:default}.setup-spinner{border:2px solid #ffffff4d;border-top-color:#fff;border-radius:50%;width:16px;height:16px;animation:.8s linear infinite setup-spin}@keyframes setup-spin{to{transform:rotate(360deg)}}.setup-footer{color:#6a6a7e;text-align:center;justify-content:center;align-items:center;gap:6px;margin:24px 0 0;font-size:.78rem;display:flex}.setup-footer a{color:#9a9ab0;text-decoration:none}.setup-footer a:hover{color:#c0c0d0;text-decoration:underline}.login-page{background:linear-gradient(#0f0f18 0%,#16161e 100%);justify-content:center;align-items:center;min-height:100vh;padding:24px;display:flex}.login-card{border-radius:var(--radius-lg);background:linear-gradient(#1a1a24 0%,#14141c 100%);border:1px solid #ffffff14;width:100%;max-width:440px;padding:40px 36px;box-shadow:0 24px 60px #00000080,0 0 0 1px #569cd60f}.login-brand{flex-direction:column;align-items:center;gap:4px;margin-bottom:16px;display:flex}.login-logo{letter-spacing:-.03em;color:#f0f0f5;font-size:1.5rem;font-weight:800}.login-tagline{color:#6a6a7e;letter-spacing:.04em;font-size:.78rem}.login-badge{color:#569cd6;background:#569cd614;border:1px solid #569cd626;border-radius:999px;justify-content:center;align-items:center;gap:6px;margin:0 auto 20px;padding:6px 12px;font-size:.78rem;font-weight:500;display:inline-flex}.login-title{color:#f0f0f5;text-align:center;letter-spacing:-.02em;margin:0 0 8px;font-size:1.25rem;font-weight:700}.login-subtitle{color:#9a9ab0;text-align:center;margin:0 0 24px;font-size:.88rem;line-height:1.5}.login-form{flex-direction:column;gap:16px;display:flex}.login-field{flex-direction:column;gap:8px;display:flex}.login-field>span{color:#b0b0c0;text-transform:uppercase;letter-spacing:.04em;font-size:.82rem;font-weight:600}.login-key-input{border-radius:var(--radius-md);background:#ffffff0a;border:1px solid #ffffff1a;align-items:center;gap:0;transition:border-color .2s,box-shadow .2s;display:flex;overflow:hidden}.login-key-input:focus-within{border-color:#569cd6;box-shadow:0 0 0 3px #569cd61f}.login-key-input input{color:#f0f0f5;font-size:.95rem;font-family:var(--font-mono);background:0 0;border:none;outline:none;flex:1;padding:12px 16px}.login-key-input input::placeholder{color:#5a5a6e}.login-toggle-visibility{color:#9a9ab0;cursor:pointer;background:0 0;border:none;justify-content:center;align-items:center;width:44px;height:44px;transition:color .15s;display:flex}.login-toggle-visibility:hover{color:#f0f0f5}.login-role-options{gap:8px;display:flex}.login-role-btn{border-radius:var(--radius-sm);color:#9a9ab0;cursor:pointer;background:#ffffff0a;border:1px solid #ffffff1a;flex:1;justify-content:center;align-items:center;gap:6px;padding:10px 12px;font-size:.85rem;font-weight:600;transition:border-color .2s,background .2s,color .2s;display:flex}.login-role-btn:hover{background:#ffffff12}.login-error{border-radius:var(--radius-sm);color:#f87171;background:#f4474714;border:1px solid #f4474733;align-items:center;gap:8px;padding:10px 14px;font-size:.85rem;display:flex}.login-submit{border-radius:var(--radius-md);color:#fff;cursor:pointer;background:linear-gradient(135deg,#569cd6 0%,#3d7ab5 100%);border:none;justify-content:center;align-items:center;gap:8px;padding:14px 20px;font-size:.95rem;font-weight:700;transition:transform .2s,box-shadow .2s;display:flex;box-shadow:0 4px 16px #569cd640}.login-submit:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 6px 20px #569cd659}.login-submit:disabled{opacity:.5;cursor:default}.login-demo{margin-top:12px}.login-demo-btn{border-radius:var(--radius-md);color:#9a9ab0;cursor:pointer;background:0 0;border:1px solid #ffffff1a;justify-content:center;align-items:center;gap:8px;width:100%;padding:12px 20px;font-size:.9rem;font-weight:600;transition:color .2s,background .2s,border-color .2s;display:flex}.login-demo-btn:hover:not(:disabled){color:#f0f0f5;background:#ffffff0a;border-color:#ffffff29}.login-demo-btn:disabled{opacity:.5;cursor:default}.login-hint{color:#6a6a7e;text-align:center;margin:20px 0 0;font-size:.75rem;line-height:1.5}.tabular-viewer-empty{text-align:center;color:var(--color-text-muted);padding:48px 24px}.tabular-viewer-empty-icon{width:48px;height:48px;color:var(--color-accent);background:#569cd614;border:1px solid #569cd626;border-radius:12px;justify-content:center;align-items:center;margin-bottom:16px;display:inline-flex}.tabular-viewer-empty-title{color:var(--color-text-secondary);margin:0 0 8px;font-size:1rem;font-weight:600}.tabular-viewer-empty-desc{color:var(--color-text-muted);max-width:320px;margin:0 0 16px;font-size:.85rem;line-height:1.5}.kbd-hint{color:var(--color-text-muted);font-size:.7rem;font-family:var(--font-mono);background:#ffffff0f;border:1px solid #ffffff1a;border-radius:4px;align-items:center;gap:4px;padding:2px 6px;font-weight:500;line-height:1.4;display:inline-flex}.vowl-node{-webkit-user-select:none;user-select:none}.vowl-node:hover{filter:brightness(1.15)}.vowl-node--selected{z-index:10!important}.vowl-node--selected:hover{filter:brightness(1.25)}.react-flow__handle{opacity:.6;transition:opacity .12s,transform .12s}.react-flow__handle:hover{opacity:1;transform:scale(1.3)}.react-flow__edge-text{font-family:Inter,system-ui,sans-serif;font-size:12px;font-weight:500}.react-flow__background{opacity:.5}.react-flow__minimap{border-radius:8px;overflow:hidden}.react-flow__controls{border-radius:8px;overflow:hidden;box-shadow:0 4px 12px #00000060}.react-flow__controls-button{color:#9ca3af;background:#1a1a1e;border-bottom:1px solid #2a2a32;transition:background .12s,color .12s}.react-flow__controls-button:hover{color:#e8e8ec;background:#25252a}.react-flow__controls-button svg{fill:currentColor}.react-flow__selection{background:#569cd610;border:1.5px dashed #569cd680}.react-flow__edge.selected .react-flow__edge-path,.react-flow__edge:focus .react-flow__edge-path,.react-flow__edge:focus-visible .react-flow__edge-path{stroke:#569cd6;stroke-width:3px}.react-flow__node.selected{z-index:10}.icd-page{color:#c8d0e0;height:100%;padding:1rem;overflow-y:auto}.icd-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.75rem;margin-bottom:1rem;display:flex}.icd-title{color:#e2e8f0;margin:0;font-size:1.25rem;font-weight:600}.icd-view-toggle{background:#1a1d29;border-radius:6px;gap:.25rem;padding:3px;display:flex}.icd-view-toggle button{color:#89b;cursor:pointer;background:0 0;border:none;border-radius:4px;align-items:center;gap:6px;padding:6px 12px;font-size:13px;transition:all .15s;display:flex}.icd-view-toggle button:hover{color:#c8d0e0}.icd-view-toggle button.active{color:#7eb8f7;background:#252a3d}.icd-grid{grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:.75rem;display:grid}.icd-bb-card{background:#151821;border:1px solid #252a3d;border-radius:8px;overflow:hidden}.icd-bb-header{cursor:pointer;-webkit-user-select:none;user-select:none;color:#7eb8f7;align-items:center;gap:8px;padding:.75rem 1rem;display:flex}.icd-bb-name{color:#e2e8f0;font-size:14px;font-weight:600}.icd-bb-count{color:#89b;margin-left:auto;font-size:12px}.icd-bb-body{padding:0 1rem .75rem}.icd-bb-intf{border-top:1px solid #252a3d;padding:.5rem 0}.icd-bb-intf-name{color:#c8d0e0;font-size:13px;font-weight:500}.icd-bb-intf-meta{color:#89b;gap:.75rem;margin-top:2px;font-size:12px;display:flex}.icd-protocol{color:#7eb8f7;background:#1e3a5f;border-radius:4px;padding:1px 6px;font-size:11px}.icd-bb-intf-desc{color:#6b7a9c;margin-top:4px;font-size:12px}.icd-wb-card{background:#151821;border:1px solid #252a3d;border-radius:8px;overflow:hidden}.icd-wb-header{cursor:pointer;-webkit-user-select:none;user-select:none;color:#a5b4fc;align-items:center;gap:8px;padding:.75rem 1rem;display:flex}.icd-wb-name{color:#e2e8f0;font-size:14px;font-weight:600}.icd-wb-count{color:#89b;margin-left:auto;font-size:12px}.icd-wb-body{padding:0 1rem .75rem}.icd-wb-table{border-collapse:collapse;width:100%;font-size:12px}.icd-wb-table th{text-align:left;color:#89b;border-bottom:1px solid #252a3d;padding:6px 8px;font-weight:500}.icd-wb-table td{color:#c8d0e0;border-bottom:1px solid #1f2330;padding:6px 8px}.icd-wb-dir{font-family:monospace;font-size:14px}.icd-wb-dir--in{color:#4ade80}.icd-wb-dir--out{color:#f87171}.icd-wb-dir--bidirectional{color:#fbbf24}.icd-table-wrapper{flex-direction:column;gap:.75rem;display:flex}.icd-table-toolbar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.75rem;display:flex}.icd-search{background:#1a1d29;border:1px solid #252a3d;border-radius:6px;flex:1;align-items:center;gap:8px;min-width:200px;padding:6px 10px;display:flex}.icd-search input{color:#c8d0e0;background:0 0;border:none;outline:none;width:100%;font-size:13px}.icd-search input::placeholder{color:#6b7a9c}.icd-copy-btn{color:#7eb8f7;cursor:pointer;background:#1e3a5f;border:none;border-radius:6px;align-items:center;gap:6px;padding:6px 12px;font-size:12px;display:flex}.icd-copy-btn:hover{background:#264d7a}.icd-table-scroll{background:#151821;border:1px solid #252a3d;border-radius:8px;overflow-x:auto}.icd-table{border-collapse:collapse;width:100%;min-width:700px;font-size:13px}.icd-table th{text-align:left;color:#89b;background:#1a1d29;border-bottom:1px solid #252a3d;padding:10px 12px;font-weight:500;position:sticky;top:0}.icd-table td{color:#c8d0e0;vertical-align:top;border-bottom:1px solid #1f2330;padding:8px 12px}.icd-table-name{color:#e2e8f0;font-weight:500}.icd-editable{cursor:pointer;border-bottom:1px dashed #569cd680;padding-bottom:1px}.icd-editable:hover{color:#7eb8f7;border-bottom-color:#7eb8f7}.icd-inline-edit{align-items:center;gap:4px;display:flex}.icd-inline-edit input{color:#c8d0e0;background:#1a1d29;border:1px solid #569cd6;border-radius:4px;width:120px;padding:2px 6px;font-size:12px}.icd-attr-chip{color:#89b;background:#1f2330;border-radius:4px;margin:2px 4px 2px 0;padding:2px 6px;font-size:11px;display:inline-block}.icd-empty{color:#6b7a9c;text-align:center;padding:1rem;font-size:13px}.icd-toast{color:#7eb8f7;background:#1e3a5f;border-radius:6px;padding:8px 16px;font-size:13px;animation:.2s fadeIn;position:fixed;bottom:1.5rem;right:1.5rem}@keyframes fadeIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.project-browser{background:var(--color-bg-base,#0b0d12);flex-direction:column;height:100%;display:flex;overflow:hidden}.project-browser-header{gap:var(--space-8);padding:var(--space-10) var(--space-12);border-bottom:1px solid var(--color-border,#1e2028);flex-direction:column;flex-shrink:0;display:flex}.project-browser-breadcrumbs{align-items:center;gap:var(--space-6);font-size:var(--text-sm);display:flex;overflow:hidden}.project-browser-bc-root{border-radius:var(--radius-sm);border:1px solid var(--color-border);background:var(--color-bg-elevated);width:22px;height:22px;color:var(--color-text-muted);cursor:pointer;flex-shrink:0;justify-content:center;align-items:center;display:flex}.project-browser-bc-root:hover{background:var(--color-surface-active);color:var(--color-text)}.project-browser-bc-item{color:var(--color-text-muted);white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.project-browser-bc-active{color:var(--color-text);font-weight:600}.project-browser-bc-sep{color:var(--color-text-faint);flex-shrink:0}.project-browser-toolbar{align-items:center;gap:var(--space-8);display:flex}.project-browser-search{flex:1;align-items:center;min-width:0;display:flex;position:relative}.project-browser-search input{width:100%;padding:var(--space-6) var(--space-8) var(--space-6) 26px;border-radius:var(--radius-sm);border:1px solid var(--color-border);background:var(--color-bg-elevated);color:var(--color-text);font-size:var(--text-sm)}.project-browser-search input::placeholder{color:var(--color-text-faint)}.project-browser-search>svg{left:var(--space-8);color:var(--color-text-muted);pointer-events:none;position:absolute}.project-browser-search-clear{right:var(--space-6);color:var(--color-text-muted);cursor:pointer;background:0 0;border:none;justify-content:center;align-items:center;display:flex;position:absolute}.project-browser-view-toggle{align-items:center;gap:var(--space-4);flex-shrink:0;display:flex}.project-browser-view-toggle button{border-radius:var(--radius-sm);border:1px solid var(--color-border);background:var(--color-bg-elevated);width:26px;height:26px;color:var(--color-text-muted);cursor:pointer;justify-content:center;align-items:center;display:flex}.project-browser-view-toggle button.is-active{background:var(--color-accent-dim);color:var(--color-accent);border-color:var(--color-accent)}.project-browser-view-toggle button:hover{background:var(--color-surface-active);color:var(--color-text)}.project-browser-refresh-btn{border-radius:var(--radius-sm);border:1px solid var(--color-border);background:var(--color-bg-elevated);width:26px;height:26px;color:var(--color-text-muted);cursor:pointer;justify-content:center;align-items:center;display:flex}.project-browser-refresh-btn:hover{background:var(--color-surface-active);color:var(--color-text)}.project-browser-content{flex-direction:column;flex:auto;min-height:0;display:flex;overflow:hidden}.project-browser-loading,.project-browser-error{padding:var(--space-16);text-align:center;font-size:var(--text-sm);color:var(--color-text-muted)}.project-browser-error{color:#f87171}.project-tree-panel{flex-direction:column;flex:auto;min-height:0;display:flex;overflow:hidden}.project-tree-panel .project-tree-scroll{min-height:0;max-height:none;padding:var(--space-6) var(--space-8);flex:auto;overflow:auto}.project-bulk-actions-bar{padding:var(--space-6) var(--space-10);background:var(--color-accent-dim);border-bottom:1px solid var(--color-border);font-size:var(--text-xs);color:var(--color-accent);flex-shrink:0;justify-content:space-between;align-items:center;font-weight:600;display:flex}.project-bulk-actions-buttons{align-items:center;gap:var(--space-6);display:flex}.project-bulk-action-btn{align-items:center;gap:var(--space-4);padding:var(--space-4) var(--space-8);border-radius:var(--radius-sm);border:1px solid var(--color-border);background:var(--color-bg-elevated);color:var(--color-text);font-size:var(--text-xs);cursor:pointer;display:flex}.project-bulk-action-btn:hover{background:var(--color-surface-active)}.project-bulk-action-btn--secondary{color:var(--color-text-muted)}.project-tree-node.is-multi-selected{background:#6ee7b71f;outline:1px solid #6ee7b759}.project-tree-node.is-generating{opacity:.7;pointer-events:none}.project-create-menu{z-index:300;background:var(--color-bg-elevated,#252526);border:1px solid var(--color-border,#3e3e42);border-radius:var(--radius-sm,6px);min-width:200px;animation:.12s vo-context-fade-in;position:fixed;box-shadow:0 10px 40px #00000080}.project-create-menu-header{border-bottom:1px solid var(--color-border);color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.05em;justify-content:space-between;align-items:center;padding:8px 10px;font-size:11px;font-weight:600;display:flex}.project-create-menu-header button{color:var(--color-text-muted);cursor:pointer;background:0 0;border:none;justify-content:center;align-items:center;padding:2px;display:flex}.project-create-menu-header button:hover{color:var(--color-text)}.project-create-menu-list{grid-template-columns:repeat(2,1fr);gap:4px;padding:6px;display:grid}.project-create-menu-item{color:var(--color-text);cursor:pointer;text-align:left;background:0 0;border:none;border-radius:5px;align-items:center;gap:6px;padding:6px 8px;font-size:12px;display:flex}.project-create-menu-item:hover{background:var(--color-bg-muted)}.project-search-panel{background:var(--color-bg-base);z-index:50;flex-direction:column;display:flex;position:absolute;inset:0}.project-search-panel-header{padding:var(--space-10) var(--space-12);border-bottom:1px solid var(--color-border);font-size:var(--text-sm);justify-content:space-between;align-items:center;font-weight:600;display:flex}.project-search-panel-header button{color:var(--color-text-muted);cursor:pointer;background:0 0;border:none}.project-search-panel-list{padding:var(--space-6);flex:1;overflow:auto}.project-search-item{align-items:center;gap:var(--space-8);padding:var(--space-8) var(--space-10);border-radius:var(--radius-sm);color:var(--color-text);font-size:var(--text-sm);cursor:pointer;text-align:left;background:0 0;border:none;width:100%;display:flex}.project-search-item:hover{background:var(--color-surface-active)}.project-search-item-name{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.project-search-item-kind{font-size:var(--text-xs);color:var(--color-text-muted);background:var(--color-bg-elevated);border-radius:4px;padding:2px 6px}.project-search-empty{padding:var(--space-16);text-align:center;color:var(--color-text-muted);font-size:var(--text-sm)}.project-favorites-panel,.project-recent-panel{padding:var(--space-8);gap:var(--space-4);flex-direction:column;display:flex}.project-panel-empty{padding:var(--space-16);text-align:center;color:var(--color-text-muted);font-size:var(--text-sm)}.project-panel-item{align-items:center;gap:var(--space-6);display:flex}.project-panel-item-btn{align-items:center;gap:var(--space-8);padding:var(--space-6) var(--space-8);border-radius:var(--radius-sm);color:var(--color-text);font-size:var(--text-sm);cursor:pointer;text-align:left;background:0 0;border:none;flex:1;display:flex;overflow:hidden}.project-panel-item-btn:hover{background:var(--color-surface-active)}.project-panel-item-action{color:var(--color-text-muted);cursor:pointer;padding:var(--space-4);background:0 0;border:none;justify-content:center;align-items:center;display:flex}.project-panel-item-action:hover{color:#f87171}.project-panel-item-time{font-size:var(--text-xs);color:var(--color-text-muted);margin-left:auto}.project-tree-empty-btn{align-items:center;gap:var(--space-6);margin-top:var(--space-10);padding:var(--space-6) var(--space-10);border-radius:var(--radius-sm);border:1px solid var(--color-border);background:var(--color-bg-elevated);color:var(--color-text);font-size:var(--text-sm);cursor:pointer;display:inline-flex}.project-tree-empty-btn:hover{background:var(--color-surface-active)}.spin{animation:1s linear infinite spin}.project-context-menu-item-danger{color:#f87171}.project-context-menu-item-danger:hover,.project-context-menu-item-danger:focus{background:#450a0a}.ai-chat-message-text{line-height:1.5}.ai-chat-message-text p{margin:0 0 .5rem}.ai-chat-message-text p:last-child{margin-bottom:0}.ai-chat-inline-code{color:#e2e8f0;background:#25252a;border-radius:4px;padding:1px 5px;font-family:JetBrains Mono,IBM Plex Mono,monospace;font-size:.85em}.ai-chat-code-block{background:#1a1a1e;border:1px solid #2a2a30;border-radius:6px;margin:.5rem 0;overflow:hidden}.ai-chat-code-lang{text-transform:uppercase;color:#89a;background:#25252a;border-bottom:1px solid #2a2a30;padding:3px 10px;font-size:10px}.ai-chat-code-block pre{margin:0;padding:10px 12px;font-family:JetBrains Mono,IBM Plex Mono,monospace;font-size:12px;line-height:1.5;overflow-x:auto}.ai-chat-code-block code{font-size:inherit;background:0 0;padding:0}.ai-chat-list{margin:.25rem 0 .5rem 1rem;padding:0}.ai-chat-list-item{margin:.15rem 0}.ai-chat-table{border-collapse:collapse;width:100%;margin:.5rem 0;font-size:12px}.ai-chat-table th,.ai-chat-table td{text-align:left;border:1px solid #2a2a30;padding:4px 8px}.ai-chat-table th{background:#25252a;font-weight:600}.ai-chat-blockquote{color:#c0c5ce;background:#1a1a1e;border-left:3px solid #45a29e;border-radius:0 4px 4px 0;margin:.5rem 0;padding:6px 12px}.ai-chat-reasoning{color:#a5b4fc;background:linear-gradient(90deg,#1a1a2e 0%,#16161a 100%);border-left:2px solid #6366f1;border-radius:0 4px 4px 0;margin-top:8px;padding:6px 10px;font-size:12px}.ai-chat-reasoning-text{align-items:flex-start;gap:6px;line-height:1.5;display:flex}.ai-chat-steps{border:1px solid #2a2a30;border-radius:6px;margin-top:8px;overflow:hidden}.ai-chat-steps-summary{color:#89a;cursor:pointer;-webkit-user-select:none;user-select:none;background:#1e1e22;align-items:center;gap:6px;padding:5px 10px;font-size:11px;font-weight:600;display:flex}.ai-chat-steps-body{background:#16161a;padding:6px 10px}.ai-chat-step{border-bottom:1px solid #25252a;padding:5px 0}.ai-chat-step:last-child{border-bottom:none}.ai-chat-step-header{align-items:center;gap:6px;font-size:11px;display:flex}.ai-chat-step-tool{color:#c0c5ce;font-weight:600}.ai-chat-step-latency{color:#678;margin-left:auto;font-size:10px}.ai-chat-step-badge{text-transform:uppercase;border-radius:10px;padding:1px 6px;font-size:9px;font-weight:600}.ai-chat-step-badge--success{color:#34d399;background:#064e3b}.ai-chat-step-badge--error{color:#f87171;background:#450a0a}.ai-chat-step-badge--running{color:#60a5fa;background:#1e3a5f}.ai-chat-step-error{color:#f87171;margin-top:4px;padding-left:16px;font-size:11px}.ai-chat-send--cancel{color:#f87171;background:#450a0a;animation:1.5s ease-in-out infinite pulse}.ai-chat-send--cancel:hover{background:#7f1d1d}@keyframes pulse{0%,to{opacity:1}50%{opacity:.7}}.app-shell{max-width:100vw;overflow-x:hidden}.ai-chat-header-right{align-items:center;gap:6px;display:flex}.ai-chat-title{font-size:var(--text-sm);color:var(--color-text);font-weight:600}.ai-chat-icon-btn{width:28px;height:28px;color:var(--color-text-muted);cursor:pointer;background:0 0;border:none;border-radius:6px;justify-content:center;align-items:center;transition:background .12s,color .12s;display:flex}.ai-chat-icon-btn:hover{background:var(--color-bg-muted);color:var(--color-text)}.ai-chat-input-wrap{border-top:1px solid var(--color-border-subtle);background:var(--color-bg);flex-shrink:0;align-items:flex-end;gap:8px;padding:10px 14px;display:flex}.ai-chat-send-btn{border-radius:var(--radius-sm);background:var(--color-accent);width:36px;height:36px;color:var(--color-bg-elevated);cursor:pointer;border:none;flex-shrink:0;justify-content:center;align-items:center;transition:background .12s;display:flex}.ai-chat-send-btn:hover:not(:disabled){background:var(--color-accent-hover)}.ai-chat-send-btn:disabled{opacity:.4;cursor:not-allowed}.ai-chat-send-btn--cancel{color:#f87171;background:#450a0a;animation:1.5s ease-in-out infinite pulse}.ai-chat-send-btn--cancel:hover{background:#7f1d1d}.ai-chat-prompts{border-top:1px solid var(--color-border-subtle);background:var(--color-bg);flex-wrap:wrap;gap:6px;padding:8px 14px;display:flex}.ai-chat-prompt-chip{background:var(--color-bg-elevated);border:1px solid var(--color-border-subtle);border-radius:var(--radius-sm);color:var(--color-text-secondary);cursor:pointer;text-align:left;white-space:nowrap;align-items:center;gap:4px;padding:5px 10px;font-size:11px;line-height:1.3;transition:border-color .12s,background .12s,color .12s;display:inline-flex}.ai-chat-prompt-chip:hover{border-color:var(--color-accent);color:var(--color-text);background:#5c534a0f}.ai-chat-prompt-chip:disabled{opacity:.5;cursor:not-allowed}.ai-chat-steps-latency{color:#678;margin-left:auto;font-size:10px;font-weight:500}.ai-chat-step-desc{color:#c0c5ce;font-weight:500}.ai-chat-step-notes{flex-direction:column;gap:2px;margin-top:4px;padding-left:16px;display:flex}.ai-chat-step-note{color:#89a;font-size:10px;line-height:1.4}.ai-step-error{color:#f87171;width:100%;margin-top:4px;padding-left:16px;font-size:11px}.ai-export-dropdown{background:var(--color-bg-elevated);border:1px solid var(--color-border);z-index:100;border-radius:6px;flex-direction:column;min-width:120px;display:flex;position:absolute;top:calc(100% + 4px);right:0;overflow:hidden;box-shadow:0 4px 12px #0006}.ai-export-dropdown button{color:var(--color-text-muted);text-align:left;cursor:pointer;white-space:nowrap;background:0 0;border:none;padding:8px 12px;font-size:12px;transition:background .12s,color .12s}.ai-export-dropdown button:hover{background:var(--color-bg-muted);color:var(--color-text)}.ai-settings-menu{background:var(--color-bg);border-bottom:1px solid var(--color-border-subtle);flex-direction:column;gap:10px;padding:12px 14px;display:flex}.ai-settings-row{align-items:center;gap:10px;font-size:12px;display:flex}.ai-settings-label{min-width:70px;color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.04em;font-size:11px;font-weight:600}.ai-settings-value{color:var(--color-text);word-break:break-all;font-family:var(--font-mono);flex:1}.ai-settings-key-wrap{flex:1;align-items:center;gap:6px;display:flex}.ai-settings-eye{width:28px;height:28px;color:var(--color-text-muted);cursor:pointer;background:0 0;border:none;border-radius:6px;flex-shrink:0;justify-content:center;align-items:center;transition:background .12s,color .12s;display:flex}.ai-settings-eye:hover{background:var(--color-bg-muted);color:var(--color-text)}.ai-settings-actions{border-top:1px solid var(--color-border-subtle);justify-content:flex-end;gap:8px;padding-top:6px;display:flex}.ai-settings-btn{background:var(--color-accent);color:var(--color-bg-elevated);cursor:pointer;border:none;border-radius:6px;align-items:center;gap:6px;padding:6px 12px;font-size:12px;font-weight:600;transition:background .12s;display:inline-flex}.ai-settings-btn:hover:not(:disabled){background:var(--color-accent-hover)}.ai-settings-btn:disabled{opacity:.5;cursor:not-allowed}.ai-step-result{color:#a0a8b0;flex-wrap:wrap;align-items:center;gap:6px;margin-top:4px;font-size:11px;display:flex}.ai-step-result-label{color:#c0c5ce;font-weight:600}.ai-step-synth{color:#94a3b8;background:#1e293b;border-radius:4px;margin-top:4px;padding:4px 8px;font-size:11px;line-height:1.4}.ai-step-cycles{flex-direction:column;gap:2px;width:100%;margin-top:4px;display:flex}.ai-step-cycle{color:#94a3b8;background:#1e1e22;border-radius:3px;padding:2px 6px;font-family:monospace;font-size:10px}.ai-step-cycle-label{color:#f59e0b;margin-right:4px;font-weight:600}.ai-step-path,.ai-step-subsystem{background:#1e1e22;border-radius:4px;width:100%;margin-top:4px;padding:4px 8px}.ai-step-path-name,.ai-step-subsystem-name{color:#c0c5ce;font-size:11px;font-weight:600}.ai-step-path-meta,.ai-step-subsystem-meta{color:#89a;margin-top:2px;font-size:10px}.ai-step-path-bottleneck{color:#f87171;margin-top:2px;font-size:10px}.ai-chat-followups{flex-wrap:wrap;gap:6px;margin-top:8px;display:flex}.ai-chat-followup-chip{color:#60a5fa;cursor:pointer;background:#1e293b;border:1px solid #334155;border-radius:12px;align-items:center;gap:4px;padding:4px 10px;font-size:11px;transition:background .15s;display:flex}.ai-chat-followup-chip:hover{background:#334155}.ai-chat-followup-chip:disabled{opacity:.5;cursor:not-allowed}.ai-mode-select{color:#c0c5ce;cursor:pointer;background:#1e1e22;border:1px solid #2a2a30;border-radius:4px;padding:2px 6px;font-size:11px;font-weight:600}.ai-mode-select:focus{border-color:#3b82f6;outline:none}@media (width<=767px){.app-main{overflow-x:hidden;flex-direction:column!important;padding:0!important}.app-global-tree,.graph-workspace-right-column,.panel-expand-tab--right{display:none!important}.app-sidebar{-webkit-overflow-scrolling:touch;scrollbar-width:none;z-index:50!important;border-top:1px solid #25252a!important;border-right:none!important;flex-direction:row!important;width:100%!important;min-width:auto!important;height:auto!important;max-height:56px!important;position:fixed!important;inset:auto 0 0!important;overflow:auto hidden!important}.app-sidebar::-webkit-scrollbar{display:none}.app-sidebar>div:first-child{display:none!important}.app-sidebar>div:nth-child(2),.app-sidebar>div:last-child{flex-shrink:0;align-items:center;gap:2px;flex-flow:row!important;padding:0!important;display:flex!important;overflow:visible!important}.app-sidebar>div:nth-child(2)>div,.app-sidebar>div:last-child>div{display:none!important}.app-sidebar>div:nth-child(2) button,.app-sidebar>div:last-child button{white-space:nowrap;border-bottom:3px solid #0000;min-width:56px;border-left:none!important;flex-direction:column!important;justify-content:center!important;gap:2px!important;padding:4px 8px!important;font-size:10px!important}.app-sidebar>div:nth-child(2) button span:last-child,.app-sidebar>div:last-child button span:last-child{white-space:nowrap;text-overflow:clip!important;overflow:visible!important}.app-main-content{min-width:0;padding-bottom:56px;overflow-x:hidden}.workspace-panels{overflow-x:hidden}.workspace-panel{overflow-x:auto}.graph-layout{gap:8px;padding:8px;flex-direction:column!important}.graph-panel-left,.graph-panel-right,.graph-panel-tree,.graph-workspace-right-column{width:100%!important;min-width:auto!important;max-width:100%!important;max-height:45vh!important}.graph-canvas-wrap{min-height:40vh}.diagrams-panel{gap:8px;padding:8px;flex-direction:column!important}.diagrams-panel-sidebar{max-height:35vh;width:100%!important;min-width:auto!important;max-width:100%!important}.app-menubar{-webkit-overflow-scrolling:touch;scrollbar-width:none;flex-wrap:nowrap;height:36px;overflow:auto hidden}.app-menubar::-webkit-scrollbar{display:none}.app-tree-toggle{top:40px!important;left:8px!important}}html[data-theme=light]{--color-bg:#f5f5f7;--color-bg-elevated:#fff;--color-bg-muted:#e8e8ec;--color-bg-canvas:#f0f0f2;--color-bg-hover:#e0e0e5;--color-bg-overlay:#f5f5f7eb;--color-surface-default:#fff;--color-surface-hover:#f0f0f5;--color-surface-active:#e8e8f0;--color-surface-disabled:#e0e0e5;--color-border:#d1d1d6;--color-border-subtle:#e0e0e5;--color-border-strong:#b0b0b8;--color-text:#1a1a1e;--color-text-secondary:#4a4a52;--color-text-muted:#6a6a72;--color-text-faint:#8a8a92;--color-accent:#0d8a6e;--color-accent-hover:#0a6b56;--color-success:#0d9e6f;--color-warning:#c27a00;--color-danger:#dc2626;--color-info:#2563eb;--color-code-bg:#f0f0f5;--shadow-sm:0 1px 2px #00000014;--shadow-md:0 4px 12px #0000001a;--shadow-lg:0 8px 24px #0000001f;--shadow-xl:0 16px 48px #00000024;scrollbar-color:#0003 transparent}html[data-theme=light] body,html[data-theme=light] #root{background-color:var(--color-bg);color:var(--color-text)}html[data-theme=light] .app-sidebar,html[data-theme=light] .app-menubar,html[data-theme=light] .graph-panel,html[data-theme=light] .graph-toolbar,html[data-theme=light] .graph-workspace-bottom{background-color:var(--color-bg-elevated);border-color:var(--color-border-subtle)}html[data-theme=light] .graph-panel-tree{background-color:var(--color-bg-elevated)}html[data-theme=light] .panel-header{border-bottom-color:var(--color-border-subtle)}html[data-theme=light] .panel-header h2{color:var(--color-text)}html[data-theme=light] .graph-toolbar__btn{background:var(--color-bg-muted);color:var(--color-text-secondary);border-color:var(--color-border-subtle)}html[data-theme=light] .graph-toolbar__btn:hover{background:var(--color-bg-hover);color:var(--color-text)}html[data-theme=light] .graph-toolbar__btn.is-active{color:#0d8a6e;background:#0d8a6e1f;border-color:#0d8a6e4d}html[data-theme=light] .graph-button{background:var(--color-bg-muted);color:var(--color-text-secondary);border-color:var(--color-border)}html[data-theme=light] .graph-button:hover{background:var(--color-bg-hover);color:var(--color-text)}html[data-theme=light] input[type=text],html[data-theme=light] input[type=password],html[data-theme=light] select,html[data-theme=light] textarea{background:var(--color-bg);color:var(--color-text);border-color:var(--color-border)}html[data-theme=light] input::placeholder,html[data-theme=light] textarea::placeholder{color:var(--color-text-faint)}html[data-theme=light] .modal-overlay,html[data-theme=light] [class*=modal] [style*="rgba(0,0,0,0.6"]{background:#0000004d!important}html[data-theme=light] .graph-fieldset{background:var(--color-bg-elevated);border-color:var(--color-border-subtle)}html[data-theme=light] .legend-item{background:var(--color-bg-muted);color:var(--color-text-secondary)}html[data-theme=light] .legend-item:hover{background:var(--color-bg-hover)}html[data-theme=light] .tabular-view{background:var(--color-bg-elevated)}html[data-theme=light] .tabular-view th{background:var(--color-bg-muted);color:var(--color-text);border-bottom-color:var(--color-border)}html[data-theme=light] .tabular-view td{color:var(--color-text-secondary);border-bottom-color:var(--color-border-subtle)}html[data-theme=light] .tabular-view tr:hover td{background:var(--color-bg-hover)}html[data-theme=light] .query-terminal,html[data-theme=light] .ai-chat-panel{background:var(--color-bg-elevated);border-color:var(--color-border-subtle)}html[data-theme=light] .diagrams-page{background:var(--color-bg)}html[data-theme=light] .diagram-canvas{background:var(--color-bg-canvas)}html[data-theme=light] .landing-page{--lp-bg:#f5f5f7;--lp-bg-elevated:#fff;--lp-bg-card:#ffffffe6;--lp-border:#00000014;--lp-text:#1a1a1e;--lp-text-muted:#5a5a62}html[data-theme=light] text{fill:var(--color-text)}html[data-theme=light] .graph-toolbar__badge{background:var(--color-bg-muted);color:var(--color-text-muted)}html[data-theme=light] .graph-toolbar__sep{background:var(--color-border-subtle)}html[data-theme=light] .onboarding-overlay{background:#f5f5f7f2}html[data-theme=light] .onboarding-overlay h2{color:var(--color-text)}html[data-theme=light] .onboarding-overlay p{color:var(--color-text-secondary)}html[data-theme=light] select,html[data-theme=light] input[type=checkbox]{accent-color:var(--color-accent)}
