/* Actor network module. Typography and pill appearance inherit the approved Atlas
   Details contract; this file contains graph-specific geometry and edge behavior. */
.actorNetworkSection{overflow:visible}
.actorNetworkRoot{position:relative;width:100%;min-width:0;color:var(--fg)}
.actorNetworkStage{position:relative;width:100%;min-height:0;overflow:visible}
.actorNetworkBackground{position:absolute;inset:0;z-index:0;pointer-events:none}
.actorNetworkEdges{position:absolute;inset:0;z-index:1;width:100%;height:100%;overflow:visible;pointer-events:none}
.actorNetworkNodes{position:absolute;inset:0;z-index:2;pointer-events:none}
.actorNetworkDisclosureRegion{position:absolute;left:0;width:100%;border:0;border-radius:4px;background:transparent;transition:background var(--fast)}
.actorNetworkDisclosureRegion.hover{background:var(--control-hover)}
.detailsBody .actorNetworkNode{position:absolute;max-width:calc(100% - 8px);overflow:hidden;text-overflow:ellipsis;pointer-events:auto;cursor:pointer}
.detailsBody .actorNetworkNodeLabel{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.detailsBody .actorNetworkNode.focal{z-index:3;cursor:default}
.detailsBody .actorNetworkMore{position:absolute;pointer-events:auto;cursor:pointer;color:var(--fg2);background:var(--control-bg);border-color:var(--line);transition:background var(--fast),color var(--fast),border-color var(--fast)}
.detailsBody .actorNetworkMore:hover{background:var(--control-hover);border-color:var(--line-strong);color:var(--fg)}
.actorNetworkDisclosure{position:absolute;z-index:4;left:0;width:100%;height:28px;display:flex;align-items:center;justify-content:space-between;gap:10px;padding:0 8px;background:transparent;border:0;border-radius:4px;color:var(--fg2);font-size:var(--type-meta);font-weight:400;line-height:1.1;text-align:left;pointer-events:none;transition:color var(--fast)}
.actorNetworkDisclosureLabel,.actorNetworkDisclosureIcon{pointer-events:auto;background:transparent;border:0;color:inherit;font-size:inherit;font-weight:400;line-height:1.1;cursor:pointer}
.actorNetworkDisclosureLabel{min-width:0;padding:3px 0;text-align:left}
.actorNetworkDisclosureIcon{width:18px;height:20px;display:grid;place-items:center;flex:0 0 18px;padding:0}
.actorNetworkDisclosureLabel:hover,.actorNetworkDisclosureIcon:hover{color:var(--fg)}
.actorNetworkDisclosureLabel:focus-visible,.actorNetworkDisclosureIcon:focus-visible{outline:2px solid var(--accent);outline-offset:1px;border-radius:3px}
.actorNetworkFocusToggle{position:relative;width:12px;height:12px;display:block;color:var(--meta);font-size:var(--type-meta);font-weight:600;line-height:12px;text-align:center}
.actorNetworkFocusToggle::before{content:"+";position:absolute;inset:0;display:grid;place-items:center}
.actorNetworkDisclosure[data-open="true"] .actorNetworkFocusToggle::before{content:"−"}
.actorNetworkSelectedLabel{position:absolute;z-index:4;left:0;height:20px;display:flex;align-items:center;padding:0 8px;color:var(--fg2);font-size:var(--type-meta);font-weight:400;line-height:1.1;pointer-events:none}
.actorNetworkEdgeLine{fill:none;stroke:var(--line);stroke-width:1;stroke-dasharray:var(--actor-network-dash,none);vector-effect:non-scaling-stroke;stroke-linecap:round;stroke-linejoin:round}
.actorNetworkEdgeHit{fill:none;stroke:transparent;stroke-width:5;vector-effect:non-scaling-stroke;pointer-events:stroke}
.actorNetworkEdgeHoverOverlay{pointer-events:none}
.actorNetworkEdgeHoverLine{fill:none;stroke:var(--fg);stroke-width:var(--actor-network-edge-hover-width,1.35);stroke-dasharray:var(--actor-network-dash,none);vector-effect:non-scaling-stroke;stroke-linecap:round;stroke-linejoin:round;pointer-events:none}
.actorNetworkLineKey{display:flex;align-items:center;flex-wrap:wrap;gap:5px 9px;margin:9px 0 0;padding:0 2px;color:var(--fg2);font-size:var(--type-meta);line-height:1.1}
.actorNetworkLineKey[hidden]{display:none}
.actorNetworkKeyItem{display:inline-flex;align-items:center;gap:4px;white-space:nowrap}
.actorNetworkKeySample{width:21px;height:6px;display:block;overflow:visible}
.actorNetworkKeySample line{stroke:var(--line);stroke-width:1;vector-effect:non-scaling-stroke}
.actorNetworkTooltip{position:fixed;z-index:50;display:none;max-width:290px;padding:6px 8px;overflow:hidden;pointer-events:none;background:color-mix(in srgb,var(--fg) 94%,transparent);color:var(--control-bg);border-radius:5px;font-size:var(--type-meta);font-weight:600;line-height:1.25;white-space:normal}
.actorNetworkTooltip.visible{display:block}
.actorNetworkTooltip .actorNetworkTipMuted{display:block;margin-top:2px;opacity:.72;font-weight:500}
@media(max-width:720px),(pointer:coarse) and (max-width:1024px){.actorNetworkTooltip{display:none!important}}
