/* v1.0.3.1 — Identity lock: the original Mei illustration is the only
   character image used in every movement/spell state. A pose label controls
   animation, not replacement artwork. Never stretch the source illustration. */
.scene-backdrop .world-plane .world-mei-rig {
  height: 56% !important;
  width: auto !important;
  aspect-ratio: 362 / 537 !important;
}
.scene-backdrop .world-plane .world-mei-rig .actor-mei-art {
  object-fit: contain !important;
  object-position: bottom center !important;
}
/* The original sprite has an empty right hand. Props travel with the same
   world-coordinate actor, rather than being baked into inconsistent poses. */
.scene-backdrop .world-plane .world-mei-rig .actor-prop.hand-lantern,
.scene-backdrop .world-plane .world-mei-rig .actor-prop.hand-flower {
  display: block !important;
  pointer-events: none !important;
}
.scene-backdrop .world-plane .world-mei-rig .hand-lantern {
  left: 70% !important;
  top: 50% !important;
  height: 31% !important;
}
.scene-backdrop .world-plane .world-mei-rig .hand-flower {
  left: 69% !important;
  top: 52% !important;
  height: 20% !important;
}
/* Translate/rotate only; Mei's proportions and facial identity never change. */
.world[data-mei-frame="idle"] .world-mei-rig .actor-mei-art {animation: meiIdentityIdle 3.5s ease-in-out infinite alternate!important;}
.world[data-mei-frame="walk"] .world-mei-rig .actor-mei-art,
.world[data-mei-frame="run"] .world-mei-rig .actor-mei-art,
.world.world-just-traveled .world-mei-rig .actor-mei-art {animation: meiIdentityWalk .48s ease-in-out infinite alternate!important;}
.world[data-mei-frame="lantern"] .world-mei-rig .actor-mei-art,
.world[data-mei-frame="flower"] .world-mei-rig .actor-mei-art {animation: meiIdentityIdle 2.5s ease-in-out infinite alternate!important;}
.world.spell-acting[data-action="carry-lantern"] .world-mei-rig .actor-mei-art,
.world.spell-acting[data-action="carry-flower"] .world-mei-rig .actor-mei-art {animation: meiIdentityReach .8s ease-in-out 1!important;}
.world.spell-acting[data-action="cast"] .world-mei-rig .actor-mei-art,
.world.spell-acting[data-action="open"] .world-mei-rig .actor-mei-art {animation: meiIdentityCast 1s ease-out 1!important;}
.world[data-mei-frame="celebrate"] .world-mei-rig .actor-mei-art {animation: meiIdentityCheer .6s ease-in-out 2!important;}
@keyframes meiIdentityIdle {to{transform:translateY(-2px) rotate(-.5deg)}}
@keyframes meiIdentityWalk {from{transform:translateY(0) rotate(-1deg)}to{transform:translateY(-4px) rotate(1deg)}}
@keyframes meiIdentityReach {50%{transform:translate(3%,-2%) rotate(-4deg)}}
@keyframes meiIdentityCast {45%{transform:translateY(-3%) rotate(-9deg)}}
@keyframes meiIdentityCheer {50%{transform:translateY(-7%) rotate(-3deg)}}
body.reduce-motion .world .world-mei-rig .actor-mei-art {animation:none!important;transition:none!important;transform:none!important}
@media (prefers-reduced-motion:reduce) {.world .world-mei-rig .actor-mei-art{animation:none!important;transition:none!important;transform:none!important}}
@media(max-width:720px){.scene-backdrop .world-plane .world-mei-rig{height:54%!important}}
