/* Each defeated drawing already lies on the ground at its normal foot line. */
.combatant.ko.aot-health-defeated {
  opacity: 1;
  filter: none;
  transform: translate(-50%, -100%);
  translate: 0 0;
  animation: none;
  transition: none;
}

.combatant.aot-health-defeated .party-sprite {
  opacity: 1;
  transform: none;
  animation: none;
  filter: drop-shadow(0 4px 2px rgba(0, 0, 0, 0.3));
}

/* Low-health movement is supplied by the drawn kneeling cloth frames. */
.combatant.aot-health-low:not(.aot-motion-active):not(.acting) {
  animation: none;
}

:is(.cael-health-preview, .party-health-preview) .page-shell { max-width: 1152px; }
:is(.cael-health-preview, .party-health-preview) .health-preview-actor { left: 46%; top: 86%; }
:is(.cael-health-preview, .party-health-preview) .party-sprite {
  width: calc(var(--health-preview-size, 320px) * var(--aot-sprite-canvas-ratio, 1));
  display: block;
}
:is(.cael-health-preview, .party-health-preview) .battle-viewport { height: 560px; aspect-ratio: auto; }
.health-preview-controls { display: flex; align-items: center; flex-wrap: wrap; gap: 10px; margin: 16px 0; }
.health-preview-controls .top-button[aria-pressed="true"] { outline: 2px solid var(--amber); }
.health-preview-controls button:disabled { opacity: 0.45; cursor: wait; }
.health-preview-label { color: var(--muted); font-size: 0.85rem; }
.health-preview-label input { width: 200px; vertical-align: middle; }
:is(.cael-health-preview, .party-health-preview) .health-preview-note { color: var(--muted); font-size: 0.85rem; line-height: 1.6; }
.party-health-preview .health-preview-characters { display: flex; flex-wrap: wrap; gap: 8px; margin: 14px 0; }
.party-health-preview button[aria-pressed="true"] { border-image-source: var(--ui-selected); }
.party-health-preview .health-preview-target { left: 79%; top: 80%; }
.party-health-preview .health-preview-target img { width: 100px; }
@media (max-width: 650px) {
  :is(.cael-health-preview, .party-health-preview) .battle-viewport { height: 430px; }
  :is(.cael-health-preview, .party-health-preview) .topbar { flex-wrap: wrap; }
  :is(.cael-health-preview, .party-health-preview) .party-sprite { width: calc(min(var(--health-preview-size, 320px), 64vw) * var(--aot-sprite-canvas-ratio, 1)); }
}
