/* Local startup and finite recovery; no optional font, texture or rich-scene dependency. */
:root { --amc-base-ready: 1; }
dialog.amc-cinema {
  display: none; position: fixed; inset: 0; width: 100vw; height: 100vh; height: 100dvh;
  max-width: none; max-height: none; margin: 0; padding: 0; border: 0; overflow: hidden;
  background: transparent; color: #3a3530; overscroll-behavior: contain;
}
dialog.amc-cinema[open] { display: block; }
dialog.amc-cinema::backdrop { background: transparent; }
.amc-cinema__veil {
  position: absolute; inset: 0; background: rgba(250,247,242,.22);
  -webkit-backdrop-filter: blur(3px); backdrop-filter: blur(3px); pointer-events: none;
}
.amc-cinema__travel, .amc-cinema__fit {
  position: absolute; top: 0; left: 0; transform-origin: 0 0; pointer-events: none;
}
.amc-cinema__travel { z-index: 1; }
.amc-cinema-recovery__paper {
  box-sizing: border-box; width: min(350px, calc(100vw - 48px)); padding: 44px 24px 36px;
  border: 1px solid #d8c9ad; background: #faf7f0; color: #4b4031;
  box-shadow: 0 12px 32px #3a2d2219; text-align: center;
}
.amc-cinema-paper__brand {
  margin: 0 0 24px; color: #79603c; font: 500 12px/1.4 var(--font-sans, Arial, sans-serif); letter-spacing: .24em;
}
.amc-cinema-paper__title { margin: 0; font: 400 clamp(26px, 5vw, 34px)/1.3 var(--font-serif, Georgia, serif); }
.amc-cinema-paper__line { display: block; width: 38px; height: 1px; margin: 28px auto 0; background: #b49a62; }
.amc-cinema__recovery {
  display: none; position: absolute; inset: 0; z-index: 2; place-items: center;
  padding: 24px; opacity: 0; pointer-events: none;
}
.amc-cinema__status {
  position: absolute; z-index: 3; bottom: max(18px, env(safe-area-inset-bottom)); inset-inline: 20px;
  margin: 0; color: #3a3530; font: 400 13px/1.5 var(--font-sans, Arial, sans-serif); text-align: center;
}
.amc-cinema__status:empty { display: none; }

/* The coordinator freezes the current pose before choosing this opacity score. */
dialog.amc-cinema[data-amc-cinema-gentle] .amc-cinema__travel {
  animation: amc-gentle-art 2200ms cubic-bezier(.4,0,.2,1) both;
}
dialog.amc-cinema[data-amc-cinema-gentle] .amc-cinema__recovery {
  display: grid; animation: amc-gentle-paper 2200ms cubic-bezier(.4,0,.2,1) both;
}
dialog.amc-cinema[data-amc-cinema-gentle] .amc-cinema__veil {
  -webkit-backdrop-filter: blur(3px) !important; backdrop-filter: blur(3px) !important;
  background: rgba(250,247,242,.22) !important;
  animation: amc-gentle-veil 2200ms cubic-bezier(.4,0,.2,1) both;
}
@keyframes amc-gentle-art {
  0% { opacity: var(--amc-gentle-art-opacity, 1); }
  30%, 100% { opacity: 0; }
}
@keyframes amc-gentle-paper {
  0%, 27% { opacity: 0; }
  40%, 64% { opacity: 1; }
  100% { opacity: 0; }
}
@keyframes amc-gentle-veil {
  0%, 64% { opacity: 1; }
  100% { opacity: 0; }
}
/* Only an already-started gentle presentation pauses while backgrounded. */
html[data-amc-cinema-suspended] dialog.amc-cinema[data-amc-cinema-gentle] :is(.amc-cinema__travel, .amc-cinema__recovery, .amc-cinema__veil) {
  animation-play-state: paused;
}
@media (max-height: 420px) {
  .amc-cinema-recovery__paper { padding-block: 26px; }
  .amc-cinema-paper__brand { margin-bottom: 16px; }
  .amc-cinema-paper__line { margin-top: 20px; }
}
/* style.css suppresses all CSS durations for reduced motion. These scoped
   opacity-only alternatives intentionally retain their gentle finite score. */
@media (prefers-reduced-motion: reduce) {
  dialog.amc-cinema[data-amc-cinema-gentle] :is(.amc-cinema__travel, .amc-cinema__recovery, .amc-cinema__veil) {
    animation-duration: 2200ms !important;
  }
}
