.scores { display: flex; gap: 10px; justify-content: center; margin-bottom: 14px; }
.score-box { background: var(--primary-soft); border-radius: 10px; padding: 8px 16px; }
.score-box small { display: block; color: var(--muted); font-size: 0.7rem; }
.score-box span { font-weight: 800; font-size: 1.2rem; color: var(--primary-dark); }

.play-area {
  position: relative;
  height: 420px;
  border-radius: 14px;
  overflow: hidden;
  background: linear-gradient(180deg, #bfe6ff, #eaf7ff);
  border: 1px solid var(--border);
  margin-bottom: 16px;
  touch-action: manipulation;
  cursor: crosshair;
}
.balloon {
  position: absolute;
  width: 46px; height: 58px;
  border-radius: 50% 50% 48% 48%;
  cursor: pointer;
  will-change: transform;
  box-shadow: inset -6px -6px 0 rgba(0,0,0,0.08);
}
.balloon::after {
  content: ""; position: absolute; bottom: -8px; left: 50%;
  width: 2px; height: 10px; background: rgba(0,0,0,0.25); transform: translateX(-50%);
}
.balloon.pop { animation: pop 0.18s forwards; }
@keyframes pop { to { transform: scale(1.6); opacity: 0; } }