/* Current reading pages extend the accepted, unchanged homepage shell.
   Retained notice snapshots keep styles.css and are deliberately unaffected. */
.reading-page { --accent-light: var(--accent); }
.reading-page .header-inner { flex-wrap: wrap; }
.reading-page nav { flex-wrap: wrap; gap: 4px 28px; }
.reading-page nav a { display: inline-flex; align-items: center; min-height: 44px; }
.reading-page nav a[aria-current="page"] { color: var(--text); text-decoration: underline; text-decoration-color: var(--accent); font-weight: 600; }
.reading-page .brand { min-height: 44px; }
.reading-page .reading-content { width: min(72ch, calc(100% - 96px)); margin-inline: auto; padding-block: 56px 80px; overflow-wrap: anywhere; }
.reading-content:focus { outline: none; }
.reading-content h1 { font-size: clamp(1.85rem, 3vw, 2.5rem); letter-spacing: -.03em; line-height: 1.2; margin-bottom: 16px; }
.reading-content h2 { font-size: 1.5rem; letter-spacing: -.02em; line-height: 1.35; margin-block: 48px 16px; }
.reading-content h3 { font-size: 1.125rem; line-height: 1.4; margin-block: 32px 12px; }
.reading-content p + p { margin-top: 16px; }
.reading-content ul { padding-left: 24px; margin-block: 16px 24px; }
.reading-content li { padding-left: 4px; margin-block: 8px; }
.reading-content li::marker { color: var(--accent); }
.reading-content .section-subtitle { color: var(--muted); margin-bottom: 32px; }
.reading-content .contact-box { margin-block: 20px 28px; }
.reading-content .contact-box > a { display: inline-block; min-height: 44px; padding-block: 8px; }
.reading-content .privacy-note, .reading-content .safety-note { background: var(--surface); border: 1px solid var(--line); padding: 20px 24px; margin-block: 24px; }
.reading-content .privacy-note-title { font-weight: 600; margin-bottom: 12px; }
.reading-content .privacy-note > :first-child { margin-top: 0; }
.reading-content .privacy-note > :last-child { margin-bottom: 0; }
.reading-content .safety-note { border-color: #8c7548; color: #f2d9a6; }
.reading-content .privacy-note-warning { border-color: #8c7548; }
.reading-content .privacy-note-error { border-color: #9b626b; }
.reading-content .section-divider { border-top: 1px solid var(--line); margin-block: 40px; }
.reading-page .section-jumps { display: flex; align-items: flex-start; gap: 0 20px; border-block: 1px solid var(--line); padding-block: 12px; margin-block: 28px 36px; }
.reading-page .section-jumps a { color: var(--accent); text-decoration: underline; font-size: .875rem; line-height: 1.5; padding-block: 10px; }
.reading-content [id] { scroll-margin-top: 24px; }
.reading-content [tabindex="-1"]:focus-visible { outline: 2px solid var(--accent); outline-offset: 6px; }
.reading-content .notice-component, .reading-content .notice-text { border-top: 1px solid var(--line); padding-top: 24px; margin-top: 32px; }
.reading-content .notice-component h3, .reading-content .notice-text h3 { margin-top: 0; }
.reading-content .notice-component ul { margin-bottom: 0; }
.reading-content pre { font-family: 'JetBrains Mono', monospace; font-size: .875rem; line-height: 1.7; white-space: pre-wrap; overflow-wrap: anywhere; margin-block: 20px 0; }
.reading-page .site-footer { border-top: 1px solid var(--line); }
@media (max-width: 1000px) {
    .reading-page .reading-content { width: min(72ch, calc(100% - 56px)); }
}
@media (max-width: 740px) {
    .reading-page .reading-content { width: calc(100% - 40px); padding-block: 36px 56px; }
    .reading-page .header-inner nav { justify-content: flex-start; gap: 0 20px; }
    .reading-page .header-inner { gap: 12px; }
    .reading-page nav a { font-size: .875rem; }
    .reading-content h2 { margin-top: 36px; }
    .reading-content .privacy-note, .reading-content .safety-note { padding: 16px; }
    .reading-page .site-footer { gap: 16px; }
}
