*,:after,:before{box-sizing:border-box}html{scroll-behavior:smooth;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif}body{margin:0;padding:0;font-family:inherit;line-height:1.5;color:#1e293b;background-color:#ffffff;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}#root{min-height:100vh;display:flex;flex-direction:column}:root{--primary-50:#eff6ff;--primary-100:#dbeafe;--primary-200:#bfdbfe;--primary-300:#93c5fd;--primary-400:#60a5fa;--primary-500:#3b82f6;--primary-600:#2563eb;--primary-700:#1d4ed8;--primary-800:#1e40af;--primary-900:#1e3a8a;--gray-50:#f9fafb;--gray-100:#f3f4f6;--gray-200:#e5e7eb;--gray-300:#d1d5db;--gray-400:#9ca3af;--gray-500:#6b7280;--gray-600:#4b5563;--gray-700:#374151;--gray-800:#1f2937;--gray-900:#111827;--red-500:#ef4444;--red-600:#dc2626;--green-500:#10b981;--amber-500:#f59e0b;--amber-600:#d97706;--shadow-sm:0 1px 2px 0 rgba(0,0,0,0.05);--shadow:0 4px 6px -1px rgba(0,0,0,0.1),0 2px 4px -1px rgba(0,0,0,0.06);--shadow-lg:0 10px 15px -3px rgba(0,0,0,0.1),0 4px 6px -2px rgba(0,0,0,0.05);--shadow-xl:0 20px 25px -5px rgba(0,0,0,0.1),0 10px 10px -5px rgba(0,0,0,0.04)}.dark{color:#f8fafc;background-color:#0f172a}.dark:root{--gray-50:#1f2937;--gray-100:#374151;--gray-200:#4b5563;--gray-300:#6b7280;--gray-400:#9ca3af;--gray-500:#d1d5db;--gray-600:#e5e7eb;--gray-700:#f3f4f6;--gray-800:#f9fafb;--gray-900:#ffffff}h1,h2,h3,h4,h5,h6{margin:0 0 .75rem;font-weight:600;line-height:1.3;letter-spacing:-.025em}h1{font-size:2rem;font-weight:700}h2{font-size:1.5rem}h3{font-size:1.25rem}h4{font-size:1.125rem;font-weight:500}p{margin:0 0 1rem}a{color:var(--primary-600);text-decoration:none;font-weight:500;transition:color .3s ease}a:hover{color:var(--primary-700);text-decoration:underline}button{font-family:inherit;font-size:inherit;line-height:inherit;margin:0;border:none;background:none;cursor:pointer;transition:all .3s ease;border-radius:.5rem;font-weight:500;min-height:44px;min-width:44px}button:focus{outline:2px solid var(--primary-600);outline-offset:2px}button:disabled{opacity:.5;cursor:not-allowed}input,select,textarea{font-family:inherit;font-size:inherit;line-height:inherit;margin:0;background-color:#ffffff;color:#1e293b;border:2px solid var(--gray-300);transition:all .3s ease;border-radius:.5rem;padding:.75rem 1rem}input:focus,select:focus,textarea:focus{outline:none;border-color:var(--primary-600);box-shadow:0 0 0 3px rgba(59,130,246,.1)}textarea{resize:vertical}.sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}.text-center{text-align:center}.text-left{text-align:left}.text-right{text-align:right}.flex{display:flex}.flex-col{flex-direction:column}.flex-1{flex:1}.items-center{align-items:center}.items-start{align-items:flex-start}.items-end{align-items:flex-end}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.justify-start{justify-content:flex-start}.justify-end{justify-content:flex-end}.gap-1{gap:.25rem}.gap-2{gap:.5rem}.gap-3{gap:.75rem}.gap-4{gap:1rem}.gap-6{gap:1.5rem}.p-2{padding:.5rem}.p-3{padding:.75rem}.p-4{padding:1rem}.p-6{padding:1.5rem}.px-2{padding-left:.5rem;padding-right:.5rem}.px-3{padding-left:.75rem;padding-right:.75rem}.px-4{padding-left:1rem;padding-right:1rem}.py-2{padding-top:.5rem;padding-bottom:.5rem}.py-3{padding-top:.75rem;padding-bottom:.75rem}.py-4{padding-top:1rem;padding-bottom:1rem}.m-0{margin:0}.mb-2{margin-bottom:.5rem}.mb-4{margin-bottom:1rem}.mb-6{margin-bottom:1.5rem}.mx-auto{margin-left:auto;margin-right:auto}.w-full{width:100%}.w-8{width:2rem}.w-16{width:4rem}.w-64{width:16rem}.h-5{height:1.25rem}.h-8{height:2rem}.h-16{height:4rem}.h-full{height:100%}.min-h-screen{min-height:100vh}.max-w-md{max-width:28rem}.max-w-4xl{max-width:56rem}.relative{position:relative}.absolute{position:absolute}.fixed{position:fixed}.sticky{position:sticky}.top-0{top:0}.left-0{left:0}.right-0{right:0}.bottom-0{bottom:0}.inset-0{top:0;right:0;bottom:0;left:0}.z-40{z-index:40}.z-50{z-index:50}.bg-white{background-color:#ffffff}.bg-gray-50{background-color:var(--gray-50)}.bg-gray-100{background-color:var(--gray-100)}.bg-gray-800{background-color:var(--gray-800)}.bg-gray-900{background-color:var(--gray-900)}.bg-primary-100{background-color:var(--primary-100)}.bg-primary-600{background-color:var(--primary-600)}.bg-primary-700{background-color:var(--primary-700)}.bg-red-50{background-color:#fef2f2}.bg-amber-50{background-color:#fffbeb}.text-white{color:#ffffff}.text-gray-100{color:var(--gray-100)}.text-gray-300{color:var(--gray-300)}.text-gray-400{color:var(--gray-400)}.text-gray-500{color:var(--gray-500)}.text-gray-600{color:var(--gray-600)}.text-gray-700{color:var(--gray-700)}.text-gray-900{color:var(--gray-900)}.text-primary-600{color:var(--primary-600)}.text-red-600{color:var(--red-600)}.text-red-800{color:#991b1b}.text-amber-600{color:var(--amber-600)}.text-amber-800{color:#92400e}.text-xs{font-size:.75rem}.text-sm{font-size:.875rem}.text-base{font-size:1rem}.text-lg{font-size:1.125rem}.text-xl{font-size:1.25rem}.text-2xl{font-size:1.5rem}.font-medium{font-weight:500}.font-semibold{font-weight:600}.font-bold{font-weight:700}.border{border:1px solid var(--gray-200)}.border-t{border-top:1px solid var(--gray-200)}.border-b{border-bottom:1px solid var(--gray-200)}.border-r{border-right:1px solid var(--gray-200)}.border-gray-200{border-color:var(--gray-200)}.border-gray-300{border-color:var(--gray-300)}.border-gray-700{border-color:var(--gray-700)}.border-red-200{border-color:#fecaca}.border-red-800{border-color:#991b1b}.border-amber-200{border-color:#fde68a}.border-amber-800{border-color:#92400e}.rounded{border-radius:.25rem}.rounded-md{border-radius:.375rem}.rounded-lg{border-radius:.5rem}.rounded-xl{border-radius:.75rem}.rounded-2xl{border-radius:1rem}.rounded-full{border-radius:9999px}.rounded-br-md{border-bottom-right-radius:.375rem}.rounded-bl-md{border-bottom-left-radius:.375rem}.shadow{box-shadow:var(--shadow)}.shadow-sm{box-shadow:var(--shadow-sm)}.shadow-lg{box-shadow:var(--shadow-lg)}.shadow-xl{box-shadow:var(--shadow-xl)}.shadow-2xl{box-shadow:0 25px 50px -12px rgba(0,0,0,.25)}.overflow-hidden{overflow:hidden}.overflow-y-auto{overflow-y:auto}.hidden{display:none}.block{display:block}.inline-flex{display:inline-flex}.transition-colors{transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out}.transition-all{transition:all .15s ease-in-out}.duration-150{transition-duration:.15s}.transform{transform:translateZ(0)}.translate-x-0{transform:translateX(0)}.-translate-x-full{transform:translateX(-100%)}.scale-105{transform:scale(1.05)}.hover\:bg-gray-100:hover{background-color:var(--gray-100)}.hover\:bg-gray-200:hover{background-color:var(--gray-200)}.hover\:bg-gray-700:hover{background-color:var(--gray-700)}.hover\:bg-gray-800:hover{background-color:var(--gray-800)}.hover\:bg-primary-700:hover{background-color:var(--primary-700)}.hover\:text-gray-300:hover{color:var(--gray-300)}.hover\:text-gray-600:hover{color:var(--gray-600)}.hover\:text-gray-900:hover{color:var(--gray-900)}.hover\:text-primary-700:hover{color:var(--primary-700)}.focus\:outline-none:focus{outline:none}.focus\:ring-2:focus{box-shadow:0 0 0 2px var(--primary-600)}.focus\:ring-primary-500:focus{box-shadow:0 0 0 2px var(--primary-500)}.focus\:ring-offset-2:focus{box-shadow:0 0 0 2px #ffffff,0 0 0 4px var(--primary-600)}.disabled\:opacity-50:disabled{opacity:.5}.disabled\:cursor-not-allowed:disabled{cursor:not-allowed}@media (min-width:640px){.sm\:max-w-md{max-width:28rem}.sm\:max-w-lg{max-width:32rem}.sm\:inline{display:inline}}@media (min-width:768px){.md\:block{display:block}.md\:hidden{display:none}}@media (min-width:1024px){.lg\:hidden{display:none}.lg\:flex{display:flex}.lg\:relative{position:relative}.lg\:w-16{width:4rem}.lg\:w-64{width:16rem}.lg\:ml-0{margin-left:0}.lg\:ml-16{margin-left:4rem}.lg\:ml-64{margin-left:16rem}.lg\:translate-x-0{transform:translateX(0)}}@media (min-width:1280px){.xl\:max-w-xl{max-width:36rem}}.dark .dark\:bg-gray-800{background-color:var(--gray-800)}.dark .dark\:bg-gray-900{background-color:var(--gray-900)}.dark .dark\:text-gray-100{color:var(--gray-100)}.dark .dark\:text-gray-300{color:var(--gray-300)}.dark .dark\:text-gray-400{color:var(--gray-400)}.dark .dark\:border-gray-600{border-color:var(--gray-600)}.dark .dark\:border-gray-700{border-color:var(--gray-700)}.dark .dark\:border-red-800{border-color:#991b1b}.dark .dark\:hover\:bg-gray-700:hover{background-color:var(--gray-700)}.dark .dark\:hover\:bg-gray-800:hover{background-color:var(--gray-800)}.dark .dark\:hover\:text-gray-300:hover{color:var(--gray-300)}@keyframes spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes typing-dot{0%,60%,to{transform:translateY(0)}30%{transform:translateY(-10px)}}.animate-spin{animation:spin 1s linear infinite}.animate-fade-in{animation:fadeIn .15s ease-out}.typing-dot{animation:typing-dot 1.4s ease-in-out infinite}.typing-dot:first-child{animation-delay:-.32s}.typing-dot:nth-child(2){animation-delay:-.16s}.typing-dot:nth-child(3){animation-delay:0s}.scrollbar-thin{scrollbar-width:thin;scrollbar-color:var(--gray-400) transparent}.scrollbar-thin::-webkit-scrollbar{width:6px}.scrollbar-thin::-webkit-scrollbar-track{background:transparent}.scrollbar-thin::-webkit-scrollbar-thumb{background-color:var(--gray-400);border-radius:3px}.scrollbar-thin::-webkit-scrollbar-thumb:hover{background-color:var(--gray-500)}.input-primary{width:100%;padding:.75rem 1rem;background-color:#ffffff;border:1px solid var(--gray-300);border-radius:.5rem;transition:all .15s ease-in-out}.input-primary:focus{outline:none;border-color:var(--primary-600);box-shadow:0 0 0 2px rgba(59,130,246,.1)}.chat-bubble-user{background-color:var(--primary-600);color:white;border-radius:1rem;border-bottom-right-radius:.375rem;padding:.75rem 1rem;max-width:28rem}.chat-bubble-assistant{background-color:var(--gray-100);color:var(--gray-900);border-radius:1rem;border-bottom-left-radius:.375rem;padding:.75rem 1rem;max-width:28rem}.dark .chat-bubble-assistant{background-color:var(--gray-800);color:var(--gray-100)}@media (max-width:768px){input,select,textarea{font-size:16px}.chat-bubble-assistant,.chat-bubble-user{max-width:85%}}