.platform-diagram{margin:0;background:linear-gradient(135deg,#ffffff0d,#ffffff05);border:1px solid rgba(255,255,255,.1);border-radius:20px;padding:1.25rem 1.25rem 1rem}.platform-diagram-head{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:.75rem}.platform-diagram-pause{background:transparent;color:#ffffffb3;border:1px solid rgba(255,255,255,.25);border-radius:999px;font-size:.75rem;padding:.15rem .8rem}.platform-diagram-pause:hover,.platform-diagram-pause:focus-visible{color:#fff;border-color:#009bff}.platform-diagram-body svg{display:block;width:100%;height:auto}.platform-diagram-caption{color:#ffffffb3;font-size:.9rem;margin-top:.75rem;line-height:1.5}.dg-text{fill:#e6edf7;font-family:Lexend Deca,sans-serif;font-size:13px}.dg-text-sm{fill:#e6edf7b3;font-family:Lexend Deca,sans-serif;font-size:11px}.dg-text-title{fill:#fff;font-family:Lexend Deca,sans-serif;font-size:14px;font-weight:600}.dg-node{fill:#0c1628;stroke:#ffffff38;stroke-width:1.2}.dg-node-accent{fill:#009bff1f;stroke:#009bff;stroke-width:1.4}.dg-node-ok{fill:#28c8781a;stroke:#28c878;stroke-width:1.4}.dg-node-warn{fill:#ffaa0014;stroke:#fa0;stroke-width:1.4;stroke-dasharray:5 4}.dg-line{stroke:#ffffff47;stroke-width:1.5;fill:none}.dg-dev{stroke-dasharray:5 4;opacity:.8}.dg-flow{stroke:#009bff;stroke-width:2;fill:none;stroke-dasharray:6 8}.dg-flow-green{stroke:#28c878;stroke-width:2;fill:none;stroke-dasharray:6 8}.dg-flow-amber{stroke:#fa0;stroke-width:2;fill:none;stroke-dasharray:6 8}.platform-diagram[data-active=true] .dg-flow,.platform-diagram[data-active=true] .dg-flow-green,.platform-diagram[data-active=true] .dg-flow-amber{animation:dg-dash 1.2s linear infinite}@keyframes dg-dash{to{stroke-dashoffset:-14}}.dg-pulse{transform-box:fill-box;transform-origin:center}.platform-diagram[data-active=true] .dg-pulse{animation:dg-pulse 2.4s ease-in-out infinite}@keyframes dg-pulse{0%,to{opacity:.55;transform:scale(1)}50%{opacity:1;transform:scale(1.06)}}.dg-fade{opacity:0}.platform-diagram[data-active=true] .dg-fade{animation:dg-fade 6s ease-in-out infinite}@keyframes dg-fade{0%,8%{opacity:0}18%,80%{opacity:1}92%,to{opacity:0}}.dg-packet{fill:#009bff;offset-rotate:0deg;offset-distance:0%}.platform-diagram[data-active=true] .dg-packet{animation:dg-travel 3.2s linear infinite}@keyframes dg-travel{0%{offset-distance:0%}to{offset-distance:100%}}.dg-blink{opacity:.35}.platform-diagram[data-active=true] .dg-blink{animation:dg-blink 1.6s ease-in-out infinite}@keyframes dg-blink{0%,to{opacity:.35}50%{opacity:1}}.platform-diagram[data-active=false] *{animation-play-state:paused!important}@media (prefers-reduced-motion: reduce){.platform-diagram *,.platform-diagram[data-active] *{animation:none!important}.dg-fade,.dg-blink{opacity:1!important}.dg-pulse{opacity:1}}.dg-mobile,.platform-diagram-body svg.dg-mobile{display:none}@media (max-width: 767.98px){.dg-desktop,.platform-diagram-body svg.dg-desktop{display:none}.dg-mobile,.platform-diagram-body svg.dg-mobile{display:block}}.dg-kit-pkt{offset-rotate:0deg;offset-distance:0%;opacity:0}.platform-diagram[data-active=true] .dg-kit-pkt{animation-name:dg-kit-run;animation-iteration-count:infinite;animation-timing-function:linear}@keyframes dg-kit-run{0%{offset-distance:0%;opacity:0}2%{opacity:1}13%{offset-distance:100%;opacity:1}15%,to{offset-distance:100%;opacity:0}}.dg-kit-lit{fill:none;stroke:#009bff;stroke-width:2.4;opacity:0;filter:drop-shadow(0 0 5px rgba(0,155,255,.9));pointer-events:none}.dg-kit-lit-ok{stroke:#28c878;filter:drop-shadow(0 0 5px rgba(40,200,120,.9))}.platform-diagram[data-active=true] .dg-kit-lit{animation-name:dg-kit-lit;animation-iteration-count:infinite;animation-timing-function:ease-out}@keyframes dg-kit-lit{0%{opacity:0}2%{opacity:1}24%,to{opacity:0}}.dg-kit-line{stroke:#009bff73;stroke-width:1.6;fill:none}.dg-kit-line-ok{stroke:#28c8788c}.dg-kit-line-amber{stroke:#fa09}.dg-kit-group{fill:#ffffff05;stroke:#ffffff29;stroke-width:1;stroke-dasharray:3 5}.dg-kit-tagbg{fill:#1a1405;stroke:#fa0;stroke-width:1}.dg-kit-tag{fill:#fa0;font-family:Lexend Deca,sans-serif;font-size:10px}.dg-kit-ico{fill:none;stroke:#8fd0ff;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}.dg-kit-ico-fill{fill:#8fd0ff;stroke:none}.dg-kit-ico-ok{stroke:#6ee7a8}.dg-kit-ico-warn{stroke:#ffc24d}.dg-kit-t{fill:#fff;font-family:Lexend Deca,sans-serif;font-size:13px;font-weight:600}.dg-kit-s{fill:#e6edf7b8;font-family:Lexend Deca,sans-serif;font-size:11.5px}.dg-kit-lbl{fill:#e6edf79e;font-family:Lexend Deca,sans-serif;font-size:11px}.dg-kit-mono{fill:#9fd8ff;font-family:ui-monospace,Menlo,monospace;font-size:11px}.dg-kit-fadeloop{opacity:0}.platform-diagram[data-active=true] .dg-kit-fadeloop{animation-name:dg-kit-fadeloop;animation-iteration-count:infinite;animation-timing-function:ease-in-out}@keyframes dg-kit-fadeloop{0%,8%{opacity:0}14%,70%{opacity:1}80%,to{opacity:0}}.platform-diagram[data-active=true] .dg-kit-ping{animation:dg-kit-ping 2.2s ease-out infinite}.dg-kit-ping{transform-box:fill-box;transform-origin:center;fill:none;stroke:#28c878;stroke-width:1.5;opacity:0}@keyframes dg-kit-ping{0%{transform:scale(.4);opacity:.9}to{transform:scale(2.6);opacity:0}}@media (prefers-reduced-motion: reduce){.dg-kit-fadeloop{opacity:1!important}}.dg-kit-bad{fill:#ff5a5a1a;stroke:#ff5a5a;stroke-width:1.4}.dg-confidox-fill{transform-box:fill-box;transform-origin:left center;transform:scaleX(.72);fill:#009bff}.platform-diagram[data-active=true] .dg-confidox-fill{animation:dg-confidox-fill 6s ease-in-out infinite}@keyframes dg-confidox-fill{0%{transform:scaleX(.04)}70%,92%{transform:scaleX(.92)}to{transform:scaleX(.04)}}.dg-confidox-shackle{transform-box:fill-box;transform-origin:center bottom}.platform-diagram[data-active=true] .dg-confidox-shackle{animation:dg-confidox-lock 4.8s ease-in-out infinite}@keyframes dg-confidox-lock{0%,12%{transform:translateY(-5px)}26%,82%{transform:translateY(0)}96%,to{transform:translateY(-5px)}}.dg-confidox-key{opacity:1}.platform-diagram[data-active=true] .dg-confidox-key{animation:dg-confidox-key 4.8s ease-in-out infinite}@keyframes dg-confidox-key{0%,55%{opacity:1}75%,90%{opacity:.1}to{opacity:1}}.dg-confidox-hub{transform-box:fill-box;transform-origin:center}.platform-diagram[data-active=true] .dg-confidox-hub{animation:dg-confidox-hub 3s ease-in-out infinite}@keyframes dg-confidox-hub{0%,to{opacity:.25;transform:scale(1)}50%{opacity:.7;transform:scale(1.12)}}.dg-confidox-slow{animation-duration:6s!important}.dg-confidox-d1{animation-delay:1.5s!important}.dg-confidox-d2{animation-delay:3s!important}.dg-underlay{fill:#09101f;stroke:none}.dg-crm-stamp{transform-box:fill-box;transform-origin:center;opacity:1}.platform-diagram[data-active=true] .dg-crm-stamp{animation:dg-crm-stamp 5s ease-in-out infinite}@keyframes dg-crm-stamp{0%,30%{opacity:0;transform:scale(1.6)}42%,85%{opacity:1;transform:scale(1)}to{opacity:0;transform:scale(1)}}.dg-crm-knob{transform-box:fill-box}.platform-diagram[data-active=true] .dg-crm-slot{animation:dg-crm-slot 4s ease-in-out infinite}.dg-crm-slot{opacity:1}@keyframes dg-crm-slot{0%,20%{opacity:.2}50%,85%{opacity:1}to{opacity:.2}}.dg-crm-slow{animation-duration:5s!important}.dg-crm-d1{animation-delay:1.2s!important}.dg-crm-d2{animation-delay:2.4s!important}.dg-crm-d3{animation-delay:3.6s!important}.platform-diagram-body svg.dg-mobile{display:none}@media (max-width: 767.98px){.platform-diagram-body svg.dg-desktop{display:none}.platform-diagram-body svg.dg-mobile{display:block}}.dg-dev-spin{transform-box:fill-box;transform-origin:center}.platform-diagram[data-active=true] .dg-dev-spin{animation:dg-dev-spin 30s linear infinite}@keyframes dg-dev-spin{to{transform:rotate(360deg)}}.dg-dev-fail{opacity:.5}.platform-diagram[data-active=true] .dg-dev-fail{animation:dg-dev-fail 6s ease-in-out infinite}@keyframes dg-dev-fail{0%,25%{opacity:.35}40%,60%{opacity:1}80%,to{opacity:.35}}.dg-sfh-pk{opacity:0;offset-rotate:0deg;offset-distance:0%;filter:drop-shadow(0 0 4px currentColor)}.platform-diagram[data-active=true] .dg-sfh-pk{animation:dg-sfh-trav var(--dur, 3.2s) linear infinite}.platform-diagram[data-active=true] .dg-sfh-pk.dg-sfh-half{animation-name:dg-sfh-half}@keyframes dg-sfh-trav{0%{offset-distance:0%;opacity:0}8%{opacity:1}90%{opacity:1}to{offset-distance:100%;opacity:0}}@keyframes dg-sfh-half{0%{offset-distance:0%;opacity:0}3%{opacity:1}40%{offset-distance:100%;opacity:1}44%,to{offset-distance:100%;opacity:0}}.dg-sfh-hl{opacity:0}.platform-diagram[data-active=true] .dg-sfh-hl{animation:dg-sfh-hl var(--dur, 8s) ease-in-out infinite}.platform-diagram[data-active=true] .dg-sfh-hl.dg-sfh-long{animation-name:dg-sfh-long}@keyframes dg-sfh-hl{0%{opacity:0}2%{opacity:1}12%{opacity:1}20%,to{opacity:0}}@keyframes dg-sfh-long{0%{opacity:0}3%{opacity:1}24%{opacity:1}32%,to{opacity:0}}.dg-ftt-knob{transform:translate(22px)}.dg-ftt-on{opacity:1}.dg-ftt-off{opacity:0}.dg-ftt-new{opacity:1}.platform-diagram[data-active=true] .dg-ftt-knob{animation:dg-ftt-knob 8s ease-in-out infinite}.platform-diagram[data-active=true] .dg-ftt-on{animation:dg-ftt-after 8s ease-in-out infinite}.platform-diagram[data-active=true] .dg-ftt-off{animation:dg-ftt-before 8s ease-in-out infinite}.platform-diagram[data-active=true] .dg-ftt-new{animation:dg-ftt-appear 8s ease-in-out infinite}@keyframes dg-ftt-knob{0%,30%{transform:translate(0)}36%,94%{transform:translate(22px)}to{transform:translate(0)}}@keyframes dg-ftt-after{0%,30%{opacity:0}36%,94%{opacity:1}to{opacity:0}}@keyframes dg-ftt-before{0%,30%{opacity:1}36%,94%{opacity:0}to{opacity:1}}@keyframes dg-ftt-appear{0%,66%{opacity:0;transform:translateY(6px)}74%,94%{opacity:1;transform:translateY(0)}to{opacity:0}}.dg-ftt-new{transform-box:fill-box}.dg-ftt-offline{opacity:0}.dg-ftt-cloudsrc{opacity:1}.dg-ftt-localsrc{opacity:0}.platform-diagram[data-active=true] .dg-ftt-offline{animation:dg-ftt-offl 8s ease-in-out infinite}.platform-diagram[data-active=true] .dg-ftt-cloudsrc{animation:dg-ftt-before-off 8s ease-in-out infinite}.platform-diagram[data-active=true] .dg-ftt-localsrc{animation:dg-ftt-offl 8s ease-in-out infinite}@keyframes dg-ftt-offl{0%,52%{opacity:0}60%,94%{opacity:1}to{opacity:0}}@keyframes dg-ftt-before-off{0%,52%{opacity:1}60%,94%{opacity:0}to{opacity:1}}.dg-hc-amber,.dg-hc-red{opacity:0}.dg-hc-banner{opacity:1}.platform-diagram[data-active=true] .dg-hc-amber,.platform-diagram[data-active=true] .dg-hc-red,.platform-diagram[data-active=true] .dg-hc-banner{animation:dg-hc-flip 8s ease-in-out infinite}@keyframes dg-hc-flip{0%,26%{opacity:0}32%,82%{opacity:1}92%,to{opacity:0}}.dg-hc-line{stroke-dasharray:1;stroke-dashoffset:0}.platform-diagram[data-active=true] .dg-hc-line{animation:dg-hc-draw 6s ease-in-out infinite}@keyframes dg-hc-draw{0%,56%{stroke-dashoffset:1}90%,to{stroke-dashoffset:0}}.dg-hc-bar{transform-box:fill-box;transform-origin:bottom}.platform-diagram[data-active=true] .dg-hc-bar{animation:dg-hc-bar 6s ease-in-out infinite}@keyframes dg-hc-bar{0%,to{transform:scaleY(.55)}40%,70%{transform:scaleY(1)}}.dg-ipg-land path{fill:#009bff2e;stroke:#009bff73;stroke-width:.8}.dg-ipg-dot{fill:#28c878}.dg-machine-connect-ic{fill:none;stroke:#e6edf7d9;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}.dg-machine-connect-tag{fill:#ffaa001a;stroke:#fa0;stroke-width:1;stroke-dasharray:3 3}.dg-machine-connect-tagt{fill:#fa0;font-family:Lexend Deca,sans-serif;font-size:11px}.dg-machine-connect-tube{fill:#009bff1a;stroke:#009bff80;stroke-width:1.2}.dg-machine-connect-zone{fill:#28c8780a;stroke:#28c87873;stroke-width:1.2;stroke-dasharray:2 5}.dg-machine-connect-pk{opacity:0;offset-rotate:0deg;offset-distance:0%}.dg-machine-connect-req{fill:#009bff}.dg-machine-connect-res{fill:#28c878}.dg-machine-connect-shackle{transform-box:fill-box;transform-origin:20% 100%}.dg-machine-connect-chip{opacity:.45;transform-box:fill-box;transform-origin:center}.dg-machine-connect-ph{transition:none}.dg-machine-connect-bar{transform-box:fill-box;transform-origin:left center}.dg-machine-connect-cert{opacity:1}.platform-diagram[data-active=true] .dg-machine-connect-q{animation:dg-machine-connect-q 8s linear infinite}@keyframes dg-machine-connect-q{0%{offset-distance:0%;opacity:0}2%{opacity:1}20%{offset-distance:100%;opacity:1}23%,to{offset-distance:100%;opacity:0}}.platform-diagram[data-active=true] .dg-machine-connect-bar{animation:dg-machine-connect-bar 8s ease-out infinite}@keyframes dg-machine-connect-bar{0%,38%{transform:scaleX(0)}52%,92%{transform:scaleX(1)}to{transform:scaleX(0)}}.platform-diagram[data-active=true] .dg-machine-connect-cert{animation:dg-machine-connect-cert 8s ease-in-out infinite}@keyframes dg-machine-connect-cert{0%,38%{opacity:.15}48%,90%{opacity:1}to{opacity:.15}}.dg-mcp-ring{transform-box:fill-box;transform-origin:center}.platform-diagram[data-active=true] .dg-mcp-ring{animation:dg-mcp-spin 40s linear infinite}@keyframes dg-mcp-spin{to{transform:rotate(360deg)}}.dg-mcp-block{opacity:.4}.platform-diagram[data-active=true] .dg-mcp-block{animation:dg-mcp-block 4s ease-in-out infinite}@keyframes dg-mcp-block{0%,35%{opacity:.4;transform:translate(0)}55%{opacity:1;transform:translate(-3px)}70%,to{opacity:.4;transform:translate(0)}}.dg-omnigate-ic{fill:none;stroke:#e6edf7d9;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}.dg-omnigate-tag{fill:#ffaa001a;stroke:#fa0;stroke-width:1;stroke-dasharray:3 3}.dg-omnigate-tagt{fill:#fa0;font-family:Lexend Deca,sans-serif;font-size:11px}.dg-omnigate-tube{fill:#009bff1a;stroke:#009bff80;stroke-width:1.2}.dg-omnigate-zone{fill:#28c8780a;stroke:#28c87873;stroke-width:1.2;stroke-dasharray:2 5}.dg-omnigate-pk{opacity:0;offset-rotate:0deg;offset-distance:0%}.dg-omnigate-req{fill:#009bff}.dg-omnigate-res{fill:#28c878}.dg-omnigate-shackle{transform-box:fill-box;transform-origin:20% 100%}.dg-omnigate-chip{opacity:.45;transform-box:fill-box;transform-origin:center}.dg-omnigate-ph{transition:none}.platform-diagram[data-active=true] .dg-omnigate-a{animation:dg-omnigate-a var(--og-dur, 6s) linear infinite}.platform-diagram[data-active=true] .dg-omnigate-b{animation:dg-omnigate-b var(--og-dur, 6s) linear infinite}@keyframes dg-omnigate-a{0%{offset-distance:0%;opacity:0}4%{opacity:1}44%{offset-distance:100%;opacity:1}48%,to{offset-distance:100%;opacity:0}}@keyframes dg-omnigate-b{0%,50%{offset-distance:0%;opacity:0}54%{opacity:1}94%{offset-distance:100%;opacity:1}98%,to{offset-distance:100%;opacity:0}}.platform-diagram[data-active=true] .dg-omnigate-shackle{animation:dg-omnigate-shackle 4s ease-in-out infinite}@keyframes dg-omnigate-shackle{0%,10%{transform:translateY(-3px)}25%,to{transform:translateY(0)}}.platform-diagram[data-active=true] .dg-omnigate-chip{animation:dg-omnigate-chip 6s ease-in-out infinite}@keyframes dg-omnigate-chip{0%,30%{opacity:1;transform:scale(1.05)}38%,to{opacity:.45;transform:scale(1)}}.platform-diagram[data-active=true] .dg-omnigate-ph{animation:dg-omnigate-lit 6s ease-in-out infinite}@keyframes dg-omnigate-lit{0%{fill:#009bff47;stroke:#009bff}11%{fill:#009bff47;stroke:#009bff}15%,to{fill:#0c1628;stroke:#ffffff38}}@media (prefers-reduced-motion: reduce){.dg-omnigate-chip{opacity:1!important}}.platform-diagram[data-active=true] .dg-omnigate-full{animation:dg-omnigate-full var(--og-dur, 6s) linear infinite}@keyframes dg-omnigate-full{0%{offset-distance:0%;opacity:0}3%{opacity:1}90%{offset-distance:100%;opacity:1}96%,to{offset-distance:100%;opacity:0}}.dg-sec-cur{opacity:0}.platform-diagram[data-active=true] .dg-sec-cur{animation:dg-ss-u85 var(--ss-c, 10s) ease-in-out infinite}.dg-sec-knob{transform:translate(28px)}.platform-diagram[data-active=true] .dg-sec-knob{animation:dg-sec-knob 10s ease-in-out infinite}@keyframes dg-sec-knob{0%,6%{transform:translate(0)}12%,92%{transform:translate(28px)}98%,to{transform:translate(0)}}.platform-diagram[data-active=true] .dg-sec-on{animation:dg-ss-f10 10s ease-in-out infinite}.platform-diagram[data-active=true] .dg-sec-scanx{animation:dg-sec-scanx 10s ease-in-out infinite}@keyframes dg-sec-scanx{0%,66%{opacity:0;transform:translate(0)}70%{opacity:1;transform:translate(0)}94%{opacity:1;transform:translate(696px)}98%,to{opacity:0;transform:translate(696px)}}.platform-diagram[data-active=true] .dg-sec-scany{animation:dg-sec-scany 10s ease-in-out infinite}@keyframes dg-sec-scany{0%,66%{opacity:0;transform:translateY(0)}70%{opacity:1;transform:translateY(0)}94%{opacity:1;transform:translateY(132px)}98%,to{opacity:0;transform:translateY(132px)}}.dg-ss-b{font-weight:600}.dg-ss-pk{opacity:0;offset-rotate:0deg;offset-distance:0%}.platform-diagram[data-active=true] .dg-ss-pk{animation:dg-ss-pk var(--ss-c, 10s) linear infinite}@keyframes dg-ss-pk{0%{offset-distance:0%;opacity:1}10%{offset-distance:100%;opacity:1}11%,to{offset-distance:100%;opacity:0}}.dg-ss-hl{fill:none;stroke:#009bff;stroke-width:2.4;opacity:0}.platform-diagram[data-active=true] .dg-ss-hl{animation:dg-ss-hl var(--ss-c, 10s) ease-in-out infinite}@keyframes dg-ss-hl{0%{opacity:0}2%,12%{opacity:1}16%,to{opacity:0}}.dg-ss-scan{opacity:0;fill:#28c87824;stroke:#28c878;stroke-width:1.6}.platform-diagram[data-active=true] .dg-ss-f10{animation:dg-ss-f10 var(--ss-c, 10s) ease-in-out infinite}@keyframes dg-ss-f10{0%,10%{opacity:0}14%,94%{opacity:1}to{opacity:0}}.platform-diagram[data-active=true] .dg-ss-u10{animation:dg-ss-u10 var(--ss-c, 10s) ease-in-out infinite}@keyframes dg-ss-u10{0%,10%{opacity:1}16%,98%{opacity:.12}to{opacity:1}}.platform-diagram[data-active=true] .dg-ss-f15{animation:dg-ss-f15 var(--ss-c, 10s) ease-in-out infinite}@keyframes dg-ss-f15{0%,15%{opacity:0}19%,94%{opacity:1}to{opacity:0}}.platform-diagram[data-active=true] .dg-ss-u15{animation:dg-ss-u15 var(--ss-c, 10s) ease-in-out infinite}@keyframes dg-ss-u15{0%,15%{opacity:1}21%,98%{opacity:.12}to{opacity:1}}.platform-diagram[data-active=true] .dg-ss-f20{animation:dg-ss-f20 var(--ss-c, 10s) ease-in-out infinite}@keyframes dg-ss-f20{0%,20%{opacity:0}24%,94%{opacity:1}to{opacity:0}}.platform-diagram[data-active=true] .dg-ss-u20{animation:dg-ss-u20 var(--ss-c, 10s) ease-in-out infinite}@keyframes dg-ss-u20{0%,20%{opacity:1}26%,98%{opacity:.12}to{opacity:1}}.platform-diagram[data-active=true] .dg-ss-f25{animation:dg-ss-f25 var(--ss-c, 10s) ease-in-out infinite}@keyframes dg-ss-f25{0%,25%{opacity:0}29%,94%{opacity:1}to{opacity:0}}.platform-diagram[data-active=true] .dg-ss-u25{animation:dg-ss-u25 var(--ss-c, 10s) ease-in-out infinite}@keyframes dg-ss-u25{0%,25%{opacity:1}31%,98%{opacity:.12}to{opacity:1}}.platform-diagram[data-active=true] .dg-ss-f30{animation:dg-ss-f30 var(--ss-c, 10s) ease-in-out infinite}@keyframes dg-ss-f30{0%,30%{opacity:0}34%,94%{opacity:1}to{opacity:0}}.platform-diagram[data-active=true] .dg-ss-u30{animation:dg-ss-u30 var(--ss-c, 10s) ease-in-out infinite}@keyframes dg-ss-u30{0%,30%{opacity:1}36%,98%{opacity:.12}to{opacity:1}}.platform-diagram[data-active=true] .dg-ss-f35{animation:dg-ss-f35 var(--ss-c, 10s) ease-in-out infinite}@keyframes dg-ss-f35{0%,35%{opacity:0}39%,94%{opacity:1}to{opacity:0}}.platform-diagram[data-active=true] .dg-ss-u35{animation:dg-ss-u35 var(--ss-c, 10s) ease-in-out infinite}@keyframes dg-ss-u35{0%,35%{opacity:1}41%,98%{opacity:.12}to{opacity:1}}.platform-diagram[data-active=true] .dg-ss-f40{animation:dg-ss-f40 var(--ss-c, 10s) ease-in-out infinite}@keyframes dg-ss-f40{0%,40%{opacity:0}44%,94%{opacity:1}to{opacity:0}}.platform-diagram[data-active=true] .dg-ss-u40{animation:dg-ss-u40 var(--ss-c, 10s) ease-in-out infinite}@keyframes dg-ss-u40{0%,40%{opacity:1}46%,98%{opacity:.12}to{opacity:1}}.platform-diagram[data-active=true] .dg-ss-f45{animation:dg-ss-f45 var(--ss-c, 10s) ease-in-out infinite}@keyframes dg-ss-f45{0%,45%{opacity:0}49%,94%{opacity:1}to{opacity:0}}.platform-diagram[data-active=true] .dg-ss-u45{animation:dg-ss-u45 var(--ss-c, 10s) ease-in-out infinite}@keyframes dg-ss-u45{0%,45%{opacity:1}51%,98%{opacity:.12}to{opacity:1}}.platform-diagram[data-active=true] .dg-ss-f50{animation:dg-ss-f50 var(--ss-c, 10s) ease-in-out infinite}@keyframes dg-ss-f50{0%,50%{opacity:0}54%,94%{opacity:1}to{opacity:0}}.platform-diagram[data-active=true] .dg-ss-u50{animation:dg-ss-u50 var(--ss-c, 10s) ease-in-out infinite}@keyframes dg-ss-u50{0%,50%{opacity:1}56%,98%{opacity:.12}to{opacity:1}}.platform-diagram[data-active=true] .dg-ss-f55{animation:dg-ss-f55 var(--ss-c, 10s) ease-in-out infinite}@keyframes dg-ss-f55{0%,55%{opacity:0}59%,94%{opacity:1}to{opacity:0}}.platform-diagram[data-active=true] .dg-ss-u55{animation:dg-ss-u55 var(--ss-c, 10s) ease-in-out infinite}@keyframes dg-ss-u55{0%,55%{opacity:1}61%,98%{opacity:.12}to{opacity:1}}.platform-diagram[data-active=true] .dg-ss-f60{animation:dg-ss-f60 var(--ss-c, 10s) ease-in-out infinite}@keyframes dg-ss-f60{0%,60%{opacity:0}64%,94%{opacity:1}to{opacity:0}}.platform-diagram[data-active=true] .dg-ss-u60{animation:dg-ss-u60 var(--ss-c, 10s) ease-in-out infinite}@keyframes dg-ss-u60{0%,60%{opacity:1}66%,98%{opacity:.12}to{opacity:1}}.platform-diagram[data-active=true] .dg-ss-f65{animation:dg-ss-f65 var(--ss-c, 10s) ease-in-out infinite}@keyframes dg-ss-f65{0%,65%{opacity:0}69%,94%{opacity:1}to{opacity:0}}.platform-diagram[data-active=true] .dg-ss-u65{animation:dg-ss-u65 var(--ss-c, 10s) ease-in-out infinite}@keyframes dg-ss-u65{0%,65%{opacity:1}71%,98%{opacity:.12}to{opacity:1}}.platform-diagram[data-active=true] .dg-ss-f70{animation:dg-ss-f70 var(--ss-c, 10s) ease-in-out infinite}@keyframes dg-ss-f70{0%,70%{opacity:0}74%,94%{opacity:1}to{opacity:0}}.platform-diagram[data-active=true] .dg-ss-u70{animation:dg-ss-u70 var(--ss-c, 10s) ease-in-out infinite}@keyframes dg-ss-u70{0%,70%{opacity:1}76%,98%{opacity:.12}to{opacity:1}}.platform-diagram[data-active=true] .dg-ss-f75{animation:dg-ss-f75 var(--ss-c, 10s) ease-in-out infinite}@keyframes dg-ss-f75{0%,75%{opacity:0}79%,94%{opacity:1}to{opacity:0}}.platform-diagram[data-active=true] .dg-ss-u75{animation:dg-ss-u75 var(--ss-c, 10s) ease-in-out infinite}@keyframes dg-ss-u75{0%,75%{opacity:1}81%,98%{opacity:.12}to{opacity:1}}.platform-diagram[data-active=true] .dg-ss-f80{animation:dg-ss-f80 var(--ss-c, 10s) ease-in-out infinite}@keyframes dg-ss-f80{0%,80%{opacity:0}84%,94%{opacity:1}to{opacity:0}}.platform-diagram[data-active=true] .dg-ss-u80{animation:dg-ss-u80 var(--ss-c, 10s) ease-in-out infinite}@keyframes dg-ss-u80{0%,80%{opacity:1}86%,98%{opacity:.12}to{opacity:1}}.platform-diagram[data-active=true] .dg-ss-f85{animation:dg-ss-f85 var(--ss-c, 10s) ease-in-out infinite}@keyframes dg-ss-f85{0%,85%{opacity:0}89%,94%{opacity:1}to{opacity:0}}.platform-diagram[data-active=true] .dg-ss-u85{animation:dg-ss-u85 var(--ss-c, 10s) ease-in-out infinite}@keyframes dg-ss-u85{0%,85%{opacity:1}91%,98%{opacity:.12}to{opacity:1}}.platform-diagram[data-active=true] .dg-ss-f90{animation:dg-ss-f90 var(--ss-c, 10s) ease-in-out infinite}@keyframes dg-ss-f90{0%,90%{opacity:0}94%,94%{opacity:1}to{opacity:0}}.platform-diagram[data-active=true] .dg-ss-u90{animation:dg-ss-u90 var(--ss-c, 10s) ease-in-out infinite}@keyframes dg-ss-u90{0%,90%{opacity:1}96%,98%{opacity:.12}to{opacity:1}}.dg-sc-ring{transform-box:fill-box;transform-origin:center;transform:rotate(-90deg);stroke-dasharray:150.8;stroke-dashoffset:0}.platform-diagram[data-active=true] .dg-sc-ring{animation:dg-sc-ring 10s linear infinite}@keyframes dg-sc-ring{0%,55%{stroke-dashoffset:0}80%,to{stroke-dashoffset:150.8}}.dg-sc-end{opacity:1}.platform-diagram[data-active=true] .dg-sc-end{animation:dg-sc-end 10s ease-in-out infinite}@keyframes dg-sc-end{0%,74%{opacity:.25}82%,96%{opacity:1}to{opacity:.25}}.dg-sc-bump{transform-box:fill-box;transform-origin:center}.platform-diagram[data-active=true] .dg-sc-bump{animation:dg-sc-bump 8s ease-in-out infinite}@keyframes dg-sc-bump{0%,40%,to{opacity:.45}50%,85%{opacity:1}}.dg-sc-grant{opacity:1}.platform-diagram[data-active=true] .dg-sc-grant{animation:dg-sc-grant 10s linear infinite}@keyframes dg-sc-grant{0%,30%{opacity:.2}36%,90%{opacity:1}to{opacity:.2}}.platform-diagram[data-active=true] .dg-eol-lamp{animation:dg-eol-lamp 2.4s ease-in-out infinite}@keyframes dg-eol-lamp{0%,to{opacity:.7}50%{opacity:1}}.dg-ssh-ring{transform-box:fill-box;transform-origin:center;transform:rotate(-90deg);stroke-dasharray:150.8;stroke-dashoffset:0}.platform-diagram[data-active=true] .dg-ssh-ring{animation:dg-ssh-ring 10s linear infinite}@keyframes dg-ssh-ring{0%,72%{stroke-dashoffset:0}96%,to{stroke-dashoffset:150.8}}.platform-diagram[data-active=true] .dg-ssh-keyline{animation:dg-ssh-keyline 10s ease-in-out infinite}@keyframes dg-ssh-keyline{0%,22%{opacity:0}30%,66%{opacity:1}76%,to{opacity:0}}.dg-ssh-refuse{opacity:0}.platform-diagram[data-active=true] .dg-ssh-allow{animation:dg-ssh-allow 10s ease-in-out infinite}.platform-diagram[data-active=true] .dg-ssh-refuse{animation:dg-ssh-refuse 10s ease-in-out infinite}@keyframes dg-ssh-allow{0%,6%{opacity:0}14%,46%{opacity:1}52%,to{opacity:0}}@keyframes dg-ssh-refuse{0%,50%{opacity:0}58%,94%{opacity:1}to{opacity:0}}.platform-diagram[data-active=true] .dg-ssh-scanx{animation:dg-ssh-scanx 10s ease-in-out infinite}@keyframes dg-ssh-scanx{0%,66%{opacity:0;transform:translate(0)}70%{opacity:1;transform:translate(0)}94%{opacity:1;transform:translate(696px)}98%,to{opacity:0;transform:translate(696px)}}.platform-diagram[data-active=true] .dg-ssh-scany{animation:dg-ssh-scany 10s ease-in-out infinite}@keyframes dg-ssh-scany{0%,66%{opacity:0;transform:translateY(0)}70%{opacity:1;transform:translateY(0)}94%{opacity:1;transform:translateY(156px)}98%,to{opacity:0;transform:translateY(156px)}}.dg-sso-ring{opacity:0}.platform-diagram[data-active=true] .dg-sso-ring{animation:dg-sso-ring 5s ease-in-out infinite}@keyframes dg-sso-ring{0%{opacity:0}6%{opacity:1}30%{opacity:.9}44%,to{opacity:0}}.dg-sso-hub{transform-box:fill-box;transform-origin:center}.platform-diagram[data-active=true] .dg-sso-hub{animation:dg-sso-halo 3.2s ease-in-out infinite}@keyframes dg-sso-halo{0%,to{opacity:.25;transform:scale(1)}50%{opacity:.7;transform:scale(1.05)}}.dg-sso-dead{fill:#28c878}.dg-sso-red{opacity:0}.platform-diagram[data-active=true] .dg-sso-red{animation:dg-sso-red 6s linear infinite}@keyframes dg-sso-red{0%,28%{opacity:0}30%,80%{opacity:1}90%,to{opacity:0}}.dg-sso-newblk{opacity:1}.platform-diagram[data-active=true] .dg-sso-newblk{animation:dg-sso-newblk 4s ease-in-out infinite}@keyframes dg-sso-newblk{0%,15%{opacity:0}35%,to{opacity:1}}.dg-utils-ring{transform-box:fill-box;transform-origin:center}.platform-diagram[data-active=true] .dg-utils-ring{animation:dg-utils-spin 24s linear infinite}@keyframes dg-utils-spin{to{transform:rotate(360deg)}}.dg-utils-rev{opacity:.9}.platform-diagram[data-active=true] .dg-utils-rev{animation:dg-utils-rev 5s ease-in-out infinite}@keyframes dg-utils-rev{0%,30%{opacity:1}45%,85%{opacity:.15}to{opacity:1}}.dg-utils-wave{transform-box:fill-box;transform-origin:center;opacity:0}.platform-diagram[data-active=true] .dg-utils-wave{animation:dg-utils-wave 3s ease-out infinite}@keyframes dg-utils-wave{0%{transform:scale(.6);opacity:.7}to{transform:scale(1.5);opacity:0}}
