/* Presentation overlay: never participates in layout, hit testing or battle state. */
.portrait-fx227,.portrait-fx227 *,.sky227,.sky227 *{pointer-events:none!important;user-select:none}
.portrait-fx227{position:fixed;z-index:230;display:block;transform-origin:center;contain:layout style;will-change:transform,opacity;font-style:normal}
.portrait-fx227 svg{display:block;width:100%;height:100%;overflow:visible}
.actor227{z-index:231;filter:drop-shadow(0 0 12px #e0d3a98a);perspective:700px}
.actor227>.class-emblem{width:100%!important;height:100%!important;margin:0!important;visibility:visible!important;transform:none!important;animation:none!important}
.portrait-away227{visibility:hidden!important}
.weapon227{color:#ffcf77;filter:drop-shadow(0 0 8px #ffb45d80)}
.weapon227 .steel227{fill:#b9c9d6;stroke:#f2f7f8;stroke-width:2;stroke-linejoin:round}
.weapon227 .dark227{fill:#35404a;stroke:#b3c6d1;stroke-width:2}
.weapon227 .gold227{fill:#b78e45;stroke:#ffe0a0;stroke-width:2}
.weapon227 .edge227{fill:none;stroke:currentColor;stroke-width:5;stroke-linecap:round}
.weapon227 .fine227{fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round}
.hammer227{filter:drop-shadow(0 6px 8px #000a) drop-shadow(0 0 20px #ffb24c65)}
.shock227{border:3px solid #ffdf9b;border-radius:50%;box-shadow:0 0 24px #f2ac62,inset 0 0 22px #ebc27555}
.trail227{height:3px;background:linear-gradient(90deg,transparent,#d7eaff,#fff);box-shadow:0 0 10px #c9dfff;transform-origin:left center}
.scope227{color:#e9ba85;filter:drop-shadow(0 0 5px #e4a96688)}
.scope227.critical227{color:#ffdd91;filter:drop-shadow(0 0 18px #ffad52)}
.scope227 svg{fill:none;stroke:currentColor;stroke-width:1.5}
.muzzle227{color:#ffe7a1;filter:drop-shadow(0 0 9px #ffb251)}
.beam227{height:5px;transform-origin:left center;background:linear-gradient(90deg,#ffe7b822,#ffb85b,#fff5cd);box-shadow:0 0 15px #ffb453,0 0 3px white}
.beam227.critical227{height:22px;box-shadow:0 0 36px #ffac4d,0 0 8px #fff3c8}
.cheers227{inset:0;width:100vw;height:100dvh;overflow:hidden;z-index:235;background:radial-gradient(ellipse at 50% 46%,#ffc14b12,transparent 63%)}
.cheers227 .mug227{position:absolute;top:30%;width:min(35vw,340px);height:min(43vw,400px);filter:drop-shadow(0 4px 10px #0008)}
.cheers227 .left227{left:15%}.cheers227 .right227{right:15%}
.cheers227 .foam227{position:absolute;left:50%;top:43%;width:7px;height:7px;background:#fff1c6;border-radius:50%}
.sky227{position:fixed;inset:0;z-index:0;overflow:hidden;opacity:.75;contain:strict}
body.has-sky227 .game-shell{position:relative;z-index:1}
.constellation227{position:absolute;width:clamp(100px,17vw,250px);height:clamp(90px,16vw,220px);color:#8baec9;opacity:.3;transform:translate(-50%,-50%);will-change:left,top}
.constellation227 svg{width:100%;height:100%;overflow:visible;fill:none;stroke:currentColor;stroke-width:.8}
.constellation227 circle{fill:#deefff;stroke:none}.constellation227 .starcore227{filter:drop-shadow(0 0 4px #b6d8ff)}
.constellation227.current227{color:#cae3ff;opacity:.6}.constellation227.current227 circle{fill:#fff2cc}
.constellation227 small{position:absolute;left:45%;top:85%;font:11px Georgia,serif;letter-spacing:2px;color:#9db8cb}
@media(max-width:720px){.constellation227{width:140px;height:125px;opacity:.24}.constellation227.current227{opacity:.4}.cheers227 .mug227{top:35%;width:43vw;height:52vw}.cheers227 .left227{left:7%}.cheers227 .right227{right:7%}}
@media(prefers-reduced-motion:reduce){.portrait-fx227,.sky227{display:none!important}}

/* Only the three current constellations occupy the viewport. Nine wait offscreen. */
.constellation227{width:clamp(210px,42vw,580px);height:clamp(190px,36vw,500px)}
@media(max-width:720px){.constellation227{width:82vw;height:72vw}}

.veil229{overflow:hidden;background:radial-gradient(ellipse at center,transparent 30%,#22203644);z-index:229}
.veil229.fire229{background:radial-gradient(ellipse at 50% 75%,#ff842c22,transparent 50%),linear-gradient(0deg,#b629282a,transparent 80%)}
.veil229.frost229{background:radial-gradient(ellipse at center,transparent 20%,#74bfe847 100%);box-shadow:inset 0 0 65px #a8e7ff35}
.veil229.imp-ultimate229{background:radial-gradient(ellipse at center,transparent 10%,#b52d4f55 95%);box-shadow:inset 0 0 95px #e96a4938}
.pillar229{transform-origin:center bottom;filter:drop-shadow(0 0 20px #ff6427) drop-shadow(0 0 45px #fd8b4155)}
.pillar229 svg{height:100%;width:100%;overflow:visible}
.ember229{border-radius:50%;background:#ffde8a;box-shadow:0 0 10px #ff6927}
.scene-shape229{filter:drop-shadow(0 0 10px #d8d3ff65)}
.lance229{filter:drop-shadow(0 0 20px #99ddff)}
.blizzard229{border-radius:50%;border:2px solid #d9f7ff88;background:repeating-conic-gradient(from 20deg,transparent 0deg 35deg,#bfeaff55 40deg,transparent 48deg);box-shadow:0 0 45px #94bde533,inset 0 0 60px #ceeaff44}
.rain229{z-index:233}.strings229{z-index:232}.strings229 svg{fill:none;stroke:#eee2c3;stroke-width:1.4;filter:drop-shadow(0 0 4px #cc9e65)}
.puppet-actor229{z-index:233;filter:drop-shadow(0 0 12px #a5bded)}
.puppet-actor229 img{width:100%;height:100%;object-fit:contain}
.meal229{border:2px solid #a19a80;border-radius:5px;background:repeating-linear-gradient(45deg,#293346 0 5px,#475065 5px 7px);display:grid;place-items:center;box-shadow:0 0 12px #c8d79d;color:#f0dbad;z-index:234}
.bite229{z-index:235}.story229{background:radial-gradient(ellipse at center,#744f8c18,transparent 65%)}
.story-card229{position:absolute;width:min(30vw,270px);height:min(42vw,350px);overflow:hidden;filter:drop-shadow(0 0 18px #b69db977);border-radius:45%;mask-image:radial-gradient(ellipse,#000 25%,transparent 73%)}
.story-card229 img{width:100%!important;height:100%!important;object-fit:cover}.story-card229 .card-art{height:100%}
.imp-standbys229{position:absolute;pointer-events:none;z-index:0;isolation:isolate}
.imp-standbys229 img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;border-radius:45%;transform:translate(var(--shift),-16%) rotate(var(--lean)) scale(.88);opacity:.9;box-shadow:0 0 9px #cda2a856}
.fighter-identity:has(.imp-standbys229){position:relative;isolation:isolate}
.class-emblem{position:relative;z-index:1}
@media(prefers-reduced-motion:reduce){.imp-standbys229{display:none!important}}

/* Reserve the whole fan inside the identity row, including the rotated rear portraits. */
.fighter-identity.imp-identity230{position:relative;isolation:isolate;min-width:0}
.fighter-identity.imp-identity230>.class-emblem{margin-left:24px!important;margin-right:24px!important;flex-shrink:0;z-index:2}
.fighter-identity.imp-identity230>div:not(.imp-standbys229){min-width:0;position:relative;z-index:3}
.fighter-identity.imp-identity230 h2{overflow-wrap:anywhere}
.imp-identity230 .imp-standbys229{z-index:1;overflow:visible}
.imp-identity230 .imp-standbys229 img{border:1px solid #b8977255;border-radius:8px;box-sizing:border-box;object-position:center 25%;opacity:1;transform:translate(var(--shift),-8%) rotate(var(--lean)) scale(.83)!important;transform-origin:center 72%;box-shadow:0 3px 8px #0009}
.hero-grip230{position:absolute;left:72%;top:66%;width:0;height:0;z-index:4}
.hero-blade230,.hero-sweep230{position:absolute;display:block;transform-origin:50% 87.5%;filter:drop-shadow(0 0 4px #ffeac788)}
.hero-sweep230{mix-blend-mode:screen}
.pillar229{filter:drop-shadow(0 0 14px #e6531444);mix-blend-mode:screen;background:radial-gradient(ellipse at 50% 94%,#fff6ba99, #ff892727 12%,transparent 48%)}
.fire-volume230{width:100%;height:100%;transform-origin:center bottom}
.cheers227 .mug227{filter:drop-shadow(0 8px 12px #0008) drop-shadow(0 0 20px #ffca5833)}
.lich-release230{border-radius:50%;border:3px double #8fffb8;background:repeating-conic-gradient(#4dff9a44 0deg 4deg,transparent 6deg 30deg),radial-gradient(circle,transparent 45%,#54fd9544 48%,transparent 56%);box-shadow:0 0 26px #34ff8677,inset 0 0 30px #34ff8655}
.soul-bolt230{border-radius:50%;background:radial-gradient(circle,#f1ffd9,#77ff9d 20%,#2eaf6266 50%,transparent 70%);box-shadow:0 0 25px #58ff8d}
.fragment230{clip-path:polygon(0 10%,85% 0,100% 74%,30% 100%);background:linear-gradient(130deg,#e5e8d5,#6c7e82 55%,#263139);box-shadow:0 0 10px #adffd3}.fragment230.shrapnel{background:linear-gradient(45deg,#713a15,#ffb658,#fff3b6)}
.earth-erupt230 svg{stroke:#d5ad6c;stroke-width:3;fill:none;filter:drop-shadow(0 0 9px #ffac5c)}
.earth-erupt230 polyline{stroke-dasharray:1;stroke-dashoffset:0}
.earth-rock230{clip-path:polygon(8% 100%,0 51%,22% 18%,51% 0,88% 37%,100% 100%);background:linear-gradient(72deg,#352b27 35%,#a38865 36%,#685743 70%,#c7ad7f 71%);filter:drop-shadow(0 0 10px #e1b26c)}
.abyss-eye230{position:fixed;left:50%;width:min(70vw,650px);height:min(25vw,210px);transform:translate(-50%,-50%);pointer-events:none;z-index:0;opacity:calc(.06 + var(--awakening230)*.16);border-radius:85% 10%;background:radial-gradient(ellipse,#030405 8%,#70af86 10%,#254e41 20%,#859c7155 22%,#17272644 48%,transparent 70%);box-shadow:0 0 100px #245b3933;scale:1 calc(.15 + var(--awakening230)*.85)}
.bomb-fuse230{position:fixed;height:3px;pointer-events:none;z-index:232;background:linear-gradient(90deg,#d9b169,#faba41);transform:scaleX(var(--fuse230));transform-origin:left;box-shadow:0 0 6px #ff8d35}
.bomb-fuse230:after{content:'';position:absolute;right:-3px;top:-2px;width:7px;height:7px;background:#fff8c2;border-radius:50%;box-shadow:0 0 6px #ffe59b,0 0 14px #ff7c26}
.abyss-rise230{overflow:hidden;z-index:229;background:radial-gradient(ellipse at 50% 100%,#24533f55,transparent 65%)}
.tentacle230{position:absolute;bottom:-15%;width:clamp(45px,10vw,150px);height:75%;border-radius:100% 12% 0 0;background:radial-gradient(ellipse at 70% 30%,#60907255,transparent 30%),linear-gradient(90deg,#0d2028,#385b50 55%,#112c32);box-shadow:inset -10px 0 20px #70a28b33;transform-origin:center bottom}
.tentacle230:after{content:'';position:absolute;inset:20% 8% 0 60%;background:radial-gradient(ellipse,#132c2d 20%,#72967b66 30%,transparent 50%) 0 0/100% 34px}
.detonation230{border-radius:50%;mix-blend-mode:screen;background:radial-gradient(circle,#fffce4 0%,#ffe6a3 9%,#ffa23c 20%,#cf4e1844 45%,transparent 68%)}
.math-cast230{display:flex;flex-direction:column;align-items:center;gap:14px;color:#fff4cc;text-shadow:0 0 10px #e4cd87;z-index:229}
.formula230{display:flex;flex-wrap:wrap;justify-content:center;gap:7px;font:italic clamp(17px,3.5vw,30px) Georgia,serif}
.math-rewards230{display:flex;justify-content:center;gap:8px;flex-wrap:wrap;font-size:12px}.math-rewards230 span{padding:3px 7px;border-bottom:1px solid currentColor;background:#10202bba;border-radius:4px}.math-rewards230 [data-kind=damage]{color:#ffb593}.math-rewards230 [data-kind=armor]{color:#a9dfff}.math-rewards230 [data-kind=heal]{color:#a2edbb}
@media(prefers-reduced-motion:reduce){.abyss-eye230,.bomb-fuse230{display:none!important}}
.pillar229.line-fire230{background:none;filter:drop-shadow(0 0 4px #ffb24c) drop-shadow(0 0 14px #f36d2355);mix-blend-mode:screen}
.fire-stroke230{stroke-dasharray:23 12 5 60;animation:fire-line230 var(--fire-speed230) linear var(--fire-delay230) infinite}
@keyframes fire-line230{from{stroke-dashoffset:0}to{stroke-dashoffset:-100}}
.beer-lines230{filter:drop-shadow(0 0 2px #ffda84) drop-shadow(0 0 5px #ffc36855)}
.cheers227 .foam227{width:2px;height:12px;border-radius:50%;box-shadow:0 0 6px #ffe8a4}
@media(max-width:430px){.fighter-identity.imp-identity230{flex-wrap:wrap!important}.fighter-identity.imp-identity230>div:not(.imp-standbys229){flex:1 0 100%!important;width:100%}.fighter-identity.imp-identity230 h2{overflow-wrap:normal}}
