/* Shared accessibility, trust, and resilience improvements. */
:root {
  --fg-focus: #b91c1c;
}

*:focus-visible {
  outline: 3px solid var(--fg-focus) !important;
  outline-offset: 3px !important;
}

.skip-link {
  position: fixed;
  top: 0.75rem;
  left: 0.75rem;
  z-index: 9999;
  transform: translateY(-180%);
  border-radius: 0.5rem;
  background: #0f172a;
  color: #fff;
  padding: 0.75rem 1rem;
  font-weight: 700;
  text-decoration: none;
}

.skip-link:focus {
  transform: translateY(0);
}

.health-notice {
  max-width: 68.75rem;
  margin: 1.5rem auto;
  border-left: 4px solid #ef4444;
  border-radius: 0.75rem;
  background: #fff7ed;
  color: #7c2d12;
  padding: 1rem 1.25rem;
  line-height: 1.6;
}

.health-notice strong {
  color: #431407;
}

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

@media (forced-colors: active) {
  .health-notice { border: 2px solid CanvasText; }
}
