/* Shared interaction feedback; no layout sizes or business handlers change. */
@media screen {
  body input[type="file"]::file-selector-button {
    transition: translate 160ms cubic-bezier(.2,.9,.25,1.3), scale 160ms cubic-bezier(.2,.9,.25,1.3), filter 120ms ease;
  }
  body input[type="file"]:not(:disabled):hover::file-selector-button { filter: brightness(.92); }
  body input[type="file"]:not(:disabled):active::file-selector-button { translate: 0 2px; scale: .985; filter: brightness(.88); transition-duration: 70ms; }
  body :is(button, input[type="button"], input[type="submit"], input[type="reset"], [role="button"], a.button, a.primary, header > a, nav > a):not(.gm-style *):not(svg *) {
    translate: 0 0;
    scale: 1;
    transition: translate 160ms cubic-bezier(.2,.9,.25,1.3), scale 160ms cubic-bezier(.2,.9,.25,1.3), filter 120ms ease, border-color 120ms ease;
  }
  @media (hover: hover) {
    body :is(button, input[type="button"], input[type="submit"], input[type="reset"], [role="button"], a.button, a.primary, header > a, nav > a):not(.gm-style *):not(svg *):not(:disabled):not([aria-disabled="true"]):hover {
      filter: brightness(.92) saturate(1.08);
      border-color: var(--role-accent, var(--brand-primary, var(--navy, #235d87)));
    }
  }
  body :is(button, input[type="button"], input[type="submit"], input[type="reset"], [role="button"], a.button, a.primary, header > a, nav > a):not(.gm-style *):not(svg *):not(:disabled):not([aria-disabled="true"]):active {
    translate: 0 2px;
    scale: .985;
    filter: brightness(.88);
    transition-duration: 70ms;
  }
  body :is(button, input[type="button"], input[type="submit"], input[type="reset"], [role="button"], a.button, a.primary, header > a, nav > a):not(.gm-style *):not(svg *):focus-visible {
    outline: 2px solid var(--role-accent, var(--brand-primary, var(--navy, #235d87)));
    outline-offset: 3px;
  }
  body :is(button, input[type="button"], input[type="submit"], input[type="reset"], [role="button"], a.button, a.primary, header > a, nav > a):not(.gm-style *):not(svg *):is(:disabled, [aria-disabled="true"]) {
    translate: 0 0;
    scale: 1;
    filter: none;
    transition: none;
  }
  @media (prefers-reduced-motion: reduce) {
    body input[type="file"]::file-selector-button { translate: none; scale: none; transition: none; }
    body :is(button, input[type="button"], input[type="submit"], input[type="reset"], [role="button"], a.button, a.primary, header > a, nav > a):not(.gm-style *):not(svg *) {
      translate: none;
      scale: none;
      transition: none;
    }
  }
}
