:root { --ink:#20201d; --muted:#6c6b63; --paper:#f7f4ec; --rule:#d7d1c3; --accent:#9a3412; }
* { box-sizing:border-box; }
html { font-size:18px; }
body { margin:0 auto; max-width:780px; padding:2.2rem 1.25rem 4rem; color:var(--ink); background:var(--paper); font-family:Georgia, 'Times New Roman', serif; line-height:1.55; }
a { color:inherit; text-decoration-color:#aaa294; text-underline-offset:.18em; }
a:hover { color:var(--accent); text-decoration-color:var(--accent); }
.masthead { display:flex; justify-content:space-between; align-items:baseline; gap:1rem; padding-bottom:1rem; border-bottom:1px solid var(--ink); }
.site-name { font-weight:700; text-decoration:none; letter-spacing:-.02em; }
nav { display:flex; gap:1rem; font-family:ui-sans-serif,system-ui,sans-serif; font-size:.75rem; }
.intro { margin:4.5rem 0 3.5rem; max-width:34rem; }
.eyebrow,.link-meta,.topics,.roundup-count,footer { font-family:ui-sans-serif,system-ui,sans-serif; }
.eyebrow { color:var(--accent); font-size:.7rem; font-weight:700; letter-spacing:.12em; text-transform:uppercase; }
h1 { margin:.4rem 0 .8rem; font-size:clamp(2.7rem,9vw,5.4rem); line-height:.9; letter-spacing:-.055em; font-weight:500; }
.intro p { color:var(--muted); font-size:1.08rem; }
.link-entry { padding:1.35rem 0 1.55rem; border-top:1px solid var(--rule); }
.link-entry h2 { margin:.28rem 0; font-size:1.28rem; line-height:1.25; }
.link-meta { display:flex; gap:.7rem; color:var(--muted); font-size:.67rem; text-transform:uppercase; letter-spacing:.07em; }
.commentary { margin:.55rem 0; }
.topics { display:flex; gap:.4rem; flex-wrap:wrap; margin-top:.7rem; }
.topic { padding:.1rem .42rem; border:1px solid var(--rule); border-radius:2rem; color:var(--muted); font-size:.62rem; }
.section-title { margin:3rem 0 .5rem; font-size:.8rem; font-family:ui-sans-serif,system-ui,sans-serif; text-transform:uppercase; letter-spacing:.09em; color:var(--accent); }
.roundup-list { list-style:none; padding:0; margin:2rem 0; border-top:1px solid var(--rule); }
.roundup-list li { display:flex; justify-content:space-between; padding:.8rem 0; border-bottom:1px solid var(--rule); }
.roundup-count { color:var(--muted); font-size:.75rem; }
footer { margin-top:5rem; padding-top:1rem; border-top:1px solid var(--rule); color:var(--muted); font-size:.68rem; }
@media (max-width:560px) { nav { gap:.6rem; } .intro { margin-top:3rem; } }
