/* One landscape source stage scales artwork, labels and native targets together. */
:root[data-overview-preview] { font-size: 16px; }
html[data-overview-preview] .app-shell {
  position: fixed; left: var(--overview-preview-left); top: var(--overview-preview-top);
  width: var(--overview-preview-width); height: calc(var(--overview-preview-height) + 54px);
  max-width: none; overflow: visible;
}
html[data-overview-preview] .stage {
  width: 1428px; height: 803.6770334928229px; min-width: 0;
  aspect-ratio: 1672 / 941; transform-origin: top left;
  transform: scale(var(--overview-preview-scale));
}
html[data-overview-preview] .status-rail {
  position: absolute; top: calc(var(--overview-preview-height) + 6px);
  left: 0; width: 100%; height: 48px; margin: 0;
}
/* Navigation type is sized below for the actual displayed stage. */
html[data-overview-preview] .stage .action-button { font-size: 16px; }
/* Keep the identity row below the gripper's original alpha fringe. This
   uses4px of the existing6px gap without moving the art, stats or hit area. */
html[data-overview-preview] .stage[data-screen="robots"] .robot-portrait > :is(strong, .robot-state) { top: 4px; }

/* Bottom navigation: large labels and no yellow active-state rectangle. */
.stage .nav-hitbar .nav-hit {
  font-size: clamp(18px, 1.9vw, 24px);
  line-height: 1.1;
  outline: none;
}
.stage .nav-hitbar .nav-hit.active { outline: none; }
.stage .nav-hitbar .nav-hit > span { white-space: nowrap; }
.stage .nav-hitbar .nav-symbol { width: 1.1em; height: 1.1em; }
.stage .nav-hitbar .nav-hit:focus-visible {
  box-shadow: inset 0 0 0 2px rgba(255, 243, 211, .8);
}
/* Compensate the approved whole-stage portrait preview so these labels
   stay readable at their displayed size instead of shrinking to 7px. */
html[data-overview-preview] .stage .nav-hitbar .nav-hit {
  font-size: calc(clamp(12px, 3.7vw, 16px) / var(--overview-preview-scale));
}
html[data-backpack-preview] .stage .nav-hitbar .nav-hit {
  font-size: calc(clamp(12px, 3.7vw, 16px) / var(--backpack-preview-scale));
}
