body {
  font-family: "Inconsolata", monospace;
  font-optical-sizing: auto;
  font-style: normal;
  font-variation-settings: "wdth" 100;
  max-height: 100vh;
  background-size: 33%;
  background-repeat: repeat;
  overflow: hidden;
}

.title-decor {
  margin-bottom: 10px;
  filter: blur(3px);
  animation: title-animation 3s ease forwards;
  animation-delay: 0s;
  animation-iteration-count: infinite;
  animation-direction: normal;
  animation-fill-mode: none;
  animation-timing-function: ease;
  animation-play-state: running;
  animation-name: title-animation, pause-animation;
  animation-duration: 2s, 0s;
  animation-delay: 0s, 3s;
  animation-iteration-count: infinite, infinite;
  animation-fill-mode: forwards, forwards;
}

@keyframes title-animation {
  0% {
    margin-left: 0px;
    opacity: 0;
  }
  40% {
    margin-left: 0px;
    opacity: 1;
  }
  100% {
    margin-left: 400px;
    opacity: 0;
  }
}

.title-des {
  margin-top: 60px;
  max-width: 90%;
  width: 400px;
  text-align: center;
  margin-inline: auto;
  font-size: 1rem;
  font-weight: 300;
  line-height: 1.6;
  color: rgba(255, 255, 255, 0.85);
  letter-spacing: 1px;
}

.start-p {
  margin-top: 160px;
  padding: 14px 48px;
  border-radius: 8px;
  background: transparent;
  font-size: 1rem;
  color: #ffffff;
  letter-spacing: 2.8px;
  cursor: pointer;
  text-align: center;
  text-shadow: 0 0 12px rgba(255, 255, 255, 0.18);
  animation: pulseStar 3s infinite ease-in-out;
  transition: transform 0.3s ease, letter-spacing 0.5s ease,
    text-shadow 0.35s ease, color 0.3s ease, box-shadow 0.4s ease;
  box-shadow: 0 20px 100px rgba(255, 255, 255, 0.15),
    0 0 12px rgba(255, 255, 255, 0.05) inset;
  border: 1px solid rgba(255, 255, 255, 0.03);
  backdrop-filter: blur(8px);
}

.start-p:hover {
  transform: translateY(-3px) scale(1.02);
  letter-spacing: 0.5px;
  color: #d7d8dd;
  text-shadow: 0 0 16px rgba(255, 255, 255, 0.25);
  box-shadow: 0 25px 140px rgba(255, 255, 255, 0.25),
    0 0 20px rgba(255, 255, 255, 0.1) inset;
}

.title-screen h5 {
  position: absolute;
  bottom: 6%;
  left: 4%;
  font-weight: 200;
  opacity: 0.7;
  font-size: 15px;
  z-index: 10;
}

.curtain {
  z-index: 1000100;
  background-color: rgba(20, 20, 20, 0.05);
  backdrop-filter: blur(30px);
  width: 61vw;
  min-height: 61vh;
  position: absolute;
  top: 50%;
  left: 50%;
  display: none;
  opacity: 0;
  transform: translateX(-50%) translateY(-50%);
  border-radius: 20px;
  color: #ffffff;
  text-align: center;
  box-shadow: 0 20px 120px rgba(255, 255, 255, 0.04);
  overflow: hidden;
}

.curtain div {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 100%;
}

.curtain h2 {
  font-size: 18px;
  font-weight: 300;
  max-width: 60%;
  margin: auto;
  padding: 60px;
  color: rgba(255, 255, 255, 0.9);
  line-height: 1.5;
  font-family: "Inconsolata", monospace;
  text-shadow: 0 0 12px rgba(255, 255, 255, 0.07);
}

.curtain h3 {
  font-size: 18px;
  font-weight: 300;
  max-width: 50%;
  margin: auto;
  padding: 30px;
  color: rgba(255, 255, 255, 0.9);
  line-height: 1.5;
  font-style: italic;
  font-family: "Inconsolata", monospace;
  text-shadow: 0 0 12px rgba(255, 255, 255, 0.07);
}

.curtain i {
  margin-left: 10px;
}

.curtain button {
  cursor: pointer;
  letter-spacing: 3px;
  transition: all 0.3s ease;
}

.curtain button:hover {
  transform: translateY(2px);
  filter: blur(1.5px);
  color: rgb(222, 222, 222);
  letter-spacing: 5px;
}

.curtain button:active {
  transition-duration: 0.01s;
  transform: translateY(-1px);
  filter: blur(0px);
}

@media (max-width: 1650px) {
  .title {
    width: 460px;
  }

  .title-screen h5 {
    font-size: 14px;
  }

  .title-des {
    font-size: 14px;
  }

  .start-p {
    font-size: 14px;
    margin-top: 100px;
  }

  .curtain {
    width: 72vw;
    min-height: 65vh;
  }

  .curtain h2 {
    font-size: 14px;
    width: 560px;
  }

  .curtain h3 {
    font-size: 14px;
  }

  .curtain button {
    font-size: 14px;
  }
}

@keyframes pulseStar {
  0% {
    text-shadow: 0 0 5px rgba(0, 255, 255, 0.2),
      0 0 10px rgba(255, 255, 255, 0.1);
    opacity: 0.8;
    transform: scale(1);
  }
  25% {
    text-shadow: 0 0 12px rgba(0, 255, 255, 0.4),
      0 0 30px rgba(255, 255, 255, 0.2);
    opacity: 1;
    transform: scale(1.01);
  }
  50% {
    text-shadow: 0 0 18px rgba(0, 255, 255, 0.5),
      0 0 40px rgba(255, 255, 255, 0.3);
    opacity: 0.9;
    transform: scale(1.01);
  }
  75% {
    text-shadow: 0 0 10px rgba(0, 255, 255, 0.4),
      0 0 20px rgba(255, 255, 255, 0.2);
    opacity: 0.85;
    transform: scale(1.015);
  }
  100% {
    text-shadow: 0 0 5px rgba(0, 255, 255, 0.2),
      0 0 10px rgba(255, 255, 255, 0.1);
    opacity: 0.8;
    transform: scale(1);
  }
}

#light {
  background: radial-gradient(
    30% 60%,
    circle contain,
    hsl(0, 0%, 40%) 0%,
    hsla(0, 94%, 52%, 0) 100%
  );
  height: 100%;
  left: 0;
  position: absolute;
  top: 0;
  width: 100%;
}

#ground {
  background: linear-gradient(#000000, rgb(16, 21, 41));
  bottom: 0;
  height: 20%;
  left: 0;
  position: absolute;
  width: 100%;
}

#moon {
  background: linear-gradient(rgb(255, 255, 255), rgb(162, 162, 174));
  border-radius: 100%;
  box-shadow: 0 0 150px hsla(0, 0%, 100%, 0.3);
  bottom: 20%;
  height: 120px;
  left: 31.5%;
  margin: -100px 0 0 -100px;
  position: absolute;
  width: 120px;
}

#house {
  background: #000;
  bottom: 20%;
  height: 18px;
  left: 30%;
  margin: 0 0 0 -15px;
  position: absolute;
  width: 30px;
}

#house:before {
  background: #0e2f49;
  top: -15px;
  content: "";
  display: block;
  height: 12px;
  left: 21px;
  margin: 0 0 0 0;
  position: absolute;
  width: 6px;
  z-index: 2;
}

#house:after {
  border-bottom: 15px solid #000;
  border-right: 20px solid transparent;
  border-left: 20px solid transparent;
  top: -15px;
  content: "";
  display: block;
  height: 0;
  left: 50%;
  margin: 0 0 0 -20px;
  position: absolute;
  width: 0;
}

.robot-icon-div {
  position: absolute;
  cursor: pointer;
  bottom: 5%;
  right: 5%;
  display: flex;
  justify-content: space-around;
  align-items: center;
  z-index: 10;
  gap: 30px;
}

.bi-stars {
  font-size: 25px;
  transition: 0.25s all ease;
}

.bi-stars:hover {
  opacity: 0.7;
  filter: blur(1px);
  transform: translateY(1px);
}

.bi-stars:active {
  transform: translateY(2.5px);
  transition-duration: 0.02s;
}

#bi-robot-text {
  font-size: 15px;
  opacity: 0;
  font-weight: 200;
  color: rgb(201, 201, 201);
}

@media (max-width: 1650px) {
  .bi-stars {
    font-size: 20px;
  }

  #bi-robot-text {
    font-size: 14px;
  }
}

#bigBangCanvas {
  position: absolute;
}

#glowCanvas {
  position: absolute;
}

#intro-bg {
  position: absolute;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  pointer-events: none;
  z-index: 5000;
}

