/* Original isometric diagrams: modular infrastructure, flowing data and floating layers. */
.iso-art,.product-mini-art{position:relative;display:block;isolation:isolate}
.iso-scene,.iso-mini{display:block;width:100%;height:100%;overflow:visible;transform:perspective(1100px) rotateX(var(--iso-tilt-x,0deg)) rotateY(var(--iso-tilt-y,0deg));transition:transform .35s ease-out;transform-origin:50% 55%}
.iso-wire{fill:none;stroke:#b0b9d0;stroke-width:1.2;stroke-linejoin:round}
.iso-label{fill:#55607c;font:500 16px "Segoe UI","Microsoft YaHei",sans-serif;letter-spacing:.4px}
.iso-label path{fill:none}
.iso-motion{will-change:auto}
.iso-float{animation:iso-float 6s ease-in-out infinite}
.iso-flow{fill:none;stroke:url(#iso-stream);stroke-width:2.7;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:5 32;animation:iso-flow 4.4s linear infinite}
.iso-flow-reverse{animation-direction:reverse;animation-duration:5.8s}
.iso-pulse{animation:iso-pulse 3.8s ease-in-out infinite}
.iso-ring{animation:iso-ring 12s linear infinite}
.iso-breathe{transform-box:fill-box;transform-origin:center;animation:iso-breathe 5.5s ease-in-out infinite}
.iso-token{animation:iso-token 2.8s linear infinite}
.iso-elastic{transform-box:fill-box;transform-origin:center;animation:iso-elastic 5.6s ease-in-out infinite}
.iso-meter{transform-box:fill-box;transform-origin:center bottom;animation:iso-meter 5.2s ease-in-out infinite}
.is-motion-idle .iso-motion,body.motion-paused .iso-motion{animation-play-state:paused!important}
.is-motion-idle .iso-scene,.is-motion-idle .iso-mini,body.motion-paused .iso-scene,body.motion-paused .iso-mini{transform:none!important}
@keyframes iso-float{0%,100%{transform:translateY(0)}50%{transform:translateY(-9px)}}
@keyframes iso-flow{to{stroke-dashoffset:-148}}
@keyframes iso-pulse{0%,100%{opacity:.35}50%{opacity:1}}
@keyframes iso-ring{to{stroke-dashoffset:-144}}
@keyframes iso-breathe{0%,100%{opacity:.35;transform:scale(.96)}50%{opacity:.85;transform:scale(1.03)}}
@keyframes iso-token{0%{opacity:0;transform:translate(-9px,5px)}18%,78%{opacity:1}100%{opacity:0;transform:translate(13px,-7px)}}
@keyframes iso-elastic{0%,100%{opacity:.3;transform:scale(.88)}35%,75%{opacity:1;transform:scale(1)}}
@keyframes iso-meter{0%,100%{transform:scaleY(.64)}35%{transform:scaleY(.93)}70%{transform:scaleY(.76)}}
@media(prefers-reduced-motion:reduce){.iso-motion{animation:none!important}.iso-scene,.iso-mini{transition:none!important;transform:none!important}}
