/* Reading tools only: authored prose, scores and individual page palettes stay intact. */
body[data-tvi-reader] { --reader-size: 1.125rem; }
body[data-tvi-reader] .lead-body { font-size: var(--reader-size); }
body[data-tvi-reader] .lead-body > p { font-size: inherit; line-height: 1.8; }
body[data-tvi-reader] :is(.cover-cap, .plate-still figcaption) { font-size: .8125rem; line-height: 1.6; color: #b8b1a7; }
body[data-tvi-reader] :is(a, button, select, summary):focus-visible { outline: 2px solid currentColor; outline-offset: 4px; }
body[data-tvi-reader] :is(h2, h3, [id]) { scroll-margin-top: 130px; }
.reader-tools { display: flex; align-items: center; flex-wrap: wrap; gap: 12px 24px; padding: 16px 0; margin: 28px 0 0; border-block: 1px solid var(--ivory-faint, #ccc); font: 400 .875rem/1.5 'DM Sans', sans-serif; }
.reader-tools a { text-decoration: underline; text-underline-offset: 4px; }
.reader-size { display: flex; align-items: center; gap: 10px; margin-left: auto; }
.reader-size select { font: inherit; padding: 9px 26px 9px 10px; border: 1px solid #777; border-radius: 4px; background: #202020; color: #f5f0e8; min-height: 44px; }
.reader-contents { flex-basis: 100%; }
.reader-contents summary { cursor: pointer; min-height: 44px; display: list-item; padding: 10px 0; }
.reader-contents ol { padding: 0 0 10px 24px; margin: 0; }
.reader-contents li { margin: 6px 0; }
.reader-contents a { display: inline-block; padding: 5px 0; }
body[data-tvi-reader="light"] .reader-tools { color: #383a37; border-color: #c4c8c1; }
body[data-tvi-reader="light"] .reader-tools a { color: #32564c; }
body[data-tvi-reader="light"] .reader-size select { background: #fff; color: #252b27; }
body[data-tvi-reader="light"] :is(.cover-cap, .plate-still figcaption) { color: #5d625b; }
body[data-tvi-reader="dark"] .chapter-rail { top: var(--reader-nav-height, 56px); }
body[data-tvi-reader="dark"] .reading-progress { top: calc(var(--reader-nav-height, 56px) - 2px); }
body[data-tvi-reader] :is(h2, h3, [id]) { scroll-margin-top: calc(var(--reader-nav-height, 56px) + 72px); }
@media(max-width: 820px) {
  body[data-tvi-reader="dark"] > nav:first-of-type { height: auto; min-height: 56px; flex-wrap: wrap; gap: 0; padding: 10px 20px 0; }
  body[data-tvi-reader="dark"] .nav-logo { padding: 3px 0 9px; }
  body[data-tvi-reader="dark"] .nav-links { display: flex; width: 100%; margin: 0; overflow-x: auto; gap: 24px; padding-bottom: 4px; }
  body[data-tvi-reader="dark"] .nav-links a { display: inline-flex; align-items: center; flex-shrink: 0; min-height: 44px; font-size: .875rem; color: #ccc5bb; }
}
@media(max-width: 480px) {
  .reader-tools { gap: 10px 16px; }
  .reader-size { margin-left: 0; }
  body[data-tvi-reader="dark"] .wrap { padding-inline: 20px; }
  body[data-tvi-reader="dark"] .capture { padding: 24px 18px; }
  body[data-tvi-reader="dark"] .score-card .dims { min-width: 0; width: 100%; }
  body[data-tvi-reader="dark"] .score-table-wrap { overflow-x: auto; }
}
@media(prefers-reduced-motion: reduce) {
  body[data-tvi-reader] { scroll-behavior: auto; }
  body[data-tvi-reader] * { animation: none !important; transition: none !important; scroll-behavior: auto !important; }
}
@media print { .reader-tools { display: none !important; } }
