/* Local gradients provide the ultimate glow without full-viewport filtering. */
.v3-ability-vfx-host .generic-vfx-root.signature-ability-208 { filter:none; }
.v3-ability-vfx-host .generic-vfx-root.signature-ability-208 .generic-vfx-layer { mix-blend-mode:normal; }
.cloe-koi-awakening-v3 { position:fixed;z-index:940;translate:-50% -50%;pointer-events:none;isolation:isolate;animation:cloeNewAwaken var(--cloe-fx-duration) ease-out both; }
.cloe-fx-aura { position:absolute;inset:-12%;background:radial-gradient(ellipse,color-mix(in srgb,var(--cloe-fx-water) 37%,transparent),color-mix(in srgb,var(--cloe-fx-deep) 20%,transparent) 43%,transparent 71%); }
.cloe-fx-pool { position:absolute;left:-12%;right:-12%;bottom:1%;height:30%;border:3px solid var(--cloe-fx-water);border-radius:50%;box-shadow:0 0 15px color-mix(in srgb,var(--cloe-fx-water) 45%,transparent);background:radial-gradient(ellipse,color-mix(in srgb,var(--cloe-fx-water) 22%,transparent),transparent 70%);animation:cloeNewPool 1.85s ease-out both; }
.cloe-fx-pool.is-inner { left:0;right:0;bottom:6%;height:19%;border-color:var(--cloe-fx-rim);animation-delay:120ms; }
.cloe-fx-current { position:absolute;inset:-3%;width:106%;height:106%;fill:none;stroke:var(--cloe-fx-water);stroke-width:4;stroke-linecap:round;stroke-dasharray:900;animation:cloeCurrentDraw 1.8s ease-out both; }
.cloe-fx-current path:nth-child(2) { stroke:var(--cloe-fx-rim);stroke-width:2;opacity:.6; }
.cloe-fx-main-fish { position:absolute;z-index:4;left:50%;top:48%;width:clamp(160px,20vw,250px);height:auto;translate:-50% -50%;object-fit:contain;filter:drop-shadow(0 0 9px var(--cloe-fx-water));animation:cloeFishMaterialize 1.9s cubic-bezier(.2,.8,.25,1) both; }
.cloe-fx-fish-orbit { position:absolute;z-index:3;left:50%;top:50%;width:0;height:0;animation:cloeFishSpiral 1.85s ease-out var(--cloe-fx-delay) both; }
.cloe-fx-fish-orbit img { position:absolute;width:112px;height:112px;left:-56px;top:-56px;object-fit:contain;filter:drop-shadow(0 0 5px var(--cloe-fx-water)); }
.cloe-fx-shield,.cloe-fx-lotus,.cloe-fx-rush,.cloe-fx-constellation { position:absolute;inset:0;width:100%;height:100%;overflow:visible; }
.cloe-fx-shield { fill:color-mix(in srgb,var(--cloe-fx-water) 8%,transparent);stroke:var(--cloe-fx-rim);stroke-width:2.5;animation:cloeShieldBloom 1.9s ease-out both; }
.cloe-fx-shield path:nth-child(2) { fill:none;stroke:var(--cloe-fx-water);stroke-width:4; }
.cloe-fx-shield path:nth-child(3) { fill:none;stroke:var(--cloe-fx-water);stroke-width:1;opacity:.4; }
.cloe-fx-lotus { top:48%;height:62%;fill:color-mix(in srgb,var(--cloe-fx-water) 12%,transparent);stroke:var(--cloe-fx-rim);stroke-width:1.3;animation:cloeLotusBloom 1.95s ease-out both; }
.cloe-fx-rush { fill:none;stroke:var(--cloe-fx-accent);stroke-width:5;stroke-linecap:round;stroke-dasharray:100 130;animation:cloeRushDraw 1.45s ease-out both; }
.cloe-koi-awakening-v3:not(.is-azure) .cloe-fx-shield,.cloe-koi-awakening-v3:not(.is-jade) .cloe-fx-lotus,.cloe-koi-awakening-v3:not(.is-gold) .cloe-fx-rush { display:none; }
.cloe-koi-awakening-v3.is-jade .cloe-fx-current { stroke-width:2.5;opacity:.7; }
.cloe-koi-awakening-v3.is-gold .cloe-fx-fish-orbit { animation-duration:1.4s; }
.cloe-koi-awakening-v3.is-gold .cloe-fx-main-fish { animation-duration:1.65s; }
.cloe-fx-constellation { fill:#fff7fc;stroke:#fff1fb;stroke-width:1.3;opacity:0;animation:cloeConstellationWake 2s ease-out both; }
.cloe-fx-constellation path { fill:none;stroke:#ffd2f1;opacity:.8; }
.cloe-koi-awakening-v3:not(.is-star) .cloe-fx-constellation { display:none; }
.cloe-koi-awakening-v3.is-star .cloe-fx-aura { background:radial-gradient(ellipse,#ff78ce36,#9a63e320 45%,transparent 70%); }
.cloe-fx-motifs { position:absolute;z-index:5;inset:-7%; }
.cloe-fx-motif { position:absolute;width:48px;height:48px;translate:-50% -50%;overflow:visible;animation:cloeMotifBloom 1.7s ease-out var(--cloe-fx-delay) both; }
.cloe-fx-droplets { position:absolute;inset:0; }
.cloe-fx-droplets i { position:absolute;bottom:5%;width:7px;height:12px;border-radius:60% 60% 50% 50%;border:1px solid var(--cloe-fx-rim);background:var(--cloe-fx-water);animation:cloeNewDrop 1.6s ease-out var(--cloe-fx-delay) both; }
@keyframes cloeNewAwaken { 0%{opacity:0;scale:.78} 14%{opacity:1;scale:1.03} 30%{scale:1} 78%{opacity:1} 100%{opacity:0;scale:1.05} }
@keyframes cloeNewPool { 0%{opacity:0;scale:.35} 22%{opacity:1} 80%{opacity:.85} 100%{opacity:0;scale:1.18} }
@keyframes cloeCurrentDraw { 0%{stroke-dashoffset:900;opacity:0} 20%{opacity:.95} 68%{stroke-dashoffset:0;opacity:.9} 100%{stroke-dashoffset:-140;opacity:0} }
@keyframes cloeFishMaterialize { 0%{opacity:0;transform:translateY(65px) rotate(-24deg) scale(.25)} 28%{opacity:1;transform:translateY(-10px) rotate(9deg) scale(1.08)} 72%{opacity:1;transform:translateY(0) rotate(-4deg) scale(1)} 100%{opacity:0;transform:translateY(-35px) rotate(14deg) scale(1.12)} }
@keyframes cloeFishSpiral { 0%{opacity:0;transform:rotate(var(--cloe-fx-angle)) translateX(26px) scale(.3)} 25%{opacity:.9} 72%{opacity:.85} 100%{opacity:0;transform:rotate(calc(var(--cloe-fx-angle) + 280deg)) translateX(145px) scale(1.05)} }
@keyframes cloeShieldBloom { 0%{opacity:0;scale:1.3;stroke-dasharray:16 20} 34%{opacity:1;scale:.98;stroke-dasharray:16 0} 76%{opacity:.9;scale:1.02} 100%{opacity:0;scale:1.08;stroke-dasharray:16 0} }
@keyframes cloeLotusBloom { 0%{opacity:0;transform:scale(.15) rotate(-24deg)} 35%{opacity:.9;transform:scale(1.1) rotate(4deg)} 78%{opacity:.8} 100%{opacity:0;transform:scale(1.18) rotate(18deg)} }
@keyframes cloeRushDraw { 0%{opacity:0;stroke-dashoffset:450} 24%{opacity:1} 75%{opacity:.9} 100%{opacity:0;stroke-dashoffset:-450} }
@keyframes cloeConstellationWake { 0%{opacity:0;scale:.65} 28%{opacity:1;scale:1.04} 76%{opacity:.9} 100%{opacity:0;scale:1.1} }
@keyframes cloeMotifBloom { 0%{opacity:0;scale:.25} 24%{opacity:1;scale:1.08} 72%{opacity:1;scale:1} 100%{opacity:0;transform:translateY(-22px);scale:1.15} }
@keyframes cloeNewDrop { 0%{opacity:0;transform:translateY(0) scale(.3)} 25%{opacity:1} 100%{opacity:0;transform:translate(var(--cloe-fx-drift),-290px) scale(1.2)} }
@media(prefers-reduced-motion:reduce) { .cloe-koi-awakening-v3 * { animation-duration:500ms!important;animation-delay:0ms!important; } .cloe-fx-fish-orbit { display:none; } }
