:root{--bg:#f5f1eb;--paper:#fffdf9;--ink:#292521;--line:#d9d0c6;--accent:#852f3d}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);font-family:Georgia,serif}body.dark{--bg:#19191b;--paper:#242427;--ink:#eee7dc;--line:#494248;--accent:#eea7b4}header{border-top:6px solid var(--accent);border-bottom:1px solid var(--line);padding:26px 6%}header a{font-size:26px;text-decoration:none;font-weight:bold}small{display:block;font:11px system-ui;letter-spacing:2px;margin-top:8px}a{color:var(--accent);text-underline-offset:4px}main{max-width:960px;margin:44px auto;padding:0 20px}h1{font-size:clamp(30px,5vw,46px);font-weight:normal}h2{font-weight:normal}p{line-height:1.85}.card{padding:clamp(24px,5vw,46px);background:var(--paper);border:1px solid var(--line);margin:24px 0}.meta{font:14px/1.8 system-ui;opacity:.75}.tags{display:flex;gap:8px;flex-wrap:wrap}.tags span{font:12px system-ui;border:1px solid var(--line);padding:6px 10px}.actions{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;margin:26px 0}.primary{background:var(--accent);color:var(--paper);padding:12px 20px;text-decoration:none;border-radius:3px}.dark .primary{color:#222}ol{padding:0;list-style:none}li{border-top:1px solid var(--line)}li a{display:block;padding:18px 0;text-decoration:none}.reader{max-width:730px}.heading{text-align:center;margin:48px 0}.heading h1{font-size:34px}.prose{font-size:var(--size,19px)}.prose p{white-space:pre-line;margin:0 0 1.35em}button,select{font:14px system-ui;padding:10px;border:1px solid var(--line);background:var(--paper);color:var(--ink);cursor:pointer;max-width:100%}nav{border-top:1px solid var(--line);padding-top:20px}footer{font:12px system-ui;text-align:center;opacity:.7;padding:36px}a:focus-visible,button:focus-visible{outline:3px solid var(--accent);outline-offset:4px}@media(max-width:500px){main{margin-top:24px;padding:0 16px}.card{padding:24px 18px}}
.book-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:24px}.book-grid .card{margin:0}.book-grid h2{font-size:29px}.notes{border-left:3px solid var(--accent);padding:4px 18px}.book-grid .actions{justify-content:flex-start}header{display:flex;justify-content:space-between;align-items:center;gap:20px}select:focus-visible{outline:3px solid var(--accent)}