.wrap {
  position: relative;
  text-align: center;
  height: calc(100% - var(--header-height));
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 50px;
}

.main {
  height: 650px;
  width: 650px;
  position: relative;
  display: flex;
  justify-content: center;
  .neos-pic {
    max-width: 100%;
    max-height: 100%;
    filter: drop-shadow(0 0 50px #ffffff7d) drop-shadow(0 10px 0.5rem #0a3c71ce);
    z-index: -1;
  }
  .neos-logo {
    filter: drop-shadow(0 0 2rem #ffffffbc);
    position: absolute;
    top: 50%;
    width: 90%;
    height: fit-content;
    left: 52%;
    transform: translateX(-50%);
  }
}

// 以下是粒子动画的样式

.particles-container {
  width: 100%;
  height: 100%;
  position: relative;
}

.particle-container {
  $particleNum: 200;
  $particleColor: hsl(180, 100%, 80%);

  position: absolute;
  transform: translateY(-10vh);
  animation-iteration-count: infinite;
  animation-timing-function: linear;

  .particle {
    width: 100%;
    height: 100%;
    border-radius: 50%;
    mix-blend-mode: screen;
    background-image: radial-gradient(
      hsl(180, 100%, 80%),
      hsl(180, 100%, 80%) 10%,
      hsla(180, 100%, 80%, 0) 56%
    );

    animation: fadein-frames 200ms infinite, scale-frames 2s infinite;
  }

  @keyframes fadein-frames {
    0% {
      opacity: 1;
    }

    50% {
      opacity: 0.7;
    }

    100% {
      opacity: 1;
    }
  }

  @keyframes scale-frames {
    0% {
      transform: scale3d(0.4, 0.4, 1);
    }

    50% {
      transform: scale3d(2.2, 2.2, 1);
    }

    100% {
      transform: scale3d(0.4, 0.4, 1);
    }
  }

  $particleBaseSize: 10;

  @for $i from 1 to $particleNum {
    &:nth-child(#{$i}) {
      $particleSize: random($particleBaseSize);
      width: $particleSize + px;
      height: $particleSize + px;

      $startPositionY: random(10) + 80;
      $framesName: "move-frames" + $i;
      $moveDuration: 28000 + random(9000) + ms;

      animation-name: #{$framesName};
      animation-duration: $moveDuration;
      animation-delay: random(37000) + ms;

      @keyframes #{$framesName} {
        from {
          transform: translate3d(
            #{random(90) + vw},
            #{$startPositionY + vh},
            0
          );
        }

        to {
          transform: translate3d(
            #{random(90) + vw},
            #{- $startPositionY - random(30) + vh},
            0
          );
        }
      }

      .particle {
        animation-delay: random(4000) + ms;
      }
    }
  }
}
