@import"https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700;800&display=swap";:root{font-family:Inter,sans-serif;line-height:1.5;font-weight:400;color-scheme:light dark;color:#1f2937;background-color:#f3f4f6;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{margin:0;min-height:100vh;box-sizing:border-box;overflow-x:hidden}.animate-fadeIn{animation:fadeIn 1s ease-out forwards}.animate-slideUp{animation:slideUp .8s ease-out forwards;animation-delay:.3s;opacity:0}.animate-scaleIn{animation:scaleIn .5s ease-out forwards;animation-delay:.5s;opacity:0;transform:scale(.9)}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUp{0%{transform:translateY(20px);opacity:0}to{transform:translateY(0);opacity:1}}@keyframes scaleIn{0%{transform:scale(.9);opacity:0}to{transform:scale(1);opacity:1}}.container{max-width:1200px;margin-left:auto;margin-right:auto;border-radius:.75rem;margin-left:1rem;margin-right:1rem;width:calc(100% - 2rem);box-sizing:border-box;overflow:hidden}@media (min-width: 640px){.container{margin-left:auto;margin-right:auto;width:auto}}.flex-center{display:flex;justify-content:center;align-items:center}.flex-col{display:flex;flex-direction:column}.flex-row{display:flex;flex-direction:row}.flex-grow{flex-grow:1}.flex-wrap{flex-wrap:wrap}.justify-between{justify-content:space-between}.items-center{align-items:center}.gap-4{gap:1rem}.gap-6{gap:1.5rem}.w-full{width:100%}.max-w-2xl{max-width:42rem}.max-w-3xl{max-width:48rem}.max-w-md{max-width:28rem}.max-w-6xl{max-width:72rem}.mx-auto{margin-left:auto;margin-right:auto}.mt-1{margin-top:.25rem}.mt-4{margin-top:1rem}.mt-6{margin-top:1.5rem}.mt-8{margin-top:2rem}.mb-2{margin-bottom:.5rem}.mb-3{margin-bottom:.75rem}.mb-4{margin-bottom:1rem}.mb-6{margin-bottom:1.5rem}.mb-8{margin-bottom:2rem}.mb-12{margin-bottom:3rem}.pb-4{padding-bottom:1rem}.p-4{padding:1rem}.p-6{padding:1.5rem}.py-4{padding-top:1rem;padding-bottom:1rem}.py-10{padding-top:2.5rem;padding-bottom:2.5rem}.px-4{padding-left:1rem;padding-right:1rem}.rounded-lg{border-radius:.5rem}.rounded-xl{border-radius:.75rem}.rounded-2xl{border-radius:1rem}.rounded-full{border-radius:9999px}.shadow-md{box-shadow:0 4px 6px -1px #0000001a,0 2px 4px -1px #0000000f}.shadow-lg{box-shadow:0 10px 15px -3px #0000001a,0 4px 6px -2px #0000000d}.shadow-xl{box-shadow:0 20px 25px -5px #0000001a,0 8px 10px -6px #0000001a}.shadow-2xl{box-shadow:0 25px 50px -12px #00000040}.min-h-screen{min-height:100vh}.overflow-y-auto{overflow-y:auto}.overflow-hidden{overflow:hidden}.line-clamp-2{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;text-overflow:ellipsis}.line-clamp-3{display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;text-overflow:ellipsis}.line-clamp-4{display:-webkit-box;-webkit-line-clamp:4;-webkit-box-orient:vertical;overflow:hidden;text-overflow:ellipsis}.text-center{text-align:center}.text-sm{font-size:.875rem;line-height:1.25rem}.text-lg{font-size:1.125rem;line-height:1.75rem}.text-xl{font-size:1.25rem;line-height:1.75rem}.text-2xl{font-size:1.5rem;line-height:2rem}.text-3xl{font-size:1.875rem;line-height:2.25rem}.text-4xl{font-size:2.25rem;line-height:2.5rem}.text-5xl{font-size:3rem;line-height:1}.text-6xl{font-size:3.75rem;line-height:1}.font-extrabold{font-weight:800}.font-bold{font-weight:700}.font-semibold{font-weight:600}.font-medium{font-weight:500}.text-white{color:#fff}.text-gray-500{color:#6b7280}.text-gray-600,.text-gray-700{color:#4b5563}.text-gray-800{color:#1f2937}.text-gray-900{color:#111827}.text-indigo-300{color:#a5b4fc}.text-indigo-500{color:#6366f1}.text-indigo-600{color:#4f46e5}.text-indigo-800{color:#3730a3}.text-green-500{color:#22c55e}.text-green-700{color:#166534}.text-green-800{color:#14532d}.text-red-500{color:#ef4444}.text-red-600{color:#dc2626}.text-red-700{color:#b91c1c}.text-red-800{color:#991b1b}.text-red-900{color:#7f1d1d}.text-blue-600{color:#2563eb}.leading-relaxed{line-height:1.625}.opacity-0{opacity:0}.opacity-90{opacity:.9}.splash-gradient-bg{background-image:linear-gradient(to bottom right,#6366f1,#9333ea)}.splash-header{text-align:center;margin-bottom:3rem}.splash-h1{font-size:3.75rem;font-weight:800;margin-bottom:1rem}.splash-p{font-size:1.25rem;opacity:.9}.splash-content-wrapper{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2rem;width:100%;max-width:72rem}@media (min-width: 1024px){.splash-content-wrapper.lg-flex-row{flex-direction:row}}@media (min-width: 640px){.auth-form-card.sm-mb-8{margin-bottom:2rem}}@media (min-width: 1024px){.auth-form-card.lg-mb-0{margin-bottom:0}}.auth-form-card,.pricing-card-wrapper{background-color:#fff;padding:2rem;border-radius:1rem;box-shadow:0 20px 25px -5px #0000001a,0 8px 10px -6px #0000001a;width:100%;max-width:28rem}.auth-form-card h2,.pricing-card-wrapper h2{font-size:1.875rem;font-weight:700;color:#1f2937;margin-bottom:1.5rem;text-align:center}.form-space-y-4>*:not(:last-child){margin-bottom:1rem}.input-field{width:100%;padding:.75rem;border-radius:.5rem;border:1px solid #d1d5db;outline:none;color:#1f2937;background-color:#fff;transition:border-color .3s,box-shadow .3s;box-sizing:border-box}.input-field:focus{border-color:#6366f1;box-shadow:0 0 0 2px #6366f140}.btn-primary{width:100%;background-color:#4f46e5;color:#fff;padding:.75rem;border-radius:.5rem;font-weight:600;transition:background-color .3s ease-in-out,transform .3s ease-in-out;cursor:pointer;border:none}.btn-primary:hover{background-color:#4338ca;transform:scale(1.05)}.btn-primary:disabled{opacity:.7;cursor:not-allowed;transform:none}.link-button{color:#4f46e5;font-size:.875rem;background:none;border:none;padding:0;cursor:pointer;transition:text-decoration .3s}.link-button:hover{text-decoration:underline}.social-login-text{font-size:.875rem;margin-bottom:.5rem;color:#4b5563}.social-button-group{display:flex;justify-content:center;gap:1rem}.social-button{background-color:#f9fafb;padding:.5rem;border-radius:9999px;transition:background-color .3s;border:none;cursor:pointer}.social-button:hover{background-color:#f3f4f6}.social-button svg{width:1.5rem;height:1.5rem;color:#374151}.pricing-option-card{border:1px solid #e5e7eb;border-radius:.5rem;padding:1.25rem;text-align:center;display:flex;flex-direction:column;justify-content:space-between;height:100%}.pricing-option-card h3{font-size:1.25rem;font-weight:600;color:#374151;margin-bottom:.5rem}.pricing-option-card p{font-size:1.875rem;font-weight:700;color:#4f46e5;margin-bottom:1rem}.pricing-feature-list{color:#4b5563;font-size:.875rem;margin-bottom:1rem;list-style:none;padding:0}.pricing-feature-list li{display:flex;align-items:center;justify-content:center;margin-bottom:.25rem}.pricing-feature-list svg{width:1rem;height:1rem;color:#22c55e;margin-right:.5rem}.nav{background-image:linear-gradient(to right,#1f2937,#111827);color:#fff;padding:1rem;box-shadow:0 4px 6px -1px #0000001a,0 2px 4px -1px #0000000f;margin-left:1rem;margin-right:1rem;width:calc(100% - 2rem);box-sizing:border-box;border-radius:.5rem;margin-top:1rem}.nav-container{max-width:1200px;margin-left:auto;margin-right:auto;display:flex;justify-content:space-between;align-items:center;width:100%}.nav-brand{font-size:1.5rem;font-weight:700;color:#a5b4fc}.nav-list{display:flex;list-style:none;padding:0;margin:0;gap:1.5rem}.nav-item-button{padding:.5rem .75rem;border-radius:.375rem;transition:background-color .3s,color .3s,box-shadow .3s;border:none;cursor:pointer;background:none}.nav-item-button.active{background-color:#4f46e5;color:#fff;font-weight:600;box-shadow:0 4px 6px -1px #0000001a,0 2px 4px -1px #0000000f}.nav-item-button:not(.active){color:#d1d5db}.nav-item-button:not(.active):hover{background-color:#374151;color:#fff}.nav-signout-button{background-color:#ef4444;color:#fff;padding:.5rem 1rem;border-radius:.375rem;font-weight:600;transition:background-color .3s ease-in-out;border:none;cursor:pointer}.nav-signout-button:hover{background-color:#dc2626}.hamburger-button{background:none;border:none;color:#fff;font-size:1.5rem;cursor:pointer;display:none;padding:.5rem}.mobile-menu-overlay{position:fixed;top:0;left:0;width:100%;height:100%;background-color:#000000e6;z-index:40;display:flex;flex-direction:column;align-items:center;justify-content:center;animation:fadeIn .3s ease-out}.mobile-nav-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:1.5rem;text-align:center}.mobile-nav-item-button{padding:.75rem 1.5rem;font-size:1.5rem;color:#fff;background:none;border:none;cursor:pointer;width:100%;transition:background-color .3s,color .3s;border-radius:.375rem}.mobile-nav-item-button.active{background-color:#4f46e5;font-weight:600}.mobile-nav-item-button:not(.active):hover{background-color:#374151}.mobile-nav-signout-button{margin-top:2rem;background-color:#ef4444;color:#fff;padding:.75rem 1.5rem;border-radius:.375rem;font-weight:600;transition:background-color .3s ease-in-out;border:none;cursor:pointer;width:auto}.mobile-nav-signout-button:hover{background-color:#dc2626}@media (max-width: 767px){.nav-list,.nav-signout-button{display:none}.hamburger-button{display:block}}@media (min-width: 768px){.nav-list,.nav-signout-button{display:flex}.hamburger-button{display:none}.flex-col.sm\:flex-row{flex-direction:row}.flex-col.sm\:flex-row>.mb-4.sm\:mb-0{margin-bottom:0}.grid-cols-1.md-grid-cols-2,.md-grid-cols-2.lg-grid-cols-3{grid-template-columns:repeat(2,minmax(0,1fr))}.flex-gap-4{flex-direction:row}}@media (min-width: 1024px){.md-grid-cols-2.lg-grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}}.message-box{position:fixed;top:1rem;left:50%;transform:translate(-50%);padding:1rem;border-radius:.375rem;border-width:1px;box-shadow:0 10px 15px -3px #0000001a,0 4px 6px -2px #0000000d;z-index:50;display:flex;justify-content:space-between;align-items:center;width:auto;max-width:90%}.message-box.success{background-color:#dcfce7;border-color:#4ade80;color:#166534}.message-box.error{background-color:#fee2e2;border-color:#f87171;color:#991b1b}.message-box.info{background-color:#dbeafe;border-color:#93c5fd;color:#1e40af}.message-box-close{margin-left:1rem;font-size:1.5rem;font-weight:700;background:none;border:none;cursor:pointer;color:inherit;line-height:1}.modal-overlay{position:fixed;inset:0;background-color:#4b556380;display:flex;justify-content:center;align-items:center;z-index:50;padding:1rem}.modal-content{background-color:#fff;border-radius:.75rem;box-shadow:0 25px 50px -12px #00000040;padding:1.5rem;width:100%;max-width:42rem;max-height:90vh;overflow-y:auto}.modal-header{display:flex;justify-content:space-between;align-items:center;padding-bottom:1rem;border-bottom:1px solid #e5e7eb;margin-bottom:1rem}.modal-title{font-size:1.5rem;font-weight:700;color:#1f2937}.modal-close-button{color:#6b7280;transition:color .3s;font-size:2.25rem;line-height:1;background:none;border:none;cursor:pointer}.modal-close-button:hover{color:#4b5563}.prose-content{max-width:none;margin-bottom:1.5rem;color:#374151}.prose-content p{margin-bottom:1em;line-height:1.6}.form-group{margin-bottom:1rem}.form-label{display:block;color:#4b5563;font-size:.875rem;font-weight:500;margin-bottom:.5rem}.form-input,.form-select,.form-textarea{width:100%;padding:.75rem;border-radius:.5rem;border:1px solid #d1d5db;outline:none;color:#1f2937;background-color:#fff;transition:border-color .3s,box-shadow .3s;box-sizing:border-box}.form-input:focus,.form-select:focus,.form-textarea:focus{border-color:#6366f1;box-shadow:0 0 0 2px #6366f140}.form-textarea{resize:vertical}.button-base{padding:.75rem 1rem;border-radius:.5rem;font-weight:600;transition:background-color .3s ease-in-out,transform .3s ease-in-out;border:none;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;margin:0 5px}.button-default{background-color:#4f46e5;color:#fff}.button-default:hover{background-color:#4338ca;transform:scale(1.05)}.button-default:disabled{opacity:.7;cursor:not-allowed;transform:none}.button-outline{border:1px solid #d1d5db;color:#4b5563;background-color:#fff}.button-outline:hover{background-color:#f3f4f6}.button-destructive{background-color:#ef4444;color:#fff}.button-destructive:hover{background-color:#dc2626}.button-success{background-color:#22c55e;color:#fff}.button-success:hover{background-color:#16a34a}.button-ghost{background:none;color:#4f46e5;padding:0;font-weight:400;text-decoration:none}.button-ghost:hover{text-decoration:underline;transform:none}.button-sm{padding:.5rem}.button-lg{padding:1rem}.btn-primary.with-shadow{box-shadow:0 4px 6px -1px #0000001a,0 2px 4px -1px #0000000f}.btn-pricing{background-color:#6366f1;color:#fff;padding:.5rem 1rem;border-radius:.5rem;font-weight:600;transition:background-color .3s ease-in-out,transform .3s ease-in-out;width:100%;margin-top:auto;border:none;cursor:pointer}.btn-pricing:hover{background-color:#4f46e5;transform:scale(1.05)}.custom-card{background-color:#fff;border-radius:.75rem;box-shadow:0 4px 6px -1px #0000001a,0 2px 4px -1px #0000000f;padding:1.5rem;display:flex;flex-direction:column;justify-content:space-between;border:1px solid #e5e7eb;transition:box-shadow .3s;margin:10px auto}.custom-card:hover{box-shadow:0 10px 15px -3px #0000001a,0 4px 6px -2px #0000000d}.custom-card h2{font-size:1.5rem;font-weight:700;color:#1f2937;margin-bottom:.5rem;white-space:normal;overflow:visible;text-overflow:clip;display:block}.custom-card p{color:#4b5563;margin-bottom:1rem;font-size:.875rem;line-height:1.5;display:-webkit-box;-webkit-line-clamp:4;-webkit-box-orient:vertical;overflow:hidden;text-overflow:ellipsis}.custom-card-footer{display:flex;align-items:center;font-size:.875rem;color:#6b7280;margin-bottom:1rem}.custom-card-footer svg{width:1rem;height:1rem;margin-right:.25rem;color:#6366f1}.settings-section{background-color:#fff;padding:.25rem;border-radius:.75rem;box-shadow:0 4px 6px -1px #0000001a,0 2px 4px -1px #0000000f;border:1px solid #e5e7eb}.settings-section h2{font-size:1.5rem;font-weight:700;color:#1f2937;margin-bottom:1rem}.user-initials-badge{width:3rem;height:3rem;background-color:#e0e7ff;color:#4f46e5;font-weight:700;border-radius:9999px;display:flex;align-items:center;justify-content:center;font-size:1.25rem;margin-right:1rem}.section-buttons{display:flex;justify-content:center;border-bottom:1px solid #e5e7eb;margin-bottom:1.5rem}.section-tab-button{padding:.75rem 1.5rem;font-size:1.125rem;font-weight:500;transition:color .3s;background:none;border:none;cursor:pointer}.section-tab-button.active{border-bottom:4px solid #4f46e5;color:#4f46e5}.section-tab-button:not(.active){color:#4b5563}.section-tab-button:not(.active):hover{color:#1f2937}.table-container{overflow-x:auto}.custom-table{min-width:100%;border-collapse:collapse;border-spacing:0}.custom-table thead{background-color:#f9fafb}.custom-table th{padding:.75rem 1.5rem;text-align:left;font-size:.75rem;font-weight:500;color:#6b7280;text-transform:uppercase;letter-spacing:.05em}.custom-table tbody{background-color:#fff;border-top:1px solid #e5e7eb}.custom-table tbody tr{border-bottom:1px solid #e5e7eb}.custom-table td{padding:1rem 1.5rem;white-space:nowrap;font-size:.875rem;color:#4b5563}.custom-table td.font-medium{font-weight:500;color:#1f2937}.custom-table .text-blue-600{color:#2563eb}.custom-table .text-blue-600:hover{text-decoration:underline}.badge{padding:.25rem .75rem;border-radius:9999px;font-size:.75rem;font-weight:600;display:inline-block}.badge.green{background-color:#dcfce7;color:#166534}.badge.red{background-color:#fee2e2;color:#991b1b}.admin-input-group{margin-bottom:1.5rem;padding:1rem;border:1px solid #e5e7eb;border-radius:.5rem;background-color:#f9fafb}.admin-input-group h3{font-size:1.25rem;font-weight:600;color:#374151;margin-bottom:.75rem}.flex-gap-4{display:flex;gap:1rem}@media (max-width: 639px){.flex-gap-4{flex-direction:column}}.flex-grow-input{flex-grow:1}.admin-action-button{color:#dc2626;background:none;border:none;cursor:pointer;margin-right:1rem;padding:.5rem 1rem;border-radius:.375rem;font-weight:500;transition:color .3s}.admin-action-button:hover{color:#b91c1c;background-color:#dc26260d}.no-topics-message,.no-sources-message,.no-articles-message{text-align:center;color:#4b5563;font-size:1.125rem;padding-top:2.5rem;padding-bottom:2.5rem}.admin-access-denied{max-width:1200px;margin-left:auto;margin-right:auto;padding:1.5rem;background-color:#f9fafb;border-radius:.75rem;box-shadow:0 10px 15px -3px #0000001a,0 4px 6px -2px #0000000d;margin-top:2rem;text-align:center;color:#dc2626;font-weight:600;font-size:1.25rem}.space-y-8>*:not(:last-child){margin-bottom:2rem}.space-x-3>*:not(:last-child){margin-right:.75rem}.space-x-6>*:not(:last-child){margin-right:1.5rem}
