/* Shared keyboard and navigation accessibility fixes layered over the legacy theme. */
:where(a[href], button, input, select, textarea, [tabindex]:not([tabindex="-1"])):focus-visible {
  outline: 3px solid #2563eb !important;
  outline-offset: 3px !important;
}

.nav-icon-toggle:focus-visible,
.sidenav__close-button:focus-visible,
.nav__search-trigger:focus-visible,
#nightswitch:focus-visible {
  border-radius: 6px;
  outline-color: #ef2b24 !important;
}

.sidenav a:focus-visible {
  outline-offset: -3px !important;
}

.nav__search-trigger {
  padding: 0;
  border: 0;
  background: transparent;
}

body.dark :where(a[href], button, input, select, textarea, [tabindex]:not([tabindex="-1"])):focus-visible {
  outline-color: #7dd3fc !important;
}

@media (prefers-reduced-motion: reduce) {
  html:focus-within { scroll-behavior: auto; }
  .app,
  .app svg,
  .app .moon-icon,
  .app .sun-icon { transition-duration: .01ms !important; }
}
