
body {
  margin: 0;
  font-family: "Segoe UI", sans-serif;
  background: linear-gradient(to right, #ffecd2, #fcb69f);
  text-align: center;
  color: #333;
  overflow-x: hidden;
}

h1 {
  margin-top: 30px;
  font-size: 2.5rem;
}

.slideshow-container {
  margin: 40px auto;
  max-width: 800px;
  border-radius: 20px;
  overflow: hidden;
  box-shadow: 0 4px 20px rgba(0,0,0,0.2);
}

.slideshow-container img {
  width: 100%;
  height: auto;
  display: block;
  transition: opacity 1s ease-in-out;
}

/* Balloons */
.balloons {
  position: fixed;
  bottom: -100px;
  left: 0;
  width: 100%;
  pointer-events: none;
  z-index: 1000;
}

.balloon {
  position: absolute;
  bottom: 0;
  width: 40px;
  height: 60px;
  border-radius: 20px 20px 30px 30px;
  opacity: 0.7;
  animation: float 8s infinite ease-in;
}

.balloon::after {
  content: "";
  position: absolute;
  bottom: -20px;
  left: 50%;
  width: 2px;
  height: 20px;
  background: #333;
  transform: translateX(-50%);
}

.red { left: 10%; background: red; animation-delay: 0s; }
.blue { left: 30%; background: blue; animation-delay: 2s; }
.green { left: 50%; background: green; animation-delay: 4s; }
.yellow { left: 70%; background: gold; animation-delay: 6s; }
.pink { left: 90%; background: rgb(255, 0, 225); animation-delay: 8s; }

@keyframes float {
  0% { transform: translateY(0) scale(1); opacity: 0.8; }
  50% { transform: translateY(-300px) scale(1.1); opacity: 1; }
  100% { transform: translateY(-600px) scale(1); opacity: 0; }
}

/* Shiny text */
.shiny-text {
  background: linear-gradient(90deg, #f00, #ff0, #0f0, #0ff, #00f, #f0f, #f00);
  background-size: 400%;
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  animation: shine 5s linear infinite;
}

@keyframes shine {
  0% { background-position: 0%; }
  100% { background-position: 400%; }
}

/* Fireworks Canvas */
#fireworks {
  position: fixed;
  top: 0;
  left: 0;
  width: 100vw;
  height: 100vh;
  pointer-events: none;
  z-index: 999;
}

.fancy-heading {
  font-size: 3rem;
  font-weight: 800;
  background: linear-gradient(135deg, #ff8ec7, #c084fc);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  animation: shine-text 3s ease-in-out infinite;
  text-shadow: 0 0 20px rgba(255, 142, 199, 0.4);
  margin-top: 40px;
}

@keyframes shine-text {
  0%, 100% {
    background-position: 0% 50%;
  }
  50% {
    background-position: 100% 50%;
  }
}
