@import url('https://fonts.googleapis.com/css2?family=Orbitron:wght@400;700;900&family=Exo+2:wght@400;700;900&display=swap'); * { margin: 0; padding: 0; box-sizing: border-box; } body { font-family: 'Exo 2', sans-serif; background: radial-gradient(circle at 20% 20%, #3b0066, #0c001a 70%); color: #fff; overflow-x: hidden; min-height: 100vh; position: relative; } /* Animated Background Grid */ body::before { content: ''; position: fixed; top: 0; left: 0; width: 100%; height: 100%; background-image: linear-gradient(rgba(0, 234, 255, 0.03) 1px, transparent 1px), linear-gradient(90deg, rgba(255, 0, 255, 0.03) 1px, transparent 1px); background-size: 50px 50px; animation: gridMove 20s linear infinite; z-index: 1; pointer-events: none; } @keyframes gridMove { 0% { transform: translate(0, 0); } 100% { transform: translate(50px, 50px); } } /* Neon Particles */ #particles { position: fixed; top: 0; left: 0; width: 100%; height: 100%; z-index: 2; pointer-events: none; } .particle { position: absolute; width: 6px; height: 6px; border-radius: 50%; background: radial-gradient(circle, #00ffff, #0099ff); box-shadow: 0 0 15px #00eaff, 0 0 30px #0088ff; pointer-events: none; animation: particleFloat 8s ease-in-out infinite; } @keyframes particleFloat { 0%, 100% { transform: translateY(0) translateX(0) scale(1); opacity: 0.8; } 50% { transform: translateY(-30px) translateX(15px) scale(1.2); opacity: 1; } } /* Header */ header { position: relative; z-index: 10; padding: 25px 50px; display: flex; justify-content: space-between; align-items: center; background: rgba(20, 0, 40, 0.7); backdrop-filter: blur(15px); border-bottom: 3px solid rgba(0, 234, 255, 0.4); box-shadow: 0 4px 30px rgba(0, 234, 255, 0.2); } .logo { font-size: 36px; font-weight: 900; font-family: 'Orbitron', sans-serif; background: linear-gradient(135deg, #00d9ff 0%, #ff00ff 50%, #00d9ff 100%); background-size: 200% 200%; -webkit-background-clip: text; -webkit-text-fill-color: transparent; background-clip: text; letter-spacing: 5px; text-transform: uppercase; animation: gradientShift 4s ease infinite; filter: drop-shadow(0 0 20px rgba(0, 234, 255, 0.6)); } @keyframes gradientShift { 0%, 100% { background-position: 0% 50%; } 50% { background-position: 100% 50%; } } .btn { padding: 14px 35px; border: none; border-radius: 15px; font-weight: 700; font-size: 16px; cursor: pointer; transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1); text-decoration: none; display: inline-block; text-align: center; text-transform: uppercase; letter-spacing: 2.5px; font-family: 'Orbitron', sans-serif; position: relative; overflow: hidden; } .btn::before { content: ''; position: absolute; top: 50%; left: 50%; width: 0; height: 0; border-radius: 50%; background: rgba(255, 255, 255, 0.2); transform: translate(-50%, -50%); transition: width 0.6s, height 0.6s; } .btn:hover::before { width: 300px; height: 300px; } .btn-primary { background: linear-gradient(135deg, #00eaff, #ff00ff); color: #fff; font-weight: 900; box-shadow: 0 6px 30px rgba(0, 217, 255, 0.5); position: relative; z-index: 1; } .btn-primary:hover { box-shadow: 0 10px 45px rgba(0, 217, 255, 0.8), 0 0 30px rgba(255, 0, 255, 0.6); transform: translateY(-4px) scale(1.05); } /* Hero Section */ .hero { position: relative; z-index: 10; text-align: center; padding: 140px 20px 120px; max-width: 1100px; margin: 0 auto; } .hero-title { font-size: 140px; font-weight: 900; margin-bottom: 25px; font-family: 'Orbitron', sans-serif; background: linear-gradient(135deg, #00d9ff 0%, #ff00ff 50%, #00d9ff 100%); background-size: 200% 200%; -webkit-background-clip: text; -webkit-text-fill-color: transparent; background-clip: text; letter-spacing: 18px; text-transform: uppercase; animation: titleAnimation 6s ease-in-out infinite, titleGlow 3s ease-in-out infinite alternate; line-height: 1.1; position: relative; } .hero-title::after { content: '2048'; position: absolute; top: 0; left: 0; right: 0; background: linear-gradient(135deg, #00d9ff 0%, #ff00ff 100%); -webkit-background-clip: text; -webkit-text-fill-color: transparent; background-clip: text; filter: blur(20px); opacity: 0.5; z-index: -1; animation: titleBlur 3s ease-in-out infinite alternate; } @keyframes titleAnimation { 0%, 100% { background-position: 0% 50%; transform: scale(1); } 50% { background-position: 100% 50%; transform: scale(1.02); } } @keyframes titleGlow { 0% { filter: drop-shadow(0 0 25px rgba(0, 234, 255, 0.7)) drop-shadow(0 0 50px rgba(0, 234, 255, 0.5)); } 100% { filter: drop-shadow(0 0 40px rgba(255, 0, 255, 0.9)) drop-shadow(0 0 80px rgba(255, 0, 255, 0.6)); } } @keyframes titleBlur { 0% { opacity: 0.3; } 100% { opacity: 0.7; } } .hero-subtitle { font-size: 24px; color: rgba(255, 255, 255, 0.8); margin-bottom: 55px; font-weight: 400; letter-spacing: 6px; text-transform: uppercase; font-family: 'Exo 2', sans-serif; animation: subtitleFade 2s ease-in-out infinite alternate; } @keyframes subtitleFade { 0% { opacity: 0.7; transform: translateY(0); } 100% { opacity: 1; transform: translateY(-3px); } } .cta-buttons { display: flex; gap: 25px; justify-content: center; flex-wrap: wrap; animation: buttonsSlideUp 1s ease-out; } @keyframes buttonsSlideUp { from { opacity: 0; transform: translateY(30px); } to { opacity: 1; transform: translateY(0); } } .btn-cta { padding: 18px 45px; font-size: 19px; border-radius: 15px; font-weight: 900; text-transform: uppercase; letter-spacing: 3px; border: none; font-family: 'Orbitron', sans-serif; position: relative; overflow: hidden; transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1); } .btn-cta::after { content: ''; position: absolute; top: -50%; left: -50%; width: 200%; height: 200%; background: linear-gradient(45deg, transparent, rgba(255, 255, 255, 0.3), transparent); transform: rotate(45deg); animation: buttonShine 3s infinite; } @keyframes buttonShine { 0% { transform: translateX(-100%) translateY(-100%) rotate(45deg); } 100% { transform: translateX(100%) translateY(100%) rotate(45deg); } } .btn-play { background: linear-gradient(135deg, #ff00ff, #ff0066); box-shadow: 0 6px 35px rgba(255, 0, 255, 0.6); color: #fff; } .btn-play:hover { transform: translateY(-5px) scale(1.08); box-shadow: 0 12px 50px rgba(255, 0, 255, 0.9), 0 0 40px rgba(255, 0, 102, 0.7); } .btn-leaderboard { background: linear-gradient(135deg, #ffd700, #ffaa00); color: #0c001a; box-shadow: 0 6px 35px rgba(255, 215, 0, 0.6); } .btn-leaderboard:hover { transform: translateY(-5px) scale(1.08); box-shadow: 0 12px 50px rgba(255, 215, 0, 0.9), 0 0 40px rgba(255, 170, 0, 0.7); } /* Footer */ footer { position: relative; z-index: 10; text-align: center; padding: 50px 20px; margin-top: 150px; background: rgba(20, 0, 40, 0.7); backdrop-filter: blur(15px); border-top: 3px solid rgba(0, 234, 255, 0.4); box-shadow: 0 -4px 30px rgba(0, 234, 255, 0.2); } footer p { color: rgba(255, 255, 255, 0.65); font-size: 15px; font-family: 'Exo 2', sans-serif; letter-spacing: 1.5px; } /* Floating Decoration Elements */ .hero::before { content: ''; position: absolute; top: 50%; left: -100px; width: 300px; height: 300px; background: radial-gradient(circle, rgba(0, 234, 255, 0.15), transparent); border-radius: 50%; filter: blur(60px); animation: floatLeft 8s ease-in-out infinite; z-index: -1; } .hero::after { content: ''; position: absolute; top: 30%; right: -100px; width: 350px; height: 350px; background: radial-gradient(circle, rgba(255, 0, 255, 0.15), transparent); border-radius: 50%; filter: blur(60px); animation: floatRight 10s ease-in-out infinite; z-index: -1; } @keyframes floatLeft { 0%, 100% { transform: translate(0, 0) scale(1); } 50% { transform: translate(30px, -30px) scale(1.1); } } @keyframes floatRight { 0%, 100% { transform: translate(0, 0) scale(1); } 50% { transform: translate(-30px, 30px) scale(1.1); } } /* Responsive */ @media (max-width: 1024px) { .hero-title { font-size: 110px; letter-spacing: 12px; } .hero-subtitle { font-size: 20px; } } @media (max-width: 768px) { header { padding: 20px 25px; flex-direction: column; gap: 15px; } .logo { font-size: 28px; letter-spacing: 3px; } .hero { padding: 100px 20px 80px; } .hero-title { font-size: 80px; letter-spacing: 8px; } .hero-subtitle { font-size: 18px; letter-spacing: 3px; } .btn-cta { padding: 16px 38px; font-size: 17px; } footer { margin-top: 100px; } } @media (max-width: 480px) { .hero { padding: 70px 15px 60px; } .hero-title { font-size: 60px; letter-spacing: 5px; } .hero-subtitle { font-size: 15px; letter-spacing: 2px; margin-bottom: 45px; } .btn-cta { padding: 15px 32px; font-size: 16px; letter-spacing: 2px; } .cta-buttons { gap: 18px; } } @media (max-width: 360px) { .hero-title { font-size: 48px; letter-spacing: 4px; } .hero-subtitle { font-size: 14px; } .btn-cta { padding: 14px 28px; font-size: 15px; } }