:root {
  --oreilly-red: #b52822;
  --ink: #282828;
  --muted: #666;
}

body {
  color: var(--ink);
  font-family: "Songti SC", "STSong", "Noto Serif CJK SC", Georgia, serif;
  line-height: 1.78;
  letter-spacing: 0.01em;
}

h1, h2, h3, h4, h5, h6,
.sidebar-title, .chapter-number {
  font-family: "Hiragino Sans GB", "Heiti SC", "Noto Sans CJK SC", Arial, sans-serif;
}

h1 {
  color: var(--oreilly-red);
  font-weight: 600;
  letter-spacing: -0.02em;
}

h2 {
  border-bottom: 1px solid #ddd;
  padding-bottom: 0.2rem;
  font-weight: 600;
}

h3, h4 {
  font-weight: 600;
}

code, pre, kbd, samp {
  font-family: "SF Mono", "Menlo", "Ubuntu Mono", monospace;
}

figcaption {
  color: var(--muted);
  font-family: "Hiragino Sans GB", "Heiti SC", sans-serif;
  font-size: 0.9rem;
  text-align: left;
}

.quarto-figure {
  margin: 1.5rem auto 1.8rem;
}

blockquote {
  border-left: 0.25rem solid var(--oreilly-red);
  color: #444;
  font-style: italic;
}

.callout {
  border-radius: 0;
}

.sidebar nav[role="doc-toc"] ul > li > a.active,
.sidebar-navigation .sidebar-item-container .active {
  color: var(--oreilly-red);
}

