.swd{position:relative;z-index:2;height:130px;pointer-events:none;overflow:hidden;background:#fff;margin:0}.swd svg{top:20px!important}.swd svg{position:absolute;inset:0;width:100%;height:100%;overflow:visible}.swd .lk,.swd .ac{fill:#d6e2ec}.swd .pwr{fill:#22c55e;filter:drop-shadow(0 0 3px #22c55e)}.swd .sys{fill:#d6e2ec}.swd.in .sys{animation:swd-sy 3s steps(1) 2s 3}@keyframes swd-sy{0%{fill:#22c55e}50%{fill:#d6e2ec}}
.swd .fl{fill:#d6e2ec}.swd.in .fl{animation:swd-fb calc(var(--t) * 2) steps(1) calc(var(--o) + 1.8s) 3}@keyframes swd-fb{0%{fill:#bfe8cc}30%{fill:#d6e2ec}}
.swd .lk.on{fill:#22c55e;filter:drop-shadow(0 0 2px #22c55e)}.swd .ac.on{fill:#f2b25c}
.swd .slide{transform:translateX(var(--dx));opacity:0}.swd.in .slide{animation:swd-pl .7s cubic-bezier(.5,0,.25,1) var(--d) forwards}
@keyframes swd-pl{0%{transform:translateX(var(--dx));opacity:0}15%{opacity:1}85%{transform:translateX(calc(var(--dx) * -0.012))}100%{transform:none;opacity:1}}
.swd .pulse{stroke-dasharray:12 400;opacity:0}.swd.in .pulse{opacity:.7;animation:swd-fw 4.5s linear 1.6s 3}.swd.in .pR{animation-delay:2.4s}@keyframes swd-fw{from{stroke-dashoffset:1100}to{stroke-dashoffset:0}}
@media(max-width:700px){.swd{height:110px}.swd svg{left:-45%;width:190%}}
@media(prefers-reduced-motion:reduce){.swd .slide{transform:none!important;opacity:1!important;animation:none!important}.swd .pulse{display:none}.swd .sys,.swd .fl{animation:none!important}}
.swd-fb,.swd-ft{position:absolute;left:0;right:0;height:140px;pointer-events:none;z-index:1}.swd-fb{bottom:0;background:linear-gradient(180deg,rgba(255,255,255,0),#fff)}.swd-ft{top:0;background:linear-gradient(0deg,rgba(255,255,255,0),#fff)}
.swd svg{top:0!important}.fxbg>.wrap{position:relative;z-index:2}

/* fix2: port LEDs blink continuously (link green + activity amber), no bottom LEDs */
.swd .fl,.swd .fa{fill:#d6e2ec}
.swd.in .fl{animation:swd-lk calc(var(--t) * 1.6) ease-in-out calc(var(--o) + 1.4s) infinite}
.swd.in .fa{animation:swd-ac 1.3s steps(1) 1.8s infinite}
.swd.in g~.fa,.swd.in .fa:nth-of-type(3n){animation-duration:1.9s}.swd.in .fa:nth-of-type(4n+1){animation-duration:.9s;animation-delay:2.3s}
@keyframes swd-lk{0%,100%{fill:#22c55e}45%{fill:#22c55e}50%{fill:#bfe8cc}58%{fill:#22c55e}}
@keyframes swd-ac{0%{fill:#f2b25c}20%{fill:#d6e2ec}55%{fill:#f2b25c}65%{fill:#d6e2ec}}
@media(prefers-reduced-motion:reduce){.swd .fl{fill:#22c55e;animation:none!important}.swd .fa{animation:none!important}}
/* only the section followed by the switch drops its wave */
.has-swd .bg-wave{display:none}
