body {
  display: flex;
  flex-direction: column; /* Stack elements vertically */
  justify-content: center; /* Center content vertically */
  align-items: center; /* Center content horizontally */
  height: 100vh; /* Full viewport height */
  margin: 0;
  font-family: Arial, sans-serif;
  background: #282c34;
  color: #fff;
  overflow: hidden;
}

#container {
  flex: 1; /* Allow this container to take available space */
  display: flex;
  justify-content: center; /* Center the generator */
  align-items: center; /* Center the generator vertically */
}

#generator {
  text-align: center;
  padding: 3rem; /* Increased padding */
  background: #3a3f47;
  border-radius: 12px; /* Slightly increased border radius */
  width: 400px; /* Increased width */
  box-shadow: 0px 6px 16px rgba(0, 0, 0, 0.3); /* Enhanced shadow for better depth */
  animation: fadeInScale 0.5s ease forwards;
}

h1 {
  font-size: 1.8em; /* Increased font size */
  margin-bottom: 1rem;
}

.idea {
  margin: 1rem 0;
  font-size: 1.2em; /* Increased font size */
  line-height: 1.5;
  transition: transform 0.3s ease, opacity 0.3s ease;
}

.fade-in {
  animation: fadeInSlide 0.5s ease forwards;
}

.fade-out {
  animation: fadeOutSlide 0.3s ease forwards;
}

button {
  margin-top: 1rem;
  padding: 1em 2em; /* Increased padding for button */
  font-size: 1.1em; /* Increased font size */
  border: none;
  border-radius: 4px;
  background-color: #61dafb;
  color: #282c34;
  cursor: pointer;
  transition: background-color 0.2s, transform 0.1s ease;
}

button:hover {
  background-color: #21a1f1;
}

button:active {
  transform: scale(0.95);
}

@keyframes fadeInSlide {
  0% {
      opacity: 0;
      transform: translateY(20px);
  }
  100% {
      opacity: 1;
      transform: translateY(0);
  }
}

@keyframes fadeOutSlide {
  0% {
      opacity: 1;
      transform: translateY(0);
  }
  100% {
      opacity: 0;
      transform: translateY(-20px);
  }
}

@keyframes fadeInScale {
  0% {
      opacity: 0;
      transform: scale(0.9);
  }
  100% {
      opacity: 1;
      transform: scale(1);
  }
}

/* Footer styles */
footer {
  padding: 1rem 0;
  background: #3a3f47;
  width: 100%;
  text-align: center;
}

footer p {
  margin: 0;
  font-size: 0.9em;
  color: #ccc;
}
