/* Bewegungsdefinitionen, Keyframes und Motion-Reduktion für die Landingpage. */

@keyframes twinkle {
  0%, 100% { opacity: 0; }
  50% { opacity: var(--b, 0.7); }
}

@keyframes networkHotspotBlink {
  0%, 100% { opacity: 0.45; }
  50% { opacity: 1; }
}

@keyframes networkHotspotPulse {
  0%, 100% { transform: translate(-50%, -50%) scale(1); }
  50% { transform: translate(-50%, -50%) scale(1.08); }
}

@keyframes ledBlink { 0%,100%{opacity:1} 50%{opacity:0.3} }

@keyframes floatPrize {
  0%,100% { transform: translateY(0px); }
  50%      { transform: translateY(-12px); }
}

@keyframes floatPrize2 {
  0%,100% { transform: translateY(-4px); }
  50%      { transform: translateY(-16px); }
}

@keyframes shadowPulse {
  0%,100% { transform: scaleX(1);   opacity: 0.6; }
  50%      { transform: scaleX(0.6); opacity: 0.2; }
}

@keyframes hs2-shell-boot {
  0% {
    opacity: 0;
    transform: scaleY(0.12);
  }
  35% {
    opacity: 1;
    transform: scaleY(0.18);
  }
  100% {
    opacity: 1;
    transform: scaleY(1);
  }
}

@keyframes hs2-scan-pass {
  0% {
    opacity: 0;
    transform: translateY(0);
  }
  12% {
    opacity: 1;
  }
  85% {
    opacity: 1;
    transform: translateY(176px);
  }
  100% {
    opacity: 0;
    transform: translateY(204px);
  }
}

@keyframes hs2-title-boot {
  0% {
    opacity: 0;
    transform: translateY(10px);
    filter: blur(2px);
    clip-path: inset(0 100% 0 0);
    letter-spacing: 7px;
  }
  40% {
    opacity: 1;
  }
  100% {
    opacity: 1;
    transform: translateY(0);
    filter: blur(0);
    clip-path: inset(0 0 0 0);
    letter-spacing: 3px;
  }
}

@keyframes hs2-title-glow {
  0%, 100% {
    text-shadow: 2px 2px 0 rgba(0,0,0,0.9), 0 0 18px rgba(238,114,2,0.4);
  }
  50% {
    text-shadow: 2px 2px 0 rgba(0,0,0,0.9), 0 0 24px rgba(255,241,184,0.78);
  }
}

@keyframes hs2-cell-boot {
  0% {
    opacity: 0;
    transform: translateY(8px);
    filter: blur(1.5px);
    clip-path: inset(0 100% 0 0);
  }
  35% {
    opacity: 1;
    transform: translateY(8px);
    filter: blur(1.5px);
  }
  65% {
    opacity: 1;
    transform: translateY(-2px);
    filter: blur(0);
    clip-path: inset(0 18% 0 0);
  }
  100% {
    opacity: 1;
    transform: translateY(0);
    filter: blur(0);
    clip-path: inset(0 0 0 0);
  }
}

@keyframes hs2-blink {
  0%,49%  { opacity: 1; }
  50%,100% { opacity: 0; }
}

@keyframes blink {

    0%, 49% { opacity: 1; }
    50%, 100% { opacity: 0; }

}

@keyframes heroBrandFloat {
    0%, 100% { transform: translateY(0); }
    50% { transform: translateY(-8px); }
  }

@media (prefers-reduced-motion: reduce) {
  .monitor-preview-video { animation-play-state: paused; }
}

@media (prefers-reduced-motion: reduce) {
  .highscore-board::before,
  .highscore-board::after,
  .highscore-board .hs2-title,
  .highscore-board .hs2-head span,
  .highscore-board .hs2-row span {
    animation: none !important;
    opacity: 1 !important;
    transform: none !important;
    filter: none !important;
    clip-path: inset(0 0 0 0) !important;
  }
  .highscore-board::before {
    opacity: 1 !important;
  }
}

@media (prefers-reduced-motion: reduce) {

}
