.graph-explorer{--eg-bg:#12262d;--eg-card:#1b353b;--eg-card-hover:#27474a;--eg-text:#eef3e8;--eg-muted:#a4bbb1;--eg-line:#73918c;--eg-border:#42615c;--eg-accent:#d9e8b4;color:var(--eg-text);font-family:SourcePlex,Inter,Arial,sans-serif;min-width:0;color-scheme:dark}.graph-explorer[data-eg-theme=light]{--eg-bg:#f5f5ed;--eg-card:#fffef8;--eg-card-hover:#e8efdf;--eg-text:#223d34;--eg-muted:#63796b;--eg-line:#819b89;--eg-border:#b6c8b3;--eg-accent:#365f46;color-scheme:light}.graph-explorer *,.graph-explorer :after,.graph-explorer :before{box-sizing:border-box}.graph-explorer button,.graph-explorer input,.graph-explorer select{font:inherit}.graph-explorer button,.graph-explorer input[type=search],.graph-explorer select{border:1px solid var(--eg-border);border-radius:8px;background:var(--eg-card);color:var(--eg-text);min-height:38px;padding:8px 11px;font-size:12px;line-height:1.35}.graph-explorer button{cursor:pointer}.graph-explorer button:hover:not(:disabled),.graph-explorer button[aria-pressed=true]{background:var(--eg-card-hover);border-color:var(--eg-accent)}.graph-explorer button:disabled{opacity:.42;cursor:default}.graph-explorer a{color:var(--eg-accent);text-underline-offset:3px}.graph-explorer :is(button,a,select,input,summary):focus-visible{outline:2px solid var(--eg-accent);outline-offset:3px}.graph-explorer summary{cursor:pointer}.eg-sr-only{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.graph-explorer .graph-actions{display:flex;align-items:end;flex-wrap:wrap;gap:8px;margin:0 0 10px}.graph-actions>label{display:grid;gap:5px;color:var(--eg-muted);font-size:10px;letter-spacing:.02em}.graph-actions .graph-search{flex:1 1 180px}.graph-actions input,.graph-actions select{width:100%}.graph-status{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:0 0 10px}.graph-status p{font:10px/1.5 SourcePlexMono,ui-monospace,monospace;color:var(--eg-muted);margin:0}.graph-status button{min-height:30px;padding:5px 8px;font-size:10px}.graph-options{padding:16px;margin:12px 0;background:var(--eg-bg);border:1px solid var(--eg-border);border-radius:12px}.graph-panel-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:16px}.graph-panel-heading h3{margin:0;font-size:14px;font-weight:600}.graph-detail-heading>button,.graph-panel-heading>button{min-height:32px;min-width:32px;padding:3px;font-size:20px;line-height:1}.graph-display-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;align-items:end}.graph-display-grid>label:not(.graph-check){display:grid;gap:6px;font-size:11px;color:var(--eg-muted)}.graph-check{display:flex;align-items:center;gap:7px;font-size:11px;color:var(--eg-muted);min-height:38px}.graph-check input{accent-color:var(--eg-accent);width:15px;height:15px;flex:0 0 auto}.graph-options-note,.graph-options>p{font-size:11px;line-height:1.6;color:var(--eg-muted);margin:14px 0}.graph-filter-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:14px 0;align-items:start}.graph-filter-set{padding:10px;border:1px solid var(--eg-border);border-radius:8px;font-size:11px}.graph-filter-chips{display:flex;flex-wrap:wrap;gap:6px;max-height:230px;overflow:auto;margin-top:10px;padding:3px}.graph-filter-chips button{font-size:10px;min-height:30px;padding:5px 8px}.graph-arrange-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;padding:0;margin:12px 0;list-style:none}.graph-arrange-list li{display:flex;align-items:center;gap:6px;padding:6px 8px;border:1px solid var(--eg-border);border-radius:8px;cursor:grab}.graph-arrange-list li>span{flex:1;min-width:0;font-size:12px}.graph-arrange-list small{color:var(--eg-muted);margin-left:5px}.graph-arrange-list button{min-height:32px;min-width:32px;padding:5px}.graph-arrangement-footer{display:flex;align-items:center;gap:14px}.graph-arrangement-footer p{color:var(--eg-muted);font-size:11px}.graph-explorer .graph-body{display:grid;grid-template-columns:minmax(0,1fr) 300px;border:1px solid var(--eg-border);border-radius:14px;overflow:hidden;background:var(--eg-bg)}.graph-explorer .graph-canvas{height:min(70vh,660px);min-height:480px;border:0;border-radius:0;margin:0}.eg-root{position:relative;isolation:isolate;overflow:hidden;min-width:0;background:radial-gradient(ellipse at 75% 25%,#47635b20,transparent 70%),var(--eg-bg)}.eg-svg{display:block;width:100%;height:100%;outline:none;user-select:none;touch-action:none;cursor:grab}.eg-svg:focus-visible{outline:2px solid var(--eg-accent);outline-offset:-4px}.eg-svg.eg-is-dragging,.eg-svg.eg-is-dragging .eg-node,.eg-svg.eg-is-dragging .eg-region-heading{cursor:grabbing}.eg-grid-dot{fill:var(--eg-line);opacity:.25}.eg-region-shape{fill:var(--eg-region-color);fill-opacity:.035;stroke:var(--eg-region-color);stroke-opacity:.25;stroke-width:1;vector-effect:non-scaling-stroke}.eg-region-heading{cursor:grab;outline:none}.eg-region-hit{fill:transparent;stroke:transparent;vector-effect:non-scaling-stroke}.eg-region-heading:focus-visible .eg-region-hit,.eg-region-heading:hover .eg-region-hit{fill:var(--eg-region-color);fill-opacity:.08;stroke:var(--eg-region-color);stroke-dasharray:3 3}.eg-region-title{font-size:15px;font-weight:600}.eg-region-count,.eg-region-title{fill:var(--eg-muted);pointer-events:none}.eg-region-count{font:10px SourcePlexMono,ui-monospace,monospace}.eg-edge{fill:none;stroke:var(--eg-line);stroke-width:.8;opacity:.24;vector-effect:non-scaling-stroke;pointer-events:none}.eg-edge.eg-is-active{stroke:var(--eg-accent);stroke-width:1.45;opacity:.68}.eg-edge.eg-is-direction{stroke-dasharray:5 5}.eg-node{cursor:pointer;outline:none;transition:opacity .14s}.eg-node.eg-is-muted{opacity:.58}.eg-node-bubble,.eg-node-shape{fill:var(--eg-card);stroke:var(--eg-border);stroke-width:1;vector-effect:non-scaling-stroke}.eg-node-bubble{stroke:var(--eg-node-color);stroke-opacity:.8}.eg-node-dot{fill:var(--eg-node-color);fill-opacity:.75}.eg-node.eg-is-related :is(.eg-node-shape,.eg-node-bubble){stroke:var(--eg-node-color)}.eg-node:is(.eg-is-selected,.eg-is-hovered,:hover,:focus-visible) :is(.eg-node-shape,.eg-node-bubble){fill:var(--eg-card-hover);stroke:var(--eg-node-color);stroke-width:2}.eg-node.eg-is-selected .eg-node-dot{fill:var(--eg-node-color)}.eg-node-focus{fill:transparent;stroke:transparent;pointer-events:none;vector-effect:non-scaling-stroke}.eg-node:focus-visible .eg-node-focus{stroke:var(--eg-accent);stroke-width:2;stroke-dasharray:3 3}.eg-node-hit{fill:transparent}.eg-node-title{font-size:13px;font-weight:500;letter-spacing:-.15px;fill:var(--eg-text);pointer-events:none}.eg-node-image{clip-path:inset(0 round 7px)}.eg-node-avatar,.eg-node-image{pointer-events:none}.eg-node-avatar rect{fill:var(--eg-node-color);fill-opacity:.14;stroke:var(--eg-node-color);stroke-opacity:.3}.eg-node-avatar text,.eg-node-initials{fill:var(--eg-node-color);font-weight:500;pointer-events:none}.eg-pin{fill:var(--eg-accent);pointer-events:none}.eg-screen-label{font-size:11px;fill:var(--eg-text);stroke:var(--eg-bg);stroke-width:4px;stroke-linejoin:round;paint-order:stroke;pointer-events:none}.eg-screen-label.eg-is-active{font-weight:600;fill:var(--eg-accent)}.eg-camera-tools{position:absolute;z-index:2;top:12px;right:12px;display:flex;border:1px solid var(--eg-border);border-radius:9px;overflow:hidden;box-shadow:0 4px 20px #0002}.graph-explorer .eg-camera-tools button{border:0;border-radius:0;min-height:34px;min-width:32px;padding:6px 9px}.eg-camera-tools .eg-zoom-level{font:10px SourcePlexMono,ui-monospace,monospace;min-width:49px}.eg-camera-tools button:focus-visible{outline-offset:-3px}.eg-hint{z-index:2;left:10px;max-width:calc(100% - 164px);font:9px/1.5 SourcePlexMono,ui-monospace,monospace;color:var(--eg-muted);padding:6px 9px;border:1px solid var(--eg-border);border-radius:16px;pointer-events:none}.eg-hint,.eg-minimap{position:absolute;bottom:10px;background:var(--eg-bg)}.eg-minimap{right:10px;width:132px;height:86px;border:1px solid var(--eg-border);border-radius:9px;opacity:.9;cursor:crosshair;z-index:3}.eg-minimap:focus-visible{outline:2px solid var(--eg-accent);outline-offset:3px}.eg-mini-region{fill:var(--eg-line);fill-opacity:.12;stroke:var(--eg-border);stroke-width:1;vector-effect:non-scaling-stroke}.eg-minimap-viewport{fill:var(--eg-accent);fill-opacity:.08;stroke:var(--eg-accent);stroke-width:1.2;vector-effect:non-scaling-stroke;pointer-events:none}.graph-explorer .eg-touch-toggle{display:none;position:absolute;right:10px;bottom:10px;z-index:4;min-height:42px;border-radius:22px}.eg-tooltip{position:absolute;z-index:5;width:min(280px,calc(100% - 16px));padding:12px 14px;background:var(--eg-card);color:var(--eg-text);border:1px solid var(--eg-border);border-radius:10px;box-shadow:0 8px 30px #0004;pointer-events:none}.eg-tooltip>strong{display:block;font-size:14px;line-height:1.4}.eg-tooltip>span{display:block;font:9px/1.5 SourcePlexMono,ui-monospace,monospace;color:var(--eg-muted);margin-top:4px}.eg-tooltip>p{font-size:11px;line-height:1.5;color:var(--eg-muted);margin:8px 0 0;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:5;overflow:hidden}.eg-empty{position:absolute;inset:80px 20px;display:grid;place-items:center;text-align:center;color:var(--eg-muted);font-size:13px;pointer-events:none}.eg-context-menu{position:absolute;z-index:10;width:min(264px,calc(100% - 16px));max-height:calc(100% - 16px);overflow:auto;padding:5px;background:var(--eg-card);color:var(--eg-text);border:1px solid var(--eg-border);border-radius:12px;box-shadow:0 14px 42px #0005}.eg-context-heading{display:block;padding:10px;margin-bottom:4px;border-bottom:1px solid var(--eg-border);font-size:13px}.graph-explorer .eg-context-menu [role=menuitem]{display:block;width:100%;text-align:left;min-height:36px;padding:8px 10px;border:0;border-radius:6px;color:var(--eg-text);background:transparent;font-size:12px;line-height:1.4;text-decoration:none}.eg-context-menu [role=menuitem]:is(:hover,:focus-visible){background:var(--eg-card-hover);outline-offset:-2px}.eg-context-menu hr{border:0;height:1px;background:var(--eg-border);margin:5px 10px}.eg-context-menu small{display:block;color:var(--eg-muted);font-size:9px;padding:9px 10px}.graph-explorer .graph-detail{padding:18px;margin:0;border:0;border-left:1px solid var(--eg-border);border-radius:0;background:var(--eg-bg);max-height:min(70vh,660px);min-height:480px;overflow:auto;scrollbar-color:var(--eg-border) transparent;scrollbar-width:thin}.graph-detail-heading{display:flex;align-items:center;justify-content:space-between;gap:8px}.graph-eyebrow{font:9px/1.5 SourcePlexMono,ui-monospace,monospace;text-transform:uppercase;letter-spacing:.07em;color:var(--eg-muted)}.graph-detail h2{font-size:24px;line-height:1.12;letter-spacing:-.7px;font-weight:500;margin:14px 0}.graph-detail p{font-size:12px;line-height:1.65;margin:10px 0}.graph-detail .graph-description,.graph-detail-empty p,.graph-entry-id{color:var(--eg-muted)}.graph-entry-id{display:block;font:9px/1.5 SourcePlexMono,ui-monospace,monospace;overflow-wrap:anywhere}.graph-detail-actions{display:flex;gap:7px;flex-wrap:wrap;margin:16px 0}.graph-detail-actions a,.graph-detail-actions button{display:inline-flex;align-items:center;padding:7px 9px;font-size:10px;border:1px solid var(--eg-border);border-radius:7px;text-decoration:none;min-height:34px;background:var(--eg-card)}.graph-detail .graph-boundary{font-size:10px;color:var(--eg-muted);border-top:1px solid var(--eg-border);padding-top:12px}.graph-filter-note{padding:9px;background:var(--eg-card);border-radius:7px}.graph-filter-note button{margin-top:7px}.graph-copy-status{color:var(--eg-accent)}.graph-detail-empty{padding-top:8px}.graph-detail-empty h2{font-size:21px}.graph-detail-empty details{margin-top:24px;font-size:12px;color:var(--eg-muted)}.graph-relations{margin-top:22px;padding-top:16px;border-top:1px solid var(--eg-border)}.graph-relations-heading{display:flex;align-items:center;justify-content:space-between;gap:8px}.graph-relations-heading h3{font-size:12px;margin:0;font-weight:600}.graph-relations-heading>span{font:10px SourcePlexMono,ui-monospace,monospace;color:var(--eg-muted)}.graph-relations input[type=search]{width:100%;margin-bottom:6px}.graph-relation-list{list-style:none;padding:0;margin:0}.graph-relation{border-bottom:1px solid var(--eg-border);padding:14px 0;overflow-wrap:anywhere}.graph-relation-peer{display:flex;gap:8px;align-items:baseline}.graph-relation-peer>span{color:var(--eg-accent);font-size:17px}.graph-explorer .graph-relation-peer button{border:0;padding:0;min-height:24px;background:none;color:var(--eg-accent);text-align:left;font-size:13px}.graph-relation>p{font-size:11px;line-height:1.5;margin:4px 0 8px}.graph-evidence-status{display:inline-block;color:var(--eg-muted);border:1px solid var(--eg-border);padding:3px 6px;border-radius:5px;font:9px/1.3 SourcePlexMono,ui-monospace,monospace}.graph-evidence-proposed{border-style:dashed;color:#e5bf95}.graph-relation>small{display:block;color:var(--eg-muted);font-size:10px;margin-top:6px}.graph-relation details{margin-top:10px;font-size:10px;color:var(--eg-muted)}.graph-relation details>code{display:block;margin-top:8px;font-size:9px}.graph-relation details li,.graph-relation details p{font-size:10px;line-height:1.6}.graph-relation details :is(ol,ul){padding-left:18px}.graph-relation dl{margin:8px 0}.graph-relation dt{font-weight:600}.graph-relation dd{margin:2px 0 8px}.graph-relation-pages{display:flex;align-items:center;justify-content:space-between;gap:4px;margin-top:14px}.graph-relation-pages button{font-size:10px;min-height:32px;padding:6px}.graph-relation-pages span{font-size:9px;color:var(--eg-muted)}.graph-accessible-list{margin-top:14px;border:1px solid var(--eg-border);border-radius:10px;padding:12px 15px;color:var(--eg-muted);font-size:12px}.graph-explorer .graph-entry-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px 16px;padding:0;margin:14px 0 0;list-style:none}.graph-entry-list li{display:grid;gap:4px;padding:8px 0;min-width:0}.graph-entry-list button{text-align:left}.graph-entry-list small{font-size:10px;color:var(--eg-muted)}.graph-no-results{font-size:12px;color:var(--eg-muted)}@media (max-width:1040px){.graph-explorer .graph-body{grid-template-columns:minmax(0,1fr) 264px}.graph-explorer .graph-detail{padding:14px}.eg-minimap{width:110px;height:72px}.eg-hint{max-width:calc(100% - 136px)}}@media (max-width:760px){.graph-explorer .graph-body{display:block}.graph-explorer .graph-canvas{height:min(65vh,560px);min-height:390px}.graph-explorer .graph-detail{min-height:0;max-height:480px;border-left:0;border-top:1px solid var(--eg-border)}.graph-detail-empty{padding:0}.graph-detail-empty h2{font-size:18px;margin:8px 0}.graph-detail-empty details,.graph-detail-empty>p+p{display:none}.graph-display-grid,.graph-explorer .graph-entry-list,.graph-filter-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.graph-arrange-list{grid-template-columns:1fr}.graph-actions>label:not(.graph-search){flex:1 1 140px}.graph-actions .graph-search{flex-basis:100%}.graph-actions>button{flex:1}}@media (max-width:460px){.graph-explorer .graph-canvas{min-height:360px}.graph-display-grid,.graph-filter-grid{grid-template-columns:1fr}.graph-status{align-items:start}.graph-status p{font-size:9px}.eg-minimap{display:none}.eg-hint{max-width:calc(100% - 24px);font-size:8px}.graph-explorer .graph-entry-list{grid-template-columns:1fr}}@media (pointer:coarse){.eg-root .eg-svg{touch-action:pan-y}.eg-root[data-eg-touch-active=true] .eg-svg{touch-action:none}.graph-explorer .eg-touch-toggle{display:block}.eg-minimap{bottom:64px}.eg-hint{max-width:calc(100% - 156px);bottom:16px}.graph-explorer button{min-height:42px}}@media (prefers-reduced-motion:reduce){.graph-explorer *,.graph-explorer :after,.graph-explorer :before{animation:none!important;transition:none!important;scroll-behavior:auto!important}}