/* VideoOverlayEngine host (video-overlay-engine.js). Sized to the rendered
   picture of one <video> and moved with a transform when that picture moves.

   Page-level stacking: the watch player's video layer sits at z 40, the NPC
   characters beside it at 60; this host sits between them at 55 so an NPC
   standing over the frame edge still reads in front of a monster. The layers
   inside it are ordered by OVERLAY_LAYERS (entities 10 … hud 60).

   Inert by default. Children opt into clicks with pointer-events: auto. */

.video-overlay {
  position: absolute;
  left: 0;
  top: 0;
  z-index: 55;
  pointer-events: none;
  overflow: hidden;
  contain: layout paint;
  user-select: none;
  -webkit-user-select: none;
  -webkit-tap-highlight-color: transparent;
}
.video-overlay--fixed { position: fixed; z-index: 2147483000; }
.video-overlay[hidden] { display: none; }

.video-overlay__layer {
  position: absolute;
  inset: 0;
  pointer-events: none;
}
