html, body {
  height: 100%;
  width: 100%;
  margin: 0;
  background-color: transparent; 
  position: relative; 
  overflow: hidden; 
}

.card {
  --bg-color: rgba(17, 24, 39, 0); 
  background-color: var(--bg-color);
  padding: 1rem 2rem;
  border-radius: 1.25rem;
  width: 90vw;
  height: 90vh;
  display: flex;
  justify-content: center;
  align-items: center;
  box-sizing: border-box;
  position: absolute; 
  top: 50%; 
  left: 50%; 
  transform: translate(-50%, -50%); 
  z-index: 10; 
  backdrop-filter: blur(8px); 
  -webkit-backdrop-filter: blur(8px);
  /* box-shadow: 0 8px 32px rgba(0, 0, 0, 0.1); 
  border: 1px solid rgba(255, 255, 255, 0.1);  */
}
.loader {
  color: rgb(255, 255, 255);
  font-family: "Poppins", sans-serif;
  font-weight: 500;
  font-size: 2.5vw; 
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  line-height: 1.6em; 
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  align-items: center; 
  border-radius: 0.32em; 
}

.words {
  overflow: hidden;
  position: relative;
  height: 1.6em;
}
/* .words::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(
    var(--bg-color) 10%,
    transparent 20%,
    transparent 80%,
    var(--bg-color) 90%
  );
  z-index: 20;
} */

.word {
  display: block;
  height: 100%;
  padding-left: 0.24em;
  color: #956afa;
  animation: spin_4991 4s infinite;
}

@keyframes spin_4991 {
  10% {
    -webkit-transform: translateY(-102%);
    transform: translateY(-102%);
  }

  25% {
    -webkit-transform: translateY(-100%);
    transform: translateY(-100%);
  }

  35% {
    -webkit-transform: translateY(-202%);
    transform: translateY(-202%);
  }

  50% {
    -webkit-transform: translateY(-200%);
    transform: translateY(-200%);
  }

  60% {
    -webkit-transform: translateY(-302%);
    transform: translateY(-302%);
  }

  75% {
    -webkit-transform: translateY(-300%);
    transform: translateY(-300%);
  }

  85% {
    -webkit-transform: translateY(-402%);
    transform: translateY(-402%);
  }

  100% {
    -webkit-transform: translateY(-400%);
    transform: translateY(-400%);
  }
}

@media (max-width: 768px) {
  .loader {
    font-size: 8vw;
  }
}

:root {
  --color-bg1: rgb(75, 0, 115);
  --color-bg2: rgb(0, 15, 70);
  --color1: 15, 90, 205;
  --color2: 180, 40, 200;
  --color3: 60, 180, 190;
  --color4: 170, 30, 30;
  --color5: 150, 140, 20;
  --color-interactive: 120, 60, 200;
  --circle-size: 80%;
  --blending: hard-light;
}

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

@keyframes moveVertical {
  0% { transform: translateY(-50%); }
  50% { transform: translateY(50%); }
  100% { transform: translateY(-50%); }
}

@keyframes moveHorizontal {
  0% { transform: translateX(-50%) translateY(-10%); }
  50% { transform: translateX(50%) translateY(10%); }
  100% { transform: translateX(-50%) translateY(-10%); }
}

.gradient-bg {
  width: 100vw;
  height: 100vh;
  position: fixed;
  overflow: hidden;
  background: linear-gradient(40deg, var(--color-bg1), var(--color-bg2));
  top: 0;
  left: 0;
  z-index: -1;
}

.gradient-bg svg {
  position: fixed;
  top: 0;
  left: 0;
  width: 0;
  height: 0;
}

.gradient-bg .gradients-container {
  filter: url(#goo) blur(40px);
  width: 100%;
  height: 100%;
}

.gradient-bg [class^="g"] {
  position: absolute;
  mix-blend-mode: var(--blending);
  background-repeat: no-repeat;
}

.gradient-bg .g1 {
  background: radial-gradient(circle at center, rgba(var(--color1), 0.8) 0, rgba(var(--color1), 0) 50%);
  width: var(--circle-size);
  height: var(--circle-size);
  top: calc(50% - var(--circle-size) / 2);
  left: calc(50% - var(--circle-size) / 2);
  transform-origin: center center;
  animation: moveVertical 30s ease infinite;
}

.gradient-bg .g2 {
  background: radial-gradient(circle at center, rgba(var(--color2), 0.8) 0, rgba(var(--color2), 0) 50%);
  width: var(--circle-size);
  height: var(--circle-size);
  top: calc(50% - var(--circle-size) / 2);
  left: calc(50% - var(--circle-size) / 2);
  transform-origin: calc(50% - 400px);
  animation: moveInCircle 20s reverse infinite;
}

.gradient-bg .g3 {
  background: radial-gradient(circle at center, rgba(var(--color3), 0.8) 0, rgba(var(--color3), 0) 50%);
  width: var(--circle-size);
  height: var(--circle-size);
  top: calc(50% - var(--circle-size) / 2 + 200px);
  left: calc(50% - var(--circle-size) / 2 - 500px);
  transform-origin: calc(50% + 400px);
  animation: moveInCircle 40s linear infinite;
}

.gradient-bg .g4 {
  background: radial-gradient(circle at center, rgba(var(--color4), 0.8) 0, rgba(var(--color4), 0) 50%);
  width: var(--circle-size);
  height: var(--circle-size);
  top: calc(50% - var(--circle-size) / 2);
  left: calc(50% - var(--circle-size) / 2);
  transform-origin: calc(50% - 200px);
  animation: moveHorizontal 40s ease infinite;
  opacity: 0.7;
}

.gradient-bg .g5 {
  background: radial-gradient(circle at center, rgba(var(--color5), 0.8) 0, rgba(var(--color5), 0) 50%);
  width: calc(var(--circle-size) * 2);
  height: calc(var(--circle-size) * 2);
  top: calc(50% - var(--circle-size));
  left: calc(50% - var(--circle-size));
  transform-origin: calc(50% - 800px) calc(50% + 200px);
  animation: moveInCircle 20s ease infinite;
}

.gradient-bg .interactive {
  background: radial-gradient(circle at center, rgba(var(--color-interactive), 0.8) 0, rgba(var(--color-interactive), 0) 50%);
  width: 100%;
  height: 100%;
  top: -50%;
  left: -50%;
  opacity: 0.7;
}

.copyright {
    position: fixed;
    bottom: 0;
    left: 0;
    width: 100%;
    text-align: center;
    padding: 10px;
    color: white;
    font-size: 14px;
}

.copyright a {
    color: white;
    text-decoration: none;
    margin: 0 1rem;
}
