/* A real-video background; camera movement belongs in the clips themselves. */
.qiyu-video-sequence {
  position: fixed;
  inset: 0;
  width: 100%;
  height: 100%;
  overflow: hidden;
  isolation: isolate;
  pointer-events: none;
  background: #b9d5df;
  contain: layout paint;
}

.qiyu-video-sequence .qvs-video {
  position: absolute;
  inset: 0;
  display: block;
  width: 100%;
  height: 100%;
  object-fit: var(--qvs-object-fit, cover);
  object-position: var(--qvs-object-position, 50% 50%);
  opacity: 0;
  pointer-events: none;
  transition: opacity 80ms linear;
}

.qiyu-video-sequence .qvs-video.qvs-visible {
  opacity: 1;
}

/* Opt in on the copy wrapper. Never fade the video host or move its camera. */
.qvs-entry .qvs-entry-ui,
.qvs-entry .qvs-enter-button {
  transition: opacity 140ms ease;
}

.qvs-entry.qvs-is-transitioning .qvs-entry-ui,
.qvs-entry.qvs-is-destination .qvs-entry-ui,
.qvs-entry.qvs-is-transitioning .qvs-enter-button,
.qvs-entry.qvs-is-destination .qvs-enter-button {
  opacity: 0;
  pointer-events: none;
}

.qvs-entry.qvs-is-preparing .qvs-enter-button,
.qvs-entry.qvs-is-transitioning .qvs-enter-button {
  cursor: wait;
}

@media (prefers-reduced-motion: reduce) {
  .qiyu-video-sequence .qvs-video,
  .qvs-entry .qvs-entry-ui,
  .qvs-entry .qvs-enter-button {
    transition: none;
  }
}
