
/* Définition des keyframes */
@keyframes jumpchest {
  0% {
    top: 5%; /* Position au sol */
  }
  44% {
    top: 5%; /* Montée dans les airs */
  }
  50% {
    top: 2%; /* Montée dans les airs */
  }
  52% {
    top: 6%; /* Montée dans les airs */
  }
  56% {
    top: 5%; /* Montée dans les airs */
  }
  100% {
    top: 5%; /* Retour au sol */
  }
}
@keyframes runawayBounce {
  0%   { transform: translateY(0); }
  30%  { transform: translateY(-8px); }
  50%  { transform: translateY(0); }
  70%  { transform: translateY(-4px); }
  100% { transform: translateY(0); }
}
@keyframes rotationchesthover {
  0% {
   transform: rotate(0deg); /* Position au sol */
  }  10% {
    transform: rotate(2deg); /* Montée dans les airs */
  }  20% {
   transform: rotate(4deg); /* Montée dans les airs */
  }  30% {
    transform: rotate(2deg); /* Montée dans les airs */
  }  40% {
    transform: rotate(0deg); /* Montée dans les airs */
  }50% {
    transform: rotate(-2deg); /* Montée dans les airs */
  }  60% {
    transform: rotate(-4deg); /* Retour au sol */
  }70% {
    transform: rotate(-2deg); /* Retour au sol */
  }80% {
    transform: rotate(0deg); /* Retour au sol */
  }90% {
    transform: rotate(0deg); /* Retour au sol */
  }100% {
    transform: rotate(0deg); /* Retour au sol */
  }
}

@keyframes straighten {
  0% {
    rotate: -8deg;
    left:80px;
  }

 20% {
    rotate: 8deg;
  }

  100% {
    rotate: 8deg;
    left:-20px;
  }
}

