.home-cover { position:absolute; inset:0; width:750px; height:1334px; z-index:3; transform-origin:0 0; pointer-events:none; }
.home-cover .book,
.home-cover .book-title,
.home-cover .book-label { pointer-events:none; }
.motion-layer { position:absolute; inset:0; width:750px; height:1334px; z-index:7; pointer-events:none; }
.content-backdrop { position:absolute; inset:0; z-index:1; visibility:hidden; pointer-events:none; }
.content-backdrop.is-visible { visibility:visible; }
#page-p1 > .book-bg, #page-p2 > .book-bg, #page-p3 > .book-bg { visibility:hidden; }
.content-backdrop .book-bg-plate {
  position: absolute;
  inset: 0;
  width: 750px;
  height: 1334px;
  opacity: 0;
  transition: opacity .48s ease;
}
.content-backdrop.is-illustrated #contentBackgroundStill { opacity: 1; }
.content-backdrop.is-blank #contentBackgroundBlank { opacity: 1; }
.content-backdrop.plate-snap .book-bg-plate { transition: none; }
.content-background-video {
  position: absolute;
  inset: 0;
  width: 750px;
  height: 1334px;
  object-fit: fill;
  opacity: 0;
  transition: opacity .4s ease;
  /* Keep MP4 (no alpha) clipped to the open-book silhouette over p0 scenery. */
  -webkit-mask-image: url("assets/motion/blank-page.webp?v=20261013e");
  mask-image: url("assets/motion/blank-page.webp?v=20261013e");
  -webkit-mask-size: 750px 1334px;
  mask-size: 750px 1334px;
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
}
.content-backdrop.is-illustrated.video-ready .content-background-video { opacity: 1; }
.content-backdrop.is-blank .content-background-video { opacity: 0 !important; }
#stage.motion-busy { pointer-events:none; }
.motion-busy .page { transition:none; }
.motion-busy .btn-back, .motion-busy .btn-next { visibility:hidden; }
.book-hit:focus-visible, .btn-next:focus-visible, .btn-back:focus-visible, .hot:focus-visible { outline:3px solid #8b4e21; outline-offset:8px; }
.sheet { opacity:0; visibility:hidden; transform:translateY(48px) scale(.94); transform-origin:var(--story-x,50%) var(--story-y,65%); transition:transform .48s cubic-bezier(.2,.75,.25,1),opacity .32s ease,visibility 0s .48s; }
.sheet.show { opacity:1; visibility:visible; transform:translateY(0) scale(1); transition-delay:0s; }
.sheet.drag { transition:none; }
.sheet.is-loading #sheetInner { visibility:hidden; }
.sheet.is-loading::after { content:'正在展开…'; position:absolute; top:48%; left:0; right:0; text-align:center; color:#8a6230; font-size:28px; pointer-events:none; }
@media (prefers-reduced-motion:reduce) {
  .cloud, .cloud-1, .cloud-2, .hint img, .page.ink-reveal > .abs { animation:none !important; }
  .page, .sheet, .hot, .p3-track, .p3-hint, .story-strip, .story-layer, .horn-player { transition:none !important; }
  .p3-arrow { animation:none !important; }
  .story-strip, .story-layer, .horn-player { opacity:1 !important; transform:none !important; filter:none !important; animation:none !important; }
  .story-layer.is-pop { opacity:0 !important; }
  .story-layer.is-pop.open { opacity:1 !important; }
  .story-layer.is-horn { opacity:0 !important; visibility:hidden !important; }
}
