@import url('https://fonts.googleapis.com/css2?family=Bebas+Neue&display=swap'); * { margin: 0; padding: 0; box-sizing: border-box; } body { font-family: 'Bebas Neue', sans-serif; background: #000; color: white; overflow: hidden; } .cinematic-number { font-family: 'Bebas Neue', sans-serif; background: linear-gradient(145deg, #8b0000, #ff0000, #8b0000); background-size: 200% 200%; -webkit-background-clip: text; background-clip: text; -webkit-text-fill-color: transparent; text-shadow: 0 0 30px rgba(255, 0, 0, 0.8), 0 0 60px rgba(255, 0, 0, 0.6), 0 0 90px rgba(255, 0, 0, 0.4), 2px 2px 4px rgba(0, 0, 0, 0.8), -2px -2px 4px rgba(255, 255, 255, 0.1); position: relative; animation: shimmer 3s ease-in-out infinite; } .cinematic-number::before { content: attr(data-number); position: absolute; top: 2px; left: 2px; background: linear-gradient(145deg, #2a2a2a, #1a1a1a); -webkit-background-clip: text; background-clip: text; -webkit-text-fill-color: transparent; z-index: -1; } .cinematic-number::after { content: ''; position: absolute; top: 0; left: 0; right: 0; bottom: 0; background: radial-gradient(circle at center, transparent 30%, rgba(255, 0, 0, 0.1) 100%); border-radius: 10px; z-index: -2; } @keyframes shimmer { 0%, 100% { background-position: 0% 50%; filter: brightness(1); } 50% { background-position: 100% 50%; filter: brightness(1.2); } } /* Animation Classes */ .zoom-animation { animation: zoomIn 2s ease-out; } @keyframes zoomIn { 0% { transform: scale(0.1) rotate(-10deg); opacity: 0; filter: blur(20px); } 60% { transform: scale(1.1) rotate(2deg); opacity: 1; filter: blur(0); } 100% { transform: scale(1) rotate(0); } } .bounce-animation { animation: bounceIn 1.5s cubic-bezier(0.68, -0.55, 0.265, 1.55); } @keyframes bounceIn { 0% { transform: scale(0.3); opacity: 0; } 50% { transform: scale(1.05); } 70% { transform: scale(0.9); } 100% { transform: scale(1); opacity: 1; } } .smoke-animation { animation: smokeReveal 2.5s ease-out; } @keyframes smokeReveal { 0% { transform: translateY(100px) scale(0.8); opacity: 0; filter: blur(30px); } 50% { transform: translateY(-20px) scale(1.1); filter: blur(10px); } 100% { transform: translateY(0) scale(1); opacity: 1; filter: blur(0); } } .glitch-animation { animation: glitchFlicker 2s ease-out; } @keyframes glitchFlicker { 0%, 100% { transform: translateX(0); opacity: 1; } 10%, 30%, 50%, 70%, 90% { transform: translateX(-2px); opacity: 0.8; } 20%, 40%, 60%, 80% { transform: translateX(2px); opacity: 0.9; } } .pulse-animation { animation: energyPulse 2s ease-out; } @keyframes energyPulse { 0% { transform: scale(0.5); opacity: 0; filter: brightness(0) blur(20px); } 30% { transform: scale(1.2); filter: brightness(2) blur(5px); } 50% { transform: scale(0.9); filter: brightness(1.5) blur(2px); } 70% { transform: scale(1.1); filter: brightness(1.8) blur(1px); } 100% { transform: scale(1); opacity: 1; filter: brightness(1) blur(0); } } /* Particle Effects */ .particle { position: absolute; width: 4px; height: 4px; background: #ff0000; border-radius: 50%; pointer-events: none; animation: particleFloat 2s ease-out forwards; } @keyframes particleFloat { 0% { transform: translate(0, 0) scale(1); opacity: 1; } 100% { transform: translate(var(--tx), var(--ty)) scale(0); opacity: 0; } } /* Responsive adjustments */ @media (max-width: 768px) { .cinematic-number { font-size: 12rem !important; } } @media (max-width: 480px) { .cinematic-number { font-size: 8rem !important; } }