/* v5.71.0 — shared accessibility and UX hardening */
:where(a,button,input,select,textarea,summary,[role="button"],[tabindex]):focus-visible{
  outline:3px solid color-mix(in srgb,var(--primary,#4f46e5) 78%,#fff);
  outline-offset:3px;
  box-shadow:0 0 0 1px color-mix(in srgb,var(--primary,#4f46e5) 55%,transparent);
}
:where(input,select,textarea,[contenteditable="true"])[aria-invalid="true"]{
  border-color:#b42318!important;
  box-shadow:0 0 0 3px color-mix(in srgb,#b42318 16%,transparent)!important;
}
.a11y-field-error{display:block;margin-top:5px;color:#b42318;font-size:.82rem;font-weight:700;line-height:1.4}
.a11y-live-region{position:fixed!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}
[role="dialog"][aria-modal="true"]:focus{outline:none}
[role="dialog"][aria-modal="true"]:focus-visible{outline:3px solid color-mix(in srgb,var(--primary,#4f46e5) 78%,#fff);outline-offset:4px}
@media(pointer:coarse){
  :where(button,.btn,.icon-btn,[role="button"],summary){min-height:44px}
  :where(.check-row,.settings-toggle-row){min-height:44px}
  :where(.icon-btn,.editor-icon-tool,.site-menu-toggle,.sidebar-mobile-close,.back-to-top){min-width:44px}
}
@media(prefers-reduced-motion:reduce){
  html:focus-within{scroll-behavior:auto!important}
  *,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}
}
@media(forced-colors:active){
  :where(a,button,input,select,textarea,summary,[role="button"],[tabindex]):focus-visible{outline:2px solid CanvasText;box-shadow:none}
  .status,.badge,.btn{forced-color-adjust:auto}
}
