@keyframes float {
  0% { transform: translateY(0) rotate(0deg); }
  50% { transform: translateY(-20px) rotate(5deg); }
  100% { transform: translateY(0) rotate(0deg); }
}

@keyframes drift {
  0% { transform: translateX(0); }
  50% { transform: translateX(15px); }
  100% { transform: translateX(0); }
}

/* 新增三维浮动动画 */
@keyframes float3D {
  0% { transform: translate3d(0, 0, 0) rotate3d(1,1,0,0deg); }
  25% { transform: translate3d(200px, -150px, 80px) rotate3d(1,0.5,0.2,45deg); }
  50% { transform: translate3d(-180px, 120px, -60px) rotate3d(0.8,1,0.3,-30deg); }
  75% { transform: translate3d(160px, -200px, 100px) rotate3d(1,1,0.5,60deg); }
  100% { transform: translate3d(0, 0, 0) rotate3d(1,1,0,0deg); }
}

.app-icon-container {
  perspective: 1000px;
  position: relative;
}

.app-icon {
  animation: float 6s ease-in-out infinite, drift 8s ease-in-out infinite;
  position: relative;
  transition: all 0.5s cubic-bezier(0.25, 0.46, 0.45, 0.94);
}

.app-icon:hover {
  animation-play-state: paused;
  filter: drop-shadow(0 0 8px rgba(255,255,210,0.8));
  transform: scale(1.15) rotateZ(5deg);
  z-index: 10;
}