@keyframes ai-typing-indicator-chase{0%,60%,to{opacity:.6}30%{opacity:1}}[data-slot=ai-typing-indicator] .ai-typing-dot{opacity:.6}@media (prefers-reduced-motion:no-preference){[data-slot=ai-typing-indicator] .ai-typing-dot{animation-name:ai-typing-indicator-chase}}@keyframes ai-scroll-button-arrival{0%{opacity:0}to{opacity:1}}.ai-scroll-button-arrival{animation:ai-scroll-button-arrival .14s var(--ease-decelerate,cubic-bezier(0, 0, .2, 1))}@media (prefers-reduced-motion:reduce){.ai-scroll-button-arrival{animation:none}}@keyframes ai-context-indicator-dot-chase{0%,to{opacity:.87}33.333%{opacity:.25}66.667%{opacity:.5}}.ai-context-indicator-dot{animation:1.2s linear infinite ai-context-indicator-dot-chase}.ai-context-indicator-dot:first-of-type{opacity:.87}.ai-context-indicator-dot:nth-of-type(2){opacity:.5;animation-delay:-800ms}.ai-context-indicator-dot:nth-of-type(3){opacity:.25;animation-delay:-400ms}@keyframes ai-context-indicator-check-fade{0%{opacity:0}}.ai-context-indicator-check-fade{animation:ai-context-indicator-check-fade var(--motion-duration-fast,.12s) ease-out}@media (prefers-reduced-motion:reduce){.ai-context-indicator-dot,.ai-context-indicator-check-fade{animation:none}}@keyframes thinking-grow-empty{0%{left:0;right:100%;transform:translate(-80px)}25%{left:0;right:0;transform:translate(0)}50%{left:100%;right:0;transform:translate(80px)}75%{left:0;right:0;transform:translate(0)}to{left:0;right:100%;transform:translate(-80px)}}
/*$vite$:1*/