/* HTML button feedback only. SVG controls retain their transform attributes
   for apparatus positioning, dragging and hit testing. */
:is(button, .btn, .button, .header-action, .platform-button, .platform-link-button, .platform-back-button, [role="button"]):not(svg, svg *):not(:disabled):not([aria-disabled="true"]):not(.disabled) {
  cursor:pointer;
  transition:filter 120ms ease, transform 80ms ease, outline-color 120ms ease, background-color 120ms ease, border-color 120ms ease !important;
}
@media (hover:hover) {
  :is(button, .btn, .button, .header-action, .platform-button, .platform-link-button, .platform-back-button, [role="button"]):not(svg, svg *):not(:disabled):not([aria-disabled="true"]):not(.disabled):hover {
    filter:brightness(1.04) !important;
    transform:none !important;
    outline:2px solid rgba(78,113,180,.25);
    outline-offset:2px;
  }
}
:is(button, .btn, .button, .header-action, .platform-button, .platform-link-button, .platform-back-button, [role="button"]):not(svg, svg *):not(:disabled):not([aria-disabled="true"]):not(.disabled):active {
  filter:brightness(.90) !important;
  transform:translateY(2px) !important;
  outline-color:transparent;
}
:is(button, .btn, .button, .header-action, .platform-button, .platform-link-button, .platform-back-button, [role="button"]):not(svg, svg *):focus-visible {
  outline:3px solid #91b0f5 !important;
  outline-offset:3px;
}
@media (prefers-reduced-motion:reduce) {
  :is(button, .btn, .button, .header-action, .platform-button, .platform-link-button, .platform-back-button, [role="button"]):not(svg, svg *) { transition:none !important; }
}

/* Avoid text-color jumps and filter compositing on header account links. */
.who .header-action {
  outline:2px solid transparent;
  outline-offset:2px;
}
@media(hover:hover) {
  .who .header-action:not([aria-disabled="true"]):hover {
    filter:none !important;
    outline-color:rgba(78,113,180,.25);
  }
}
.who .header-action:not([aria-disabled="true"]):active {
  filter:brightness(.94) !important;
  transform:translateY(2px) !important;
}
