/* 鼠标浮动动画 */
@keyframes mouseFloat {
  0%,
  100% {
    transform: translateX(-50%) translateY(0);
  }
  50% {
    transform: translateX(-50%) translateY(-15px);
  }
}
/* 渐变背景动画 */
@keyframes gradientShift {
  0% {
    background-position: 0% 50%;
  }
  50% {
    background-position: 100% 50%;
  }
  100% {
    background-position: 0% 50%;
  }
}
/* 波浪动画 */
@keyframes wave {
  0% {
    transform: translateX(0) translateY(0) rotate(0deg);
  }
  100% {
    transform: translateX(50%) translateY(10%) rotate(360deg);
  }
}
/* 向右滚动动画 */
@keyframes scrollRight {
  0% {
    transform: translate3d(0, 0, 0);
  }
  100% {
    transform: translate3d(-33.333%, 0, 0);
  }
}
/* 向左滚动动画 */
@keyframes scrollLeft {
  0% {
    transform: translate3d(-33.333%, 0, 0);
  }
  100% {
    transform: translate3d(0, 0, 0);
  }
}
@keyframes bounce {
  0%,
  100% {
    transform: translate(-50%, -50%) translateY(0);
  }
  50% {
    transform: translate(-50%, -50%) translateY(-10px);
  }
}
@keyframes pulse {
  0% {
    transform: translate(-50%, -50%) scale(0.8);
    opacity: 1;
  }
  100% {
    transform: translate(-50%, -50%) scale(2);
    opacity: 0;
  }
}
@keyframes ripple {
  0% {
    width: 100%;
    height: 100%;
    opacity: 1;
  }
  100% {
    width: 200%;
    height: 200%;
    opacity: 0;
  }
}
/* 横线渐隐渐显动画 */
@keyframes lineFadeInOut {
  0% {
    opacity: 0;
    transform: scaleX(0);
  }
  15% {
    opacity: 0.4;
    transform: scaleX(1);
  }
  50% {
    opacity: 0.8;
    transform: scaleX(1);
  }
  85% {
    opacity: 0.4;
    transform: scaleX(1);
  }
  100% {
    opacity: 0;
    transform: scaleX(0);
  }
}
/* 竖线动画（使用 scaleY） */
@keyframes lineFadeInOutVertical {
  0% {
    opacity: 0;
    transform: scaleY(0);
  }
  15% {
    opacity: 0.4;
    transform: scaleY(1);
  }
  50% {
    opacity: 0.8;
    transform: scaleY(1);
  }
  85% {
    opacity: 0.4;
    transform: scaleY(1);
  }
  100% {
    opacity: 0;
    transform: scaleY(0);
  }
}
