/* Load last. Routing space belongs to the diagram, never the cards. */
.af-v2 .af-map{position:relative;isolation:isolate}
.af-v2 .af-network{position:absolute;inset:0;display:block;width:100%;height:100%;overflow:visible;pointer-events:none;z-index:0}
.af-v2 .af-node,.af-v2 .af-lane-label{position:relative;z-index:1}
.af-v2 .af-lane-label{top:auto;left:auto}
.af-v2 .af-handoff{visibility:hidden}
.af-v2 .af-wire{fill:none;stroke:#a66037;stroke-width:1.3;stroke-linecap:round;stroke-linejoin:round;vector-effect:non-scaling-stroke}
.af-v2 .af-arrow{fill:none;stroke:#ef9560;stroke-width:1.1;stroke-linecap:round;stroke-linejoin:round}
.af-v2 .af-wire-bridge{stroke:#92715a;stroke-width:1.15;stroke-dasharray:4 4}
.af-v2 .af-arrow-bridge{stroke:#b7957d}
.af-v2 .af-wire-packet{fill:none;stroke:#ffa76d;stroke-width:3;stroke-linecap:round;stroke-dasharray:2.5 97.5;stroke-dashoffset:100;opacity:0;vector-effect:non-scaling-stroke}
@media(prefers-reduced-motion:no-preference){
 .af-v2 .af-playing .af-wire-packet{animation:af-wire-travel 6.6s linear infinite;animation-delay:var(--af-delay,0s)}
 .af-v2.af-motion-paused .af-wire-packet{animation-play-state:paused!important}
}
@keyframes af-wire-travel{0%{stroke-dashoffset:100;opacity:0}5%{opacity:1}43%{stroke-dashoffset:0;opacity:1}48%,100%{stroke-dashoffset:0;opacity:0}}
@media(max-width:900px){
 .af-v2 .af-map{box-sizing:border-box;padding-inline:12px;row-gap:42px}
 .af-v2 .af-lanes{row-gap:38px}
}
@media(max-width:540px){.af-v2 .af-map{row-gap:36px}.af-v2 .af-lanes{row-gap:34px}}
@media(prefers-reduced-motion:reduce){.af-v2 .af-wire-packet{display:none!important}.af-v2 .af-wire{stroke:#be7950}}
