/* reset & full‑screen */
* { margin:0; padding:0; box‑sizing:border-box }
html, body { width:100%; height:100%; overflow:hidden }

#character-selector {
  position: absolute;
  top: 20px;
  left: 20px;
  z-index: 1000;
  background: rgba(255, 255, 255, 0.9);
  padding: 10px 15px;
  border-radius: 8px;
  box-shadow: 0 2px 10px rgba(0, 0, 0, 0.1);
  font-family: Arial, sans-serif;
}

#character-selector label {
  display: block;
  margin-bottom: 5px;
  font-weight: bold;
  color: #333;
  font-size: 14px;
}

#character-dropdown {
  padding: 5px 10px;
  border: 2px solid #ddd;
  border-radius: 4px;
  background: white;
  font-size: 14px;
  cursor: pointer;
  min-width: 120px;
}

#character-dropdown:hover {
  border-color: #87CEEB;
}

#character-dropdown:focus {
  outline: none;
  border-color: #3498db;
  box-shadow: 0 0 5px rgba(52, 152, 219, 0.3);
}

#scene {
  position: relative;
  width:100%; height:100%;
  background: linear-gradient(to top, #87CEEB, #fff);
}

#character {
  position: absolute;
  width: 120px;
  bottom: 40px;
  left: calc(50% - 40px);
  transform-origin: center bottom;
  transition:
    left 0.6s ease,
    bottom 0.6s ease,
    transform 0.2s ease;
}

/* … everything else unchanged … */

.balloon {
  position: absolute;
  bottom: -120px;          /* start off‑screen */
  border-radius: 50%/60%;
  overflow: visible;       /* show string */
}

/* remove floatUp animation */
/* @keyframes floatUp { … } */

/* curly string sits directly under balloon */
.balloon .string {
  position: absolute;
  top: 100%;
  left: 50%;
  transform: translateX(-50%);
  pointer-events: none;
}

/* pop effect */
.pop {
  animation: popAnim 0.2s forwards;
}
@keyframes popAnim {
  to { transform: scale(1.5); opacity:0; }
}

/* burst circle */
.burst {
  position: absolute;
  width: 10px;
  height: 10px;
  background: rgba(255,255,255,0.8);
  border-radius: 50%;
  pointer-events: none;
  transform-origin: center;
  animation: burstAnim 0.3s ease-out forwards;
}

@keyframes burstAnim {
  to {
    transform: scale(4);
    opacity: 0;
  }
}