@keyframes rotationchest {
  0% {
   transform: rotate(0deg); /* Position au sol */
  }
  44% {
    transform: rotate(0deg); /* Montée dans les airs */
  }
  40% {
   transform: rotate(1deg); /* Montée dans les airs */
  }
  52% {
    transform: rotate(3deg); /* Montée dans les airs */
  }
  60% {
    transform: rotate(4deg); /* Montée dans les airs */
  }62% {
    transform: rotate(2deg); /* Montée dans les airs */
  }
  100% {
    transform: rotate(0deg); /* Retour au sol */
  }
}
@keyframes chestpulse {
  0% {
    transform: scale(1.2);filter: drop-shadow(0px 0 8px #ffd800)
  }
  25% {
    transform: scale(1.3);filter: drop-shadow(0px 0 28px #ffd800)
  }
  100% {
    transform: scale(1.2);filter: drop-shadow(0px 0 8px #ffd800)
}}

@keyframes bounce-in-top {
  0% {
    transform: translateY(-800px);
    animation-timing-function: ease-in;
    opacity: 0;
  } 10% {
    transform: translateY(-500px);
    animation-timing-function: ease-in;
    opacity: 0;
  }
  38% {
    transform: translateY(0);
    animation-timing-function: ease-out;
    opacity: 1;
  }
  55% {
    transform: translateY(-65px);
    animation-timing-function: ease-in;
  }
  72% {
    transform: translateY(0);
    animation-timing-function: ease-out;
  }
  81% {
    transform: translateY(-28px);
    animation-timing-function: ease-in;
  }
  90% {
    transform: translateY(0);
    animation-timing-function: ease-out;
  }
  95% {
    transform: translateY(-8px);
    animation-timing-function: ease-in;
  }
  100% {
    transform: translateY(0);
    animation-timing-function: ease-out;
  }
}

@keyframes vibratechest {
  0%, 100% {
    transform: translateX(0); /* Pas de vibration */
  }
  25% {
    transform: translateX(2px); /* Déplacement à droite */
  }
  50% {
    transform: translateX(-2px); /* Déplacement à gauche */
  }
  75% {
    transform: translateX(2px); /* Retour à droite */
  }
}

@keyframes BattleTextDrop {
    0% {
        opacity: 1;
        transform: translateY(0px) scale(1); /* Tombe du haut avec une taille plus grande */
       transform-origin: center; /* Centrer la transformation */
    }
    
    30% {
        transform: translateY(0px) scale(1.5); /* Léger rebond vers le bas */
     
    }
 }
 
@keyframes focusedEntity {
    0% {
        filter: drop-shadow(0 0 1rem #bbe2ffd4);
    }
    100% {
        filter: drop-shadow(0 0 1.5rem #ebf6ffd4);
    }
}

@keyframes targetableEntity {
    0% {
        filter: drop-shadow(0 0 0.2rem #ff0000);
    }
    100% {
        filter: drop-shadow(0 0 1.5rem #8c0000);
    }
}
@keyframes targetableEntitySideB {
    0% {
        filter: drop-shadow(0 0 0.2rem #ff93b1);
    }
    100% {
        filter: drop-shadow(0 0 1.5rem #8c0000);
    }
}

@keyframes supportableEntity {
    0% {
        filter: drop-shadow(0 0 0.2rem #2844CE);
    }
    100% {
        filter: drop-shadow(0 0 1.5rem #036eff);
    }
}
@keyframes summonableHex {
    0% {
        filter: drop-shadow(0 0 0.2rem #53DE5D);
    }
    100% {
        filter: drop-shadow(0 0 1.5rem #acffb2);
    }
}

@keyframes floatingBuff {
  0% {
    transform: translateY(0) scale(1);
  }
  50% {
    transform: translateY(-10px) scale(1.1);
  }
  100% {
    transform: translateY(0) scale(1);
  }
}

@keyframes dropShadowAnimation {
    0% {
        filter: drop-shadow(0 0 0.2rem #dcaa14d4);
    }
    100% {
        filter: drop-shadow(0 0 1.5rem #ffdf6ea3);
    }
}
@keyframes DotTextUp {
     0% {
        opacity: 1;
        transform: translateY(0px) scale(1.5);

  }  30% {
        opacity: 1;
		transform: translateY(0px) scale(1.2);
    }
    100% {
        opacity: 0;
      transform: translateY(-4px) scale(1);
    }
}

@keyframes floatUp {
    0% {
        opacity: 1; opacity: 1;
		/* position:relative;line-height: 18px; */
      transform-origin: center;
		
   }5% {

		 font-size:2em;
     }
     30% {
       opacity: 1;}
     100% {
        opacity: 0;
		 font-size: 0.5em;
        transform: translateY(-30px); /* L'élément monte de 30 pixels avant de disparaître */
    }
}

@keyframes critPopFloat {
  0% {
    transform: translateY(0) scale(1);
    }
    10% {
    transform: translateY(0) scale(2.2);
    }

    20% {
    transform: translateY(0) scale(1);
    }

  65% {
    transform: translateY(-10) ;
    opacity: 1;
  }

  100% {
    transform: translateY(-20px) scale(0.8);
    opacity: 0;
  }
}
@keyframes floatUpLeft {
     0% {
	font-size: 1.1em;
    transform: translate(0px, 0px);
    opacity: 1;
    }
  5% {
   
    font-size: 1em;
    transform: translate(10px, -10px); /* Monte */}
  
  10% {
     font-size: 1.2em;
     opacity: 1;
    transform: translate(25px, -15px); /* Monte */
   
  }
  43% {
     opacity: 1;
  }
  100% {
    font-size: 0.5em;
    transform: translate(50px, 5px); /* Redescend */
    opacity: 0;
  }
}


@keyframes floatUpRight {
  0% {
    transform: translate(0px, 0px);
    opacity: 1;
   font-size: 1.1em;
  }
  5% {
   
    font-size: 1em;
    transform: translate(-10px, -10px); /* Monte */}
  
  10% {
     font-size: 1.1em;
     opacity: 1;
    transform: translate(-25px, -15px); /* Monte */
   
  }
 43% {
     opacity: 1;
  }
  100% {
    font-size: 0.5em;
    transform: translate(-50px, 5px); /* Redescend */
    opacity: 0;
  }
}

/* Définition des animations */
@keyframes moveLeft {
    0% { transform: translateX(0); opacity: 1; }
    100% { transform: translateX(-50px); opacity: 0; }
}

@keyframes moveRight {
    0% { transform: translateX(0); opacity: 1; }
    100% { transform: translateX(50px); opacity: 0; }
}

@keyframes moveUp {
    0% { transform: translateY(0); opacity: 1; }
    100% { transform: translateY(-50px); opacity: 0; }
}

@keyframes moveUpLeft {
    0% { transform: translate(0, 0); opacity: 1; }
    100% { transform: translate(-30px, -50px); opacity: 0; }
}

@keyframes moveUpRight {
    0% { transform: translate(0, 0); opacity: 1; }
    100% { transform: translate(30px, -50px); opacity: 0; }
}
@keyframes Pulsation {
  0% {
    transform: scale(0.9);
  }  45% {
    transform: scale(1.3);
  }
    100% {
    transform: scale(0.9);
  }
}
@keyframes Zoof {
  0% {
    transform: translateX(-150%) scale(0.7);
    opacity: 0;
  } 12% {
    transform: translateX(-20%);
    opacity: 1;
  } 85% {
    transform: translateX(5%) scale(1.1);
    opacity: 1;
  }  100% {
    transform: translateX(40%) scale(1.2);
    opacity: 0;
  }
}
@keyframes gameOutcomeZoof {
  0% {
    transform: translate(-260%, -50%) scale(0.82);
    opacity: 0;
  }
  15% {
    transform: translate(-60%, -50%) scale(1);
    opacity: 1;
  }
  85% {
    transform: translate(-30%, -50%) scale(1);
    opacity: 1;
  }
  100% {
    transform: translate(260%, -50%) scale(0.9);
    opacity: 0;
  }
}
@keyframes glitterLootFloat {
  0% {
    transform:
      translate3d(0, 20px, 0)
      rotate(0deg)
      scale(0.4);
    opacity: 0;
  }
  5% {
    opacity: 0.2;
  }
  25% {
    opacity: 0.7;
  }

  70% {
    opacity: 1;
  }
  90% {
    opacity: 0.5;
  }
  100% {
    transform:
      translate3d(
        var(--move-x),
        calc(var(--move-y) * -1),
        0
      )
      rotate(var(--rotation))
      scale(1.2);
    opacity: 0;
  }
}

@keyframes glitterLootDisperse {
  0% {
    opacity: 1;
    transform:
      translate3d(0, 0, 0)
      rotate(0deg)
      scale(1);
  }
  70% {
    opacity: 0.75;
  }
  100% {
    opacity: 0.85;
    transform:
      translate3d(var(--burst-x), var(--burst-y), 0)
      rotate(var(--burst-rotation))
      scale(0.75);
  }
}
@keyframes fadeIn {
  from { opacity: 0; transform: translateY(-5px); }
  to { opacity: 1; transform: translateY(0); }
}
@keyframes fadeinblack {
    to {
        opacity: 1;
    }
}
@keyframes SoftPulsation {
  0% {
    transform: scale(0.9);
  }  50% {
    transform: scale(1.1);
  }
    100% {
    transform: scale(0.9);
  }
}
@keyframes Consommablepulse {
  0% {
    transform: scale(1);filter: drop-shadow(0px 0 2px #ffd800)
  }
  25% {
    transform: scale(1.05);filter: drop-shadow(0px 0 8px #ffd800)
  }
  100% {
    transform: scale(1);filter: drop-shadow(0px 0 2px #ffd800)
  }
}
@keyframes Profanationpulse {
  0% {
    transform: scale(0.8);filter: drop-shadow(0px 0 2px #BB0000)
  }
  25% {
    transform: scale(1.05);filter: drop-shadow(0px 0 8px #000000)
  }
  100% {
    transform: scale(0.6);filter: drop-shadow(0px 0 2px #BB0000)
  }
}
@keyframes spin {
    0% {
        transform: rotate(0deg);
    }
    100% {
        transform: rotate(360deg);
    }
}

@keyframes grow {
    0% {
        transform: scale(0);
    }
    100% {
        transform: scale(1);
    }
}
@keyframes GrowHexIcon {
    0% {
        transform:translate(-50%, -50%) scale(0);
    }
    90% {
        transform: translate(-50%, -50%) scale(1);
    } 100% {
        transform:translate(-50%, -50%) scale(0.9);
    }
}
@keyframes blink {
    0%, 100% { opacity: 1; }
    50% { opacity: 0.35; }
}
@keyframes softblink {
    0%, 100% { opacity: 0.95; }
    50% { opacity: 0.75; }
}
  @keyframes deathblink {
    0% { opacity: 1; }
    50% { opacity: 0; }
    100% { opacity: 1; }
  }
@keyframes fontpulse {
  0%, 100% {
    font-size: 1em; /* Taille de base */
  }
  50% {
    font-size: 1.2em; /* Taille augmentée */
  }
}


@keyframes dodgeEffectA {
    0%   { transform: translateX(0) rotate(0); }
    30%  { transform: translateX(-28px) rotate(8deg); }
    60%  { transform: translateX(-16px) rotate(-3deg); }
    85%  { transform: translateX(-6px) rotate(1deg); }
    100% { transform: translateX(0) rotate(0); }
}

@keyframes blink {
  0%, 100% { opacity: 1; }
  50% { opacity: 0.1; }
}

@keyframes chestOpenAnimation {
    from {
        transform: scale(1);
    }
    to {
        transform: scale(1.5);
    }
}
@keyframes rotationes {
  from {
    transform: rotate(0deg) scale(0);
  }
  to {
    transform: rotate(360deg) scale(1.8);
  }
}
@keyframes attackBoom {
  0% {
    transform: scale(1);
    filter: drop-shadow(0 0 0px rgba(255, 80, 80, 0));
    opacity: 1;
  }
  20% {
    transform: scale(1.25);
    filter: drop-shadow(0 0 15px rgba(255, 80, 80, 0.6));
  }
  60% {
    transform: scale(1);
    filter: drop-shadow(0 0 25px rgba(255, 80, 80, 0.3));
  }
  100% {
    transform: scale(1);
    filter: drop-shadow(0 0 0px rgba(255, 80, 80, 0));
    opacity: 1;
  }
}

@keyframes shake {
      0% { transform: translate(0px, 0px) rotate(0deg); }
      25% { transform: translate(1px, -1px) rotate(-1deg); }
      50% { transform: translate(-1px, 1px) rotate(1deg); }
      75% { transform: translate(1px, 1px) rotate(0deg); }
      100% { transform: translate(0px, 0px) rotate(-1deg); }
    }
	
	@keyframes dropIn {
  0% {
    transform: translateY(-50px);
    opacity: 0;
  }
  100% {
    transform: translateY(0);
    opacity: 1;
  }
}

@keyframes jumpOnPlace {
  0%   { transform: translateY(0); }
  30%  { transform: translateY(-10px); }
  60%  { transform: translateY(0); }
  100% { transform: translateY(0); }
}


@keyframes runaway-shift {
    0% {
        transform: translateX(0) scaleX(-1);
        opacity: 1;
    }
    100% {
        transform: translateX(200px) scaleX(-1);
        opacity: 0;
    }
}

@keyframes popFade {
  0% {
    transform: scale(0);
     }
  20% {
    transform: scale(1.1);
     }
  40% {
    transform: scale(0.95);
  }
  60% {
    transform: scale(1);
  }
  100% {
    transform: scale(1);
     }
}

@keyframes runawayBlink {
  0%, 100% {
    opacity: 1;
  }
  50% {
    opacity: 0.8;
  }
}
@keyframes glowPulseFast {
  0% {
    transform: scale(1);
    filter: drop-shadow(0 0 4px #ffd800);
  }
  30% {
    transform: scale(1.2);
    filter: drop-shadow(0 0 10px #ffe700);
  }

  100% {
    transform: scale(0.95);
    filter: drop-shadow(0 0 4px #ffd800);
  }
}

@keyframes textGlowPulseFast {
  0%,
  100% {
    text-shadow:
      0 0 3px rgba(255, 216, 0, 0.45),
      0 0 8px rgba(255, 216, 0, 0.25);
  }

  50% {
    text-shadow:
      0 0 5px rgba(255, 231, 0, 0.75),
      0 0 14px rgba(255, 231, 0, 0.45);
  }
}


@keyframes glowPulseLoot {
  0% {
    transform: scale(1);
    filter: drop-shadow(0 0 4px #ffd800);
  }
  20% {
    transform: scale(1.01);
    filter: drop-shadow(0 0 10px #ffe700);
   }

  50% {
    transform: scale(1);
    filter: drop-shadow(0 0 4px #ffd800);
   }

  70% {
    transform: scale(1);
    filter: drop-shadow(0 0 4px #ffd800);
   }
  90% {
    transform: scale(1.01);
    filter: drop-shadow(0 0 10px #ffe700);
  }

  100% {
    transform: scale(1);
    filter: drop-shadow(0 0 4px #ffd800);
  }
}
@keyframes glowPulseLootCritical{
  0% {
    transform: scale(1);
    filter: drop-shadow(0 0 4px #ff7200);
  }
  20% {
    transform: scale(1.01);
    filter: drop-shadow(0 0 10px #ff3c00);
   }

  50% {
    transform: scale(1);
    filter: drop-shadow(0 0 4px #ff7200);
   }

  70% {
    transform: scale(1);
    filter: drop-shadow(0 0 4px #ff7200);
   }
  90% {
    transform: scale(1.01);
    filter: drop-shadow(0 0 10px #ff3c00);
  }

  100% {
    transform: scale(1);
    filter: drop-shadow(0 0 4px #ff7200);
  }
}
@keyframes glowPulseLootLock {
  0% {
    transform: scale(1);
    filter: drop-shadow(0 0 4px #980000);
  }
  20% {
    transform: scale(1.01);
    filter: drop-shadow(0 0 10px #ff0000);
   }

  50% {
    transform: scale(1);
    filter: drop-shadow(0 0 4px #980000);
   }

  70% {
    transform: scale(1);
    filter: drop-shadow(0 0 4px #980000);
   }
  90% {
    transform: scale(1.01);
    filter: drop-shadow(0 0 10px #ff0000);
  }

  100% {
    transform: scale(1);
    filter: drop-shadow(0 0 4px #980000);
  }
}
@keyframes glowPulseUnlocking {
  0% {
    transform: scale(1);
    filter: drop-shadow(0 0 4px #feffe2);
  }
  20% {
    transform: scale(1.01);
    filter: drop-shadow(0 0 10px #fffff2);
   }

  50% {
    transform: scale(1);
    filter: drop-shadow(0 0 4px #feffe2);
   }

  70% {
    transform: scale(1);
    filter: drop-shadow(0 0 4px #feffe2);
   }
  90% {
    transform: scale(1.01);
    filter: drop-shadow(0 0 10px #fffff2);
  }

  100% {
    transform: scale(1);
    filter: drop-shadow(0 0 4px #feffe2);
  }
}
@keyframes glowFast {
  0% {
        filter: drop-shadow(0 0 4px #ffd800);
  }
  30% {
       filter: drop-shadow(0 0 10px #ffe700);
  }

  100% {
      filter: drop-shadow(0 0 4px #ffd800);
  }
}
@keyframes glowSlow {
  0% {
        filter: drop-shadow(0 0 4px #ffd8007d);
  }
  30% {
       filter: drop-shadow(0 0 10px #ffd8007d);
  }

  100% {
      filter: drop-shadow(0 0 4px #ffd8007d);
  }
}
@keyframes glowAura {
  0% {
    filter: drop-shadow(0 0 3px #ffd8005a);
    opacity: 0.5;
  }
  30% {
    filter: drop-shadow(0 0 5px #ffd8005a);
    opacity: 0.8;
  }
  100% {
    filter: drop-shadow(0 0 3px #ffd8005a);
    opacity: 0.5;
  }
}
@keyframes glowFastCommon {
  0% {
        filter: drop-shadow(0 0 1px #ffffffad);
  }
  30% {
       filter: drop-shadow(0 0 3px #ffffffad);
  }

  100% {
      filter: drop-shadow(0 0 1px #ffffffad);
  }
}
@keyframes glowFastUncommon {
  0% {
        filter: drop-shadow(0 0 2px #4ce055c9);
  }
  30% {
       filter: drop-shadow(0 0 4x #4ce055c9);
  }

  100% {
      filter: drop-shadow(0 0 2px #4ce055c9);
  }
}
@keyframes glowFastRare {
  0% {
        filter: drop-shadow(0 0 2px #0048ffb2);
  }
  30% {
       filter: drop-shadow(0 0 4px #0048ffb2);
  }

  100% {
      filter: drop-shadow(0 0 2px #0048ffb2);
  }
}
@keyframes glowFastEpic {
  0% {
        filter: drop-shadow(0 0 3px #c000ffb0);
  }
  30% {
       filter: drop-shadow(0 0 5px #c000ffb0);
  }

  100% {
      filter: drop-shadow(0 0 3px#c000ffb0);
  }
}
@keyframes glowFastLegendary {
0% {
        filter: drop-shadow(0 0 4px #ffb400bd);
  }
  30% {
       filter: drop-shadow(0 0 6px #ffb400bd);
  }

  100% {
      filter: drop-shadow(0 0 4px #ffb400bd);
  }
}
@keyframes glowFastMythic {
 0% {
        filter: drop-shadow(0 0 6px #e60000e8);
  }
  30% {
       filter: drop-shadow(0 0 8px #e60000e8);
  }

  100% {
      filter: drop-shadow(0 0 6px #e60000e8);
  }
}
@keyframes bounceOnce {
    0%   { transform: scale(1); }
    50%  { transform: scale(1.2); }
    100% { transform: scale(1); }
}

@keyframes bounceRotate {
  0% {
    transform: scale(1) rotate(0deg);
  }

  50% {
    transform: scale(1.2) rotate(12deg);
  }

  100% {
    transform: scale(1) rotate(0deg);
  }
}
 @keyframes glitter-fade {
      0% { opacity: 0; transform: scale(0.5); }
      50% { opacity: 1; transform: scale(1.1); }
      100% { opacity: 0; transform: scale(0.3); }
    }
	
@keyframes hardBounceRotate {
  0% {
    transform: scale(1) rotate(0deg);
  }
  50% {
    transform: scale(1.2) rotate(20deg);
  }
  100% {
    transform: scale(1) rotate(0deg);
  }
} 
@keyframes fallFromSky {
  0% {
    opacity: 0;
    transform: translateY(-40px) scale(1.1);
    color: #ff6600;
    text-shadow: 0 0 10px rgba(255, 100, 0, 0.6);
  }
  60% {
    opacity: 1;
    transform: translateY(5px) scale(1.05);
    color: #ffcc00;
    text-shadow: 0 0 15px rgba(255, 180, 0, 0.7);
  }
  100% {
    transform: translateY(0) scale(1);
    color: inherit;
    text-shadow: none;
  }
}
@keyframes metallicPulse {
  0%, 100% { opacity: 0.5; }
  50% { opacity: 1; }
}
@keyframes critPop {
  0% {
    transform: scale(2.4);
    opacity: 0;
  }
  10% {
    transform: scale(1.5);
    opacity: 1;
  } 15% {
	  transform: scale(1);
    opacity: 1;
   
  } 90% {
	  transform: scale(1);
    opacity: 1;
   
  }
  100% {
	   transform: scale(0.8);

    opacity: 0;
   
  }
}

@keyframes hypercognitionAura {
  0% {
        filter: drop-shadow(0 0 3px #C100AFCC);
  }
  30% {
       filter: drop-shadow(0 0 5px #C100AFCC);
  }

  100% {
      filter: drop-shadow(0 0 3px #C100AFCC);
  }
}

@keyframes milestonePulse {
    0% {
        transform: scale(1);
        opacity: 0.6;
    }
    70% {
        opacity: 0.15;
    }
    100% {
        transform: scale(4);
        opacity: 0;
    }
}
@keyframes clonePulse {
    0% {
        transform: scale(1);
        opacity: 1;
    }
    70% {
        opacity: 1;
    }
    100% {
        transform: scale(4);
        opacity: 0;
    }
}
@keyframes mediumPulse {
    0% {
        transform: scale(1);

    }
    50% {
        transform: scale(0.7);
    }
    100% {
        transform: scale(1);
    }
}

@keyframes heartsoul {
  0%   { transform: scale(1.01); }
  10%  { transform: scale(1.10); } /* 1er battement */
  18%  { transform: scale(1.04); }
  28%  { transform: scale(1.08); } /* 2e battement */
  36%  { transform: scale(1.10); }
  100% { transform: scale(1.15); } /* pause */
}
@keyframes eternalLifePulse {
  0%, 100% {
    filter: drop-shadow(0 0 3px rgba(255,255,255,.25))
            drop-shadow(0 0 8px rgba(255,255,255,.10));
  }
  50% {
    filter: drop-shadow(0 0 5px rgba(255,255,255,.75))
            drop-shadow(0 0 14px rgba(255,255,255,.28));
  }
}

@keyframes vibrasoul {
  0%, 100% {
    transform: translateX(0);
opacity:1;	
    transform: scale(1);
    
  }
  25% {
    transform: translateY(2px);
  
  }
  50% {
    transform: translateY(-1px);
    
	opacity:0.7;	
  }
  75% {
    transform: translateY(2px); 
      transform: scale(0.95);
	opacity:1;	
  }
}

.fadedLife.animate {
  animation-name: faded-life;
  animation-duration: var(--desync-duration, 0.468s);
  animation-delay: var(--desync-delay, 0s);
  animation-timing-function: ease-in-out;
  animation-iteration-count: infinite;
  will-change: transform;
}

/* extraLife -> levitate */
.extraLife.animate {
  animation-name: extra-life;
  animation-duration: var(--desync-duration, 4.2s);
  animation-delay: var(--desync-delay, 0s);
  animation-timing-function: ease-in-out;
  animation-iteration-count: infinite;
  will-change: transform;
}
@keyframes faded-life{
  0%, 100% { transform: translate(0, 0) rotate(0deg); }
  25%      { transform: translate(0.5px, -0.5px) rotate(0.5deg); }
  50%      { transform: translate(0, -0.5px) rotate(0deg); }
  75%      { transform: translate(-0.5px, -0.5px) rotate(-0.5deg); }
}
@keyframes extra-life {
  0% {
    transform-origin: center;
    transform: translate3d(0px, 0px, 0px)
              rotateX(0.15deg) rotateY(-0.15deg) rotateZ(0.10deg);
    filter: drop-shadow(0 0 3px rgba(255, 255, 255, 0.5));
  }

  33% {
    transform: translate3d(0.6px, 1px, 0.3px)
              rotateX(-0.10deg) rotateY(0.20deg) rotateZ(-0.08deg);
  }

  66% {
    transform: translate3d(-0.5px, 0.2px, -0.2px)
              rotateX(0.20deg) rotateY(-0.10deg) rotateZ(0.06deg);
    filter: drop-shadow(0 0 5px rgba(255, 211, 34, 0.9));
  }

  80% {
    transform: translate3d(0.2px, -1px, 0.1px)
              rotateX(-0.12deg) rotateY(0.12deg) rotateZ(-0.10deg);
  }  100% {
    transform: translate3d(0.2px, 0px, 0.1px)
              rotateX(-0deg) rotateY(0deg) rotateZ(0deg);
    filter: drop-shadow(0 0 8px rgba(255, 255, 255, 0.5));
  }
}


@keyframes mysticismFadeOut {
  from {
   transform: translate(-50%, -50%) scale(1);
    opacity: 1;
     }

  to {
     transform: translate(-50%, -50%) scale(0);

    opacity: 0;
  }
}
@keyframes mysticismScaleIn {
  0% {
    transform: translate(-50%, -50%) scale(0);
   
 opacity:0;
  }

  50% {
   transform: translate(-50%, -50%) scale(1);
    
    opacity:1;
  }
}
@keyframes overkillScale {
  0%   { transform: scale(0) translateY(20px); }
  7%   { transform: scale(1.1); }
  10%  { transform: scale(1); }
  100% { transform: scale(1.05)translateY(-10px); }
}

@keyframes overkillBlink {
  0%, 70% { opacity: 1; }

  74% { opacity: 0; }
  78% { opacity: 1; }

  82% { opacity: 0; }
  86% { opacity: 1; }

  89% { opacity: 0; }
  92% { opacity: 1; }

  94% { opacity: 0; }
  96% { opacity: 1; }

  100% { opacity: 0; }
}
@keyframes bloodCrazyPopIn {
  0% {
    transform: scale(0);
    opacity: 0;
  }

  60% {
    transform: scale(1.35);
    opacity: 1;
  }

  100% {
    transform: scale(1);
    opacity: 1;
  }
}
@keyframes bloodCrazyAuraVibrate {
	0% { transform: scale(1); 
	} 8% { 
	transform: scale(1.18); 
	} 16% { 
	transform: scale(1); 
	} 26% {
	transform: scale(1.18); 
	} 36% {
		transform: scale(1); 
		} 100% { 
		transform: scale(1.18); 
		} } 
		
	@keyframes bloodCrazyConsumed { 0% { transform: scale(1); opacity: 1; } 35% { transform: scale(1.4); opacity: 1; } 100% { transform: scale(0); opacity: 0; } }
	
	@keyframes umbraSoftBlink {
  0%, 100% {
    opacity: var(--umbra-opacity-min);
  }

  50% {
    opacity: var(--umbra-opacity-max);
  }
}
@keyframes umbraFadeIn {
  from { opacity: 0; }
  to { opacity: 0.9; }
}

@keyframes umbraLvl3Blink {
  0%, 100% { opacity: 1; }
  50% { opacity: 0.8; }
}

@keyframes chest-grow-opening {
    /* Pulsation 1 */
    0% {
        transform: scale(1);
    }

    6% {
        transform: scale(0.98);
    }

    14% {
        transform: scale(1.10);
    }

    22% {
        transform: scale(1.01);
    }

    /* Pulsation 2 */
    29% {
        transform: scale(0.97);
    }

    38% {
        transform: scale(1.22);
    }

    46% {
        transform: scale(1.07);
    }

    /* Pulsation 3 */
    53% {
        transform: scale(1.01);
    }

    62% {
        transform: scale(1.38);
    }

    69% {
        transform: scale(1.16);
    }

    /* Pulsation 4 */
    75% {
        transform: scale(1.08);
    }

    83% {
        transform: scale(1.46);
    }

    89% {
        transform: scale(1.28);
    }

    /* Pulsation 5 rapide */
    93% {
        transform: scale(1.18);
    }

    97% {
        transform: scale(1.57);
    }

    100% {
        transform: scale(1);
    }
}
@keyframes chest-angry-opening {
    0% {
        transform: translate(0, 0) rotate(0deg);
    }

    10% {
        transform: translate(-8px, 3px) rotate(-4deg);
    }

    20% {
        transform: translate(7px, -5px) rotate(5deg);
    }

    30% {
        transform: translate(-5px, -8px) rotate(-3deg);
    }

    40% {
        transform: translate(9px, 6px) rotate(4deg);
    }

    50% {
        transform: translate(-9px, 1px) rotate(-5deg);
    }

    60% {
        transform: translate(5px, 8px) rotate(3deg);
    }

    70% {
        transform: translate(8px, -3px) rotate(5deg);
    }

    80% {
        transform: translate(-6px, 7px) rotate(-4deg);
    }

    90% {
        transform: translate(3px, -7px) rotate(3deg);
    }

    100% {
        transform: translate(0, 0) rotate(0deg);
    }
}

@keyframes chestAutoPulse {
  0%, 3%, 8%, 12%, 16%,100% {
    transform: rotate(0deg);
  }

  2%,6%, 10%,14%, 18% {
    transform: rotate(2deg);
  }

  7%, 13% {
    transform: rotate(-2deg);
  }
}
@keyframes occultismBarSlowBlink {
  0% {
    background-position: 0% 50%;
    filter: brightness(0.75) saturate(0.85);
    box-shadow:
      0 0 5px rgba(90, 45, 18, 0.55),
      0 0 12px rgba(110, 63, 28, 0.35),
      0 0 22px rgba(90, 45, 18, 0.25);
  }

  50% {
    background-position: 100% 50%;
    filter: brightness(1.15) saturate(1.15);
    box-shadow:
      0 0 10px rgba(150, 90, 40, 1),
      0 0 22px rgba(170, 105, 52, 0.85),
      0 0 36px rgba(120, 68, 30, 0.65);
  }

  100% {
    background-position: 0% 50%;
    filter: brightness(0.75) saturate(0.85);
    box-shadow:
      0 0 5px rgba(90, 45, 18, 0.55),
      0 0 12px rgba(110, 63, 28, 0.35),
      0 0 22px rgba(90, 45, 18, 0.25);
  }
}
@keyframes battleRegenHpRise {
  0% {
    opacity: 0;
    transform: translate(-50%, 12px) scale(.75);
  }

  15% {
    opacity: 1;
    transform: translate(-50%, 0) scale(1);
  }

  100% {
    opacity: 0;
    transform: translate(-50%, -70px) scale(1.08);
  }
}
@keyframes surprise-attack-squeeze {
            0% {
                opacity: 0;
                transform: translate3d(100vw, -50%, 0) scaleX(0.2);
            }
            5% { opacity: 1; }
            10% {
                transform: translate3d(-50%, -50%, 0) scaleX(1.3);
            }
            15% {
                transform: translate3d(-50%, -50%, 0) scaleX(0.88);
            }
            20%, 80% {
                opacity: 1;
                transform: translate3d(-50%, -50%, 0) scaleX(1);
            }
            90% {
                opacity: 1;
                transform: translate3d(calc(-100vw - 100%), -50%, 0) scaleX(0.25);
            }
            100% {
                opacity: 0;
                transform: translate3d(calc(-100vw - 100%), -50%, 0) scaleX(0.15);
            }
        }
