:root{--bg:#faf7f2;--fg:#1d1b19;--muted:#6b645c;--card:#fff;--line:#e6dfd5;--accent:#b3261e;--accent-fg:#fff}
@media (prefers-color-scheme:dark){:root{--bg:#161412;--fg:#eee8e1;--muted:#a49a8f;--card:#201d1a;--line:#36312c;--accent:#e5534b;--accent-fg:#1a0d0c}}
*{box-sizing:border-box}
body{margin:0;background:var(--bg);color:var(--fg);font:17px/1.55 Georgia,"Iowan Old Style","Palatino Linotype",serif}
a{color:var(--accent)}
main{max-width:760px;margin:0 auto;padding:48px 16px 64px}
header.site{font:600 13px/1 system-ui,sans-serif;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);margin-bottom:40px}
header.site a{color:inherit;text-decoration:none}
h1{font-size:2.1rem;line-height:1.15;margin:0 0 .3em}
.sub{color:var(--muted);font-style:italic;margin:0 0 1.5em}
.book{display:flex;gap:28px;align-items:flex-start}
.cover{flex:0 0 150px;aspect-ratio:2/3;background:var(--accent);color:var(--accent-fg);border-radius:4px;padding:18px 14px;display:flex;flex-direction:column;justify-content:space-between;text-decoration:none;box-shadow:0 6px 18px rgba(0,0,0,.18)}
.cover b{font-size:1.15rem;line-height:1.15}
.cover small{font:600 10px/1.3 system-ui,sans-serif;letter-spacing:.08em;text-transform:uppercase;opacity:.85}
.list{list-style:none;padding:0;margin:0}
.list li{padding:20px 0;border-top:1px solid var(--line)}
.list li:last-child{border-bottom:1px solid var(--line)}
.list a.t{font-size:1.25rem;font-weight:bold;text-decoration:none}
.meta{color:var(--muted);font-size:.95rem}
.primary{display:inline-block;margin:6px 10px 6px 0;padding:10px 18px;border-radius:6px;background:var(--accent);color:var(--accent-fg);font:600 15px/1 system-ui,sans-serif;text-decoration:none}
.primary.alt{background:transparent;color:var(--accent);border:1.5px solid var(--accent)}
h2{font:600 13px/1 system-ui,sans-serif;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);margin:44px 0 12px}
table{width:100%;border-collapse:collapse;font-size:.97rem}
td{padding:11px 8px;border-top:1px solid var(--line);vertical-align:top}
tr:last-child td{border-bottom:1px solid var(--line)}
td.f{white-space:nowrap;font:600 15px/1.4 system-ui,sans-serif}
td.s{white-space:nowrap;color:var(--muted);text-align:right;font:14px/1.4 system-ui,sans-serif}
footer{margin-top:48px;color:var(--muted);font-size:.9rem}
@media (max-width:560px){.book{flex-direction:column}.cover{flex-basis:auto;width:130px}h1{font-size:1.7rem}td.s{display:none}}
