/* Shared, non-visual accessibility foundation for all WBai static pages. */
:root {
  --focus-ring: #c4b5fd;
  --focus-ring-shadow: rgba(196, 181, 253, .35);
  --touch-target: 44px;
  --space-1: 4px;
  --space-2: 8px;
  --space-3: 12px;
  --space-4: 16px;
  --radius-control: 8px;
  --radius-card: 14px;
  --status-error: #ff8888;
  --status-success: #7ed47e;
}

.skip-link {
  position: fixed;
  top: 8px;
  left: 8px;
  z-index: 10000;
  padding: 10px 14px;
  border-radius: 8px;
  background: #fff;
  color: #1a1a2e;
  font-weight: 700;
  text-decoration: none;
  transform: translateY(-160%);
  transition: transform .15s ease;
}

.skip-link:focus { transform: translateY(0); }
.sr-only { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0; }

:where(a, button, input, select, textarea, [tabindex]):focus-visible {
  outline: 3px solid var(--focus-ring);
  outline-offset: 3px;
  box-shadow: 0 0 0 5px var(--focus-ring-shadow);
}

button, [role="button"] { touch-action: manipulation; }

@media (max-width: 640px) {
  button:not(.is-pill):not(.an-period-btn),
  [role="button"] { min-height: var(--touch-target); }
}

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