/* Browser/device chrome belongs to the case layout. This surface is the
   recording alone and scales through its intrinsic aspect ratio. */
.recorded-demo {
  position: relative;
  display: block;
  width: 100%;
  overflow: hidden;
  pointer-events: none;
  user-select: none;
  -webkit-user-select: none;
}
.recorded-demo-poster,
.recorded-demo-video {
  display: block;
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: contain;
}
.recorded-demo-video { opacity: 0; }
.recorded-demo-poster { opacity: 1; }
.recorded-demo.has-recorded-frame .recorded-demo-video { opacity: 1; }
.recorded-demo.has-recorded-frame .recorded-demo-poster { opacity: 0; }
/* No fade between poster and video: they are the exact same first frame.
   No permanent will-change, transformed backing layers or gesture handlers. */
@media (prefers-reduced-motion: reduce) {
  .recorded-demo .recorded-demo-video { opacity: 0; }
  .recorded-demo .recorded-demo-poster { opacity: 1; }
}
