/* KNGX shared motion tokens + rules (motion audit 2026-09-28).
   Tokens mirror the Bots page: micro = --t-fast + --ease-out, larger transitions = --t-smooth + --ease-smooth.
   Motion only on real events: hover/press/toggle (fast) and panel/modal/drawer/page/theme changes (smooth).
   No idle loops; loaders, live-status dots, the Care orb video and real-data tickers are the only exceptions. */
:root{
  --t-fast:120ms;--t-smooth:350ms;
  --ease-out:cubic-bezier(.22,1,.36,1);
  --ease-smooth:cubic-bezier(.2,.8,.2,1);
  --ease-spring:cubic-bezier(.3,1.35,.5,1);
}
/* Press: scale to .97 instantly (uses the `scale` property so existing transforms like translateY(-50%) are kept) */
:where(button,[role="button"],.btn,input[type="submit"],input[type="button"]):active:not(:disabled):not([aria-disabled="true"]):not(.kchat-fab-dragging){
  scale:.97;transition-duration:0ms!important;
}
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{
    animation-duration:.01ms!important;animation-iteration-count:1!important;
    transition-duration:.01ms!important;transition-delay:0ms!important;scroll-behavior:auto!important;
  }
}
