/* Long Book archives keep a stable physical page and scroll their contents inside it. */
:is(.book-theater,.book-resource-derepo,.book-units,.book-resource-cameo,.book-resource-kubo) .spread {
  min-height: 0;
}

:is(.book-theater,.book-resource-derepo,.book-units,.book-resource-cameo,.book-resource-kubo) .left-leaf,
:is(.book-theater,.book-resource-derepo,.book-units,.book-resource-cameo,.book-resource-kubo) .right-leaf {
  min-height: 0;
}

:is(.book-theater,.book-resource-derepo,.book-units,.book-resource-cameo,.book-resource-kubo) .right-leaf {
  overflow: hidden;
}

:is(.book-theater,.book-resource-derepo,.book-units,.book-resource-cameo,.book-resource-kubo) .archive-paper {
  height: 100%;
  min-height: 0;
  overflow: hidden;
}

:is(.book-theater,.book-resource-derepo,.book-units,.book-resource-cameo,.book-resource-kubo) .archive-main {
  height: 100%;
  min-height: 0;
  overflow-y: auto;
  overflow-x: hidden;
  overscroll-behavior: contain;
  scrollbar-gutter: stable;
  padding-right: 10px;
  -webkit-overflow-scrolling: touch;
}

@media (min-width:721px) {
  :is(.book-theater,.book-resource-derepo,.book-units,.book-resource-cameo,.book-resource-kubo) .spread {
    height: clamp(580px, calc(100svh - 130px), 760px);
  }

  :is(.book-theater,.book-resource-derepo,.book-units,.book-resource-cameo,.book-resource-kubo) .left-leaf,
  :is(.book-theater,.book-resource-derepo,.book-units,.book-resource-cameo,.book-resource-kubo) .right-leaf {
    height: 100%;
  }

  :is(.book-theater,.book-resource-derepo,.book-units,.book-resource-cameo,.book-resource-kubo) .archive-index {
    position: static;
    height: 100%;
    max-height: none;
    overflow-y: auto;
    overscroll-behavior: contain;
    scrollbar-gutter: stable;
  }
}

@media (max-width:720px) {
  :is(.book-theater,.book-resource-derepo,.book-units,.book-resource-cameo,.book-resource-kubo) .spread,
  :is(.book-theater,.book-resource-derepo,.book-units,.book-resource-cameo,.book-resource-kubo) .right-leaf {
    height: calc(100dvh - 158px);
    min-height: 0;
    max-height: calc(100dvh - 158px);
  }

  :is(.book-theater,.book-resource-derepo,.book-units,.book-resource-cameo,.book-resource-kubo) .spread {
    overflow: hidden;
  }

  :is(.book-theater,.book-resource-derepo,.book-units,.book-resource-cameo,.book-resource-kubo) .right-leaf {
    overflow: hidden;
  }

  :is(.book-theater,.book-resource-derepo,.book-units,.book-resource-cameo,.book-resource-kubo) .archive-main {
    padding-right: 4px;
    scrollbar-gutter: auto;
  }
}
