:root { --ink: #2b2118; --soft: #7a6a5c; --paper: #fbf8f3; --line: #e8dfd3; --crust: #a4532a; }
@media (prefers-color-scheme: dark) { :root { --ink: #ece4da; --soft: #a99a8b; --paper: #1b1714; --line: #3a322b; --crust: #e08a5b; } }
* { box-sizing: border-box; }
html { background: var(--paper); }
body { margin: 0 auto; max-width: 38rem; padding: 3rem 1.25rem 2rem; font: 18px/1.7 Charter, "Iowan Old Style", Georgia, "Times New Roman", serif; color: var(--ink); }
.masthead { text-align: center; padding-bottom: 1.5rem; margin-bottom: 2rem; border-bottom: 1px solid var(--line); }
.masthead .title { font-size: 1.9rem; font-weight: 700; letter-spacing: .02em; color: var(--ink); text-decoration: none; }
.masthead .tagline { margin: .25rem 0 .75rem; color: var(--soft); font-style: italic; }
.masthead nav a { margin: 0 .6rem; color: var(--soft); text-decoration: none; font-size: .9rem; text-transform: uppercase; letter-spacing: .08em; }
a { color: var(--crust); }
a:hover, .masthead nav a:hover { color: var(--crust); }
.entry { margin-bottom: 2.2rem; }
.entry h2 { margin: 0; font-size: 1.3rem; line-height: 1.35; }
.entry h2 a { color: var(--ink); text-decoration: none; }
.entry h2 a:hover { color: var(--crust); }
.entry .date, .post .date { color: var(--soft); font-size: .85rem; letter-spacing: .04em; }
.entry p { margin: .4rem 0 0; }
.post h1 { font-size: 1.75rem; line-height: 1.3; margin: 0 0 .2rem; }
.post table { border-collapse: collapse; margin: 1rem 0; font-size: .95rem; }
.post td, .post th { border-bottom: 1px solid var(--line); padding: .3rem 1.2rem .3rem 0; text-align: left; }
.colophon { margin-top: 4rem; padding-top: 1rem; border-top: 1px solid var(--line); color: var(--soft); font-size: .85rem; text-align: center; }
