.nfhs-reader { max-width: 1240px; padding-top: 2.25rem; padding-bottom: 3rem; }
.nfhs-reader-hero { margin-bottom: 2rem; }
.nfhs-eyebrow { color: var(--color-text-muted); font-size: .8rem; letter-spacing: .09em; text-transform: uppercase; margin-bottom: .65rem; }
.nfhs-reader-hero h1 { font-size: clamp(1.8rem, 4vw, 2.8rem); line-height: 1.2; }
.nfhs-reader-lead { color: var(--color-text-subtle); max-width: 65ch; }
.nfhs-subnav { display: flex; flex-wrap: wrap; gap: .35rem; margin: 1.4rem 0; padding-bottom: .65rem; border-bottom: 1px solid var(--color-border-subtle); }
.nfhs-subnav a { padding: .6rem .85rem; border-radius: .45rem; color: var(--color-text-subtle); text-decoration: none; font-weight: 600; }
.nfhs-subnav a[aria-current], .nfhs-subnav a:hover { color: var(--color-text); background: var(--color-surface-alt, rgba(127,127,127,.12)); }
.nfhs-reader-layout { display: grid; grid-template-columns: 235px minmax(0,1fr); gap: 2.5rem; align-items: start; }
.nfhs-reader-sidebar { position: sticky; top: 6rem; max-height: calc(100vh - 7rem); overflow-y: auto; }
.nfhs-book-contents summary { padding: .6rem 0; font-weight: 700; cursor: pointer; }
.nfhs-book-contents nav { display: grid; gap: .2rem; margin-top: .4rem; }
.nfhs-book-contents a { display: flex; gap: .65rem; padding: .65rem .5rem; border-radius: .4rem; text-decoration: none; color: var(--color-text-subtle); line-height: 1.45; font-size: .9rem; }
.nfhs-book-contents a span { flex: 0 0 1.2rem; color: var(--color-text-muted); font-variant-numeric: tabular-nums; }
.nfhs-book-contents a[aria-current], .nfhs-book-contents a:hover { background: rgba(20,184,166,.12); color: var(--color-text); }
.nfhs-source-links { display: grid; gap: .6rem; font-size: .8rem; margin: 1.5rem 0; padding: 0 .5rem; }
.nfhs-source-links p { color: var(--color-text-muted); margin: .5rem 0 0; }
.nfhs-reader-main { min-width: 0; }
.nfhs-search { margin-bottom: 1.4rem; }
.nfhs-search label, .nfhs-jump-label { font-size: .85rem; font-weight: 600; margin-bottom: .5rem; }
.nfhs-search-row { display: flex; gap: .6rem; }
.nfhs-search-row input { min-width: 0; }
.nfhs-reader-result h2 { font-size: 1.25rem; line-height: 1.5; }
.nfhs-reader-result p { font-size: .85rem; color: var(--color-text-muted); }
.nfhs-chapter-intro { color: var(--color-text-subtle); font-size: .9rem; line-height: 1.7; }
.nfhs-preview-notice { background: rgba(59,130,246,.1); border: 1px solid rgba(59,130,246,.3); padding: 1rem; border-radius: .6rem; margin-bottom: 1.5rem; font-size: .9rem; }
.nfhs-preview-notice p { margin: 0 0 .4rem; }
.nfhs-book-entry { padding: 1.5rem; border: 1px solid var(--color-border-subtle); border-radius: .85rem; background: var(--color-surface); margin-bottom: 1.2rem; overflow-wrap: anywhere; scroll-margin-top: 7rem; }
.nfhs-reference { font-size: .85rem; font-weight: 700; text-decoration: none; }
html:not([data-theme="dark"]) .nfhs-reader a:not(.btn):not(.nfhs-subnav a):not(.nfhs-book-contents a) { color: #08796b; }
.nfhs-entry-title { font-size: 1.25rem; margin: .45rem 0 1.2rem; line-height: 1.4; }
.nfhs-book-text { font-size: 1.025rem; line-height: 1.85; }
.nfhs-book-text p { white-space: pre-line; margin: 0 0 1rem; max-width: 75ch; }
.nfhs-rule-block { scroll-margin-top: 7rem; }
.nfhs-rule-block + .nfhs-rule-block { margin-top: 1.4rem; }
.nfhs-article-number { font-size: .8rem; color: var(--color-text-muted); margin-bottom: .45rem; font-weight: 700; }
.nfhs-rule-context, .nfhs-case-ruling { border-top: 2px solid var(--color-border-subtle); padding-top: 1rem; }
.nfhs-case-comment { color: var(--color-text-subtle); }
.nfhs-book-lock { padding-top: .4rem; font-size: .9rem; }
.nfhs-book-lock p { color: var(--color-text-subtle); }
.nfhs-book-lock .btn { margin: 0 .4rem .4rem 0; }
.nfhs-related { border-top: 2px solid var(--color-border-subtle); margin-top: 1.3rem; padding-top: .7rem; }
.nfhs-related summary { padding: .5rem 0; font-weight: 600; cursor: pointer; }
.nfhs-related-count { display: inline-block; margin-left: .3rem; padding: .05rem .5rem; border-radius: 1rem; font-size: .8rem; color: var(--color-text-subtle); background: rgba(127,127,127,.12); }
.nfhs-related-content { margin-top: 1rem; }
.nfhs-related-entry { padding: 1rem; border-radius: .6rem; background: rgba(127,127,127,.035); }
.nfhs-related-entry:last-child { margin-bottom: 0; }
.nfhs-related-entry .nfhs-entry-title { font-size: 1.1rem; }
.nfhs-no-related { color: var(--color-text-muted); font-size: .8rem; margin: 1rem 0 0; }
.nfhs-pagination { display: flex; gap: 1rem; align-items: center; justify-content: center; margin-top: 1.8rem; }
.nfhs-pagination span { font-size: .85rem; color: var(--color-text-muted); }
.nfhs-material { max-width: 900px; }
.nfhs-rule-block:target, .nfhs-book-entry:target { outline: 2px solid rgba(20,184,166,.5); outline-offset: 5px; }
@media (max-width: 900px) {
  .nfhs-reader-layout { grid-template-columns: minmax(0,1fr); gap: 1.25rem; }
  .nfhs-reader-sidebar { position: static; max-height: none; }
  .nfhs-book-contents { border: 1px solid var(--color-border-subtle); border-radius: .65rem; padding: .2rem .85rem; }
  .nfhs-book-contents nav { grid-template-columns: repeat(2,minmax(0,1fr)); }
}
@media (max-width: 575.98px) {
  .nfhs-reader { padding-top: 1.5rem; }
  .nfhs-book-entry { padding: 1.05rem; }
  .nfhs-related-entry { padding: .75rem; }
  .nfhs-book-text { font-size: 1rem; line-height: 1.8; }
  .nfhs-subnav a { padding: .55rem .65rem; font-size: .9rem; }
  .nfhs-book-contents nav { grid-template-columns: minmax(0,1fr); }
}
