.network-graph{--edge-strong:color-mix(in oklab, var(--primary) 72%, var(--card));--edge:color-mix(in oklab, var(--primary) 26%, var(--border));--edge-faint:var(--border);isolation:isolate;position:relative}.network-graph__svg{width:100%;height:auto;transform:translate(calc(var(--px,0) * -6px), calc(var(--py,0) * -6px));transition:transform .6s var(--ease-standard);display:block;overflow:visible}.network-graph__edge{fill:none;stroke:var(--edge);stroke-width:1.2px;stroke-linecap:round;stroke-dasharray:1;stroke-dashoffset:0;animation:network-graph-draw 1.1s var(--ease-standard) both;animation-delay:var(--d,0s)}.network-graph__edge--faint{stroke:var(--edge-faint);stroke-width:1px}.network-graph__edge--strong{stroke:var(--edge-strong);stroke-width:1.75px}@keyframes network-graph-draw{0%{stroke-dashoffset:1px}}.network-graph__breathe{transform-box:fill-box;transform-origin:50%;animation:7s ease-in-out infinite network-graph-breathe;animation-delay:var(--fd,0s)}@keyframes network-graph-breathe{0%,to{transform:translateY(0)}50%{transform:translateY(-4px)}}.network-graph__node{transform-box:fill-box;transform-origin:50%;animation:network-graph-node-in .65s var(--ease-standard) both;animation-delay:var(--d,0s)}@keyframes network-graph-node-in{0%{opacity:0;transform:scale(.3)}}.network-graph__tone-hub{fill:var(--primary)}.network-graph__tone-primary{fill:var(--primary);stroke:var(--card);stroke-width:2px}.network-graph__tone-soft{fill:color-mix(in oklab, var(--primary) 24%, var(--card))}.network-graph__tone-muted{fill:var(--card);stroke:var(--border-strong);stroke-width:1.5px}.network-graph__tone-icon{fill:var(--card);stroke:var(--primary);stroke-width:1.5px}.network-graph__halo{fill:color-mix(in oklab, var(--primary) 9%, transparent)}.network-graph__halo--outer{fill:none;stroke:color-mix(in oklab, var(--primary) 18%, transparent);stroke-width:1px}.network-graph__pulse{fill:none;stroke:var(--primary);stroke-width:1px;transform-box:fill-box;transform-origin:50%;opacity:0;animation:4.5s ease-out infinite network-graph-pulse;animation-delay:var(--d,0s)}@keyframes network-graph-pulse{0%{opacity:.45;transform:scale(1)}70%,to{opacity:0;transform:scale(1.9)}}.network-graph__signal{fill:var(--primary)}.network-graph__label-position{z-index:1;transform:translate(calc(var(--px,0) * var(--depth,.5) * 14px), calc(var(--py,0) * var(--depth,.5) * 14px));transition:transform .6s var(--ease-standard);position:absolute}.network-graph__label-position--centered{translate:-50%}.network-graph__label-float{animation:8s ease-in-out infinite network-graph-breathe;animation-delay:var(--fd,0s)}.network-graph__label{animation:network-graph-label-in .7s var(--ease-standard) both;animation-delay:var(--d,0s)}@keyframes network-graph-label-in{0%{opacity:0;transform:translateY(.5rem)}}.network-graph[data-state=waiting] .network-graph__edge{stroke-dashoffset:1px;animation:none}.network-graph[data-state=waiting] .network-graph__node,.network-graph[data-state=waiting] .network-graph__label{opacity:0;animation:none}.network-graph[data-paused] *,.network-graph[data-paused] :before,.network-graph[data-paused] :after{animation-play-state:paused!important}@media (prefers-reduced-motion:reduce){.network-graph *,.network-graph :before,.network-graph :after{transition:none!important;animation:none!important}.network-graph__svg,.network-graph__label-position{transform:none}}
