
/* ===== V4.02 avatar + equipped weapon + illustrated monsters ===== */

#dungeonBattleCard .v253-player-avatar-img{
  width:116px;
  height:148px;
  object-fit:contain;
  object-position:center bottom;
  display:block;
  filter:
    drop-shadow(0 12px 9px rgba(0,0,0,.78))
    drop-shadow(0 0 10px rgba(108,224,76,.12));
  transform-origin:50% 88%;
  user-select:none;
  pointer-events:none;
}

#dungeonBattleCard .v253-monster{
  width:136px;
  height:150px;
  display:block;
  overflow:visible;
  filter:
    drop-shadow(0 14px 10px rgba(0,0,0,.82))
    drop-shadow(0 0 12px rgba(87,218,68,.12));
  transform-origin:50% 86%;
  animation:v253MonsterIdle 2.4s ease-in-out infinite;
  pointer-events:none;
}

#dungeonBattleCard .v252-boss .v253-monster{
  width:158px;
  height:168px;
  filter:
    drop-shadow(0 15px 12px rgba(0,0,0,.86))
    drop-shadow(0 0 17px rgba(194,79,246,.34));
  animation:v253BossIdle 1.85s ease-in-out infinite;
}

#dungeonBattleCard .v253-monster .eye{
  animation:v253EyePulse 1.45s ease-in-out infinite alternate;
}
#dungeonBattleCard .v253-monster .limb-a{
  transform-origin:center;
  animation:v253LimbA 1.7s ease-in-out infinite alternate;
}
#dungeonBattleCard .v253-monster .limb-b{
  transform-origin:center;
  animation:v253LimbB 1.9s ease-in-out infinite alternate;
}
#dungeonBattleCard .v253-monster .smoke{
  transform-origin:center;
  animation:v253Smoke 2s ease-in-out infinite;
}

#dungeonBattleCard .v253-equipped-weapon{
  position:absolute;
  z-index:18;
  left:54%;
  top:40%;
  width:54px;
  height:54px;
  display:grid;
  place-items:center;
  font-size:38px;
  line-height:1;
  transform:rotate(-22deg);
  transform-origin:14% 82%;
  filter:
    drop-shadow(0 5px 4px #000b)
    drop-shadow(0 0 7px rgba(117,231,83,.26));
  pointer-events:none;
}
#dungeonBattleCard .v253-equipped-weapon:after{
  content:attr(data-name);
  position:absolute;
  left:50%;
  top:100%;
  transform:translateX(-50%);
  width:110px;
  margin-top:3px;
  color:#839085;
  font-size:5.4px;
  font-weight:900;
  text-align:center;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
  opacity:.82;
}

#dungeonBattleCard .v253-equipped-weapon.v253-swing{
  animation:v253WeaponSwing .43s cubic-bezier(.2,.8,.25,1);
}
#dungeonBattleCard .v253-equipped-weapon.v253-shoot{
  animation:v253WeaponShoot .38s ease-out;
}
#dungeonBattleCard .v253-equipped-weapon.v253-cast{
  animation:v253WeaponCast .5s ease-out;
}

#dungeonBattleCard .v253-weapon-trail{
  position:absolute;
  z-index:17;
  width:76px;
  height:76px;
  left:58%;
  top:34%;
  border:4px solid transparent;
  border-top-color:#81ec5d;
  border-right-color:#81ec5d;
  border-radius:50%;
  opacity:0;
  transform:rotate(18deg);
  filter:drop-shadow(0 0 7px #70dc50);
  pointer-events:none;
}
#dungeonBattleCard .v253-weapon-trail.show{
  animation:v253Trail .38s ease-out;
}

#dungeonBattleCard .v253-monster-core{
  transition:filter .2s ease;
}
#dungeonBattleCard .hit .v253-monster-core{
  filter:brightness(1.75) saturate(1.25);
}

/* Boss-specific purple stage glow */
#dungeonBattleCard.v252-boss-fight #enemyFighter:before{
  content:"";
  position:absolute;
  z-index:-1;
  width:190px;
  height:190px;
  left:50%;
  top:48%;
  transform:translate(-50%,-50%);
  border-radius:50%;
  background:
    radial-gradient(circle,rgba(191,67,238,.24),rgba(78,20,98,.08) 45%,transparent 70%);
  animation:v253BossAura 1.5s ease-in-out infinite alternate;
  pointer-events:none;
}

@keyframes v253MonsterIdle{
  0%,100%{transform:translateY(0) rotate(-1deg)}
  50%{transform:translateY(-6px) rotate(1deg)}
}
@keyframes v253BossIdle{
  0%,100%{transform:translateY(1px) scale(1)}
  50%{transform:translateY(-7px) scale(1.025)}
}
@keyframes v253EyePulse{
  from{opacity:.7;filter:drop-shadow(0 0 2px currentColor)}
  to{opacity:1;filter:drop-shadow(0 0 7px currentColor)}
}
@keyframes v253LimbA{
  from{transform:rotate(-3deg) translateY(0)}
  to{transform:rotate(4deg) translateY(-2px)}
}
@keyframes v253LimbB{
  from{transform:rotate(3deg)}
  to{transform:rotate(-5deg)}
}
@keyframes v253Smoke{
  0%{opacity:.2;transform:translateY(5px) scale(.9)}
  50%{opacity:.7}
  100%{opacity:.05;transform:translateY(-14px) scale(1.15)}
}
@keyframes v253WeaponSwing{
  0%{transform:rotate(-34deg) translate(0,0)}
  38%{transform:rotate(58deg) translate(15px,-9px) scale(1.12)}
  68%{transform:rotate(88deg) translate(23px,-5px)}
  100%{transform:rotate(-22deg) translate(0,0)}
}
@keyframes v253WeaponShoot{
  0%{transform:rotate(-22deg) translateX(0)}
  35%{transform:rotate(-12deg) translateX(10px)}
  55%{transform:rotate(-27deg) translateX(-5px)}
  100%{transform:rotate(-22deg) translateX(0)}
}
@keyframes v253WeaponCast{
  0%{transform:rotate(-22deg) scale(1)}
  35%{transform:rotate(-42deg) scale(1.18);filter:drop-shadow(0 0 12px #8b69ff)}
  70%{transform:rotate(8deg) scale(1.1)}
  100%{transform:rotate(-22deg) scale(1)}
}
@keyframes v253Trail{
  0%{opacity:0;transform:rotate(-45deg) scale(.55)}
  35%{opacity:1}
  100%{opacity:0;transform:rotate(80deg) scale(1.15)}
}
@keyframes v253BossAura{
  from{opacity:.55;transform:translate(-50%,-50%) scale(.92)}
  to{opacity:1;transform:translate(-50%,-50%) scale(1.08)}
}

@media(max-width:520px){
  #dungeonBattleCard .v253-player-avatar-img{
    width:94px;
    height:126px;
  }
  #dungeonBattleCard .v253-monster{
    width:112px;
    height:130px;
  }
  #dungeonBattleCard .v252-boss .v253-monster{
    width:128px;
    height:145px;
  }
  #dungeonBattleCard .v253-equipped-weapon{
    width:46px;height:46px;font-size:32px;
  }
}
