/* Add after the installed reader CSS. Presentation only; manuscript, source colors,
   reader-scale, text fonts, navigation, and disclosure behavior remain native. */
:root {
  --governor-canvas: #f3efe4;
  --governor-surface: #fbf7ef;
  --governor-ink: #101312;
  --governor-muted: #55564f;
  --governor-rule: #c9c8bc;
  --governor-accent: #884123;
  --governor-accent-hover: #71361e;
  --governor-tint: #ebe6da;
  --governor-ui: "Avenir Next", Avenir, "Helvetica Neue", Arial, sans-serif;
  --governor-title: "Iowan Old Style", "Palatino Linotype", Palatino, "Book Antiqua", Georgia, serif;
}
:root[data-contrast="high"] {
  --governor-canvas: #fff;
  --governor-surface: #fff;
  --governor-ink: #000;
  --governor-muted: #30302d;
  --governor-rule: #777;
  --governor-accent: #642d16;
  --governor-accent-hover: #411d0e;
  --governor-tint: #f0f0ed;
}
body { background: var(--governor-canvas); }
.app--read, .realm-shell.app--read, .realm-private-main {
  background: var(--governor-canvas);
}
.edition-header, .realm-shell .edition-header {
  color: var(--governor-ink);
  background: var(--governor-canvas);
  border-bottom-color: var(--governor-rule);
}
.edition-brand, .realm-shell .edition-brand {
  color: var(--governor-ink);
  font-family: var(--governor-title);
  font-weight: 600;
  letter-spacing: -.025em;
}
.edition-brand span { color: var(--governor-accent); font-family: var(--governor-ui); }
.edition-header nav, .edition-header button { font-family: var(--governor-ui); }
.edition-header nav a, .realm-shell .edition-header button { color: var(--governor-ink); }
.edition-header nav a:hover { color: var(--governor-accent); text-decoration: underline; text-underline-offset: 5px; }
.edition-footer { color: var(--governor-muted); background: var(--governor-canvas); border-top: 1px solid var(--governor-rule); }
.realm-shell .cover-hero { background: radial-gradient(ellipse at 83% 30%, #514130 0, transparent 49%), #101312; }

/* The contents drawer keeps its installed positions, breakpoints, and transforms. */
.contents-rail, .app--read .contents-rail {
  color: var(--governor-ink);
  background: var(--governor-canvas);
  border-color: var(--governor-rule);
  box-shadow: none;
}
.contents-rail__header { border-bottom-color: var(--governor-rule); }
.contents-rail__header strong { color: var(--governor-ink); font-family: var(--governor-title); }
.contents-rail .micro-label { color: var(--governor-muted); }
.contents-rail__scroll { scrollbar-color: #9a927e var(--governor-canvas); }
.contents-part, .contents-item {
  color: var(--governor-muted);
  font-family: var(--governor-ui);
  min-height: 44px;
}
.contents-part { color: var(--governor-accent); }
.contents-item:hover, .contents-part:hover { color: var(--governor-ink); background: var(--governor-tint); }
.contents-item.is-active, .contents-part.is-active,
.contents-item[aria-current="page"], .contents-part[aria-current="page"] {
  color: var(--governor-ink);
  background: var(--governor-tint);
  box-shadow: inset 3px 0 var(--governor-accent);
}
.reader-toolbar {
  background: var(--governor-canvas);
  color: var(--governor-ink);
  border-bottom-color: var(--governor-rule);
}
.toolbar-button, .reader-toolbar .icon-button, .contents-rail .icon-button {
  min-height: 44px;
  border-color: var(--governor-rule);
  color: var(--governor-ink);
  background: var(--governor-surface);
  font-family: var(--governor-ui);
  font-size: 12px;
  line-height: 1.3;
  letter-spacing: .035em;
}
.toolbar-button:hover, .toolbar-button[aria-expanded="true"] {
  color: var(--governor-accent);
  border-color: var(--governor-accent);
  background: var(--governor-surface);
}
.reading-settings {
  width: min(300px, calc(100vw - 30px));
  color: var(--governor-ink);
  background: var(--governor-surface);
  border-color: var(--governor-rule);
  box-shadow: 0 12px 35px #1013121f;
  font-family: var(--governor-ui);
}
.reading-settings__row { border-color: var(--governor-rule); font-size: 13px; }
.reading-settings__row button { width: 44px; height: 44px; color: var(--governor-ink); border-color: var(--governor-rule); }
.reading-settings__row output, .reading-settings__hint { color: var(--governor-muted); }
.reading-settings__hint { font-size: 11px; line-height: 1.6; }
.reading-settings .contrast-toggle { min-height: 44px; color: var(--governor-ink); font-size: 12px; }
.reading-settings input { accent-color: var(--governor-accent); }
.reading-page { box-shadow: 0 12px 42px #1013120d; }
.reading-page::before, .reading-page::after { border-color: var(--governor-rule); }
.realm-shell .draft-notice--reader { color: var(--governor-muted); background: var(--governor-tint); border-color: var(--governor-rule); border-left-color: var(--governor-accent); }
.realm-shell .draft-notice--reader strong { color: var(--governor-accent); }
.reading-mode, .meaning-paper__modes { border-color: var(--governor-rule); background: var(--governor-tint); }
.reading-mode button, .meaning-paper__modes button { min-height: 44px; color: var(--governor-muted); font-family: var(--governor-ui); }
.reading-mode button[aria-pressed="true"], .meaning-paper__modes button[aria-pressed="true"] { background: var(--governor-accent); color: #fff; box-shadow: none; }
.reading-mode button:hover, .meaning-paper__modes button:hover { text-decoration: underline; text-underline-offset: 4px; }
.cipher-plain-toggle, .cipher-open-sources { min-height: 44px; }
.cipher-trace { border-color: #a86c3d; background: #101312; color: #f3efe4; }
.chapter-next { border-color: var(--governor-rule); }
.chapter-next:hover { border-color: var(--governor-accent); }
.edition-header :focus-visible, .edition-footer :focus-visible,
.reader-toolbar :focus-visible, .contents-rail :focus-visible,
.reading-mode button:focus-visible, .meaning-paper__modes button:focus-visible {
  outline: 3px solid var(--governor-accent);
  outline-offset: 3px;
}
/* The installed shell defines its own paper variables; keep its high-contrast
   setting effective without changing manuscript typography or source colors. */
:root[data-contrast="high"] .realm-shell {
  --paper: #fff;
  --paper-bright: #fff;
  --ink: #000;
  --ink-soft: #30302d;
  --rule: #777;
}
@media (max-width: 900px) {
  .contents-rail.contents-rail--open { box-shadow: 18px 0 48px #10131233; }
}
@media (prefers-reduced-motion: reduce) {
  .toolbar-button, .contents-item, .contents-part { transition: none; }
}

/* Keep selected edition controls readable on the light reader theme. */
#governor-reader .toolbar-button--voice[aria-pressed="true"],
#governor-reader .toolbar-button--readers[aria-pressed="true"]{background:#804524;border-color:#804524;color:#fff}
