/* =========================================
FICHIER MODIFIÉ COMPLET
src/styles/game.css
========================================= */


/* =========================================
BOOSSES
========================================= */

.boss-sprite {

  object-fit: contain;

  background: transparent;

  animation:
    fireballPulse 0.18s infinite alternate;

  filter:
    drop-shadow(0 0 10px rgba(255,40,0,0.8))
    drop-shadow(0 0 22px rgba(255,70,0,0.55))
    brightness(1.05);
}

.fireball {

  object-fit: contain;

  background: transparent;

  animation:
    fireballPulse 0.18s infinite alternate;
}

@keyframes fireballPulse {

  from {

    filter:
      drop-shadow(0 0 10px rgba(255,40,0,0.8))
      drop-shadow(0 0 22px rgba(255,70,0,0.55))
      brightness(1.05);
  }

  to {

    filter:
      drop-shadow(0 0 14px rgba(255,40,0,0.95))
      drop-shadow(0 0 30px rgba(255,100,0,0.8))
      brightness(1.5);
  }
}


/* =========================================
ELITE PHASE PREVIEW
========================================= */

.elite-preview {

  position: absolute;

  top: 86px;

  left: 24px;

  display: flex;

  align-items: center;

  gap: 12px;

  min-width: 260px;

  padding: 10px 14px 10px 10px;

  border: 1px solid rgba(255, 148, 0, 0.55);

  background:
    linear-gradient(
      90deg,
      rgba(45, 8, 12, 0.92),
      rgba(8, 8, 14, 0.78)
    );

  box-shadow:
    0 0 18px rgba(255, 0, 60, 0.35),
    inset 0 0 16px rgba(255, 148, 0, 0.12);

  opacity: 0;

  transform: translateX(-18px);

  transition:
    opacity 0.2s,
    transform 0.2s;

  z-index: 45;

  pointer-events: none;
}

.elite-preview.active {

  opacity: 1;

  transform: translateX(0);
}

.elite-preview-frame {

  width: 74px;

  height: 74px;

  display: flex;

  align-items: center;

  justify-content: center;

  border: 1px solid rgba(255, 255, 255, 0.12);

  background: rgba(255, 255, 255, 0.04);

  box-shadow:
    0 0 16px rgba(255, 0, 60, 0.45);
}

.elite-preview-frame img {

  max-width: 64px;

  max-height: 64px;

  object-fit: contain;

  animation:
    elitePreviewFlame 0.75s infinite alternate;
}

.elite-preview-copy {

  display: flex;

  flex-direction: column;

  gap: 4px;
}

.elite-preview-title {

  font-size: 15px;

  font-weight: 900;

  color: #ffffff;

  letter-spacing: 2px;

  text-shadow:
    0 0 8px #ff003c;
}

.elite-preview-skill {

  font-size: 11px;

  font-weight: 800;

  color: #ffae00;

  letter-spacing: 1px;
}

@keyframes elitePreviewFlame {

  from {

    filter:
      drop-shadow(0 0 10px rgba(255,0,60,0.95))
      drop-shadow(0 0 20px rgba(255,102,0,0.72))
      brightness(1.25);
  }

  to {

    filter:
      drop-shadow(0 0 16px rgba(255,0,60,1))
      drop-shadow(0 0 34px rgba(255,148,0,0.9))
      brightness(1.65);
  }
}


/* =========================================
ELITE WARNING
========================================= */

.elite-warning {

  position: absolute;

  top: 18%;

  left: 50%;

  transform: translateX(-50%);

  font-size: 42px;

  font-weight: 900;

  letter-spacing: 6px;

  color: #ff003c;

  text-shadow:
    0 0 10px #ff003c,
    0 0 25px #ff003c,
    0 0 50px #ff003c;

  opacity: 0;

  transition: opacity 0.25s;

  z-index: 999;

  pointer-events: none;

  animation:
    eliteWarningPulse 0.8s infinite alternate;
}


@keyframes eliteWarningPulse {

  from {

    transform:
      translateX(-50%)
      scale(1);

    filter:
      brightness(1);
  }

  to {

    transform:
      translateX(-50%)
      scale(1.05);

    filter:
      brightness(1.5);
  }
}


/* =========================================
ELITE ENEMIES
========================================= */

.elite-enemy {

  animation:
    elitePulse 0.8s infinite alternate;

  z-index: 20;
}


@keyframes elitePulse {

  from {

    opacity: 0.9;

    filter:
      drop-shadow(0 0 10px rgba(255,0,60,0.95))
      drop-shadow(0 0 22px rgba(255,102,0,0.7))
      brightness(1.25);
  }

  to {

    opacity: 1;

    filter:
      drop-shadow(0 0 16px rgba(255,0,60,1))
      drop-shadow(0 0 34px rgba(255,148,0,0.9))
      brightness(1.6);
  }
}
