:root { --bg:#f6f0e1; --paper:#fffdf6; --ink:#2b2620; --muted:#7a6f5e; --link:#1f4e8c; --rule:#d9ceb4; }
* { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; }
body { margin:0; background:var(--bg); color:var(--ink); font:18px/1.6 Georgia, "Times New Roman", serif; }
.wrap { max-width: 40rem; margin: 0 auto; padding: 16px 16px 40px; background: var(--paper); min-height: 100vh; border-left:1px solid var(--rule); border-right:1px solid var(--rule); }
.masthead { padding: 20px 0 8px; border-bottom: 3px double var(--rule); text-align:center; }
.masthead h1 { margin:0; font-size: 2rem; line-height:1.15; font-weight:normal; letter-spacing:.01em; }
.masthead h1 a { color:var(--ink); text-decoration:none; }
.tagline { margin:.3rem 0 .8rem; color:var(--muted); font-style:italic; font-size:.95rem; }
nav { display:flex; justify-content:center; gap: 8px; flex-wrap:wrap; }
nav a { display:inline-flex; align-items:center; min-height:44px; padding:0 12px; color:var(--link); text-decoration:none; font-size:.95rem; }
nav a[aria-current="page"] { color:var(--ink); border-bottom:2px solid var(--ink); }
main { padding-top: 12px; }
a { color:var(--link); }
.entry { padding: 16px 0; border-bottom:1px dotted var(--rule); }
.entry h2, .post h2 { margin:0 0 .15rem; font-size:1.45rem; line-height:1.25; font-weight:normal; }
.entry h2 a { text-decoration:none; }
.entry p { margin:.4rem 0; }
.byline { color:var(--muted); font-size:.85rem; font-style:italic; margin:0 0 .6rem; }
.more { font-size:.9rem; }
.archive-link { text-align:center; margin-top:20px; font-size:.95rem; }
.post { padding-top:12px; }
.post h2 { font-size:1.7rem; }
.post p, .post li { margin:0 0 1em; }
.post ul { padding-left: 1.3rem; }
.post blockquote { margin:1em 0; padding-left:1em; border-left:3px solid var(--rule); color:var(--muted); }
.pager { display:flex; justify-content:space-between; gap:12px; margin-top:24px; padding-top:12px; border-top:1px dotted var(--rule); font-size:.9rem; }
.pager a { min-height:44px; padding:0; }
h3 { font-size:1rem; color:var(--muted); font-weight:normal; border-bottom:1px solid var(--rule); margin:24px 0 4px; }
ul.archive { list-style:none; margin:0; padding:0; }
ul.archive li { padding:8px 0; }
ul.archive .byline { display:block; margin:0; }
footer { margin-top:40px; padding-top:12px; border-top:3px double var(--rule); text-align:center; color:var(--muted); font-size:.8rem; }
@media (min-width:700px) { .wrap { margin-top:24px; margin-bottom:24px; min-height:0; } .masthead h1 { font-size:2.4rem; } }
