:root{--bg:#f6f0e4;--ink:#2a2420;--muted:#6b5f55;--brand:#5a3a22;--accent:#9a6b2f;--rule:#dccfb8;--card:#fffaf0;--bar:#2b221c;--barink:#f1e6d2}
@media (prefers-color-scheme:dark){:root{--bg:#1b1612;--ink:#eadfca;--muted:#a99b88;--brand:#e0b982;--accent:#d49a52;--rule:#3a2f27;--card:#241d17;--bar:#120e0b;--barink:#eadfca}}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--bg);color:var(--ink);font:1.125rem/1.65 Georgia,"Iowan Old Style","Palatino Linotype",serif}
a{color:var(--brand)}
.bar{position:sticky;top:0;z-index:5;display:flex;flex-wrap:wrap;gap:.4rem 1.2rem;justify-content:space-between;align-items:center;padding:.6rem 1rem;background:var(--bar);color:var(--barink);font:.9rem/1.3 system-ui,sans-serif}
.bar a{color:var(--barink);text-decoration:none}.bar a:hover{text-decoration:underline}
.bar .home{font-weight:700;letter-spacing:.02em}
.bar nav{display:flex;flex-wrap:wrap;gap:.3rem 1rem}
main{max-width:42rem;margin:0 auto;padding:1.5rem 1rem 3rem}
h1{font-size:2rem;line-height:1.2;text-align:center;margin:1.5rem 0 1.5rem;color:var(--brand)}
h1::after{content:"";display:block;width:4rem;height:2px;background:var(--accent);margin:.8rem auto 0}
h1.sr{position:absolute;left:-9999px}
h2{font:700 1.25rem/1.3 system-ui,sans-serif;margin:2.4rem 0 .6rem;padding-top:1rem;border-top:1px solid var(--rule);color:var(--brand)}
h3{font-size:1.1rem;margin:1.6rem 0 .3rem}
p{margin:0 0 1rem}
p.small{font-size:.95rem}
figure{margin:1.4rem auto;text-align:center}
figure img{max-width:100%;height:auto;border-radius:2px;box-shadow:0 1px 6px rgba(0,0,0,.25)}
figcaption{font-size:.9rem;color:var(--muted);margin-top:.4rem;line-height:1.35}
figure.tall img{max-height:34rem;width:auto}
.grid{display:flex;flex-wrap:wrap;gap:1rem;justify-content:center;margin:1.4rem 0}
.grid figure{margin:0;flex:0 1 calc(50% - .5rem)}
.grid figure img{width:auto;max-width:100%;max-height:22rem}
@media(min-width:760px){main{padding-top:2.5rem}.grid figure{flex-basis:calc(25% - .8rem)}}
dt{font-weight:700;margin-top:.6rem}dd{margin:0 0 .3rem 1rem}
ul.contents,ul.idx{list-style:none;padding:0;margin:0}
ul.contents li{border-bottom:1px solid var(--rule);padding:.55rem 0;font-size:1.1rem}
ul.contents a{text-decoration:none;display:block}ul.contents a:hover{color:var(--accent)}
ul.idx{columns:2;column-gap:2rem;font-size:1rem}
ul.idx li{break-inside:avoid;margin:.1rem 0}
@media(max-width:560px){ul.idx{columns:1}}
p.letter{margin:1.4rem 0 .3rem;font:700 1.2rem system-ui,sans-serif;color:var(--accent)}
.titlepage{display:grid;gap:2rem;align-items:center}
.titlepage .cover{width:100%;max-width:20rem;margin:0 auto;display:block;border-radius:3px;box-shadow:0 6px 24px rgba(0,0,0,.35)}
.titlepage figure img{box-shadow:none}
.titlepage .tp-text{text-align:center}
.titlepage .kicker{font:600 .8rem system-ui,sans-serif;letter-spacing:.18em;text-transform:uppercase;color:var(--accent);margin:0}
.titlepage .tp-title{font:700 2rem/1.15 Georgia,serif;border:0;margin:.4rem 0;padding:0;color:var(--brand)}
.titlepage .tp-sub{font-size:1.15rem;font-style:italic;margin:0 0 .8rem}
.titlepage .tp-author{font:600 1rem system-ui,sans-serif;letter-spacing:.06em;margin:0 0 1.2rem}
@media(min-width:820px){.titlepage{grid-template-columns:20rem 1fr}main{max-width:56rem}}
.btn{display:inline-block;padding:.65rem 1.3rem;border-radius:999px;background:var(--brand);color:var(--bg);text-decoration:none;font:600 .95rem system-ui,sans-serif;margin:.3rem}
.btn.ghost{background:transparent;color:var(--brand);border:2px solid var(--brand)}
.pager{display:flex;justify-content:space-between;gap:1rem;max-width:42rem;margin:0 auto;padding:1rem;border-top:1px solid var(--rule);font:.95rem system-ui,sans-serif}
.foot{text-align:center;color:var(--muted);font:.85rem system-ui,sans-serif;padding:1.5rem 1rem 2.5rem}
:target{scroll-margin-top:4rem}
p.memoriam{margin-top:2.5rem;padding-top:1rem;border-top:1px solid var(--rule);font-size:1rem;color:var(--muted);text-align:center}
