/* Acutis Confirmation deck runtime: stage, scaling and stepped-slide states.
   Slide content styles live in each lesson's slides.*.html fragment. */

.acd-host { position: relative; overflow: hidden; background: #0c0908; outline: none; }
.acd-host:focus-visible { box-shadow: inset 0 0 0 2px rgba(201, 166, 120, 0.6); }

.acd-stage {
  position: absolute;
  top: 0;
  left: 0;
  width: 1920px;
  height: 1080px;
  transform-origin: 0 0;
  overflow: hidden;
  background: #100c0a;
  font-family: 'Cormorant Garamond', Georgia, serif;
  -webkit-font-smoothing: antialiased;
}

.acd-stage > section {
  position: absolute !important;
  inset: 0;
  width: 1920px;
  height: 1080px;
  box-sizing: border-box;
  overflow: hidden;
  margin: 0;
}

.acd-stage > section:not([data-deck-active]) { display: none !important; }

.acd-host[data-clickable] .acd-stage { cursor: pointer; }

/* Stepped slides: one beat shows at a time; the runtime marks the live one. */
.acd-stage [data-beat] {
  opacity: 0;
  transform: translateY(28px);
  transition: opacity 450ms ease, transform 450ms ease;
  pointer-events: none;
}
.acd-stage [data-beat][data-beat-on] {
  opacity: 1;
  transform: none;
  transition:
    opacity 900ms cubic-bezier(.22, .61, .36, 1) var(--beat-delay, 700ms),
    transform 900ms cubic-bezier(.22, .61, .36, 1) var(--beat-delay, 700ms);
}
.acd-stage [data-step-cue] { opacity: 0.5; transition: opacity 900ms ease; }
.acd-stage section[data-last-step] [data-step-cue] { opacity: 0; }

/* Thumbnails and the presenter's next-slide preview: show the settled state. */
.acd-static .acd-stage *,
.acd-static .acd-stage *::before,
.acd-static .acd-stage *::after {
  animation-duration: 0s !important;
  animation-delay: 0s !important;
  transition: none !important;
}

@media (prefers-reduced-motion: reduce) {
  .acd-stage *, .acd-stage *::before, .acd-stage *::after {
    animation-duration: 1ms !important;
    transition-duration: 1ms !important;
  }
}
