/* build/hive_stage.css
 * ---------------------------------------------------------------
 * HIVE fixed-stage (v2, 2026-07-09). Partner file to hive_stage.js.
 *
 * The stage is a 1672x941 design canvas carrying basic-bg.png at
 * exactly 100%, scaled as ONE unit to fit the window (letterboxed).
 * Panel positions are NOT set here -- they come from the layout
 * editor's frames (hive_layout_edit.js), whose coordinates are now
 * stage/image pixels (localStorage hive_layout_v2_* + its baked-in
 * DEFAULT_LAYOUT). Drag something with the LAYOUT pill and it stays
 * welded to that spot on the picture on every device, no matter
 * what toolbars or window sizes do.
 * --------------------------------------------------------------- */

#hive-stage {
  position: fixed;
  left: 0; top: 0;
  width: 1672px;
  height: 941px;
  transform-origin: 0 0;
  background: #04050a;      /* the scene itself is the <img> below */
  overflow: hidden;
  z-index: 1;
}

/* Scene as a real <img> (full loading priority; a CSS background
   painted seconds late under the site's no-cache headers). */
#hive-stage-bg {
  position: absolute;
  left: 0; top: 0;
  width: 100%;
  height: 100%;
  pointer-events: none;
  user-select: none;
  z-index: 0;
}

/* Page behind the stage: pure dark letterbox. */
body.hive-staged {
  overflow: hidden;
  height: 100vh;
  background: #04050a !important;
  background-image: none !important;
}

/* The image replaces the old page chrome. The .canvas container is
   empty once the chat/library are framed and the action nav is
   adopted, and the vignette would darken the letterbox unevenly. */
body.hive-staged .vignette { display: none; }
body.hive-staged .canvas   { display: none; }
