/* _a11y.css: shared VC WCAG 2.1 AA layer (dark UI). */

/* SC 2.4.7 Focus Visible */
a:focus-visible, button:focus-visible, input:focus-visible, select:focus-visible,
textarea:focus-visible, summary:focus-visible, [tabindex]:focus-visible, [role="button"]:focus-visible {
  outline: 3px solid #FFD60A !important; /* amber: > 12:1 on black */
  outline-offset: 2px !important;
}
@supports not selector(:focus-visible) {
  a:focus, button:focus, input:focus, select:focus, textarea:focus, [tabindex]:focus {
    outline: 3px solid #FFD60A !important; outline-offset: 2px !important;
  }
}

/* SC 2.3.3 respects OS Reduce Motion */
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after {
    animation-duration: 0.001ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.001ms !important;
    scroll-behavior: auto !important;
  }
}

/* Skip link, visible on focus */
.skip-link { position: absolute; left: -9999px; top: 0; z-index: 10000; }
.skip-link:focus { left: 8px; top: 8px; padding: 10px 16px; background: #000; color: #fff; border: 2px solid #FFD60A; border-radius: 10px; }

/* Screen-reader-only utility */
.sr-only {
  position: absolute !important; width: 1px; height: 1px; padding: 0; margin: -1px;
  overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0;
}

html { -webkit-text-size-adjust: 100%; }

/* Windows High Contrast */
@media (forced-colors: active) {
  a:focus-visible, button:focus-visible, input:focus-visible, select:focus-visible, textarea:focus-visible {
    outline: 3px solid CanvasText !important;
  }
  .flash { background: CanvasText !important; }
}
