.skip-link {
  position: fixed;
  z-index: 10000;
  top: .75rem;
  left: .75rem;
  padding: .75rem 1rem;
  border: 2px solid #0b5de8;
  border-radius: 4px;
  background: #fff;
  color: #0b3f99;
  font-weight: 700;
  transform: translateY(-180%);
  transition: transform .15s ease;
}

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

:where(a, button, input, select, textarea, summary, [tabindex]):focus-visible {
  outline: 3px solid #ffbf47;
  outline-offset: 3px;
}

:where(button, input, select, textarea, summary, [role="button"], [role="tab"]) { min-height: 24px; }
:where(input, select, textarea)[aria-invalid="true"] { border-color: #b42318 !important; box-shadow: 0 0 0 2px rgba(180, 35, 24, .18); }
.sr-only { position: absolute !important; width: 1px !important; height: 1px !important; padding: 0 !important; margin: -1px !important; overflow: hidden !important; clip: rect(0, 0, 0, 0) !important; white-space: nowrap !important; border: 0 !important; }

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

@media (forced-colors: active) {
  :where(button, .button, input, select, textarea, dialog, .provider-card, .workspace-panel) { border: 1px solid CanvasText; }
}
