.solaria-combat-stage { --sc-core:color-mix(in srgb,var(--sc2) 22%,#fff); position:fixed; inset:0; z-index:10040; pointer-events:none; overflow:hidden; isolation:isolate; }
.solaria-combat-stage > span { position:absolute; box-sizing:border-box; pointer-events:none; }
.solaria-combat-stage svg { width:100%; height:100%; overflow:visible; }
.solaria-combat-wand { width:220px; height:220px; z-index:8; transform:translate(-72%,-24%); transform-origin:72% 24%; filter:drop-shadow(0 0 12px var(--sc2)) drop-shadow(0 0 30px var(--sc3)); }
.solaria-combat-wand img { width:100%; height:100%; object-fit:contain; }
.solaria-combat-ring { z-index:5; color:var(--sc4); filter:drop-shadow(0 0 7px var(--sc2)) drop-shadow(0 0 16px var(--sc3)); }
.solaria-combat-ring svg { stroke-width:2.4; }
.solaria-combat-mote { width:48px; aspect-ratio:1; z-index:7; color:var(--sc2); filter:drop-shadow(0 1px 2px #080410) drop-shadow(0 0 5px currentColor); }
.solaria-combat-herald { width:100px; aspect-ratio:1; z-index:10; color:var(--sc2); filter:drop-shadow(0 2px 3px #080410) drop-shadow(0 0 5px currentColor); }
.solaria-combat-herald::before { content:''; position:absolute; z-index:-1; inset:-12%; border-radius:50%; background:radial-gradient(ellipse,#090411a8,transparent 70%); }
.solaria-combat-herald svg { stroke:var(--sc-core); stroke-width:1.8; }
.solaria-combat-stage[data-theme="fhalloween"] :is(.solaria-combat-herald,.solaria-combat-mote,.solaria-combat-raindrop):has(> .is-green-charm) {
    color: #4CDC82 !important;
    filter: drop-shadow(0 1px 2px #2B5B58) drop-shadow(0 0 3px #4CDC82);
}
.solaria-combat-stage .is-motif.is-csillag path,
.solaria-combat-stage .is-motif.is-csillag circle,
.solaria-combat-stage .is-motif.is-rem.is-variant-1 path,
.solaria-combat-stage .is-motif.is-rem ellipse,
.solaria-combat-stage .is-motif.is-rem circle,
.solaria-combat-stage .is-motif.is-mese.is-variant-0 path,
.solaria-combat-stage .is-motif.is-vip path { fill:currentColor; fill-opacity:.92; }
.solaria-combat-herald .is-motif.is-rem.is-variant-0 { stroke-width:3.2; }
.solaria-combat-herald .is-motif.is-mese.is-variant-1 circle { fill:var(--sc5); fill-opacity:.24; stroke:var(--sc5); stroke-width:2.8; }
.solaria-combat-herald .is-motif.is-vip text { fill:var(--sc-core); stroke:var(--sc1); stroke-width:.6; paint-order:stroke fill; font-size:23px; }
.solaria-combat-herald .is-motif.is-csillag ellipse { stroke:var(--sc-core); stroke-width:3; }
.solaria-combat-beam { z-index:4; transform-origin:0 50%; border-radius:50%; background:linear-gradient(0deg,transparent,var(--sc3) 18%,var(--sc4) 35%,var(--sc-core) 44% 56%,var(--sc2) 65%,var(--sc1) 85%,transparent); box-shadow:0 0 32px var(--sc3),0 0 75px color-mix(in srgb,var(--sc2) 65%,transparent); }
.solaria-combat-beam i,.solaria-combat-beam b,.solaria-combat-beam s { position:absolute; inset:38% 0; border-radius:50%; background:var(--sc-core); box-shadow:0 0 12px var(--sc2); }
.solaria-combat-beam b { inset:15% 2% 70%; background:var(--sc2); transform:rotate(1.5deg); }
.solaria-combat-beam s { inset:70% 2% 17%; background:var(--sc4); transform:rotate(-1.5deg); }
.solaria-combat-scorch { z-index:3; border-radius:18px; border:3px solid var(--sc-core); box-shadow:inset 0 0 38px var(--sc4),inset 0 0 85px var(--sc3),0 0 45px var(--sc4); background:radial-gradient(ellipse at 50% 42%,color-mix(in srgb,var(--sc-core) 65%,transparent),transparent 70%); }
.solaria-combat-scorch i,.solaria-combat-scorch b { position:absolute; inset:0; border-radius:inherit; background:repeating-conic-gradient(from 20deg at 50% 100%,transparent 0deg 12deg,color-mix(in srgb,var(--sc2) 55%,transparent) 14deg,transparent 18deg 30deg); mask-image:linear-gradient(transparent 5%,#000 100%); }
.solaria-combat-scorch b { inset:4px; border:1px solid var(--sc5); background:none; }
.solaria-combat-sky { inset:0; z-index:0; background:radial-gradient(ellipse at 50% 10%,color-mix(in srgb,var(--sc3) 45%,transparent),transparent 65%); }
.solaria-combat-sky i,.solaria-combat-sky b { position:absolute; inset:-10% -5% 55%; background:radial-gradient(ellipse at 15% 50%,var(--sc1),transparent 40%),radial-gradient(ellipse at 80% 25%,var(--sc3),transparent 44%),radial-gradient(ellipse at 50% 5%,var(--sc2),transparent 50%); filter:blur(18px); opacity:.65; }
.solaria-combat-sky b { inset:0 -10% 75%; transform:scaleX(-1); opacity:.5; }
.solaria-combat-gate { z-index:2; width:min(68vw,580px); aspect-ratio:1; color:var(--sc2); filter:drop-shadow(0 0 12px var(--sc4)) drop-shadow(0 0 45px var(--sc3)); }
.solaria-combat-gate i { position:absolute; inset:20% 29% 18%; border-radius:50% 50% 0 0; background:linear-gradient(90deg,transparent,var(--sc-core),transparent); box-shadow:0 0 60px var(--sc2); opacity:.7; }
.solaria-combat-cracks { z-index:11; color:var(--sc-core); filter:drop-shadow(0 0 8px var(--sc4)) drop-shadow(0 0 20px var(--sc3)); }
.solaria-combat-cracks svg { fill:none; stroke:currentColor; stroke-width:2.8; stroke-linejoin:bevel; }
.solaria-combat-world-fracture { z-index:10; overflow:hidden; }
.solaria-combat-world-fracture svg { fill:none; stroke-linejoin:bevel; stroke-linecap:round; }
.solaria-combat-world-fracture .is-depth { stroke:var(--sc3); stroke-opacity:.5; stroke-width:5; }
.solaria-combat-world-fracture .is-light { stroke:var(--sc-core); stroke-width:2.4; }
.solaria-combat-stage.is-judgement .solaria-combat-world-fracture .is-depth { stroke-width:7; }
.solaria-combat-stage.is-judgement .solaria-combat-world-fracture .is-light { stroke-width:3.5; }
.solaria-combat-pressure { z-index:9; border:5px solid var(--sc-core); border-radius:50%; background:radial-gradient(circle,transparent 55%,color-mix(in srgb,var(--sc2) 45%,transparent) 80%,transparent); box-shadow:0 0 25px var(--sc4),inset 0 0 30px var(--sc3); }
.solaria-combat-shard { z-index:12; aspect-ratio:2/3; }
.solaria-combat-shard svg { fill:color-mix(in srgb,currentColor 60%,#100a20); stroke:var(--sc-core); stroke-width:2; }
.solaria-combat-verdict { z-index:9; transform:translateX(-50%); width:95%; text-align:center; color:var(--sc5); text-shadow:0 0 14px var(--sc4),0 2px 12px #000; font:700 clamp(18px,3vw,44px)/1.3 Georgia,serif; }
.solaria-combat-raincloud { height:120px; z-index:1; border-radius:50%; background:radial-gradient(ellipse,color-mix(in srgb,var(--sc2) 80%,transparent),color-mix(in srgb,var(--sc3) 50%,transparent) 40%,transparent 70%); filter:blur(8px); }
.solaria-combat-raindrop { width:64px; height:64px; z-index:7; filter:drop-shadow(0 2px 2px #080410) drop-shadow(0 0 6px currentColor); }
.solaria-combat-raindrop::before { content:''; position:absolute; bottom:60%; left:45%; height:100px; width:3px; background:linear-gradient(transparent,currentColor); box-shadow:0 0 9px currentColor; }
.solaria-combat-stage[data-theme="csillag"] .solaria-combat-sky { background:radial-gradient(ellipse at 30% 30%,#8150d066,transparent 45%),radial-gradient(ellipse at 70% 55%,#6c81ec44,transparent 50%); }
.solaria-combat-stage.is-388 .solaria-combat-beam { box-shadow:0 0 20px color-mix(in srgb,var(--sc3) 65%,transparent); }
.solaria-combat-stage.is-388 .solaria-combat-gate { filter:drop-shadow(0 0 10px var(--sc4)); }
.solaria-combat-stage.is-388 .solaria-combat-sky i,
.solaria-combat-stage.is-388 .solaria-combat-sky b { filter:none; opacity:.35; }
.solaria-combat-stage[data-theme="rem"] .solaria-combat-ring svg { stroke-dasharray:4 2; }
.solaria-combat-stage[data-theme="mese"] .solaria-combat-scorch { border-radius:35%; }
.solaria-combat-stage[data-theme="halloween"] .solaria-combat-gate i { opacity:.16; background:linear-gradient(90deg,transparent,#22E5BB,transparent); box-shadow:none; }
.solaria-combat-stage[data-theme="halloween"] .solaria-combat-gate svg { position:relative; z-index:1; }
.solaria-combat-stage[data-theme="vip"] .solaria-combat-ring { filter:drop-shadow(0 0 3px var(--sc5)) drop-shadow(0 0 12px var(--sc4)); }
@media (prefers-reduced-motion:reduce) {
    .solaria-combat-beam { box-shadow:none; opacity:.5; }
    .solaria-combat-scorch { background:none; }
    .solaria-combat-ring,.solaria-combat-gate,.solaria-combat-mote,.solaria-combat-herald { transform:translate(-50%,-50%); }
}
