:root { color-scheme:light dark; --paper:#f5efe5; --ink:#35291f; --muted:#6e5c4a; --accent:#985432; --line:#d6c7b5; }
@media (prefers-color-scheme:dark) { :root { --paper:#211c18; --ink:#f1e5d3; --muted:#bdac96; --accent:#e6b379; --line:#5b4b3b; } }
* { box-sizing:border-box; }
body { margin:0; background:var(--paper); color:var(--ink); font:1rem/1.75 Manrope,system-ui,sans-serif; }
a { color:var(--accent); text-underline-offset:.2em; }
a:hover { text-decoration-thickness:2px; }
a:focus-visible { outline:3px solid var(--accent); outline-offset:5px; }
.reading-header,main,.reading-footer { width:min(100% - 2.5rem,48rem); margin-inline:auto; }
.reading-header { display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:1rem; padding-block:1.5rem; border-bottom:1px solid var(--line); }
.reading-brand { font-size:1.15rem; font-weight:800; text-decoration:none; color:var(--ink); }
nav { display:flex; flex-wrap:wrap; gap:.65rem 1.25rem; }
main { padding-block:2rem 3rem; }
h1,h2,h3 { line-height:1.2; text-wrap:balance; }
h1 { font-size:clamp(2rem,6vw,3.2rem); letter-spacing:-.04em; }
h2 { margin-top:2.25rem; font-size:1.45rem; }
li { margin-block:.6rem; }
.eyebrow,.updated { color:var(--muted); font-size:.9rem; }
.eyebrow { text-transform:uppercase; letter-spacing:.1em; font-weight:700; }
.callout { border-left:3px solid var(--accent); padding:.75rem 1.25rem; }
.reading-footer { padding-block:1.5rem 2.5rem; border-top:1px solid var(--line); font-size:.9rem; }
@media print { .reading-header,.reading-footer { display:none; } body { background:white; color:black; } main { width:100%; } }
