/* Shared public resource and study-guide reading layout. */
.resource-reader-layout { max-width: 76rem; margin: 0 auto; padding: 0 1.5rem; display: flex; flex-direction: column; gap: 2rem; }
.resource-reader-layout--wide { max-width: 80rem; }
.resource-reader-content { min-width: 0; width: 100%; order: 3; }
.resource-reader-layout:not(.resource-reader-layout--navigation) .resource-reader-content { max-width: 52rem; margin-inline: auto; }
.resource-reader-layout--wide:not(.resource-reader-layout--navigation) .resource-reader-content { max-width: none; }
.resource-reader-sidebar { min-width: 0; width: 100%; color: #64748b; font-family: var(--font-primary, 'Poppins', sans-serif); font-size: .8125rem; line-height: 1.6; }
.resource-reader-sidebar :is(p, li, a, small, summary) { font-family: inherit !important; }
.resource-reader-sidebar--left { order: 1; }
.resource-reader-sidebar--right { order: 2; }
.resource-reader-panel { border: 1px solid #e8eaf0; border-radius: .875rem; background: #fff; }
.resource-reader-summary { display: flex; align-items: center; justify-content: space-between; gap: 1rem; padding: 1rem; font-size: .75rem; font-weight: 700; letter-spacing: .05em; cursor: pointer; list-style: none; color: #475569; }
.resource-reader-summary::-webkit-details-marker { display: none; }
.resource-reader-summary i { font-size: .65rem; }
.resource-reader-panel[open] > .resource-reader-summary i { transform: rotate(180deg); }
.resource-reader-panel-body { padding: 0 1rem 1rem; }
.resource-reader-sidebar--left .resource-reader-panel { border: 1px solid var(--npc-navy-border, #dde5ed); border-radius: .875rem; background: var(--npc-navy-light, #eef3f8); }
.resource-reader-sidebar--left .resource-reader-summary { padding: 1rem; }
.resource-reader-sidebar--left .resource-reader-panel-body { padding: 0 1rem 1rem; }
.resource-reader-sidebar .resource-reader-label { color: #64748b !important; font-family: inherit !important; font-size: .65rem !important; font-weight: 700 !important; letter-spacing: .07em; text-transform: uppercase; line-height: 1.6 !important; margin: 0 0 .5rem; }
.resource-reader-outline { list-style: none; margin: 0; padding: 0; border-left: 1px solid #e2e8f0; }
.resource-reader-outline li { margin: 0; padding: 0; }
.resource-reader-outline a { display: flex; align-items: flex-start; justify-content: space-between; gap: .4rem; margin-left: -1px; border-left: 2px solid transparent; padding: .4rem .25rem .4rem .75rem; color: #64748b; text-decoration: none; overflow-wrap: anywhere; }
.resource-reader-outline a:hover, .resource-reader-outline a[aria-current] { color: #6f2a9f; border-left-color: #a77bc5; background: #faf8fc; }
.resource-reader-outline a[aria-current] { font-weight: 650; }
.resource-reader-back, .resource-reader-next { display: flex; align-items: flex-start; justify-content: space-between; gap: .5rem; color: #6f2a9f; font-weight: 650; text-decoration: none; }
.resource-reader-back { justify-content: flex-start; padding-bottom: 1.25rem; border-bottom: 1px solid #edf0f4; }
.resource-reader-next { margin-top: 1.25rem; border-top: 1px solid #edf0f4; padding-top: 1.25rem; }
.resource-reader-group { margin-top: 1.25rem; }
.resource-reader-sidebar .resource-reader-group-title { display: block; color: #475569 !important; font-family: inherit !important; font-size: .8125rem !important; font-weight: 700 !important; line-height: 1.55 !important; margin: 0 0 .5rem; text-decoration: none; }
.resource-reader-group-title:hover { text-decoration: underline; }
.resource-reader-progress { border-top: 1px solid #edf0f4; padding-top: 1.25rem; margin-top: 1.25rem; }
.resource-reader-progress p { margin: .35rem 0; font-size: .75rem; }
.resource-reader-progress progress { display: block; appearance: none; width: 100%; height: .4rem; margin: .75rem 0; border: 0; border-radius: 1rem; overflow: hidden; background: #edf0f4; color: #6f2a9f; accent-color: #6f2a9f; }
.resource-reader-progress progress::-webkit-progress-bar { background: #edf0f4; }
.resource-reader-progress progress::-webkit-progress-value { background: #6f2a9f; border-radius: 1rem; }
.resource-reader-progress progress::-moz-progress-bar { background: #6f2a9f; border-radius: 1rem; }
.resource-reader-progress small { display: block; color: #64748b; font-size: .7rem; }
.resource-reader-complete-icon { color: #0f766e; flex-shrink: 0; }
.resource-reader-complete-icon[hidden] { display: none; }
.resource-reader-quiz-preview { margin-top: 1.5rem; padding-top: 1.25rem; border-top: 1px solid #edf0f4; }
.resource-reader-quiz-preview p { font-size: .75rem; line-height: 1.6; margin: .75rem 0; color: #475569; }
.resource-reader-quiz-preview ul { list-style: none; margin: .75rem 0; padding: 0; }
.resource-reader-quiz-preview li { display: flex; align-items: flex-start; gap: .5rem; font-size: .7rem; padding: .35rem 0; color: #64748b; }
.resource-reader-quiz-preview li > span { flex-shrink: 0; color: #94a3b8; }
.resource-reader-quiz-preview a { color: #6f2a9f; text-decoration: none; font-size: .75rem; font-weight: 650; }
.resource-reader-sidebar a:focus-visible, .resource-reader-summary:focus-visible { outline: 2px solid #8054b8; outline-offset: 3px; border-radius: .2rem; }
.resource-reader-content :is(h2, h3)[id] { scroll-margin-top: 8rem; }
.resource-reader-content .npc-guide-code { white-space: normal; overflow-wrap: anywhere; }
.resource-reader-content :is(.npc-quiz__item, .npc-quiz__choices) { min-width: 0; }
.resource-reader-content .npc-guide-table { width: 100%; }
.resource-reader-content .npc-guide-table :is(th, td) { overflow-wrap: anywhere; }
.resource-reader-content .npc-quiz__choice { min-width: 0; }
.resource-reader-content .npc-quiz__text { min-width: 0; overflow-wrap: anywhere; }
.npc-subject-topic-preview { font-family: var(--font-secondary, 'Inter', sans-serif); }
.npc-subject-topic-preview ul { list-style: none; padding: 0; margin: 0; font-size: .875rem; font-weight: 400; line-height: 1.6; }
.npc-subject-topic-preview li { display: flex; align-items: flex-start; gap: .5rem; margin: 0; color: #4b5563; }
.npc-subject-topic-preview li + li { margin-top: .625rem; }
.npc-subject-topic-preview p { font-size: .75rem; }
.npc-resource-body .npc-study-subject-card :is(h2, h3) { margin-top: 1rem !important; font-size: 1.125rem !important; }
.npc-resource-body .npc-study-subject-card [data-subject-metadata] { font-size: .875rem; margin-top: .375rem !important; }
.npc-resource-body .npc-subject-topic-preview p { font-size: .75rem; margin-top: .5rem; }
@media (min-width: 640px) { .npc-resource-body .npc-study-subject-card :is(h2, h3) { font-size: 1.25rem !important; } }
@media (min-width: 1100px) {
    .resource-reader-layout--navigation { display: grid; grid-template-columns: 15rem minmax(0, 52rem); align-items: start; gap: 3rem; padding-inline: 2rem; }
    .resource-reader-content { grid-column: 2; grid-row: 1; }
    .resource-reader-sidebar--left { grid-column: 1; grid-row: 1; }
    .resource-reader-sidebar { position: sticky; top: 8rem; max-height: calc(100dvh - 9.5rem); overflow-y: auto; scrollbar-width: thin; overscroll-behavior: contain; }
    .resource-reader-panel { border: 0; border-right: 1px solid #edf0f4; border-radius: 0; }
    .resource-reader-summary { padding: 0 1rem .875rem 0; }
    .resource-reader-panel-body { padding-left: 0; }
    .resource-reader-layout--topic .resource-reader-sidebar--left { grid-row: 1 / span 2; }
    .resource-reader-layout--topic .resource-reader-content { grid-row: 2; }
    .resource-reader-sidebar--right { grid-column: 2; grid-row: 1; position: static; max-height: none; }
    .resource-reader-sidebar--right .resource-reader-panel { border: 1px solid #e8eaf0; border-radius: .875rem; }
    .resource-reader-sidebar--right .resource-reader-summary { padding: 1rem; }
    .resource-reader-sidebar--right .resource-reader-panel-body { padding-left: 1rem; }
}
@media (min-width: 1280px) {
    .resource-reader-layout--topic { max-width: 96rem; grid-template-columns: 14rem minmax(0, 48rem) 13rem; gap: 2rem; justify-content: center; }
    .resource-reader-layout--topic .resource-reader-content { grid-column: 2; grid-row: 1; }
    .resource-reader-layout--topic .resource-reader-sidebar--left { grid-row: 1; }
    .resource-reader-sidebar--right { grid-column: 3; grid-row: 1; position: sticky; max-height: calc(100dvh - 9.5rem); }
    .resource-reader-sidebar--right .resource-reader-panel { border: 0; border-left: 1px solid #edf0f4; border-radius: 0; }
    .resource-reader-sidebar--right .resource-reader-summary { padding-top: 0; }
}
