.lx-effects{position:absolute;inset:0;z-index:7;overflow:hidden;pointer-events:none;isolation:isolate}
.lx-particle{position:absolute;display:block;width:5px;height:5px;background:var(--particle-color);box-shadow:0 0 7px var(--particle-color);border-radius:30%;will-change:transform,opacity}
.lx-particle.lx-glitter{width:9px;height:9px;clip-path:polygon(50% 0,62% 38%,100% 50%,62% 62%,50% 100%,38% 62%,0 50%,38% 38%)}
.lx-particle.lx-bubble{width:clamp(5px,2cqw,12px);height:clamp(5px,2cqw,12px);background:radial-gradient(circle at 28% 25%,#fff9,transparent 30%,#a9f5ff11 60%,#afffff77);border:1px solid #c9ffff99;border-radius:50%;box-shadow:0 0 5px #b1f2ff44}
.lx-wave{position:absolute;width:18cqw;aspect-ratio:1;border:2px solid #ffdd91;border-radius:50%;box-shadow:0 0 13px #ffa336,inset 0 0 15px #ffad3688;will-change:transform,opacity}
.lx-perlas .lx-wave{border-color:#c9ffff;box-shadow:0 0 15px #a3ecff,inset 0 0 12px #73dff988}
.lx-fenix .lx-wave{border-color:#ffe0a9;box-shadow:0 0 17px #ff9526,inset 0 0 15px #d476ff77}
.lx-smoke{position:absolute;width:21cqw;aspect-ratio:1;border-radius:50%;background:radial-gradient(ellipse,#ffac463b,#54372e99 45%,transparent 70%);filter:blur(9px)}
.lx-pearl-beam{position:absolute;width:22cqw;height:32cqw;background:linear-gradient(0deg,#fbf0ff, #93eaff55 65%,transparent);clip-path:polygon(43% 100%,57% 100%,100% 0,0 0);filter:blur(2px);mix-blend-mode:screen}
.lx-bolt{position:absolute;width:13cqw;height:35cqw;background:linear-gradient(90deg,#ff9f1c,white,#cc9aff);clip-path:polygon(45% 0,95% 0,58% 38%,88% 38%,8% 100%,35% 54%,0 54%);filter:drop-shadow(0 0 12px #fbb943)}
.lx-prize-rays{position:absolute;width:150cqw;aspect-ratio:1;border-radius:50%;background:repeating-conic-gradient(from 0deg,transparent 0deg 12deg,#fff0aa55 13deg 18deg,transparent 19deg 30deg);mask-image:radial-gradient(closest-side,black,transparent 85%);mix-blend-mode:screen;pointer-events:none}
.lx-volcan:before{content:'';position:absolute;inset:17% 0 18%;background:radial-gradient(ellipse at 0 55%,#ff620055,transparent 40%),radial-gradient(ellipse at 100% 55%,#ff300055,transparent 40%);mix-blend-mode:screen;animation:lxHeat 1.4s ease-in-out infinite alternate}
.lx-perlas:before{content:'';position:absolute;inset:24% -10% 20%;background:repeating-conic-gradient(from 20deg,#9befff00 0deg 35deg,#c8ffff33 40deg,#9befff00 45deg 90deg);filter:blur(10px);opacity:.22;transform-origin:50% 0;mix-blend-mode:screen;animation:lxCaustic 8s ease-in-out infinite alternate}
.lx-running .lx-fenix:before{content:'';position:absolute;left:5%;top:25%;width:90%;aspect-ratio:1;border-radius:50%;border:3px dashed #ffd99c88;box-shadow:0 0 30px #bc6cff99,inset 0 0 20px #ff8e2566;animation:lxEnergy 1.6s linear infinite}
.lx-running[data-legend=fenix] .l-core{box-shadow:0 0 40px #ff853a,inset 0 0 30px #fff5b088;animation:lxCore .6s ease-in-out infinite alternate}
.lx-running[data-legend=volcan] .l-fireball{filter:drop-shadow(0 0 8px white) drop-shadow(0 0 16px #ffba2b) drop-shadow(0 0 27px #ff3700)}
.lx-running[data-legend=volcan] .l-fire-trail{stroke-width:9;stroke:#ffefa0;filter:drop-shadow(0 0 10px #ff8521)}
.l-winning-rune{color:#fff;filter:drop-shadow(0 0 12px #ffe39a);text-shadow:0 0 9px #ffb63d,0 0 18px #fff;animation:lxRune .65s ease-in-out infinite alternate}
.lx-triumph .a-win{background:radial-gradient(ellipse at top,#aa5217f5,#220a19f7);border:3px ridge #ffe7a7;box-shadow:0 0 40px #ffbc68,0 0 85px #e6573666;animation:lxWinner .7s cubic-bezier(.2,.8,.3,1.2) both}
.lx-triumph[data-legend=perlas] .a-win{background:radial-gradient(ellipse at top,#268a9cf5,#081d42f7);border-color:#d8ffff;box-shadow:0 0 45px #b0faff,0 0 80px #7bb4f977}
.lx-triumph[data-legend=fenix] .a-win{background:radial-gradient(ellipse at top,#8c3823f5,#261034f7);box-shadow:0 0 45px #ffb546,0 0 80px #c575ff88}
.lx-triumph .a-win strong{font-size:12cqw;color:#fff6c4;text-shadow:0 0 18px #ffd351;animation:lxTotal .7s ease-in-out infinite alternate}
.l-opening:after{content:'';position:absolute;inset:0 0 42%;background:inherit;border-radius:45% 45% 10% 10%;transform-origin:50% 100%;animation:lxLid .38s ease-in both;box-shadow:0 -2px 10px #b4ffff88}
.l-open.l-pearl-found{animation:lxPearlArrival .65s ease-out}
@keyframes lxHeat{to{opacity:.55;transform:scaleX(1.08) translateY(-7px)}}
@keyframes lxCaustic{to{transform:rotate(10deg) scale(1.2);opacity:.4}}
@keyframes lxEnergy{to{transform:rotate(360deg)}}
@keyframes lxCore{to{filter:brightness(1.6)}}
@keyframes lxRune{to{filter:brightness(1.7) drop-shadow(0 0 17px #fbd56a)}}
@keyframes lxWinner{from{opacity:0;transform:scale(.3) rotate(-4deg)}70%{opacity:1;transform:scale(1.05)}to{transform:scale(1) rotate(0)}}
@keyframes lxTotal{to{filter:brightness(1.3);text-shadow:0 0 28px #ffdc69}}
@keyframes lxLid{to{transform:perspective(300px) rotateX(100deg);opacity:.3}}
@keyframes lxPearlArrival{from{filter:brightness(2);transform:scale(.8)}to{filter:brightness(1);transform:scale(1)}}
@media(prefers-reduced-motion:reduce){.lx-effects:before,.lx-prize-rays,.l-opening:after{display:none}.lx-triumph .a-win,.lx-triumph .a-win strong,.l-winning-rune,.lx-running .l-core{animation:none!important}}
.lx-spirit{position:absolute;width:85cqw;height:43cqw;background-image:url('assets/legends-concept-v1.webp');background-size:404% 569%;background-position:93.4% 0;mask-image:radial-gradient(ellipse at 50% 45%,black 35%,transparent 73%);filter:drop-shadow(0 0 20px #ffad22);mix-blend-mode:screen}
.lx-giant-pearl{position:absolute;width:35cqw;aspect-ratio:1;border-radius:50%;background:radial-gradient(circle at 30% 25%,white,#fff0fc 25%,#bcbee8 58%,#5a86b0);box-shadow:0 0 30px #e7ffff,inset -4px -6px 15px #6d7db555}
