:root { --size: 19px; --bg: #fffdf8; --ink: #1d1b16; --muted: #6f6a5e; --link: #7a3b12; }
:root[data-theme='sepia'] { --bg: #f4ecd8; --ink: #3b2f1e; --muted: #7a6a50; --link: #8a4b1a; }
:root[data-theme='dark'] { --bg: #141416; --ink: #e8e4da; --muted: #9a958a; --link: #e2b07a; }
html { background: var(--bg); color: var(--ink); }
/* Sites can set --reader-font (and ship the font via @font-face in their own reader.css). */
body { margin: 0; font-size: var(--size); line-height: 1.75; font-family: var(--reader-font, Georgia, 'Iowan Old Style', 'Times New Roman', serif); }
.book { max-width: 38em; margin: 0 auto; padding: 48px 24px 120px; }
h1, h2, h3, h4 { font-family: inherit; line-height: 1.25; text-align: center; margin: 2.4em 0 1em; font-weight: 600; }
h1 { font-size: 2em; } h2 { font-size: 1.5em; } h3 { font-size: 1.2em; }
p { margin: 0; text-indent: 1.4em; hyphens: auto; text-align: justify; }
h1 + p, h2 + p, h3 + p, hr + p, header + p, blockquote + p, p:first-child { text-indent: 0; }
hr { border: 0; text-align: center; margin: 2em 0; } hr::after { content: '⁂'; color: var(--muted); }
a { color: var(--link); }
blockquote { margin: 1.4em 2em; font-style: italic; }
img { max-width: 100%; height: auto; display: block; margin: 1em auto; }
section { margin-bottom: 3em; }
header { text-align: center; }
abbr { text-decoration: none; }
table { border-collapse: collapse; margin: 1em auto; }
td, th { padding: .2em .6em; }
.sample-end { margin: 4em 0; padding: 2em; text-align: center; border: 1px solid color-mix(in srgb, var(--ink) 20%, transparent); border-radius: 12px; font-family: system-ui, sans-serif; }
.sample-end p { text-indent: 0; text-align: center; margin: .5em 0; }
.sample-end a { display: inline-block; margin-top: .6em; padding: .6em 1.4em; border-radius: 999px; background: var(--ink); color: var(--bg); text-decoration: none; font-weight: 700; }
