:root { color-scheme: light dark; --ink: #1d1d1f; --muted: #6b6b70; --paper: #fbfaf7;
  --rule: #e2e0da; --mark: #ffe58a; --cited: #2f6fdb; }
@media (prefers-color-scheme: dark) {
  :root { --ink: #e9e7e2; --muted: #a3a19b; --paper: #18181a; --rule: #333336;
    --mark: #7a6512; --cited: #6f9cf0; } }
* { box-sizing: border-box; }
body { margin: 0; background: var(--paper); color: var(--ink);
  font: 18px/1.6 Georgia, "Iowan Old Style", serif; }
main { max-width: 42rem; margin: 0 auto; padding: 1.5rem 1rem 4rem; }
header p, .meta, nav { color: var(--muted); font: 14px/1.4 system-ui, sans-serif; }
h1 { font-size: 1.6rem; line-height: 1.25; margin: 0 0 .25rem; }
h2 { font-size: 1.15rem; margin: 2rem 0 .5rem; }
.passage { padding: .1rem .75rem; border-left: 3px solid transparent; margin: 0 -.75rem; }
.passage.cited { border-left-color: var(--cited); }
mark { background: var(--mark); color: inherit; padding: 0 .1em; }
figure { margin: 1.5rem 0; } figure img { max-width: 100%; height: auto; }
figcaption { font-size: .9rem; color: var(--muted); }
.wide { overflow-x: auto; } table { border-collapse: collapse; font-size: .9rem; }
th, td { border: 1px solid var(--rule); padding: .3rem .5rem; text-align: left; }
pre { overflow-x: auto; font-size: .85rem; }
nav { display: flex; justify-content: space-between; margin-top: 2rem; }
a { color: var(--cited); }
form { display: grid; gap: .75rem; max-width: 24rem; font: 16px system-ui, sans-serif; }
input { font: inherit; padding: .5rem; } button { font: inherit; padding: .5rem 1rem; }
