/* CS176C Book Custom Styles */

/* ── Right-side page TOC: collapsed by default, expands on click/scroll ── */

/* ── Typography — Source Sans Pro ── */
body {
  font-family: 'Source Sans Pro', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
  font-size: 1.05rem;
  line-height: 1.75;
  letter-spacing: 0.01em;
}
h1, h2, h3, h4, h5, h6 {
  font-family: 'Source Sans Pro', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
  font-weight: 600;
  letter-spacing: -0.01em;
  line-height: 1.3;
}
h1 { margin-top: 2rem; margin-bottom: 1rem; }
h2 { margin-top: 1.75rem; margin-bottom: 0.75rem; }
h3 { margin-top: 1.5rem; margin-bottom: 0.5rem; }
p { margin-bottom: 1rem; }
code, pre {
  font-family: 'Source Code Pro', 'Fira Code', 'Consolas', monospace;
  font-size: 0.9em;
}
.content { max-width: 52rem; }
#quarto-content { padding-top: 1rem; }

/* Figure styling */
figure img {
  max-width: 100%;
  border: 1px solid #e5e7eb;
  border-radius: 6px;
  padding: 8px;
  background: #f9fafb;
}

/* Callouts */
.callout-note  { border-left-color: #2563eb; }
.callout-tip   { border-left-color: #059669; }
.callout-warning { border-left-color: #d97706; }

/* OJS cell output */
.cell-output-display {
  margin: 1rem 0;
  border: 1px solid #e5e7eb;
  border-radius: 8px;
  padding: 1rem;
  background: #fafbfc;
}

/* Tables */
table { width: 100%; border-collapse: collapse; margin: 1rem 0; }
th, .table th, table thead th { background: #f1f5f9; font-weight: 600; text-align: left !important; padding: 0.5rem 0.75rem; vertical-align: top; }
td, .table td, table tbody td { padding: 0.5rem 0.75rem; border-bottom: 1px solid #e2e8f0; text-align: left !important; vertical-align: top; }
