/* Viewport-Lock — fixe Design-Bühne 2560 × 1440 (entspricht 4K @ 150% Browser-Zoom).
   Jeder Nutzer sieht das exakt gleiche Layout, nur proportional skaliert. */

body.vlock {
  margin: 0;
  overflow: hidden;
  background: #000;
}

/* Hintergrund bleibt im echten Viewport (füllt jede Bildschirmgröße) */
body.vlock .page-bg {
  position: fixed;
  inset: 0;
  z-index: -1;
}

/* Bühne: feste 2560×1440, mittig, gleichmäßig skaliert */
body.vlock .vlock-stage {
  position: fixed;
  top: 50%;
  left: 50%;
  width: 2560px;
  height: 1440px;
  transform-origin: 50% 50%;
  transform: translate(-50%, -50%) scale(var(--vs, 1));
  /* Inhalt darin verhält sich wie auf 2560×1440-Viewport */
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
}

/* Falls .stage vorher 100vh hatte: jetzt auf Bühnenhöhe normieren */
body.vlock .vlock-stage.stage,
body.vlock main.stage.vlock-stage {
  height: 1440px;
}

/* Boot-/Logout-Variante: .boot-overlay im echten Viewport, innere Bühne fix */
body.vlock .boot-stage {
  position: absolute;
  top: 50%;
  left: 50%;
  width: 2560px;
  height: 1440px;
  transform-origin: 50% 50%;
  transform: translate(-50%, -50%) scale(var(--vs, 1));
  display: flex;
  align-items: center;
  justify-content: center;
}
