/* Shared access rules, loaded after the compiled utility stylesheet. */
.skip-link {
  position: fixed;
  top: .5rem;
  left: .5rem;
  z-index: 100001;
  padding: .85rem 1.25rem;
  background: #fff;
  color: #111827;
  font-weight: 700;
  border-radius: .35rem;
  transform: translateY(-180%);
}
.skip-link:focus { transform: translateY(0); }
:where(a, button, summary, input, select, textarea):focus-visible {
  outline: 3px solid #67e8f9;
  outline-offset: 4px;
}
html { scroll-padding-top: 110px; }
#content, main [id] { scroll-margin-top: 110px; }
/* Muted text must remain readable on the site's dark content surfaces. */
main .text-gray-500, main .text-gray-600,
footer .text-gray-500, footer .text-gray-600 { color: #9ca3af; }
.policy-content { overflow-wrap: anywhere; }
.policy-content a { text-decoration: underline; text-underline-offset: .2em; }
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after {
    animation-duration: .01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: .01ms !important;
    scroll-behavior: auto !important;
  }
  html { scroll-behavior: auto !important; }
}
