* { box-sizing: border-box; }
:root { --ink:#202833; --muted:#5c6770; --paper:#fcfbf7; --card:#ffffff; --accent:#304f72; --line:#d9d6cd; }
body { margin:0; background:var(--paper); color:var(--ink); font-family: Georgia, "Times New Roman", serif; line-height:1.58; }
a { color:var(--accent); }
.wrap { max-width:980px; margin:0 auto; padding:1.15rem 1.35rem; }
.site-header { border-bottom:1px solid var(--line); background:#f3f0e8; }
.eyebrow { font:700 .8rem/1.2 Arial,sans-serif; text-transform:uppercase; letter-spacing:.09em; color:var(--muted); margin:0 0 .45rem; }
.site-title { font-size:1.8rem; font-weight:700; margin:0; }
.site-subtitle { color:var(--muted); margin:.35rem 0 1rem; }
nav { display:flex; flex-wrap:wrap; gap:.9rem; padding:.6rem 0 .1rem; font:600 .95rem Arial,sans-serif; }
nav a[aria-current="page"] { color:var(--ink); text-decoration:none; border-bottom:2px solid var(--accent); }
main { padding-top:1.55rem; padding-bottom:2.5rem; }
h1 { font-size:2rem; line-height:1.2; margin-top:0; }
h2 { margin-top:1.65rem; }
.grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(255px,1fr)); gap:1rem; }
.card { background:var(--card); border:1px solid var(--line); padding:1rem 1.1rem; border-radius:.35rem; }
.meta { color:var(--muted); font:.9rem Arial,sans-serif; }
.badge { font:700 .75rem Arial,sans-serif; text-transform:uppercase; letter-spacing:.05em; display:inline-block; background:#e7edf2; padding:.18rem .42rem; border-radius:.25rem; }
ul.downloads { padding-left:1.2rem; }
pre { overflow:auto; background:#f1efe8; padding:.8rem; border:1px solid var(--line); }
code { font-family:"DejaVu Sans Mono",monospace; font-size:.94em; }
.footer { border-top:1px solid var(--line); color:var(--muted); font:.9rem Arial,sans-serif; }
