:root { --color-primary: #4f46e5; --color-secondary: #7c3aed; --color-accent: #f59e0b; --color-dark: #1e293b; --color-light: #f8fafc; } /* Base styles with modern reset */ *, *::before, *::after { margin: 0; padding: 0; box-sizing: border-box; } html { scroll-behavior: smooth; } body { font-family: 'Inter', system-ui, -apple-system, sans-serif; line-height: 1.5; color: var(--color-dark); background-color: var(--color-light); } /* Modern animations */ @keyframes fadeIn { from { opacity: 0; } to { opacity: 1; } } @keyframes slideUp { from { transform: translateY(20px); opacity: 0; } to { transform: translateY(0); opacity: 1; } } .animate-fade { animation: fadeIn 0.6s ease-out forwards; } .animate-slide { animation: slideUp 0.6s ease-out forwards; } /* Modern scrollbar */ ::-webkit-scrollbar { width: 10px; height: 10px; } ::-webkit-scrollbar-track { background: transparent; } ::-webkit-scrollbar-thumb { background: var(--color-primary); border-radius: 10px; border: 2px solid var(--color-light); } /* Typography enhancements */ h1, h2, h3, h4 { font-weight: 700; line-height: 1.2; margin-bottom: 1rem; } h1 { font-size: clamp(2.5rem, 5vw, 4rem); background: linear-gradient(to right, var(--color-primary), var(--color-secondary)); -webkit-background-clip: text; background-clip: text; color: transparent; } h2 { font-size: clamp(1.75rem, 4vw, 2.5rem); } /* Custom transitions */ a, button { transition: all 0.2s cubic-bezier(0.16, 1, 0.3, 1); } /* Modern focus states */ a:focus-visible, button:focus-visible { outline: 2px solid var(--color-accent); outline-offset: 2px; } /* Utility classes for animations */ .delay-100 { animation-delay: 100ms; } .delay-200 { animation-delay: 200ms; } .delay-300 { animation-delay: 300ms; }