diff --git a/2048.css b/2048.css index aeefef8..c3d840c 100644 --- a/2048.css +++ b/2048.css @@ -1200,6 +1200,70 @@ h1 { 100% { transform: translateY(-45px) translateX(-18px); } } +/* Floating Particles from Bottom */ +.floating-particles { + position: fixed; + inset: 0; + overflow: hidden; + pointer-events: none; + z-index: 0; /* Di bawah semua elemen game */ +} + +.floating-particle { + position: absolute; + bottom: -20px; + width: 8px; + height: 8px; + background: rgba(0, 234, 255, 0.6); + border-radius: 50%; + filter: blur(1px); + box-shadow: 0 0 15px currentColor; + animation: floatUp linear infinite; +} + +@keyframes floatUp { + 0% { + transform: translateY(0) translateX(0) scale(0.5); + opacity: 0; + } + 10% { + opacity: 1; + } + 90% { + opacity: 0.6; + } + 100% { + transform: translateY(-100vh) translateX(var(--drift, 0)) scale(1.2); + opacity: 0; + } +} + +/* Different particle colors */ +.floating-particle.cyan { + background: rgba(0, 234, 255, 0.7); + box-shadow: 0 0 20px rgba(0, 234, 255, 0.8); +} + +.floating-particle.pink { + background: rgba(255, 0, 255, 0.6); + box-shadow: 0 0 20px rgba(255, 0, 255, 0.7); +} + +.floating-particle.purple { + background: rgba(200, 100, 255, 0.6); + box-shadow: 0 0 20px rgba(200, 100, 255, 0.7); +} + +.floating-particle.green { + background: rgba(0, 255, 200, 0.6); + box-shadow: 0 0 20px rgba(0, 255, 200, 0.7); +} + +.floating-particle.orange { + background: rgba(255, 170, 0, 0.6); + box-shadow: 0 0 20px rgba(255, 170, 0, 0.7); +} + .starfield { position: fixed; inset: 0; diff --git a/2048.html b/2048.html index ebecb5f..127733d 100644 --- a/2048.html +++ b/2048.html @@ -15,6 +15,7 @@
+ @@ -381,9 +382,10 @@ + -