:root { --paper: #fbf7f0; --ink: #2a2320; --muted: #7a6d64; --rose: #a3485a; --line: #e6dccd; --card: #fff; }
@media (prefers-color-scheme: dark) { :root { --paper: #1c1917; --ink: #ece4da; --muted: #a39587; --rose: #e48a9c; --line: #3a332e; --card: #24201d; } }
* { box-sizing: border-box; }
body { margin: 0; background: var(--paper); color: var(--ink); font: 18px/1.65 Georgia, "Iowan Old Style", serif; }
a { color: var(--rose); }
header.site, footer.site { max-width: 42rem; margin: 0 auto; padding: 1.2rem 1.25rem; }
header.site { display: flex; justify-content: space-between; align-items: center; }
nav.tabs a { font: 500 .9rem system-ui, sans-serif; margin-left: 1.1rem; text-decoration: none; color: var(--muted); padding-bottom: .2rem; border-bottom: 2px solid transparent; }
nav.tabs a.on, nav.tabs a:hover { color: var(--rose); border-bottom-color: var(--rose); }
header.site .brand { font: 600 1.05rem/1 system-ui, sans-serif; letter-spacing: .08em; text-transform: uppercase; text-decoration: none; }
footer.site { color: var(--muted); font-size: .8rem; border-top: 1px solid var(--line); margin-top: 3rem; }
main.reader { max-width: 42rem; margin: 0 auto; padding: 0 1.25rem; }
h1 { font-weight: 500; line-height: 1.2; margin: 1.5rem 0 .5rem; }
.by, .meta, .pd, .soon { color: var(--muted); font-size: .9rem; }
.pitch { font-size: 1.15rem; font-style: italic; }
.shelf { list-style: none; padding: 0; display: grid; gap: 1rem; }
.card a { display: block; padding: 1.2rem 1.4rem; background: var(--card); border: 1px solid var(--line); border-radius: 10px; color: inherit; text-decoration: none; }
.card h2 { margin: 0; font-weight: 500; color: var(--rose); }
.toc li { margin: .3rem 0; }
.lock { font: .7rem system-ui; text-transform: uppercase; color: var(--muted); border: 1px solid var(--line); padding: 0 .4rem; border-radius: 4px; }
article.chapter p { text-indent: 1.5em; margin: 0; }
article.chapter p:first-child { text-indent: 0; }
hr.scene-break { border: 0; text-align: center; margin: 1.5rem 0; }
hr.scene-break::after { content: "⁂"; color: var(--muted); }
.chnav { display: flex; justify-content: space-between; margin: 2.5rem 0; font-family: system-ui, sans-serif; font-size: .95rem; }
.paywall { padding: 1.5rem; border: 1px dashed var(--line); border-radius: 10px; text-align: center; }