.stage-intro {
  z-index: 1000;
  background: radial-gradient(ellipse at bottom, #1e244964 0%, #000 100%);
  backdrop-filter: blur(30px);
  width: 90vw;
  vertical-align: bottom;
  height: auto;
  min-height: 80vh;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  display: none;
  opacity: 0;
  color: #c8d4f8;
  text-align: center;
  padding: 60px;
  border-radius: 12px;
}

.stage-intro div {
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
  max-width: 80%;
}

.intro-header {
  font-family: "Inconsolata", monospace;
  font-size: 0.8rem;
  letter-spacing: 0.3em;
  opacity: 0.6;
  color: #d7986a;
  text-transform: uppercase;
}

.intro-title {
  font-family: "Space Grotesk", sans-serif;
  font-weight: 300;
  font-size: 3.2rem;
  margin: 15px auto 50px;
  letter-spacing: 0.2em;
  opacity: 0;
  color: #f9ece8;
  text-shadow: 0 0 8px rgba(130, 160, 255, 0.4);
  white-space: nowrap;
  overflow: hidden;
}

.intro-des {
  font-family: "IBM Plex Mono", monospace;
  font-size: 0.9rem;
  opacity: 0.8;
  font-weight: 200;
  text-align: center;
  color: #fbfbfb;
  margin-bottom: 40px;
  letter-spacing: 0.06em;
}

.intro-time {
  font-family: "Inconsolata", monospace;
  font-size: 0.8rem;
  padding: 11px 30px;
  background: linear-gradient(90deg, rgba(0, 0, 0, 0.8), rgba(14, 16, 23, 0.8));
  font-weight: 400;
  font-size: 14px;
  color: #dce9ff;
  display: inline-block;
  letter-spacing: 4px;
}

@media (max-width: 1650px) {
  .stage-intro {
    width: 75%;
    height: 75vh;
  }

  .intro-title {
    font-size: 40px;
  }

  .intro-des {
    font-size: 12px;
  }

  .singularity-text {
    font-size: 14px;
  }
}

.orion-box {
  width: 500px;
  flex-direction: row;
  gap: 40px;
  position: absolute;
  background: radial-gradient(
    circle at center,
    rgba(25, 69, 189, 0.1),
    rgba(10, 10, 10, 0.132)
  );
  backdrop-filter: blur(12px);
  border-radius: 10px;
  padding: 40px;
  left: 50%;
  bottom: 8.5%;
  opacity: 0;
  z-index: 500;
  display: none;
  transform: translateX(-50%) translateY(10px);
  box-shadow: 0 20px 50px rgba(255, 255, 255, 0.01);
  border: 1px solid rgba(255, 255, 255, 0.03);
  transition: all 0.5s ease;
}

.orion-box-container {
  margin-top: 50px;
  color: white;
  font-family: "Inconsolata", monospace;
  text-align: left;
}

.orion-box img {
  width: 550px;
  position: absolute;
  right: 70%;
  bottom: -10%;
  opacity: 0.9;
  border-radius: 20px;
  filter: drop-shadow(0 5px 25px rgba(255, 255, 255, 0.1));
  transition: all 0.6s ease;
}

.orion-box-container h2 {
  margin-bottom: 25px;
  font-size: 20px;
  font-weight: 300;
  letter-spacing: 1px;
  text-shadow: 0 10px 20px rgba(241, 198, 162, 0.5);
  color: white;
}

.orion-box-container p {
  font-size: 14px;
  line-height: 1.6;
  opacity: 0.95;
  color: #ffffff;
  font-weight: 300;
  letter-spacing: 0.2px;
}

.orion-box-container button {
  padding: 7px 33px;
  border-radius: 2px;
  margin-top: 35px;
  cursor: pointer;
  /* background-color: rgb(255, 255, 255); */
  font-size: 15.5px;
  font-weight: 300;
  transition: all 0.2s ease;
  box-shadow: 0 5px 15px rgba(255, 255, 255, 0.03);
  background-color: #ffffff;
  border: 0.5px solid rgba(255, 255, 255, 0.1);
  color: rgb(0, 0, 0);
  box-shadow: 0 12px 30px rgba(255, 255, 255, 0.15);
}

.orion-box-container button:hover {
  border: 0.5px solid rgba(255, 255, 255, 0.1);
  box-shadow: 0 12px 30px rgba(255, 255, 255, 0);
  letter-spacing: 2px;
}

.orion-box-container button:active {
  color: rgb(255, 255, 255);
  transition-duration: 0.01s;
}

.orion-box-container .bi-dash:hover {
  color: grey;
}

.orion-box-container div {
  display: none;
  opacity: 0;
  align-items: center;
  background: radial-gradient(
    circle at center,
    rgba(255, 255, 255, 0.06),
    rgba(0, 0, 0, 0.5)
  );
  padding: 12px 16px;
  border-radius: 12px;
  margin-top: 40px;
  border: 1px solid rgba(255, 255, 255, 0.1);
  backdrop-filter: blur(20px);
  transition: all 0.4s ease;
}

.orion-box-container div input {
  flex: 1;
  padding: 0.9em;
  background-color: rgba(255, 255, 255, 0.02);
  border: none;
  color: white;
  outline: none;
  font-family: inherit;
  font-size: 16px;
  border-radius: 8px;
  transition: background-color 0.3s ease;
}

.orion-box-container div input:focus {
  background-color: rgba(255, 255, 255, 0.05);
}

.orion-box-container div i {
  font-size: 24px;
  cursor: pointer;
  padding: 10px;
  color: white;
  transition: transform 0.2s ease, color 0.3s ease;
}

.orion-box-container div i:hover {
  transform: scale(1.1);
  color: #cccccc;
}
.singularity {
  width: 20px;
  height: 20px;
  opacity: 0;
  border-radius: 100%;
  background-color: rgba(255, 255, 255, 0);
  border: 0.5px solid rgba(255, 255, 255, 0.04);
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
  box-shadow: 0 0 20px 4px rgba(255, 255, 255, 0.3),
    0 0 60px 20px rgba(255, 255, 255, 0.1);
  cursor: pointer;
  transition-duration: 0.1s;
}

.singularity:active {
  transform: translateX(1px) translateY(1px);
}

@keyframes pulse-before-bang {
  0% {
    transform: translate(-50%, -50%) scale(1);
    background-color: rgba(255, 255, 255, 0);
    box-shadow: 0 0 20px 8px rgba(255, 255, 255, 0.52),
      0 0 60px 20px rgba(255, 255, 255, 0.05);
    opacity: 1;
  }
  50% {
    transform: translate(-50%, -50%) scale(1.05);
    background-color: rgb(0, 0, 0);
    box-shadow: 0 0 40px 12px rgba(4, 43, 98, 0.351),
      0 0 60px 30px rgba(17, 30, 81, 0.5);
    opacity: 0.9;
  }
  100% {
    transform: translate(-50%, -50%) scale(1);
    background-color: rgba(255, 255, 255, 0);
    box-shadow: 0 0 20px 8px rgba(255, 255, 255, 0.52),
      0 0 60px 20px rgba(255, 255, 255, 0.05);
    opacity: 1;
  }
}

.pulse-before-bang {
  animation: pulse-before-bang 2s ease-in-out infinite;
}

.singularity-text {
  position: absolute;
  font-size: 15px;
  width: 500px;
  font-weight: 200;
  text-align: center;
  color: rgb(255, 255, 255);
  left: 50%;
  letter-spacing: 1x;
  top: 80%;
  transform: translateX(-50%);
}

@media (max-width: 1650px) {
  .singularity {
    width: 14px;
    height: 14px;
  }

  .singularity-text {
    font-size: 14px;
  }

  .orion-box {
    width: 470px;
    padding: 30px;
  }

  .orion-box-container h2 {
    font-size: 15px;
  }

  .orion-box-container p {
    font-size: 12.5px;
  }

  .orion-box-container button {
    font-size: 14px;
  }

  .orion-box img {
    width: 500px;
  }
}

/* .bigbangflash {
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  right: 0;
  opacity: 0;
  z-index: 4;
  background: radial-gradient(
    circle at center,
    rgba(255, 255, 255, 0.323),
    rgba(0, 0, 0, 0.7)
  );
} */

.bigbang {
  position: absolute;
  -webkit-transform: translateZ(0);
  -moz-transform: translateZ(0);
  -ms-transform: translateZ(0);
  -o-transform: translateZ(0);
  box-shadow: 0px 0px 80px 2px rgba(95, 95, 95, 0.43);
  transform: translateZ(0);
  background-color: #ffffff;
  width: 12px;
  height: 9px;
  border-radius: 50%;
}

.zoom-dot {
  position: absolute;
  -webkit-transform: translateZ(0);
  -moz-transform: translateZ(0);
  -ms-transform: translateZ(0);
  -o-transform: translateZ(0);
  box-shadow: 0px 0px 80px 2px rgba(95, 95, 95, 0.43);
  transform: translateZ(0);
  background-color: #ffffff;
  opacity: 0;
  width: 9px;
  height: 6px;
  border-radius: 50%;
  position: absolute;
  left: 39%;
  top: 53%;
}

.ai-window {
  position: absolute;
  width: 65vw;
  min-height: 70vh;
  border: 1px solid rgba(128, 128, 128, 0.15);
  background-color: #0000004b;
  backdrop-filter: blur(30px);
  display: none;
  opacity: 0;
  top: 50%;
  left: 50%;
  font-size: 15.5px;
  font-weight: 300;
  overflow: hidden;
  border-radius: 10px;
  transform: translateX(-50%) translateY(-50%);
  z-index: 66600;
}

.ai-window .bi-x {
  position: absolute;
  top: 10%;
  cursor: pointer;
  right: 8%;
  transition: 0.2s ease;
  font-size: 28px;
}

.ai-window .bi-x:hover {
  color: rgb(170, 170, 170);
  transform: translateY(1px);
}

.ai-container {
  max-width: 600px;
  height: 30px;
  font-weight: 300;
  background-color: rgba(255, 255, 255, 0);
  position: absolute;
  top: 50%;
  left: 50%;
  display: flex;
  align-items: center;
  transform: translateX(-50%) translateY(-50%);
}

#userQuestion {
  font-size: 17px;
  transition: 0.2s ease;
  outline: none;
  border: none;
  width: 300px;
  display: block;
  opacity: 1;
  border-radius: 2px;
  height: 50px;
  font-weight: 300;
  padding: 30px;
  color: rgb(239, 239, 239);
}

