@import url("https://fonts.googleapis.com/css2?family=IBM+Plex+Mono:wght@400;500&family=Literata:opsz,wght@7..72,400;7..72,500;7..72,600;7..72,700&family=Manrope:wght@500;600;700;800&family=STIX+Two+Math&display=swap");

:root {
  --tb-font-body: "Literata", "Iowan Old Style", "Palatino Linotype", "Book Antiqua", Georgia, serif;
  --tb-font-ui: "Manrope", "Avenir Next", "Segoe UI", sans-serif;
  --tb-font-mono: "IBM Plex Mono", "SFMono-Regular", "Cascadia Code", monospace;
  --tb-font-math: "STIX Two Math", "Latin Modern Math", "Cambria Math", serif;
  --tb-measure: 72ch;
}

html {
  font-size: 18px;
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}

body {
  font-family: var(--tb-font-body);
  font-optical-sizing: auto;
  font-kerning: normal;
  font-feature-settings: "liga" 1, "kern" 1, "onum" 1;
  line-height: 1.68;
  letter-spacing: 0.003em;
  text-align: left;
  text-justify: none;
  hanging-punctuation: first allow-end last;
  hyphens: auto;
  -webkit-hyphens: auto;
  overflow-wrap: break-word;
  color: #1d232b;
}

p,
li,
dd,
blockquote {
  max-width: var(--tb-measure);
  text-wrap: pretty;
}

h1,
h2,
h3,
h4,
h5,
h6,
.title,
.quarto-title-block .title {
  font-family: var(--tb-font-body);
  font-optical-sizing: auto;
  font-feature-settings: "liga" 1, "kern" 1, "onum" 0;
  font-weight: 600;
  letter-spacing: -0.012em;
  line-height: 1.18;
  text-wrap: balance;
}

h1,
.quarto-title-block .title {
  font-size: clamp(1.74rem, 1.44rem + 0.84vw, 2.28rem);
}

h2 {
  font-size: clamp(1.45rem, 1.2rem + 0.7vw, 1.9rem);
}

h3 {
  font-size: clamp(1.2rem, 1.08rem + 0.45vw, 1.45rem);
}

.navbar,
#quarto-sidebar,
#quarto-margin-sidebar,
.breadcrumb,
.course-page-nav,
.quarto-announcement-content,
button,
.btn,
.nav-link,
.dropdown-item,
.sidebar-item-text,
.sidebar-item-toggle {
  font-family: var(--tb-font-ui);
  font-feature-settings: "liga" 1, "kern" 1;
}

code,
pre,
.sourceCode,
.sourceCode code,
.code-copy-button,
kbd,
samp {
  font-family: var(--tb-font-mono);
  font-size: 0.9em;
}

pre code,
.sourceCode code {
  font-feature-settings: "liga" 0, "calt" 0;
}

mjx-container[jax="CHTML"],
mjx-container[jax="CHTML"] * {
  font-family: var(--tb-font-math) !important;
}

mjx-container[jax="CHTML"] {
  font-size: 1.03em !important;
}

mjx-container[jax="CHTML"] mjx-mi {
  font-style: italic;
}

mjx-container[jax="CHTML"] mjx-mtext {
  font-style: normal;
}

main.content {
  font-size: 1.02rem;
}

main.content p + p {
  margin-top: 0.8rem;
}

main.content ul,
main.content ol {
  line-height: 1.45;
}

main.content li {
  margin-bottom: 0.18rem;
  padding-bottom: 0;
}

blockquote {
  font-size: 0.98em;
  border-left: 0.2rem solid rgba(0, 0, 0, 0.14);
  padding-left: 1rem;
  color: rgba(29, 35, 43, 0.88);
}

@media (max-width: 991.98px) {
  html {
    font-size: 17px;
  }

  p,
  li,
  dd,
  blockquote {
    max-width: none;
  }
}
