@import url('https://fonts.googleapis.com/css2?family=Outfit:wght@300;400;500;600;700;800;900&family=Space+Grotesk:wght@400;500;600;700&family=Fira+Code:wght@400;500&display=swap'); @import "tailwindcss"; @theme { --font-sans: "Outfit", "Inter", ui-sans-serif, system-ui, sans-serif; --font-display: "Space Grotesk", sans-serif; --font-mono: "Fira Code", monospace; } /* Base custom styles to enable smooth scrolling and fine layout */ html, body { scroll-behavior: smooth; font-family: var(--font-sans); } /* Glassmorphism custom classes */ .glass-container { background: rgba(20, 20, 20, 0.45); backdrop-filter: blur(24px) saturate(120%); -webkit-backdrop-filter: blur(24px) saturate(120%); border: 1px solid rgba(255, 255, 255, 0.08); box-shadow: 0 12px 40px 0 rgba(0, 0, 0, 0.5); } .glass-navbar { background: rgba(12, 12, 12, 0.5); backdrop-filter: blur(30px) saturate(130%); -webkit-backdrop-filter: blur(30px) saturate(130%); border-bottom: 1px solid rgba(255, 255, 255, 0.07); } .glass-card { background: rgba(30, 30, 30, 0.35); backdrop-filter: blur(16px); -webkit-backdrop-filter: blur(16px); border: 1px solid rgba(255, 255, 255, 0.06); box-shadow: 0 8px 24px 0 rgba(0, 0, 0, 0.25); } .glass-card-hover { transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1); } .glass-card-hover:hover { background: rgba(255, 255, 255, 0.06); border-color: rgba(229, 9, 20, 0.4); box-shadow: 0 12px 36px 0 rgba(229, 9, 20, 0.18); transform: translateY(-5px); } .glass-input { background: rgba(255, 255, 255, 0.03); backdrop-filter: blur(10px); -webkit-backdrop-filter: blur(10px); border: 1px solid rgba(255, 255, 255, 0.07); transition: all 0.2s cubic-bezier(0.4, 0, 0.2, 1); } .glass-input:focus { background: rgba(255, 255, 255, 0.07); border-color: rgba(229, 9, 20, 0.6); box-shadow: 0 0 16px rgba(229, 9, 20, 0.25); } .glass-btn-primary { background: linear-gradient(135deg, rgba(229, 9, 20, 0.85) 0%, rgba(184, 7, 15, 0.95) 100%); backdrop-filter: blur(6px); border: 1px solid rgba(255, 255, 255, 0.15); box-shadow: 0 4px 15px rgba(229, 9, 20, 0.3); transition: all 0.2s cubic-bezier(0.4, 0, 0.2, 1); } .glass-btn-primary:hover { background: linear-gradient(135deg, rgba(229, 9, 20, 0.98) 0%, rgba(184, 7, 15, 1) 100%); box-shadow: 0 6px 20px rgba(229, 9, 20, 0.5); transform: translateY(-1px); } .glass-btn-secondary { background: rgba(255, 255, 255, 0.05); backdrop-filter: blur(12px); -webkit-backdrop-filter: blur(12px); border: 1px solid rgba(255, 255, 255, 0.08); transition: all 0.2s ease; } .glass-btn-secondary:hover { background: rgba(255, 255, 255, 0.12); border-color: rgba(255, 255, 255, 0.2); } .glass-accordion-header { background: rgba(0, 0, 0, 0.25); border-bottom: 1px solid rgba(255, 255, 255, 0.05); } .glass-badge { background: rgba(255, 255, 255, 0.05); backdrop-filter: blur(6px); border: 1px solid rgba(255, 255, 255, 0.08); } /* ── Modal system animations ── */ @keyframes fade-in { from { opacity: 0; } to { opacity: 1; } } @keyframes slide-up { from { opacity: 0; transform: translateY(20px) scale(0.97); } to { opacity: 1; transform: translateY(0) scale(1); } } .animate-fade-in { animation: fade-in 0.18s ease-out forwards; } .animate-slide-up { animation: slide-up 0.22s cubic-bezier(0.4, 0, 0.2, 1) forwards; } /* ── Custom scrollbar ── */ .custom-scrollbar::-webkit-scrollbar { width: 4px; height: 4px; } .custom-scrollbar::-webkit-scrollbar-track { background: transparent; } .custom-scrollbar::-webkit-scrollbar-thumb { background: rgba(229,9,20,0.35); border-radius: 99px; } .custom-scrollbar::-webkit-scrollbar-thumb:hover { background: rgba(229,9,20,0.6); } /* ── Lesson shelf animation ── */ @keyframes lesson-shelf-in { from { opacity: 0; transform: translateY(-12px); max-height: 0; } to { opacity: 1; transform: translateY(0); max-height: 600px; } } .lesson-shelf-enter { animation: lesson-shelf-in 0.38s cubic-bezier(0.4, 0, 0.2, 1) forwards; overflow: hidden; } /* ── Fix autocomplete white background on dark inputs ── */ input:-webkit-autofill, input:-webkit-autofill:hover, input:-webkit-autofill:focus, input:-webkit-autofill:active { -webkit-box-shadow: 0 0 0 60px #1a1a1a inset !important; -webkit-text-fill-color: #fff !important; caret-color: #fff; transition: background-color 5000s ease-in-out 0s; } /* ── Fix select dropdown options styling globally ── */ select { color-scheme: dark; } select option { background-color: #1a1a1a; color: #ffffff; }