.continuous-reader { min-width: 0; }
.reading-page .container { max-width: 1600px; padding-left: 24px; padding-right: 24px; }
.reading-page .reader-layout.with-tutor { grid-template-columns: minmax(0, 1fr) 350px; }
.page-viewport { width: 100%; overflow-x: auto; overscroll-behavior-x: contain; }
.page-viewport:focus-visible { outline: 3px solid #e7a941; outline-offset: -3px; }
.page-zoom-controls { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; padding: 8px 12px; background: #f7f9fc; border-bottom: 1px solid var(--line); font-size: .8rem; }
.page-zoom-controls[hidden] { display: none; }
.page-zoom-controls > span { margin-right: auto; color: var(--muted); }
.page-zoom-controls button { min-width: 44px; min-height: 44px; padding: 5px 10px; border: 1px solid var(--line); border-radius: 8px; color: var(--blue); background: white; font-weight: 600; }
.page-zoom-controls output { min-width: 42px; text-align: center; font-variant-numeric: tabular-nums; }
.page-pan { display: flex; align-items: center; gap: 12px; width: 100%; font-size: .75rem; color: var(--muted); }
.page-pan[hidden] { display: none; }
.page-pan input[type=range] { flex: 1; min-width: 0; width: auto; padding: 0; min-height: 30px; accent-color: var(--blue); }
@media(max-width: 1000px) { .reading-page .reader-layout.with-tutor { grid-template-columns: minmax(0, 1fr) 310px; } }
@media(max-width: 720px) {
  .reading-page .container { padding-left: 6px; padding-right: 6px; }
  .reading-page .reader-layout.with-tutor { grid-template-columns: minmax(0, 1fr); }
  .page-zoom-controls { gap: 5px; padding: 6px; font-size: .75rem; }
}
