widget-graph{display:block;position:relative}widget-graph svg{width:100%;height:auto;display:block;overflow:visible}widget-graph .edges line{stroke:var(--c-edge);stroke-width:1.2px}widget-graph .edges line.signal{stroke:var(--c-accent);stroke-opacity:.55;stroke-dasharray:3 14;animation:3.2s linear infinite graph-signal}widget-graph .node{transform-box:fill-box;transform-origin:50%;animation:4.2s ease-in-out infinite graph-breathe}widget-graph .node.root{stroke:#ffffff80;stroke-width:2px;animation-duration:3s}widget-graph.growing .nodes circle,widget-graph.growing .nodes text{animation-name:graph-grow-in,graph-breathe;animation-duration:.42s,4.2s;animation-iteration-count:1,infinite;animation-timing-function:var(--ease),ease-in-out}widget-graph.growing .nodes .halo{animation-name:graph-grow-in,graph-halo;animation-duration:.42s,3s}widget-graph.growing .edges line:not(.signal),widget-graph.growing .nodes text{animation:graph-fade-in .42s var(--ease) both}widget-graph .halo{transform-box:fill-box;transform-origin:50%;animation:3s ease-in-out infinite graph-halo}widget-graph text{font:500 12px var(--f-body);fill:var(--c-text-secondary);paint-order:stroke;stroke:var(--c-bg);stroke-width:4px;stroke-linejoin:round}widget-graph text.root{font:600 14px var(--f-display);fill:var(--c-text)}@keyframes graph-breathe{0%,to{opacity:.92;transform:scale(1)}50%{opacity:1;transform:scale(1.14)}}@keyframes graph-halo{0%,to{opacity:.7;transform:scale(.9)}50%{opacity:1;transform:scale(1.1)}}@keyframes graph-grow-in{0%{opacity:0;transform:scale(0)}}@keyframes graph-fade-in{0%{opacity:0}}@keyframes graph-signal{to{stroke-dashoffset:-34px}}@media (prefers-reduced-motion:reduce){widget-graph .edges line.signal,widget-graph .halo,widget-graph .node{animation:none!important}}
