.publication-prose, .article-preview-body, .note-editor .note-editable {
    color: #334155;
    font-family: inherit;
    font-size: 1.0625rem;
    line-height: 1.8;
    overflow-wrap: break-word;
}
.publication-prose > :first-child { margin-top: 0; }
.publication-prose > p, .article-preview-body > p { margin: 0 0 1.5em; }
.publication-prose > h2, .publication-prose > h3, .publication-prose > h4 {
    color: #111827; font-family: var(--font-secondary, 'Plus Jakarta Sans', sans-serif); font-weight: 800; line-height: 1.3; scroll-margin-top: 6rem;
}
.publication-prose > h2 { font-size: 1.75rem; margin: 2em 0 .75em; }
.publication-prose > h3 { font-size: 1.35rem; margin: 1.75em 0 .65em; }
.publication-prose > h4 { font-size: 1.125rem; margin: 1.5em 0 .55em; }
.publication-prose > ul, .publication-prose > ol { margin: 0 0 1.5em; padding-left: 1.5em; }
.publication-prose > ul { list-style: disc; }
.publication-prose > ol { list-style: decimal; }
.publication-prose li { margin: .45em 0; }
.publication-prose > blockquote { border-left: 4px solid #8054b8; border-radius: 0 .75rem .75rem 0; background: #f7f3fb; margin: 2em 0; padding: 1.2rem 1.5rem; color: #4b3a61; }
.publication-prose a:not(.npc-hero-btn) { color: #6f2a9f; font-weight: 600; text-decoration: underline; text-underline-offset: 3px; }
.publication-prose img { display: block; max-width: 100%; height: auto; margin: 2rem auto; border-radius: 1rem; }
.publication-table-scroll { width: 100%; max-width: 100%; overflow-x: auto; margin: 2rem 0; }
:is(.publication-prose, .article-preview-body, .note-editable) table {
    display: table; width: 100% !important; height: auto !important; margin: 0 !important;
    border-collapse: collapse; font: inherit; table-layout: auto;
}
:is(.publication-prose, .article-preview-body, .note-editable) :is(th, td) {
    border: 1px solid #dbe2ea; padding: .8rem 1rem; text-align: left;
    width: auto !important; height: auto !important; min-width: 8rem; vertical-align: top;
}
:is(.publication-prose, .article-preview-body, .note-editable) th { background: #f3f5f8; font-weight: 700; }
.publication-prose pre { overflow-x: auto; border-radius: .75rem; background: #111827; padding: 1rem 1.25rem; color: #f8fafc; font-size: .9rem; }
.publication-block { margin: 2rem 0; font-style: normal; }
.publication-block > section { padding: 0; }
.publication-block > section > div { padding-left: 0; padding-right: 0; }
.publication-block .npc-quiz { border-top: 0; padding-top: 0; }
.publication-block h2 { margin-top: 0; }
.note-editable [data-publication-block] { border: 2px dashed #8054b8; border-radius: .5rem; background: #f7f3fb; padding: 1rem; margin: 1rem 0; cursor: pointer; }
.publication-preview-block { border: 1px solid #ddd1ed; border-radius: 1rem; padding: 1.25rem; margin: 1.5rem 0; background: #faf7fd; }
.publication-preview-block h3 { margin-top: 0; font-size: 1.25rem; }
.publication-preview-choice { display: flex; gap: .5rem; border: 1px solid #dbe2ea; padding: .65rem; margin: .5rem 0; border-radius: .5rem; background: white; cursor: pointer; }
.publication-preview-choice.is-answer { border-color: #0f766e; background: #f0fdfa; }
.publication-preview-choice.is-wrong { border-color: #b91c1c; background: #fef2f2; }
.publication-preview-cta { text-align: center; }
.publication-preview-cta a { display: inline-block; border: 1px solid #6f2a9f; border-radius: 2rem; padding: .6rem 1rem; margin: .25rem; color: #6f2a9f; text-decoration: none; }
.publication-preview-cta a:first-of-type { background: #6f2a9f; color: white; }

.publication-block .npc-quiz__head { border-top: 0; padding-top: 0; }

/* Article companion: a quiet column that stays within the article's boundaries. */
.publication-reader-layout { max-width: 74rem; margin: 0 auto; padding: 0 1.5rem; }
.publication-reader-article { min-width: 0; }
.publication-reader-sidebar { margin: 0 auto 2rem; max-width: 48rem; min-width: 0; color: #64748b; font-family: var(--font-primary, 'Poppins', sans-serif); font-size: .875rem; line-height: 1.6; }
.publication-reader-sidebar :is(p, li, a, small, summary) { font-family: inherit !important; }
.publication-reader-panel { border: 1px solid var(--npc-navy-border, #dde5ed); border-radius: .875rem; background: var(--npc-navy-light, #eef3f8); }
.publication-reader-summary { display: flex; align-items: center; justify-content: space-between; gap: 1rem; padding: 1rem 1.125rem; font-weight: 650; color: #475569; cursor: pointer; list-style: none; }
.publication-reader-summary::-webkit-details-marker { display: none; }
.publication-reader-summary i { font-size: .65rem; }
.publication-reader-panel[open] .publication-reader-summary i { transform: rotate(180deg); }
.publication-reader-panel-body { padding: 0 1.125rem 1.125rem; }
.publication-reader-sidebar .publication-reader-label { color: #64748b !important; font-family: inherit !important; font-size: .7rem !important; font-weight: 650 !important; line-height: 1.6 !important; text-transform: uppercase; letter-spacing: .09em; margin: .5rem 0 .75rem; }
.publication-reader-outline { list-style: none; margin: 0; padding: 0; border-left: 1px solid #e2e8f0; }
.publication-reader-outline li { margin: 0; }
.publication-reader-outline a { display: block; margin-left: -1px; border-left: 2px solid transparent; padding: .4rem 0 .4rem .875rem; color: #64748b; text-decoration: none; overflow-wrap: anywhere; }
.publication-reader-outline a:hover, .publication-reader-outline a[aria-current="location"] { color: #6f2a9f; border-left-color: #a77bc5; background: #faf8fc; }
.publication-reader-outline a[aria-current="location"] { font-weight: 650; }
.publication-reader-subsection a { padding-left: 1.5rem; font-size: .8125rem; }
.publication-reader-suggestions { border-top: 1px solid #edf0f4; padding-top: 1rem; margin-top: 1.25rem; }
.publication-reader-suggestion { display: block; color: #475569; text-decoration: none; padding: .5rem 0; overflow-wrap: anywhere; }
.publication-reader-suggestion span { display: block; font-weight: 600; line-height: 1.5; }
.publication-reader-suggestion small { display: block; color: #94a3b8; font-size: .7rem; margin-top: .3rem; }
.publication-reader-suggestion:hover span, .publication-reader-links a:hover { color: #6f2a9f; }
.publication-reader-links { border-top: 1px solid #edf0f4; margin-top: 1rem; padding-top: 1rem; display: flex; flex-wrap: wrap; gap: .75rem 1.25rem; font-size: .75rem; }
.publication-reader-links a { color: #64748b; text-decoration: none; }
.publication-reader-sidebar a:focus-visible, .publication-reader-summary:focus-visible { outline: 2px solid #8054b8; outline-offset: 3px; border-radius: .2rem; }
#publicationArticle, #publicationBody :is(h2, h3)[id] { scroll-margin-top: 8rem; }
@media (min-width: 1100px) {
    .publication-reader-layout { display: grid; grid-template-columns: 15rem minmax(0, 48rem); justify-content: center; align-items: start; column-gap: 3rem; padding: 0 2rem; }
    .publication-reader-article { grid-column: 2; grid-row: 1; }
    .publication-reader-sidebar { grid-column: 1; grid-row: 1; position: sticky; top: 8rem; margin: 0; width: 100%; max-height: calc(100dvh - 9.5rem); overflow-y: auto; scrollbar-width: thin; overscroll-behavior: contain; }
    .publication-reader-summary { font-size: .8125rem; }
}
