/* Isolated 2D collage. Road, vehicle and encounters are owned by the parent. */
.mobilab-forest-scenery {
  position: absolute;
  inset: 0;
  overflow: hidden;
  pointer-events: none;
  user-select: none;
  isolation: isolate;
  contain: layout paint;
}

.mobilab-forest-scenery .mobilab-forest-layer,
.mobilab-forest-scenery .mobilab-forest-terrain-layer {
  position: absolute;
  inset: 0;
  overflow: visible;
  pointer-events: none;
  will-change: transform;
  backface-visibility: hidden;
}

.mobilab-forest-terrains { position: absolute; inset: 0; z-index: 0; }
.mobilab-forest-layer--distance { z-index: 10; }
.mobilab-forest-layer--canopy { z-index: 11; }
.mobilab-forest-layer--middle { z-index: 12; }
.mobilab-forest-layer--undergrowth { z-index: 13; }
.mobilab-forest-layer--foreground { z-index: 14; }
.mobilab-forest-layer--landmark { z-index: 15; }

.mobilab-forest-scenery .mobilab-forest-relief {
  position: absolute;
  display: block;
  bottom: calc(100% - var(--route-ground, 82vh));
  max-width: none;
  overflow: hidden;
  z-index: 0;
  pointer-events: none;
}

.vertical-active .forest-backdrop {
  background: radial-gradient(ellipse at 65% 15%, #f4e2e955, transparent 65%), #faf0eb;
}

.mobilab-forest-scenery .mobilab-forest-asset {
  position: absolute;
  display: block;
  top: auto;
  right: auto;
  bottom: calc(100% - var(--route-ground, 82vh) + var(--forest-ground-offset, 0px));
  width: auto;
  max-width: none;
  min-width: 0;
  max-height: none;
  margin: 0;
  padding: 0;
  border: 0;
  border-radius: 0;
  object-fit: contain;
  object-position: center bottom;
  transform: translateX(-50%) scaleX(var(--forest-flip, 1));
  transform-origin: center bottom;
  filter: none;
  box-shadow: none;
  pointer-events: none;
  -webkit-user-drag: none;
}

.mobilab-forest-scenery .mobilab-forest-asset[hidden] { display: none; }

@media (prefers-reduced-motion: reduce) {
  /* No autonomous sway, drift, scaling or animation. update() remains immediate
     so the caller can substitute accessible static navigation without drift. */
  .mobilab-forest-scenery .mobilab-forest-layer { will-change: auto; }
}
