.blog-post-container h1 {
  font-size: 32px;
  font-weight: 300;
  line-height: 130%;
  color: #fff;
  margin-top: 24px;
  margin-bottom: 16px;
}

.blog-post-container h2,
h3,
h4,
h5,
h6 {
  margin-top: 32px;
  margin-bottom: 12px;
}

/* Matches any p that is directly followed by an h2. */
.blog-post-container p:has(+ h2),
.blog-post-container ul:has(+ h2),
.blog-post-container ol:has(+ h2) {
  margin-bottom: 72px;
}

.blog-post-container li {
  list-style: '—  ';
}

tbody tr:nth-child(even) {
  background-color: hsla(0 100 100 / 0.05);
}

#floating-point-table-1 {
  table-layout: fixed;

  & td {
    font-family: 'Geist Mono', monospace;
  }
}

.math {
  color: #939eff;
}

.blog-post-container p,
.blog-post-container li,
.blog-post-container td {
  line-height: 160%;
  color: #ccc;
  margin-bottom: 1em;
}

.blog-post-container .blog-post-date {
  font-size: 13px;
  color: #888;
  margin-bottom: 72px;
}

.blog-post-container table {
  table-layout: auto;
  width: 100%;
  border-collapse: collapse;
  font-size: 13px;
  caption-side: bottom;

  & > caption {
    text-align: left;
    & > p {
      line-height: 140%;
      font-size: 13px;
      line-height: 140%;
      color: #888;
      margin-top: 8px;
    }
  }
}

tr,
td,
th {
  border-width: 1px;
  border-style: solid;
  border-color: #262626;
  vertical-align: top;
  padding: 2px 4px 1px 4px;
  text-align: left;
}

.blog-post-container figure {
  margin: 24px 0 32px 0;
}

.blog-post-container figcaption {
  font-size: 13px;
  line-height: 140%;
  color: #888;
  margin-top: 8px;
}

.blog-post-container .acronym {
  font-feature-settings: 'cpsp' on;
}

.blog-post-container blockquote p {
  font-size: 32px;
  font-weight: 300;
  line-height: 130%;
  letter-spacing: -0.75px;
  color: #fff;
  margin: 56px 0 64px 0;
}

.blog-post-container .astro-code {
  padding: 20px 30px;
  margin: 32px 0;
  border-radius: 2px;
  font-family: 'Geist Mono', monospace;
  font-size: 13px;
}

.blog-post-container :not(.astro-code) code {
  font-size: 1.05em;
  font-family: 'Geist Mono', monospace;
  /* padding: 0 2px; */
  /* border-radius: 0.25em; */
  color: #84a83f;
  /* background-color: #84A83F22; */
}

.blog-post-container .disclaimer {
  background-color: #dfdfdf;
  padding: 16px 24px;
  margin: 24px 0;
  border-radius: 2px;
}

.blog-post-container img {
  max-width: 100%;
}

.blog-post-container .divider {
  height: 1px;
  background-color: #393939;
  margin: 24px 0;
}
