#architecture-diagram {isolation:isolate}
.architecture-tracks {position:absolute;inset:0;pointer-events:none;z-index:0}
.architecture-track {position:absolute;height:1px;transform-origin:0 50%;background:repeating-linear-gradient(90deg,#72809655 0 4px,transparent 4px 8px)}
.architecture-track::after {content:'';position:absolute;left:0;top:-2px;width:4px;height:4px;border-radius:50%;background:#b1d47a;box-shadow:0 0 4px #a8cc6638;opacity:0;animation:architecture-transfer var(--duration,6.6s) linear infinite;animation-delay:var(--delay);animation-play-state:paused}
#architecture-diagram.is-visible .architecture-track::after {animation-play-state:running}
@keyframes architecture-transfer {
 0% {left:0;opacity:0}
 6% {opacity:.6}
 40% {opacity:.6}
 46%,50% {left:100%;opacity:0}
 56% {opacity:.6}
 90% {opacity:.6}
 96%,100% {left:0;opacity:0}
}
@media(prefers-reduced-motion:reduce){.architecture-track::after {display:none}}
#architecture-diagram {height:384px;scroll-margin-top:100px}
#architecture-diagram [data-arch-node="left"],#architecture-diagram [data-arch-node="right"] {top:calc(50% - 7.5px)}
