/* Muslex layout v18: keep the TOC in its own rail without making it stretch the first content row. */
:root {
  --prose-measure: 48rem;
  --article-toc-w: 15rem;
  --article-gap: 2rem;
}

.home-page {
  --max: 84rem;
  --gutter: clamp(1.75rem, 5vw, 6rem);
}

@media (min-width: 1100px) {
  .prose:has(> .article-main) {
    max-width: min(100%, calc(var(--prose-measure) + var(--article-toc-w) + var(--article-gap)));
    grid-template-columns: var(--article-toc-w) minmax(0, var(--prose-measure));
    column-gap: var(--article-gap);
    align-items: start;
    display: grid;
  }

  .prose:has(> .article-main) > .toc {
    grid-column: 1;
    grid-row: 1;
    top: var(--sticky-top);
    max-height: calc(100vh - var(--header-h) - 1.75rem);
    align-self: start;
    margin: 0;
    position: sticky;
    overflow: auto;
  }

  .prose:has(> .article-main) > .article-main {
    grid-column: 2;
    grid-row: 1;
    min-width: 0;
  }
}

@media (max-width: 1099px) {
  :root {
    --prose-measure: min(48rem, calc(100vw - 2rem));
    --article-toc-w: min(15rem, 34vw);
    --article-gap: 1.25rem;
  }
}

@media (max-width: 720px) {
  :root {
    --prose-measure: 100%;
    --article-toc-w: 100%;
    --article-gap: 1rem;
  }
}
