/* C3: combat animations that never shift the fixed iPhone keyboard. */
#view-game .arena-stage{position:relative;isolation:isolate}
#view-game .arena-stage canvas{display:block;width:100%}
#view-game .battle-finale{
  position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;
  justify-content:center;gap:9px;z-index:5;pointer-events:none;
  border-radius:12px;color:#fff8db;
  background:radial-gradient(circle at 55% 45%,rgba(255,174,66,.16),rgba(12,36,76,.65));
  text-shadow:0 3px 13px #041b3f;animation:finale-glow .8s ease-out both
}
#view-game .battle-finale strong{font-size:clamp(26px,4.5vw,46px);letter-spacing:.3px}
#view-game .battle-finale span{font-size:clamp(12px,2vw,19px);font-weight:750}
#view-game .battle-finale.hidden{display:none}
@keyframes finale-glow{from{opacity:0;transform:scale(.96)}to{opacity:1;transform:scale(1)}}
#view-game .boss-banner.boss-charging{background:#ffddbd;color:#813c20;border:1px solid #f3ab77;animation:boss-alert .65s ease-in-out infinite alternate}
@keyframes boss-alert{to{background:#fff0d3;filter:brightness(1.08)}}
#view-results .results-battle-reward{background:linear-gradient(100deg,#fff8df,#e7fbef);border:1px solid #dcebd9;border-radius:12px;padding:14px;margin:10px auto;max-width:540px;color:#345b65;font-weight:750}
#view-results[data-outcome="victory"] .confetti{animation:results-reveal .7s ease-out both}
#view-results[data-outcome="victory"] #result-title{color:#1c846e}
@keyframes results-reveal{from{opacity:0;transform:translateY(10px) scale(.9)}to{opacity:1;transform:translateY(0) scale(1)}}
@media(max-width:820px){
 #view-game .battle-finale{gap:4px;border-radius:9px}
 #view-game .battle-finale strong{font-size:clamp(22px,7vw,35px)}
 #view-game .battle-finale span{font-size:12px}
 #view-game .boss-banner.boss-charging{animation:none}
}
@media(prefers-reduced-motion:reduce){
 #view-game .battle-finale,#view-game .boss-banner.boss-charging,
 #view-results[data-outcome="victory"] .confetti{animation:none!important;filter:none}
}