/* build 84efa6d · main · 2026-09-06T09:14:24Z · 516854e3 */
/* The stage.
 *
 * Everything inside is authored in PAGE UNITS — the coordinate space the client
 * designed in, which layout.json reports and which is never assumed to be any
 * particular size. `--u` converts a page unit to a device pixel:
 *
 *     --u = min(100vw / pageW, 100vh / pageH)
 *
 * set by stage.js once the bundle is known. A value in page units becomes
 * `calc(var(--u) * N)`. Composition is then identical on a 2160x3840 panel, a
 * 1080x1920 one, or a desktop window at any size.
 *
 * The stage letterboxes rather than stretching: a kiosk panel whose aspect does
 * not match the client's page would otherwise distort their approved design,
 * which is exactly the thing we promised not to do. */

.stage {
  position: fixed;
  top: 50%;
  left: 50%;
  width:  calc(var(--u) * var(--page-w));
  height: calc(var(--u) * var(--page-h));
  transform: translate(-50%, -50%);
  overflow: hidden;
  background: #000;
}
