/* The V3 gaze uses crisp SVG contours without a full-screen filter/compositing pass. */
.medusa-basic-swarm { position:fixed; z-index:10045; pointer-events:none; }
.medusa-skin-impact.is-swarm .medusa-skin-impact__frame { border-width:3px; box-shadow:0 0 32px var(--medusa-motif-glow),inset 0 0 36px color-mix(in srgb,var(--medusa-motif-glow) 40%,transparent); }
.medusa-skin-impact.is-swarm .medusa-skin-impact__arc { width:120%; height:55%; left:-10%; top:22%; border-width:4px; }
.medusa-skin-impact.is-swarm .medusa-skin-impact__motif { width:46px; height:46px; left:calc(50% - 23px); top:calc(50% - 23px); }
.v3-ability-vfx-host .generic-vfx-root.medusa-light-ultimate { filter:none; }
.v3-ability-vfx-host .generic-vfx-root.medusa-light-ultimate .generic-vfx-layer { mix-blend-mode:normal; }
.medusa-bite-projectile { position:fixed; z-index:10045; height:0; overflow:visible; pointer-events:none; transform-origin:left center; }
.medusa-bite-projectile__trail { position:absolute; left:0; top:-10px; width:100%; height:20px; border-radius:50%; transform-origin:left; background:linear-gradient(90deg,transparent,var(--medusa-motif-glow),var(--medusa-motif-rim)); filter:blur(5px); animation:medusa-bite-trail var(--medusa-projectile-flight) ease-out both; }
.medusa-bite-projectile__snake { position:absolute; top:-58px; width:192px; height:114px; filter:drop-shadow(0 0 7px var(--medusa-motif-glow)); animation:medusa-bite-flight var(--medusa-projectile-flight) cubic-bezier(.25,.6,.4,1) both; }
.medusa-bite-projectile__snake svg { width:100%; height:100%; overflow:visible; }
.medusa-bite-projectile__mote { position:absolute; width:36px; height:36px; top:-18px; overflow:visible; rotate:calc(-1 * var(--medusa-route-angle)); filter:drop-shadow(0 0 4px var(--medusa-motif-glow)); animation:medusa-bite-mote 400ms ease-out var(--medusa-projectile-mote-delay) both; }
.medusa-skin-impact { position:absolute; inset:-9px; z-index:936; pointer-events:none; }
.medusa-skin-impact__frame { position:absolute; inset:6px; border:2px solid var(--medusa-motif-rim); border-radius:18px; box-shadow:0 0 20px var(--medusa-motif-glow),inset 0 0 25px color-mix(in srgb,var(--medusa-motif-glow) 35%,transparent); animation:medusa-motif-frame var(--medusa-motif-duration) ease-out both; }
.medusa-skin-impact.is-kristaly .medusa-skin-impact__frame { border-radius:0; clip-path:polygon(12% 0,88% 0,100% 12%,100% 88%,88% 100%,12% 100%,0 88%,0 12%); background:linear-gradient(125deg,transparent 35%,#ffcbf044 46%,#bce6ff44 51%,transparent 65%); }
.medusa-skin-impact.is-mesekonyv .medusa-skin-impact__frame { border-color:#ffe0f6; border-radius:30px; background:radial-gradient(ellipse at center,#ff70c733,transparent 70%); }
.medusa-skin-impact.is-vip .medusa-skin-impact__frame { border-style:double; border-width:4px; background:linear-gradient(125deg,transparent 30%,#fff5c933 49%,transparent 64%); }
.medusa-skin-impact__arc { position:absolute; width:190px; height:95px; left:calc(50% - 95px); top:calc(50% - 47px); border:3px solid var(--medusa-motif-rim); border-left-color:transparent; border-bottom-color:transparent; border-radius:50%; filter:drop-shadow(0 0 7px var(--medusa-motif-glow)); animation:medusa-motif-arc var(--medusa-motif-duration) ease-out both; }
.medusa-skin-impact__arc.is-crossed { rotate:100deg; animation-delay:80ms; }
.medusa-skin-impact__motif { position:absolute; left:calc(50% - 29px); top:calc(50% - 29px); width:58px; height:58px; overflow:visible; filter:drop-shadow(0 0 5px var(--medusa-motif-glow)); animation:medusa-motif-burst calc(var(--medusa-motif-duration) - 240ms) ease-out var(--medusa-motif-delay) both; }
.medusa-skin-impact.is-grip .medusa-skin-impact__motif { animation-name:medusa-motif-grip; }
.medusa-skin-impact.is-army .medusa-skin-impact__arc { width:230px; height:130px; left:calc(50% - 115px); top:calc(50% - 65px); }
@keyframes medusa-bite-flight { 0%{left:-166px;opacity:0;scale:.55} 15%{opacity:1;scale:1} 85%{opacity:1} 100%{left:calc(100% - 166px);opacity:.9;scale:1.15} }
@keyframes medusa-bite-trail { 0%{opacity:0;scale:.05 1} 65%{opacity:.7;scale:.85 1} 100%{opacity:0;scale:1 1} }
@keyframes medusa-bite-mote { 0%{opacity:0;transform:scale(.2)} 30%{opacity:.95} 100%{opacity:0;transform:translateY(-40px) scale(.9) rotate(20deg)} }
@keyframes medusa-motif-frame { 0%{opacity:0;scale:.87} 12%{opacity:1;scale:1.04} 35%{scale:1} 75%{opacity:.6} 100%{opacity:0;scale:1.1} }
@keyframes medusa-motif-arc { 0%{opacity:0;transform:scale(.2) rotate(-45deg)} 18%{opacity:1} 100%{opacity:0;transform:scale(1.6) rotate(50deg)} }
@keyframes medusa-motif-burst { 0%{opacity:0;transform:scale(.15)} 18%{opacity:1} 72%{opacity:.85} 100%{opacity:0;transform:translate(var(--medusa-motif-x),var(--medusa-motif-y)) scale(.85) rotate(var(--medusa-motif-turn))} }
@keyframes medusa-motif-grip { 0%{opacity:0;transform:translate(var(--medusa-motif-x),var(--medusa-motif-y)) scale(.15)} 22%{opacity:1;transform:translate(var(--medusa-motif-x),var(--medusa-motif-y)) scale(1)} 70%{opacity:.8} 100%{opacity:0;transform:translate(calc(var(--medusa-motif-x) * .6),calc(var(--medusa-motif-y) * .6)) scale(.5)} }
@media(prefers-reduced-motion:reduce) { .medusa-skin-impact * {animation-duration:200ms!important;animation-delay:0ms!important} .medusa-bite-projectile__mote {display:none} }
