.theme-toggle.theme-toggle--reversed .theme-toggle__lightbulb {
  transform: scale(-1, 1);
}

.theme-toggle {
  --theme-toggle__lightbulb--duration: 500ms;
}
.theme-toggle__lightbulb .theme-toggle__lightbulb__rays *,
.theme-toggle__lightbulb .theme-toggle__lightbulb__coil {
  stroke-dasharray: 1.1;
  stroke-dashoffset: 0;
  opacity: 1;
  transition-property: stroke-dashoffset, opacity;
  transition-duration: var(--theme-toggle__lightbulb--duration);
}

.theme-toggle--toggled:not(label).theme-toggle .theme-toggle__lightbulb .theme-toggle__lightbulb__rays *,
.theme-toggle--toggled:not(label).theme-toggle .theme-toggle__lightbulb .theme-toggle__lightbulb__coil,
.theme-toggle input[type=checkbox]:checked ~ .theme-toggle__lightbulb .theme-toggle__lightbulb__rays *,
.theme-toggle input[type=checkbox]:checked ~ .theme-toggle__lightbulb .theme-toggle__lightbulb__coil {
  stroke-dashoffset: 1;
  opacity: 0;
}

.theme-toggle {
  border: none;
  background: none;
  cursor: pointer;
}
.theme-toggle input[type=checkbox] {
  display: none;
}
.theme-toggle .theme-toggle-sr {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border-width: 0;
}

@media (prefers-reduced-motion: reduce) {
  .theme-toggle:not(.theme-toggle--force-motion) * {
    transition: none !important;
  }
}
