/* Tailwind 自定义工具类 */
@layer utilities {
  .bg-gradient-animate {
    background: linear-gradient(120deg, #0F172A, #1E293B, #3B82F6, #10B981);
    background-size: 400% 400%;
    animation: gradient 15s ease infinite;
  }
  .btn-glow {
    @apply transition-all duration-300 hover:shadow-lg hover:shadow-secondary/50 hover:-translate-y-1;
  }
  .text-fade {
    animation: fadeInUp 1s ease forwards;
  }
  .loader-spin {
    animation: spin 2s linear infinite;
  }
  .loader-pulse {
    animation: pulse 2s ease-in-out infinite;
  }
  .log-scroll::-webkit-scrollbar {
    @apply w-1.5;
  }
  .log-scroll::-webkit-scrollbar-thumb {
    @apply bg-secondary/50 rounded-full;
  }
  .log-scroll::-webkit-scrollbar-track {
    @apply bg-dark rounded-full;
  }
}

/* 动画关键帧 */
@keyframes gradient {
  0% { background-position: 0% 50%; }
  50% { background-position: 100% 50%; }
  100% { background-position: 0% 50%; }
}
@keyframes fadeInUp {
  from { opacity: 0; transform: translateY(30px); }
  to { opacity: 1; transform: translateY(0); }
}
@keyframes spin {
  100% { transform: rotate(360deg); }
}
@keyframes pulse {
  0%, 100% { transform: scale(1); opacity: 0.8; }
  50% { transform: scale(1.1); opacity: 1; }
}

/* 粒子画布样式 */
#particles {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 0;
}