:root {
  --ink: #1b1b1b;
  --muted: #666;
  --rule: #e2e2e2;
  --link: #0b5cad;
  --bg: #fff;
  --note-bg: #f6f6f4;
}
@media (prefers-color-scheme: dark) {
  :root {
    --ink: #e8e8e8;
    --muted: #a0a0a0;
    --rule: #333;
    --link: #7fb4ee;
    --bg: #131313;
    --note-bg: #1d1d1d;
  }
}
* { box-sizing: border-box; }
body {
  margin: 0;
  padding: 1.25rem 1rem 3rem;
  background: var(--bg);
  color: var(--ink);
  font: 1rem/1.5 -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto,
        "Helvetica Neue", "PingFang SC", "Microsoft YaHei", sans-serif;
}
main, footer, .crumb { max-width: 34em; margin: 0 auto; }
html[lang^="zh"] main,
html[lang^="zh"] footer,
html[lang^="zh"] .crumb { max-width: 30em; }
a { color: var(--link); }
h1 { font-size: 1.5rem; line-height: 1.3; margin: .4em 0 .3em; }
h2 { font-size: 1.05rem; margin: 2em 0 .6em; color: var(--muted);
     font-weight: 600; }
.crumb { font-size: .82rem; color: var(--muted); margin-bottom: .6em; }
.crumb a { color: var(--muted); }
.meta { font-size: .85rem; color: var(--muted); margin: 0 0 1.4em; }
.meta .who { color: var(--ink); font-weight: 600; }
.intro { color: var(--muted); }

/* The reading levers. Paragraphs are the transcriber's, never ours:
   more space BETWEEN them than within, and a taller line height, which
   is what buys the most inside a 599-character block. */
article p {
  margin: 0 0 1.5em;
  line-height: 1.85;
  text-align: left;
}
article p.note {
  background: var(--note-bg);
  border-left: 3px solid var(--rule);
  padding: .7em .9em;
  font-size: .92rem;
  color: var(--muted);
  line-height: 1.7;
}

.chips { list-style: none; padding: 0; margin: 0;
         display: flex; flex-wrap: wrap; gap: .4em; }
.chips li a {
  display: inline-block;
  border: 1px solid var(--rule);
  border-radius: 999px;
  padding: .2em .7em;
  font-size: .85rem;
  text-decoration: none;
}
ol.sermons, ul.topics { padding-left: 0; list-style: none; margin: 0; }
ol.sermons li, ul.topics li {
  padding: .55em 0; border-bottom: 1px solid var(--rule);
}
.sub { display: block; font-size: .8rem; color: var(--muted); }
ul.topics .sub { display: inline; margin-left: .5em; }
.pager { display: flex; justify-content: space-between; gap: 1em;
         margin: 2.5em 0 0; font-size: .9rem; }
.pager .next { margin-left: auto; text-align: right; }
.app { margin: 2em 0 0; }
footer {
  margin-top: 3em; padding-top: 1em;
  border-top: 1px solid var(--rule);
  font-size: .82rem; color: var(--muted);
}
footer .credit { color: var(--ink); }