.ai-send {
  margin-left: 15px;
  cursor: pointer;
  transition: 0.2s ease;
}

.ai-send:hover {
  color: rgb(172, 165, 165);
}

.question-bubble {
  position: absolute;
  right: 18%;
  top: 21%;
  max-width: 350px;
  padding: 7px 23px;
  font-weight: 300;
  display: none;
  opacity: 0;
  background-color: rgb(10, 10, 10);
  border-radius: 5px;
}

.ai-window hr {
  position: absolute;
  left: 25%;
  top: 32%;
  display: none;
  opacity: 0;
  width: 40px;
  border: 0.5px solid rgba(255, 255, 255, 0.987);
}

.answer-bubble {
  position: absolute;
  display: none;
  opacity: 0;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
  max-width: 75%;
  font-weight: 300;
  letter-spacing: 0.1px;
  line-height: 1.5;
}

.ai-refresh {
  position: absolute;
  bottom: 10%;
  cursor: pointer;
  left: 50%;
  transform: translateX(-50%);
  transition: 0.2s ease;
  font-size: 14px;
}

.ai-refresh:hover {
  opacity: 0.7;
}

.ai-refresh:active {
  transition-duration: 0.01;
  transform: translateX(-50%) translateY(3px);
}
@media (max-width: 1650px) {
  .ai-window {
    width: 900px;
  }

  .ai-window .bi-x {
    font-size: 24px;
  }

  #userQuestion {
    font-size: 14px;
  }

  .ai-refresh {
    font-size: 12px;
  }

  .question-bubble {
    font-size: 12px;
  }
  .answer-bubble {
    font-size: 12px;
  }
}
#c {
  position: absolute;
  top: 0;
  z-index: -5;
  opacity: 0;
  left: 0;
  cursor: pointer;
}

.dev-button {
  width: 500px;
  color: white;
  z-index: 50;
  cursor: pointer;
}

#star-canvas {
  display: block;
}

.star-timer {
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
  border-radius: 50px;
  top: 20%;
  display: none;
  opacity: 0;
  max-width: 400px;
  overflow: hidden;
}

.star-outline {
  height: 2px;
  width: 400px;
  border-radius: 50px;
  background-color: rgb(45, 45, 45);
  border: none;
}

.star-progress {
  background-color: white;
  border-radius: 50px;
  border: none;
  width: 0px;
  height: 2px;
}

.star-section {
  width: 100vw;
  height: 100vh;
  z-index: -10;
  opacity: 0;
  display: none;
}

/* 
#fusion-canvas {
  -webkit-touch-callout: none;
  -webkit-user-select: none;
  user-select: none;
  position: absolute;
  top: -200px;
  left: -50px;
  z-index: -20;
} */

/* .star-bg {
  width: 100vw;
  height: 100vh;
  position: absolute;
  top: 0;
  left: 0;
  z-index: 5;
  opacity: 0;
  display: none;
} */

