/* One bounded moon ritual for manual and automatic companion / item fusion. */
.fusion-enhanced{--fusion-light:#b8dbff;--fusion-glow:#739bff;--fusion-tint:#264e83;background:radial-gradient(ellipse at 50% 20%,var(--fusion-tint),#0c172e 55%,#050b18)}
.fusion-enhanced.A{--fusion-light:#c8ffe6;--fusion-glow:#66e9b4;--fusion-tint:#164d47}
.fusion-enhanced.R{--fusion-light:#d1e8ff;--fusion-glow:#5daaff;--fusion-tint:#173e72}
.fusion-enhanced.SR{--fusion-light:#ffddcc;--fusion-glow:#ff315e;--fusion-tint:#5e1838}
.fusion-enhanced.SSR{--fusion-light:#fff3b4;--fusion-glow:#ffc438;--fusion-tint:#665026}
.fusion-enhanced.UR{--fusion-light:#f4d7ff;--fusion-glow:#d15bff;--fusion-tint:#50276b}
.fusion-enhanced.failure{--fusion-light:#d6dfef;--fusion-glow:#8697bb;--fusion-tint:#28324b}
.fusion-enhanced .fusion-moon{top:22%;width:clamp(72px,23vh,155px);border:1px solid var(--fusion-light);background:radial-gradient(circle at 32% 28%,#fffde8,var(--fusion-light) 40%,var(--fusion-glow));animation:fusion-moon-ascend 3.1s ease-out both;box-shadow:0 0 25px var(--fusion-light),0 0 80px var(--fusion-glow)}
.fusion-enhanced .fusion-beam{top:22%;left:-15%;right:-15%;height:76%;background:linear-gradient(90deg,transparent,var(--fusion-glow) 36%,var(--fusion-light) 50%,var(--fusion-glow) 64%,transparent);filter:drop-shadow(0 0 14px var(--fusion-glow));clip-path:polygon(49% 0,51% 0,100% 100%,0 100%)}
.fusion-enhanced.grand-fusion .fusion-beam{left:-35%;right:-35%;opacity:1}
.fusion-orbit{position:absolute;left:50%;top:60%;width:64%;height:18%;border:2px solid var(--fusion-light);border-radius:50%;box-shadow:0 0 14px var(--fusion-glow),inset 0 0 22px var(--fusion-glow);transform:translate(-50%,-50%);animation:fusion-orbit-charge 3.1s ease-out both;pointer-events:none}
.fusion-burst{position:absolute;z-index:4;left:50%;top:58%;width:70px;aspect-ratio:1;border:3px solid var(--fusion-light);border-radius:50%;box-shadow:0 0 25px var(--fusion-glow),inset 0 0 25px var(--fusion-glow);animation:fusion-ring-expand 3.1s ease-out both;pointer-events:none}
.fusion-spark{position:absolute;z-index:4;left:50%;top:58%;width:3px;height:19%;transform-origin:50% 0;background:linear-gradient(var(--fusion-light),var(--fusion-glow),transparent);animation:fusion-spark-release 3.1s ease-out both;pointer-events:none;filter:drop-shadow(0 0 4px var(--fusion-glow))}
.fusion-enhanced.grand-fusion .fusion-spark{width:5px;height:34%}
.fusion-enhanced .fusion-card{border-color:var(--fusion-light);box-shadow:0 0 14px var(--fusion-glow)}
.fusion-enhanced .fusion-card:has(.item-art):before{display:none}
.fusion-enhanced .fusion-card .item-art{width:90%;height:auto;aspect-ratio:1;min-height:0;max-height:95%}
.fusion-enhanced .fusion-result-card{border-color:var(--fusion-light);box-shadow:0 0 22px var(--fusion-glow),0 0 60px color-mix(in srgb,var(--fusion-glow),transparent 35%)}
.fusion-enhanced .fusion-result-card .item-art{width:100%;height:auto;aspect-ratio:1;min-height:0;max-height:80%}
.fusion-enhanced .fusion-caption{display:flex;flex-direction:column;gap:2px;bottom:10px;line-height:1.3}
.fusion-enhanced .fusion-caption b{font-size:clamp(16px,4vw,26px);color:var(--fusion-light);text-shadow:0 0 15px var(--fusion-glow)}
.fusion-enhanced .fusion-caption span{font-size:12px;color:#d5dfef}
.fusion-enhanced.failure .fusion-beam{opacity:.3}.fusion-enhanced.failure .fusion-spark{height:9%;width:2px}
.fusion-enhanced .fusion-returned{border-style:dashed;box-shadow:0 0 20px #a3b4d96b}
.fusion-cinema.mixed .fusion-enhanced .fusion-moon{width:clamp(40px,10vh,82px)}
.fusion-cinema.mixed .fusion-enhanced .fusion-caption{bottom:4px;gap:0}
.fusion-cinema.mixed .fusion-enhanced .fusion-caption b{font-size:14px}.fusion-cinema.mixed .fusion-enhanced .fusion-caption span{font-size:10px}
@keyframes fusion-moon-ascend{0%{opacity:0;transform:translate(-50%,10%) scale(.6)}25%{opacity:1;transform:translate(-50%,-50%) scale(1)}65%{filter:brightness(1.5);transform:translate(-50%,-50%) scale(1.08)}100%{opacity:1;filter:brightness(1);transform:translate(-50%,-50%) scale(1)}}
@keyframes fusion-orbit-charge{0%,10%{opacity:0;scale:.3}35%,65%{opacity:.8;scale:1}80%{opacity:1;scale:1.15}100%{opacity:.25;scale:1}}
@keyframes fusion-ring-expand{0%,61%{opacity:0;transform:translate(-50%,-50%) scale(.1)}68%{opacity:.95;transform:translate(-50%,-50%) scale(.7)}100%{opacity:0;transform:translate(-50%,-50%) scale(9)}}
@keyframes fusion-spark-release{0%,60%{opacity:0;transform:rotate(calc(var(--spark)*360deg/var(--sparks))) scaleY(.05)}72%{opacity:.9;transform:rotate(calc(var(--spark)*360deg/var(--sparks))) scaleY(1)}100%{opacity:0;transform:rotate(calc(var(--spark)*360deg/var(--sparks))) scaleY(1.4)}}
@media(max-height:570px){.fusion-enhanced .fusion-moon{width:65px}.fusion-enhanced .fusion-card{width:36px;top:55%}.fusion-enhanced .fusion-result-card{width:68px;top:52%}.fusion-enhanced .fusion-caption{bottom:3px}.fusion-enhanced .fusion-caption b{font-size:16px}.fusion-enhanced .fusion-caption span{font-size:10px}.fusion-cinema.mixed .fusion-enhanced .fusion-caption b{font-size:11px}.fusion-cinema.mixed .fusion-enhanced .fusion-card{width:25px}.fusion-cinema.mixed .fusion-enhanced .fusion-result-card{width:43px}.fusion-cinema.mixed .fusion-enhanced .fusion-result-card .rarity{font-size:9px}}
@media(prefers-reduced-motion:reduce){.fusion-enhanced *{animation:none!important}.fusion-enhanced .fusion-moon{opacity:1;transform:translate(-50%,-50%);filter:none}.fusion-enhanced .fusion-beam{opacity:.3}.fusion-enhanced .fusion-orbit{opacity:.3}.fusion-enhanced .fusion-spark,.fusion-enhanced .fusion-burst,.fusion-enhanced .fusion-card{display:none}.fusion-enhanced .fusion-result-card{opacity:1;transform:translate(-50%,-50%);filter:none}}
