/* Music Effects CSS */
.europapa-light {
  position: absolute;
  width: 4px;
  height: 100vh;
  background: linear-gradient(to bottom, transparent, #FFCC00, transparent);
  animation: europaBeam 2s linear infinite;
}

.love-heart {
  position: fixed;
  font-size: 24px;
  color: #ff69b4;
  filter: blur(1px);
  animation: loveFloat 3s linear forwards;
}

.love-wave {
  position: absolute;
  width: 100%;
  height: 2px;
  background: linear-gradient(90deg, transparent, #ff69b4, transparent);
  animation: loveWave 2s ease-in-out infinite;
}

.glimpse-particle {
  position: absolute;
  width: 3px;
  height: 3px;
  background: #fff;
  border-radius: 50%;

@keyframes twinkle {
  0%, 100% { opacity: 1; transform: scale(1); }
  50% { opacity: 0.5; transform: scale(1.2); }
}

@keyframes dance {
  0%, 100% { transform: translateY(0) rotate(0deg); }
  50% { transform: translateY(-20px) rotate(20deg); }
}

  animation: glimpseFade 2s ease-out forwards;
}

.glimpse-rain {
  position: fixed;
  width: 1px;
  height: 15px;
  background: linear-gradient(transparent, rgba(255, 255, 255, 0.5));
  animation: glimpseRain 1s linear infinite;
}

@keyframes europaBeam {
  0% { transform: translateX(-100%) rotate(30deg); opacity: 0; }
  50% { opacity: 1; }
  100% { transform: translateX(100%) rotate(30deg); opacity: 0; }
}

@keyframes europaRing {
  0% { transform: translate(-50%, -50%) scale(0); opacity: 1; }
  100% { transform: translate(-50%, -50%) scale(4); opacity: 0; }
}

@keyframes loveFloat {
  0% { transform: translateY(0); opacity: 0; }
  20% { opacity: 1; }
  100% { transform: translateY(-100vh); opacity: 0; }
}

@keyframes loveWave {
  0% { transform: scaleX(0); opacity: 0; }
  50% { transform: scaleX(1); opacity: 1; }
  100% { transform: scaleX(0); opacity: 0; }
}

@keyframes glimpseFade {
  0% { transform: scale(1); opacity: 0; }
  50% { transform: scale(2); opacity: 1; }
  100% { transform: scale(0); opacity: 0; }
}

@keyframes glimpseRain {
  0% { transform: translateY(-100vh); opacity: 0; }
  10% { opacity: 1; }
  100% { transform: translateY(100vh); opacity: 0; }
}

.rondo-note {
  position: absolute;
  font-size: 24px;
  color: gold;
  text-shadow: 0 0 5px gold;
  animation: rondoFloat 3s ease-out forwards;
}

.samba-dancer {
  position: fixed;
  font-size: 28px;
  filter: drop-shadow(0 0 10px #ff6b6b);
  animation: sambaDance 2s linear infinite;
}

.fergie-sparkle {
  position: absolute;
  width: 4px;
  height: 4px;
  background: linear-gradient(45deg, #ff69b4, #ff1493);
  border-radius: 50%;
  animation: fergieSparkle 1.5s ease-out forwards;
}

@keyframes rondoFloat {
  0% { transform: scale(0) rotate(0deg); opacity: 0; }
  20% { transform: scale(1.2) rotate(180deg); opacity: 1; }
  100% { transform: scale(0.5) rotate(360deg); opacity: 0; }
}

@keyframes sambaDance {
  0% { transform: translateY(0) rotate(0deg); }
  50% { transform: translateY(-20px) rotate(15deg); }
  100% { transform: translateY(0) rotate(0deg); }
}

@keyframes fergieSparkle {
  0% { transform: scale(0); opacity: 0; }
  50% { transform: scale(1.5); opacity: 1; }
  100% { transform: scale(0); opacity: 0; }
}

.crystal-shard {
  position: absolute;
  width: 20px;
  height: 20px;
  background: linear-gradient(45deg, #00ffff, transparent);
  transform-origin: center;
  animation: crystalSpin 2s linear infinite;
}

.neon-butterfly {
  position: fixed;
  font-size: 24px;
  filter: drop-shadow(0 0 8px #ff00ff);
  animation: butterflyFloat 3s ease-in-out infinite;
}

.pixel-block {
  position: absolute;
  width: 15px;
  height: 15px;
  background: #00ff00;
  box-shadow: 0 0 10px #00ff00;
  animation: pixelRise 2s ease-out forwards;
}

@keyframes crystalSpin {
  0% { transform: rotate(0deg) scale(0); opacity: 0; }
  50% { transform: rotate(180deg) scale(1.5); opacity: 0.8; }
  100% { transform: rotate(360deg) scale(0); opacity: 0; }
}

@keyframes butterflyFloat {
  0% { transform: translate(0, 0) rotate(0deg); }
  50% { transform: translate(20px, -20px) rotate(10deg); }
  100% { transform: translate(0, 0) rotate(0deg); }
}

@keyframes pixelRise {
  0% { transform: translateY(100vh) scale(0.5); opacity: 0; }
  50% { transform: translateY(50vh) scale(1.2); opacity: 1; }
  100% { transform: translateY(-20vh) scale(0.5); opacity: 0; }
}

.ddudu-line {
  position: absolute;
  width: 2px;
  height: 100vh;
  background: linear-gradient(to bottom, transparent, #ff69b4, transparent);
  animation: dduduSlide 1.5s ease-out forwards;
}

.treasure-gem {
  position: absolute;
  width: 30px;
  height: 30px;
  background: linear-gradient(45deg, #ff0099, #00ff99);
  clip-path: polygon(50% 0%, 100% 50%, 50% 100%, 0% 50%);
  animation: treasureShine 2s ease-out forwards;
}

.river-wave {
  position: absolute;
  width: 100%;
  height: 100%;
  background: linear-gradient(180deg, transparent, rgba(0, 255, 255, 0.2), transparent);
  animation: riverFlow 3s linear forwards;
}

.allstar-star {
  position: absolute;
  width: 200px;
  height: 200px;
  background: gold;
  clip-path: polygon(50% 0%, 61% 35%, 98% 35%, 68% 57%, 79% 91%, 50% 70%, 21% 91%, 32% 57%, 2% 35%, 39% 35%);
  animation: allstarGlow 2s ease-out forwards;
}

@keyframes dduduSlide {
  0% { transform: translateX(-100vw); opacity: 0; }
  50% { opacity: 1; }
  100% { transform: translateX(100vw); opacity: 0; }
}

@keyframes treasureShine {
  0% { transform: scale(0) rotate(0deg); opacity: 0; }
  50% { transform: scale(1.2) rotate(180deg); opacity: 1; }
  100% { transform: scale(0) rotate(360deg); opacity: 0; }
}

@keyframes riverFlow {
  0% { transform: translateY(-100%) scaleX(0); opacity: 0; }
  50% { transform: translateY(0) scaleX(1); opacity: 1; }
  100% { transform: translateY(100%) scaleX(0); opacity: 0; }
}

@keyframes allstarGlow {
  0% { transform: scale(0); opacity: 0; }
  50% { transform: scale(1.5); opacity: 1; filter: drop-shadow(0 0 10px gold); }
  100% { transform: scale(0); opacity: 0; }
}

.smack-pulse {
  position: absolute;
  width: 5px;
  height: 5px;
  background: linear-gradient(45deg, #ff00ff, #00ffff);
  border-radius: 50%;
  animation: smackPulse 2s ease-out forwards;
}

.cool-wave {
  position: fixed;
  width: 100%;
  height: 2px;
  background: linear-gradient(90deg, #ff0066, #00ffff);
  transform-origin: center;
  animation: coolWave 2s ease-out forwards;
}

.god-beam {
  position: absolute;
  width: 2px;
  height: 100vh;
  background: linear-gradient(to bottom, transparent, #ffffff, transparent);
  transform-origin: top;
  animation: godBeam 3s ease-out forwards;
}

.magic-spark {
  position: absolute;
  width: 4px;
  height: 4px;
  background: #ffdd00;
  border-radius: 50%;
  filter: blur(1px);
  animation: magicSparkle 2s ease-out forwards;
}

@keyframes smackPulse {
  0% { transform: scale(0); opacity: 0; }
  50% { transform: scale(20); opacity: 0.8; }
  100% { transform: scale(40); opacity: 0; }
}

@keyframes coolWave {
  0% { transform: scaleX(0) rotate(0deg); opacity: 0; }
  50% { transform: scaleX(1) rotate(180deg); opacity: 0.8; }
  100% { transform: scaleX(0) rotate(360deg); opacity: 0; }
}

@keyframes godBeam {
  0% { transform: scaleY(0) rotate(45deg); opacity: 0; }
  50% { transform: scaleY(1) rotate(45deg); opacity: 0.6; }
  100% { transform: scaleY(0) rotate(45deg); opacity: 0; }
}

@keyframes magicSparkle {
  0% { transform: scale(0) rotate(0deg); opacity: 0; }
  50% { transform: scale(2) rotate(180deg); opacity: 1; }
  100% { transform: scale(0) rotate(360deg); opacity: 0; }
}

.blue-ripple {
  position: absolute;
  width: 100px;
  height: 100px;
  border: 2px solid cyan;
  border-radius: 50%;
  animation: blueExpand 1.5s ease-out forwards;
}

.pegao-square {
  position: absolute;
  width: 20px;
  height: 20px;
  background: linear-gradient(45deg, #ff3366, #ff6b6b);
  transform-origin: center;
  animation: pegaoRotate 2s linear forwards;
}

.cha-orb {
  position: absolute;
  width: 15px;
  height: 15px;
  background: radial-gradient(circle at 30% 30%, #fff, #ff00ff);
  border-radius: 50%;
  filter: blur(1px);
  animation: chaFloat 2s ease-out forwards;
}

.garam-pulse {
  position: absolute;
  width: 4px;
  height: 80vh;
  background: linear-gradient(to bottom, transparent, #ffd700, transparent);
  animation: garamBeam 1.5s ease-out forwards;
}

@keyframes blueExpand {
  0% { transform: translate(-50%, -50%) scale(0); opacity: 0.8; }
  100% { transform: translate(-50%, -50%) scale(4); opacity: 0; }
}

@keyframes pegaoRotate {
  0% { transform: scale(0) rotate(0deg); opacity: 0; }
  50% { transform: scale(1.5) rotate(180deg); opacity: 0.8; }
  100% { transform: scale(0) rotate(360deg); opacity: 0; }
}

@keyframes chaFloat {
  0% { transform: translateY(0) scale(0.5); opacity: 0; }
  50% { transform: translateY(-100px) scale(1.5); opacity: 0.8; }
  100% { transform: translateY(-200px) scale(0.5); opacity: 0; }
}

@keyframes garamBeam {
  0% { transform: translateX(-100vw) rotate(30deg); opacity: 0; }
  50% { opacity: 0.8; }
  100% { transform: translateX(100vw) rotate(30deg); opacity: 0; }
}

.coco-prism {
  position: absolute;
  clip-path: polygon(50% 0%, 100% 25%, 100% 75%, 50% 100%, 0% 75%, 0% 25%);
  background: linear-gradient(45deg, #00ffcc, #ff00cc);
  animation: prismSpin 2s linear forwards;
}

.gone-wave {
  position: absolute;
  width: 100%;
  height: 4px;
  background: linear-gradient(90deg, #4a00e0, #8e2de2);
  transform-origin: center;
  animation: waveSlide 2s ease-out forwards;
}

.kalam-spiral {
  position: absolute;
  width: 20px;
  height: 20px;
  border: 2px solid #ff3366;
  border-radius: 50%;
  animation: spiralExpand 1.5s ease-out forwards;
}

.kuduro-cube {
  position: absolute;
  width: 30px;
  height: 30px;
  background: linear-gradient(135deg, #00ff87, #60efff);
  transform-style: preserve-3d;
  animation: cubeRotate 2s linear forwards;
}

@keyframes prismSpin {
  0% { transform: scale(0) rotate(0deg); opacity: 0; }
  50% { transform: scale(1.5) rotate(180deg); opacity: 0.8; }
  100% { transform: scale(0) rotate(360deg); opacity: 0; }
}

@keyframes waveSlide {
  0% { transform: scaleX(0) translateX(-100%); opacity: 0; }
  50% { transform: scaleX(1) translateX(0); opacity: 0.8; }
  100% { transform: scaleX(0) translateX(100%); opacity: 0; }
}

@keyframes spiralExpand {
  0% { transform: translate(-50%, -50%) scale(0) rotate(0deg); opacity: 1; }
  100% { transform: translate(-50%, -50%) scale(20) rotate(720deg); opacity: 0; }
}

@keyframes cubeRotate {
  0% { transform: rotate3d(1, 1, 1, 0deg) scale(0); opacity: 0; }
  50% { transform: rotate3d(1, 1, 1, 360deg) scale(1); opacity: 0.8; }
  100% { transform: rotate3d(1, 1, 1, 720deg) scale(0); opacity: 0; }
}

.vida-ring {
  position: absolute;
  width: 200px;
  height: 200px;
  border: 4px solid;
  border-image: linear-gradient(45deg, #ff3300, #00ff99) 1;
  filter: blur(1px);
  animation: vidaExpand 2s ease-out forwards;
}

@keyframes vidaExpand {
  0% { transform: scale(0.1) rotate(0deg); opacity: 0; }
  50% { transform: scale(1) rotate(180deg); opacity: 0.8; }
  100% { transform: scale(2) rotate(360deg); opacity: 0; }
}

.heart-lightning {
  position: absolute;
  width: 3px;
  height: 0;
  background: linear-gradient(to bottom, #ff0066, #ff99cc);
  transform-origin: top;
  animation: lightningStrike 1.5s ease-out forwards;
}

@keyframes lightningStrike {
  0% { height: 0; opacity: 0; }
  30% { height: 100vh; opacity: 1; }
  100% { height: 100vh; opacity: 0; }
}

.hot-particle {
  position: absolute;
  width: 12px;
  height: 12px;
  clip-path: polygon(50% 0%, 100% 50%, 50% 100%, 0% 50%);
  background: linear-gradient(45deg, #ff3300, #ffcc00);
  animation: hotFloat 2s ease-out forwards;
}

@keyframes hotFloat {
  0% { transform: translate(0, 0) rotate(0deg) scale(0.5); opacity: 0; }
  50% { transform: translate(var(--tx), var(--ty)) rotate(180deg) scale(1.5); opacity: 0.8; }
  100% { transform: translate(calc(var(--tx) * 2), calc(var(--ty) * 2)) rotate(360deg) scale(0.5); opacity: 0; }
}

.neon-grid {
  position: absolute;
  width: 2px;
  height: 100vh;
  background: linear-gradient(to bottom, transparent, #00ff88, transparent);
  animation: gridSlide 2s linear forwards;
}

.dream-orb {
  position: absolute;
  width: 15px;
  height: 15px;
  background: radial-gradient(circle, #4a90e2, transparent);
  border-radius: 50%;
  filter: blur(2px);
  animation: orbFloat 3s ease-out forwards;
}

.mist-wave {
  position: absolute;
  width: 100%;
  height: 100vh;
  background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.1), transparent);
  transform-origin: center;
  animation: mistFlow 2s ease-out forwards;
}

@keyframes gridSlide {
  0% { transform: translateX(-100vw) rotate(45deg); opacity: 0; }
  50% { opacity: 0.8; }
  100% { transform: translateX(100vw) rotate(45deg); opacity: 0; }
}

@keyframes orbFloat {
  0% { transform: scale(0.5) translateY(0); opacity: 0; }
  50% { transform: scale(1.2) translateY(-100px); opacity: 0.8; }
  100% { transform: scale(0.5) translateY(-200px); opacity: 0; }
}

@keyframes mistFlow {
  0% { transform: translateX(-100%) scaleY(0.5); opacity: 0; }
  50% { transform: translateX(0) scaleY(1); opacity: 0.8; }
  100% { transform: translateX(100%) scaleY(0.5); opacity: 0; }
}

.disco-prism {
  position: absolute;
  width: 40px;
  height: 40px;
  background: linear-gradient(45deg, #ff00ff, #00ffff);
  clip-path: polygon(50% 0%, 100% 50%, 50% 100%, 0% 50%);
  animation: prismRotate 2s ease-out forwards;
  opacity: 0;
}

.ink-blob {
  position: absolute;
  width: 20px;
  height: 20px;
  background: #000;
  filter: blur(5px);
  border-radius: 50%;
  animation: blobExpand 1.5s ease-out forwards;
}

.light-flare {
  position: absolute;
  width: 3px;
  height: 100px;
  background: linear-gradient(to bottom, transparent, #fff, transparent);
  transform-origin: center;
  animation: flareShine 1.5s ease-out forwards;
}

@keyframes prismRotate {
  0% { transform: scale(0) rotate(0deg); opacity: 0; }
  50% { transform: scale(1.5) rotate(360deg); opacity: 0.8; }
  100% { transform: scale(0) rotate(720deg); opacity: 0; }
}

@keyframes blobExpand {
  0% { transform: scale(0); opacity: 0; }
  50% { transform: scale(15); opacity: 0.6; }
  100% { transform: scale(30); opacity: 0; }
}

@keyframes flareShine {
  0% { transform: scale(0) rotate(-45deg); opacity: 0; }
  30% { transform: scale(1.5) rotate(-45deg); opacity: 1; }
  100% { transform: scale(2) rotate(-45deg); opacity: 0; }
}

.dtmf-cube {
  position: absolute;
  width: 30px;
  height: 30px;
  background: linear-gradient(45deg, #00ccff, #ff00ff);
  transform-style: preserve-3d;
  animation: dtmfRotate 2s linear forwards;
}

.happy-ring {
  position: absolute;
  width: 150px;
  height: 150px;
  border: 3px solid #ffdd00;
  border-radius: 50%;
  animation: happyExpand 2s ease-out forwards;
}

.gta-beam {
  position: absolute;
  width: 3px;
  height: 100vh;
  background: linear-gradient(to bottom, transparent, #1a1886, transparent);
  animation: gtaBeam 1.5s ease-out forwards;
}

@keyframes dtmfRotate {
  0% { transform: rotate3d(1, 1, 1, 0deg) scale(0); opacity: 0; }
  50% { transform: rotate3d(1, 1, 1, 360deg) scale(1); opacity: 0.8; }
  100% { transform: rotate3d(1, 1, 1, 720deg) scale(0); opacity: 0; }
}

@keyframes happyExpand {
  0% { transform: scale(0.1) translate(-50%, -50%); opacity: 0; }
  50% { transform: scale(1.2) translate(-50%, -50%); opacity: 0.8; }
  100% { transform: scale(2) translate(-50%, -50%); opacity: 0; }
}

@keyframes gtaBeam {
  0% { transform: translateX(-100vw) rotate(45deg); opacity: 0; }
  50% { opacity: 0.8; }
  100% { transform: translateX(100vw) rotate(45deg); opacity: 0; }
}

.spare1-sparkle {
  position: absolute;
  width: 10px;
  height: 10px;
  background: #fff;
  clip-path: polygon(50% 0%, 61% 35%, 98% 35%, 68% 57%, 79% 91%, 50% 70%, 21% 91%, 32% 57%, 2% 35%, 39% 35%);
  animation: spare1Twinkle 2s ease-out forwards;
}

.spare2-hex {
  position: absolute;
  width: 40px;
  height: 40px;
  background: linear-gradient(135deg, #00ff88, #0088ff);
  clip-path: polygon(50% 0%, 100% 25%, 100% 75%, 50% 100%, 0% 75%, 0% 25%);
  animation: spare2Float 1.5s ease-out forwards;
}

.spare3-ring {
  position: absolute;
  width: 100px;
  height: 100px;
  border: 4px solid #00ffcc;
  border-radius: 50%;
  transform: translate(-50%, -50%);
  animation: spare3Pulse 2s ease-out forwards;
}

@keyframes spare1Twinkle {
  0% { transform: scale(0) rotate(0deg); opacity: 0; }
  50% { transform: scale(1.5) rotate(180deg); opacity: 0.8; }
  100% { transform: scale(0) rotate(360deg); opacity: 0; }
}

@keyframes spare2Float {
  0% { transform: scale(0) translateY(0); opacity: 0; }
  50% { transform: scale(1.2) translateY(-100px); opacity: 0.8; }
  100% { transform: scale(0) translateY(-200px); opacity: 0; }
}

@keyframes spare3Pulse {
  0% { transform: translate(-50%, -50%) scale(0); opacity: 1; }
  100% { transform: translate(-50%, -50%) scale(4); opacity: 0; }
}

.sia-spiral {
  position: absolute;
  width: 6px;
  height: 6px;
  background: linear-gradient(45deg, #ff3366, #ff00ff);
  border-radius: 50%;
  filter: blur(1px);
  animation: siaSpiral 2s linear forwards;
}

.joe-hex {
  position: absolute;
  width: 40px;
  height: 40px;
  background: linear-gradient(135deg, #00ff88, #00ffff);
  clip-path: polygon(50% 0%, 100% 25%, 100% 75%, 50% 100%, 0% 75%, 0% 25%);
  animation: countryDance 2s ease-out forwards;
}

.joe-beam {
  position: absolute;
  width: 2px;
  height: 100vh;
  background: linear-gradient(to bottom, transparent, gold, transparent);
  animation: countryBeam 1.5s ease-out forwards;
}

.bad-prism {
  position: absolute;
  width: 25px;
  height: 25px;
  background: linear-gradient(45deg, #ff0088, #ff8800);
  transform-style: preserve-3d;
  animation: prismRotate 1.5s linear forwards;
  opacity: 0;
}

@keyframes siaSpiral {
  0% { 
    transform: scale(0) rotate(0deg); 
    opacity: 0;
  }
  50% { 
    transform: scale(3) rotate(360deg); 
    opacity: 0.8;
  }
  100% { 
    transform: scale(0) rotate(720deg); 
    opacity: 0;
  }
}

@keyframes joeFloat {
  0% { transform: translateY(0) scale(0.5) rotate(0deg); opacity: 0; }
  50% { transform: translateY(-100px) scale(1.2) rotate(180deg); opacity: 0.8; }
  100% { transform: translateY(-200px) scale(0.5) rotate(360deg); opacity: 0; }
}

@keyframes prismRotate {
  0% { transform: rotate3d(1, 1, 1, 0deg) scale(0); opacity: 0; }
  50% { transform: rotate3d(1, 1, 1, 360deg) scale(1); opacity: 0.8; }
  100% { transform: rotate3d(1, 1, 1, 720deg) scale(0); opacity: 0; }
}

@keyframes discoFlash {
  0%, 100% { opacity: 0; transform: scale(0.5); }
  50% { opacity: 1; transform: scale(1.2); }
}

@keyframes promiscuousSpin {
  0% { transform: rotate(0deg) translateX(0) scale(1); }
  50% { transform: rotate(180deg) translateX(100px) scale(1.5); }
  100% { transform: rotate(360deg) translateX(0) scale(1); }
}

@keyframes promiscuousGlow {
  0% { box-shadow: 0 0 10px #ff00ff; }
  50% { box-shadow: 0 0 30px #ff00ff; }
  100% { box-shadow: 0 0 10px #ff00ff; }
}

@keyframes rhythmPulse {
  0% { transform: scaleX(0); opacity: 0; }
  50% { transform: scaleX(1); opacity: 0.8; }
  100% { transform: scaleX(0); opacity: 0; }
}

@keyframes powerExpand {
  from { transform: scaleX(0); }
  to { transform: scaleX(1); }
}

@keyframes countryDance {
  0% {
    transform: scale(0) rotate(0deg);
    opacity: 0;
  }
  50% {
    transform: scale(1.2) rotate(180deg);
    opacity: 1;
  }
  100% {
    transform: scale(0) rotate(360deg);
    opacity: 0;
  }
}

@keyframes countryBeam {
  0% {
    transform: scaleX(0) rotate(-45deg);
    opacity: 0;
  }
  50% {
    transform: scaleX(1) rotate(-45deg);
    opacity: 0.7;
  }
  100% {
    transform: scaleX(0) rotate(-45deg);
    opacity: 0;
  }
}

.slow-dancing {
  position: absolute;
  width: 100%;
  height: 2px;
  background: linear-gradient(90deg, transparent, #800080, transparent); /* Purple */
  animation: fadeInOut 2s ease-in-out infinite;
}

.heart-will-go-on {
  position: fixed;
  font-size: 36px;
  color: #ff0000; /* Red */
  animation: fallDown 4s linear forwards;
}

.x-files {
  position: absolute;
  width: 5px;
  height: 5px;
  background: #000; /* Black */
  border-radius: 50%;
  animation: flyAcross 5s linear forwards;
}

@keyframes fadeInOut {
  0% { opacity: 0; }
  50% { opacity: 1; }
  100% { opacity: 0; }
}

@keyframes fallDown {
  from { transform: translateY(-100%); opacity: 0.8; }
  to { transform: translateY(100vh); opacity: 0; }
}

@keyframes flyAcross {
  0% { transform: translateX(0); opacity: 0; }
  20% { opacity: 1; }
  80% { opacity: 1; }
  100% { transform: translateX(calc(100vw + 50px)); opacity: 0; }
}

@keyframes twinkle {
  0% { opacity: 0.2; }
  50% { opacity: 1; }
  100% { opacity: 0.2; }
}

@keyframes fadeTrail {
  0% { opacity: 0; }
  20% { opacity: 0.3; }
  100% { opacity: 0; }
}

@keyframes satisfactionPulse {
  0% { transform: scale(0) rotate(0deg); opacity: 0; }
  50% { transform: scale(1.2) rotate(180deg); opacity: 0.8; }
  100% { transform: scale(0) rotate(360deg); opacity: 0; }
}

@keyframes satisfactionWave {
  0% { transform: scaleX(0); opacity: 0; }
  50% { transform: scaleX(1); opacity: 0.8; }
  100% { transform: scaleX(0); opacity: 0; }
}

@keyframes satisfactionText {
  0% { transform: scale(0); opacity: 0; }
  20% { transform: scale(1.2); opacity: 1; }
  100% { transform: scale(0); opacity: 0; }
}

.mk-fire-ring {
  position: absolute;
  width: 100px;
  height: 100px;
  border-radius: 50%;
  border: 5px solid orange;
  animation: fireRing 2s linear forwards;
  opacity: 0;
}

.mk-fatality-text {
  position: fixed;
  font-size: 48px;
  color: red;
  text-shadow: 0 0 10px red;
  animation: fatalityText 3s ease-out forwards;
}

@keyframes fatalityText {
  0% { transform: scale(0) rotate(-10deg); opacity: 0; }
  50% { transform: scale(1.5) rotate(5deg); opacity: 1; }
  100% { transform: scale(0.8) rotate(0deg); opacity: 0; }
}

@keyframes fireRing {
  0% { transform: translate(-50%, -50%) scale(0.1); opacity: 0; }
  50% { transform: translate(-50%, -50%) scale(1); opacity: 0.8; }
  100% { transform: translate(-50%, -50%) scale(2); opacity: 0; }
}

@keyframes dragonFloat {
  0% { transform: translateY(0) scale(1) rotate(0deg); opacity: 0.7; }
  50% { transform: translateY(-30px) scale(1.2) rotate(10deg); opacity: 1; }
  100% { transform: translateY(0) scale(1) rotate(0deg); opacity: 0.7; }
}


@keyframes babyFloat {
  0% { transform: translateY(0) scale(0.5); opacity: 0; }
  50% { transform: translateY(-200px) scale(1.2); opacity: 1; }
  100% { transform: translateY(-400px) scale(0.5); opacity: 0; }
}

@keyframes coffeeRing {
  0% { transform: scale(0) rotate(0deg); opacity: 0; }
  50% { transform: scale(1.5) rotate(180deg); opacity: 0.8; }
  100% { transform: scale(0) rotate(360deg); opacity: 0; }
}

@keyframes coffeeDrop {
  0% { transform: translateY(0) rotate(0deg); opacity: 0; }
  10% { opacity: 1; }
  100% { transform: translateY(100vh) rotate(360deg); opacity: 0; }
}

@keyframes kissFloat {
  0% { transform: scale(0) rotate(-20deg); opacity: 0; }
  50% { transform: scale(1.2) rotate(10deg); opacity: 0.8; }
  100% { transform: scale(0) rotate(20deg); opacity: 0; }
}

@keyframes neuronPulse {
  0% { transform: scale(1); opacity: 0; }
  50% { transform: scale(20); opacity: 0.8; }
  100% { transform: scale(40); opacity: 0; }
}

@keyframes brainText {
  0% { transform: scale(0) rotate(-10deg); opacity: 0; }
  50% { transform: scale(1.2) rotate(5deg); opacity: 1; }
  100% { transform: scale(0) rotate(10deg); opacity: 0; }
}

@keyframes lyricLine {
  0% { transform: scaleX(0); opacity: 0; }
  50% { transform: scaleX(1); opacity: 0.8; }
  100% { transform: scaleX(0); opacity: 0; }
}

@keyframes paperFloat {
  0% { transform: translateY(0) rotate(0deg); opacity: 0; }
  20% { opacity: 1; }
  100% { transform: translateY(-200px) rotate(360deg); opacity: 0; }
}

.among-us-char {
  position: absolute;
  width: 80px;
  height: auto;
  pointer-events: none;
  z-index: 1000;
  animation: floatAmongUs 3s ease-in-out infinite;
}

.among-us-star {
  position: fixed;
  width: 4px;
  height: 4px;
  background: white;
  border-radius: 50%;
  box-shadow: 0 0 15px white, 0 0 25px white;
  animation: amongUsStar 3s linear infinite;
  z-index: 1;
}

.wave-circle {
  position: absolute;
  border: 50px solid #00ff00;
  border-radius: 50%;
  animation: waveRipple 2s linear infinite;
}

.blood-drip {
  position: absolute;
  width: 2px;
  height: 50%;
  background: linear-gradient(to bottom, #800000, #FF0000);
  transform-origin: top;
  animation: bloodDrip 1s ease-in infinite;
  box-shadow: 0 0 10px rgba(255, 0, 0, 0.5);
}

.dark-vein {
  position: absolute;
  width: 1px;
  height: 100px;
  background: linear-gradient(to bottom, transparent, rgb(255, 0, 0, 0.3));
  transform-origin: center;
  animation: veinPulse 4s ease-in-out infinite;
}

.wednesday-quote {
  position: absolute;
  color: #FF0000;
  font-size: 24px;
  animation: fadeOutUp 2s ease-out forwards;
  text-shadow: 0 0 10px rgba(255, 0, 0, 0.7);
}

.tear {
  position: absolute;
  width: 10px;
  height: 10px;
  background: rgba(255, 255, 255, 0.8);
  border-radius: 50% 0 50% 50%;
  transform: rotate(45deg);
  animation: tearDrop 2s ease-in infinite;
}

.minecraft-block {
  position: absolute;
  width: 50px;
  height: 50px;
  pointer-events: none;
  z-index: 1000;
  animation: blockFall 3s linear forwards;
}

.minecraft-theme {
  background-color: #5c805d;
  opacity: 1;
  background-image: radial-gradient(circle at center center, #00ff00, #5c805d), repeating-radial-gradient(circle at center center, #00ff00, #00ff00, 31px, transparent 62px, transparent 31px);
  background-blend-mode: multiply;
}

.sigma-image {
  pointer-events: none;
  z-index: 1000;
  filter: drop-shadow(0 0 10px rgba(255, 255, 255, 0.5));
  animation: sigmaFloat 1.5s ease-out;
}

.raindrop {
  position: fixed;
  top: -20px;
  width: 2px;
  height: 20px;
  background: linear-gradient(transparent, rgba(255, 255, 255, 0.6));
  animation: rainfall linear infinite;
  will-change: transform;
  backface-visibility: hidden;
  z-index: -1;
}

.spin-star {
  position: absolute;
  width: 3px;
  height: 3px;
  background: white;
  border-radius: 50%;
  box-shadow: 0 0 4px white, 0 0 8px white;
  animation: twinkle 2s ease-out forwards;
  pointer-events: none;
}

.star {
  position: absolute;
  width: 2px;
  height: 2px;
  background: white;
  border-radius: 50%;
  animation: starTwinkle 3s infinite;
}

.gaga-symbol {
  text-shadow: 0 0 10px currentColor;
  filter: drop-shadow(0 0 5px currentColor);
}

.orbiting-cat {
  pointer-events: none;
  z-index: 1000;
}

.wait-symbol {
  color: #ffffff;
  text-shadow: 0 0 10px rgba(255, 255, 255, 0.5);
  pointer-events: none;
  z-index: 1000;
  transform: rotate(0deg);
  animation: randomRotate 0.3s ease-out;
}

.rapgod-text {
  white-space: nowrap;
  pointer-events: none;
  z-index: 1000;
  letter-spacing: 1px;
  mix-blend-mode: screen;
}

.romania-text {
  text-shadow: 2px 2px 4px rgba(0, 0, 0, 0.3);
  pointer-events: none;
  z-index: 1000;
}

.gaga-symbol {
  text-shadow: 0 0 10px currentColor;
  filter: drop-shadow(0 0 5px currentColor);
}

.german-text {
  text-shadow: 2px 2px 4px rgba(0, 0, 0, 0.3);
  pointer-events: none;
  z-index: 1000;
}

.rapgod-text {
  white-space: nowrap;
  pointer-events: none;
  z-index: 1000;
  letter-spacing: 1px;
  mix-blend-mode: screen;
}

.goes-like-text {
  font-family: 'Arial Black', sans-serif;
  text-transform: uppercase;
  letter-spacing: 2px;
}

.time-text {
  font-family: 'Impact', sans-serif;
  text-shadow: 2px 2px 4px rgba(0, 0, 0, 0.5);
}

.latin-star {
  box-shadow: 0 0 10px #fff,
              0 0 20px #fff,
              0 0 30px #fff;
}

.gucci-item {
  text-shadow: 0 0 15px gold;
  filter: drop-shadow(0 0 8px rgba(255, 215, 0, 0.8));
  background: linear-gradient(45deg, #FFD700, #B8860B);
  -webkit-background-clip: text;
  color: transparent;
  font-size: 2em;
}

.windmill {
  position: fixed;
  top: 50%;
  left: 50%;
  width: 200px;
  height: 200px;
  transform: translate(-50%, -50%);
  border: 4px solid #00ff00;
  border-radius: 50%;
  animation: windmillSpin 8s linear infinite;
  box-shadow: 0 0 100px #00ff00;
  opacity: 0.5;
}

.windmill::before {
  content: '';
  position: absolute;
  top: 50%;
  left: 50%;
  width: 500px;
  height: 4px;
  background: #00ff00;
  transform-origin: 0 0;
  animation: windmillBlade 2s linear infinite;
  box-shadow: 0 0 10px #00ff00;
}

.noodle-particle {
  position: absolute;
  width: 2px;
  height: 20px;
  background: linear-gradient(to bottom, transparent, #00ff00);
  animation: noodleFall 3s linear infinite;
}

.dance-tile {
  border-radius: 4px;
  animation: tileGlow 0.5s ease-in-out infinite alternate;
}

.neon-line {
  filter: blur(1px);
  animation: neonPulse 0.5s ease-in-out infinite alternate;
}

.heart-pulse {
  mix-blend-mode: screen;
}

.counting-star {
  text-shadow: 0 0 10px gold;
  pointer-events: none;
  z-index: 1000;
}

.rap-theme {
  background: #000;
  position: relative;
  overflow: hidden;
  animation: shadowPulse 4s infinite;
}

.rap-theme::before {
  content: '';
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: repeating-linear-gradient(
    90deg,
    transparent,
    transparent 50px,
    rgb(0, 255, 0, 0.1) 50px,
    rgb(0, 255, 0, 0.1) 100px
  );
  animation: moveStripes 3s linear infinite;
}

.rap-text {
  position: fixed;
  color: #00ff00;
  font-family: 'Impact', 'Arial Black', sans-serif;
  text-shadow: 2px 2px 4px rgba(0, 0, 0, 0.7),
               -2px -2px 0 #000,
               2px -2px 0 #000,
               -2px 2px 0 #000,
               2px 2px 0 #000;
  pointer-events: none;
  opacity: 0;
  z-index: -1;
  font-size: 2rem;
  font-style: italic;
  letter-spacing: 2px;
  animation: rapTextAnim 2s ease-out forwards;
  white-space: nowrap;
}

.moori-theme {
  animation: colorChange 3s linear infinite;
}

.moori-cat {
  position: fixed;
  width: 100px;
  height: 100px;
  pointer-events: none;
  z-index: 1000;
  opacity: 1;
}

#speed-container {
  background: radial-gradient(circle at center, transparent 0%, rgba(0,0,0,0.8) 100%);
  pointer-events: none;
}

@keyframes dubstepWave {
  0% { transform: scaleX(0); opacity: 0; }
  50% { transform: scaleX(1); opacity: 0.8; }
  100% { transform: scaleX(0); opacity: 0; }
}

@keyframes dubstepGlitch {
  0% { transform: skewX(-45deg) translateX(-100%); opacity: 0; }
  50% { transform: skewX(-45deg) translateX(0); opacity: 0.5; }
  100% { transform: skewX(-45deg) translateX(100%); opacity: 0; }
}

@keyframes dubstepPulse {
  0% { transform: translate(-50%, -50%) scale(0); opacity: 1; }
  100% { transform: translate(-50%, -50%) scale(20); opacity: 0; }
}

@keyframes matrixFall {
  0% { transform: translateY(-100%) scale(0.5); opacity: 0; }
  10% { opacity: 1; }
  100% { transform: translateY(100vh) scale(1.5); opacity: 0; }
}

@keyframes palmSway {
  0%, 100% { transform: rotate(-5deg); }
  50% { transform: rotate(5deg); }
}

@keyframes flameRise {
  0% { transform: translateY(0) scale(1); opacity: 1; }
  100% { transform: translateY(-100vh) scale(0.5); opacity: 0; }
}

@keyframes neonExpand {
  0% { transform: translate(-50%, -50%) scale(0); opacity: 1; }
  100% { transform: translate(-50%, -50%) scale(3); opacity: 0; }
}

@keyframes diamondSparkle {
  0% { transform: scale(0) rotate(0deg); opacity: 0; }
  50% { transform: scale(1.5) rotate(180deg); opacity: 1; }
  100% { transform: scale(0) rotate(360deg); opacity: 0; }
}