/* Общие движения: короткие, без постоянного мерцания и без задержки действий. */
:root{--motion-fast:150ms;--motion-panel:240ms;--motion-ease:cubic-bezier(.2,.8,.2,1)}
:is(button,.btn,.import-btn,.plan-opt,.device-opt,.nav-login,.nav-start,.mob-auth-login,.mob-auth-start){
  transition:transform var(--motion-fast) var(--motion-ease),background-color 180ms ease,border-color 180ms ease,box-shadow 180ms ease,opacity 180ms ease;
}
:is(button,.btn,.import-btn,.plan-opt,.device-opt,.nav-login,.nav-start,.mob-auth-login,.mob-auth-start):active:not(:disabled):not([aria-disabled="true"]){
  transform:translateY(1px) scale(.975);
}
:is(button,a,input,select,textarea,summary,[tabindex]):focus-visible{outline:2px solid var(--purple,var(--lav,#7c6af7));outline-offset:3px}
summary{cursor:pointer;transition:color 180ms ease}
@media(hover:hover) and (pointer:fine){
  :is(.btn,.import-btn,.plan-opt,.device-opt,.nav-login,.nav-start):hover:not(:disabled):not([aria-disabled="true"]){transform:translateY(-2px)}
  :is(.btn,.import-btn,.plan-opt,.device-opt,.nav-login,.nav-start):active:not(:disabled):not([aria-disabled="true"]){transform:translateY(1px) scale(.975)}
}
@media(prefers-reduced-motion:reduce){
  *,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}
  :is(button,.btn,.import-btn,.plan-opt,.device-opt,.nav-login,.nav-start,.mob-auth-login,.mob-auth-start){transform:none!important}
}
