
/* --- SUBTLE & DISCREET ROLE THEME ENHANCEMENTS --- */
.chat-message-system.chat-message-role-prompt.chat-role-bigBadWolf,
.chat-message-system.chat-message-role-info.chat-role-bigBadWolf {
  border-left: 4px solid #c03030 !important;
  background: linear-gradient(90deg, rgba(192, 48, 48, 0.08) 0%, transparent 100%) !important;
}

.chat-message-system.chat-message-role-prompt.chat-role-bigBadWolf .chat-system-text,
.chat-message-system.chat-message-role-info.chat-role-bigBadWolf .chat-system-text {
  text-shadow: 0 0 6px rgba(192, 48, 48, 0.3);
}

.chat-message-system.chat-message-role-prompt.chat-role-whiteWerewolf,
.chat-message-system.chat-message-role-info.chat-role-whiteWerewolf {
  border-left: 4px solid #88c8e8 !important;
  background: linear-gradient(90deg, rgba(136, 200, 232, 0.08) 0%, transparent 100%) !important;
}

.chat-message-system.chat-message-role-prompt.chat-role-whiteWerewolf .chat-system-text,
.chat-message-system.chat-message-role-info.chat-role-whiteWerewolf .chat-system-text {
  text-shadow: 0 0 6px rgba(136, 200, 232, 0.3);
}

.chat-message-system.chat-message-role-prompt.chat-role-infectedFatherWolf,
.chat-message-system.chat-message-role-info.chat-role-infectedFatherWolf,
.chat-message-system.chat-style-public-role-effect.chat-role-infectedFatherWolf {
  border-left: 4px solid #bfff00 !important;
  background: linear-gradient(90deg, rgba(191, 255, 0, 0.08) 0%, transparent 100%) !important;
}
.chat-message-system.chat-message-role-prompt.chat-role-infectedFatherWolf .chat-system-text,
.chat-message-system.chat-message-role-info.chat-role-infectedFatherWolf .chat-system-text,
.chat-message-system.chat-style-public-role-effect.chat-role-infectedFatherWolf .chat-system-text {
  text-shadow: 0 0 6px rgba(191, 255, 0, 0.3);
  color: #eaff99 !important;
}
.chat-message-system.chat-message-role-prompt.chat-role-infectedFatherWolf .chat-role-icon-small,
.chat-message-system.chat-message-role-info.chat-role-infectedFatherWolf .chat-role-icon-small {
  filter: drop-shadow(0 0 4px rgba(191, 255, 0, 0.5));
}
.chat-message-system.chat-style-public-role-effect.chat-role-infectedFatherWolf .chat-role-icon-small {
  filter: drop-shadow(0 0 4px rgba(191, 255, 0, 0.5));
  animation: pulseToxic 2s ease-in-out infinite alternate;
}

.chat-message-system.chat-message-role-prompt.chat-role-bearTamer,
.chat-message-system.chat-message-role-info.chat-role-bearTamer,
.chat-message-system.chat-style-public-role-effect.chat-role-bearTamer {
  border-left: 4px solid #ff9900 !important;
  background: linear-gradient(90deg, rgba(255, 153, 0, 0.08) 0%, transparent 100%) !important;
}
.chat-message-system.chat-message-role-prompt.chat-role-bearTamer .chat-system-text,
.chat-message-system.chat-message-role-info.chat-role-bearTamer .chat-system-text,
.chat-message-system.chat-style-public-role-effect.chat-role-bearTamer .chat-system-text {
  text-shadow: 0 0 6px rgba(255, 153, 0, 0.3);
  color: #ffcc66 !important;
}
.chat-message-system.chat-message-role-prompt.chat-role-bearTamer .chat-role-icon-small,
.chat-message-system.chat-message-role-info.chat-role-bearTamer .chat-role-icon-small {
  filter: drop-shadow(0 0 4px rgba(255, 153, 0, 0.5));
}
.chat-message-system.chat-style-public-role-effect.chat-role-bearTamer .chat-role-icon-small {
  filter: drop-shadow(0 0 4px rgba(255, 153, 0, 0.5));
  animation: shakeWarning 0.5s ease-in-out infinite alternate;
}

.chat-message-system.chat-message-role-prompt.chat-role-raven,
.chat-message-system.chat-message-role-info.chat-role-raven,
.chat-message-system.chat-style-public-role-effect.chat-role-raven {
  border-left: 4px solid #8e44ad !important;
  background: linear-gradient(90deg, rgba(142, 68, 173, 0.08) 0%, transparent 100%) !important;
}
.chat-message-system.chat-message-role-prompt.chat-role-raven .chat-system-text,
.chat-message-system.chat-message-role-info.chat-role-raven .chat-system-text,
.chat-message-system.chat-style-public-role-effect.chat-role-raven .chat-system-text {
  text-shadow: 0 0 6px rgba(142, 68, 173, 0.3);
  color: #e8d0f1 !important;
}
.chat-message-system.chat-message-role-prompt.chat-role-raven .chat-role-icon-small,
.chat-message-system.chat-message-role-info.chat-role-raven .chat-role-icon-small {
  filter: drop-shadow(0 0 4px rgba(142, 68, 173, 0.5));
}
.chat-message-system.chat-style-public-role-effect.chat-role-raven .chat-role-icon-small {
  filter: drop-shadow(0 0 4px rgba(142, 68, 173, 0.5));
  animation: flutterRaven 3s ease-in-out infinite alternate;
}

