:root { --bg: #fbfaf7; --fg: #23211d; --muted: #6b6660; --rule: #ddd8cf; --link: #7a4b1e; }
* { box-sizing: border-box; }
body { margin: 0; background: var(--bg); color: var(--fg);
  font: 16px/1.65 Georgia, "Times New Roman", serif; }
.wrap { max-width: 42rem; margin: 0 auto; padding: 2.5rem 1.25rem 4rem; }
header { border-bottom: 1px solid var(--rule); padding-bottom: 1rem; margin-bottom: 2rem; }
header a { font-weight: bold; text-decoration: none; color: var(--fg); }
nav a { margin-right: 1rem; font-size: .9rem; color: var(--muted); }
h1 { font-size: 1.6rem; line-height: 1.25; margin: 0 0 .5rem; }
h2 { font-size: 1.15rem; margin: 2rem 0 .5rem; }
a { color: var(--link); }
.meta { color: var(--muted); font-size: .85rem; margin-bottom: 2rem; }
ul.index { list-style: none; padding: 0; }
ul.index li { border-bottom: 1px solid var(--rule); padding: .8rem 0; }
ul.index span { display: block; color: var(--muted); font-size: .85rem; }
pre { background: #f2efe8; border: 1px solid var(--rule); padding: .8rem;
  overflow-x: auto; font-size: .85rem; font-family: Consolas, monospace; }
code { font-family: Consolas, monospace; font-size: .9em; }
table { border-collapse: collapse; width: 100%; font-size: .9rem; }
th, td { text-align: left; border-bottom: 1px solid var(--rule); padding: .45rem .5rem .45rem 0; }
footer { margin-top: 3rem; border-top: 1px solid var(--rule); padding-top: 1rem;
  color: var(--muted); font-size: .85rem; }
