/* ── READER MODE ───────────────────────────────────────────────────────────
   [data-mode="reader"] retunes tokens and typography for long-form reading.
   Light/dark still follow [data-theme]; only the look of each changes.    */

[data-mode="reader"] {
  /* Dark reading palette: soft charcoal instead of navy-black */
  --bg:          #16171B;
  --surface:     #1D1F24;
  --surface-2:   #25272D;
  --surface-3:   #2D3037;
  --border:      #2B2E35;
  --border-2:    #3A3E47;
  --text:        #E6E4DF;
  --text-muted:  #B0ADA6;
  --text-dim:    #6F737C;
  --text-meta:   #8E8C86;
  --amber:       #E9A54A;
  --amber-dim:   #7A5420;
  --amber-glow:  rgba(233,165,74,0.10);
  --link:        #F0B866;
  --nav-bg:      rgba(22,23,27,0.88);

  --c-text:    #E6E4DF;
  --c-comment: #8B8983;
  --c-keyword: #E9A54A;
  --c-string:  #8FCB9B;
  --c-number:  #D9A6E8;
  --c-name:    #8DB4F0;
  --c-key:     #E8C57E;
  --c-punct:   #A09D96;

  --font-reading: 'Source Serif 4', 'Iowan Old Style', Georgia, serif;
  --font-meta:    var(--font-body);
  --post-size:    1.1875rem;
  --post-lh:      1.72;
  --measure:      680px;
  --h1-weight:    400;
}

[data-mode="reader"][data-theme="light"] {
  /* Light reading palette: warm paper + ink */
  --bg:          #FBFAF7;
  --surface:     #F3F1EC;
  --surface-2:   #ECE9E2;
  --surface-3:   #E3DFD6;
  --border:      #E3DFD6;
  --border-2:    #CBC6BA;
  --text:        #1F2125;
  --text-muted:  #4E5157;
  --text-dim:    #9A9890;
  --text-meta:   #6B6A64;
  --amber:       #B36A12;
  --amber-dim:   #DDB98A;
  --amber-glow:  rgba(179,106,18,0.08);
  --link:        #8F530C;
  --nav-bg:      rgba(251,250,247,0.9);

  --c-text:    #1F2125;
  --c-comment: #67655E;
  --c-keyword: #9A4F00;
  --c-string:  #2F6B3A;
  --c-number:  #84379B;
  --c-name:    #1D4F9C;
  --c-key:     #7A4400;
  --c-punct:   #5E5D57;
}

@media (max-width: 768px) {
  [data-mode="reader"] { --post-size: 1.125rem; --post-lh: 1.68; }
}

/* ── Nav: quieter, gets out of the way while reading ───────────────────── */
[data-mode="reader"] .site-nav.nav-hidden { transform: translateY(-100%); }
[data-mode="reader"] .nav-links a { font-family: var(--font-body); font-size: 14px; }
[data-mode="reader"] .mode-toggle { font-family: var(--font-body); font-size: 13px; }
[data-mode="reader"] .site-footer-copy,
[data-mode="reader"] .site-footer-links a { font-family: var(--font-body); font-size: 0.875rem; }

/* ── Post header ───────────────────────────────────────────────────────── */
[data-mode="reader"] .post-header { border-bottom: none; padding-bottom: 8px; margin-bottom: 40px; }
[data-mode="reader"] .post-kicker { font-family: var(--font-body); font-weight: 600; font-size: 0.8125rem; letter-spacing: 0.06em; }
[data-mode="reader"] .post-header h1 { font-size: clamp(2rem, calc(5vw * var(--ts, 1)), 3rem); line-height: 1.14; letter-spacing: -0.015em; }
[data-mode="reader"] .post-dek { font-size: 1.3125rem; line-height: 1.5; }
[data-mode="reader"] .post-meta { font-size: 0.875rem; }
[data-mode="reader"] .post-byline {
  padding: 18px 0;
  border-top: 1px solid var(--border);
  border-bottom: 1px solid var(--border);
  margin-bottom: 16px;
}
[data-mode="reader"] .post-tags .chip {
  font-family: var(--font-body);
  font-size: 0.7812rem;
  color: var(--text-muted);
  background: var(--surface);
  border-color: var(--border);
  border-radius: 999px;
  padding: 2px 10px;
}

@media (max-width: 768px) {
  [data-mode="reader"] .post-dek { font-size: 1.1875rem; }
}

