/* Typography for rendered Markdown blog posts (the .prose container). Loaded only on blog
   article pages. The syntax-highlighting theme (Rouge) is appended below this block. */
.prose { color: #374151; line-height: 1.75; }
.prose h2 { font-size: 1.5rem; font-weight: 700; color: #111827; margin: 2.25rem 0 .75rem; letter-spacing: -.01em; }
.prose h3 { font-size: 1.2rem; font-weight: 600; color: #111827; margin: 1.75rem 0 .5rem; }
.prose p { margin: 1rem 0; }
.prose a { color: #2563eb; text-decoration: underline; text-underline-offset: 2px; }
.prose a:hover { color: #1d4ed8; }
.prose strong { color: #111827; font-weight: 600; }
.prose ul, .prose ol { margin: 1rem 0; padding-left: 1.5rem; }
.prose ul { list-style: disc; }
.prose ol { list-style: decimal; }
.prose li { margin: .4rem 0; }
.prose blockquote { margin: 1.5rem 0; padding-left: 1rem; border-left: 3px solid #e5e7eb; color: #6b7280; font-style: italic; }
.prose code { background: #f3f4f6; color: #1f2937; padding: .15em .4em; border-radius: 4px; font-size: .9em; font-family: ui-monospace, SFMono-Regular, Menlo, monospace; }
.prose pre { margin: 1.5rem 0; padding: 1rem; border-radius: .5rem; overflow-x: auto; border: 1px solid #e5e7eb; font-size: .875rem; }
.prose pre code { background: none; padding: 0; }
.prose img { border-radius: .5rem; margin: 1.5rem 0; }
.prose table { width: 100%; border-collapse: collapse; margin: 1.25rem 0; font-size: .9rem; }
.prose th, .prose td { border: 1px solid #e5e7eb; padding: .5rem .75rem; text-align: left; }
.prose th { background: #f9fafb; }
.prose hr { margin: 2rem 0; border: 0; border-top: 1px solid #e5e7eb; }

/* ---- Rouge syntax highlighting theme (generated, scoped to .prose .highlight) ---- */
.prose .highlight table td { padding: 5px; }
.prose .highlight table pre { margin: 0; }
.prose .highlight, .prose .highlight .w {
  color: #24292f;
  background-color: #f6f8fa;
}
.prose .highlight .k, .prose .highlight .kd, .prose .highlight .kn, .prose .highlight .kp, .prose .highlight .kr, .prose .highlight .kt, .prose .highlight .kv {
  color: #cf222e;
}
.prose .highlight .gr {
  color: #f6f8fa;
}
.prose .highlight .gd {
  color: #82071e;
  background-color: #ffebe9;
}
.prose .highlight .nb {
  color: #953800;
}
.prose .highlight .nc {
  color: #953800;
}
.prose .highlight .no {
  color: #953800;
}
.prose .highlight .nn {
  color: #953800;
}
.prose .highlight .sr {
  color: #116329;
}
.prose .highlight .na {
  color: #116329;
}
.prose .highlight .nt {
  color: #116329;
}
.prose .highlight .gi {
  color: #116329;
  background-color: #dafbe1;
}
.prose .highlight .ges {
  font-weight: bold;
  font-style: italic;
}
.prose .highlight .kc {
  color: #0550ae;
}
.prose .highlight .l, .prose .highlight .ld, .prose .highlight .m, .prose .highlight .mb, .prose .highlight .mf, .prose .highlight .mh, .prose .highlight .mi, .prose .highlight .il, .prose .highlight .mo, .prose .highlight .mx {
  color: #0550ae;
}
.prose .highlight .sb {
  color: #0550ae;
}
.prose .highlight .bp {
  color: #0550ae;
}
.prose .highlight .ne {
  color: #0550ae;
}
.prose .highlight .nl {
  color: #0550ae;
}
.prose .highlight .py {
  color: #0550ae;
}
.prose .highlight .nv, .prose .highlight .vc, .prose .highlight .vg, .prose .highlight .vi, .prose .highlight .vm {
  color: #0550ae;
}
.prose .highlight .o, .prose .highlight .ow {
  color: #0550ae;
}
.prose .highlight .gh {
  color: #0550ae;
  font-weight: bold;
}
.prose .highlight .gu {
  color: #0550ae;
  font-weight: bold;
}
.prose .highlight .s, .prose .highlight .sa, .prose .highlight .sc, .prose .highlight .dl, .prose .highlight .sd, .prose .highlight .s2, .prose .highlight .se, .prose .highlight .sh, .prose .highlight .sx, .prose .highlight .s1, .prose .highlight .ss {
  color: #0a3069;
}
.prose .highlight .nd {
  color: #8250df;
}
.prose .highlight .nf, .prose .highlight .fm {
  color: #8250df;
}
.prose .highlight .err {
  color: #f6f8fa;
  background-color: #82071e;
}
.prose .highlight .c, .prose .highlight .ch, .prose .highlight .cd, .prose .highlight .cm, .prose .highlight .cp, .prose .highlight .cpf, .prose .highlight .c1, .prose .highlight .cs {
  color: #6e7781;
}
.prose .highlight .gl {
  color: #6e7781;
}
.prose .highlight .gt {
  color: #6e7781;
}
.prose .highlight .ni {
  color: #24292f;
}
.prose .highlight .si {
  color: #24292f;
}
.prose .highlight .ge {
  color: #24292f;
  font-style: italic;
}
.prose .highlight .gs {
  color: #24292f;
  font-weight: bold;
}