body {
  margin: 0 auto;
  max-width: 900px;
  padding: 30px 50px;
  font-family: Palatino, "Palatino Linotype", Georgia, serif;
  font-size: 16px;
  line-height: 1.6;
  color: #1a1a1a;
}
h1, h2, h3, h4 { color: #003399; font-family: "Avenir Next", "Helvetica Neue", sans-serif; }
h1 { border-bottom: 2px solid #003399; padding-bottom: 0.3em; }
img {
  max-width: min(100%, 600px);
  height: auto;
  display: block;
  margin: 1em auto;
}
td img { max-width: 50px; display: inline; margin: 0; }
body { counter-reset: chapter; }
h1[data-number] { counter-increment: chapter; counter-reset: figure; }
figure { text-align: center; margin: 2em 0; counter-increment: figure; }
figcaption { font-size: 0.85em; font-style: italic; color: #555; margin-top: 0.5em; }
figcaption::before { content: "Figure " counter(chapter) "." counter(figure) " — "; font-weight: bold; font-style: normal; color: #333; }
table { border-collapse: collapse; margin: 1em auto; }
th, td { border: 1px solid #ccc; padding: 0.5em 1em; }
th { background-color: #f0f0f0; }
code { background-color: #f5f5f5; padding: 0.1em 0.3em; border-radius: 3px; }
nav#TOC { background: #f8f8f8; padding: 1em 2em; border-radius: 8px; margin-bottom: 2em; }
nav#TOC ul { list-style: none; padding-left: 1em; }
nav#TOC > ul { padding-left: 0; }
nav#TOC a { text-decoration: none; color: #003399; }
nav#TOC a:hover { text-decoration: underline; }
.chapter-cover { margin: 3em 0 1em 0; }
.chapter-cover img { max-width: 100%; width: 100%; height: 200px; object-fit: cover; border-radius: 8px; }
.glossary-link { color: #003399; text-decoration: none; border-bottom: 1px dotted #003399; }
.glossary-link:hover { text-decoration: underline; }
dl.glossary dt { font-weight: bold; color: #003399; margin-top: 1em; }
dl.glossary dd { margin-left: 2em; margin-bottom: 0.5em; }
div.exampleT {
  background: #fef8f0;
  border-left: 4px solid #f0960a;
  border-radius: 4px;
  padding: 1em 1.5em;
  margin: 1.5em 0;
}
div.exampleT .example-header {
  font-weight: bold;
  color: #f0960a;
  font-family: "Avenir Next", "Helvetica Neue", sans-serif;
  margin-bottom: 0.5em;
}
