* {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
}

html {
  font-size: 200%; /* doubles all rem/em based text */
}

body {
  height: 100%;
  font-family: Arial, sans-serif;
  overflow: hidden;
}

body {
  background-color: #7f7f7d;
  opacity: 0;
  cursor: default;
}


@font-face {
  font-family: "Akira";
  src: url("reenie.ttf") format("truetype");
  font-weight: normal;
  font-style: normal;
}

.container {
  height: 100%;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  color: white;
  text-shadow: 1px 1px 3px rgba(0, 0, 0, 0.7);
}

.centerimg {
  position: absolute;
  left: 31vw;
  top: 1vw;
  will-change: transform;
}

.centerimg__img {
  width: 36vw;
  height: auto;
}

.centerplanet {
  position: absolute;
  left: 33.1vw;
  top: 16vw;
}

.centerplanet__img {
  width: 30vw;
  height: auto;
}

.p1 {
  position: absolute;
  left: 5vw;
  top: 36vw;
}

.p1__img {
  width: 10vw;
  height: auto;
}

.p2 {
  position: absolute;
  left: 53vw;
  top: 13vw;
}

.p2__img {
  width: 10vw;
  height: auto;
}

.p3 {
  position: absolute;
  right: 5vw;
  top: 40vw;
}

.p3__img {
  width: 10vw;
  height: auto;
}

.leftplanet {
  position: absolute;
  left: 5vw;
  top: 9vw;
  transition: transform 0.4s ease, filter 0.4s ease;
}

.leftplanet__img {
  width: 20vw;
  height: auto;
  display: block;
}

.x {
  position: absolute;
  right: 3vw;
  top: 3vw;
  transition: transform 0.4s ease, filter 0.4s ease;
  display: block;
}

.x__img {
  width: 3vw;
  height: auto;
}

.x:hover {
  transform: scale(1.15);
  filter: brightness(1.2) contrast(1.1) saturate(1.2);
}

/* Ховер-эффект */
.leftplanet:hover {
  transform: scale(1.15);
  filter: brightness(1.2) contrast(1.1) saturate(1.2);
}

.rightplanet {
  position: absolute;
  right: 5vw;
  top: 10vw;
}

.rightplanet__img {
  width: 20vw;
  height: auto;
}

.click {
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
  font-size: 2vw;
  color: white;
  text-shadow: 1px 1px 3px rgba(0, 0, 0, 0.7);
  cursor: pointer;
  font-family: "Akira", sans-serif;
  opacity: 0;
}

.cursor-dot {
  position: fixed;
  width: 1vw;
  height: 1vw;
  background-color: white;
  border-radius: 50%;
  pointer-events: none;
  z-index: 9999;
}

.cursor-invert {
  position: fixed;
  width: 13vw;
  height: 13vw;
  border-radius: 50%;
  pointer-events: none;
  z-index: 9998;
  backdrop-filter: invert(100%);
  background-color: rgba(255, 255, 255, 0.1);
  mix-blend-mode: difference;
}

.modal {
  position: fixed;
  inset: 0;
  background: rgba(0, 0, 0, 0.6);
  display: none;
  justify-content: center;
  align-items: center;
  cursor: default;
  z-index: 10000;
}

.modal-content {
  background: #000;
  padding: 2vw;
  border-radius: 1vw;
  width: 60vw;
  max-width: 80vw;
  text-align: center;
  font-family: "Akira", sans-serif;
  cursor: default;
  color: white;
  box-shadow: 0 0 1.5vw white;
  position: relative;
  left: 19vw;
  top: 5vw;
}

.modal-content h2 {
  font-size: 2vw;
  margin-bottom: 2vw;
  color: white;
}

.modal-btn,
.modal-submit {
  display: block;
  width: 100%;
  margin: 1vw 0;
  padding: 1.5vw;
  font-weight: bold;
  font-size: 1.3vw;
  background: #7f7f7d;
  border: 0.2vw solid black;
  color: white;
  font-family: inherit;
  box-shadow: 0.4vw 0.4vw 0 black;
  transition: all 0.2s ease;
  cursor: pointer;
  text-decoration: none;
}

.modal-btn.visited {
  background: white;
  color: #000;
  box-shadow: 0.4vw 0.4vw 0 black;
}

.modal-btn:hover,
.modal-submit:hover {
  transform: translateY(-0.3vw);
  box-shadow: 0.6vw 0.6vw 0 black;
}

.modal-input {
  width: 100%;
  padding: 1.5vw;
  font-size: 1.3vw;
  margin: 1vw 0 2vw 0;
  border: 0.2vw solid black;
  border-radius: 0.6vw;
  outline: none;
  font-family: "Akira", sans-serif;

}

/* Кнопка закрытия */
.modal-close {
  position: absolute;
  top: 1vw;
  right: 1vw;
  font-size: 1.8vw;
  background: transparent;
  border: none;
  color: white;
  cursor: pointer;
  font-weight: bold;
  transition: transform 0.2s ease;
}

.modal-close:hover {
  transform: rotate(90deg);
}

#preloader {
  position: fixed;
  inset: 0;
  z-index: 999999;
  background: white;
  pointer-events: all;
  opacity: 1;
  transition: opacity 0.4s ease;
}

