/* STIMUL v16.20.0 — safe visual cleanup on top of v16.19.1 */

/* Retired legacy pet system. Keep backend inventory intact for rollback. */
#heroHomePetV16135,
#heroHomePetNameV16135,
#heroModalPetV16135,
#heroModalPetNameV16135,
#profilePetBadge,
.hero-home-pet-v16135,
.hero-home-pet-name-v16135,
.hero-pet-panel-v16135,
.pet-preview-scene-v16136,
.pet-preview-companion-v16136,
.pet-preview-caption-v16136,
[data-shop-section="pets"] {
  display: none !important;
}

/* Do not move the whole rectangular WebP asset. The current approved v16.19.1
   files are RGB (no alpha), so moving them looks like a card is floating. */
.av19-character {
  animation: none !important;
  transform: none !important;
  background: transparent !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  /* Fade the hard rectangular edges until true transparent hero assets replace these files. */
  -webkit-mask-image: radial-gradient(ellipse 78% 96% at 50% 50%, #000 54%, rgba(0,0,0,.96) 70%, rgba(0,0,0,.55) 86%, transparent 100%);
  mask-image: radial-gradient(ellipse 78% 96% at 50% 50%, #000 54%, rgba(0,0,0,.96) 70%, rgba(0,0,0,.55) 86%, transparent 100%);
}

/* Reactions affect light/glow only, not the whole image position. */
.av19-character.av19-react-tap,
.av19-character.av19-react-correct,
.av19-character.av19-react-wrong,
.av19-character.av19-react-victory,
.av19-character.av19-react-levelup {
  transform: none !important;
}
.av19-character.av19-react-correct {
  animation: v200HeroCorrectGlow .75s ease !important;
}
.av19-character.av19-react-wrong {
  animation: v200HeroWrongGlow .65s ease !important;
}
.av19-character.av19-react-victory,
.av19-character.av19-react-levelup {
  animation: v200HeroVictoryGlow 1.05s ease !important;
}

/* The aura may breathe because it is not the character/card bitmap itself. */
.av19-aura {
  animation: av19Aura 2.6s ease-in-out infinite !important;
}

@keyframes v200HeroCorrectGlow {
  0%,100% { filter: drop-shadow(0 12px 18px rgba(0,0,0,.28)) drop-shadow(0 0 10px var(--av19-glow)) brightness(1); }
  50% { filter: drop-shadow(0 12px 18px rgba(0,0,0,.28)) drop-shadow(0 0 28px var(--av19-glow)) brightness(1.13); }
}
@keyframes v200HeroWrongGlow {
  0%,100% { filter: drop-shadow(0 12px 18px rgba(0,0,0,.28)) drop-shadow(0 0 10px var(--av19-glow)) saturate(1); }
  50% { filter: drop-shadow(0 12px 18px rgba(0,0,0,.28)) drop-shadow(0 0 6px rgba(248,113,113,.55)) saturate(.72) brightness(.92); }
}
@keyframes v200HeroVictoryGlow {
  0%,100% { filter: drop-shadow(0 12px 18px rgba(0,0,0,.28)) drop-shadow(0 0 12px var(--av19-glow)) brightness(1); }
  45% { filter: drop-shadow(0 12px 18px rgba(0,0,0,.28)) drop-shadow(0 0 34px var(--av19-glow)) brightness(1.18); }
}

/* Host regions stay transparent; only the approved hero artwork is visible. */
.av18-slot-stage,
.av18-profile-avatar,
.av18-result-avatar,
.av18-intro-hero {
  background-color: transparent !important;
}

@media (prefers-reduced-motion: reduce) {
  .av19-character,
  .av19-aura {
    animation: none !important;
  }
}
