:root{--ink:#1b1b18;--paper:#faf6ef;--accent:#c2410c;--muted:#6b665c}*{box-sizing:border-box}body{background:var(--paper);color:var(--ink);margin:0;font-family:Georgia,Times New Roman,serif;font-size:18px;line-height:1.55}h1,h2,.wordmark,.site-footer{font-family:Helvetica,Arial,sans-serif}main,.site-header,.site-footer{max-width:44rem;margin:0 auto;padding:1rem 16px}.site-header{padding-top:1.5rem}.wordmark{color:var(--accent);font-size:1.5rem;font-weight:700;text-decoration:none}h1{font-size:clamp(1.6rem,6vw,2.4rem);line-height:1.15}h2{border-bottom:2px solid var(--accent);padding-bottom:.25rem;font-size:1.35rem}section{margin:2rem 0}a{color:var(--accent);overflow-wrap:anywhere}.placeholder{color:var(--muted)}.hp{display:none}.field{margin:1rem 0}.field label{font-family:Helvetica,Arial,sans-serif;font-weight:700;display:block}.field input,.field textarea{width:100%;font:inherit;border:1px solid var(--ink);color:var(--ink);background:#fff;padding:.5rem}.field small{color:var(--muted)}.field-error,.form-error{color:#9a1c0a;font-weight:700}.form-ok{font-weight:700}button[type=submit]{background:var(--accent);color:#fff;cursor:pointer;border:0;padding:.7rem 1.4rem;font:700 1rem Helvetica,Arial,sans-serif}button[type=submit]:disabled{opacity:.6;cursor:progress}.kind{border:0;margin:1rem 0;padding:0}.kind label{font-family:Helvetica,Arial,sans-serif;display:block}.consent{color:var(--muted);font-size:.85rem}.site-footer{border-top:1px solid var(--muted);margin-top:3rem;font-size:.9rem}.site-footer nav{flex-wrap:wrap;gap:1rem;margin:.5rem 0;display:flex}.book-link,.cards a{text-decoration:none;display:block}.book-link img,.cards img{border:1px solid var(--muted);width:100%;max-width:260px;height:auto;display:block}.book-link span,.cards span{margin-top:.4rem;text-decoration:underline;display:block}.cards{grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:1.25rem;padding:0;list-style:none;display:grid}.viewer{margin:1rem 0}.viewer:focus-visible{outline:3px solid var(--accent);outline-offset:4px}.viewer-stage{aspect-ratio:4/5;width:100%;max-width:1200px;margin:0 auto}@media (min-width:700px){.viewer-stage{aspect-ratio:8/5}}.viewer-controls{justify-content:space-between;align-items:center;gap:1rem;margin-top:.75rem;display:flex}.viewer-controls p{margin:0}.viewer-controls button{background:var(--accent);color:#fff;cursor:pointer;border:0;min-height:44px;padding:.7rem 1rem;font:700 1rem Helvetica,Arial,sans-serif}
