@layer parts {

    .prose {
        line-height: var(--line-height-base);
    }

    .prose a:not(.tag):not(.button):not(.toc__link) {
        color: var(--color-muted);
        transition: color var(--transition-speed);
    }

    .prose a:not(.tag):not(.button):not(.toc__link):hover {
        color: var(--color-text);
    }

    .prose > :first-child {
        margin-block-start: 0;
    }

    .prose > * + * {
        margin-block-start: calc(1.25em * var(--prose-scale, 1));
    }

    .prose h1 { font-size: var(--font-size-xxl, 2rem); }
    .prose h2 { font-size: var(--font-size-xl, 1.5rem); }
    .prose h3 { font-size: var(--font-size-lg, 1.25rem); }
    .prose h4 { font-size: var(--font-size-md, 1.125rem); }

    .prose h1, .prose h2, .prose h3, .prose h4 {
        margin-block-start: calc(2em * var(--prose-scale, 1));
        margin-block-end: calc(0.5em * var(--prose-scale, 1));
        scroll-margin-top: calc(var(--header-height, 0px) + var(--spacing-lg));
    }

    .prose ul, .prose ol:not(.toc__list) {
        padding-inline-start: 1.5em;
    }


    .prose li + li {
        margin-block-start: 0.5em;
    }

    .prose .toc__item + .toc__item {
        margin-block-start: 0;
    }

    .prose .toc--inline + h2,
    .prose .toc--inline + h3 {
        margin-block-start: var(--spacing-lg);
    }

    .prose blockquote {
        margin-inline: 0;
        padding-inline-start: var(--spacing-lg);
        border-inline-start: 3px solid var(--color-primary);
        color: var(--color-muted);
        font-style: italic;
    }

    .prose pre {
        background: var(--color-surface);
        padding: var(--spacing-md);
        border-radius: var(--radius-md);
        overflow-x: auto;
        font-size: var(--font-size-sm);
    }

    .prose code {
        background: var(--color-surface);
        padding: 0.15em 0.4em;
        border-radius: var(--radius-sm);
        font-size: 0.9em;
    }

    .prose pre code {
        background: none;
        padding: 0;
        border-radius: 0;
        font-size: inherit;
    }

    .prose img {
        max-width: 100%;
        height: auto;
        border-radius: var(--radius-image-md, var(--radius-md));
    }

    .prose figure {
        border-radius: var(--radius-image-md, var(--radius-md));
        overflow: hidden;
    }

    .prose figcaption {
        font-size: var(--font-size-base);
        color: var(--color-text);
        text-align: center;
        margin-block-start: var(--spacing-sm);
    }

    .prose th, .prose td {
        padding: var(--spacing-sm) var(--spacing-md);
        border-block-end: 1px solid var(--color-border);
        text-align: start;
    }

    .prose th {
        font-weight: var(--font-weight-heading);
    }

    .prose hr {
        border: none;
        border-block-start: 1px solid var(--color-border);
        margin-block: 2em;
    }

}

/* Unlayered — table scroll wrapper injected by argen_wrap_tables() */
.table-wrap {
    display: grid;
    overflow-x: auto;
}
