@keyframes beamPulse{0%{offset-distance:0;opacity:0}6%{opacity:1}30%{offset-distance:100%;opacity:1}36%{offset-distance:100%;opacity:0}to{offset-distance:100%;opacity:0}}@keyframes pushFade{0%{opacity:0}5%{opacity:1}78%{opacity:1}88%{opacity:0}to{opacity:0}}@keyframes pushShrink{0%{transform:scale(.8)}5%{transform:scale(1)}78%{transform:scale(1)}88%{transform:scale(.8)}to{transform:scale(.8)}}@keyframes pushEmit{0%{opacity:0}8%{opacity:0}14%{opacity:1}62%{opacity:1}66%{opacity:0}to{opacity:0}}@keyframes packetFlow{0%{offset-distance:0;opacity:0}3%{opacity:1}15%{offset-distance:100%;opacity:1}18%{offset-distance:100%;opacity:0}to{offset-distance:100%;opacity:0}}@keyframes tunnelEstablishA{0%{opacity:0;stroke-dashoffset:100}3%{opacity:1}6%{stroke-dashoffset:100}16%{stroke-dashoffset:0}80%{opacity:1;stroke-dashoffset:0}88%{opacity:0}89%{stroke-dashoffset:100}to{opacity:0;stroke-dashoffset:100}}@keyframes tunnelEstablishB{0%{opacity:0;stroke-dashoffset:100}26%{opacity:0;stroke-dashoffset:100}29%{opacity:1}32%{stroke-dashoffset:100}42%{stroke-dashoffset:0}80%{opacity:1;stroke-dashoffset:0}88%{opacity:0}89%{stroke-dashoffset:100}to{opacity:0;stroke-dashoffset:100}}@keyframes tunnelGateA{0%{opacity:0}18%{opacity:0}22%{opacity:1}74%{opacity:1}78%{opacity:0}to{opacity:0}}@keyframes tunnelGateB{0%{opacity:0}44%{opacity:0}48%{opacity:1}74%{opacity:1}78%{opacity:0}to{opacity:0}}@media (prefers-reduced-motion:reduce){.cloud-push-diagram *,.cloud-tunnel-diagram *{animation:none!important}}