:root { --ink: #203b4b; --denim: #173e54; --paper: #f4f0e6; --cream: #faf8f1; --rust: #8e4026; --thread: #c8b997; --washed: #e1e8e8; --quiet: #465c66; }
body { background: var(--paper); color: var(--ink); }
a { color: var(--denim); }
a:hover { color: var(--rust); }
a:focus-visible, summary:focus-visible { outline: 3px solid var(--rust); outline-offset: 3px; }
.skip-link { background: var(--cream); color: var(--denim); }
.reading-progress { appearance: none; background: transparent; color: var(--rust); }
.reading-progress::-webkit-progress-bar { background: transparent; }
.reading-progress::-webkit-progress-value { background: var(--rust); }
.reading-progress::-moz-progress-bar { background: var(--rust); }
.masthead { color: var(--cream); background: var(--denim); border-bottom: 4px solid var(--thread); }
.masthead-name, .masthead-link { color: var(--cream); }
.masthead-name:hover, .masthead-link:hover { color: #fff; }
.masthead-name:focus-visible, .masthead-link:focus-visible { outline-color: var(--thread); }
.masthead-note { color: #e0e6e5; }
.masthead-link { border: 1px solid #8397a0; text-decoration: none; }
.masthead-link:hover { background: #28566e; }
.chapter-heading { color: var(--denim); }
.chapter-group-title { color: var(--rust); }
.chapter-list { border-left: 1px dashed var(--thread); }
.chapter-link:hover { background: var(--washed); }
.chapter-current { background: var(--washed); border-left: 4px solid var(--denim); }
.breadcrumb-list { color: var(--quiet); }
.breadcrumb-current::before { content: '/'; margin-right: .8rem; }
.page-kicker { color: var(--rust); }
.page-title { color: var(--denim); }
.page-lead { color: var(--quiet); }
.snapshot { color: var(--quiet); border-left: 3px solid var(--thread); }
.answer-section { border-top: 1px solid var(--thread); }
.section-title { color: var(--denim); }
.ask-copy { background: var(--cream); border-left: 3px solid var(--rust); }
.reading-link { border-bottom: 1px solid var(--thread); text-decoration: none; }
.reading-link::after { content: '↗'; }
.photo { border: 1px solid var(--thread); background: #d9deda; }
.photo-image { color: var(--ink); background: repeating-linear-gradient(130deg, #dae1df 0, #dae1df 12px, #d4ddda 12px, #d4ddda 13px); }
.photo-caption { background: var(--cream); border-top: 1px solid var(--thread); }
.source-drawer { border: 1px solid var(--thread); background: var(--cream); }
.source-toggle { color: var(--denim); }
.source-toggle:hover { background: var(--washed); }
.source-drawer[open] .source-toggle { border-bottom: 1px solid var(--thread); }
.source-note { color: var(--quiet); }
.source-link { border-bottom: 1px dashed var(--thread); }
.source-link::after { content: '↗'; margin-left: auto; flex: 0 0 auto; }
.chapter-turn { border-top: 2px solid var(--denim); }
.turn-link { text-decoration: none; background: var(--washed); }
.turn-link:hover { background: #d4dfde; }
.footer { background: #e7e0d0; border-top: 1px dashed #9d927a; }
.footer-copy { color: var(--ink); }
.footer-link { text-decoration: none; border-bottom: 1px solid #9d927a; }
@media (max-width: 850px) { .chapter-rail { border-top: 2px solid var(--denim); } }
@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } }
