:root { --bg:#fbfaf6; --text:#1f2622; --dim:#4d5a52; --line:#d3d9cf; --accent:#7a4f14; --panel:#f1eee4; }
@media (prefers-color-scheme: dark) { :root { --bg:#171916; --text:#eeece2; --dim:#bfc6b6; --line:#3e463d; --accent:#d9b77a; --panel:#22261f; } }
* { box-sizing:border-box; } html { -webkit-text-size-adjust:100%; }
body { margin:0; background:var(--bg); color:var(--text); font:18px/1.6 'Iowan Old Style','Palatino Linotype',Georgia,serif; }
.preview { background:var(--panel); color:var(--dim); font:13px/1.4 system-ui,sans-serif; padding:6px 16px; text-align:center; border-bottom:1px solid var(--line); }
header.site { max-width:44rem; margin:0 auto; padding:18px 16px 8px; display:flex; flex-wrap:wrap; gap:4px 14px; align-items:baseline; }
.brand { font:600 15px/1 system-ui,sans-serif; letter-spacing:.3em; text-transform:uppercase; color:var(--accent); text-decoration:none; }
header .tag { font:14px system-ui,sans-serif; color:var(--dim); }
main { max-width:44rem; margin:0 auto; padding:0 16px 40px; }
h1 { font-size:1.75rem; line-height:1.2; margin:1.2rem 0 .4rem; } h2 { font-size:1.3rem; margin:2rem 0 .5rem; } h3 { font-size:1.1rem; }
a { color:var(--accent); } a:focus-visible { outline:3px solid var(--accent); outline-offset:2px; }
.when { font:14px system-ui,sans-serif; color:var(--dim); margin:0 0 .6rem; }
.limits { font:15px/1.5 system-ui,sans-serif; background:var(--panel); border-left:3px solid var(--accent); padding:10px 12px; margin:0 0 1rem; color:var(--dim); }
nav.pages { display:flex; justify-content:space-between; gap:10px; font:15px/1.4 system-ui,sans-serif; padding:12px 0; border-bottom:1px solid var(--line); margin-bottom:8px; }
nav.pages:last-child { border-bottom:0; border-top:1px solid var(--line); margin-top:24px; }
nav.pages a { text-decoration:none; } nav.pages a:last-child { text-align:right; }
.table-wrap { overflow-x:auto; margin:1rem 0; -webkit-overflow-scrolling:touch; }
table { border-collapse:collapse; font:15px/1.4 system-ui,sans-serif; min-width:100%; } th, td { border:1px solid var(--line); padding:6px 8px; text-align:left; vertical-align:top; }
blockquote { margin:1rem 0; padding:.2rem 1rem; border-left:3px solid var(--line); color:var(--dim); }
code { font-size:.85em; overflow-wrap:anywhere; } img { max-width:100%; }
.cover { background:var(--panel); padding:4px 18px; margin-top:12px; } .status { font:15px system-ui,sans-serif; color:var(--dim); }
ol.toc { padding-left:1.4rem; } ol.toc li { margin:.35rem 0; }
details summary { cursor:pointer; color:var(--accent); margin:1.5rem 0 .5rem; }
footer { max-width:44rem; margin:0 auto; padding:16px; border-top:1px solid var(--line); font:14px/1.5 system-ui,sans-serif; color:var(--dim); }
