.prose {
    color: var(--c-text-muted);
    font-size: var(--fs-base);
    line-height: 1.75;
}

    .prose > * + * {
        margin-top: 1.15em;
    }

    .prose h1, .prose h2, .prose h3, .prose h4, .prose h5, .prose h6 {
        color: var(--c-text);
        line-height: 1.15;
        letter-spacing: -0.03em;
    }

    .prose h1 { font-size: var(--fs-3xl); }
    .prose h2 { font-size: var(--fs-2xl); margin-top: 1.6em; }
    .prose h3 { font-size: var(--fs-xl); margin-top: 1.4em; }
    .prose h4 { font-size: var(--fs-lg); }

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

    .prose strong {
        color: var(--c-text);
        font-weight: 600;
    }

    .prose a {
        color: var(--c-accent);
        text-decoration: underline;
        text-decoration-thickness: 1px;
        text-underline-offset: 3px;
        transition: color var(--t-fast);
    }

        .prose a:hover {
            color: var(--c-accent-hi);
        }

    .prose ul, .prose ol {
        padding-left: 1.25em;
    }

    .prose li + li {
        margin-top: 0.4em;
    }

    .prose li::marker {
        color: var(--c-accent);
    }

    .prose blockquote {
        margin-inline: 0;
        padding: var(--s-4) var(--s-5);
        border-left: 3px solid var(--c-accent);
        border-radius: 0 var(--r-md) var(--r-md) 0;
        background: var(--c-accent-soft);
        color: var(--c-text);
        font-size: var(--fs-lg);
    }

    .prose img {
        border-radius: var(--r-lg);
        border: 1px solid var(--c-line);
    }

    .prose hr {
        border: 0;
        height: 1px;
        background: var(--c-line);
    }

    .prose table {
        width: 100%;
        border-collapse: collapse;
        font-size: var(--fs-sm);
    }

    .prose th, .prose td {
        padding: 0.65rem 0.8rem;
        border-bottom: 1px solid var(--c-line);
        text-align: left;
    }

    .prose th {
        color: var(--c-text);
    }

    .prose :not(pre) > code {
        padding: 0.15em 0.4em;
        border-radius: 6px;
        background: var(--c-surface-2);
        border: 1px solid var(--c-line);
        color: var(--c-accent-hi);
        font-family: var(--f-mono);
        font-size: 0.88em;
    }

    .prose pre,
    pre[class*="language-"] {
        position: relative;
        margin: 1.5em 0;
        padding: var(--s-5);
        border-radius: var(--r-md);
        border: 1px solid var(--c-line);
        background: #0f0e0f;
        overflow: auto;
        font-family: var(--f-mono);
        font-size: var(--fs-sm);
        line-height: 1.65;
        color: #e8e3dc;
    }

/* Prism token colors (brand-tuned) */
.token.comment, .token.prolog, .token.doctype, .token.cdata { color: #6f6a64; font-style: italic; }
.token.punctuation { color: #a8a29b; }
.token.property, .token.tag, .token.boolean, .token.number, .token.constant, .token.symbol { color: #ffa24a; }
.token.selector, .token.attr-name, .token.string, .token.char, .token.builtin { color: #9fd48a; }
.token.operator, .token.entity, .token.url { color: #e8e3dc; }
.token.atrule, .token.attr-value, .token.keyword { color: #ff7f00; }
.token.function, .token.class-name { color: #7cc7ff; }
.token.regex, .token.important, .token.variable { color: #ffd2a6; }
