.container{max-width:1200px;margin:0 auto;padding:0 1rem}.bg-gradient-to-b{background:linear-gradient(180deg,#1a202c,#1e3a8a)}.text-transparent{color:transparent}.bg-clip-text{-webkit-background-clip:text;background-clip:text}.bg-gradient-to-r{background:linear-gradient(90deg,#3b82f6,#8b5cf6)}.min-h-screen{min-height:100vh}.text-white{color:#fff}.text-gray-300{color:#d1d5db}.text-gray-400{color:#9ca3af}.text-blue-400{color:#60a5fa}.text-blue-500{color:#3b82f6}.text-green-400{color:#4ade80}.text-red-400{color:#f87171}.bg-gray-600{background-color:#4b5563}.bg-gray-700{background-color:#374151}.bg-gray-800{background-color:#1f2937}.bg-blue-500{background-color:#3b82f6}.bg-blue-600{background-color:#2563eb}.bg-purple-500{background-color:#8b5cf6}.bg-purple-600{background-color:#7c3aed}.bg-green-500{background-color:#10b981}.bg-green-900{background-color:#064e3b}.bg-red-900{background-color:#7f1d1d}.bg-opacity-20{opacity:.2}.bg-opacity-50{opacity:.5}.border-gray-700{border-color:#374151}.border-gray-800{border-color:#1f2937}.border-blue-500{border-color:#3b82f6}.border{border-width:1px}.border-2{border-width:2px}.border-t{border-top-width:1px}.border-dashed{border-style:dashed}.rounded-lg{border-radius:.5rem}.rounded-xl{border-radius:.75rem}.rounded-full{border-radius:9999px}.font-bold{font-weight:700}.font-medium{font-weight:500}.text-2xl{font-size:1.5rem}.text-4xl{font-size:2.25rem}.text-5xl{font-size:3rem}.text-xl{font-size:1.25rem}.text-sm{font-size:.875rem}.py-3{padding-top:.75rem;padding-bottom:.75rem}.py-6{padding-top:1.5rem;padding-bottom:1.5rem}.py-8{padding-top:2rem;padding-bottom:2rem}.py-12{padding-top:3rem;padding-bottom:3rem}.px-4{padding-left:1rem;padding-right:1rem}.px-8{padding-left:2rem;padding-right:2rem}.p-3{padding:.75rem}.p-6{padding:1.5rem}.p-8{padding:2rem}.m-2{margin:.5rem}.mx-auto{margin-left:auto;margin-right:auto}.mb-2{margin-bottom:.5rem}.mb-4{margin-bottom:1rem}.mb-6{margin-bottom:1.5rem}.mb-12{margin-bottom:3rem}.mr-2{margin-right:.5rem}.mt-16{margin-top:4rem}.max-w-3xl{max-width:48rem}.max-h-64{max-height:16rem}.w-12{width:3rem}.h-12{height:3rem}.flex{display:flex}.grid{display:grid}.hidden{display:none}.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.gap-8{gap:2rem}.space-y-6>*+*{margin-top:1.5rem}.items-center{align-items:center}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.text-center{text-align:center}.cursor-pointer{cursor:pointer}.cursor-not-allowed{cursor:not-allowed}.transition{transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.duration-300{transition-duration:.3s}.hover\:bg-gray-700:hover{background-color:#374151}.hover\:from-blue-500:hover{--tw-gradient-from:#3b82f6}.hover\:to-purple-500:hover{--tw-gradient-to:#8b5cf6}.animate-spin{animation:spin 1s linear infinite}@keyframes spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.backdrop-blur-sm{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}@media (min-width:768px){.md\:text-5xl{font-size:3rem}.md\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}}.chat-container{box-shadow:0 4px 20px rgba(0,0,0,.2)}.shadow-md{box-shadow:0 4px 6px -1px rgba(0,0,0,.1),0 2px 4px -1px rgba(0,0,0,.06)}.shadow-inner{box-shadow:inset 0 2px 4px 0 rgba(0,0,0,.25)}.typing-indicator{display:flex;align-items:center}.typing-indicator span{height:8px;width:8px;margin:0 2px;background-color:#a0aec0;border-radius:50%;display:inline-block;animation:typing-bounce 1.4s ease-in-out infinite both}.typing-indicator span:first-child{animation-delay:0s}.typing-indicator span:nth-child(2){animation-delay:.2s}.typing-indicator span:nth-child(3){animation-delay:.4s}@keyframes typing-bounce{0%,80%,to{transform:scale(.6);opacity:.6}40%{transform:scale(1);opacity:1}}.rounded-2xl{border-radius:1rem}.rounded-tr-none{border-top-right-radius:0}.rounded-tl-none{border-top-left-radius:0}.pr-12{padding-right:3rem}.p-4{padding:1rem}.focus\:ring-2:focus{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.focus\:border-transparent:focus{border-color:transparent}.border-red-800{border-color:#991b1b}.h-72{height:18rem}.h-8{height:2rem}.w-8{width:2rem}.h-10{height:2.5rem}.w-10{width:2.5rem}.mt-1{margin-top:.25rem}.ml-2{margin-left:.5rem}.text-3xl{font-size:1.875rem;line-height:2.25rem}.text-xs{font-size:.75rem;line-height:1rem}.bg-gray-900{background-color:#111827}.bg-opacity-40{opacity:.4}.bg-opacity-60{opacity:.6}.space-y-3>*+*{margin-top:.75rem}.transition-all{transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.duration-200{transition-duration:.2s}.placeholder-gray-400::placeholder{color:#9ca3af}.placeholder-gray-300::placeholder{color:#d1d5db}.from-blue-700{--tw-gradient-from:#1d4ed8;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to,rgba(29,78,216,0))}.from-gray-700{--tw-gradient-from:#374151;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to,rgba(55,65,81,0))}.to-gray-800{--tw-gradient-to:#1f2937}.to-blue-700{--tw-gradient-to:#1d4ed8}.right-2{right:.5rem}.top-2{top:.5rem}.relative{position:relative}.absolute{position:absolute}.text-gray-100{color:#f3f4f6}.break-words{overflow-wrap:break-word;word-wrap:break-word;word-break:break-word}.max-w-\[75\%\]{max-width:75%}.w-full{width:100%}.flex-shrink-0{flex-shrink:0}.chat-messages-container{width:100%;box-sizing:border-box;overflow-x:hidden}.chat-message{display:flex;width:100%;margin-bottom:.75rem;align-items:flex-end;box-sizing:border-box}.user-message{justify-content:flex-end;margin-left:auto;max-width:80%}.ai-message{justify-content:flex-start;margin-right:auto;max-width:80%}.message-avatar{height:32px;width:32px;border-radius:50%;background-color:#4b5563;display:flex;align-items:center;justify-content:center;flex-shrink:0}.ai-avatar{background-color:#2563eb;margin-right:.5rem}.user-avatar{background-color:#4b5563;margin-left:.5rem}.message-bubble{padding:.75rem 1rem;border-radius:1rem;word-wrap:break-word;overflow-wrap:break-word;word-break:break-all;max-width:calc(100% - 40px);box-shadow:0 2px 4px rgba(0,0,0,.1)}.user-bubble{background-color:#2563eb;color:#fff;border-top-right-radius:.25rem}.ai-bubble{background-color:#374151;color:#e5e7eb;border-top-left-radius:.25rem}.typing-bubble{background-color:#374151;padding:.75rem 1rem}