.lirien-orbital {
  --orbital-accent: #78dce5;
  display: block;
  width: 100%;
  height: auto;
  overflow: visible;
}
.lirien-orbital__track {
  fill: none;
  stroke: var(--orbital-accent);
  stroke-width: .8;
  vector-effect: non-scaling-stroke;
}
.lirien-orbital__dot { fill: var(--orbital-accent); }
.lirien-orbital__halo { fill: var(--orbital-accent); opacity: .08; }
.lirien-orbital__rotor, .lirien-orbital__counter {
  transform-box: view-box;
  transform-origin: 0 0;
  animation: lirien-orbital-turn var(--duration) linear var(--phase) infinite;
  animation-direction: var(--direction);
}
.lirien-orbital__counter { animation-name: lirien-orbital-counter; }
.lirien-orbital[data-paused] .lirien-orbital__rotor,
.lirien-orbital[data-paused] .lirien-orbital__counter { animation-play-state: paused; }
@keyframes lirien-orbital-turn { from { transform: rotate(0deg); } to { transform: rotate(360deg); } }
@keyframes lirien-orbital-counter { from { transform: rotate(0deg); } to { transform: rotate(-360deg); } }
@media (prefers-reduced-motion: reduce) {
  .lirien-orbital__rotor, .lirien-orbital__counter { animation-play-state: paused; }
}
