/* Ahel's exclusive V3/Codex scenes contain geometry only. Numeric damage
   remains in the shared feedback layer, above every flame and fracture. */
.ahel-combat-stage{position:fixed;inset:0;width:100%;height:100%;overflow:hidden;pointer-events:none;z-index:10040;contain:layout style;isolation:isolate}
.ahel-combat-stage g{transform-origin:0 0}
.ahel-combat-residue{position:absolute;inset:0;pointer-events:none;border-radius:inherit;overflow:hidden;z-index:6}
.ahel-combat-residue svg{width:100%;height:100%;overflow:visible}
.v3-card-slot.has-ahel-fire-field{isolation:isolate;overflow:visible}
.ahel-fire-field{position:absolute;inset:-7% calc(28px - 10%) -10% -10%;z-index:-1;pointer-events:none;overflow:visible}
.ahel-fire-field>svg{display:block;width:100%;height:100%;overflow:visible}
.ahel-field-flame{transform-origin:0 0;animation:ahelFieldFlame 1.5s ease-in-out infinite alternate;filter:drop-shadow(0 0 5px var(--ahel-fx-fire))}
.ahel-field-heat{animation:ahelForgeCharge 1.8s ease-in-out infinite alternate}
.ahel-field-ground{filter:drop-shadow(0 0 7px var(--ahel-fx-hot))}
.ahel-field-motif{filter:drop-shadow(0 0 5px var(--ahel-fx-edge));animation:ahelForgeCharge 2s ease-in-out infinite alternate}
.ahel-field-ember{animation:ahelFieldEmber 2.3s ease-out infinite}
.ahel-fire-field.is-aura .ahel-field-flame{filter:drop-shadow(0 0 9px var(--ahel-fx-hot))}
.ahel-residue-speed{animation:ahelForgeSpeed 1.1s linear infinite}
.ahel-residue-charge{animation:ahelForgeCharge 1.4s ease-in-out infinite alternate;filter:drop-shadow(0 0 5px var(--ahel-fx-hot))}
.ahel-residue-defense{filter:drop-shadow(0 0 4px var(--ahel-fx-edge));animation:ahelForgeCharge 2.5s ease-in-out infinite alternate}
.ahel-residue-shred{filter:drop-shadow(0 0 5px var(--ahel-fx-fire))}
.ahel-hammer-meter__charge.is-crush{left:0;right:auto;border-color:var(--ahel-c1);box-shadow:0 0 9px var(--ahel-c1)}
.ahel-hammer-meter.is-crush-ready .ahel-hammer-meter__charge.is-swift{border-color:var(--ahel-c4);box-shadow:0 0 8px var(--ahel-c4)}
@keyframes ahelFieldFlame{from{opacity:.64;transform:scale(.87 .82) skewX(-4deg)}to{opacity:1;transform:scale(1.08 1.12) skewX(5deg)}}
@keyframes ahelFieldEmber{0%{opacity:0;transform:translateY(14px)}20%{opacity:.9}100%{opacity:0;transform:translateY(-95px)}}
@keyframes ahelForgeSpeed{0%{opacity:0;transform:translateX(220px)}25%{opacity:.8}100%{opacity:0;transform:translateX(-110px)}}
@keyframes ahelForgeCharge{from{opacity:.48}to{opacity:1}}
@media(prefers-reduced-motion:reduce){.ahel-combat-residue *,.ahel-fire-field *{animation:none!important}.ahel-residue-speed{opacity:.4}.ahel-field-ember{opacity:.45}}
body.v3-vfx-disabled :is(.ahel-combat-residue,.ahel-fire-field){display:none}
