.vertical-centered-box {
  position: fixed;
  width: 100vw;
  height: 100vh;
  text-align: center;
}

.vertical-centered-box:after {
  content: '';
  display: inline-block;
  height: 100vh;
  vertical-align: middle;
  margin-right: -0.25em;
}

.vertical-centered-box .content {
  display: inline-block;
  vertical-align: middle;
  text-align: left;
  font-size: 0;
}


* {
  transition: all 0.3s;
}

#prism-logo path {
  /* fill: #20293b; */
  /* stroke: rgba(255,255,255,1); */
  /* stroke-width: 1px; */
}

#particles-background,
#particles-foreground {
  position: fixed;
  top: 0;
  left: 0;
  width: 100vw;
  height: 100vh;
  z-index: -1; /* 콘텐츠 뒤로 보내기 */
  pointer-events: none;
}

#particles-background {
  background: #2f152c; /* 메인 컬러로 변경됨 */
  background-image: -moz-linear-gradient(45deg, #2f152c 2%, #190a11 100%);
  background-image: -webkit-linear-gradient(45deg, #2f152c 2%, #190a11 100%);
  background-image: linear-gradient(45deg, #2f152c 2%, #190a11 100%);
}


@keyframes rotate {
  0% {
    transform: rotate(0deg);
  }
  100% {
    transform: rotate(360deg);
  }
}

@keyframes fade {
  0% {
    opacity: 1;
  }
  50% {
    opacity: 0.25;
  }
}

@keyframes fade-in {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}