.chat-message-system.chat-message-role-prompt.chat-role-angel,
.chat-message-system.chat-message-role-info.chat-role-angel,
.chat-message-system.chat-style-public-role-effect.chat-role-angel {
  border-left: 4px solid #4ddbff !important;
  background: linear-gradient(90deg, rgba(77, 219, 255, 0.08) 0%, transparent 100%) !important;
}
.chat-message-system.chat-message-role-prompt.chat-role-angel .chat-system-text,
.chat-message-system.chat-message-role-info.chat-role-angel .chat-system-text,
.chat-message-system.chat-style-public-role-effect.chat-role-angel .chat-system-text {
  text-shadow: 0 0 6px rgba(77, 219, 255, 0.4);
  color: #e6f7ff !important;
}
.chat-message-system.chat-message-role-prompt.chat-role-angel .chat-role-icon-small,
.chat-message-system.chat-message-role-info.chat-role-angel .chat-role-icon-small {
  filter: drop-shadow(0 0 4px rgba(77, 219, 255, 0.5));
}
.chat-message-system.chat-style-public-role-effect.chat-role-angel .chat-role-icon-small {
  filter: drop-shadow(0 0 4px rgba(77, 219, 255, 0.5));
  animation: hoverAngel 4s ease-in-out infinite;
}

/* Ange : a péché → marron */
.chat-message-system.chat-message-role-info.chat-role-angel.tone-success {
  border-left-color: #c47a3a !important;
  background: linear-gradient(90deg, rgba(196, 122, 58, 0.10) 0%, transparent 100%) !important;
}
.chat-message-system.chat-message-role-info.chat-role-angel.tone-success .chat-system-text {
  text-shadow: 0 0 6px rgba(196, 122, 58, 0.4);
  color: #f2d0a0 !important;
}
.chat-message-system.chat-message-role-info.chat-role-angel.tone-success .chat-role-icon-small {
  filter: drop-shadow(0 0 4px rgba(196, 122, 58, 0.5));
}

/* Ange : n'a pas péché → vert */
.chat-message-system.chat-message-role-info.chat-role-angel.tone-neutral {
  border-left-color: var(--hybrid-success) !important;
  background: linear-gradient(90deg, rgba(92, 218, 137, 0.08) 0%, transparent 100%) !important;
}
.chat-message-system.chat-message-role-info.chat-role-angel.tone-neutral .chat-system-text {
  text-shadow: 0 0 6px rgba(92, 218, 137, 0.4);
  color: #c8f5dc !important;
}
.chat-message-system.chat-message-role-info.chat-role-angel.tone-neutral .chat-role-icon-small {
  filter: drop-shadow(0 0 4px rgba(92, 218, 137, 0.5));
}

.chat-phase-separator .chat-role-icon-small {
  animation: none !important;
  transform: none !important;
}

/* --- PYROMANCER EXPLOSION --- */
.chat-pyro-explosion {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 8px 14px;
  margin: 4px 0;
  border-left: 3px solid var(--hybrid-danger);
  background: rgba(255, 60, 60, 0.07);
  box-shadow: -3px 0 10px -2px rgba(255, 60, 60, 0.35);
  animation: pyro-shake 2.8s cubic-bezier(.36,.07,.19,.97) both;
}
.chat-pyro-explosion.chat-pyro-explosion--multi {
  border-left-color: var(--hybrid-success);
  background: rgba(92, 218, 137, 0.07);
  box-shadow: -3px 0 10px -2px rgba(92, 218, 137, 0.35);
}

.chat-pyro-icon {
  flex-shrink: 0;
  color: var(--hybrid-danger);
  display: flex;
  align-items: center;
}
.chat-pyro-explosion--multi .chat-pyro-icon {
  color: var(--hybrid-success);
}

.chat-pyro-body {
  display: flex;
  flex-direction: column;
  gap: 1px;
  min-width: 0;
}
.chat-pyro-title {
  font-size: 0.7rem;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--hybrid-danger);
  line-height: 1.2;
}
.chat-pyro-explosion--multi .chat-pyro-title {
  color: var(--hybrid-success);
}
.chat-pyro-text {
  font-size: 0.88rem;
  color: var(--hybrid-ink);
  line-height: 1.4;
}

@keyframes pyro-shake {
  8%, 92% { transform: translate3d(-2px, 0, 0); }
  16%, 84% { transform: translate3d(4px, 0, 0); }
  24%, 40%, 56%, 72% { transform: translate3d(-6px, 0, 0); }
  32%, 48%, 64%, 80% { transform: translate3d(6px, 0, 0); }
}

@keyframes flutterRaven {
  0% { transform: scale(1) translateY(0px) rotate(-3deg); }
  50% { transform: scale(1.05) translateY(-3px) rotate(3deg); }
  100% { transform: scale(1) translateY(0px) rotate(-3deg); }
}

@keyframes pulseToxic {
  0% { transform: scale(1); filter: drop-shadow(0 0 4px #bfff00) brightness(1); }
  100% { transform: scale(1.15); filter: drop-shadow(0 0 10px #bfff00) brightness(1.2); }
}

@keyframes shakeWarning {
  0% { transform: rotate(-10deg) scale(1.1) translateY(-1px); }
  100% { transform: rotate(10deg) scale(1.1) translateY(1px); }
}

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