::-webkit-scrollbar{width:6px}::-webkit-scrollbar-track{background:#374151}::-webkit-scrollbar-thumb{background:#6b7280;border-radius:3px}::-webkit-scrollbar-thumb:hover{background:#9ca3af}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes slideIn{0%{opacity:0;transform:translateX(-20px)}to{opacity:1;transform:translateX(0)}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}.message-bubble{animation:fadeIn .3s ease-out}.message-bubble.assistant,.message-bubble.user{animation:slideIn .3s ease-out}.typing-indicator{animation:pulse 1.5s ease-in-out infinite}.messages-container::-webkit-scrollbar{width:4px}.messages-container::-webkit-scrollbar-track{background:transparent}.messages-container::-webkit-scrollbar-thumb{background:rgba(156,163,175,.3);border-radius:2px}.messages-container::-webkit-scrollbar-thumb:hover{background:rgba(156,163,175,.5)}.btn-primary{background:linear-gradient(135deg,#3b82f6,#8b5cf6);transition:all .3s ease}.btn-primary:hover{background:linear-gradient(135deg,#2563eb,#7c3aed);transform:translateY(-1px);box-shadow:0 4px 12px rgba(59,130,246,.3)}.btn-primary:active{transform:translateY(0)}.input-field{transition:all .3s ease}.input-field:focus{transform:scale(1.02);box-shadow:0 0 0 3px rgba(59,130,246,.1)}.card{transition:all .3s ease}.card:hover{transform:translateY(-2px);box-shadow:0 8px 25px rgba(0,0,0,.15)}.sidebar-item{transition:all .2s ease}.sidebar-item:hover{background-color:rgba(59,130,246,.1);transform:translateX(4px)}.settings-panel{animation:slideIn .3s ease-out}.loading-spinner{animation:spin 1s linear infinite}@keyframes spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.text-gradient{background:linear-gradient(135deg,#3b82f6,#8b5cf6);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.bg-gradient{background:linear-gradient(135deg,#1f2937,#111827)}.bg-gradient-light{background:linear-gradient(135deg,#f9fafb,#f3f4f6)}.border-gradient{border:2px solid transparent;background:linear-gradient(135deg,#1f2937,#111827) padding-box,linear-gradient(135deg,#3b82f6,#8b5cf6) border-box}.shadow-glow{box-shadow:0 0 20px rgba(59,130,246,.3)}.shadow-glow-purple{box-shadow:0 0 20px rgba(139,92,246,.3)}.animate-float{animation:float 3s ease-in-out infinite}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}.animate-fade-in{animation:fadeIn .5s ease-out}.animate-slide-in{animation:slideIn .5s ease-out}.animate-fade-out{animation:fadeOut .3s ease-out}@keyframes fadeOut{0%{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(-10px)}}.animate-text-shimmer{background:linear-gradient(90deg,#3b82f6,#8b5cf6,#3b82f6);background-size:200% 100%;animation:shimmer 2s ease-in-out infinite}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}.response-typing{animation:typing 1s ease-in-out infinite}@keyframes typing{0%,to{opacity:1}50%{opacity:.3}}.error-shake{animation:shake .5s ease-in-out}@keyframes shake{0%,to{transform:translateX(0)}25%{transform:translateX(-5px)}75%{transform:translateX(5px)}}.success-bounce{animation:bounce .6s ease-in-out}@keyframes bounce{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}.loading-dots{display:inline-block}.loading-dots:after{content:"";animation:dots 1.5s steps(4) infinite}@keyframes dots{0%,20%{content:""}40%{content:"."}60%{content:".."}80%,to{content:"..."}}.smooth-scroll{scroll-behavior:smooth}.touch-feedback{transition:all .1s ease}.touch-feedback:active{transform:scale(.95)}.stagger-animation>*{animation:fadeIn .5s ease-out}.stagger-animation>:first-child{animation-delay:.1s}.stagger-animation>:nth-child(2){animation-delay:.2s}.stagger-animation>:nth-child(3){animation-delay:.3s}.stagger-animation>:nth-child(4){animation-delay:.4s}.stagger-animation>:nth-child(5){animation-delay:.5s}