.print-photo-stage {
  position: relative;
  overflow: hidden;
  border-radius: 12px;
}

.print-router-leds {
  position: absolute;
  inset: 0;
  pointer-events: none;
}

.print-led-mask {
  position: absolute;
  display: block;
  background: #070b0d;
  box-shadow: 0 0 2px #070b0d;
}

.print-led-mask-lan {
  left: 47.65%;
  top: 64.7%;
  width: 10.2%;
  height: 1.65%;
}

.print-led-mask-wan {
  left: 60.1%;
  top: 64.7%;
  width: 1.5%;
  height: 1.65%;
}

.print-led-mask-sys,
.print-led-mask-net {
  left: 63.78%;
  width: .58%;
  height: 1.15%;
  border-radius: 50%;
}

.print-led-mask-sys { top: 65.3%; }
.print-led-mask-net { top: 67.75%; }

.print-port-led {
  position: absolute;
  width: .46%;
  aspect-ratio: 1;
  border-radius: 50%;
  opacity: .22;
  animation: print-link-green 3.2s steps(1) infinite;
  animation-play-state: paused;
}

.print-port-lan-green {
  left: 48.04%;
  top: 65.03%;
  background: #75ff83;
  box-shadow: 0 0 5px #59ff70;
}

.print-port-lan-amber {
  left: 49.64%;
  top: 65.03%;
  background: #ffb83d;
  box-shadow: 0 0 5px #ff9d28;
  animation-name: print-link-amber;
  animation-delay: -.7s;
}

.print-port-wan-green {
  left: 60.48%;
  top: 65.03%;
  background: #75ff83;
  box-shadow: 0 0 5px #59ff70;
  animation-delay: -1.1s;
}

.print-port-wan-amber {
  left: 61.12%;
  top: 65.03%;
  background: #ffb83d;
  box-shadow: 0 0 5px #ff9d28;
  animation-name: print-link-amber;
  animation-delay: -1.8s;
}

.print-leds-visible:not(.print-leds-paused) .print-port-led {
  animation-play-state: running;
}

@keyframes print-link-green {
  0%, 8%, 24%, 31%, 53%, 66%, 100% { opacity: .28; }
  3%, 12%, 27%, 46%, 57%, 70% { opacity: 1; }
}

@keyframes print-link-amber {
  0%, 14%, 35%, 48%, 72%, 100% { opacity: .18; }
  5%, 19%, 39%, 52%, 78%, 84% { opacity: 1; }
}

.motion-paused .print-port-led {
  animation-play-state: paused !important;
}

@media (prefers-reduced-motion: reduce) {
  .print-port-led {
    animation: none;
    opacity: .8;
  }
}
