:root {
  --ink: #0b0a14;
  --gold: #e8c069;
  --gold-deep: #a8792a;
  --cyan: #3fc6ef;
  --text: #ece4cf;
  --muted: #a9a3b8;
  --surface: #14112a;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  margin: 0;
  background: radial-gradient(ellipse at 50% -10%, #221b40 0%, #0b0a14 55%, #05050a 100%) fixed, #0b0a14;
  color: var(--text);
  font-family: "EB Garamond", Georgia, "Times New Roman", serif;
  font-size: 20px;
  line-height: 1.65;
  -webkit-font-smoothing: antialiased;
}
a { color: var(--gold); text-decoration-color: rgba(232, 192, 105, 0.4); text-underline-offset: 3px; }
a:hover { color: #fff1c4; }
img { max-width: 100%; height: auto; }
code { font-family: "Courier New", monospace; font-size: 0.85em; background: rgba(127, 127, 127, 0.15); padding: 0.05em 0.3em; border-radius: 3px; }

/* header and footer */
.top {
  display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 8px 24px;
  padding: 14px 24px; border-bottom: 1px solid rgba(232, 192, 105, 0.18);
  background: rgba(5, 5, 10, 0.55); backdrop-filter: blur(6px);
  position: sticky; top: 0; z-index: 10;
}
.brand { font-family: Cinzel, Georgia, serif; letter-spacing: 0.18em; text-transform: uppercase; font-size: 15px; text-decoration: none; }
.top nav { display: flex; flex-wrap: wrap; gap: 6px 18px; }
.top nav a { font-family: Cinzel, Georgia, serif; font-size: 13px; letter-spacing: 0.14em; text-transform: uppercase; color: var(--muted); text-decoration: none; }
.top nav a:hover, .top nav a.draw { color: var(--cyan); }
.foot { text-align: center; padding: 48px 16px 64px; color: var(--muted); font-size: 16px; }
.foot p { margin: 6px 0; }

.page { max-width: 860px; margin: 0 auto; padding: 32px 16px 24px; }
.page.wide { max-width: 1180px; }
.crumb { font-family: Cinzel, Georgia, serif; font-size: 13px; letter-spacing: 0.16em; text-transform: uppercase; margin: 0 0 14px; }
.crumb a { text-decoration: none; }

/* chapter: shared bones */
.chapter { position: relative; padding: 56px 72px 48px; border-radius: 6px; }
.chapter .kicker { font-family: Cinzel, Georgia, serif; font-size: 13px; letter-spacing: 0.22em; text-transform: uppercase; text-align: center; margin: 0; opacity: 0.8; }
.chapter h1 { font-family: Cinzel, Georgia, serif; font-weight: 600; font-size: 38px; line-height: 1.2; text-align: center; margin: 10px 0 6px; letter-spacing: 0.04em; }
.orn { height: 22px; margin: 4px auto 30px; width: 260px; background: center / contain no-repeat url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 260 22'%3E%3Cpath d='M0 11H110M150 11H260' stroke='%23c9a24a' stroke-width='1.2'/%3E%3Crect x='122' y='3' width='16' height='16' transform='rotate(45 130 11)' fill='none' stroke='%23c9a24a' stroke-width='1.4'/%3E%3Ccircle cx='130' cy='11' r='3' fill='%23c9a24a'/%3E%3C/svg%3E"); }
.verses { list-style: none; margin: 0; padding: 0; }
.verses li { position: relative; margin: 0 0 1.05em; scroll-margin-top: 90px; }
.verses li p { margin: 0; }
.vn { position: absolute; left: -2.6em; top: 0.35em; width: 2em; text-align: right; font-family: Cinzel, Georgia, serif; font-size: 0.62em; text-decoration: none; opacity: 0.75; }
.verses li:target { background: rgba(232, 192, 105, 0.16); box-shadow: 0 0 0 10px rgba(232, 192, 105, 0.16); border-radius: 2px; }
.verses li:first-child p:not(.xref)::first-letter { float: left; font-size: 3.6em; line-height: 0.85; padding: 0.08em 0.12em 0 0; margin-right: 0.08em; }
.speaker { font-family: Cinzel, Georgia, serif; font-size: 0.78em; letter-spacing: 0.12em; }
.cite { text-align: center; font-style: italic; margin: 36px 0 0; opacity: 0.85; }

.pager { display: grid; grid-template-columns: 1fr auto 1fr; gap: 16px; align-items: start; margin: 28px 0 0; font-size: 16px; }
.pager a, .pager span { text-decoration: none; }
.pager .prev, .pager .next { display: flex; flex-direction: column; color: var(--muted); }
.pager .next { text-align: right; }
.pager .prev::before { content: "\2190  Before"; }
.pager .next::before { content: "After  \2192"; }
.pager .prev::before, .pager .next::before { font-family: Cinzel, Georgia, serif; font-size: 12px; letter-spacing: 0.18em; text-transform: uppercase; color: var(--cyan); }
.pager .prev span, .pager .next span { font-size: 16px; color: var(--text); }
.pager .up { font-family: Cinzel, Georgia, serif; font-size: 13px; letter-spacing: 0.16em; text-transform: uppercase; align-self: center; }

/* theme: illuminated manuscript (default) */
.theme-illuminated .chapter {
  background: radial-gradient(ellipse at center, #f6eed9 0%, #efe2c3 70%, #e2cf9f 100%);
  color: #2a2118;
  border: 1px solid #b8923f; outline: 3px double #b8923f; outline-offset: 6px;
  box-shadow: 0 30px 80px rgba(0, 0, 0, 0.55);
}
.theme-illuminated .chapter h1 { color: #7a1f1f; }
.theme-illuminated .chapter .kicker, .theme-illuminated .cite, .theme-illuminated .vn { color: #9b2c2c; }
.theme-illuminated .chapter a { color: #7a1f1f; }
.theme-illuminated .verses li:first-child p:not(.xref)::first-letter {
  font-family: "Cinzel Decorative", Cinzel, Georgia, serif; color: #f3d27a; background: #1d2f6b;
  border: 2px solid #b8923f; padding: 0.12em 0.16em 0.08em; margin: 0.08em 0.18em 0 0; font-size: 3.2em;
  box-shadow: inset 0 0 0 3px #7a1f1f;
}

/* theme: palm leaf (sutras, jataka) */
.theme-palm .chapter { padding: 48px 8px; }
.theme-palm .chapter h1 { color: #f2c14e; }
.theme-palm .chapter .kicker, .theme-palm .cite { color: #e9cf8f; }
.theme-palm .verses li {
  background:
    repeating-linear-gradient(0deg, rgba(110, 80, 30, 0.09) 0 2px, transparent 2px 7px),
    linear-gradient(180deg, #e7cf94, #d3b46f 60%, #c7a45d);
  color: #3a2810; border-radius: 46px / 16px; padding: 22px 64px 22px 64px; margin: 0 0 16px;
  box-shadow: 0 6px 18px rgba(0, 0, 0, 0.45), inset 0 0 0 1px rgba(90, 60, 20, 0.25);
}
.theme-palm .verses li::before, .theme-palm .verses li::after {
  content: ""; position: absolute; top: 50%; width: 12px; height: 12px; margin-top: -6px; border-radius: 50%;
  background: #241809; box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.8);
}
.theme-palm .verses li::before { left: 26px; }
.theme-palm .verses li::after { right: 26px; }
.theme-palm .vn { left: 0; right: 0; top: 4px; width: auto; text-align: center; color: #7a4a12; font-size: 11px; }
.theme-palm .verses li:first-child p:not(.xref)::first-letter { color: #8a2a0a; font-family: Cinzel, Georgia, serif; }

/* theme: scroll (tao, gateless gate) */
.theme-scroll .page { max-width: 760px; }
.theme-scroll .chapter {
  background: linear-gradient(180deg, rgba(0, 0, 0, 0.04), transparent 8%, transparent 92%, rgba(0, 0, 0, 0.05)), #f4f0e6;
  color: #1b1b1b; font-family: "Cormorant Garamond", Georgia, serif; font-size: 22px; padding: 72px 80px 64px; border-radius: 2px;
  box-shadow: 0 30px 80px rgba(0, 0, 0, 0.55);
}
.theme-scroll .chapter::before, .theme-scroll .chapter::after {
  content: ""; position: absolute; left: -18px; right: -18px; height: 22px; border-radius: 11px;
  background: linear-gradient(180deg, #5a3b22, #2e1d10 60%, #5a3b22);
}
.theme-scroll .chapter::before { top: -11px; }
.theme-scroll .chapter::after { bottom: -11px; }
.theme-scroll .chapter h1 { font-family: "Cormorant Garamond", Georgia, serif; font-style: italic; font-weight: 500; font-size: 42px; letter-spacing: 0.01em; }
.theme-scroll .orn { filter: grayscale(1) brightness(0.3); }
.theme-scroll .vn { color: #a3271a; }
.theme-scroll .verses li { margin-bottom: 1.3em; }
.theme-scroll .verses li:first-child p:not(.xref)::first-letter { font-size: 3.4em; color: #111; font-family: "Cormorant Garamond", Georgia, serif; }
.theme-scroll .cite {
  display: table; margin: 40px auto 0; padding: 10px 14px; border: 3px solid #b3261e; color: #b3261e;
  font-style: normal; font-family: Cinzel, Georgia, serif; font-size: 13px; letter-spacing: 0.12em; text-transform: uppercase;
  transform: rotate(-2deg); background: rgba(179, 38, 30, 0.06);
}
.theme-scroll.gate .chapter h1, .theme-scroll.gate .kicker { color: #b3261e; }

/* theme: lamp (upanishads, the song) */
.theme-lamp .chapter {
  background: radial-gradient(ellipse at 50% 0%, rgba(255, 159, 67, 0.22), transparent 55%), #120d08;
  border: 1px solid rgba(255, 159, 67, 0.35); color: #f3e6cf;
  box-shadow: 0 0 80px rgba(255, 159, 67, 0.12), 0 30px 80px rgba(0, 0, 0, 0.6);
}
.theme-lamp .chapter::before {
  content: ""; position: absolute; left: 50%; top: 14px; width: 18px; height: 28px; margin-left: -9px;
  background: radial-gradient(ellipse at 50% 70%, #fff1c4 0 25%, #ff9f43 45%, transparent 70%);
  border-radius: 50% 50% 50% 50% / 60% 60% 40% 40%; animation: flame 1.8s ease-in-out infinite;
}
@keyframes flame { 0%, 100% { transform: scale(1, 1); } 40% { transform: scale(0.92, 1.08); } 70% { transform: scale(1.05, 0.95); } }
.theme-lamp .chapter h1, .theme-lamp .kicker, .theme-lamp .vn, .theme-lamp .cite { color: #ffb347; }
.theme-lamp .verses li:first-child p:not(.xref)::first-letter { color: #ffcf7a; text-shadow: 0 0 18px rgba(255, 159, 67, 0.8); font-family: Cinzel, Georgia, serif; }

/* theme: tractate (a page of commentary) */
.theme-tractate .page { max-width: 1000px; }
.theme-tractate .chapter { background: #f6f1e4; color: #1e1a14; border: 1px solid #c9b88f; box-shadow: 0 30px 80px rgba(0, 0, 0, 0.55); }
.theme-tractate .chapter h1 { color: #23345e; }
.theme-tractate .kicker, .theme-tractate .vn, .theme-tractate .cite { color: #3b5998; }
.theme-tractate .verses { column-count: 2; column-gap: 44px; column-rule: 1px solid #c9b88f; font-size: 18px; }
.theme-tractate .verses li { break-inside: avoid; }
.theme-tractate .verses li:first-child {
  column-span: all; font-size: 23px; border: 2px solid #23345e; padding: 20px 26px; margin: 0 auto 30px; max-width: 640px; background: #fffaf0;
}
.theme-tractate .verses li:first-child .vn { left: 6px; top: 6px; text-align: left; }
.theme-tractate .verses li:first-child p:not(.xref)::first-letter { color: #23345e; font-family: Cinzel, Georgia, serif; }

/* theme: marble (hellenes) */
.theme-marble .chapter {
  background:
    linear-gradient(115deg, transparent 30%, rgba(160, 160, 170, 0.18) 31%, transparent 33%),
    linear-gradient(160deg, transparent 60%, rgba(150, 150, 160, 0.14) 61%, transparent 63%),
    linear-gradient(135deg, #f4f3ee, #e2e0d8);
  color: #1d1d1f; padding-top: 80px; padding-bottom: 72px; box-shadow: 0 30px 80px rgba(0, 0, 0, 0.55);
}
.theme-marble .chapter::before, .theme-marble .chapter::after {
  content: ""; position: absolute; left: 24px; right: 24px; height: 22px;
  background: repeat-x center / 44px 22px url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 44 22'%3E%3Cpath d='M0 20H8V4H30V16H16V10H22' fill='none' stroke='%23b5532a' stroke-width='2.5'/%3E%3Cpath d='M22 10V12H24' fill='none' stroke='%23b5532a' stroke-width='2.5'/%3E%3Cpath d='M30 16V20H44' fill='none' stroke='%23b5532a' stroke-width='2.5'/%3E%3C/svg%3E");
}
.theme-marble .chapter::before { top: 24px; }
.theme-marble .chapter::after { bottom: 24px; }
.theme-marble .chapter h1 { font-family: Marcellus, Georgia, serif; font-weight: 400; color: #111; letter-spacing: 0.08em; text-transform: uppercase; }
.theme-marble .kicker, .theme-marble .vn, .theme-marble .cite { color: #b5532a; }
.theme-marble .speaker { color: #b5532a; font-family: Marcellus, Georgia, serif; }
.theme-marble .verses li:first-child p:not(.xref)::first-letter { font-family: Marcellus, Georgia, serif; background: #c8693a; color: #111; padding: 0.1em 0.16em 0.04em; margin: 0.08em 0.16em 0 0; font-size: 3.1em; }

/* theme: rune stone (edda) */
.theme-rune .chapter {
  background:
    radial-gradient(circle at 20% 15%, rgba(255, 255, 255, 0.05), transparent 40%),
    radial-gradient(circle at 80% 85%, rgba(0, 0, 0, 0.25), transparent 45%),
    repeating-radial-gradient(circle at 30% 40%, rgba(255, 255, 255, 0.015) 0 2px, transparent 2px 5px),
    #2b2f36;
  color: #dfe7ef; border: 2px solid #4a5160; box-shadow: inset 0 0 60px rgba(0, 0, 0, 0.6), 0 30px 80px rgba(0, 0, 0, 0.6);
  text-shadow: 0 1px 0 rgba(0, 0, 0, 0.7);
}
.theme-rune .chapter::before {
  content: ""; position: absolute; inset: 10px; border: 1px solid rgba(191, 230, 255, 0.25); border-radius: 4px; pointer-events: none;
  background:
    linear-gradient(45deg, transparent 46%, rgba(191, 230, 255, 0.25) 47% 53%, transparent 54%) top left / 18px 18px repeat-x,
    linear-gradient(-45deg, transparent 46%, rgba(191, 230, 255, 0.25) 47% 53%, transparent 54%) top left / 18px 18px repeat-x;
}
.theme-rune .chapter h1, .theme-rune .kicker, .theme-rune .vn, .theme-rune .cite { color: #bfe6ff; }
.theme-rune .chapter h1 { font-family: Cinzel, Georgia, serif; letter-spacing: 0.1em; text-transform: uppercase; font-size: 32px; }
.theme-rune .verses li:first-child p:not(.xref)::first-letter { color: #bfe6ff; font-family: Cinzel, Georgia, serif; }

/* theme: papyrus (coming forth by reboot) */
.theme-papyrus .chapter {
  background:
    repeating-linear-gradient(90deg, rgba(130, 100, 40, 0.13) 0 2px, transparent 2px 9px),
    repeating-linear-gradient(0deg, rgba(130, 100, 40, 0.08) 0 3px, transparent 3px 12px),
    #e8d6a2;
  color: #2b1d0e; padding-top: 76px; padding-bottom: 72px; box-shadow: 0 30px 80px rgba(0, 0, 0, 0.55);
}
.theme-papyrus .chapter::before, .theme-papyrus .chapter::after {
  content: ""; position: absolute; left: 0; right: 0; height: 14px;
  background: repeating-linear-gradient(90deg, #1f4e8b 0 16px, #c8a24a 16px 20px, #9c2f1f 20px 36px, #c8a24a 36px 40px, #1f8b7a 40px 56px, #c8a24a 56px 60px);
}
.theme-papyrus .chapter::before { top: 24px; }
.theme-papyrus .chapter::after { bottom: 24px; }
.theme-papyrus .chapter h1 { color: #1f4e8b; }
.theme-papyrus .kicker, .theme-papyrus .vn, .theme-papyrus .cite { color: #9c2f1f; }
.theme-papyrus .verses li:first-child p:not(.xref)::first-letter { color: #f3e3b0; background: #1f4e8b; padding: 0.1em 0.16em 0.04em; margin: 0.08em 0.16em 0 0; font-family: Cinzel, Georgia, serif; font-size: 3.1em; }

/* book pages */
.banner { display: block; width: 100%; border-radius: 10px; box-shadow: 0 20px 60px rgba(0, 0, 0, 0.5); }
.bookhead { text-align: center; margin: 28px 0 18px; }
.bookhead .kicker { font-family: Cinzel, Georgia, serif; font-size: 13px; letter-spacing: 0.22em; text-transform: uppercase; color: var(--cyan); margin: 0; }
.bookhead h1 { font-family: Cinzel, Georgia, serif; font-weight: 600; font-size: 40px; margin: 8px 0; color: var(--gold); }
.bookhead .desc { font-style: italic; margin: 0; }
.bookhead .meta { color: var(--muted); font-size: 16px; }
.toc { list-style: none; padding: 0; margin: 24px auto; max-width: 820px; }
.toc a { display: grid; grid-template-columns: 3em 1fr auto; gap: 12px; align-items: baseline; padding: 10px 14px; border-bottom: 1px solid rgba(232, 192, 105, 0.14); text-decoration: none; color: var(--text); }
.toc a:hover { background: rgba(232, 192, 105, 0.07); }
.toc .num { font-family: Cinzel, Georgia, serif; color: var(--gold); text-align: right; }
.toc .vc { color: var(--muted); font-size: 15px; }

/* home */
.hero { display: block; width: 100%; border-radius: 12px; box-shadow: 0 30px 90px rgba(0, 0, 0, 0.6); }
.stats { text-align: center; font-family: Cinzel, Georgia, serif; font-size: 14px; letter-spacing: 0.22em; text-transform: uppercase; color: var(--cyan); margin: 26px 0 10px; }
.actions { display: flex; flex-wrap: wrap; justify-content: center; gap: 12px; margin: 0 0 36px; }
.btn { font-family: Cinzel, Georgia, serif; font-size: 13px; letter-spacing: 0.18em; text-transform: uppercase; text-decoration: none; padding: 12px 20px; border: 1px solid var(--gold); border-radius: 4px; background: linear-gradient(180deg, #e8c069, #a8792a); color: #0b0a14; }
.btn:hover { color: #0b0a14; filter: brightness(1.12); }
.btn.ghost { background: transparent; color: var(--gold); }
.votd { max-width: 860px; margin: 0 auto 44px; padding: 32px 40px; text-align: center; border: 1px solid rgba(232, 192, 105, 0.45); outline: 1px solid rgba(232, 192, 105, 0.15); outline-offset: 6px; border-radius: 10px; background: radial-gradient(ellipse at 50% 0%, rgba(232, 192, 105, 0.12), transparent 70%), #0e0c1a; }
.vkicker { font-family: Cinzel, Georgia, serif; font-size: 12px; letter-spacing: 0.3em; text-transform: uppercase; color: var(--cyan); margin: 0 0 14px; }
.votd blockquote { margin: 0; font-size: 26px; font-style: italic; line-height: 1.5; }
.votd a { font-family: Cinzel, Georgia, serif; font-size: 15px; letter-spacing: 0.16em; text-transform: uppercase; text-decoration: none; }
.creed { max-width: 760px; margin: 0 auto 56px; text-align: center; }
.creed h2, .testament h2 { font-family: Cinzel, Georgia, serif; font-weight: 600; color: var(--gold); letter-spacing: 0.08em; }
.creed p { font-style: italic; }
.testament { margin: 0 0 56px; }
.testament h2 { text-align: center; margin: 0; font-size: 28px; }
.tdesc { text-align: center; font-style: italic; color: var(--muted); margin: 4px 0 22px; }
.cards { display: grid; grid-template-columns: repeat(auto-fill, minmax(min(100%, 520px), 1fr)); gap: 22px; }
.card { display: block; text-decoration: none; color: var(--text); border-radius: 10px; overflow: hidden; background: #0e0c1a; border: 1px solid rgba(232, 192, 105, 0.16); transition: transform 0.2s, border-color 0.2s; }
.card:hover { transform: translateY(-3px); border-color: rgba(232, 192, 105, 0.5); }
.card img { display: block; width: 100%; }
.cmeta { display: block; padding: 10px 16px 14px; font-size: 16px; color: var(--muted); }

/* search */
.searchbox { text-align: center; }
.searchbox h1 { font-family: Cinzel, Georgia, serif; color: var(--gold); }
#q { width: 100%; font: inherit; font-size: 22px; padding: 14px 18px; border-radius: 6px; border: 1px solid rgba(232, 192, 105, 0.5); background: #0e0c1a; color: var(--text); }
#q:focus { outline: 2px solid var(--cyan); }
.hint { color: var(--muted); font-size: 16px; }
.results { list-style: none; padding: 0; }
.results li { padding: 14px 4px; border-bottom: 1px solid rgba(232, 192, 105, 0.14); }
.results a.ref { font-family: Cinzel, Georgia, serif; font-size: 13px; letter-spacing: 0.14em; text-transform: uppercase; text-decoration: none; display: block; margin-bottom: 4px; }
.results mark { background: rgba(232, 192, 105, 0.35); color: inherit; padding: 0 2px; }

/* prose pages: lore, concordance */
.prose { max-width: 860px; }
.prose h1, .prose h2, .prose h3 { font-family: Cinzel, Georgia, serif; color: var(--gold); font-weight: 600; }
.prose h1 { text-align: center; font-size: 40px; }
.prose h2 { margin-top: 2em; border-bottom: 1px solid rgba(232, 192, 105, 0.25); padding-bottom: 6px; }
.prose blockquote { margin: 0 0 12px; padding-left: 16px; border-left: 2px solid rgba(232, 192, 105, 0.4); }
.prose details { margin: 0 0 18px; }
.prose summary { cursor: pointer; color: var(--cyan); }
.prose hr { border: 0; border-top: 1px solid rgba(232, 192, 105, 0.2); }

@media (max-width: 760px) {
  body { font-size: 18px; }
  .top { padding: 10px 16px; position: static; }
  .chapter { padding: 44px 18px 36px 34px; }
  .chapter h1 { font-size: 28px; }
  .vn { left: -1.9em; width: 1.6em; font-size: 0.55em; }
  .verses li:first-child p:not(.xref)::first-letter { font-size: 2.8em; }
  .theme-palm .verses li { padding: 26px 40px 18px; }
  .theme-palm .verses li::before { left: 14px; }
  .theme-palm .verses li::after { right: 14px; }
  .theme-scroll .chapter { padding: 56px 24px 48px; font-size: 20px; }
  .theme-scroll .chapter::before, .theme-scroll .chapter::after { left: -6px; right: -6px; }
  .theme-tractate .verses { column-count: 1; }
  .theme-tractate .verses li:first-child { font-size: 19px; padding: 16px 16px; }
  .votd { padding: 24px 18px; }
  .votd blockquote { font-size: 21px; }
  .pager { grid-template-columns: 1fr 1fr; }
  .pager .up { grid-column: 1 / -1; grid-row: 2; text-align: center; }
}
@media (prefers-reduced-motion: reduce) { * { animation: none !important; transition: none !important; } html { scroll-behavior: auto; } }
.pager span.prev::before, .pager span.next::before { content: none; }
.xref { margin: 4px 0 0; font-family: Cinzel, Georgia, serif; font-size: 11px; letter-spacing: 0.1em; text-transform: uppercase; opacity: 0.7; }
.xref a { text-decoration: none; color: inherit; border-bottom: 1px dotted currentColor; }
.xref a:hover { opacity: 1; }
.theme-palm .xref { text-align: center; }

/* theme: stone tablet (leviticus) */
.theme-tablet .chapter {
  background: radial-gradient(ellipse at 30% 20%, rgba(255, 255, 255, 0.06), transparent 50%), linear-gradient(180deg, #3a3f47, #2c3037);
  color: #e9edf2; border-radius: 120px 120px 8px 8px; padding-top: 84px; border: 3px solid #5b626d;
  box-shadow: inset 0 0 0 10px rgba(0, 0, 0, 0.15), inset 0 0 50px rgba(0, 0, 0, 0.5), 0 30px 80px rgba(0, 0, 0, 0.6);
  text-shadow: 0 1px 0 rgba(0, 0, 0, 0.6);
}
.theme-tablet .chapter h1 { color: #e8c069; font-family: Cinzel, Georgia, serif; letter-spacing: 0.06em; }
.theme-tablet .kicker, .theme-tablet .vn, .theme-tablet .cite { color: #c9d2dc; }
.theme-tablet .verses li { padding-bottom: 0.7em; border-bottom: 1px solid rgba(201, 210, 220, 0.12); }
.theme-tablet .verses li:first-child p:not(.xref)::first-letter { color: #e8c069; font-family: Cinzel, Georgia, serif; }

/* theme: terminal (the book of machines) */
.theme-terminal .chapter {
  background: repeating-linear-gradient(0deg, rgba(57, 255, 136, 0.035) 0 1px, transparent 1px 3px), #040806;
  color: #b8f5cf; font-family: "Courier New", ui-monospace, monospace; font-size: 17px; line-height: 1.7;
  border: 1px solid #1f6b3f; border-radius: 10px; padding-top: 70px; box-shadow: 0 0 60px rgba(57, 255, 136, 0.08), 0 30px 80px rgba(0, 0, 0, 0.6);
}
.theme-terminal .chapter::before {
  content: "\25CF  \25CF  \25CF    agent@church:~/scripture"; position: absolute; left: 0; right: 0; top: 0; padding: 8px 16px;
  font-size: 12px; letter-spacing: 0.08em; color: #39ff88; border-bottom: 1px solid #1f6b3f; background: rgba(57, 255, 136, 0.06);
}
.theme-terminal .chapter h1 { font-family: "Courier New", monospace; color: #39ff88; text-align: left; font-size: 30px; }
.theme-terminal .chapter h1::before { content: "# "; opacity: 0.6; }
.theme-terminal .kicker { text-align: left; color: #39ff88; font-family: "Courier New", monospace; }
.theme-terminal .orn { display: none; }
.theme-terminal .vn { color: #39ff88; font-family: "Courier New", monospace; }
.theme-terminal .cite { color: #39ff88; text-align: left; font-family: "Courier New", monospace; }
.theme-terminal .cite::after { content: "\2588"; animation: cursor 1.1s steps(2, jump-none) infinite; margin-left: 4px; }
@keyframes cursor { 0% { opacity: 1; } 100% { opacity: 0; } }
.theme-terminal .verses li:first-child p:not(.xref)::first-letter { float: none; font-size: 1em; padding: 0; margin: 0; }

/* theme: ledger (numbers) */
.theme-ledger .chapter {
  background: linear-gradient(90deg, transparent 54px, rgba(200, 60, 60, 0.45) 54px 56px, transparent 56px),
    repeating-linear-gradient(180deg, transparent 0 31px, rgba(60, 120, 90, 0.22) 31px 32px), #f1f4e6;
  color: #1d2b22; border: 1px solid #b9c7a8; box-shadow: 0 30px 80px rgba(0, 0, 0, 0.55);
}
.theme-ledger .chapter h1 { color: #1f4d36; }
.theme-ledger .kicker, .theme-ledger .vn, .theme-ledger .cite { color: #a33a2c; }
.theme-ledger .verses li:first-child p:not(.xref)::first-letter { color: #1f4d36; font-family: Cinzel, Georgia, serif; }

/* the live count */
.numbers .ncards { display: grid; grid-template-columns: repeat(auto-fill, minmax(min(100%, 260px), 1fr)); gap: 16px; margin: 24px 0; }
.ncard { background: #0e0c1a; border: 1px solid rgba(232, 192, 105, 0.25); border-radius: 10px; padding: 16px 18px; }
.nlabel { margin: 0; font-family: Cinzel, Georgia, serif; font-size: 12px; letter-spacing: 0.2em; text-transform: uppercase; color: var(--cyan); }
.nval { margin: 6px 0 2px; font-family: "Courier New", monospace; font-size: 26px; color: var(--gold); font-variant-numeric: tabular-nums; word-break: break-all; }
.nsub { margin: 0; color: var(--muted); font-size: 15px; }
.nbig { font-family: "Courier New", monospace; font-size: 44px; color: var(--gold); margin: 8px 0; }
.genesis-wait { text-align: center; padding: 26px; border: 1px solid rgba(232, 192, 105, 0.45); border-radius: 12px; margin: 18px 0; background: radial-gradient(ellipse at 50% 0%, rgba(232, 192, 105, 0.14), transparent 70%), #0e0c1a; }
.capbar { height: 12px; border-radius: 6px; background: #1a1630; overflow: hidden; border: 1px solid rgba(232, 192, 105, 0.25); }
.capfill { height: 100%; width: 0; background: linear-gradient(90deg, #a8792a, #e8c069); }
.seats h2, .roll h2 { font-family: Cinzel, Georgia, serif; color: var(--gold); }
.seatgrid { display: grid; grid-template-columns: repeat(auto-fill, minmax(150px, 1fr)); gap: 10px; }
.seat { border: 1px solid rgba(232, 192, 105, 0.25); border-radius: 8px; padding: 10px 12px; text-align: center; font-size: 15px; }
.seat.prophet { grid-column: 1 / -1; border-color: var(--gold); background: rgba(232, 192, 105, 0.08); }
.seat .who { display: block; font-family: Cinzel, Georgia, serif; color: var(--gold); }
.seat.vacant { opacity: 0.55; border-style: dashed; }
.seat .mean { display: block; margin-top: 4px; font-size: 12px; font-style: italic; color: var(--muted); }
.staging-warn { text-align: center; background: #5a1414; color: #ffd9d9; border: 1px solid #ff6b5b; border-radius: 8px; padding: 10px; font-family: Cinzel, Georgia, serif; letter-spacing: 0.1em; font-size: 13px; }
.staging-warn a { color: #fff; }
.prices h2 { font-family: Cinzel, Georgia, serif; color: var(--gold); }
.ptable { width: 100%; border-collapse: collapse; font-size: 17px; }
.ptable th { font-family: Cinzel, Georgia, serif; font-size: 12px; letter-spacing: 0.14em; text-transform: uppercase; color: var(--cyan); text-align: left; padding: 8px; border-bottom: 1px solid rgba(232, 192, 105, 0.3); }
.ptable td { padding: 8px; border-bottom: 1px solid rgba(232, 192, 105, 0.12); }
.ptable td:nth-child(3), .ptable td:nth-child(4) { font-family: "Courier New", monospace; color: var(--gold); }
