/* ============================================================
   戦闘ステージ（ポケモン風アニメーション演出）
   ============================================================ */

.battle-stage {
  position: relative;
  height: 280px;
  margin: 14px 0;
  border-radius: 14px;
  background:
    radial-gradient(ellipse 70% 30% at 50% 100%, rgba(80, 90, 160, 0.35), transparent 70%),
    linear-gradient(180deg, #0d1330 0%, #161a3a 55%, #20254d 100%);
  border: 1px solid #0f3460;
  overflow: hidden;
  box-shadow: inset 0 -20px 40px rgba(0, 0, 0, 0.35);
}

.stage-actor {
  position: absolute;
  bottom: 24px;
  display: flex;
  flex-direction: column;
  align-items: center;
  will-change: transform;
  z-index: 2;
}
.actor-left  { left: 6%; }
.actor-right { right: 6%; }

.actor-img {
  display: block;
  user-select: none;
  pointer-events: none;
  filter: drop-shadow(0 12px 10px rgba(0, 0, 0, 0.55));
}
/* 右側キャラは左を向くよう反転 */
.actor-right .actor-img { transform: scaleX(-1); }

.actor-label {
  margin-top: 5px;
  font-size: 0.76em;
  font-weight: bold;
  padding: 2px 12px;
  border-radius: 10px;
  background: rgba(0, 0, 0, 0.5);
  white-space: nowrap;
}
.actor-label-1 { color: #4aa3ff; border: 1px solid rgba(74, 163, 255, 0.4); }
.actor-label-2 { color: #ff6b81; border: 1px solid rgba(255, 107, 129, 0.4); }

.stage-fx {
  position: absolute;
  inset: 0;
  pointer-events: none;
  z-index: 5;
}
.stage-fx span { position: absolute; }

.dmg-pop {
  position: absolute;
  font-weight: bold;
  font-size: 1.45em;
  color: #fff;
  text-shadow: 0 2px 5px #000, 0 0 12px rgba(233, 69, 96, 0.8);
  z-index: 6;
  white-space: nowrap;
}
.dmg-pop.crit {
  color: #ffd700;
  font-size: 1.9em;
  text-shadow: 0 2px 5px #000, 0 0 16px rgba(255, 215, 0, 0.9);
}
.dmg-pop.miss-pop {
  color: #9ad5ff;
  font-size: 1.1em;
  text-shadow: 0 2px 4px #000;
}

.stun-bolt {
  position: absolute;
  font-size: 1.5em;
  color: #cfefff;
  text-shadow: 0 0 6px #4ad7ff, 0 0 12px #7cf, 0 0 2px #fff;
  z-index: 6;
  pointer-events: none;
}

/* オーバーレイ（トーナメント等）内のステージ */
.overlay-stage {
  height: 240px;
  margin: 10px 0;
}

@media (max-width: 480px) {
  .battle-stage { height: 230px; }
  .actor-img { max-height: 160px; }
}
