:root{--aio-focus:currentColor}

/* SR-only: ок, но без opacity:0 (иногда наследуется/перемножается в странных стэках) */
.aio-sr,.sr-only,.t-sr,[data-ai-hidden="sr"]{
  position:absolute!important;
  width:1px!important;height:1px!important;
  margin:-1px!important;padding:0!important;border:0!important;
  overflow:hidden!important;
  clip:rect(0 0 0 0)!important;
  clip-path:inset(50%)!important;
  white-space:nowrap!important;
  pointer-events:none!important;
  z-index:-1!important
}

:where(a,button,input,textarea,select,[tabindex]):focus-visible{
  outline:2px solid var(--aio-focus)!important;
  outline-offset:2px!important
}

/* Speakable anchors — ok */
#ai-footer-status,#ai-footer-voice,[data-ai-status]{
  position:absolute!important;left:-9999px!important;top:auto!important;
  width:1px!important;height:1px!important;
  overflow:hidden!important;white-space:nowrap!important;
  pointer-events:none!important
}

/* protect only where marked */
[data-protect="true"]{-webkit-touch-callout:none!important}
[data-protect="true"] img{
  -webkit-user-drag:none!important;
  user-drag:none!important;
  -webkit-user-select:none!important;
  -moz-user-select:none!important;
  user-select:none!important;
  pointer-events:none!important
}
[data-protect="true"] :is(input,textarea,select,button),
[data-protect="true"] [contenteditable="true"],
[data-protect="true"] [data-allow-select="true"],
[data-protect="true"] [data-allow-copy="true"]{
  -webkit-user-select:text!important;
  -moz-user-select:text!important;
  user-select:text!important;
  pointer-events:auto!important
}

@media print{
  .aio-sr,.sr-only,.t-sr,[data-ai-hidden="sr"],#ai-footer-status,#ai-footer-voice{display:none!important}
}