/* Preserve pixel clusters and align the world plane with the sprite anchors. */
.scene-bg > img,
.in-combat .scene-bg > img {
  filter: none !important;
  scale: 1;
  object-fit: cover;
  image-rendering: pixelated;
  opacity: .78;
}
.in-combat .scene-bg > img {
  max-width: none;
  max-height: none;
  bottom: auto;
  opacity: .92;
  mask-image: linear-gradient(to bottom, #000 0%, #000 78%, transparent 100%);
}
.in-combat .scene-bg {
  background: #14261f;
}
.scene-bg > .scene-edge { display: none; transform: scaleX(-1); }
.in-combat .scene-bg > .scene-edge { display: block; }
.in-combat .scene-bg:after {
  background: linear-gradient(#0a1c272b, #0b1b221a 45%, #07151a80 85%, #07151ac7);
}
.in-combat .sprite-stage:before {
  content: '';
  position: absolute;
  left: 50%;
  bottom: 0;
  width: 36%;
  height: 12px;
  transform: translateX(-36%) skewX(-28deg);
  clip-path: polygon(18% 0, 70% 0, 70% 15%, 89% 15%, 89% 35%, 100% 35%, 100% 68%, 85% 68%, 85% 85%, 64% 85%, 64% 100%, 17% 100%, 17% 85%, 0 85%, 0 30%, 18% 30%);
  background: var(--scene-contact-shadow, #182b245e);
  pointer-events: none;
  z-index: 0;
}
.in-combat .sprite-stage .pose-viewport { z-index: 1; }
.in-combat .sprite-stage .sprite-fx { z-index: 2; }
.in-combat .unit .health-text,
.in-combat .energy-label {
  color: #eef6ee;
  text-shadow: 1px 1px 0 #07151b, -1px 0 0 #07151b;
}
.in-combat .combat-board .combat-log {
  background: #08182070;
  color: #e8f2ed;
  text-shadow: 1px 1px 0 #07151b;
}
.in-combat .combat-top .eyebrow {
  font-family: var(--modern-font);
  text-shadow: 1px 1px 0 #07151b;
}
@media(max-width:960px) {
  .in-combat .sprite-stage:before { height: 8px; width: 50%; }
}
