:root { --reading-size: 1.1875rem; }
:root[data-text-size="large"] { --reading-size: 1.375rem; }
:root[data-text-size="larger"] { --reading-size: 1.625rem; }
:root[data-color="sand"] { --paper: #eee4d1; --white: #f8f0e2; --ink: #302b23; --muted: #655b4c; --line: #cfc1aa; --soft: #e3dbc9; }
:root[data-color="night"] { color-scheme: dark; --paper: #182320; --white: #1e2c27; --ink: #eeeede; --muted: #b8c5bb; --line: #48594f; --green: #a2d7b9; --soft: #25372d; --sand: #344235; }
html { scroll-behavior: auto; }
body { overflow-wrap: break-word; }
.back-home { margin: 16px 0 0; font: .8125rem/1.5 var(--sans); }
.back-home a { display: inline-flex; align-items: center; min-height: 44px; text-decoration: none; }
.back-home { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; color: var(--muted); }
.topbar { flex-wrap: wrap; }
.top-links a:first-child { display: inline-flex; }
.hero { padding-top: 38px; padding-bottom: 32px; }
.begin-link { margin: 26px 0 0; font-size: .9375rem; }
.begin-link a { display: inline-flex; align-items: center; gap: 18px; min-height: 44px; }
.content-layout { grid-template-columns: 190px minmax(0, 1fr); gap: 64px; }
.article { max-width: 65ch; font-family: var(--serif); font-size: var(--reading-size); line-height: 1.8; }
.intro { font-size: 1.25em; line-height: 1.65; }
.chapter > p { margin-bottom: 1.2em; }
.chapter h2 { line-height: 1.25; }
.chapter-label, .interact, .context-note, .evidence-area, .sources-area { font-family: var(--sans); }
.chapter .last-note { font-size: .9em; }
.pattern-examples { margin: 1.5em 0; border-bottom: 1px solid var(--line); }
.pattern-example { border-top: 1px solid var(--line); }
.pattern-example > summary { padding: 18px 0; min-height: 44px; cursor: pointer; font: 600 .9em/1.6 var(--sans); color: var(--green); }
.pattern-body { padding: 0 0 12px; }
.pattern-body p { font-size: 1em; line-height: inherit; margin: 0 0 1em; }
.pattern-body .example-thought { border-left: 2px solid var(--green); padding-left: 16px; }
.citation { font-family: var(--sans); font-size: .8em; }
.interact p, .lens-box p, .context-note p, .sources-area .source-intro, .source .source-body,
.brain-explorer p, .science-notes p { font-size: calc(var(--reading-size) * .84); }
.brain-map button, .science-notes summary { font-size: calc(var(--reading-size) * .8); }
.brain-explorer .explorer-hint, .brain-explorer figcaption { font-size: calc(var(--reading-size) * .72); }
.sources-area .source summary, .source-body a { font-size: .875rem; }
.reading-line { position: static; }
.switches button[aria-pressed="true"], .lens-buttons button[aria-pressed="true"] { color: var(--paper); }
.reader-tools { padding-bottom: 24px; }
.reading-options { border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); font-family: var(--sans); font-size: .9375rem; }
.reading-options > summary { cursor: pointer; min-height: 56px; padding: 16px 0; color: var(--green); font-weight: 600; }
.reading-options > summary span { color: var(--muted); font-weight: 400; font-size: .8125rem; margin-left: 14px; }
.reading-settings { max-width: 640px; padding: 8px 0 26px; }
.preference-controls { display: flex; flex-wrap: wrap; gap: 20px; padding-bottom: 28px; }
.reading-settings .setting { display: grid; gap: 8px; }
.audio-settings { display: grid; grid-template-columns: minmax(0, 1fr) minmax(145px, .5fr); gap: 16px; }
.audio-settings .setting { min-width: 0; }
.audio-settings select { width: 100%; min-width: 0; }
#essay-audio { display: block; width: 100%; min-width: 0; margin: 18px 0 10px; }
.listen-panel #voice-note { font-size: .8125rem; color: var(--muted); }
.reading-settings button:disabled, .reading-settings select:disabled { opacity: .6; cursor: not-allowed; }
.reading-settings label { font-size: .8125rem; font-weight: 600; }
.reading-settings select { max-width: 100%; min-width: 145px; min-height: 46px; border: 1px solid var(--line); border-radius: 4px; background: var(--white); color: var(--ink); padding: 10px 32px 10px 12px; font: 1rem/1.4 var(--sans); }
.reading-settings button { min-height: 46px; border: 1px solid var(--green); border-radius: 4px; padding: 10px 18px; background: transparent; color: var(--green); font: .9375rem/1.4 var(--sans); }
.reading-settings #listen { background: var(--green); color: var(--paper); }
.reading-settings select:focus-visible { outline: 3px solid var(--green); outline-offset: 4px; }
.listen-panel h2 { font: 1.625rem/1.3 var(--serif); margin: 0 0 12px; }
.listen-panel p, .travel-note p { font: .9375rem/1.7 var(--sans); }
.listen-buttons { display: flex; flex-wrap: wrap; gap: 10px; margin: 16px 0; }
#listen-status { font-size: .8125rem; color: var(--muted); }
.travel-note { border-top: 1px solid var(--line); margin-top: 22px; padding-top: 10px; }
.travel-note > summary { min-height: 44px; padding: 10px 0; cursor: pointer; }
#resume-reading { font-size: .875rem; }
.top-links a, .switches button, .lens-buttons button { min-height: 44px; display: inline-flex; align-items: center; }
.source summary, .quiet-details summary { min-height: 44px; }
@media (max-width: 900px) { .content-layout { grid-template-columns: 160px minmax(0, 1fr); gap: 32px; } }
@media (max-width: 700px) {
  .wrap { padding-left: 24px; padding-right: 24px; }
  .topbar { gap: 12px; }
  .top-links { gap: 12px; }
  .hero { padding-top: 20px; padding-bottom: 24px; }
  .hero h1 { font-size: clamp(3.25rem, 15vw, 4.5rem); }
  .hero .dek { font-size: 1.125rem; }
  .content-layout { display: block; padding-top: 24px; }
  .contents { grid-template-columns: 1fr; gap: 0; }
  .contents a { min-height: 44px; font-size: .875rem; align-items: center; }
  .sidebar { margin-bottom: 36px; }
  .sidebar .extra-links { display: flex; flex-wrap: wrap; gap: 0 20px; margin-top: 12px; padding-top: 12px; }
  .sidebar .extra-links a { display: inline-flex; align-items: center; min-height: 44px; }
  .intro { font-size: 1.1em; }
  .chapter h2 { font-size: 1.65em; }
  .reading-options > summary span { display: block; margin-left: 0; margin-top: 3px; }
  .reader-tools { padding-bottom: 24px; }
}
@media (max-width: 360px) { .wrap { padding-left: 18px; padding-right: 18px; } .top-links { gap: 10px; } }
@media (max-width: 540px) {
  .audio-settings { grid-template-columns: minmax(0, 1fr); }
  .topbar { padding-bottom: 0; gap: 8px; }
  .top-links { width: 100%; border-top: 1px solid var(--line); justify-content: space-between; padding-top: 3px; }
  .top-links a { font-size: .8125rem; }
}
@media print {
  :root { --paper: #fff; --white: #fff; --ink: #222; --muted: #444; --line: #ccc; --green: #222; --soft: #eee; }
  .reader-tools, .back-home, .begin-link { display: none; }
  .article { font-size: 11pt; max-width: none; }
  .pattern-example { break-inside: avoid; }
}
