.battle-arena{position:relative}.combat-impact{position:absolute;inset:0;z-index:22;isolation:isolate;pointer-events:none;overflow:hidden;background:rgba(5,7,8,.65);backdrop-filter:blur(2px);opacity:0}.combat-impact-paint{display:block;width:100%;height:100%;object-fit:fill;filter:drop-shadow(0 8px 8px #0009)}.combat-impact-feedback{position:absolute;width:0;height:0;transform:none;z-index:3}.combat-impact-feedback .hit-feedback,.combat-impact-feedback .battle-float{z-index:4}.combat-impact-label{display:block;position:absolute;left:50%;top:0;transform:translateX(-50%);white-space:nowrap;color:#f3d593;text-shadow:2px 3px 3px #000;font-size:clamp(15px,2.2vw,32px)}
@media(prefers-reduced-motion:reduce){.combat-impact{backdrop-filter:none}}
.combat-impact-cast{background:transparent;backdrop-filter:none}.has-impact-cast>img,.has-impact-cast>.profession-pose{visibility:hidden}
.combat-impact-spirit{position:absolute;width:clamp(65px,17%,240px);height:46%;opacity:.68;transform:translate(-50%,-50%);filter:drop-shadow(0 0 12px #78a7a366);pointer-events:none}.combat-impact-spirit>.spirit-figure{position:static!important;inset:auto!important;width:100%!important;height:100%!important;transform:none!important;opacity:1!important}.combat-impact-spirit img{width:100%;height:100%;object-fit:contain;filter:sepia(.4) hue-rotate(65deg) saturate(.45)}.combat-impact-spirit small{display:block;text-align:center;font-size:clamp(11px,1vw,15px);color:#c2d7c3;white-space:nowrap}.combat-impact-echo-flame{display:block;position:absolute;width:27%;height:27%;top:40%;left:35%;border-radius:65% 35% 55% 45%;border:2px solid #9fc4b5;background:radial-gradient(ellipse,#b6d5ba66,#749c9366 38%,transparent 72%);transform:rotate(-15deg)}.combat-impact-spirit-note{height:auto;text-align:center;color:#b4d0ba}.combat-impact-cost{position:absolute;padding:5px 10px;border:1px solid #b9a06d;color:#decaa0;background:#272418bb;font-size:clamp(10px,1.1vw,17px);white-space:nowrap;transform:translate(-50%,-50%)}
.combat-impact-paint{object-fit:fill}.combat-impact-feedback{width:0;height:0;transform:none}

.battle-player.has-impact-cast>img,.battle-player.has-impact-cast>.profession-pose,.has-impact-cast>canvas{visibility:hidden!important}

/* Integrated support scenes share the cinematic background and actual recipients. */
.combat-impact-cast{background:rgba(5,7,8,.65);backdrop-filter:blur(2px)}