body {
  opacity: 0; /* скроем весь контент до загрузки */
}

@media (max-width: 768px) {
  .centerimg {
    position: absolute;
    left: 31vw;
    bottom: 1vw;
  }

  .centerimg__img {
    width: 46vw;
    height: auto;
    opacity: 0;
  }

  .centerplanet {
    position: absolute;
    left: 27.1vw;
    top: 115vw;
  }

  .centerplanet__img {
    width: 50vw;
    height: auto;
  }

  .leftplanet {
    position: absolute;
    left: 5vw;
    top: 9vw;
    transition: transform 0.4s ease, filter 0.4s ease;
  }

  .leftplanet__img {
    width: 20vw;
    height: auto;
    display: block;
  }

  .p1 {
    position: absolute;
    left: 5vw;
    top: 36vw;
  }

  .p1__img {
    width: 10vw;
    height: auto;
    opacity: 0;
  }

  .click {
    position: absolute;
    left: 51.5vw;
    top: 8vw;
    transform: translate(-50%, -50%);
    font-size: 7vw;
    color: white;
    text-shadow: 1px 1px 3px rgba(0, 0, 0, 0.7);
    cursor: pointer;
    font-family: "Akira", sans-serif;
    opacity: 1;
  }

  .p2 {
    position: absolute;
    left: 53vw;
    top: 13vw;
  }

  .p2__img {
    width: 10vw;
    height: auto;
    opacity: 0;
  }

  .p3 {
    position: absolute;
    right: 5vw;
    top: 40vw;
  }

  .p3__img {
    width: 10vw;
    height: auto;
    opacity: 0;
  }

  .leftplanet {
    position: absolute;
    left: 34vw;
    top: 9vw;
    transition: transform 0.4s ease, filter 0.4s ease;
  }

  .leftplanet__img {
    width: 38vw;
    height: auto;
    display: block;
  }

  .x {
    position: absolute;
    right: 5vw;
    top: 5vw;
    transition: transform 0.4s ease, filter 0.4s ease;
    display: block;
  }

  .x__img {
    width: 8vw;
    height: auto;
  }

  .x:hover {
    transform: scale(1.15);
    filter: brightness(1.2) contrast(1.1) saturate(1.2);
  }

  /* Ховер-эффект */
  .leftplanet:hover {
    transform: scale(1.15);
    filter: brightness(1.2) contrast(1.1) saturate(1.2);
  }

  .rightplanet {
    position: absolute;
    right: 32vw;
    top: 60vw;
  }

  .rightplanet__img {
    width: 33vw;
    height: auto;
  }

  .modal {
    position: absolute;
    inset: 0;
    background: rgba(0, 0, 0, 0.6);
    display: none;
    justify-content: center;
    align-items: center;
    cursor: default;
    z-index: 10000;
  }

  .modal-content {
    background: #000;
    padding: 2vw;
    border-radius: 1vw;
    width: 90vw;
    max-width: 90vw;
    text-align: center;
    font-family: "Akira", sans-serif;

    color: white;
    box-shadow: 0 0 1.5vw white;
    position: relative;
    top: 10vw;
    left: 5vw;
  }

  .modal-content h2 {
    font-size: 5vw;
    margin-bottom: 2vw;
    color: white;
  }

  .modal-btn,
  .modal-submit {
    display: block;
    width: 100%;
    margin: 5vw 0;
    padding: 3.5vw;
    font-weight: bold;
    font-size: 3.3vw;
    background: #7f7f7d;
    border: 0.2vw solid black;
    color: white;
    font-family: inherit;
    box-shadow: 0.4vw 0.4vw 0 black;
    transition: all 0.2s ease;
    cursor: pointer;
    text-decoration: none;
  }

  .modal-btn.visited {
    background: white;
    color: #000;
    box-shadow: 0.4vw 0.4vw 0 black;
  }

  .modal-btn:hover,
  .modal-submit:hover {
    transform: translateY(-0.3vw);
    box-shadow: 0.6vw 0.6vw 0 black;
  }

  .modal-input {
    width: 100%;
    padding: 1.5vw;
    font-size: 5.3vw;
    margin: 1vw 0 2vw 0;
    border: 0.2vw solid black;
    border-radius: 0.6vw;
    outline: none;
  }

  .modal-close {
    position: absolute;
    top: 0vw;
    right: 2vw;
    font-size: 7.8vw;
    background: transparent;
    border: none;
    color: white;
    cursor: pointer;
    font-weight: bold;
    transition: transform 0.2s ease;
  }

  .modal-close:hover {
    transform: rotate(90deg);
  }
}
#success-popup {
  position: fixed;
  top: 20px;
  right: -300px; /* start hidden */
  background-color: #4caf50;
  color: white;
  padding: 15px 25px;
  border-radius: 8px;
  font-size: 16px;
  font-weight: bold;
  box-shadow: 0 4px 10px rgba(0,0,0,0.2);
  transition: right 0.5s ease, opacity 0.5s ease;
  opacity: 0;
  z-index: 9999;
}

#success-popup.show {
  right: 20px;
  opacity: 1;
}
