body { background: #f0f3ef; }

.lab-article {
  max-width: 45rem;
  margin-inline: auto;
  background: #fcfdfa;
  color: var(--color-text);
  overflow-wrap: break-word;
  word-break: normal;
  word-break: auto-phrase;
}
.lab-article .document-header h1 {
  font-size: clamp(1.75rem, 4vw, 2.35rem);
  letter-spacing: -0.015em;
  line-height: 1.45;
}
.lab-article :is(p, li) {
  line-height: 1.95;
}
.lab-article.prose p {
  color: #34413b;
}
.lab-article section + section { margin-top: 2.2rem; }
.lab-article section > article.content-card {
  margin-top: 0;
  padding: 1.25rem 0;
  border: 0;
  border-bottom: 1px solid var(--color-border);
  border-radius: 0;
  background: transparent;
  box-shadow: none;
}
.lab-article section > article.content-card h3 { margin: 0 0 0.35rem; }
.lab-article section > article.content-card p { margin: 0; }
.lab-article__dates { font-size: .9rem; }
.lab-figure { margin: 1.5rem 0; }
.lab-figure img { display: block; width: 100%; height: auto; border: 1px solid var(--color-border); border-radius: var(--radius-sm); }
.lab-figure figcaption { margin-top: .5rem; color: var(--color-muted); font-size: .9rem; }
.lab-table-scroll { max-width: 100%; overflow-x: auto; }
.lab-table-scroll table { width: 100%; min-width: 34rem; border-collapse: collapse; text-align: left; }
.lab-table-scroll caption { margin-bottom: .5rem; text-align: left; font-weight: 700; }
.lab-table-scroll th, .lab-table-scroll td { padding: .7rem; border: 1px solid var(--color-border); vertical-align: top; }
.lab-table-scroll th { background: var(--color-surface-soft); }
.lab-article code { overflow-wrap: anywhere; }
.lab-article ul { padding-left: 1.4rem; }

@media (max-width: 640px) {
  .lab-article { padding: 1.25rem 0.875rem; }
  .lab-article :is(p, li) { line-height: 1.85; }
  .lab-article section + section { margin-top: 1.8rem; }
}
