@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes slideInFromLeft{0%{opacity:0;transform:translate(-20px)}to{opacity:1;transform:translate(0)}}@keyframes slideInFromRight{0%{opacity:0;transform:translate(20px)}to{opacity:1;transform:translate(0)}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}.animate-fadeIn{animation:fadeIn .3s ease-out}.animate-slideInFromLeft{animation:slideInFromLeft .4s ease-out}.animate-slideInFromRight{animation:slideInFromRight .4s ease-out}.animate-pulse-slow{animation:pulse 2s cubic-bezier(.4,0,.6,1) infinite}.messages-container{scroll-behavior:smooth}.messages-container::-webkit-scrollbar{width:6px}.messages-container::-webkit-scrollbar-track{background:#f1f5f9;border-radius:3px}.messages-container::-webkit-scrollbar-thumb{background:#cbd5e1;border-radius:3px}.messages-container::-webkit-scrollbar-thumb:hover{background:#94a3b8}.prose{line-height:1.6}.prose h1,.prose h2,.prose h3,.prose h4,.prose h5,.prose h6{margin-top:1.5em;margin-bottom:.5em}.prose p{margin-bottom:1em}.prose ul,.prose ol{margin-bottom:1em;padding-left:1.5em}.prose li{margin-bottom:.25em}.prose code{background-color:#f8fafc;padding:.125rem .25rem;border-radius:.25rem;font-size:.875em}.prose pre{background-color:#f8fafc;padding:1rem;border-radius:.5rem;overflow-x:auto;margin:1em 0}.prose blockquote{border-left:4px solid #e2e8f0;padding-left:1rem;font-style:italic;margin:1em 0}@keyframes typing{0%{transform:translateY(0)}50%{transform:translateY(-3px)}to{transform:translateY(0)}}.typing-dot{animation:typing 1.4s infinite ease-in-out}.typing-dot:nth-child(2){animation-delay:.2s}.typing-dot:nth-child(3){animation-delay:.4s}.button-hover-scale{transition:transform .2s ease-in-out}.button-hover-scale:hover{transform:scale(1.05)}.file-upload-area{transition:all .3s ease}.file-upload-area:hover{border-color:#3b82f6;background-color:#eff6ff}.message-bubble{transition:all .2s ease}.message-bubble:hover{transform:translateY(-1px);box-shadow:0 10px 25px -5px #0000001a,0 10px 10px -5px #0000000a}.gradient-text{background:linear-gradient(135deg,#667eea,#764ba2);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.spinner{border-top-color:transparent;animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.attached-files{animation:fadeIn .3s ease-out}.attached-files .file-item{transition:all .2s ease}.attached-files .file-item:hover{transform:translateY(-1px)}
