/* Motion. Rule of thumb: machine-state motion is SLOW, LOW-AMPLITUDE and LOOPING
   (it signals "still working" without demanding attention). User-triggered motion is
   FAST and DECISIVE. Nothing loops faster than 1.2s; nothing translates more than 8px. */
:root{
--duration-instant:80ms; /* @kind other */
--duration-fast:140ms; /* @kind other */
--duration-normal:220ms; /* @kind other */
--duration-slow:360ms; /* @kind other */
--duration-slower:560ms; /* @kind other */
--duration-stream-line:90ms; /* @kind other */

--ease-standard:cubic-bezier(.2,0,0,1); /* @kind other */
--ease-entrance:cubic-bezier(.16,1,.3,1); /* @kind other */
--ease-exit:cubic-bezier(.4,0,1,1); /* @kind other */
--ease-spring:cubic-bezier(.34,1.4,.64,1); /* @kind other */
--ease-breathe:cubic-bezier(.45,0,.55,1); /* @kind other */

--animation-pulse-generating:v-pulse 1.6s var(--ease-breathe) infinite; /* @kind other */
--animation-shimmer-skeleton:v-shimmer 1.4s linear infinite; /* @kind other */
--animation-caret-stream:v-caret .9s steps(2,start) infinite; /* @kind other */
--animation-orbit-listening:v-orbit 2.4s linear infinite; /* @kind other */
--animation-thinking-dots:v-dots 1.2s var(--ease-breathe) infinite; /* @kind other */
--animation-waveform-speaking:v-wave 1s var(--ease-breathe) infinite; /* @kind other */

--transition-control:background-color var(--duration-fast) var(--ease-standard),border-color var(--duration-fast) var(--ease-standard),color var(--duration-fast) var(--ease-standard),box-shadow var(--duration-fast) var(--ease-standard); /* @kind other */
--transition-surface:transform var(--duration-normal) var(--ease-standard),box-shadow var(--duration-normal) var(--ease-standard); /* @kind other */
}
@keyframes v-pulse{0%,100%{opacity:.42}50%{opacity:1}}
@keyframes v-shimmer{0%{background-position:-320px 0}100%{background-position:320px 0}}
@keyframes v-caret{0%,49%{opacity:1}50%,100%{opacity:0}}
@keyframes v-orbit{to{transform:rotate(360deg)}}
@keyframes v-dots{0%,100%{transform:translateY(0);opacity:.4}50%{transform:translateY(-3px);opacity:1}}
@keyframes v-wave{0%,100%{transform:scaleY(.35)}50%{transform:scaleY(1)}}
@keyframes v-rise{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}
@keyframes v-fade{from{opacity:0}to{opacity:1}}
@keyframes v-ring{0%{transform:scale(.9);opacity:.55}100%{transform:scale(1.5);opacity:0}}
@media (prefers-reduced-motion:reduce){
:root{
--animation-pulse-generating:v-fade var(--duration-normal) both; /* @kind other */
--animation-shimmer-skeleton:none; /* @kind other */
--animation-caret-stream:none; /* @kind other */
--animation-orbit-listening:none; /* @kind other */
--animation-thinking-dots:none; /* @kind other */
--animation-waveform-speaking:none; /* @kind other */
--duration-normal:1ms; /* @kind other */
--duration-slow:1ms; /* @kind other */
--duration-slower:1ms; /* @kind other */
}
*,*::before,*::after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important;scroll-behavior:auto!important}
}
