.iot-loop-flow .flow-step{position:relative;overflow:visible}.iot-loop-flow .flow-arrow{position:absolute;right:-33px;top:78px;width:40px;height:28px;z-index:4;fill:none;stroke:#42f21b;stroke-width:3;stroke-linecap:round;stroke-linejoin:round;overflow:visible}.iot-loop-flow .flow-arrow path{opacity:.55}.sensor-card-art{display:block;width:128px;max-width:100%;height:96px;margin:0 0 22px;padding:5px;border-radius:12px;background:#020c18;fill:#0a2940;stroke:#0785ff;stroke-width:2.3;stroke-linecap:round;stroke-linejoin:round}.sensor-card-art path:last-child{stroke:#42f21b}.gateway-bytes{fill:#42f21b;stroke:none}.flow-icon{overflow:visible}.response-left-arm{transform-origin:22px 36px}.response-right-arm{transform-origin:42px 36px}
@keyframes flow-chevron{0%,12%,100%{opacity:.55;transform:translateX(-3px)}18%,35%{opacity:1;transform:translateX(3px)}50%{opacity:.6;transform:translateX(0)}}
@keyframes sensor-buzz{0%,3%,19%,100%{transform:rotate(0)}5%,9%,13%,17%{transform:rotate(-7deg)}7%,11%,15%{transform:rotate(7deg)}}
@keyframes receive-bytes{0%,15%{opacity:0;transform:translateY(-5px)}23%{opacity:1}38%{opacity:0;transform:translateY(27px)}100%{opacity:0;transform:translateY(27px)}}
@keyframes cloud-drift{0%,30%,64%,100%{transform:translate(0,0)}40%{transform:translate(5px,-5px)}52%{transform:translate(-4px,-2px)}}
@keyframes phone-ring{0%,50%,75%,100%{transform:rotate(0)}54%,60%,66%,72%{transform:rotate(-9deg)}57%,63%,69%{transform:rotate(9deg)}}
@keyframes touchdown-left{0%,70%,100%{transform:rotate(0)}82%,94%{transform:rotate(85deg)}}@keyframes touchdown-right{0%,70%,100%{transform:rotate(0)}82%,94%{transform:rotate(-85deg)}}
.iot-loop-flow.iot-motion-enabled .flow-arrow path{animation:flow-chevron 8s ease-in-out infinite;animation-delay:calc(var(--step)*1.6s)}.iot-loop-flow.iot-motion-enabled .flow-arrow path+path{animation-delay:calc(var(--step)*1.6s + .25s)}.iot-loop-flow.iot-motion-enabled .flow-icon-sensor{animation:sensor-buzz 8s linear infinite;transform-origin:center}.iot-loop-flow.iot-motion-enabled .gateway-bytes{animation:receive-bytes 8s linear infinite}.iot-loop-flow.iot-motion-enabled .flow-icon-cloud{animation:cloud-drift 8s ease-in-out infinite}.iot-loop-flow.iot-motion-enabled .flow-icon-phone{animation:phone-ring 8s linear infinite;transform-origin:center}.iot-loop-flow.iot-motion-enabled .response-left-arm{animation:touchdown-left 8s ease-in-out infinite}.iot-loop-flow.iot-motion-enabled .response-right-arm{animation:touchdown-right 8s ease-in-out infinite}.iot-loop-flow.iot-motion-enabled .flow-step,.iot-loop-flow.iot-motion-enabled .flow-diagram.flow-running .flow-step{animation-duration:8s;animation-delay:calc(var(--step)*1.6s)}
@media(max-width:1000px){.iot-loop-flow .flow-arrow{top:auto;bottom:-28px;right:calc(50% - 20px);transform:rotate(90deg)}}@media(prefers-reduced-motion:reduce){.iot-loop-flow .flow-icon,.iot-loop-flow .flow-icon *,.iot-loop-flow .flow-arrow path{animation:none!important;transform:none}.iot-loop-flow .gateway-bytes{display:none}.iot-loop-flow .flow-arrow path{opacity:1}}
