#battleEffects { position: fixed; inset: 0; z-index: 26; overflow: hidden; pointer-events: none; contain: strict; }
#battleEffects * { pointer-events: none !important; box-sizing: border-box; }
.battle-layout .card.combat-concealed { opacity: 0 !important; }
#battleEffects .combat-card { position: absolute; border: 1px solid #c5b48b; border-radius: 6px; overflow: hidden; background: #121b20; box-shadow: 0 8px 24px #0008; }
#battleEffects .combat-card img { width: 100%; height: 100%; object-fit: cover; object-position: center 18%; }
#battleEffects .combat-card span { position: absolute; inset: auto 0 0; padding: 22px 4px 12px; background: linear-gradient(transparent, #080d13); color: #fff3d7; font: 700 12px/1.4 system-ui; text-align: center; }
#battleEffects .combat-attacker { z-index: 2; box-shadow: 0 8px 28px #000a, 0 0 0 2px #d8c894; }
#battleEffects .combat-death::after { content: ""; position: absolute; inset: 0; background: linear-gradient(115deg, transparent 39%, #efc7ac 40%, transparent 42%, transparent 59%, #efc7ac 60%, transparent 62%); opacity: .8; }
#battleEffects .combat-damage { position: absolute; z-index: 3; transform: translate(-50%, -50%); color: #ffb4a4; text-shadow: 0 2px 3px #000, 0 0 8px #8d1d12; font: 800 30px/1 Georgia, serif; }
#battleEffects .combat-health-hold { position: absolute; display: flex; align-items: center; background: #262c32; color: #efc8b2; font: 800 30px/1 system-ui; }
@media (prefers-reduced-motion: reduce) { #battleEffects .combat-damage { font-size: 23px; text-shadow: 0 1px 2px #000; } }

#battleEffects .evolution-sequence { position: absolute; inset: 0; perspective: 1100px; }
#battleEffects .evolution-sequence::before { content: ""; position: absolute; inset: 0; background: #04100bd9; opacity: .65; }
#battleEffects .evolution-flight { position: absolute; perspective: 1000px; filter: drop-shadow(0 20px 28px #000b); }
#battleEffects .evolution-flipper { position: absolute; inset: 0; transform-style: preserve-3d; }
#battleEffects .evolution-face { backface-visibility: hidden; border-radius: 48% 48% 9px 9px; border: 2px solid #c8b17a; }
#battleEffects .evolution-face span { padding-bottom: 42px; font: 600 18px/1.4 "Songti SC", Georgia, serif; }
#battleEffects .evolution-stats { position: absolute; bottom: 12px; left: 0; right: 0; color: #f7e8c5; font: 700 16px/1.2 Georgia, serif; text-align: center; }
#battleEffects .evolution-back { transform: rotateY(180deg); border: 4px double #ffe4a0; box-shadow: 0 0 0 3px #815329, 0 0 0 5px #e6bf72, inset 0 0 18px #f7c57544; }
#battleEffects .evolution-back::after { content: ""; position: absolute; inset: 5px; border: 1px solid #ffe6b7aa; border-radius: inherit; pointer-events: none; }
#battleEffects .evolution-caption { position: absolute; left: 20px; right: 20px; text-align: center; color: #f5dfa7; text-shadow: 0 2px 4px #000; font: 600 17px/1.5 "Songti SC", Georgia, serif; }
#battleEffects .evolution-returning::before, #battleEffects .evolution-returning .evolution-caption { opacity: 0; transition: opacity 240ms; }
#battleEffects .evolution-reduced-label { position: absolute; top: 45%; left: 50%; transform: translateX(-50%); padding: 12px 22px; border: 1px solid #dbc083; background: #14251eef; color: #f3e2b9; font-size: 16px; }
#battleEffects .evolution-sequence:has(.evolution-reduced-label)::before { content: none; }
