body {
  margin: 0;
  padding: 0;
  display: flex;
  justify-content: center;
  align-items: center;
  background-color: #222;
  height: 100vh;
  overflow: hidden;
}

.content {
  text-align: center;
  color: white;
}

.message-container {
  position: relative;
  z-index: 10;
}

#message {
  font-size: 2rem;
  color: pink;
  white-space: nowrap;
  opacity: 0;
}

#nextMessage {
  background-color: #ff4081;
  border: none;
  color: white;
  padding: 10px 20px;
  font-size: 1rem;
  cursor: pointer;
  border-radius: 5px;
}

.heart-container,
.flower-container {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  pointer-events: none;
}

.next-btn {
  margin-top: 20px;
}

.three-d-container {
  width: 100%;
  height: 100vh;
  position: absolute;
  top: 0;
  left: 0;
  pointer-events: none;
}

@keyframes fall {
  0% { top: -50px; opacity: 1; }
  100% { top: 100vh; opacity: 0; }
}

.heart {
  color: pink;
  font-size: 30px;
  position: absolute;
  top: 0;
  animation: fall 8s linear infinite;
  pointer-events: none;
}

@keyframes flowerFly {
  0% { opacity: 0; transform: translateY(0); }
  100% { opacity: 1; transform: translateY(100vh); }
}

.flower {
  position: absolute;
  font-size: 20px;
  top: 0;
  left: 0;
  opacity: 0;
  animation: flowerFly 5s ease-in-out infinite;
  pointer-events: none;
}

@keyframes moveMessage {
  0% { left: -100%; }
  100% { left: 50%; }
}

.message {
  font-size: 2rem;
  color: pink;
  animation: moveMessage 10s ease-in-out forwards;
}

.heart-container {
  pointer-events: none;
}

