/* Lorena: gathering heat → arena eruption → phoenix awakening → embers. */
.lorena-apocalypse{position:fixed;inset:0;z-index:980;overflow:hidden;pointer-events:none;isolation:isolate;--hot:var(--fire-4);--aura:#ab071e;--deep:#230108;--pale:var(--fire-5)}
.lorena-apocalypse[data-theme="jeg"]{--hot:#389eff;--aura:#145de0;--deep:#020d2b;--pale:#e8fbff}
.lorena-apocalypse *{box-sizing:border-box;pointer-events:none}
.lorena-apocalypse__shade{position:absolute;inset:0;background:radial-gradient(ellipse at var(--origin-x) var(--origin-y),transparent 5%,var(--deep) 90%);animation:lorenaUltShade 1.25s both}
.lorena-apocalypse__gather{position:absolute;left:var(--origin-x);top:var(--origin-y);width:190px;height:190px;margin:-95px;border-radius:50%;background:radial-gradient(circle,var(--pale),var(--hot) 10%,var(--aura) 30%,transparent 68%);filter:drop-shadow(0 0 35px var(--aura));animation:lorenaUltGather 1.25s both}
.lorena-apocalypse__gather i,.lorena-apocalypse__gather b{position:absolute;inset:-35%;border:2px solid var(--hot);border-radius:50%;box-shadow:0 0 22px var(--aura),inset 0 0 25px var(--hot);animation:lorenaUltConverge 1.1s both}
.lorena-apocalypse__gather b{inset:-70%;border-style:dashed;animation-delay:.08s}
.lorena-apocalypse__blast{position:absolute;left:var(--origin-x);top:var(--origin-y);width:0;height:0}
.lorena-apocalypse__blast i{position:absolute;width:calc(var(--wave-radius) * 2);height:calc(var(--wave-radius) * 2);left:calc(var(--wave-radius) * -1);top:calc(var(--wave-radius) * -1);border-radius:50%;border:7px solid var(--pale);background:transparent;box-shadow:0 0 24px var(--hot),inset 0 0 18px var(--hot);animation:lorenaUltBlast var(--wave-duration) linear 1.02s both}
.lorena-apocalypse__wash{position:absolute;inset:0;background:radial-gradient(ellipse at var(--origin-x) var(--origin-y),color-mix(in srgb,var(--pale) 40%,transparent),color-mix(in srgb,var(--hot) 18%,transparent) 28%,color-mix(in srgb,var(--aura) 12%,transparent) 75%);mix-blend-mode:screen;animation:lorenaUltWash .85s 1.02s both}
.lorena-apocalypse__floor{position:absolute;inset:0;filter:drop-shadow(0 -12px 22px var(--aura));animation:lorenaUltFloorFade 1.3s 1.12s both}
.lorena-apocalypse__floor i{position:absolute;bottom:-8vh;left:var(--x);width:13vw;height:var(--height);transform-origin:50% 100%;background:linear-gradient(0deg,var(--aura),var(--fire-1) 30%,var(--hot) 64%,var(--pale));clip-path:polygon(12% 100%,0 66%,23% 74%,9% 41%,35% 54%,43% 0,61% 36%,56% 57%,78% 24%,73% 62%,96% 52%,87% 87%,100% 100%);animation:lorenaUltFlames 1.15s ease-out calc(1.12s + var(--delay)) both;opacity:.5}
.lorena-apocalypse__awakening{position:absolute;left:50%;top:45%;width:min(46vw,560px);height:min(52vh,480px);transform:translate(-50%,-50%);animation:lorenaUltAscend 1.7s 3s both}
.lorena-apocalypse__sun{position:absolute;left:50%;top:50%;width:85%;aspect-ratio:1;transform:translate(-50%,-50%);border-radius:50%;background:radial-gradient(circle,var(--pale) 0%,var(--hot) 16%,color-mix(in srgb,var(--aura) 62%,transparent) 40%,transparent 70%);filter:blur(9px);opacity:.3}
.lorena-apocalypse__awakening>img{position:absolute;left:50%;top:45%;width:72%;height:85%;object-fit:contain;transform:translate(-50%,-50%);filter:drop-shadow(0 0 10px var(--pale)) drop-shadow(0 0 36px var(--hot));opacity:1}
.lorena-apocalypse__embers{position:absolute;inset:0;animation:lorenaUltEmbersFade 1.65s 3.6s both}
.lorena-apocalypse__embers i{position:absolute;left:var(--x);bottom:-20px;width:var(--size);height:calc(var(--size) * 3);border-radius:80% 5% 80% 5%;background:var(--pale);box-shadow:0 0 10px var(--hot);animation:lorenaUltEmber 1.6s ease-out calc(3.6s + var(--delay)) both}
@keyframes lorenaUltShade{0%{opacity:0}55%{opacity:.25}82%{opacity:.12}100%{opacity:0}}
@keyframes lorenaUltGather{0%{opacity:0;transform:scale(.25)}45%{opacity:1;transform:scale(.8)}79%{transform:scale(.35)}88%{opacity:1;transform:scale(.5)}100%{opacity:0;transform:scale(3.5)}}
@keyframes lorenaUltConverge{0%{opacity:0;transform:scale(1.9) rotate(-90deg)}35%{opacity:1}100%{opacity:0;transform:scale(.1) rotate(80deg)}}
@keyframes lorenaUltBlast{0%{opacity:0;transform:scale(0)}8%{opacity:.85}72%{opacity:.75}100%{opacity:0;transform:scale(1)}}
@keyframes lorenaUltWash{0%{opacity:0}18%{opacity:.55}100%{opacity:0}}
@keyframes lorenaUltFloorFade{0%{opacity:0}25%{opacity:.8}60%{opacity:.5}100%{opacity:0}}
@keyframes lorenaUltFlames{0%{transform:translateY(24%) scaleY(.45) rotate(var(--lean))}100%{transform:translateY(-8%) scaleY(1.15) rotate(calc(var(--lean) * -.6))}}
@keyframes lorenaUltAscend{0%{opacity:0;transform:translate(-50%,-43%) scale(.9)}23%{opacity:1}65%{opacity:1;transform:translate(-50%,-50%) scale(1)}100%{opacity:0;transform:translate(-50%,-57%) scale(1.03)}}
@keyframes lorenaUltSun{0%{opacity:0;scale:.3}38%{opacity:.9;scale:1}100%{opacity:0;scale:1.45}}
@keyframes lorenaUltPhoenix{0%{opacity:0;translate:0 35px;scale:.4}30%,78%{opacity:1;translate:0 0;scale:1}100%{opacity:0;translate:0 -40px;scale:1.1}}
@keyframes lorenaUltEmber{0%{opacity:0;transform:translate(0,0) rotate(-20deg)}12%{opacity:.95}100%{opacity:0;transform:translate(var(--drift),-55vh) rotate(35deg)}}
@keyframes lorenaUltEmbersFade{0%,18%{opacity:0}28%,82%{opacity:1}100%{opacity:0}}
@media(max-width:650px){.lorena-apocalypse__awakening{width:68vw;height:42vh}.lorena-apocalypse__floor i{width:16vw}.lorena-apocalypse__awakening>img{width:56%}}
@media(prefers-reduced-motion:reduce){.lorena-apocalypse *{animation:none!important}.lorena-apocalypse__shade,.lorena-apocalypse__gather,.lorena-apocalypse__blast,.lorena-apocalypse__floor,.lorena-apocalypse__embers{display:none}.lorena-apocalypse__wash{opacity:.12}.lorena-apocalypse__awakening{opacity:.8}.lorena-apocalypse{animation:lorenaUltQuiet 1s ease-in-out both}@keyframes lorenaUltQuiet{0%,100%{opacity:0}25%,75%{opacity:1}}}
/* Card-local fire follows the wave. Transparent centre keeps the hero readable. */
.lorena-ultimate-scorch{position:absolute;inset:-2px;z-index:940;border-radius:inherit;overflow:hidden;pointer-events:none;--scorch-hot:var(--fire-4);--scorch-deep:#bd1224;--scorch-pale:var(--fire-5);border:2px solid var(--scorch-hot);box-shadow:0 0 24px var(--scorch-hot),inset 0 0 28px var(--scorch-deep);animation:lorenaScorchEnvelope 2.8s ease-out both}
.lorena-ultimate-scorch[data-theme="jeg"]{--scorch-hot:#389eff;--scorch-deep:#145de0;--scorch-pale:#e8fbff}
.lorena-ultimate-scorch *{position:absolute;pointer-events:none;box-sizing:border-box}
.lorena-ultimate-scorch__heat{inset:0;background:linear-gradient(0deg,color-mix(in srgb,var(--scorch-deep) 60%,transparent),transparent 65%),linear-gradient(90deg,color-mix(in srgb,var(--scorch-hot) 35%,transparent),transparent 18% 82%,color-mix(in srgb,var(--scorch-hot) 35%,transparent))}
.lorena-ultimate-scorch__flash{inset:0;background:radial-gradient(ellipse,var(--scorch-pale),transparent 75%);animation:lorenaScorchFlash .45s ease-out both}
.lorena-ultimate-scorch__flames,.lorena-ultimate-scorch__sparks{inset:0}
.lorena-ultimate-scorch__flames i{left:var(--x);bottom:-9%;width:24%;height:var(--height);transform-origin:50% 100%;background:linear-gradient(0deg,var(--scorch-deep),var(--scorch-hot) 52%,var(--scorch-pale));clip-path:polygon(0 100%,12% 67%,6% 43%,35% 56%,46% 0,68% 34%,61% 62%,85% 37%,93% 76%,100% 100%);filter:drop-shadow(0 0 7px var(--scorch-hot));opacity:.8;animation:lorenaScorchFlame .8s ease-in-out var(--delay) 3 alternate both}
.lorena-ultimate-scorch__sparks i{left:var(--x);bottom:2%;width:3px;height:10px;border-radius:70% 20%;background:var(--scorch-pale);box-shadow:0 0 7px var(--scorch-hot);animation:lorenaScorchSpark 1s ease-out var(--delay) 2 both}
@keyframes lorenaScorchEnvelope{0%{opacity:0}9%,62%{opacity:1}100%{opacity:0}}
@keyframes lorenaScorchFlash{0%{opacity:.7}100%{opacity:0}}
@keyframes lorenaScorchFlame{0%{transform:scaleY(.65) skewX(-5deg)}100%{transform:scaleY(1.12) skewX(5deg)}}
@keyframes lorenaScorchSpark{0%{opacity:0;transform:translateY(0)}20%{opacity:.9}100%{opacity:0;transform:translateY(-200px)}}
@media(prefers-reduced-motion:reduce){.lorena-ultimate-scorch{animation:none;opacity:.45}.lorena-ultimate-scorch *{animation:none!important}.lorena-ultimate-scorch__flames,.lorena-ultimate-scorch__sparks,.lorena-ultimate-scorch__flash{display:none}}
