/* r05 跑步序列帧：8 帧整条横图，脚底线和横向中心与旧两帧跑步图一致（数据见 assets/ui/r05/run/run.json）。
   --k = 旧图按 object-fit:contain 放进角色框时的缩放，新帧按同一缩放显示，人物大小不变。 */
.hero,.clerk{container-type:size}
.actor .run8{display:block;position:absolute;inset:auto;left:50%;transform:translateX(-50%);
  --k:min(calc(100cqw / var(--ow)),calc(100cqh / var(--oh)));
  width:calc(var(--k) * var(--fw));height:calc(var(--k) * var(--fh));bottom:calc(var(--k) * var(--pb) * -1);
  background:var(--sheet) 0 0/800% 100% no-repeat;opacity:1;
  animation:run8 var(--dur) steps(8,jump-none) infinite}
.hero .run8{--ow:384;--oh:454;--fw:492;--fh:494;--pb:13;--sheet:url('../assets/ui/r05/run/hero-run.png');--dur:.72s}
.clerk .run8{--ow:348;--oh:436;--fw:496;--fh:495;--pb:15;--sheet:url('../assets/ui/r05/run/clerk-run.png');--dur:.6s}
.downturn .hero .run8,.reduced .hero .run8,.reading .clerk .run8,.relaxing .clerk .run8,.trade-cheer .hero .run8{display:none}
@keyframes run8{from{background-position:0 0}to{background-position:100% 0}}
