/* Two reading formats share the site's existing type and link system. */
.reading-modes {
  display: flex;
  flex-wrap: wrap;
  gap: 12px 24px;
  margin-top: 24px;
  font-size: var(--text-meta);
  line-height: 1.6;
}
.reading-modes a { color: var(--secondary); }
.reading-modes a[aria-current="page"] { color: var(--ink); text-decoration-color: var(--ink); }
.star-toc ol { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px 32px; }
.star-toc li + li { margin-top: 0; }

/* Chapter boundaries follow the argument; source slide numbers are only anchors. */
.star-article > .star-chapter + .star-chapter {
  margin-top: 80px;
  padding-top: 40px;
  border-top: 1px dashed var(--line);
}
.star-article .chapter-title { margin: 0 0 28px; }
.star-article .article-deck { margin: 0 0 24px; color: var(--secondary); font-size: var(--text-summary); }
.star-article .article-topic { margin: 48px 0 0; }
.star-article .article-topic > h3 { margin: 0 0 20px; }
.star-article .article-subtopic { margin: 28px 0 0; }
.star-article .article-subtopic > h4 { margin: 0 0 12px; }

/* Lists, tables and prose use the same flow; transitions never rely on p + p alone. */
.star-article :is(.prose-group, .article-topic, .article-subtopic) > :where(p, ul, ol, figure, .table-scroll) {
  margin-block: 0;
}
.star-article :is(.prose-group, .article-topic, .article-subtopic) > :where(p, ul, ol, figure, .table-scroll) + :where(p, ul, ol, figure, .table-scroll) {
  margin-top: 1em;
}
.star-article .mode-profile { padding-top: 28px; border-top: 1px solid var(--line); }
.star-article .profile-label { color: var(--secondary); font-size: var(--text-meta); }
.star-article .mode-profile > p + p { margin-top: 12px; }
.star-article .mode-profile > .list-intro + ul { margin-top: 8px; }
.star-article .mode-profile li + li { margin-top: 4px; }
.star-article .worked-example { padding-top: 32px; border-top: 1px solid var(--line); }
.star-article .ranked-list > li + li { margin-top: 24px; }
.star-article .ranked-list > li::marker { color: var(--secondary); font-size: var(--text-meta); }
.star-article .ranked-list strong { color: var(--ink); }
.star-article .calculation-steps > li + li { margin-top: 24px; }

.star-article code.math-expression {
  display: inline-block;
  max-width: 100%;
  overflow-x: auto;
  overflow-wrap: normal;
  white-space: nowrap;
  vertical-align: middle;
  line-height: 1.7;
  font-variant-numeric: tabular-nums;
}
.star-article .formula-block, .star-article .formula-list {
  padding: 18px 20px;
  background: var(--paper);
  overflow-x: auto;
  line-height: 1.7;
}
.star-article .formula-list { list-style: none; }
.star-article .formula-block code.math-expression { display: block; max-width: none; overflow: visible; }
.star-article :is(.formula-block, code.math-expression):focus-visible { outline: 2px solid currentColor; outline-offset: 4px; }
.star-article .article-takeaway { padding-top: 16px; border-top: 1px solid var(--line); color: var(--ink); font-weight: 600; }
.star-article .article-closing { margin-top: 48px; font: 400 var(--text-section)/1.6 var(--serif); color: var(--ink); }
.star-article .article-closing p + p { margin-top: 8px; }

@media (max-width: 600px) {
  .star-toc ol { grid-template-columns: minmax(0, 1fr); }
  .star-article > .star-chapter + .star-chapter { margin-top: 56px; padding-top: 32px; }
  .star-article .article-topic { margin-top: 36px; }
  .star-article .formula-block, .star-article .formula-list { padding: 16px; }
}
