:root { /* Light theme variables */ --bg-primary: #ffffff; --bg-secondary: #f8f9fa; --bg-tertiary: #e9ecef; --bg-navbar: rgba(255, 255, 255, 0.95); --bg-card: rgba(255, 255, 255, 0.9); --bg-overlay: rgba(0, 0, 0, 0.05); --bg-section: rgba(0, 0, 0, 0.02); --bg-footer: rgba(0, 0, 0, 0.8); --text-primary: #1a1a1a; --text-secondary: #6c757d; --text-muted: #8e9297; --border-color: rgba(0, 0, 0, 0.1); --border-hover: rgba(255, 70, 85, 0.3); --shadow: rgba(0, 0, 0, 0.1); --shadow-hover: rgba(0, 0, 0, 0.15); --accent-color: #ff4655; --accent-hover: #ff6b6b; --accent-shadow: rgba(255, 70, 85, 0.4); font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif; line-height: 1.5; font-weight: 400; font-synthesis: none; text-rendering: optimizeLegibility; -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; /* Smooth theme transitions */ transition: background-color 0.3s ease, color 0.3s ease, border-color 0.3s ease; } /* Dark theme variables */ .dark { --bg-primary: #0a0a0a; --bg-secondary: #1a1a2e; --bg-tertiary: #16213e; --bg-navbar: rgba(0, 0, 0, 0.9); --bg-card: rgba(0, 0, 0, 0.5); --bg-overlay: rgba(255, 255, 255, 0.02); --bg-section: rgba(255, 255, 255, 0.02); --bg-footer: rgba(0, 0, 0, 0.8); --text-primary: #ffffff; --text-secondary: #b8c5d1; --text-muted: #888; --border-color: rgba(255, 70, 85, 0.3); --border-hover: rgba(255, 70, 85, 0.5); --shadow: rgba(0, 0, 0, 0.3); --shadow-hover: rgba(255, 70, 85, 0.2); --accent-color: #ff4655; --accent-hover: #ff6b6b; --accent-shadow: rgba(255, 70, 85, 0.4); } /* Light theme variables (explicit) */ .light { --bg-primary: #ffffff; --bg-secondary: #f8f9fa; --bg-tertiary: #e9ecef; --bg-navbar: rgba(255, 255, 255, 0.95); --bg-card: rgba(255, 255, 255, 0.9); --bg-overlay: rgba(0, 0, 0, 0.05); --text-primary: #1a1a1a; --text-secondary: #6c757d; --text-muted: #8e9297; --border-color: rgba(0, 0, 0, 0.1); --border-hover: rgba(255, 70, 85, 0.3); --shadow: rgba(0, 0, 0, 0.1); --shadow-hover: rgba(0, 0, 0, 0.15); } * { box-sizing: border-box; } body { margin: 0; padding: 0; min-width: 320px; min-height: 100vh; background: inherit; } h1, h2, h3, h4, h5, h6 { margin: 0; font-weight: 600; } a { font-weight: 500; color: var(--primary-red); text-decoration: none; transition: color 0.3s ease; } a:hover { color: var(--primary-red-hover); } button { font-family: inherit; cursor: pointer; transition: all 0.3s ease; } p { margin: 0 0 1rem 0; } /* Utility classes */ .text-center { text-align: center; } .mb-1 { margin-bottom: 0.5rem; } .mb-2 { margin-bottom: 1rem; } .mb-3 { margin-bottom: 1.5rem; } .mb-4 { margin-bottom: 2rem; } .mt-1 { margin-top: 0.5rem; } .mt-2 { margin-top: 1rem; } .mt-3 { margin-top: 1.5rem; } .mt-4 { margin-top: 2rem; } /* Animation utilities */ @keyframes fadeIn { from { opacity: 0; transform: translateY(20px); } to { opacity: 1; transform: translateY(0); } } .fade-in { animation: fadeIn 0.6s ease-out; } /* Custom scrollbar */ ::-webkit-scrollbar { width: 8px; } ::-webkit-scrollbar-track { background: rgba(255, 255, 255, 0.1); } ::-webkit-scrollbar-thumb { background: var(--primary-red); border-radius: 4px; } ::-webkit-scrollbar-thumb:hover { background: var(--primary-red-hover); } button:focus, button:focus-visible { outline: 4px auto -webkit-focus-ring-color; } @media (prefers-color-scheme: light) { :root { color: #213547; background-color: #ffffff; } a:hover { color: #747bff; } button { background-color: #f9f9f9; } }