body {
  font-family: Arial, Helvetica, sans-serif;
  line-height: 1.55;
  margin: 5%;
  color: #222;
  background: #fff;
}
h1, h2, h3 { line-height: 1.2; color: #18283d; }
h1 { font-size: 2em; margin: 1em 0 .5em; }
h2 { font-size: 1.45em; margin: 1.25em 0 .5em; }
p { margin: .7em 0; }
a { color: #1b5a87; }
.book-title { font-size: 2.4em; font-weight: 700; text-align: center; }
.chapter-title { font-size: 2em; font-weight: 700; }
.bold { font-weight: 700; }
.italics { font-style: italic; }
.indent { text-indent: 2em; }
.non-indent { text-indent: 0; }
table { width: 100%; border-collapse: collapse; table-layout: fixed; margin: 1em 0; }
caption { font-weight: 700; text-align: left; margin-bottom: .4em; }
th, td { border: 1px solid #888; padding: .45em; vertical-align: top; overflow-wrap: anywhere; }
th { background: #f1f2f4; }
code { font-family: monospace; overflow-wrap: anywhere; }

.chapter-nav { border-top: 1px solid #bbb; border-bottom: 1px solid #bbb; margin: 1.5em 0; padding: .75em 0; }
.chapter-nav ul { list-style: none; padding: 0; }
.chapter-nav li { margin: .65em 0; }
.chapter-nav a { display: inline-block; padding: .35em 0; }

.frontmatter { margin: 2em 0; }
.title-page { text-align: center; padding: 2em 0; }
.eyebrow { letter-spacing: .08em; font-size: .9em; }
.subtitle { font-size: 1.25em; }
.byline { margin: 2em 0; }
.template-note { font-size: .9em; border-left: .2em solid #bbb; padding-left: 1em; margin: 1.5em 0; }
.dedication { text-align: center; font-style: italic; margin: 3em 0; }
blockquote { margin: 2em 1em; font-style: italic; }

/* Glossary: bold term at left, regular definition at right. */
.epub-definitions { margin: 1em 0; }
.definition-pair { display: table; width: 100%; table-layout: fixed; border-bottom: 1px solid #ccc; break-inside: avoid; page-break-inside: avoid; }
.epub-definitions dt, .epub-definitions dd { display: table-cell; vertical-align: top; padding: .65em .45em; overflow-wrap: anywhere; }
.epub-definitions dt { width: 29%; font-weight: bold; }
.epub-definitions dd { margin: 0; font-weight: normal; font-style: normal; }
@media screen and (max-width: 30em) {
 .definition-pair { display: block; }
 .epub-definitions dt, .epub-definitions dd { display: block; width: auto; }
 .epub-definitions dt { padding-bottom: .15em; }
 .epub-definitions dd { padding-top: 0; }
}

.assembly-code { white-space: pre-wrap; overflow-wrap: anywhere; font-size: .85em; line-height: 1.45; padding: .8em; border: 1px solid #bbb; }

.example-label { font-weight: 700; margin: 1em 0 .35em; }

body { max-width: 52rem; margin: 0 auto; padding: 1.25rem; font-size: 1.125rem; }
a { text-underline-offset: .18em; }
nav#toc li { margin: 1em 0; }
header { border-bottom: 2px solid #ad883f; }
