/* The scene is a 1:1 square at the top below the HUD, and the bottom panel
   fills the remaining height of the 390 × 740 frame with zero top/bottom gap. */
#app > .man-hinh-quay-gon,
#app > .man-hinh-3-vung {
  height: 100% !important;
  max-height: 100% !important;
  flex: 1 1 100%;
  margin: 0 !important;
}

#app .man-hinh-quay-gon > .khung-nen-tap-hoa-xanh-vang,
#app .man-hinh-3-vung > .khung-nen-tap-hoa-xanh-vang {
  flex: 0 0 auto;
}

#app .man-hinh-quay-gon > .khung-nen-tap-hoa-xanh-vang > .san-khau-quay,
#app .man-hinh-3-vung > .khung-nen-tap-hoa-xanh-vang > .san-khau-quay {
  flex: 0 0 auto;
  width: 100%;
  height: auto;
  aspect-ratio: 1 / 1;
}

#app .man-hinh-quay-gon > .khung-nen-tap-hoa-xanh-vang > .san-khau-quay.san-khau-cho-dau-hem {
  height: 318px !important;
  aspect-ratio: auto;
}

/* The renderer supplies a size derived from the scooter in the source image.
   Each child retains its own height ratio; lane selectors must not turn
   children into adult-sized pedestrians. Container units belong to the alley. */
#app .khung-duong-hem-dong .nguoi-di-bo-hem .khung-buoc-di-6-frame {
  display: block;
  width: var(--kich-thuoc-nguoi-di-duong) !important;
  height: var(--kich-thuoc-nguoi-di-duong) !important;
  aspect-ratio: 1 / 1;
}

