.theme-switcher {
  display: flex;
  justify-content: flex-end;
  gap: 4px;
  margin: 14px 0 0;
  font-size: 12px;
}
.theme-switcher a {
  color: var(--muted, #9aa8c4);
  text-decoration: none;
  border: 1px solid transparent;
  border-radius: 999px;
  padding: 8px 17px;
  line-height: 1.4;
}
.theme-switcher a:hover,
.theme-switcher a[aria-current="page"] {
  color: var(--text, currentColor);
  border-color: var(--line, #ffffff28);
  background: color-mix(in srgb, currentColor 8%, transparent);
}
.theme-switcher a:focus-visible {
  outline: 2px solid currentColor;
  outline-offset: 3px;
}
/* Only scene content fades; navigation and totals remain interactive. */
.theme-transition-updating :is(.intro, .button-orbit, .intensity-panel, .mood-caption, .sigh-canvas) {
  opacity: 0;
}
.theme-transitioning :is(.intro, .button-orbit, .intensity-panel, .mood-caption, .sigh-canvas) {
  transform-origin: center;
}
@media (prefers-reduced-motion: reduce) {
  .theme-transition-updating :is(.intro, .button-orbit, .intensity-panel, .mood-caption, .sigh-canvas) { opacity: 1; }
}
.motion-paused.theme-transition-updating :is(.intro, .button-orbit, .intensity-panel, .mood-caption, .sigh-canvas) {
  opacity: 1;
}
@media (max-width: 700px) {
  .theme-switcher { justify-content: center; margin-top: 12px; }
}
