@import url('https://fonts.googleapis.com/css2?family=Space+Grotesk:wght@300;400;500;600;700&display=swap'); * { font-family: 'Space Grotesk', sans-serif; scroll-behavior: smooth; } ::selection { background: rgba(79, 70, 229, 0.3); } /* Custom Scrollbar */ ::-webkit-scrollbar { width: 8px; } ::-webkit-scrollbar-track { background: #0f172a; } ::-webkit-scrollbar-thumb { background: #4f46e5; border-radius: 4px; } ::-webkit-scrollbar-thumb:hover { background: #4338ca; } /* Particle.js container */ #particles-js { position: absolute; width: 100%; height: 100%; background: linear-gradient(135deg, #0f172a 0%, #1e293b 100%); z-index: 0; } /* Animated text gradient */ @keyframes text-gradient { 0% { background-position: 0% 50%; } 50% { background-position: 100% 50%; } 100% { background-position: 0% 50%; } } .animate-text { animation: text-gradient 8s ease infinite; background-size: 200% 200%; } /* Tech badges */ .tech-badge { display: flex; flex-direction: column; align-items: center; gap: 0.5rem; padding: 1rem; border-radius: 1rem; background: rgba(255, 255, 255, 0.05); backdrop-filter: blur(10px); border: 1px solid rgba(255, 255, 255, 0.1); transition: all 0.3s ease; } .tech-badge:hover { transform: translateY(-5px); background: rgba(79, 70, 229, 0.2); box-shadow: 0 10px 20px rgba(79, 70, 229, 0.2); } .tech-badge i { color: #4f46e5; } .tech-badge span { font-size: 0.9rem; font-weight: 500; } /* Scroll down animation */ .scroll-down { width: 30px; height: 50px; border: 2px solid white; border-radius: 50px; position: relative; } .scroll-down::before { content: ''; position: absolute; top: 10px; left: 50%; width: 6px; height: 6px; background: white; margin-left: -3px; border-radius: 100%; animation: scrollDown 2s infinite; } @keyframes scrollDown { 0% { opacity: 1; transform: translateY(0); } 100% { opacity: 0; transform: translateY(20px); } } /* Glassmorphism effect */ .glass { backdrop-filter: blur(16px) saturate(180%); -webkit-backdrop-filter: blur(16px) saturate(180%); background-color: rgba(15, 23, 42, 0.75); border: 1px solid rgba(255, 255, 255, 0.125); } /* Neon glow effect */ .neon { box-shadow: 0 0 10px rgba(79, 70, 229, 0.5), 0 0 20px rgba(79, 70, 229, 0.3), 0 0 30px rgba(79, 70, 229, 0.1); } .neon-hover:hover { box-shadow: 0 0 15px rgba(79, 70, 229, 0.7), 0 0 25px rgba(79, 70, 229, 0.5), 0 0 35px rgba(79, 70, 229, 0.3); } /* Input glow effect */ .input-glow:focus { box-shadow: 0 0 0 3px rgba(79, 70, 229, 0.3); border-color: rgba(79, 70, 229, 0.5); } /* Pulse animation for important elements */ .pulse-element { animation: pulse 2s infinite; } @keyframes pulse { 0% { opacity: 0.7; } 50% { opacity: 1; } 100% { opacity: 0.7; } } /* Responsive adjustments */ @media (max-width: 768px) { #hero h1 { font-size: 3rem; } #hero p { font-size: 1.25rem; } }