.star {
  position: absolute;
  top: 50%;
  cursor: pointer;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 400px;
  height: 400px;
  display: none;
  opacity: 0;
  border-radius: 50%;
  background: radial-gradient(circle, #ffffff 0%, #edeae6 30%, #eff4f7 60%);
  z-index: 500;
  box-shadow: 0 0 60px 20px rgba(255, 200, 120, 0.3),
    0 0 120px 40px rgba(255, 100, 0, 0.2),
    0 0 300px 100px rgba(255, 255, 255, 0.1);
  animation: fusion-pulse 2.5s infinite ease-in-out;
  transition: 0.2s all ease;
  filter: blur(8px);
  transform-origin: center center;
}

.star:hover {
  filter: blur(0px);
}

@keyframes fusion-pulse {
  0% {
    transform: translate(-50%, -50%) scale(1);
    box-shadow: 0 0 60px 20px rgba(255, 200, 120, 0.3),
      0 0 120px 40px rgba(255, 100, 0, 0.2),
      0 0 300px 100px rgba(255, 255, 255, 0.1);
    opacity: 0.95;
  }

  50% {
    transform: translate(-50%, -50%) scale(1.02);
    box-shadow: 0 0 80px 30px rgba(255, 220, 160, 0.35),
      0 0 160px 60px rgba(255, 120, 20, 0.25),
      0 0 360px 120px rgba(255, 255, 255, 0.15);
    opacity: 1;
  }

  100% {
    transform: translate(-50%, -50%) scale(1);
    box-shadow: 0 0 60px 20px rgba(255, 200, 120, 0.3),
      0 0 120px 40px rgba(255, 100, 0, 0.2),
      0 0 300px 100px rgba(255, 255, 255, 0.1);
    opacity: 0.95;
  }
}

.star-arrow {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  left: 50%;
  width: 400px;
  height: 0px;
  display: none;
  opacity: 0;
  border: 0.5px solid white;
}

.star-info {
  z-index: 3;
  background: none;
  backdrop-filter: blur(40px);
  position: absolute;
  top: 45%;
  left: 75%;
  transform: translateX(-50%) translateY(-50%);
  border-radius: 10px;
  color: #ffffff;
  text-align: center;
  display: none;
  opacity: 0;
  overflow: hidden;
}

.star-info h3 {
  font-size: 55px;
  font-weight: 300;
  color: rgb(255, 227, 198);
  letter-spacing: 12px;
  text-shadow: 0 10px 20px rgba(241, 198, 162, 0.2);
}

.star-info h4 {
  font-size: 15px;
  font-weight: 300;
  margin-top: 80px;
  color: #000000;
  letter-spacing: 5px;
  margin-bottom: 5px;
}

.star-des {
  font-size: 15px;
  font-weight: 300;
  width: 500px;
  margin: 40px auto 30px;
  letter-spacing: 1.5px;
}

.star-stat-div {
  gap: 10px;
}

.star-stat {
  width: 300px;
  margin: auto;
  display: flex;
  justify-content: center;
  flex-direction: row;
  align-items: center;
  text-align: center;
  color: white;
  margin-top: 15px;
  font-family: "Inconsolata", monospace;
}

.star-stat i {
  font-size: 24px;
  margin-bottom: 8px;
  margin-right: 5px;
  color: rgba(255, 255, 255, 0.8);
}

.star-stat h5 {
  font-size: 14px;
  margin-right: 30px;
  letter-spacing: 1px;
}

.star-stat p {
  font-size: 13px;
  margin-top: 6px;
  color: rgba(255, 255, 255, 0.75);
}

.star-next {
  position: absolute;
  bottom: 10%;
  cursor: pointer;
  left: 50%;
  transform: translateX(-50%);
  transition: 0.25s ease;
  font-size: 15px;
  display: none;
  opacity: 0;
  font-weight: 300;
  letter-spacing: 2px;
}

.star-next i {
  margin-left: 15px;
}

.star-next:hover {
  color: rgb(205, 205, 205);
  transform: translateX(-50%) translateY(-0.5px);
}

.star-next:active {
  transition-duration: 0.01s;
  transform: translateX(-50%) translateY(3px);
}

@media (max-width: 1650px) {
  .star {
    width: 260px;
    height: 260px;
  }

  .star-arrow {
    width: 250px;
  }

  .star-info {
    left: 80%;
  }

  .star-info h3 {
    font-size: 45px;
    font-weight: 300;
    color: rgb(255, 227, 198);
    letter-spacing: 12px;
    text-shadow: 0 10px 20px rgba(241, 198, 162, 0.2);
  }

  .star-des {
    font-size: 13px;
    font-weight: 300;
    width: 400px;
    margin: 40px auto 30px;
    letter-spacing: 1.5px;
  }

  .star-stat-div {
    gap: 7px;
  }

  .star-stat {
    margin-top: 14px;
  }

  .star-stat i {
    font-size: 15px;
    margin-bottom: 8px;
    margin-right: 5px;
    color: rgba(255, 255, 255, 0.8);
  }

  .star-stat h5 {
    font-size: 13px;
    margin-right: 30px;
    letter-spacing: 1px;
  }

  .star-stat p {
    font-size: 13px;
    margin-top: 6px;
    color: rgba(255, 255, 255, 0.75);
  }

  .star-next {
    position: absolute;
    bottom: 10%;
    cursor: pointer;
    left: 50%;
    transform: translateX(-50%);
    transition: 0.25s ease;
    font-size: 13px;
    display: none;
    opacity: 0;
    font-weight: 300;
    letter-spacing: 2px;
  }
}

.starry-bg {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  display: none;
  opacity: 0;
  z-index: -1000;
  background: radial-gradient(ellipse at bottom, #0f1224 0%, #000 100%);
  background-repeat: repeat;
  overflow: hidden;
}
.starry-bg::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 200%;
  height: 200%;
  background: url("https://www.transparenttextures.com/patterns/stardust.png")
    repeat;
  animation: moveStars 450s linear infinite;
  opacity: 0.5;
  filter: blur(10px);
  z-index: -1;
}

@keyframes moveStars {
  from {
    transform: translate(0, 0);
    scale: 1;
  }
  to {
    transform: translate(-30%, -40%);
    scale: 10.5;
  }
}

.solar-controls {
  position: absolute;
  left: 15%;
  top: 20%;
  max-width: 400px;
  height: 300px;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 50px;
}

.zoom-button {
  font-size: 18px;
  z-index: 500;
  cursor: pointer;
  padding: 7px 13px;
  border-radius: 3px;
  position: absolute;
  color: white;
  transition: all 0.3s ease;
  display: none;
  opacity: 0;
}

.zoom-button:hover {
  opacity: 0.5;
  transform: translateY(2px);
  filter: blur(2px);
}

.zoom-button:active {
  transform: translateY(-2px);
  transition-duration: 0.01s;
  filter: blur(0px);
}

.sol-slider-wrapper {
  width: 250px;
  margin-top: 60px;
  transition-duration: 0.4s;
}

.sol-slider-wrapper:active {
  opacity: 0.8;
  transform: translateY(0.5px);
}

.sol-slider {
  -webkit-appearance: none;
  width: 100%;
  height: 2px;
  background: rgba(255, 255, 255, 0.112);
  border-radius: 500px;
  outline: none;
  cursor: pointer;
}

.sol-slider::-webkit-slider-thumb {
  appearance: none;
  width: 10px;
  height: 9.5px;
  background-color: rgb(255, 255, 255);
  border-radius: 50%;
  box-shadow: 0 0 10px 2px rgba(255, 107, 0, 0.1),
    0 0 22px 11px rgba(220, 214, 188, 0.05);
  transition: all 0.25s ease;
}

.sol-slider::-webkit-slider-thumb:hover {
  transform: scale(1.2);
}
.sol-slider::-webkit-slider-thumb:active {
  opacity: 0.5;
}

/* ---- particles.js container ---- */

/* #particles-js {
  position: absolute;
  width: 100%;
  height: 100%;
}

.pause-animations * {
  animation: none !important;
  transition: none !important;
} */

.planet-card {
  z-index: 1000100;
  background-color: #0000002c;
  backdrop-filter: blur(40px);
  width: 47vw;
  height: 60vh;
  position: absolute;
  top: 50%;
  left: 50%;
  opacity: 0;
  display: none;
  transform: translateX(-50%) translateY(-50%);
  border-radius: 10px;
  border: 1px solid rgba(128, 128, 128, 0.08);
  color: #ffffff;
  text-align: center;
  overflow: hidden;
}

.planet-card .bi-x {
  position: absolute;
  top: 6%;
  cursor: pointer;
  right: 6%;
  transition: 0.15s ease;
  font-size: 28px;
}

.planet-card .bi-x:hover {
  opacity: 0.7;
  transform: translateY(-0.5px);
}

.planet-dec {
  font-size: 15px;
  font-weight: 300;
  margin-top: 150px;
  color: #7ca8e6;
  letter-spacing: 3px;
  margin-bottom: 5px;
}

.planet-name {
  font-size: 60px;
  font-weight: 300;
  letter-spacing: 17px;
  animation: pulseTitle 4s ease-in-out infinite;
  text-shadow: 0 0 12px rgba(255, 255, 255, 0.2);
}

@keyframes pulseTitle {
  0%,
  100% {
    text-shadow: 0 0 10px rgba(255, 255, 255, 0.15);
  }
  50% {
    text-shadow: 0 0 20px rgba(255, 255, 255, 0.5);
  }
}

.planet-intro {
  font-size: 15px;
  font-weight: 300;
  width: 500px;
  margin: 50px auto;
  letter-spacing: 1.5px;
}

.planet-stat-div {
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  gap: 30px;
  margin-top: 20px;
}

.planet-stat {
  display: flex;
  flex-direction: column;
  align-items: center;
  color: white;
  font-family: "Inconsolata", monospace;
  text-align: center;
  padding: 20px 24px;
  border-radius: 12px;
  transition: all 0.3s ease;
}

.planet-stat:hover {
  transform: translateY(-1px) scale(1.01);
  box-shadow: 0 0 32px rgba(255, 255, 255, 0.05),
    inset 0 0 10px rgba(255, 255, 255, 0.04);
}

.planet-stat i {
  font-size: 24px;
  margin-bottom: 22px;
  font-weight: 100;
  color: rgba(243, 243, 243, 0.932);
  text-shadow: 0 0 8px rgba(255, 255, 255, 0.1);
}

.planet-stat h3 {
  font-size: 15px;
  font-weight: 300;
  line-height: 1.6;
  letter-spacing: 2px;
  color: rgba(255, 255, 255, 0.95);
}

.planet-stat h3 span {
  font-size: 15px;
  font-weight: 500;
  color: rgba(255, 255, 255, 1);
  display: block;
  margin-top: 5px;
}

.planet-img-div {
  position: absolute;
  bottom: -20%;
  width: 600px;
  height: 700px;
  left: 50%;
  transform: translateX(-50%);
  border-radius: 50%;
  display: none;
  opacity: 0;
  z-index: 50000000;
  overflow: hidden;
}

.planet-img {
  width: 700px;
  height: 700px;
  position: absolute;
  bottom: 0%;
  left: 50%;
  background: url("/planets/earth.png") no-repeat center;
  background-size: cover;
  filter: blur(3px);
  overflow: hidden;
  transform: translateX(-50%);

  /* Apply fade mask (same for all browsers) */
  mask-image: linear-gradient(
    to bottom,
    rgba(255, 255, 255, 1),
    rgba(255, 255, 255, 0)
  );
  -webkit-mask-image: linear-gradient(
    to bottom,
    rgba(255, 255, 255, 1),
    rgba(255, 255, 255, 0)
  );
  transition: 0.3s all ease;
  cursor: pointer;
}

.planet-img:hover {
  filter: blur(0px);
  opacity: 0.9;
  transform: translateX(-50%) translateY(1px);
}

.planet-img::after {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  position: absolute;
  margin-top: 20%;
  left: 50%;
  transform: translateX(-50%);
  background-color: rgb(0, 0, 0);
  filter: blur(30px);
  border-radius: 50%;
  pointer-events: none;
  z-index: 2222828282822978278927927898972892789291;
}

.solar-container {
  position: absolute;
  left: 50%;
  top: 0;
}

.solar-next {
  position: absolute;
  bottom: 10%;
  cursor: pointer;
  left: 50%;
  transform: translateX(-50%);
  transition: 0.25s ease;
  font-size: 15px;
  display: none;
  opacity: 0;
  font-weight: 300;
  letter-spacing: 2px;
}

.solar-next i {
  margin-left: 15px;
}

.solar-next:hover {
  color: rgb(205, 205, 205);
  transform: translateX(-50%) translateY(-0.5px);
}

.solar-next:active {
  transition-duration: 0.01s;
  transform: translateX(-50%) translateY(3px);
}

.system {
  position: relative;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  -webkit-transform: scale(0.8);
  -moz-transform: scale(0.8);
  scale: 0.8;
  display: none;
  opacity: 0;
  transform-origin: bottom center;
}
.sun {
  width: 144px;
  height: 144px;
  border-radius: 72px;
  cursor: pointer;
  position: absolute;
  top: 1066.6666666667px;
  left: 50%;
  margin: -72px;
  background: radial-gradient(
    ellipse at center,
    #ffd000 1%,
    #f9b700 39%,
    #f9b700 39%,
    #e06317 100%
  );
  background-clip: padding-box;
  background-position: -28px -103px;
  background-size: 175%;
  box-shadow: 0 0 30px 1px rgba(255, 107, 0, 0.1),
    0 0 22px 11px rgba(255, 203, 0, 0.13);
  animation: rot 2s infinite linear;
}

@keyframes rot {
  from {
    transform: rotate(0deg);
  }
  to {
    transform: rotate(360deg);
  }
}

@-webkit-keyframes rot-mer {
  from {
    -webkit-transform: rotate(0deg) translateX(-5px) scaleX(1.05)
      translateY(-84px) rotate(0deg);
  }
  to {
    -webkit-transform: rotate(360deg) translateX(-5px) scaleX(1.05)
      translateY(-84px) rotate(-360deg);
  }
}
@-moz-keyframes rot-mer {
  from {
    -moz-transform: rotate(0deg) translateX(-5px) scaleX(1.05) translateY(-84px)
      rotate(0deg);
  }
  to {
    -moz-transform: rotate(360deg) translateX(-5px) scaleX(1.05)
      translateY(-84px) rotate(-360deg);
  }
}
@-keyframes rot-mer {
  from {
    transform: rotate(0deg) translateX(-5px) scaleX(1.05) translateY(-80px)
      rotate(0deg);
  }
  to {
    transform: rotate(360deg) translateX(-5px) scaleX(1.05) translateY(-80px)
      rotate(-360deg);
  }
}
.mer {
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: radial-gradient(
    circle at 40% 40%,
    #aaa,
    #555
  ); /* rocky metallic */
  position: absolute;
  top: 1066.67px;
  left: 50%;
  transform: translateX(-50%);
  cursor: pointer;
  box-shadow: 0 0 6px 1px rgba(150, 150, 150, 0.1),
    0 0 14px 4px rgba(200, 200, 200, 0.07);
  animation: rot-mer 30s infinite linear;
  z-index: 200;
}
.mer-path {
  width: 168px;
  height: 168px;
  border-radius: 50%;
  z-index: -1000;
  position: absolute;
  top: 1066.6666666667px;
  left: 50%;
  margin: -84px;
  border: solid 0.5px #202020;
}
@-webkit-keyframes rot-ven {
  from {
    -webkit-transform: rotate(0deg) translateX(-5px) scaleX(1.05)
      translateY(-90px) rotate(0deg);
  }
  to {
    -webkit-transform: rotate(360deg) translateX(-5px) scaleX(1.05)
      translateY(-90px) rotate(-360deg);
  }
}
@-moz-keyframes rot-ven {
  from {
    -moz-transform: rotate(0deg) translateX(-5px) scaleX(1.05) translateY(-90px)
      rotate(0deg);
  }
  to {
    -moz-transform: rotate(360deg) translateX(-5px) scaleX(1.05)
      translateY(-90px) rotate(-360deg);
  }
}
@-keyframes rot-ven {
  from {
    transform: rotate(0deg) translateX(-5px) scaleX(1.05) translateY(-90px)
      rotate(0deg);
  }
  to {
    transform: rotate(360deg) translateX(-5px) scaleX(1.05) translateY(-90px)
      rotate(-360deg);
  }
}
.ven {
  width: 9px;
  height: 9px;
  border-radius: 50%;
  background: radial-gradient(circle at 30% 30%, #fef6d3, #e4cfa3);
  position: absolute;
  top: 1066.67px;
  left: 50%;
  transform: translateX(-50%);
  cursor: pointer;
  box-shadow: 0 0 8px 2px rgba(255, 235, 185, 0.15),
    0 0 22px 7px rgba(255, 240, 200, 0.08);
  animation: rot-ven 40s infinite linear;
  z-index: 200;
}
.ven-path {
  width: 180px;
  height: 180px;
  border-radius: 50%;
  z-index: -1000;
  position: absolute;
  cursor: pointer;
  top: 1066.6666666667px;
  left: 50%;
  margin: -90px;
  border: solid 0.5px #202020;
}
@-webkit-keyframes rot-ear {
  from {
    -webkit-transform: rotate(0deg) translateX(-5px) scaleX(1.05)
      translateY(-102px) rotate(0deg);
  }
  to {
    -webkit-transform: rotate(360deg) translateX(-5px) scaleX(1.05)
      translateY(-102px) rotate(-360deg);
  }
}
@-moz-keyframes rot-ear {
  from {
    -moz-transform: rotate(0deg) translateX(-5px) scaleX(1.05)
      translateY(-102px) rotate(0deg);
  }
  to {
    -moz-transform: rotate(360deg) translateX(-5px) scaleX(1.05)
      translateY(-102px) rotate(-360deg);
  }
}
@-keyframes rot-ear {
  from {
    transform: rotate(0deg) translateX(-5px) scaleX(1.05) translateY(-102px)
      rotate(0deg);
  }
  to {
    transform: rotate(360deg) translateX(-5px) scaleX(1.05) translateY(-102px)
      rotate(-360deg);
  }
}
.ear {
  width: 24px;
  height: 24px;
  border-radius: 50%;
  background: radial-gradient(circle at 30% 30%, #6ec1e4, #254d89);
  position: absolute;
  top: 1066.67px;
  left: 50%;
  transform: translateX(-50%);
  cursor: pointer;
  box-shadow: 0 0 6px 2px rgba(30, 144, 255, 0.2),
    0 0 24px 8px rgba(100, 219, 255, 0.1),
    inset 0 0 6px rgba(255, 255, 255, 0.08);
  animation: rot-ear 20s infinite linear;
  z-index: 200;
}
.ear-path {
  width: 210px;
  height: 210px;
  border-radius: 50%;
  z-index: -100;
  position: absolute;
  top: 1066.6666666667px;
  left: 50%;
  margin: -102px;
  border: solid 0.5px #202020;
}
@-webkit-keyframes rot-mar {
  from {
    -webkit-transform: rotate(0deg) translateX(-5px) scaleX(1.05)
      translateY(-118px) rotate(0deg);
  }
  to {
    -webkit-transform: rotate(360deg) translateX(-5px) scaleX(1.05)
      translateY(-118px) rotate(-360deg);
  }
}
@-moz-keyframes rot-mar {
  from {
    -moz-transform: rotate(0deg) translateX(-5px) scaleX(1.05)
      translateY(-118px) rotate(0deg);
  }
  to {
    -moz-transform: rotate(360deg) translateX(-5px) scaleX(1.05)
      translateY(-118px) rotate(-360deg);
  }
}
@-keyframes rot-mar {
  from {
    transform: rotate(0deg) translateX(-5px) scaleX(1.05) translateY(-118px)
      rotate(0deg);
  }
  to {
    transform: rotate(360deg) translateX(-5px) scaleX(1.05) translateY(-118px)
      rotate(-360deg);
  }
}
.mar {
  width: 7px;
  height: 7px;
  cursor: pointer;
  border-radius: 50%;
  background: radial-gradient(
    circle at 30% 30%,
    #ff5533,
    #752a18
  ); /* fiery reddish tone */
  box-shadow: 0 0 10px 2px rgba(255, 100, 70, 0.15),
    0 0 20px 6px rgba(255, 80, 50, 0.08);
  position: absolute;
  top: 1066.67px;
  left: 50%;
  transform: translateX(-50%);
  animation: rot-mar 24s infinite linear;
  z-index: 200;
}
.mar-path {
  width: 236px;
  height: 236px;
  border-radius: 50%;
  z-index: -100;
  position: absolute;
  top: 1066.6666666667px;
  left: 50%;
  margin: -118px;
  border: solid 0.5px #202020;
}
@-webkit-keyframes rot-jup {
  from {
    -webkit-transform: rotate(0deg) translateX(-5px) scaleX(1.05)
      translateY(-228px) rotate(0deg);
  }
  to {
    -webkit-transform: rotate(360deg) translateX(-5px) scaleX(1.05)
      translateY(-228px) rotate(-360deg);
  }
}
@-moz-keyframes rot-jup {
  from {
    -moz-transform: rotate(0deg) translateX(-5px) scaleX(1.05)
      translateY(-228px) rotate(0deg);
  }
  to {
    -moz-transform: rotate(360deg) translateX(-5px) scaleX(1.05)
      translateY(-228px) rotate(-360deg);
  }
}
@-keyframes rot-jup {
  from {
    transform: rotate(0deg) translateX(-5px) scaleX(1.05) translateY(-228px)
      rotate(0deg);
  }
  to {
    transform: rotate(360deg) translateX(-5px) scaleX(1.05) translateY(-228px)
      rotate(-360deg);
  }
}
.jup {
  width: 70px;
  height: 70px;
  border-radius: 50%;
  background-color: #eaad3b;
  box-shadow: 0 0 22px 6px rgba(255, 210, 140, 0.15),
    0 0 40px 12px rgba(200, 160, 120, 0.07);
  position: absolute;
  top: 1066.6666666667px;
  cursor: pointer;
  left: 50%;
  margin: -35px;
  -webkit-animation: rot-jup 60s infinite linear;
  -moz-animation: rot-jup 60s infinite linear;
  animation: rot-jup 60s infinite linear;
  z-index: 200;
}

.jup-path {
  width: 456px;
  height: 456px;
  border-radius: 50%;
  z-index: -100;
  position: absolute;
  top: 1066.6666666667px;
  left: 50%;
  margin: -228px;
  border: solid 0.5px #202020;
}
@-webkit-keyframes rot-sat {
  from {
    -webkit-transform: rotate(0deg) translateX(-5px) scaleX(1.05)
      translateY(-362px) rotate(0deg);
  }
  to {
    -webkit-transform: rotate(360deg) translateX(-5px) scaleX(1.05)
      translateY(-362px) rotate(-360deg);
  }
}
@-moz-keyframes rot-sat {
  from {
    -moz-transform: rotate(0deg) translateX(-5px) scaleX(1.05)
      translateY(-362px) rotate(0deg);
  }
  to {
    -moz-transform: rotate(360deg) translateX(-5px) scaleX(1.05)
      translateY(-362px) rotate(-360deg);
  }
}
@-keyframes rot-sat {
  from {
    transform: rotate(0deg) translateX(-5px) scaleX(1.05) translateY(-362px)
      rotate(0deg);
  }
  to {
    transform: rotate(360deg) translateX(-5px) scaleX(1.05) translateY(-362px);
  }
}
.sat {
  width: 58px;
  height: 58px;
  border-radius: 50%;
  background-color: #d6cd93;
  position: absolute;

  box-shadow: 0 0 20px 4px rgba(214, 205, 147, 0.3),
    0 0 40px 10px rgba(214, 205, 147, 0.1),
    inset 0 0 6px rgba(255, 255, 200, 0.05);
  top: 1066.6666666667px;
  left: 50%;
  cursor: pointer;
  margin: -29px;
  -webkit-animation: rot-sat 150s infinite linear;
  -moz-animation: rot-sat 150s infinite linear;
  animation: rot-sat 150s infinite linear;
  z-index: 200;
}
.sat-path {
  width: 724px;
  height: 724px;
  border-radius: 50%;
  z-index: -100;
  position: absolute;
  top: 1066.6666666667px;
  left: 50%;
  margin: -362px;
  border: solid 0.5px #202020;
}
@-webkit-keyframes rot-ura {
  from {
    -webkit-transform: rotate(0deg) translateX(-5px) scaleX(1.05)
      translateY(-648px) rotate(0deg);
  }
  to {
    -webkit-transform: rotate(360deg) translateX(-5px) scaleX(1.05)
      translateY(-648px) rotate(-360deg);
  }
}
@-moz-keyframes rot-ura {
  from {
    -moz-transform: rotate(0deg) translateX(-5px) scaleX(1.05)
      translateY(-648px) rotate(0deg);
  }
  to {
    -moz-transform: rotate(360deg) translateX(-5px) scaleX(1.05)
      translateY(-648px) rotate(-360deg);
  }
}
@-keyframes rot-ura {
  from {
    transform: rotate(0deg) translateX(-5px) scaleX(1.05) translateY(-648px)
      rotate(0deg);
  }
  to {
    transform: rotate(360deg) translateX(-5px) scaleX(1.05) translateY(-648px)
      rotate(-360deg);
  }
}
.ura {
  width: 26px;
  height: 26px;
  border-radius: 50%;
  cursor: pointer;
  background: radial-gradient(circle at 40% 40%, #d8fcff, #92e4ef);
  position: absolute;
  box-shadow: 0 0 20px 5px rgba(180, 255, 250, 0.2),
    0 0 40px 10px rgba(130, 240, 240, 0.08),
    inset 0 0 6px rgba(255, 255, 255, 0.15);
  top: 1066.67px;
  left: 50%;
  transform: translateX(-50%);
  animation: rot-ura 400s infinite linear;
  z-index: 200;
}
.ura-path {
  width: 1296px;
  height: 1296px;
  border-radius: 50%;
  z-index: -100;
  position: absolute;
  top: 1066.6666666667px;
  left: 50%;
  margin: -648px;
  border: solid 0.5px #202020;
}
@-webkit-keyframes rot-nep {
  from {
    -webkit-transform: rotate(0deg) translateX(-5px) scaleX(1.05)
      translateY(-972px) rotate(0deg);
  }
  to {
    -webkit-transform: rotate(360deg) translateX(-5px) scaleX(1.05)
      translateY(-972px) rotate(-360deg);
  }
}
@-moz-keyframes rot-nep {
  from {
    -moz-transform: rotate(0deg) translateX(-5px) scaleX(1.05)
      translateY(-972px) rotate(0deg);
  }
  to {
    -moz-transform: rotate(360deg) translateX(-5px) scaleX(1.05)
      translateY(-972px) rotate(-360deg);
  }
}
@-keyframes rot-nep {
  from {
    transform: rotate(0deg) translateX(-5px) scaleX(1.05) translateY(-972px)
      rotate(0deg);
  }
  to {
    transform: rotate(360deg) translateX(-5px) scaleX(1.05) translateY(-972px)
      rotate(-360deg);
  }
}
.nep {
  width: 24px;
  height: 24px;
  border-radius: 50%;
  background: radial-gradient(circle at 30% 30%, #6b7aff, #192173);
  position: absolute;
  top: 1066.67px;
  left: 50%;
  transform: translateX(-50%);
  box-shadow: 0 0 20px 6px rgba(80, 80, 255, 0.08),
    0 0 45px 12px rgba(100, 150, 255, 0.15),
    inset 0 0 5px rgba(255, 255, 255, 0.08);
  cursor: pointer;
  animation: rot-nep 800s infinite linear;
  z-index: 200;
}
.nep-path {
  width: 1944px;
  height: 1944px;
  border-radius: 50%;
  z-index: -100;
  position: absolute;
  top: 1066.6666666667px;
  left: 50%;
  margin: -972px;
  border: solid 0.5px #202020;
}
@-webkit-keyframes rot-plu {
  from {
    -webkit-transform: rotate(0deg) translatey(-1246px) rotate(0deg);
  }
  to {
    -webkit-transform: rotate(360deg) translatey(-1246px) rotate(-360deg);
  }
}
@-moz-keyframes rot-plu {
  from {
    -moz-transform: rotate(0deg) translatey(-1246px) rotate(0deg);
  }
  to {
    -moz-transform: rotate(360deg) translatey(-1246px) rotate(-360deg);
  }
}
@-keyframes rot-plu {
  from {
    transform: rotate(0deg) translatey(-1246px) rotate(0deg);
  }
  to {
    transform: rotate(360deg) translatey(-1246px) rotate(-360deg);
  }
}
.plu {
  width: 3px;
  height: 3px;
  border-radius: 50%;
  background-color: rgb(84, 50, 17);
  position: absolute;
  cursor: pointer;
  top: 1066.6666666667px;
  left: 50%;
  margin: -1.5px;
  -webkit-animation: rot-plu 904.65s infinite linear;
  -moz-animation: rot-plu 904.65s infinite linear;
  animation: rot-plu 904.65s infinite linear;
  z-index: 200;
}
.plu-path {
  width: 2492px;
  height: 2492px;
  border-radius: 50%;
  z-index: -100;
  position: absolute;
  top: 1066.6666666667px;
  left: 50%;
  margin: -1246px;
  border: solid 0.5px #202020;
}
@-webkit-keyframes rot-lune {
  from {
    -webkit-transform: rotate(0deg) translatey(-15px) rotate(0deg);
  }
  to {
    -webkit-transform: rotate(360deg) translatey(-16px) rotate(-360deg);
  }
}
@-moz-keyframes rot-lune {
  from {
    -webkit-transform: rotate(0deg) translatey(-15px) rotate(0deg);
  }
  to {
    -webkit-transform: rotate(360deg) translatey(-16px) rotate(-360deg);
  }
}
@-keyframes rot-lune {
  from {
    -webkit-transform: rotate(0deg) translatey(-15px) rotate(0deg);
  }
  to {
    -webkit-transform: rotate(360deg) translatey(-16px) rotate(-360deg);
  }
}
.lune {
  width: 2px;
  height: 2px;
  background-color: #fff;
  position: absolute;
  cursor: pointer;
  top: 50%;
  left: 50%;
  margin: -2.5px;
  -webkit-animation: rot-lune 0.7s infinite linear;
  -moz-animation: rot-lune 0.7s infinite linear;
  animation: rot-lune 0.7s infinite linear;
}
/* .mar {
  background-image: repeating-linear-gradient(
    to bottom,
    #fff,
    #fff 1px,
    transparent 1px,
    transparent 5px
  );
} */
@-webkit-keyframes rot-pho {
  from {
    -webkit-transform: rotate(0deg) translatey(-7px) rotate(0deg);
  }
  to {
    -webkit-transform: rotate(360deg) translatey(-7px) rotate(-360deg);
  }
}
@-moz-keyframes rot-pho {
  from {
    -moz-transform: rotate(0deg) translatey(-7px) rotate(0deg);
  }
  to {
    -moz-transform: rotate(360deg) translatey(-7px) rotate(-360deg);
  }
}
@-keyframes rot-pho {
  from {
    transform: rotate(0deg) translatey(-7px) rotate(0deg);
  }
  to {
    transform: rotate(360deg) translatey(-7px) rotate(-360deg);
  }
}
@-webkit-keyframes rot-dem {
  from {
    -webkit-transform: rotate(0deg) translatey(-9px) rotate(0deg);
  }
  to {
    -webkit-transform: rotate(360deg) translatey(-9px) rotate(-360deg);
  }
}
@-moz-keyframes rot-dem {
  from {
    -moz-transform: rotate(0deg) translatey(-9px) rotate(0deg);
  }
  to {
    -moz-transform: rotate(360deg) translatey(-9px) rotate(-360deg);
  }
}
@-keyframes rot-dem {
  from {
    transform: rotate(0deg) translatey(-9px) rotate(0deg);
  }
  to {
    transform: rotate(360deg) translatey(-9px) rotate(-360deg);
  }
}
.pho,
.dem {
  width: 1px;
  height: 1px;
  background-color: #fff;
  position: absolute;
  top: 50%;
  left: 50%;
}
.pho {
  margin: -1px;
  -webkit-animation: rot-pho 2.15s infinite linear;
  -moz-animation: rot-pho 02.15s infinite linear;
  animation: rot-pho 2.15s infinite linear;
}
.dem {
  margin: -1px;
  -webkit-animation: rot-dem 3s infinite linear;
  -moz-animation: rot-dem 3s infinite linear;
  animation: rot-dem 3s infinite linear;
}
.jove {
  width: 2px;
  height: 2px;
  background-color: #fff;
  position: absolute;
  top: 35px;
  left: 50%;
}
@-webkit-keyframes rot-io {
  from {
    -webkit-transform: rotate(0deg) translatey(-39px) rotate(0deg);
  }
  to {
    -webkit-transform: rotate(360deg) translatey(-39px) rotate(-360deg);
  }
}
@-moz-keyframes rot-io {
  from {
    -moz-transform: rotate(0deg) translatey(-39px) rotate(0deg);
  }
  to {
    -moz-transform: rotate(360deg) translatey(-39px) rotate(-360deg);
  }
}
@-keyframes rot-io {
  from {
    transform: rotate(0deg) translatey(-39px) rotate(0deg);
  }
  to {
    transform: rotate(360deg) translatey(-39px) rotate(-360deg);
  }
}
@-webkit-keyframes rot-eur {
  from {
    -webkit-transform: rotate(0deg) translatey(-41px) rotate(0deg);
  }
  to {
    -webkit-transform: rotate(360deg) translatey(-41px) rotate(-360deg);
  }
}
@-moz-keyframes rot-eur {
  from {
    -moz-transform: rotate(0deg) translatey(-41px) rotate(0deg);
  }
  to {
    -moz-transform: rotate(360deg) translatey(-41px) rotate(-360deg);
  }
}
@-keyframes rot-eur {
  from {
    transform: rotate(0deg) translatey(-41px) rotate(0deg);
  }
  to {
    transform: rotate(360deg) translatey(-41px) rotate(-360deg);
  }
}
@-webkit-keyframes rot-gan {
  from {
    -webkit-transform: rotate(0deg) translatey(-45px) rotate(0deg);
  }
  to {
    -webkit-transform: rotate(360deg) translatey(-45px) rotate(-360deg);
  }
}
@-moz-keyframes rot-gan {
  from {
    -moz-transform: rotate(0deg) translatey(-45px) rotate(0deg);
  }
  to {
    -moz-transform: rotate(360deg) translatey(-45px) rotate(-360deg);
  }
}
@-keyframes rot-gan {
  from {
    transform: rotate(0deg) translatey(-45px) rotate(0deg);
  }
  to {
    transform: rotate(360deg) translatey(-45px) rotate(-360deg);
  }
}
@-webkit-keyframes rot-cal {
  from {
    -webkit-transform: rotate(0deg) translatey(-53px) rotate(0deg);
  }
  to {
    -webkit-transform: rotate(360deg) translatey(-53px) rotate(-360deg);
  }
}
@-moz-keyframes rot-cal {
  from {
    -moz-transform: rotate(0deg) translatey(-53px) rotate(0deg);
  }
  to {
    -moz-transform: rotate(360deg) translatey(-53px) rotate(-360deg);
  }
}
@-keyframes rot-cal {
  from {
    transform: rotate(0deg) translatey(-53px) rotate(0deg);
  }
  to {
    transform: rotate(360deg) translatey(-53px) rotate(-360deg);
  }
}
.io {
  -webkit-animation: rot-io 2s infinite linear;
  -moz-animation: rot-io 2s infinite linear;
  animation: rot-io 2s infinite linear;
}
.eur {
  -webkit-animation: rot-eur 1.35s infinite linear;
  -moz-animation: rot-eur 1.35s infinite linear;
  animation: rot-eur 1.35s infinite linear;
}
.gan {
  -webkit-animation: rot-gan 0.7s infinite linear;
  -moz-animation: rot-gan 0.7s infinite linear;
  animation: rot-gan 0.7s infinite linear;
}
.cal {
  -webkit-animation: rot-cal 1.65s infinite linear;
  -moz-animation: rot-cal 1.65s infinite linear;
  animation: rot-cal 1.65s infinite linear;
}
.jup {
  background-image: repeating-linear-gradient(
    6deg,
    #797663 22px,
    #e1dcde 16px,
    #c3a992 30px,
    #e9ece2 30px
  );
}
.spot {
  position: absolute;
  width: 16px;
  cursor: pointer;
  height: 12px;
  border-radius: 8px / 6px;
  top: 45px;
  left: 50%;
  background-color: #bc833b;
  box-shadow: 0px 0px 5px #e1dcde;
  border: solid 1px #e1dcde;
  box-sizing: border-box;
  -moz-box-sizing: border-box;
  -webkit-box-sizing: border-box;
  z-index: 300;
}
.nep .spot {
  background-color: #29319d;
  border: 0;
  box-shadow: none;
  top: 50%;
  left: 45%;
  width: 10px;
  height: 6px;
  margin: -2px;
  border-radius: 5px / 3px;
  border-left: solid 1px #7ed6fe;
}
div[class$="-ring"] {
  border-radius: 50%;
  position: absolute;
  top: 50%;
  left: 50%;
  opacity: 0.7;
  -webkit-transform: rotatex(45deg);
  -moz-transform: rotatex(45deg);
  transform: rotatex(45deg);
}
.a-ring {
  border: solid 5px #96866f;
  width: 119px;
  height: 119px;
  margin: -64.5px;
}
.b-ring {
  border: solid 10px #554c3c;
  width: 104px;
  height: 104px;
  margin: -62px;
}
.c-ring {
  border: solid 9px #574f4a;
  width: 95px;
  height: 95px;
  margin: -56.5px;
}
.f-ring {
  border: solid 2px #908e8d;
  width: 133px;
  height: 133px;
  margin: -68.5px;
}
.e-ring {
  border: solid 7px #908e8d;
  width: 76px;
  height: 76px;
  margin: -45px;
  -webkit-transform: rotatex(0deg) rotatey(89deg) !important;
  -moz-transform: rotatex(0deg) rotatey(89deg) !important;
  transform: rotatex(0deg) rotatey(89deg) !important;
}
.plu,
.plu-path {
  top: 1354.0666666667px;
}

@media (max-width: 1650px) {
  .system {
    scale: 0.45;
  }

  .zoom-button {
    font-size: 16px;
  }

  .solar-next {
    font-size: 13px;
  }

  .planet-card {
    width: 63vw;
    height: 600px;
  }

  .planet-card .bi-x {
    font-size: 24px;
    top: 8%;
    right: 8%;
  }

  .planet-dec {
    margin-top: 120px;
    font-size: 14px;
  }

  .planet-name {
    font-size: 45px;
  }

  .planet-stat {
    padding: 0px 10px;
  }

  .planet-intro {
    font-size: 13px;
  }

  .planet-stat i {
    font-size: 19px;
    margin-bottom: 10px;
  }

  .planet-stat h3 {
    font-size: 13px;
  }

  .planet-stat h3 span {
    font-size: 13px;
  }

  .planet-img {
    width: 370px;
    height: 370px;
  }
}

.bh-section {
  display: grid;
  place-content: center;
  height: 100vh;
  position: absolute;
  top: 0;
  display: none;
  opacity: 0;
  left: 50%;
  transform: translateX(-50%);
}

b,
b::before,
b::after {
  display: block;
  border-radius: 50%;
  box-sizing: border-box;
  -webkit-transform: translateZ(0);
  will-change: transform;
}

b {
  width: 30vmin;
  height: 31vmin;
  margin: 0 auto;
  cursor: pointer;
  filter: blur(8px);
  box-shadow: 1vmin 0 4vmin 4vmin rgba(192, 64, 4, 0.713),
    inset -1.1vmin 0 3.5vmin 5vmin rgb(236, 103, 42),
    -4vmin 4vmin 35vmin 0 rgb(216, 119, 53);
  animation: bh 7s linear infinite;
  z-index: 5050505050500505055005050505050;
  transition: all 0.3s ease;
  background: transparent;
  -webkit-mask-image: none;
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
}

b:hover {
  filter: blur(4px);
}

@keyframes bh {
  0% {
    transform: rotate(0deg) scale(1);
  }
  50% {
    scale: 1.15;
  }
  100% {
    transform: rotate(-360deg) scale(1);
  }
}

b::before,
b::after {
  content: "";
  background: rgb(253, 187, 152);
  position: relative;
  top: 6vmin;
  border-radius: 50%;
}

b::before {
  width: 3vmin;
  border-radius: 50%;
  height: 3vmin;
  left: 35vmin;
  box-shadow: rgb(199, 134, 66) 0 0 2vmin 2vmin,
    rgb(107, 55, 21) 2vmin 4vmin 2vmin 0.5vmin;
}

b::after {
  width: 38vmin;
  border-radius: 50%;
  height: 38vmin;
  opacity: 0.03;
  left: -14vmin;
}

.bh-modal {
  z-index: 3;
  padding: 20px;
  backdrop-filter: blur(40px);
  position: absolute;
  top: 35%;
  right: 150%;
  width: 600px;
  border: 0.5px solid rgba(128, 128, 128, 0.153);
  border-radius: 10px;
  display: none;
  opacity: 0;
  color: #ffffff;
  text-align: center;
  overflow: hidden;
}

.bh-modal h3 {
  font-size: 45px;
  font-weight: 300;
  color: rgb(207, 212, 248);
  letter-spacing: 12px;
  text-shadow: 0 10px 20px rgba(241, 198, 162, 0.2);
}

.bh-modal h4 {
  font-size: 15px;
  font-weight: 300;
  margin-top: 80px;
  color: #75749f;
  letter-spacing: 5px;
  margin-bottom: 5px;
}

.bh-modal p {
  font-size: 15px;
  font-weight: 300;
  width: 500px;
  margin: 30px auto 60px;
  letter-spacing: 1.5px;
}

.bh-modal button {
  font-weight: 300;
  letter-spacing: 2px;
  margin-bottom: 30px;
  opacity: 0.2;
}

.bh-next {
  position: absolute;
  bottom: 10%;
  cursor: pointer;
  left: 50%;
  transform: translateX(-50%);
  transition: 0.25s ease;
  font-size: 15px;
  display: none;
  opacity: 0;
  font-weight: 300;
  letter-spacing: 2px;
  width: 300px;
}

.bh-next i {
  margin-left: 15px;
}

.bh-next:hover {
  color: rgb(205, 205, 205);
  transform: translateX(-50%) translateY(-0.5px);
}

.bh-next:active {
  transition-duration: 0.01s;
  transform: translateX(-50%) translateY(3px);
}

.bh-inside {
  position: absolute;
  display: flex;
  flex-direction: column;
  gap: 100px;
  left: 50%;
  top: 53%;
  display: none;
  opacity: 0;
  padding: 40px;
  transform: translate(-50%, -50%);
}

.bh-inside p {
  width: 680px;
  font-weight: 200;
  letter-spacing: 0.5px;
  font-size: 17px;
  text-align: center;
}

.bh-inside button {
  margin: auto;
  cursor: pointer;
  letter-spacing: 3px;
  font-size: 17px;
  font-weight: 200;
  z-index: 9999;
  transition: all 0.3s ease;
}

.bh-inside button:hover {
  transform: translateY(2px);
  filter: blur(1px);
}

.bh-inside i {
  margin-left: 10px;
}

@media (max-width: 1650px) {
  .bh-modal {
    top: 35%;
    right: 133%;
    width: 450px;
  }

  .bh-modal h4 {
    font-size: 13px;
    margin-top: 60px;
  }

  .bh-modal h3 {
    font-size: 35px;
  }

  .bh-modal p {
    font-size: 13px;
    max-width: 300px;
    margin: 30px auto 50px;
  }

  .bh-modal button {
    margin-bottom: 20px;
    font-size: 13px;
  }

  .bh-next {
    font-size: 13px;
  }

  .bh-inside p {
    font-size: 14px;
    width: 580px;
  }

  .bh-inside button {
    font-size: 14px;
  }
}

.hd-canvas {
  z-index: -1000;
  position: absolute;
  background-color: #000;
  display: none;
  opacity: 0;
  left: 50%;
  top: 50%;
  transform: translateX(-50%) translateY(-50%);
  width: 100vw;
  height: 100vh;
}

.hd-div {
  position: absolute;
  left: 0;
  top: 0;
  width: 100vw;
  display: none;
  height: 100vh;
}

.heat-line {
  position: absolute;
  left: 50%;
  z-index: 50;
  top: 50%;
  transform: translateX(-50%) translateY(-50%);
  font-size: 17px;
  font-weight: 200;
  color: white;
  letter-spacing: 1px;
  line-height: 1.75;
  display: none;
  text-align: center;
  max-width: 600px;
}

.hd-text1 {
  opacity: 0;
}
.hd-text2 {
  opacity: 0;
}
.hd-text3 {
  opacity: 0;
}
.hd-text4 {
  opacity: 0;
}

.hd-text5 {
  opacity: 0;
  flex-direction: column;
  gap: 30px;
}

.hd-text5 span {
  font-size: 14px;
  font-style: italic;
}

.restart {
  position: absolute;
  bottom: 20%;
  cursor: pointer;
  left: 50%;
  transform: translateX(-50%) translateY(-50%);
  transition: all 0.3s ease;
  font-size: 17px;
  font-weight: 300;
  text-align: center;
  letter-spacing: 2px;
  width: 200px;
  padding: 12px 0;
  color: #f0f0f0;
  filter: blur(15px);
  backdrop-filter: blur(4px);
  border-radius: 5px;
  box-shadow: 0 8px 30px rgba(255, 255, 255, 0.05);
  display: none;
  opacity: 0;
}

.restart:hover {
  transform: translateX(-50%) scale(1.05);
  box-shadow: 0 8px 20px rgba(0, 0, 0, 0.3);
  letter-spacing: 3px;
  filter: blur(1px);
}

.restart:active {
  transform: translateX(-50%) scale(0.99) translateY(1px);
  filter: blur(0px);
  color: #ffffff;
  background: rgba(255, 255, 255, 0.023);
  transition-duration: 0.001s;
  box-shadow: 0 4px 10px rgba(0, 0, 0, 0.2);
}

@media (max-width: 1650px) {
  .restart {
    font-size: 13px;
  }

  .heat-line {
    font-size: 15px;
  }
}
