/* Role-specific visual effects. This file is loaded globally but all selectors are scoped to Werewolf. */
.werewolf-page.phase-night .my-role-card img[alt='Seer'],
.werewolf-page.phase-night .my-role-card img[alt='Aura Seer'],
.werewolf-page.phase-night .my-role-card img[alt='P.I. / Paranormal Investigator'] {
  animation: werewolf-seer-vision 2.4s ease-in-out infinite;
  filter: drop-shadow(0 0 10px rgb(103 232 249 / 80%)) saturate(1.15);
}

.werewolf-page.phase-night .my-role-card img[alt='Werewolf'],
.werewolf-page.phase-night .my-role-card img[alt='Wolf Cub'],
.werewolf-page.phase-night .my-role-card img[alt='Teenage Werewolf'],
.werewolf-page.phase-night .my-role-card img[alt='Lone Wolf'] {
  animation: werewolf-wolf-breath 1.8s ease-in-out infinite;
  filter: drop-shadow(0 0 16px rgb(239 68 68 / 72%));
}

.werewolf-page.phase-night .my-role-card img[alt='Witch'],
.werewolf-page.phase-night .my-role-card img[alt='Sorcerer / Sorceress'],
.werewolf-page.phase-night .my-role-card img[alt='Spellcaster'],
.werewolf-page.phase-night .my-role-card img[alt='Magician'] {
  animation: werewolf-magic-float 3s ease-in-out infinite;
  filter: drop-shadow(0 0 18px rgb(192 132 252 / 72%));
}

.werewolf-page.phase-night .my-role-card img[alt='Bodyguard'],
.werewolf-page.phase-night .my-role-card img[alt='Priest'] {
  animation: werewolf-guardian-halo 2.2s ease-in-out infinite;
  filter: drop-shadow(0 0 16px rgb(253 224 71 / 70%));
}

.werewolf-page.phase-night .my-role-card img[alt='Vampire'] {
  animation: werewolf-vampire-pulse 1.7s ease-in-out infinite;
  filter: drop-shadow(0 0 20px rgb(190 24 93 / 80%));
}

.werewolf-page.phase-voting .village-player.selected {
  animation: werewolf-vote-target 0.75s ease-in-out infinite alternate;
}

.werewolf-page .action-list button.selected {
  position: relative;
  isolation: isolate;
  overflow: hidden;
}

.werewolf-page .action-list button.selected::after {
  content: '';
  position: absolute;
  inset: -80%;
  z-index: -1;
  background: conic-gradient(transparent, rgb(251 146 60 / 45%), transparent 30%);
  animation: werewolf-action-orbit 2s linear infinite;
}

@keyframes werewolf-seer-vision {
  0%, 100% { transform: scale(1); opacity: .9; }
  50% { transform: scale(1.035); opacity: 1; }
}

@keyframes werewolf-wolf-breath {
  0%, 100% { transform: scale(1); filter: drop-shadow(0 0 8px rgb(239 68 68 / 55%)); }
  50% { transform: scale(1.045); filter: drop-shadow(0 0 24px rgb(239 68 68 / 92%)); }
}

@keyframes werewolf-magic-float {
  0%, 100% { transform: translateY(0) rotate(-.5deg); }
  50% { transform: translateY(-9px) rotate(.7deg); }
}

@keyframes werewolf-guardian-halo {
  0%, 100% { transform: scale(1); filter: drop-shadow(0 0 8px rgb(253 224 71 / 50%)); }
  50% { transform: scale(1.025); filter: drop-shadow(0 0 28px rgb(253 224 71 / 90%)); }
}

@keyframes werewolf-vampire-pulse {
  0%, 100% { transform: scale(1); filter: saturate(1) drop-shadow(0 0 10px rgb(190 24 93 / 55%)); }
  50% { transform: scale(1.035); filter: saturate(1.35) drop-shadow(0 0 28px rgb(190 24 93 / 95%)); }
}

@keyframes werewolf-vote-target {
  to { transform: translateY(-7px) rotate(-1deg); box-shadow: 0 0 0 5px rgb(249 115 22 / 55%), 0 0 34px rgb(249 115 22 / 70%); }
}

@keyframes werewolf-action-orbit {
  to { transform: rotate(1turn); }
}

@media (prefers-reduced-motion: reduce) {
  .werewolf-page .my-role-card img,
  .werewolf-page .village-player,
  .werewolf-page .action-list button::after {
    animation: none !important;
  }
}
