/* Shared interaction feedback. Individual translate preserves existing transforms. */
:where(a[href]){display:inline-block}
:root body :is(a[href],button,summary,select,textarea,input:not([type="hidden"]),label[for],label:has(input),[role="button"]){
  transition:translate .18s ease,scale .16s ease,filter .18s ease,background-color .18s ease,border-color .18s ease,color .18s ease,box-shadow .18s ease!important;
  -webkit-tap-highlight-color:#ffca0530;
}
:root body :is(a[href],button,summary,select,label[for],label:has(input),[role="button"]){cursor:pointer}
@media(hover:hover) and (pointer:fine){
  :root body :is(a[href],button,summary,select,textarea,input:not([type="hidden"]),label[for],label:has(input),[role="button"]):not(:disabled):not([aria-disabled="true"]):hover{translate:0 -2px;filter:brightness(1.045)}
  :root body .site-menu-links a:hover{translate:3px 0}
  :root body label:hover :is(input,select,textarea){translate:none;filter:none}
}
:root body :is(a[href],button,summary,select,input:not([type="hidden"]),[role="button"]):not(:disabled):not([aria-disabled="true"]):active{translate:0 0;scale:.98}
:root body :is(a[href],button,summary,select,textarea,input:not([type="hidden"]),[role="button"]):focus-visible{outline:2px solid #b88b0b;outline-offset:4px}
:root body :is(button,input,select,textarea):disabled,:root body [aria-disabled="true"]{translate:none;scale:none;filter:none}
/* Keep the existing Pause animation choice effective on pages with that control. */
:root:has(script[src*="motion.js"]):not(.motion-enabled) body :is(a[href],button,summary,select,textarea,input,label,[role="button"]){translate:none!important;scale:none!important;filter:none!important;transition:none!important}
@media(prefers-reduced-motion:reduce){
  :root body :is(a[href],button,summary,select,textarea,input,label,[role="button"]){translate:none!important;scale:none!important;transition:none!important}
}
