/* Load after the existing archive styles. Variables also serve publisher notes. */
:root {
  --reader-bg:#faf9f5; --reader-surface:#fff; --reader-text:#242520;
  --reader-muted:#595b52; --reader-border:#85867c; --reader-accent:#8e351c;
  --reader-focus:#923b20; --reader-selection:#eed19c; --reader-font-size:1.25rem;
  --reader-line-height:1.7; --reader-measure:68ch; --reader-brightness:1;
  --reader-prose-font:var(--serif,Georgia,serif); --reader-tools-height:64px;
}
html[data-reader-theme="paper"] {
  --reader-bg:#f4efdf; --reader-surface:#fff9ea; --reader-text:#312c23;
  --reader-muted:#665848; --reader-border:#8b7b64; --reader-accent:#813519;
  --reader-focus:#813519; --reader-selection:#e9cf96;
}
html[data-reader-theme="dark"] {
  --reader-bg:#191b18; --reader-surface:#252923; --reader-text:#edece4;
  --reader-muted:#bebfb3; --reader-border:#85897d; --reader-accent:#f1af85;
  --reader-focus:#ffc290; --reader-selection:#5e482c;
}
html[data-reader-font="sans"] { --reader-prose-font:var(--sans,Arial,sans-serif) }
html[data-reader-active="true"] { color-scheme:light; scroll-behavior:auto }
html[data-reader-active="true"][data-reader-theme="dark"] { color-scheme:dark }
html[data-reader-active="true"] body.archive-context { background:var(--reader-bg); color:var(--reader-text); overflow-anchor:none }
/* A pointer-transparent presentation dimmer. Native dialogs stay above it so Reset is legible. */
html[data-reader-active="true"] body::after {
  content:""; position:fixed; inset:0; pointer-events:none; z-index:9998;
  background:#000; opacity:calc(1 - var(--reader-brightness));
}
html[data-reader-active="true"] .archive-article,
html[data-reader-active="true"] .archive-full-reader {
  --ink:var(--reader-text); --surface:var(--reader-surface); --archive-accent:var(--reader-accent);
  --archive-muted:var(--reader-muted); --archive-border:var(--reader-border);
  color:var(--reader-text); overflow-wrap:anywhere;
}
html[data-reader-active="true"] .archive-context .mast,
html[data-reader-active="true"] .archive-context .footer {
  color:var(--reader-text); background:var(--reader-bg); border-color:var(--reader-border);
}
html[data-reader-active="true"] .archive-context .main-nav a,
html[data-reader-active="true"] .archive-context .wordmark,
html[data-reader-active="true"] .archive-context .nav-toggle { color:var(--reader-text) }
html[data-reader-active="true"] .reader-enabled a { color:var(--reader-accent); text-underline-offset:.2em }
html[data-reader-active="true"] .reader-enabled :is(.article-dek,.article-byline,.archive-reader-lead,.archive-reader-back,.archive-kicker,.archive-reader-status,.archive-transcription-note,.archive-date-note),
html[data-reader-active="true"] .reader-enabled :is(.article-contents>span,.article-sources p,.archive-record-details summary,.archive-reader-edition small,figcaption) {
  color:var(--reader-muted);
}
html[data-reader-active="true"] .archive-article>section[id^="section-"] {
  max-width:var(--reader-measure); font-family:var(--reader-prose-font); font-size:var(--reader-font-size);
}
html[data-reader-active="true"] .archive-article>section[id^="section-"]>p,
html[data-reader-active="true"] .archive-source-transcription {
  font-family:var(--reader-prose-font); font-size:var(--reader-font-size);
  line-height:var(--reader-line-height); text-align:start; overflow-wrap:anywhere;
}
html[data-reader-active="true"] .archive-source-transcription { max-width:var(--reader-measure) }
html[data-reader-active="true"] .reader-enabled :is(.article-contents,.article-sources,.article-related,.archive-record-details,.archive-reader-books) { border-color:var(--reader-border) }
html[data-reader-active="true"] .reader-enabled :is(.archive-reading-tools,.archive-reader-spread,.archive-reader-transcription,.archive-scan-options>div,.context-info) {
  background:var(--reader-surface); color:var(--reader-text); border-color:var(--reader-border);
}
html[data-reader-active="true"] .reader-enabled :is(.archive-reading-tools button,.archive-reading-tools input,.archive-reading-tools select,.archive-reading-tools summary,.archive-reading-tools a[data-reader-full-scan],.archive-page-turn,.archive-record-details>button,textarea) {
  color:var(--reader-text); background:var(--reader-bg); border-color:var(--reader-border); font-size:1rem;
}
html[data-reader-active="true"] .archive-reading-tools { top:var(--reader-tools-height) }
html[data-reader-active="true"] .archive-reading-modes button[aria-pressed="true"] {
  color:var(--reader-bg); background:var(--reader-text); border-color:var(--reader-text);
}
html[data-reader-active="true"] .reader-enabled :focus-visible,
.reader-dialog :focus-visible,.reader-show-menus:focus-visible {
  outline:3px solid var(--reader-focus); outline-offset:3px;
}
html[data-reader-active="true"] .reader-enabled ::selection,
.reader-dialog ::selection { background:var(--reader-selection); color:var(--reader-text) }
html[data-reader-active="true"] .reader-enabled :is(p[id],section[id],.archive-reader-spread) { scroll-margin-top:calc(var(--reader-tools-height) + 1rem) }
.reader-bar {
  position:sticky; top:0; z-index:12; margin:1.5rem 0 0; padding:.55rem 0;
  border-block:1px solid var(--reader-border); background:var(--reader-bg);
  color:var(--reader-text); font: .875rem/1.4 var(--sans,Arial,sans-serif);
}
.reader-bar-actions { display:flex; align-items:stretch; flex-wrap:wrap; gap:.35rem }
.reader-location { display:flex; align-items:center; flex-wrap:wrap; gap:.5rem .8rem; margin-top:.4rem; color:var(--reader-muted); font-size:.75rem; line-height:1.4 }
.reader-location>span { flex:1 1 12rem }
.reader-location progress { width:5rem; max-width:100%; height:.4rem; accent-color:var(--reader-accent) }
.reader-location button { margin:0!important; min-height:44px; font-size:.875rem }
.reader-bar button,.reader-dialog button,.reader-resume button,.reader-show-menus,.reader-tools-launcher {
  min-height:44px; padding:.65em .85em; border:1px solid var(--reader-border); border-radius:4px;
  background:var(--reader-surface); color:var(--reader-text); cursor:pointer;
  font:inherit; text-align:center; white-space:normal; overflow-wrap:anywhere;
}
.reader-bar button:first-child { margin-inline-end:auto }
.reader-bar button:hover,.reader-dialog button:hover,.reader-resume button:hover,.reader-show-menus:hover { border-color:var(--reader-accent) }
.reader-bar button[aria-pressed="true"] { background:var(--reader-text); color:var(--reader-bg) }
.reader-status,.reader-resume,.reader-help,.reader-dialog-status {
  font:.875rem/1.6 var(--sans,Arial,sans-serif); color:var(--reader-muted);
}
.reader-status { margin:.6rem 0 1rem; min-height:1.5em }
.reader-resume { display:flex; flex-wrap:wrap; align-items:center; gap:.7rem; padding:1rem 0 0 }
.reader-resume>span { flex:1 1 16rem }
.reader-dialog {
  box-sizing:border-box; width:min(38rem,calc(100vw - 1rem)); max-width:calc(100vw - 1rem);
  max-height:calc(100dvh - 2rem); margin:auto; padding:1.25rem; overflow:auto;
  border:1px solid var(--reader-border); border-radius:8px; background:var(--reader-surface);
  color:var(--reader-text); box-shadow:0 1rem 5rem #0005; font:1rem/1.6 var(--sans,Arial,sans-serif);
}
.reader-dialog::backdrop { background:#0008 }
.reader-dialog * { box-sizing:border-box }
.reader-dialog-head { display:flex; flex-wrap:wrap; gap:.75rem; align-items:center; justify-content:space-between; margin:0 0 1.2rem }
.reader-dialog-head h2 { font:1.5rem/1.25 var(--serif,Georgia,serif); color:var(--reader-text); margin:0; flex:1 1 12rem }
.reader-dialog-head button { flex:0 0 auto }
.reader-settings { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:1.2rem 1.5rem }
.reader-dialog label { display:flex; flex-direction:column; gap:.35rem; font:inherit; min-width:0 }
.reader-settings output { color:var(--reader-muted); font-size:.875rem }
.reader-dialog :is(input,select,textarea) {
  width:100%; min-width:0; max-width:100%; font:inherit; color:var(--reader-text); background:var(--reader-bg);
  border:1px solid var(--reader-border); border-radius:3px; padding:.6rem;
}
.reader-dialog input[type="range"] { padding:0; min-height:44px; accent-color:var(--reader-accent); cursor:pointer }
.reader-dialog select { min-height:44px }
.reader-dialog .reader-help { margin:1rem 0 }
.reader-dialog-status:not(:empty) { padding-top:1rem; margin:1rem 0 0; border-top:1px solid var(--reader-border); color:var(--reader-text) }
.reader-save-form { display:grid; gap:.75rem }
.reader-save-form>button { justify-self:start }
.reader-saved-list { margin:1rem 0; padding:0; list-style:none }
.reader-saved-list li { display:grid; gap:.45rem; border-block-start:1px solid var(--reader-border); padding:1rem 0; overflow-wrap:anywhere }
.reader-saved-list a { color:var(--reader-accent); font-weight:600; text-decoration:underline; text-underline-offset:.2em }
.reader-saved-list span { font-size:.875rem; color:var(--reader-muted) }
.reader-saved-list button { justify-self:start }
.reader-copy-actions { display:flex; flex-wrap:wrap; gap:.65rem }
.reader-mobile-actions { display:grid; gap:.6rem }
.reader-dialog button:disabled { cursor:default; opacity:.6 }
.reader-copy-fallback { margin:1rem 0 }
.reader-copy-fallback textarea { resize:vertical; min-height:10rem }
.reader-show-menus { position:fixed; z-index:30; right:max(.75rem,env(safe-area-inset-right)); bottom:max(.75rem,env(safe-area-inset-bottom)); display:inline-flex; align-items:center; justify-content:center; width:44px; height:44px; padding:9px; border-radius:50%; box-shadow:0 .2rem 1rem #0003 }
.reader-show-menus svg { display:block; flex:none }
.reader-tools-launcher { display:none; position:fixed; z-index:30; left:max(.65rem,env(safe-area-inset-left)); bottom:max(.65rem,env(safe-area-inset-bottom)); max-width:calc(50vw - 1rem); box-shadow:0 .2rem 1rem #0003; font:.875rem/1.4 var(--sans,Arial,sans-serif) }
html[data-reader-menus="hidden"] body.archive-context :is(
  .mast,.footer,.preview-bar,.skip,.reader-bar,.reader-resume,.reader-status,.reader-tools-launcher,
  .article-contents,.article-related,.archive-reader-books,.archive-reading-tools,.archive-page-turn,
  .archive-page-guide,.archive-reader-entry,.archive-record-details,.archive-reader-back,
  [data-article-back],.reader-notes-shortcut,[data-reader-menu]
) { display:none!important }
/* Paged views must not retain empty side columns after the page controls hide. */
html[data-reader-menus="hidden"] .archive-reader-stage { display:block }
html[data-reader-menus="hidden"] { scroll-padding-top:0 }
html[data-reader-menus="hidden"] .reader-enabled { padding-top:.75rem }
html[data-reader-menus="hidden"] .reader-enabled>header { margin-top:0; padding-top:0 }
html[data-reader-menus="hidden"] .reader-enabled>header h1 { margin-top:0 }
html[data-reader-menus="hidden"] .reader-enabled :is(p[id],section[id],.archive-reader-spread) { scroll-margin-top:1rem }
.reader-bar [hidden],.reader-resume[hidden],.reader-show-menus[hidden] { display:none!important }
@media(max-width:760px),(max-height:600px) {
  .reader-bar { position:static }
  .reader-tools-launcher { display:block }
  .reader-enabled { padding-bottom:6rem }
  html[data-reader-active="true"] .archive-reading-tools { position:static; top:auto }
  .reader-bar-actions { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)) }
  .reader-bar button { padding:.55rem .3rem; min-width:0 }
  .reader-bar button:first-child { margin:0 }
  .reader-bar button:first-child>span { display:block }
  .reader-dialog { padding:1rem; max-height:calc(100dvh - 1rem) }
  html[data-reader-active="true"] .reader-enabled :is(p[id],section[id],.archive-reader-spread) { scroll-margin-top:1rem }
}
@media(max-width:440px) {
  .reader-settings { grid-template-columns:minmax(0,1fr) }
  .reader-dialog-head h2 { font-size:1.35rem }
  .reader-dialog-head { align-items:flex-start }
  .reader-copy-actions { display:grid; grid-template-columns:minmax(0,1fr) }
  .reader-dialog button { max-width:100% }
}
@media(prefers-reduced-motion:reduce) {
  .reader-enabled *,.reader-dialog * { scroll-behavior:auto!important; transition:none!important; animation:none!important }
}
@media(forced-colors:active) {
  html[data-reader-active="true"] body::after { display:none }
  .reader-bar,.reader-dialog { border:1px solid CanvasText }
}
@media print {
  .reader-bar,.reader-resume,.reader-status,.reader-dialog,.reader-show-menus,.reader-tools-launcher,html[data-reader-active="true"] body::after { display:none!important }
}