/* ── Body typography ───────────────────────────────────────────────────── */
[data-mode="reader"] .post-content {
  font-feature-settings: "kern", "liga", "onum";
  font-optical-sizing: auto;
  hanging-punctuation: first;
}
[data-mode="reader"] .post-content > * + * { margin-top: 1.25em; }
[data-mode="reader"] .post-content > p:first-of-type { font-size: 1.1em; line-height: 1.62; }
[data-mode="reader"] .post-content h2 {
  border-top: none;
  padding-top: 0;
  margin-top: 2.6em;
  font-size: 1.6em;
  letter-spacing: -0.01em;
}
[data-mode="reader"] .post-content h3 { font-size: 1.22em; margin-top: 2.1em; }
[data-mode="reader"] .post-content :is(h2, h3, h4) + * { margin-top: 0.75em; }
[data-mode="reader"] .post-content strong { font-weight: 600; }
[data-mode="reader"] .post-content li::marker { color: var(--amber); }

[data-mode="reader"] .post-content blockquote:not(.callout) {
  border-left-width: 2px;
  font-size: 1.08em;
  line-height: 1.6;
  padding-left: 24px;
}

[data-mode="reader"] .post-content :not(pre) > code {
  font-size: 0.8em;
  background: var(--surface-2);
  border: 1px solid var(--border);
  padding: 0.1em 0.38em;
}

/* Tables and captions in a sans for scannability */
[data-mode="reader"] .post-content table { font-size: 0.9375rem; }
[data-mode="reader"] .post-content th { font-family: var(--font-body); font-size: 0.7812rem; font-weight: 600; letter-spacing: 0.04em; }
[data-mode="reader"] .figure figcaption { font-size: 0.875rem; }
[data-mode="reader"] .post-content .footnotes { font-family: var(--font-body); }

/* ── TOC + chrome in the UI sans ───────────────────────────────────────── */
[data-mode="reader"] .toc-title,
[data-mode="reader"] .toc-mobile summary,
[data-mode="reader"] .code-head,
[data-mode="reader"] .post-nav-link span,
[data-mode="reader"] .author-links,
[data-mode="reader"] .back-top,
[data-mode="reader"] .diagram-zoom,
[data-mode="reader"] .post-content blockquote.callout::before { font-family: var(--font-body); font-weight: 600; }
[data-mode="reader"] .toc-list a { font-family: var(--font-body); font-size: 0.8438rem; }
[data-mode="reader"] .toc-list ol a { font-size: 0.8125rem; }
[data-mode="reader"] .diagram { background: var(--surface); }
[data-mode="reader"] .post-content blockquote.callout { font-family: var(--font-body); font-size: 1rem; line-height: 1.6; }

/* ── Listing page: centred header, each article a bordered tile ──────── */
[data-mode="reader"] .blog-header h1 { font-weight: 400; }
[data-mode="reader"] .blog-header p { font-family: var(--font-reading); font-size: 1.1875rem; line-height: 1.55; max-width: 560px; }
[data-mode="reader"] .blog-tags-filter button { font-family: var(--font-body); font-size: 0.8438rem; background: none; }
[data-mode="reader"] .blog-tags-filter button.active { background: var(--amber-glow); }
[data-mode="reader"] .blog-grid { max-width: 800px; gap: 20px; }
[data-mode="reader"] .blog-card { padding: 28px 32px; }
[data-mode="reader"] .blog-card:hover h2 { color: var(--link); }
[data-mode="reader"] .blog-card h2 { font-size: 1.625rem; line-height: 1.25; transition: color 0.2s; }
[data-mode="reader"] .blog-card p { font-family: var(--font-reading); font-size: 1.0938rem; line-height: 1.6; color: var(--text-muted); }
[data-mode="reader"] .blog-card-eyebrow { font-family: var(--font-body); font-size: 0.8438rem; }
[data-mode="reader"] .blog-card-eyebrow .tag { background: none; padding: 0; font-weight: 600; }
[data-mode="reader"] .blog-card .chip { font-family: var(--font-body); font-size: 0.7812rem; border-radius: 999px; padding: 1px 10px; }
[data-mode="reader"] .blog-card.is-soon h2 { color: var(--text-muted); }
[data-mode="reader"] .blog-card.is-soon:hover h2 { color: var(--link); }
@media (max-width: 768px) {
  [data-mode="reader"] .blog-card { padding: 22px 20px; }
}

/* ── Font preview (?font=newsreader | literata) ────────────────────────── */
[data-mode="reader"][data-font="newsreader"] { --font-reading: 'Newsreader', 'Source Serif 4', Georgia, serif; --post-size: 1.3125rem; }
[data-mode="reader"][data-font="literata"]   { --font-reading: 'Literata', 'Source Serif 4', Georgia, serif; --post-size: 1.125rem; }

/* ── Series box ────────────────────────────────────────────────────────── */
[data-mode="reader"] .series-box, [data-mode="reader"] .series-label { font-family: var(--font-body); font-weight: 600; }
[data-mode="reader"] .series-box li { font-weight: 400; }
[data-mode="reader"] .series-box li.is-current { font-weight: 600; }
[data-mode="reader"] .series-box .series-name { font-family: var(--font-display); }
[data-mode="reader"] .zoom-bar { font-family: var(--font-body); }
