153 lines
4.5 KiB
CSS
153 lines
4.5 KiB
CSS
@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;
|
|
}
|