@layer utilities {
      .content-auto {
        content-visibility: auto;
      }
      .text-shadow {
        text-shadow: 0 2px 4px rgba(0,0,0,0.1);
      }
      .bg-gradient-custom {
        background: linear-gradient(90deg, #7D7DFF 0%, #FFDC35 50%, #2F0000 100%);
      }
      .bg-gradient-hero {
        background: linear-gradient(90deg, #7D7DFF 0%, #FFDC35 50%, #2F0000 100%);
      }
      .card-hover {
        transition: all 0.3s ease;
      }
      .card-hover:hover {
        transform: translateY(-8px);
        box-shadow: 0 20px 25px -5px rgba(0, 0, 0, 0.1), 0 10px 10px -5px rgba(0, 0, 0, 0.04);
      }
      .btn-gradient {
        background: linear-gradient(90deg, #7D7DFF 0%, #FFDC35 50%, #2F0000 100%);
        transition: all 0.3s ease;
      }
      .btn-gradient:hover {
        background: linear-gradient(90deg, #2F0000 0%, #FFDC35 50%, #7D7DFF 100%);
        transform: scale(1.03);
      }
      .nav-sticky {
        backdrop-filter: blur(8px);
        background-color: rgba(255, 255, 255, 0.8);
      }
      .glass-effect {
        background: rgba(255, 255, 255, 0.25);
        backdrop-filter: blur(4px);
        border: 1px solid rgba(255, 255, 255, 0.18);
      }
      .float-animation {
        animation: float 3s ease-in-out infinite;
      }
      @keyframes float {
        0% { transform: translateY(0px); }
        50% { transform: translateY(-10px); }
        100% { transform: translateY(0px); }
      }
      .particle {
        position: absolute;
        border-radius: 50%;
        opacity: 0.5;
      }
      .kline-animation {
        animation: kline 3s ease-in-out infinite;
      }
      @keyframes kline {
        0% { transform: translateY(0px); }
        50% { transform: translateY(-5px); }
        100% { transform: translateY(0px); }
      }
    }
      /* 脉动动画 */
  @keyframes pulse {
    0% { transform: scale(1); box-shadow: 0 0 0 0 rgba(125, 125, 255, 0.7); }
    70% { transform: scale(1.02); box-shadow: 0 0 0 10px rgba(125, 125, 255, 0); }
    100% { transform: scale(1); box-shadow: 0 0 0 0 rgba(125, 125, 255, 0); }
  }
  
  /* 波纹效果 */
  .animate-ping {
    transition: all 0.8s ease-out;
  }
  
  
.hide-scrollbar {
  scrollbar-width: none;
  -ms-overflow-style: none;
}
.hide-scrollbar::-webkit-scrollbar {
  display: none;
}
@media (max-width: 640px) {
  #floating-gift-cta section { border-radius: 1.1rem 1.1rem 0 0 !important; }
  #floating-gift-cta button { font-size: 15px; padding-left: 4px; padding-right: 4px; }
}
@keyframes fadeInUp {
  from { transform: translateY(40px); opacity: 0; }
  to   { transform: translateY(0); opacity: 1; }
}
.animate-fadeInUp {
  animation: fadeInUp 0.45s cubic-bezier(.44,.12,.57,1.19);
}
