/* Spaceron shared accessibility and interaction safeguards. */
:where(a, button, input, select, textarea, summary, [role="button"], [tabindex]):focus-visible {
  outline: 3px solid #69b7ff !important;
  outline-offset: 3px !important;
  box-shadow: 0 0 0 5px rgba(11, 92, 180, .28) !important;
}

.skip-link {
  min-height: 44px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
}

:where(button, input, select, textarea) { accent-color: #2d8cf0; }
:where(button, [role="button"], summary) { touch-action: manipulation; }
:where(input, select, textarea) { max-width: 100%; }
:where(dialog) { max-height: min(88vh, 760px); overflow: auto; }
:where(dialog)::backdrop { background: rgba(0, 4, 12, .76); backdrop-filter: blur(4px); }
:where([aria-disabled="true"]) { cursor: not-allowed; opacity: .64; }
:where([hidden]) { display: none !important; }

/* Preserve readable content when users increase text size. */
:where(p, li, label, input, textarea, select, button, a) { overflow-wrap: anywhere; }

@media (pointer: coarse) {
  :where(button, input:not([type="hidden"]):not([type="checkbox"]):not([type="radio"]), select, textarea, summary, [role="button"], .button, .account-sidebar a, .account-bottom-nav a, .admin-sidebar a, .primary-nav a) {
    min-height: 44px !important;
  }
  :where(input[type="checkbox"], input[type="radio"]) {
    min-width: 24px;
    min-height: 24px;
  }
}

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

@media (forced-colors: active) {
  :where(.button, button, input, select, textarea, dialog, .panel) { border: 1px solid CanvasText !important; }
  :where(a) { text-decoration: underline; }
}

.environment-banner{position:relative;z-index:10000;padding:.45rem 1rem;text-align:center;background:#ffd166;color:#111;font-weight:800;letter-spacing:.08em;font-size:.78rem}.environment-banner+ .skip-link{top:2.4rem}
