/* Shared ecosystem navigation. Deliberately isolated from source-owned previews. */
/* Graph-only context actions leave native menus on links and page controls intact. */
.eg-root .eg-context-menu,.eg-root .eg-tooltip{inset:auto;margin:0}
.eg-root .eg-context-menu[data-eg-overlay-layer=top],.eg-root .eg-tooltip[data-eg-overlay-layer=top]{position:fixed}
.eg-root .eg-context-menu::backdrop,.eg-root .eg-tooltip::backdrop{background:transparent;pointer-events:none}
.eg-root .eg-context-menu{position:absolute;z-index:30;overflow:auto;overscroll-behavior:contain;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;font-family:SourcePlex,Inter,Arial,sans-serif;user-select:none;scrollbar-width:thin;scrollbar-color:var(--eg-border) transparent}
.eg-root .eg-context-heading{padding:9px 11px 10px;border-bottom:1px solid var(--eg-border);margin-bottom:4px}
.eg-root .eg-context-title{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden;font-size:13px;font-weight:600;line-height:1.4;color:var(--eg-text)}
.eg-root .eg-context-kind{display:block;margin-top:4px;font:9px/1.45 SourcePlexMono,ui-monospace,monospace;color:var(--eg-muted);letter-spacing:.025em}
.eg-root .eg-context-item{display:flex;align-items:center;width:100%;min-height:36px;padding:8px 11px;border:0;border-radius:6px;background:transparent;color:var(--eg-text);font:12px/1.4 SourcePlex,Inter,Arial,sans-serif;text-align:left;text-decoration:none;cursor:pointer;outline:none}
.eg-root .eg-context-item:hover:not([aria-disabled=true]),.eg-root .eg-context-item:focus-visible{background:var(--eg-card-hover);color:var(--eg-accent)}
.eg-root .eg-context-item:focus-visible{box-shadow:inset 0 0 0 1px var(--eg-accent)}
.eg-root .eg-context-item[aria-disabled=true]{color:var(--eg-muted);opacity:.45;cursor:default}
.eg-root .eg-context-separator{height:1px;margin:5px 8px;background:var(--eg-border)}
.eg-root .eg-context-hint{display:block;margin:3px 6px 0;padding:8px 5px 5px;border-top:1px solid var(--eg-border);font:9px/1.4 SourcePlexMono,ui-monospace,monospace;color:var(--eg-muted)}
@media(pointer:coarse){.eg-root .eg-context-item{min-height:42px}}
/* Canvas tools stay out of the graph until requested; arrangements remain local. */
.eg-root .eg-arrange{position:absolute;inset-block:var(--eg-tools-inset,8px);inset-inline-start:var(--eg-tools-inset,8px);width:min(288px,calc(100% - 2 * var(--eg-tools-inset,8px)));z-index:6;pointer-events:none;display:flex;flex-direction:column;align-items:flex-start;gap:6px}
.eg-root .eg-arrange button{font:11px/1.3 SourcePlex,Inter,Arial,sans-serif;color:var(--eg-text);background:var(--eg-card);border:1px solid var(--eg-border);cursor:pointer}
.eg-root .eg-arrange button:hover:not(:disabled){background:var(--eg-card-hover);border-color:var(--eg-accent)}
.eg-root .eg-arrange button:focus-visible,.eg-root .eg-arrange-panel:focus-visible{outline:2px solid var(--eg-accent);outline-offset:3px}
.eg-root .eg-arrange button:disabled{cursor:default;opacity:.38}
.eg-root .eg-arrange-toggle{position:relative;pointer-events:auto;flex:none;display:grid;place-items:center;width:32px;height:32px;border-radius:8px;padding:6px;box-shadow:0 2px 8px #0001}
.eg-root .eg-arrange-toggle>svg{display:block;width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.3;stroke-linecap:round;pointer-events:none}
.eg-root .eg-arrange-toggle circle{fill:var(--eg-card)}
.eg-root .eg-arrange-toggle[data-eg-edited=true]::after{content:'';position:absolute;top:3px;right:3px;width:4px;height:4px;border-radius:50%;background:var(--eg-accent)}
.eg-root .eg-arrange-panel{position:relative;pointer-events:auto;width:100%;max-height:calc(100% - 38px);overflow:auto;overscroll-behavior:contain;border:1px solid var(--eg-border);border-radius:10px;background:var(--eg-bg);box-shadow:0 12px 36px #0004;padding:12px;scrollbar-width:thin;scrollbar-color:var(--eg-border) transparent}
.eg-root .eg-arrange-heading{display:block;padding-right:28px;font-size:13px;font-weight:600;color:var(--eg-text)}
.eg-root .eg-arrange-close{position:absolute;right:9px;top:9px;width:27px;height:27px;font-size:19px!important;line-height:1!important;border-radius:50%}
.eg-root .eg-arrange-description,.eg-root .eg-arrange-keyboard{font:11px/1.55 SourcePlex,Inter,Arial,sans-serif;color:var(--eg-muted);margin:10px 0}
.eg-root .eg-arrange-summary{font:10px/1.45 SourcePlexMono,ui-monospace,monospace;color:var(--eg-accent);margin:10px 0}
.eg-root .eg-arrange-list{list-style:none;padding:0;margin:12px 0;display:grid;gap:4px}
.eg-root .eg-arrange-row{display:grid;grid-template-columns:12px minmax(0,1fr) 20px 27px 27px;align-items:center;gap:5px;padding:4px;border:1px solid transparent;border-radius:6px;min-height:37px;cursor:grab}
.eg-root .eg-arrange-row:hover{background:var(--eg-card)}
.eg-root .eg-arrange-grip{color:var(--eg-muted);font:18px/1 sans-serif}
.eg-root .eg-arrange-layer{font:11px/1.35 SourcePlex,Inter,Arial,sans-serif;color:var(--eg-text);border-left:2px solid var(--eg-arrange-color);padding-left:7px}
.eg-root .eg-arrange-count{font:9px SourcePlexMono,ui-monospace,monospace;color:var(--eg-muted);text-align:center}
.eg-root .eg-arrange-row button{width:27px;height:27px;min-width:0;padding:0;border-radius:5px;font-size:14px}
.eg-root .eg-arrange-row.eg-arrange-drop{border-color:var(--eg-accent);background:var(--eg-card-hover)}
.eg-root .eg-arrange-row.eg-arrange-dragging{opacity:.45}
.eg-root .eg-arrange-reset{width:100%;padding:9px 12px;border-radius:7px}
.eg-root .eg-arrange-region-handle{fill:transparent;pointer-events:all;cursor:grab}
.eg-root .eg-svg.eg-is-moving,.eg-root .eg-svg.eg-is-moving .eg-node,.eg-root .eg-svg.eg-is-moving .eg-arrange-region-handle{cursor:grabbing}
.eg-root .eg-node.eg-is-moving .eg-node-shape,.eg-root .eg-node.eg-is-moving .eg-node-bubble,.eg-root .eg-node.eg-is-moving .eg-node-overview{stroke:var(--eg-accent);stroke-width:2.4}
.eg-root .eg-region.eg-is-moving>.eg-region-bg{fill-opacity:.1;stroke-opacity:.85;stroke-width:2}
@media(pointer:coarse){.eg-root .eg-arrange-toggle{width:44px;height:44px}.eg-root .eg-arrange-row{grid-template-columns:12px minmax(0,1fr) 18px 34px 34px}.eg-root .eg-arrange-row button{width:34px;height:34px}.eg-root .eg-arrange-panel{max-height:calc(100% - 50px)}}
.eg-root{--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;position:relative;overflow:hidden;isolation:isolate;min-width:0;background:radial-gradient(ellipse at 75% 25%,#47635b20,transparent 70%),var(--eg-bg);color:var(--eg-text);font-family:SourcePlex,Inter,Arial,sans-serif}
.eg-root[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}
.eg-root *{box-sizing:border-box}.eg-root [hidden]{display:none!important}.eg-root .eg-svg{display:block;position:absolute;inset:0;width:100%;height:100%;overflow:hidden;touch-action:none;cursor:grab;user-select:none;-webkit-user-select:none}.eg-root .eg-svg.eg-is-dragging{cursor:grabbing}.eg-grid-dot{fill:var(--eg-line);opacity:.26}.eg-background{pointer-events:all}.eg-regions{pointer-events:all}.eg-region{cursor:zoom-in}.eg-region-bg{fill:var(--eg-region-color);fill-opacity:.035;stroke:var(--eg-region-color);stroke-opacity:.2;stroke-width:1;vector-effect:non-scaling-stroke}.eg-region:hover .eg-region-bg{fill-opacity:.075;stroke-opacity:.45}.eg-region-rule{fill:none;stroke:var(--eg-region-color);stroke-opacity:.17;vector-effect:non-scaling-stroke;pointer-events:none}.eg-region-title{fill:var(--eg-region-color);font-family:SourcePlexMono,ui-monospace,monospace;font-weight:500;letter-spacing:.45px;pointer-events:none}.eg-root[data-eg-theme=light] .eg-region-title{fill:var(--eg-muted)}
.eg-edge{fill:none;stroke:var(--eg-line);stroke-width:.9;opacity:.17;vector-effect:non-scaling-stroke;pointer-events:none;transition:opacity .16s}.eg-edge.eg-is-direction{stroke-dasharray:5 5}.eg-edge.eg-is-source{stroke:#83b9a2}.eg-edge.eg-is-adjacent{stroke-dasharray:2 4}.eg-edge.eg-is-active{stroke:var(--eg-edge-color,var(--eg-accent));stroke-width:1.45;opacity:.64}.eg-edge.eg-is-muted{opacity:.045}.eg-root[data-eg-theme=light] .eg-edge.eg-is-active{stroke:var(--eg-accent);opacity:.55}
.eg-node{cursor:pointer;outline:none;transition:opacity .16s}.eg-node-hit{fill:transparent;stroke:none}.eg-node-shape{fill:var(--eg-card);stroke:var(--eg-border);stroke-width:1;vector-effect:non-scaling-stroke;transition:fill .16s,stroke .16s}.eg-node-marker{fill:var(--eg-node-color)}.eg-node-title{font-size:15px;font-weight:500;fill:var(--eg-text);letter-spacing:-.2px;pointer-events:none}.eg-node-meta{font:8.5px SourcePlexMono,ui-monospace,monospace;fill:var(--eg-muted);letter-spacing:.5px;pointer-events:none}.eg-node.eg-is-muted{opacity:.7}.eg-node.eg-is-related .eg-node-shape{stroke:var(--eg-node-color);stroke-opacity:.6}.eg-node.eg-is-selected .eg-node-shape,.eg-node.eg-is-hovered .eg-node-shape,.eg-node:hover .eg-node-shape,.eg-node:focus-visible .eg-node-shape{fill:var(--eg-card-hover);stroke:var(--eg-node-color);stroke-opacity:1;stroke-width:1.6}.eg-node.eg-is-selected .eg-node-shape{stroke-width:2}.eg-node:focus-visible .eg-node-hit{stroke:var(--eg-accent);stroke-width:3;stroke-dasharray:3 3;vector-effect:non-scaling-stroke}.eg-node-overview{display:none;fill:var(--eg-node-color);stroke:var(--eg-bg);stroke-width:1.5;vector-effect:non-scaling-stroke}.eg-node-caption{display:none;font-family:SourcePlex,Inter,Arial,sans-serif;font-weight:500;fill:var(--eg-text);stroke:var(--eg-bg);stroke-width:5;paint-order:stroke;stroke-linejoin:round;pointer-events:none}.eg-node-weight{font:11px SourcePlexMono,ui-monospace,monospace;fill:var(--eg-accent);paint-order:stroke;stroke:var(--eg-bg);stroke-width:3;stroke-linejoin:round;pointer-events:none}.eg-weight-halo{fill:var(--eg-node-color);fill-opacity:.035;stroke:var(--eg-node-color);stroke-opacity:.22;stroke-width:1;vector-effect:non-scaling-stroke;pointer-events:none}
.eg-root[data-eg-overview=true] .eg-node-shape,.eg-root[data-eg-overview=true] .eg-node-marker,.eg-root[data-eg-overview=true] .eg-node-title,.eg-root[data-eg-overview=true] .eg-node-meta,.eg-root[data-eg-overview=true] .eg-node-weight{display:none}.eg-root[data-eg-overview=true] .eg-node-overview{display:block}.eg-root[data-eg-overview=true] .eg-node.eg-is-selected .eg-node-overview,.eg-root[data-eg-overview=true] .eg-node.eg-is-hovered .eg-node-overview,.eg-root[data-eg-overview=true] .eg-node:focus-visible .eg-node-overview{stroke:var(--eg-accent);stroke-width:2.5}.eg-root[data-eg-overview=true] .eg-node.eg-is-selected .eg-node-caption,.eg-root[data-eg-overview=true] .eg-node.eg-is-hovered .eg-node-caption,.eg-root[data-eg-overview=true] .eg-node:focus-visible .eg-node-caption{display:block}.eg-root[data-eg-overview=true] .eg-weight-halo{fill-opacity:.015;stroke-opacity:.1}
.eg-node.eg-compact-label .eg-node-meta{display:none}
.eg-tooltip{position:absolute;z-index:10;max-width:min(280px,calc(100% - 24px));padding:15px 16px;border:1px solid var(--eg-border);border-radius:12px;background:var(--eg-card);box-shadow:0 8px 30px #0003;color:var(--eg-text);pointer-events:none}.eg-tooltip>strong{display:block;font-size:15px;line-height:1.35;font-weight:600}.eg-tooltip-kind{display:block;margin-top:4px;font:9px SourcePlexMono,ui-monospace,monospace;letter-spacing:.07em;text-transform:uppercase;color:var(--eg-muted)}.eg-tooltip>p{font-size:11px;line-height:1.55;margin:10px 0;color:var(--eg-muted)}.eg-tooltip>small{display:block;font-size:10px;color:var(--eg-accent);margin-top:9px}.eg-hint{position:absolute;left:16px;bottom:12px;z-index:2;max-width:calc(100% - 205px);font:9px/1.55 SourcePlexMono,ui-monospace,monospace;color:var(--eg-muted);background:var(--eg-bg);border:1px solid var(--eg-border);border-radius:20px;padding:6px 11px;pointer-events:none}.eg-root[data-eg-compact=true] .eg-hint{max-width:calc(100% - 32px)}.eg-minimap{position:absolute;right:14px;bottom:12px;width:142px;height:92px;background:var(--eg-bg);border:1px solid var(--eg-border);border-radius:10px;overflow:hidden;opacity:.85;cursor:crosshair;z-index:3}.eg-minimap:hover,.eg-minimap:focus-visible{opacity:1;outline:2px solid var(--eg-accent);outline-offset:3px}.eg-mini-region{fill:var(--eg-line);fill-opacity:.13;stroke:var(--eg-border);stroke-width:.5}.eg-minimap-viewport{fill:var(--eg-accent);fill-opacity:.08;stroke:var(--eg-accent);stroke-width:1.2;pointer-events:none}.eg-touch-toggle{display:none;position:absolute;right:12px;bottom:12px;z-index:4;border:1px solid var(--eg-border);border-radius:24px;background:var(--eg-card);color:var(--eg-text);padding:10px 13px;min-height:40px;font:11px SourcePlex,Inter,Arial,sans-serif;cursor:pointer}.eg-touch-toggle:focus-visible{outline:3px solid var(--eg-accent);outline-offset:3px}.eg-empty{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;text-align:center;font-size:14px;color:var(--eg-muted);padding:35px;pointer-events:none}
@media(max-width:680px){.eg-hint{max-width:calc(100% - 30px);font-size:8px;left:10px;bottom:10px;padding:6px 9px}.eg-tooltip{max-width:min(260px,calc(100% - 20px));padding:12px 14px}.eg-minimap{display:none}}
@media(pointer:coarse){.eg-root .eg-svg{touch-action:pan-y}.eg-root[data-eg-touch-active=true] .eg-svg{touch-action:none}.eg-touch-toggle{display:block}.eg-hint,.eg-root[data-eg-compact=true] .eg-hint{max-width:calc(100% - 132px);bottom:13px}.eg-minimap{bottom:67px}}
@media(prefers-reduced-motion:reduce){.eg-root *{transition:none!important;animation:none!important;scroll-behavior:auto!important}}

/* V19: readable nameplates are the default; point-only compact view is optional. */
.eg-root[data-eg-display=readable] .eg-node-title{font-weight:500;letter-spacing:-.12px}
.eg-root[data-eg-display=readable] .eg-node-marker{display:none}
.eg-root[data-eg-display=readable] .eg-node-shape{stroke-opacity:.6}
.eg-root[data-eg-display=readable] .eg-node-meta{display:none}
.eg-node-image{pointer-events:none;clip-path:inset(0 round 7px)}
.eg-root[data-eg-overview=true] .eg-node-image{display:none!important}
.eg-node.eg-has-image .eg-node-marker{display:none}
.eg-root[data-eg-overview=true] .eg-node.eg-show-caption .eg-node-caption{display:block}
.eg-root[data-eg-labels=none] .eg-node-title,.eg-root[data-eg-labels=none] .eg-node-caption{display:none!important}
.eg-root[data-eg-labels=all] .eg-node-caption{font-weight:500}
.eg-tooltip{width:min(290px,calc(100% - 24px));max-width:none;padding:12px;overflow:hidden}
.eg-tooltip-image,.eg-tooltip-diagram{display:block;width:100%;height:124px;margin:0 0 11px;border:1px solid var(--eg-border);border-radius:8px;background:var(--eg-bg);object-fit:cover;object-position:top center}
.eg-tooltip-diagram>svg{display:block;width:100%;height:100%}
.eg-visual-bg{fill:var(--eg-bg)}
.eg-visual-fill{fill:var(--eg-visual-color);fill-opacity:.14;stroke:var(--eg-visual-color);stroke-opacity:.8;stroke-width:1.2}
.eg-visual-line{fill:none;stroke:var(--eg-visual-color);stroke-opacity:.55;stroke-width:1.2}
.eg-visual-dot{fill:var(--eg-visual-color)}
.eg-visual-word{font:10px SourcePlex,Inter,Arial,sans-serif;fill:var(--eg-text)}
.eg-visual-initials{font:20px SourcePlex,Inter,Arial,sans-serif;fill:var(--eg-text);font-weight:600}
.eg-tooltip>p{margin:8px 0;font-size:11px;line-height:1.45}
.eg-tooltip>small{line-height:1.4}
@media(max-width:680px){.eg-tooltip{width:min(264px,calc(100% - 20px))}.eg-tooltip-image,.eg-tooltip-diagram{height:108px}}

.eg-tooltip-preview{position:relative;width:100%;aspect-ratio:49/30;margin:0 0 6px;overflow:hidden;border:1px solid var(--eg-border);border-radius:8px;background:var(--eg-bg)}
.eg-tooltip-preview>.eg-tooltip-diagram{position:absolute;inset:0;height:100%;margin:0;border:0}
.eg-tooltip-frame{display:block;position:absolute;left:0;top:0;width:980px;height:600px;transform-origin:0 0;transform:scale(var(--eg-preview-scale,.27));border:0;opacity:0;pointer-events:none;background:var(--eg-card)}
.eg-preview-loaded .eg-tooltip-frame{opacity:1}
.eg-tooltip-visual-kind{display:block;margin:0 0 9px;font:8px SourcePlexMono,ui-monospace,monospace;text-transform:uppercase;letter-spacing:.09em;color:var(--eg-muted)}
.eg-tooltip{width:min(360px,calc(100% - 24px))}
.eg-tooltip-source[hidden],.eg-tooltip-visuals[hidden]{display:none!important}
.eg-tooltip-source-canvas{position:absolute;left:0;top:0;width:720px;min-height:450px;transform-origin:0 0;transform:scale(var(--eg-preview-scale,.46));pointer-events:none;user-select:none;color:initial;text-align:left}
.eg-tooltip-source-canvas>.sp-mount{width:100%;container-type:inline-size;min-width:0}.eg-tooltip-source-canvas .sp-source-note,.eg-tooltip-source-canvas .sp-provenance,.eg-tooltip-source-canvas .sp-frame-footer,.eg-tooltip-source-canvas .bd17-preview-footer{display:none!important}
.eg-preview-loading{position:absolute;inset:0;display:grid;place-items:center;padding:20px;text-align:center;font:12px/1.5 SourcePlex,Arial,sans-serif;color:var(--eg-muted);background:var(--eg-bg)}
.eg-preview-loading[hidden]{display:none!important}
.eg-tooltip-source .eg-tooltip-visual-kind{font:10px/1.4 SourcePlex,Arial,sans-serif;text-transform:none;letter-spacing:0;margin:7px 0 10px}
@media(max-width:680px){.eg-tooltip{width:min(308px,calc(100% - 20px))}}

.eg-root[data-eg-connections=all] .eg-edge.eg-is-muted{opacity:.18}

/* Independent node shapes and the topology-based Network view. */
.eg-node-bubble{display:none;fill:var(--eg-card);stroke:var(--eg-node-color);stroke-width:1.1;stroke-opacity:.7;vector-effect:non-scaling-stroke}
.eg-root[data-eg-node-style=bubbles] .eg-node-bubble{display:block}
.eg-root[data-eg-node-style=bubbles] .eg-node-shape,.eg-root[data-eg-node-style=bubbles] .eg-node-marker,.eg-root[data-eg-node-style=bubbles] .eg-node-meta{display:none}
.eg-root[data-eg-node-style=bubbles] .eg-node-title{font-weight:500;letter-spacing:-.15px}
.eg-root[data-eg-node-style=bubbles] .eg-node.eg-is-selected .eg-node-bubble,.eg-root[data-eg-node-style=bubbles] .eg-node.eg-is-hovered .eg-node-bubble,.eg-root[data-eg-node-style=bubbles] .eg-node:focus-visible .eg-node-bubble{stroke-width:2.2;stroke-opacity:1;fill:var(--eg-card-hover)}
.eg-root[data-eg-node-style=dots] .eg-node-image{display:none!important}

.eg-edge.eg-is-baseline:not(.eg-is-active){opacity:.25;stroke-width:1}
.eg-node.eg-is-hover-related .eg-node-bubble,.eg-node.eg-is-hover-related .eg-node-shape{stroke-opacity:1;stroke-width:1.7}

/* V20: semantic subcategories remain presentation regions, never graph nodes. */
.eg-subgroup .eg-region-bg{fill-opacity:.055;stroke-opacity:.28;stroke-dasharray:3 4}
.eg-subgroup:hover .eg-region-bg,.eg-subgroup:focus-visible .eg-region-bg{fill-opacity:.1;stroke-opacity:.85;stroke-dasharray:none}
.eg-subgroup-title{fill:var(--eg-region-color);font-family:SourcePlex,Inter,Arial,sans-serif;font-weight:500;letter-spacing:.1px;pointer-events:none}
.eg-region:focus-visible{outline:none}.eg-region:focus-visible>.eg-region-bg{stroke-width:2;stroke-opacity:1;fill-opacity:.075}
.eg-subgroup .eg-region-rule{stroke-opacity:.24}
.eg-root[data-eg-theme=light] .eg-subgroup-title{fill:var(--eg-text)}

/* V20.1: topology-guided networks, visible structural sizing and screen labels. */
.eg-node-glyph{display:none;pointer-events:none}
.eg-root[data-eg-layout=network]{background:radial-gradient(ellipse at 50% 45%,#54786916,transparent 68%),var(--eg-bg)}
.eg-root[data-eg-layout=network] .eg-grid-dot{opacity:.13}
.eg-root[data-eg-layout=network] .eg-node-title,
.eg-root[data-eg-layout=network] .eg-node-caption,
.eg-root[data-eg-layout=network] .eg-node-meta{display:none!important}
.eg-root[data-eg-layout=network] .eg-node-bubble{fill:var(--eg-node-color);fill-opacity:.14;stroke-opacity:.75;stroke-width:1.1}
.eg-root[data-eg-layout=network] .eg-node.eg-is-hub .eg-node-bubble{fill-opacity:.2;stroke-width:1.8}
.eg-root[data-eg-layout=network] .eg-node-glyph{display:block;fill:var(--eg-text);font-family:SourcePlexMono,ui-monospace,monospace;font-weight:500;opacity:.9;paint-order:stroke;stroke:var(--eg-bg);stroke-width:.7}
.eg-root[data-eg-layout=network] .eg-node.eg-is-selected .eg-node-bubble,
.eg-root[data-eg-layout=network] .eg-node.eg-is-hovered .eg-node-bubble{fill-opacity:.38;stroke-opacity:1;stroke-width:2.4}
.eg-root[data-eg-layout=network] .eg-node.eg-is-muted{opacity:.26}
.eg-root[data-eg-layout=network] .eg-edge{stroke-width:.65;opacity:.12;transition:opacity .13s,stroke-width .13s}
.eg-root[data-eg-layout=network] .eg-edge.eg-is-bridge{stroke-dasharray:none;opacity:.08}
.eg-root[data-eg-layout=network] .eg-edge.eg-is-hub-edge{opacity:.055}
.eg-root[data-eg-layout=network] .eg-edge.eg-is-baseline:not(.eg-is-active){opacity:.23;stroke-width:.85}
.eg-root[data-eg-layout=network] .eg-edge.eg-is-active{stroke:var(--eg-edge-color,var(--eg-accent));stroke-width:1.6;opacity:.85}
.eg-root[data-eg-layout=network] .eg-edge.eg-is-muted{opacity:.04}
.eg-root[data-eg-layout=network][data-eg-connections=all] .eg-edge.eg-is-muted{opacity:.1}
.eg-root[data-eg-layout=network][data-eg-overview-selected=true][data-eg-hovering=false] .eg-edge.eg-is-active{opacity:.44;stroke-width:1.05}
.eg-network-label{cursor:pointer}
.eg-label-bg{fill:var(--eg-bg);fill-opacity:.9;stroke:var(--eg-border);stroke-opacity:0;stroke-width:.7;vector-effect:non-scaling-stroke}
.eg-network-label-text{fill:var(--eg-text);font-family:SourcePlex,Inter,Arial,sans-serif;font-weight:500;letter-spacing:0;pointer-events:none}
.eg-label-leader{stroke:var(--eg-node-color);stroke-opacity:.28;stroke-width:.6;fill:none;vector-effect:non-scaling-stroke;pointer-events:none}
.eg-network-label.eg-label-active .eg-label-bg{fill:var(--eg-card);fill-opacity:1;stroke:var(--eg-node-color);stroke-opacity:.8}
.eg-network-label.eg-label-active .eg-network-label-text{font-weight:600}
.eg-network-label.eg-label-neighbor .eg-label-bg{stroke:var(--eg-node-color);stroke-opacity:.25}
.eg-network-label.eg-label-muted{opacity:.42}
.eg-root[data-eg-labels=none] .eg-network-labels{display:none}
.eg-network-legend{position:absolute;bottom:52px;left:14px;z-index:3;width:194px;padding:10px 12px;background:var(--eg-bg);border:1px solid var(--eg-border);border-radius:10px;box-shadow:0 4px 18px #0002;pointer-events:none}
.eg-network-legend>strong{display:block;color:var(--eg-text);font:500 11px SourcePlex,Inter,Arial,sans-serif}
.eg-network-legend>span,.eg-network-legend>small{display:block;margin-top:5px;font:10px/1.45 SourcePlex,Inter,Arial,sans-serif;color:var(--eg-muted)}
.eg-network-legend>small{font-size:9px;opacity:.85}
.eg-size-scale{display:block;width:152px;height:44px;margin-top:6px;overflow:visible}
.eg-size-scale circle,.eg-size-scale rect{fill:var(--eg-accent);fill-opacity:.2;stroke:var(--eg-accent);stroke-width:.8}
.eg-size-scale text{fill:var(--eg-text);font:9px SourcePlexMono,ui-monospace,monospace}
@media(max-width:680px){.eg-network-legend{left:10px;bottom:50px;width:166px;padding:8px 10px}.eg-size-scale{width:136px;height:39px}.eg-network-legend>small{font-size:8px}.eg-network-legend>span{font-size:9px}}

.eg-root[data-eg-layout=network] .eg-edge.eg-is-direction{stroke-dasharray:5 5}

/* Keep instructions available to assistive technology without a permanent pill. */
.eg-root .eg-hint,.eg-root[data-eg-compact=true] .eg-hint{position:absolute;inset:0 auto auto 0;width:1px;height:1px;max-width:1px;margin:-1px;padding:0;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0;pointer-events:none}
.eg-root .eg-arrange-panel .eg-minimap{position:relative;inset:auto;display:block;width:160px;height:104px;max-width:100%;margin:8px auto 12px;z-index:auto;opacity:1}
.eg-root .eg-touch-toggle{right:var(--eg-tools-inset,8px);bottom:var(--eg-tools-inset,8px);padding:7px 10px;border-radius:8px}
@media(pointer:coarse){.eg-root .eg-touch-toggle{min-height:44px}}

/* Topic containers are navigation regions, not extra graph entities. */
.eg-root[data-eg-grouping=topics] .eg-region-title,.eg-root[data-eg-grouping=families] .eg-region-title{font-family:SourcePlex,Inter,Arial,sans-serif;font-weight:600;letter-spacing:0}
.eg-root[data-eg-grouping=topics] .eg-region-bg,.eg-root[data-eg-grouping=families] .eg-region-bg{fill-opacity:.045;stroke-opacity:.24}
.eg-root[data-eg-layout=network][data-eg-grouping=topics] .eg-region-bg,.eg-root[data-eg-layout=network][data-eg-grouping=families] .eg-region-bg{fill-opacity:.035;stroke-dasharray:5 5}
.eg-root .eg-node-avatar{pointer-events:none}
.eg-root .eg-node-avatar rect{fill:var(--eg-node-color);fill-opacity:.17;stroke:var(--eg-node-color);stroke-opacity:.25;vector-effect:non-scaling-stroke}
.eg-root .eg-node-avatar text{fill:var(--eg-text);font-family:SourcePlex,Inter,Arial,sans-serif;font-weight:650;letter-spacing:-.5px}
.eg-root[data-eg-overview=true] .eg-node-avatar,.eg-root[data-eg-images=false] .eg-node-avatar{display:none!important}
.eg-root[data-eg-layout=network][data-eg-node-style=cards] .eg-node.eg-is-muted{opacity:.58}
.eg-root[data-eg-display=readable] .eg-node.eg-nameplate .eg-node-marker{display:block}
.eg-root[data-eg-display=readable] .eg-node.eg-nameplate .eg-node-title{font-weight:600}


.eg-network-label.eg-label-inside .eg-label-bg{fill-opacity:0;stroke-opacity:0}.eg-network-label.eg-label-inside .eg-label-leader{display:none}

.eg-root[data-eg-layout=network][data-eg-node-style=cards]:not([data-eg-labels=none]) .eg-node-title{display:block!important}

/* V22: relationship families remain distinct even when endpoints coincide. */
.eg-edge.eg-is-ownership{stroke-dasharray:9 4}
.eg-edge.eg-is-specification{stroke-dasharray:3 3}
.eg-root[data-eg-layout=network] .eg-edge.eg-is-ownership{stroke-dasharray:9 4}
.eg-root[data-eg-layout=network] .eg-edge.eg-is-specification{stroke-dasharray:3 3}
.eg-root[data-eg-layout=network] .eg-edge.eg-is-direction{stroke-dasharray:5 5}

