/* PDF text reflows inside the original reader's content area. */
#text-reader { --text-reader-size: 22px; display: flex; flex-direction: column; flex: 1 1 0; min-height: 0; min-width: 0; width: 100%; overflow: hidden; background: #fff; color: var(--primary-text); font-family: var(--font-sans); }
#text-reader[hidden], #text-reader [hidden] { display: none !important; }
#text-reader .text-reader-content { position: relative; display: flex; flex: 1 1 auto; min-height: 0; min-width: 0; overflow: hidden; }
#text-reader .text-reader-message { width: 100%; align-self: center; padding: 24px; margin: auto; max-width: 52ch; font-size: 17px; line-height: 1.6; text-align: center; }
#text-reader .text-reader-scroller { width: 100%; min-width: 0; height: 100%; overflow-x: hidden; overflow-y: auto; overscroll-behavior: contain; scroll-behavior: auto; }
#text-reader .text-reader-scroller:focus-visible { outline: 2px solid #707070; outline-offset: -2px; }
#text-reader .text-reader-flow { position: relative; padding: 18px 20px 24px; width: 100%; font-size: var(--text-reader-size); line-height: 1.65; font-family: var(--font-sans); }
#text-reader .text-reader-block { max-width: 60ch; margin: 0 auto 1em; overflow-wrap: anywhere; hyphens: auto; }
#text-reader .text-reader-heading { font-family: var(--font-sans); font-size: 1.12em; font-weight: bold; line-height: 1.4; margin-bottom: .8em; }
#text-reader .text-reader-verse { white-space: pre-wrap; padding-inline-start: var(--verse-indent, 0px); hyphens: none; }
@media (max-width: 600px) {
    #text-reader .text-reader-flow { padding-left: 14px; padding-right: 14px; }
}

/* Work metadata belongs to the reading flow and scrolls with its body. */
#text-reader .text-reader-work-heading { max-width: 60ch; margin: 0 auto 1.4em; overflow-wrap: anywhere; text-align: left; }
#text-reader .text-reader-work-title { margin: 0; font-family: var(--font-sans); font-size: 1.3em; font-weight: bold; line-height: 1.3; text-align: left; }
#text-reader .text-reader-work-author { margin: .5em 0 0; font-family: var(--font-sans); font-size: .82em; line-height: 1.5; color: #666; text-align: left; }
#text-reader .text-reader-unavailable { max-width: 60ch; margin: 0 auto; font-size: .85em; line-height: 1.6; }
