/* Shared accessibility and mobile-quality layer. */
:where(a, button, input, select, textarea, summary, [tabindex]):focus-visible {
  outline: 3px solid rgba(49, 87, 213, .42);
  outline-offset: 3px;
}

:where(button, [role="button"], input[type="button"], input[type="submit"], input[type="reset"]) {
  touch-action: manipulation;
}

img {
  height: auto;
}

img[loading="lazy"] {
  content-visibility: auto;
}

:where(pre, code, .path, .file-path, .card-foot) {
  overflow-wrap: anywhere;
  word-break: break-word;
}

:where(dialog, .modal, [role="dialog"]) {
  max-width: min(100% - 24px, 960px);
}

@media (max-width: 360px) {
  :where(button, .button, .btn, .back, .nav-link, .card-link) {
    max-width: 100%;
  }

  :where(input, select, textarea) {
    min-width: 0;
    max-width: 100%;
  }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto !important; }
  *, *::before, *::after {
    animation-duration: .001ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: .001ms !important;
  }
}
