#diagram .dg-interaction-target{cursor:pointer}
#diagram .dg-interaction-target:focus-visible{outline:none;stroke:#2563eb;stroke-width:2;vector-effect:non-scaling-stroke}
#diagram .dg-interaction-target:focus-visible circle{stroke:#2563eb;stroke-width:2;vector-effect:non-scaling-stroke}
#diagram .dg-public-detail{margin:10px 0;padding:10px;border:1px solid #cbd5df;border-radius:4px;background:#fff;max-width:100%;overflow:hidden}
#diagram .dg-public-detail svg{display:block;margin:auto;max-width:100%;max-height:250px;min-height:65px}
#diagram .dg-public-trace{stroke-dasharray:1;stroke-dashoffset:1;animation:dg-public-retrace 1.2s ease-out forwards}
@keyframes dg-public-retrace{to{stroke-dashoffset:0}}
@media(prefers-reduced-motion:reduce){#diagram .dg-public-trace{animation:none;stroke-dashoffset:0}}

#diagram .dg-public-pop{transform-box:view-box;animation:dg-public-pop .4s ease-out both}
@keyframes dg-public-pop{from{transform:translate(0,0) scale(1)}to{transform:translate(var(--pop-x),var(--pop-y)) scale(var(--pop-scale))}}
@media(prefers-reduced-motion:reduce){#diagram .dg-public-pop{animation:none;transform:translate(var(--pop-x),var(--pop-y)) scale(var(--pop-scale))}}

#diagram .dg-public-pop-leave{animation:dg-public-pop-return .4s ease-in-out both}
@keyframes dg-public-pop-return{from{transform:translate(var(--pop-x),var(--pop-y)) scale(var(--pop-scale));opacity:1}to{transform:translate(0,0) scale(1);opacity:0}}
@media(prefers-reduced-motion:reduce){#diagram .dg-public-pop-leave{animation:none}}
