| @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', cursive; |
| background: #000; |
| overflow: hidden; |
| } |
|
|
| .cinematic-number { |
| position: relative; |
| font-size: 30vw; |
| font-weight: 900; |
| color: transparent; |
| background: linear-gradient(145deg, #8B0000, #B22222, #DC143C); |
| -webkit-background-clip: text; |
| background-clip: text; |
| text-shadow: |
| 0 0 30px rgba(220, 20, 60, 0.8), |
| 0 0 60px rgba(220, 20, 60, 0.6), |
| 0 0 90px rgba(220, 20, 60, 0.4), |
| 4px 4px 0px #000, |
| 8px 8px 15px rgba(0, 0, 0, 0.8); |
| transform-style: preserve-3d; |
| perspective: 1000px; |
| } |
|
|
| .cinematic-number::before { |
| content: attr(data-number); |
| position: absolute; |
| top: 0; |
| left: 0; |
| color: rgba(139, 0, 0, 0.3); |
| z-index: -1; |
| transform: translateZ(-30px) scale(1.1); |
| filter: blur(15px); |
| } |
|
|
| .cinematic-number::after { |
| content: ''; |
| position: absolute; |
| top: -10%; |
| left: -10%; |
| right: -10%; |
| bottom: -10%; |
| background: radial-gradient(circle at center, rgba(220, 20, 60, 0.1) 0%, transparent 70%); |
| z-index: -2; |
| border-radius: 20%; |
| animation: ambientGlow 3s ease-in-out infinite alternate; |
| } |
|
|
| @keyframes ambientGlow { |
| 0% { opacity: 0.3; transform: scale(0.95); } |
| 100% { opacity: 0.7; transform: scale(1.05); } |
| } |
|
|
| |
| .zoom-in { |
| animation: zoomIn 3s ease-out forwards; |
| } |
|
|
| @keyframes zoomIn { |
| 0% { |
| transform: scale(0.1) rotateX(90deg); |
| opacity: 0; |
| } |
| 50% { |
| transform: scale(1.1) rotateX(0deg); |
| opacity: 1; |
| } |
| 100% { |
| transform: scale(1) rotateX(0deg); |
| opacity: 1; |
| } |
| } |
|
|
| .bounce-in { |
| animation: bounceIn 1.5s cubic-bezier(0.68, -0.55, 0.265, 1.55) forwards; |
| } |
|
|
| @keyframes bounceIn { |
| 0% { |
| transform: scale(0) translateY(100vh); |
| opacity: 0; |
| } |
| 60% { |
| transform: scale(1.2) translateY(-20px); |
| opacity: 1; |
| } |
| 80% { |
| transform: scale(0.95) translateY(10px); |
| } |
| 100% { |
| transform: scale(1) translateY(0); |
| opacity: 1; |
| } |
| } |
|
|
| .smoke-reveal { |
| animation: smokeReveal 4s ease-out forwards; |
| } |
|
|
| @keyframes smokeReveal { |
| 0% { |
| transform: scale(0.5) translateY(50px); |
| opacity: 0; |
| filter: blur(20px); |
| } |
| 30% { |
| transform: scale(1.1) translateY(-10px); |
| opacity: 0.5; |
| filter: blur(10px); |
| } |
| 60% { |
| transform: scale(0.95) translateY(5px); |
| opacity: 0.8; |
| filter: blur(5px); |
| } |
| 100% { |
| transform: scale(1) translateY(0); |
| opacity: 1; |
| filter: blur(0); |
| } |
| } |
|
|
| .glitch-flicker { |
| animation: glitchFlicker 2.5s ease-out forwards; |
| } |
|
|
| @keyframes glitchFlicker { |
| 0% { |
| transform: scale(0.8); |
| opacity: 0; |
| filter: hue-rotate(0deg); |
| } |
| 20% { |
| transform: scale(1.1); |
| opacity: 1; |
| filter: hue-rotate(90deg); |
| } |
| 40% { |
| transform: scale(0.9) translateX(-10px); |
| filter: hue-rotate(180deg); |
| } |
| 60% { |
| transform: scale(1.05) translateX(10px); |
| filter: hue-rotate(270deg); |
| } |
| 80% { |
| transform: scale(0.95); |
| filter: hue-rotate(360deg); |
| } |
| 100% { |
| transform: scale(1); |
| opacity: 1; |
| filter: hue-rotate(0deg); |
| } |
| } |
|
|
| .energy-pulse { |
| animation: energyPulse 3s ease-out forwards; |
| } |
|
|
| @keyframes energyPulse { |
| 0% { |
| transform: scale(0.5); |
| opacity: 0; |
| } |
| 30% { |
| transform: scale(1.3); |
| opacity: 1; |
| text-shadow: |
| 0 0 50px rgba(220, 20, 60, 1), |
| 0 0 100px rgba(220, 20, 60, 0.8), |
| 0 0 150px rgba(220, 20, 60, 0.6); |
| } |
| 50% { |
| transform: scale(1.1); |
| text-shadow: |
| 0 0 30px rgba(220, 20, 60, 0.8), |
| 0 0 60px rgba(220, 20, 60, 0.6), |
| 0 0 90px rgba(220, 20, 60, 0.4); |
| } |
| 100% { |
| transform: scale(1); |
| opacity: 1; |
| } |
| } |
|
|
| |
| .particles { |
| position: absolute; |
| top: 0; |
| left: 0; |
| width: 100%; |
| height: 100%; |
| pointer-events: none; |
| } |
|
|
| .particle { |
| position: absolute; |
| width: 4px; |
| height: 4px; |
| background: #DC143C; |
| border-radius: 50%; |
| animation: floatParticle 2s ease-out forwards; |
| } |
|
|
| @keyframes floatParticle { |
| 0% { |
| transform: translate(0, 0) scale(0); |
| opacity: 1; |
| } |
| 100% { |
| transform: translate(var(--tx), var(--ty)) scale(1); |
| opacity: 0; |
| } |
| } |