/* Reader uses the shared application tokens and two independent scroll areas. */
.wf-dashboard.wf-reader-page { height: 100dvh; overflow: hidden; display: flex; flex-direction: column; }
.wf-dashboard.wf-reader-page .wf-app-header { flex: none; }
.wf-dashboard.wf-reader-page .wf-page { max-width: none; flex: 1; min-height: 0; display: flex; flex-direction: column; padding: var(--wf-space-lg); }
.wf-dashboard.wf-reader-page .wf-page-heading { margin-bottom: var(--wf-space-md); }
.wf-dashboard.wf-reader-page .wf-page-heading .wf-eyebrow { display: none; }
.wf-dashboard.wf-reader-page .wf-page-heading h1 { font-size: var(--wf-reading-body); }
.wf-dashboard.wf-reader-page .wf-page-content { flex: 1; min-height: 0; display: flex; flex-direction: column; }
.reader-revision { color: var(--wf-color-muted); margin: 0; font-size: .875rem; }
.reader-actions { display: flex; flex-wrap: wrap; gap: .5rem; margin: var(--wf-space-md) 0; }
.reader-layout { display: grid; grid-template-columns: 15rem minmax(0, 1fr); gap: var(--wf-space-lg); flex: 1; min-height: 0; }
.reader-outline { min-height: 0; display: flex; flex-direction: column; border-right: 1px solid var(--wf-color-border); padding-right: var(--wf-space-md); }
.reader-outline summary { font-weight: 600; padding: .5rem; }
.reader-outline nav { overflow: auto; overscroll-behavior: contain; flex: 1; min-height: 0; }
.reader-outline ol { list-style: none; margin: 0; padding: 0; }
.reader-outline a { display: block; padding: .65rem .75rem; border-radius: var(--wf-radius-control); overflow-wrap: anywhere; }
.reader-outline a:hover, .reader-outline a[aria-current] { color: var(--wf-color-accent); background: var(--wf-color-selection); }
.reader-document { overflow: auto; overscroll-behavior: contain; min-width: 0; padding: 0 var(--wf-space-lg) var(--wf-space-xl); scrollbar-gutter: stable; }
.reader-document .manuscript { max-width: var(--wf-reading-measure); margin: 0 auto; font: var(--wf-reading-body-compact)/var(--wf-reading-line-open) var(--wf-font-literary); overflow-wrap: anywhere; }
.reader-document .manuscript h1 { font-size: var(--wf-reading-heading); margin: 1rem 0 2rem; }
.reader-document .manuscript h2 { font-size: 1.4em; margin: 2rem 0 1rem; }
.reader-document .manuscript h3 { font-size: 1.2em; }
.reader-document .manuscript p { margin: 0 0 1.4em; }
.reader-document .manuscript ul { list-style: disc; padding-inline-start: 2rem; }
.reader-document .manuscript ol { list-style: decimal; padding-inline-start: 2rem; }
.reader-document blockquote { border-inline-start: 3px solid var(--wf-color-border); padding-inline-start: 1rem; }
.reader-document section { scroll-margin-top: 1rem; }
.reader-document .scene-break { text-align: center; margin: 2rem; }
@media (min-width: 801px) { .reader-outline summary { pointer-events: none; list-style: none; } }
@media (max-width: 800px) {
  .wf-dashboard.wf-reader-page .wf-page { padding: var(--wf-space-md); }
  .reader-layout { display: flex; flex-direction: column; gap: var(--wf-space-md); }
  .reader-outline { flex: none; border-right: 0; border-bottom: 1px solid var(--wf-color-border); padding: 0; }
  .reader-outline summary { cursor: pointer; }
  .reader-outline nav { max-height: 25dvh; }
  .reader-outline:not([open]) nav { display: none; }
  .reader-document { flex: 1; padding: 0 .5rem 1rem; }
  .reader-document .manuscript { font-size: var(--wf-reading-body-compact-narrow); }
}
@media (min-width: 801px) {
  .reader-layout { grid-template-rows: minmax(0, 1fr); }
  .reader-outline { display: block; height: 100%; position: relative; }
  .reader-outline nav { position: absolute; inset: 42px 16px 0 0; }
}
.wf-dashboard.wf-reader-page .reader-document { min-height: 0; }
.wf-dashboard.wf-reader-page { position: fixed; inset: 0; width: 100%; }
.wf-dashboard.wf-reader-page .wf-page, .wf-dashboard.wf-reader-page .wf-page-content, .reader-layout { overflow: hidden; }
