/* Grundlegende Einstellungen */
html, body {
  overflow: hidden;       /* Scrollen verhindern */
  height: 100vh;          /* Viewport-Höhe */
  width: 100vw;           /* Viewport-Breite */
  margin: 0;
  padding: 0;
  box-sizing: border-box;
  user-select: none;
  font-family: 'Poppins', sans-serif;
  font-weight: 400;
  background-color: white;
}

.flexBody {
  display: flex;
  flex-direction: column;
}
* {
  margin: 0;
  padding: 0;
  box-sizing: inherit;
  user-select: none;
}

.hexagon-container {
  position: relative;
  max-width: 100vw;
  max-height: 80vh;
  overflow: visible;
  transform-origin: center center;
}

@media (min-width: 768px) {
  .hexagon-container {
    transform: scale(1.2);
  }
}

@media (min-width: 1024px) {
  .hexagon-container {
    transform: scale(1.4);
  }
}

@media (min-width: 1440px) {
  .hexagon-container {
    transform: scale(2);
  }
}

/* Startscreen Design */
#startscreenDiv {
  height: 100vh;
  width: 100vw;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: flex-start;
  padding-top: 2em;
  gap: 15vh; /* kleinerer Abstand */
  opacity: 0;
  animation: fadeIn 1.3s forwards;
}

h1 {
  font-family: 'Poppins', sans-serif;
  font-size: clamp(6vh, 14vw, 14vh); /* dynamisch skalierend */
  font-weight: 900;
  color: #16171E;
  text-align: center;
  z-index: 10;
  text-shadow: 18px 18px 0px #8B8B8F;
  opacity: 0;
  animation: fadeIn 0.2s forwards;
}

/* Hexagon Styling */
.hexagon {
  position: relative;
  width: 10em;
  height: 17.32em;
  background-color: #16171E;
  border-radius: 1em / 0.5em;
  z-index: 2;
  display: flex;
  justify-content: center;
  align-items: center;
}

.hexagon::before,
.hexagon::after {
  content: '';
  position: absolute;
  width: inherit;
  height: inherit;
  background: inherit;
  border-radius: inherit;
}

.hexagon::before {
  transform: rotate(60deg);
}

.hexagon::after {
  transform: rotate(-60deg);
}

.hexagon-shadow {
  position: absolute;
  width: 10em;
  height: 17.32em;
  background-color: #8B8B8F;
  border-radius: 1em / 0.5em;
  transform: translate(1em, 1em);
  z-index: 1;
}

.hexagon-shadow::before,
.hexagon-shadow::after {
  content: '';
  position: absolute;
  width: inherit;
  height: inherit;
  border-radius: inherit;
  background-color: #8B8B8F;
}

.hexagon-shadow::before {
  transform: rotate(60deg);
}

.hexagon-shadow::after {
  transform: rotate(-60deg);
}

/* Form Content */
.form-content {
  position: relative;
  z-index: 10;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  gap: 0.5em;
  max-width: 10em;
  min-height: 100%;
}

.form-content input {
  width: 100%;
  padding: 0.75em 0.5em;
  border: 2px solid #ffffff;
  border-radius: 10em;
  font-family: 'Poppins', sans-serif;
  font-size: 0.7em;
  font-weight: 400;
  line-height: 1;
  text-align: center;
  background-color: #16171E;
  outline: none;
  color: white;
  height: 2.3148vh;
  box-sizing: border-box;
}

.form-content input::placeholder {
  font-family: 'Poppins', sans-serif;
  font-weight: 300;
  color: white;
  opacity: 80%;
  text-align: center;
  padding-left: 5px;
}

.form-content input:focus::placeholder {
  color: transparent;
}

.form-content input:hover {
  border-color: #ff004c;
}

.form-content input:focus {
  border-color: #ff004c;
  color: rgb(255, 255, 255);
}

.form-content button {
  width: 100%;
  height: 2.3148vh;
  padding: 0.5em;
  background-color: #ffffff;
  color: #1E1E1E;
  border: none;
  border-radius: 10em;
  font-family: 'Poppins', sans-serif;
  font-size: 0.7em;
  font-weight: 700;
  cursor: pointer;
  transition: background-color 0.3s ease;
  box-sizing: border-box;
  display: flex;
  justify-content: center;
  align-items: center;
}

.form-content button:hover {
  background-color: #ff004c;
  color: white;
}

.form-content button:active {
  transform: translateY(0.1852vh);
}

/* Inner Hexagon */
#innerHexagon {
  background-color: white;
  width: 3em;
  height: 5.2em;
  margin-bottom: 2.7vh;
  border-radius: 0.6em / 0.3em;
}

/* Animation */
@keyframes fadeIn {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}

/* Lobby Screen Design */
#lobbyContainer {
  width: 100vw;
  height: 100vh;
  display: flex;
  flex-direction: column;
  overflow: hidden; /* sicherheitshalber */
}

.lobbyDiv {
  flex: 1;
  width: 100%;
  overflow: hidden; /* falls nötig */
}

#lobbyDiv1 {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
}

#lobbyHeader {
  font-size: 12vh;
  margin: 0;
  max-width: 90vw;
  text-align: center;
}

#lobbyPlayerCounter {
  margin: 0;
  font-size: 3vh;
}

#lobbyDiv2 {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 3vh;
  flex-wrap: nowrap;
  overflow: hidden;
}

.innerLobbyDiv2 {
  width: 20vh;
  height: 13vh;
  border-radius: 1vh;
  background-color: aliceblue;
  display: flex;
  justify-content: center;
  align-items: flex-end;
  overflow: hidden;
}

.innerLobbyDiv2Name {
  margin-bottom: 1vh;
  font-size: 3vh;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

#lobbyDiv3 {
  display: flex;
  justify-content: center;
  align-items: center;
}

#lobbyReadyButton {
  height: 5vh;
  width: 10vh;
  border: none;
  border-radius: 0.6vh;
  cursor: pointer;
}

#lobbyReadyButton:hover {
  background-color: rgb(182, 182, 182);
}

#lobbyDiv4 {
  font-family: 'Courier New', Courier, monospace;
  overflow-wrap: break-word;
}
