 body {
      font-family: "Poppins", "Noto Sans KR", sans-serif;
      background-color: #0f172a;
      color: #94a3b8;
    }

    .fade-in-up {
      opacity: 0;
      transform: translateY(30px);
      transition: opacity 0.8s cubic-bezier(0.165, 0.84, 0.44, 1),
        transform 0.8s cubic-bezier(0.165, 0.84, 0.44, 1);
    }

    .fade-in-up.is-visible {
      opacity: 1;
      transform: translateY(0);
    }

    .scroll-animate {
      opacity: 0;
      transform: translateY(40px);
      transition: opacity 0.8s ease-out, transform 0.8s ease-out;
    }

    .scroll-animate.visible {
      opacity: 1;
      transform: translateY(0);
    }

    #bg-canvas {
      position: absolute;
      top: 0;
      left: 0;
      width: 100%;
      height: 100%;
      z-index: 0;
    }

    .rainbow-neon-text {
      background-image: linear-gradient(to right,
          #ff0000,
          #ff7f00,
          #ffff00,
          #00ff00,
          #0000ff,
          #4b0082,
          #8f00ff,
          #ff0000);
      background-size: 200% auto;
      color: transparent;
      -webkit-background-clip: text;
      background-clip: text;
      text-shadow: 0 0 5px rgba(255, 255, 255, 0.8),
        0 0 10px rgba(255, 255, 255, 0.6), 0 0 20px rgba(255, 255, 255, 0.4);
      animation: rainbow-flow 2s linear infinite;
    }

    @keyframes rainbow-flow {
      to {
        background-position: -200% center;
      }
    }
