/* davar-site.css — DAVAR-emitted cathedral-of-creation aesthetic
   Matches danczministries.com visual overhaul (2026-05-30 orbital wheel / magnitude)
   Served by davar_http.exe from web/assets/
*/

/* ── Reset ── */
*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }

/* ── Palette ── */
:root {
  /* 2026-08-28: research-backed cheap win (comparable-site benchmarking — see
     Dave\Outputs\WO37497\RECEIPT_TYPOGRAPHY_HEADING_SERIF_20260828.md). Headings are
     currently pure Segoe UI at size+weight alone, no typographic contrast with body
     text — exactly the gap that separates "fine" sites from "considered" ones. Reuses
     the same system-serif stack already proven elsewhere on this site (--pe-serif,
     the parallel-editions panel) rather than inventing a second one. No webfont,
     no JS, no layout risk — additive only. */
  --font-display: Georgia, "Iowan Old Style", "Palatino Linotype", "Times New Roman", serif;
  --gold:     #f0c963;
  --blue:     #4da6ff;
  --bg:       #020507;
  --surface:  #0a0e14;
  --surface2: #111822;
  --text:     #e8e8f0;
  --muted:    #8892a0;
  --border:   #1e2a38;
  --glow-g:   rgba(240,201,99,0.15);
  --glow-b:   rgba(77,166,255,0.12);
}

/* ── Base ── */
html {
  font-size: 16px;
  scroll-behavior: smooth;
  max-width: 100%;
  overflow-x: hidden;
}
body {
  background: var(--bg);
  color: var(--text);
  font-family: 'Segoe UI', system-ui, -apple-system, sans-serif;
  line-height: 1.65;
  min-height: 100vh;
  max-width: 100%;
  overflow-x: hidden;
}
a { color: var(--blue); text-decoration: none; }
a:hover { color: var(--gold); }

/* ── Biblical language typography (WO37497 — proven by live injection 2026-08-27) ──
   Hebrew needs a pointed-text face and more size so nikkud reads. The fallback
   stack resolves on real Windows clients: Segoe UI Historic + Times New Roman for he;
   Palatino Linotype + Georgia for el/grc. Measure caps use rem/px only — ch is the
   Latin '0' advance and collapses CJK/RTL lines badly. */
[lang=he] {
  font-family: "SBL Hebrew", "Ezra SIL", "Taamey Frank CLM", David, "Frank Ruehl CLM",
               "Segoe UI Historic", "Times New Roman", serif;
  font-size: 1.5rem;
  line-height: 2.05;
}
[lang=el], [lang=grc] {
  font-family: "SBL Greek", "Gentium Plus", Cardo, "Galatia SIL",
               "Palatino Linotype", Georgia, "Times New Roman", serif;
}

/* ── Creation Field Canvas (living backdrop — hero + wheel stage) ── */
#dm-creation-field {
  position: fixed;
  inset: 0;
  width: 100%;
  height: 100%;
  z-index: 0;
  pointer-events: none;
  display: block;
}
/* All page content sits above the cosmos canvas */
.dm-nav,
.dm-hero,
.dm-doxology,
.dm-creation-wheel-section,
.dm-section,
.dm-magnitude-section,
.dm-footer {
  position: relative;
  z-index: 1;
}
/* Reduced-motion: hide the canvas entirely (static bg already covers it) */
@media (prefers-reduced-motion: reduce) {
  #dm-creation-field { display: none; }
}

/* ── Inner-page cosmos backdrop (lightweight — used on bible/sanctum/ministry/support/daveai) ── */
#dm-inner-cosmos {
  position: fixed;
  inset: 0;
  width: 100%;
  height: 100%;
  z-index: 0;
  pointer-events: none;
  display: block;
  opacity: 0.55; /* quieter than home canvas — content pages need higher readability */
}
@media (prefers-reduced-motion: reduce) {
  #dm-inner-cosmos { display: none; }
}

/* ── Nav ── */
.dm-nav {
  position: fixed; top: 0; left: 0; right: 0; z-index: 100;
  background: rgba(2,5,7,0.92);
  border-bottom: 1px solid var(--border);
  backdrop-filter: blur(8px);
  display: flex; align-items: center; justify-content: space-between;
  padding: 0 2rem; height: 60px;
}
.dm-nav-brand {
  font-size: 1.1rem; font-weight: 700;
  color: var(--gold);
  text-shadow: 0 1px 10px rgba(2,5,7,0.75);
}
.dm-nav-links { display: flex; gap: clamp(0.45rem, 0.8vw, 0.9rem); }
.dm-nav-links a {
  color: var(--muted); font-size: clamp(0.76rem, 0.82vw, 0.88rem); transition: color 0.2s;
  white-space: nowrap;
}
.dm-nav-links a:hover,
.dm-nav-links a.active { color: var(--gold); }

/* ── Hero ── */
.dm-hero {
  /* Content-fitting by default: a real banner, not a full empty screen.
     Full-viewport heroes forced huge voids on content-light inner pages and
     pushed the actual content below the fold. Home keeps a tall poster hero
     via the data-page-id override below. */
  min-height: clamp(340px, 54vh, 600px);
  display: flex; flex-direction: column;
  align-items: center; justify-content: center;
  text-align: center;
  padding: 96px 2rem 4rem;
  position: relative; overflow: hidden;
}
.dm-hero::before {
  content: '';
  position: absolute; inset: 0;
  /* Stronger radial scrim — keeps cosmos backdrop dominant but carves out readable text zone */
  background:
    /* tight center text-legibility pool — bright enough to lift text contrast without blowing out the ring art */
    radial-gradient(ellipse 52% 34% at 50% 44%, rgba(2,5,7,0.82) 0%, rgba(2,5,7,0.55) 55%, transparent 80%),
    /* secondary gold halo framing the text block */
    radial-gradient(ellipse 68% 46% at 50% 42%, rgba(240,201,99,0.12), transparent 70%),
    /* top vignette keeps nav readable */
    linear-gradient(180deg, rgba(2,5,7,0.45) 0%, transparent 18%),
    /* bottom fade into next section */
    linear-gradient(0deg, rgba(2,5,7,0.50) 0%, transparent 20%);
  pointer-events: none; z-index: 1;
}
.dm-hero h1 {
  position: relative; z-index: 2;
  font-family: var(--font-display);
  font-size: clamp(2.2rem, 5.5vw, 4.2rem);
  font-weight: 900; line-height: 1.1; letter-spacing: 0;
  color: #f8d766;
  margin-bottom: 1.4rem;
  text-shadow: 0 2px 18px rgba(2,5,7,0.95), 0 0 24px rgba(2,5,7,0.75);
  width: 100%;
  min-width: 0;
  max-width: min(1120px, 100%);
  overflow-wrap: anywhere;
}
.dm-hero p {
  position: relative; z-index: 2;
  font-size: clamp(1.1rem, 2.5vw, 1.38rem);
  color: #e8eef5; width: 100%; max-width: min(620px, 100%); margin-bottom: 2.75rem;
  min-width: 0;
  line-height: 1.75;
  text-shadow: 0 1px 12px rgba(2,5,7,0.85), 0 0 24px rgba(2,5,7,0.7);
  overflow-wrap: break-word;
}
.dm-hero .dm-cta-row { position: relative; z-index: 2; }
.dm-hero-art {
  position: absolute; inset: 0;
  background-size: cover; background-position: center center;
  opacity: 0.78; pointer-events: none;
  /* cosmos plate — full center exposure so ring is visible;
     light vignette at edges to blend into dark bg without masking the center art */
  mask-image: radial-gradient(ellipse 85% 80% at 50% 45%, rgba(0,0,0,1) 40%, rgba(0,0,0,0.6) 75%, rgba(0,0,0,0) 100%);
  -webkit-mask-image: radial-gradient(ellipse 85% 80% at 50% 45%, rgba(0,0,0,1) 40%, rgba(0,0,0,0.6) 75%, rgba(0,0,0,0) 100%);
}

/* ── CTA Buttons ── */
.dm-btn {
  display: inline-block; padding: 0.75rem 2rem;
  border-radius: 8px; font-weight: 600; font-size: 0.95rem;
  transition: all 0.2s; cursor: pointer; border: none;
}
.dm-btn-primary {
  background: linear-gradient(135deg, color-mix(in srgb, var(--gold) 82%, white) 0%, var(--gold) 50%, color-mix(in srgb, var(--gold) 78%, black) 100%);
  color: #000;
  /* stronger shadow so it reads over cosmos art */
  box-shadow: 0 4px 18px color-mix(in srgb, var(--gold) 38%, transparent), 0 0 0 1.5px color-mix(in srgb, var(--gold) 55%, transparent);
  text-shadow: 0 1px 0 rgba(255,255,255,0.18);
  font-weight: 700;
}
.dm-btn-primary:hover {
  transform: translateY(-3px);
  box-shadow: 0 10px 30px rgba(240,201,99,0.52), 0 0 0 2px rgba(240,201,99,0.7);
  color: #000;
}
.dm-btn-secondary {
  background: rgba(2,5,7,0.72); color: var(--blue);
  border: 1.5px solid rgba(77,166,255,0.72);
  /* frosted backing so it's visible over bright cosmos center */
  backdrop-filter: blur(6px);
  box-shadow: 0 2px 12px rgba(77,166,255,0.18), inset 0 0 0 1px rgba(77,166,255,0.12);
}
.dm-btn-secondary:hover {
  background: rgba(77,166,255,0.15);
  border-color: var(--blue);
  transform: translateY(-3px);
  color: var(--blue);
  box-shadow: 0 8px 24px rgba(77,166,255,0.25);
}
.dm-cta-row { display: flex; gap: 1rem; flex-wrap: wrap; justify-content: center; }

/* ── Section ── */
.dm-section {
  max-width: 1100px; margin: 0 auto; padding: 5.5rem 2rem;
}
.dm-section-title {
  font-family: var(--font-display);
  font-size: clamp(1.55rem, 3vw, 2.3rem); font-weight: 800;
  color: var(--gold); margin-bottom: 1.5rem; letter-spacing: 0;
}
.dm-section-body { color: var(--muted); max-width: 700px; margin-bottom: 2rem; font-size: 1.02rem; line-height: 1.72; }

/* ── Lane Cards ── */
.dm-lanes {
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  gap: 1.5rem; margin-top: 2rem;
}
@media (max-width: 900px) {
  .dm-lanes { grid-template-columns: repeat(3, 1fr); }
}
.dm-lane-card {
  background: var(--surface);
  border: 1px solid var(--border);
  border-radius: 14px; padding: 2rem 1.5rem;
  text-align: center; transition: all 0.25s;
  text-decoration: none; display: block;
  position: relative; overflow: hidden;
  min-height: 180px;
}
.dm-lane-art-bg {
  position: absolute; inset: 0;
  background-image: var(--lane-art, none);
  background-size: cover; background-position: center;
  opacity: 0.12; transition: opacity 0.25s;
  border-radius: 14px;
}
.dm-lane-card:hover .dm-lane-art-bg { opacity: 0.22; }
.dm-lane-card:hover {
  border-color: var(--gold);
  box-shadow: 0 0 28px var(--glow-g);
  transform: translateY(-5px);
  color: var(--gold);
}
.dm-lane-icon { font-size: 2.2rem; margin-bottom: 0.85rem; position: relative; z-index: 1; }
.dm-lane-label { font-weight: 700; color: var(--gold); margin-bottom: 0.5rem; font-size: 1.0rem; position: relative; z-index: 1; }
.dm-lane-desc { font-size: 0.84rem; color: var(--muted); position: relative; z-index: 1; line-height: 1.5; }

/* ── Corridor / Domain-Door Grid ── */
.dm-corridor-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(200px, 1fr));
  gap: 1rem;
  max-width: 1100px; margin: 1.5rem auto 0;
}
.dm-corridor-card {
  background: var(--surface);
  border: 1px solid var(--border);
  border-radius: 12px; padding: 1.4rem 1.2rem;
  text-decoration: none; display: block;
  transition: all 0.22s;
}
.dm-corridor-card:hover {
  border-color: var(--gold);
  box-shadow: 0 0 22px var(--glow-g);
  transform: translateY(-4px);
}
.dm-corridor-icon { font-size: 1.7rem; margin-bottom: 0.55rem; }
.dm-corridor-label { font-weight: 700; color: var(--gold); font-size: 0.96rem; margin-bottom: 0.35rem; }
.dm-corridor-desc { font-size: 0.8rem; color: var(--muted); line-height: 1.45; }
@media (max-width: 600px) {
  .dm-corridor-grid { grid-template-columns: repeat(2, 1fr); gap: 0.75rem; }
}

/* ── Chat UI ── */
.dm-chat-wrap {
  background: var(--surface); border: 1px solid var(--border);
  border-radius: 12px; padding: 1.5rem;
  max-width: 760px; margin: 2rem auto;
}
.dm-chat-log {
  min-height: 260px; max-height: 420px; overflow-y: auto;
  margin-bottom: 1rem; padding: 0.5rem 0;
}
.dm-chat-msg { margin-bottom: 1rem; }
.dm-chat-msg.user .dm-chat-bubble {
  background: var(--surface2); color: var(--text);
  border-radius: 8px 8px 2px 8px; padding: 0.65rem 1rem;
  max-width: 80%; margin-left: auto;
}
.dm-chat-msg.dave .dm-chat-bubble {
  background: linear-gradient(135deg, #0a1a2e, #071018);
  border: 1px solid var(--border); color: var(--text);
  border-radius: 8px 8px 8px 2px; padding: 0.65rem 1rem;
  max-width: 80%;
}
.dm-chat-input-row { display: flex; gap: 0.75rem; }
.dm-chat-input {
  flex: 1; background: var(--surface2); border: 1px solid var(--border);
  color: var(--text); border-radius: 8px; padding: 0.65rem 1rem;
  font-size: 0.95rem;
}
.dm-chat-input:focus { outline: none; border-color: var(--blue); }
.dm-chat-input::placeholder { color: var(--muted); }

/* ── Search / Input ── */
.dm-search-row { display: flex; gap: 0.75rem; max-width: 640px; margin-bottom: 1.5rem; }
.dm-input {
  flex: 1; background: var(--surface); border: 1px solid var(--border);
  color: var(--text); border-radius: 8px; padding: 0.65rem 1rem; font-size: 0.95rem;
}
.dm-input:focus { outline: none; border-color: var(--gold); }
.dm-input::placeholder { color: var(--muted); }
.dm-results {
  background: var(--surface); border: 1px solid var(--border);
  border-radius: 10px; padding: 1.25rem; margin-top: 1rem;
  min-height: 80px; color: var(--text); font-size: 0.95rem;
}

/* ── Topic chips ── */
.dm-chips { display: flex; flex-wrap: wrap; gap: 0.5rem; margin-top: 1rem; }
.dm-chip {
  background: var(--surface2); border: 1px solid var(--border);
  color: var(--muted); border-radius: 20px; padding: 0.3rem 0.85rem;
  font-size: 0.82rem; cursor: pointer; transition: all 0.15s;
}
.dm-chip:hover { border-color: var(--gold); color: var(--gold); }

/* ── Status badge ── */
.dm-status { display: inline-flex; align-items: center; gap: 0.5rem; font-size: 0.85rem; }
.dm-status-dot {
  width: 8px; height: 8px; border-radius: 50%;
  background: #555; flex-shrink: 0;
}
.dm-status-dot.online  { background: #22c55e; box-shadow: 0 0 6px rgba(34,197,94,0.5); }
.dm-status-dot.offline { background: #ef4444; }

/* ── Runtime status grid (dave-ai page) ── */
.dm-runtime-status-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
  gap: 1rem; margin-top: 1.5rem;
}
.dm-rstat-card {
  background: var(--surface);
  border: 1px solid var(--border);
  border-radius: 10px; padding: 1rem 1.25rem;
  display: flex; flex-direction: column; gap: 0.3rem;
  transition: border-color 0.25s;
}
.dm-rstat-card:hover { border-color: rgba(240,201,99,0.22); }
.dm-rstat-card .dm-status-dot { width: 10px; height: 10px; margin-bottom: 0.25rem; }
.dm-rstat-name { font-weight: 700; font-size: 0.82rem; color: var(--gold); }
.dm-rstat-val  { font-size: 0.78rem; color: var(--muted); }

/* ── Beliefs list ── */
.dm-beliefs { list-style: none; margin-top: 1rem; }
.dm-beliefs li {
  padding: 0.6rem 0; border-bottom: 1px solid var(--border);
  color: var(--text); display: flex; align-items: flex-start; gap: 0.75rem;
}
.dm-beliefs li::before { content: '\2736'; color: var(--gold); flex-shrink: 0; }
.dm-beliefs .dm-belief-link {
  text-decoration: none; color: inherit;
  display: block; flex: 1; transition: color 0.2s;
}
.dm-beliefs .dm-belief-link:hover { color: var(--gold); }

/* ── Ruach page: phone-first platform landing ── */
body[data-page-id="ruach"] .dm-hero {
  min-height: min(760px, 88vh);
  padding: 84px 1.25rem 3.5rem;
}
body[data-page-id="ruach"] .dm-hero h1 {
  letter-spacing: 0;
}
body[data-page-id="ruach"] .dm-hero p {
  max-width: 560px;
  margin-bottom: 1.5rem;
}
body[data-page-id="ruach"] .dm-hero-pillars {
  max-width: 720px;
  margin-top: 1.1rem;
  margin-bottom: 1.1rem;
}
body[data-page-id="ruach"] .dm-pillar {
  border-radius: 999px;
  letter-spacing: 0;
  background: rgba(10,14,20,0.78);
  color: #d7e0ea;
}
body[data-page-id="ruach"] .dm-hero-verse {
  max-width: 560px;
  background: rgba(2,5,7,0.62);
  backdrop-filter: blur(6px);
}
body[data-page-id="ruach"] .dm-section {
  max-width: 920px;
}
body[data-page-id="ruach"] .dm-beliefs {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 0.8rem;
}
body[data-page-id="ruach"] .dm-beliefs li {
  min-height: 92px;
  padding: 0.95rem;
  border: 1px solid var(--border);
  border-radius: 12px;
  background: rgba(10,14,20,0.86);
  line-height: 1.45;
}

@media (max-width: 760px) {
  body[data-page-id="ruach"] .dm-nav {
    position: sticky;
    height: auto;
    min-height: 48px;
    padding: 0.55rem 0.9rem;
  }
  body[data-page-id="ruach"] .dm-nav-links {
    display: none;
  }
  body[data-page-id="ruach"] .dm-hero {
    min-height: auto;
    padding: 1.85rem 1rem 2.2rem;
    justify-content: flex-start;
  }
  body[data-page-id="ruach"] .dm-hero::before {
    background:
      radial-gradient(ellipse 88% 52% at 50% 38%, rgba(2,5,7,0.82) 0%, rgba(2,5,7,0.58) 58%, transparent 86%),
      linear-gradient(180deg, rgba(2,5,7,0.2) 0%, rgba(2,5,7,0.62) 82%, var(--bg) 100%);
  }
  body[data-page-id="ruach"] .dm-hero-art {
    background-position: center top;
    opacity: 0.72;
  }
  body[data-page-id="ruach"] .dm-hero h1 {
    font-size: clamp(1.92rem, 9.1vw, 2.6rem);
    line-height: 1.04;
    margin-bottom: 0.7rem;
    max-width: 10ch;
  }
  body[data-page-id="ruach"] .dm-hero p {
    font-size: 0.98rem;
    line-height: 1.48;
    margin-bottom: 1rem;
    max-width: 22rem;
  }
  body[data-page-id="ruach"] .dm-cta-row {
    width: 100%;
    gap: 0.65rem;
  }
  body[data-page-id="ruach"] .dm-btn {
    width: min(100%, 336px);
    min-height: 48px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 0.78rem 1rem;
  }
  body[data-page-id="ruach"] .dm-hero-kicker {
    font-size: 0.68rem;
    letter-spacing: 0;
    margin-bottom: 0.7rem;
  }
  body[data-page-id="ruach"] .dm-hero-pillars {
    width: min(100%, 336px);
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0.45rem;
    margin: 0.9rem auto 0.85rem;
  }
  body[data-page-id="ruach"] .dm-pillar {
    min-height: 34px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 0.34rem 0.45rem;
    font-size: 0.73rem;
    text-align: center;
  }
  body[data-page-id="ruach"] .dm-hero-verse {
    width: min(100%, 336px);
    font-size: 0.78rem;
    line-height: 1.5;
    margin-top: 0.35rem;
    padding: 0.72rem 0.85rem;
  }
  body[data-page-id="ruach"] .dm-section {
    padding: 2.25rem 1rem;
  }
  body[data-page-id="ruach"] .dm-section-title {
    font-size: clamp(1.35rem, 6.4vw, 1.82rem);
    margin-bottom: 0.85rem;
  }
  body[data-page-id="ruach"] .dm-section-body {
    font-size: 0.94rem;
    line-height: 1.58;
    margin-bottom: 1rem;
    max-width: 34rem;
  }
  body[data-page-id="ruach"] .dm-beliefs {
    display: grid;
    grid-template-columns: 1fr;
    gap: 0.65rem;
  }
  body[data-page-id="ruach"] .dm-beliefs li {
    min-height: 0;
    padding: 0.82rem 0.9rem;
    font-size: 0.9rem;
    line-height: 1.42;
  }
  body[data-page-id="ruach"] .dm-live-badge {
    width: 100%;
    align-items: flex-start;
  }
}

@media (max-width: 340px) {
  body[data-page-id="ruach"] .dm-nav-brand {
    font-size: 0.98rem;
  }
  body[data-page-id="ruach"] .dm-hero {
    padding-left: 0.8rem;
    padding-right: 0.8rem;
  }
  body[data-page-id="ruach"] .dm-hero h1 {
    font-size: 1.86rem;
  }
  body[data-page-id="ruach"] .dm-hero p,
  body[data-page-id="ruach"] .dm-section-body {
    font-size: 0.91rem;
  }
  body[data-page-id="ruach"] .dm-btn,
  body[data-page-id="ruach"] .dm-hero-pillars,
  body[data-page-id="ruach"] .dm-hero-verse {
    width: 100%;
  }
  body[data-page-id="ruach"] .dm-pillar {
    font-size: 0.7rem;
  }
}

/* ── Capabilities list ── */
.dm-caps { list-style: none; margin-top: 1rem; display: grid; grid-template-columns: 1fr 1fr; gap: 0.75rem; }
.dm-cap-item {
  background: var(--surface); border: 1px solid var(--border);
  border-radius: 8px; padding: 0.85rem 1rem;
  color: var(--text); display: flex; align-items: flex-start; gap: 0.75rem;
}
.dm-cap-item::before { content: '\25C8'; color: var(--blue); }

/* ── Live API badge (sanctum / ministry cosmos) ── */
.dm-live-badge {
  display: inline-flex; align-items: center; gap: 0.65rem;
  background: var(--surface);
  border: 1px solid var(--border);
  border-radius: 10px;
  padding: 0.6rem 1.2rem;
  font-size: 0.84rem; color: var(--muted);
  margin: 1.25rem 0; transition: border-color 0.3s;
}
.dm-live-badge.live { border-color: rgba(34,197,94,0.35); }
.dm-live-badge .dm-status-dot { width: 9px; height: 9px; flex-shrink: 0; }

/* ── Scripture search results ── */
.dm-scripture-results {
  margin-top: 1.5rem;
  display: flex; flex-direction: column; gap: 0.85rem;
}
.dm-verse-card {
  background: var(--surface); border: 1px solid var(--border);
  border-radius: 10px; padding: 1rem 1.25rem;
  transition: border-color 0.2s;
}
.dm-verse-card:hover { border-color: rgba(240,201,99,0.3); }
.dm-verse-ref {
  font-size: 0.78rem; font-weight: 700; color: var(--gold);
  letter-spacing: 0.06em; text-transform: uppercase; margin-bottom: 0.4rem;
}
.dm-verse-text { color: var(--text); font-size: 0.95rem; line-height: 1.65; }

/* ── Apologetics result card ── */
.dm-apol-result {
  background: var(--surface); border: 1px solid rgba(240,201,99,0.2);
  border-radius: 12px; padding: 1.5rem;
  margin-top: 1.25rem;
}
.dm-apol-guidance { color: var(--text); font-size: 1.02rem; line-height: 1.72; margin-bottom: 1rem; }
.dm-apol-scripture { color: var(--muted); font-size: 0.88rem; border-top: 1px solid var(--border); padding-top: 0.75rem; margin-top: 0.5rem; }
.dm-apol-scripture strong { color: var(--gold); }

/* ── Footer ── */
.dm-footer {
  border-top: 1px solid var(--border);
  text-align: center; padding: 2.5rem 2rem;
  color: var(--muted); font-size: 0.85rem;
}
.dm-footer strong { color: var(--gold); }

/* WO37497 — site-wide footer, extracted byte-for-byte from inline styles (renders on every page) */
.dm-footer-email { margin-top: 0.5rem; }
.dm-footer-links { margin-top: 0.75rem; display: flex; flex-wrap: wrap; gap: 0.9rem; justify-content: center; }
.dm-footer-social { margin-top: 0.8rem; display: flex; flex-wrap: wrap; gap: 0.8rem; justify-content: center; }
.dm-footer .dm-footer-link-primary { color: var(--accent, #c9a24b); font-weight: 700; font-size: 0.95rem; }
.dm-footer .dm-footer-link { color: var(--muted); font-size: 0.88rem; }
.dm-footer .dm-footer-social-link { color: var(--muted); text-decoration: none; font-size: 0.85rem; }
.dm-footer-copyright { margin-top: 0.75rem; font-size: 0.78rem; opacity: 0.5; }

/* ── Atlas pulse ── */
.dm-atlas-pulse {
  display: inline-flex; align-items: center; gap: 0.75rem;
  background: var(--surface); border: 1px solid var(--border);
  border-radius: 8px; padding: 0.65rem 1.25rem;
  font-size: 0.88rem; color: var(--muted); margin-top: 1rem;
}

/* ══════════════════════════════════════════════════════
   DOXOLOGY DIVIDER
   ══════════════════════════════════════════════════════ */
.dm-doxology {
  text-align: center; padding: 2rem 2rem 0;
  font-size: 0.8rem; letter-spacing: 0.18em; text-transform: uppercase;
  color: rgba(240,201,99,0.38);
}

/* ══════════════════════════════════════════════════════
   CREATION WHEEL — Signature orbital ring
   ══════════════════════════════════════════════════════ */

.dm-creation-wheel-section {
  background: radial-gradient(ellipse 120% 80% at 50% 55%, #060e1a 0%, var(--bg) 100%);
  border-top: 1px solid var(--border);
  border-bottom: 1px solid var(--border);
  padding: 5rem 2rem 4.5rem;
  overflow: hidden;
}
.dm-wheel-header {
  text-align: center; max-width: 720px; margin: 0 auto 3.5rem;
}
.dm-wheel-header .dm-section-title { text-align: center; }
.dm-wheel-header .dm-section-body  { margin-left: auto; margin-right: auto; }

/* ── Stage (square container, satellites position inside it) ── */
.dm-wheel-stage {
  position: relative;
  width: min(680px, 92vw);
  height: min(680px, 92vw);
  margin: 0 auto;
}

/* ── Orbit ring traces ── */
.dm-wheel-orbit-ring {
  position: absolute; inset: 0;
  border-radius: 50%;
  /* faint but visible gold orbit trace */
  border: 1px solid rgba(240,201,99,0.22);
  box-shadow: 0 0 80px rgba(240,201,99,0.07) inset,
              0 0 0 1px rgba(240,201,99,0.06);
  pointer-events: none;
}
.dm-wheel-orbit-ring::before {
  content: '';
  position: absolute; inset: 14%;
  border-radius: 50%;
  border: 1px dashed rgba(77,166,255,0.10);
}
.dm-wheel-orbit-ring::after {
  content: '';
  position: absolute; inset: 30%;
  border-radius: 50%;
  border: 1px solid rgba(240,201,99,0.08);
}

/* ── Glowing core ── */
.dm-wheel-core {
  position: absolute;
  top: 50%; left: 50%;
  transform: translate(-50%, -50%);
  width: min(190px, 28vw);
  height: min(190px, 28vw);
  border-radius: 50%;
  display: flex; align-items: center; justify-content: center;
  z-index: 4;
}
.dm-core-pulse {
  position: absolute; inset: 0;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(240,201,99,0.20) 0%, rgba(240,201,99,0.05) 55%, transparent 75%);
  box-shadow:
    0 0 50px rgba(240,201,99,0.16),
    0 0 100px rgba(240,201,99,0.07),
    0 0 0 1px rgba(240,201,99,0.22);
  animation: dm-core-breathe 4.5s ease-in-out infinite;
}
@keyframes dm-core-breathe {
  0%, 100% { opacity: 0.78; transform: scale(1); }
  50%       { opacity: 1;    transform: scale(1.07); }
}
.dm-core-text {
  position: relative; z-index: 1;
  text-align: center;
  font-size: clamp(0.7rem, 1.3vw, 0.88rem);
  font-weight: 700; letter-spacing: 0.04em; line-height: 1.55;
  color: var(--gold);
  text-shadow: 0 0 20px rgba(240,201,99,0.55);
  padding: 0 0.75rem;
}

/* ── Sat group — rotates to carry all satellites in orbit ── */
.dm-wheel-sat-group {
  position: absolute; inset: 0;
  animation: dm-group-spin 80s linear infinite;
}
@keyframes dm-group-spin { to { transform: rotate(360deg); } }

/* ── Individual satellite ──
   Positioned by CSS custom props:
     --i : 0-based index  (set inline by emit.py)
     --n : domain count   (set inline by emit.py)
   Strategy: The sat element is placed at origin (top/left 50%),
   rotated by its initial angle, then pushed outward along X.
   The sat-body counter-rotates BOTH the group spin AND the sat's
   own initial angle, so icons/labels always face upright.
*/
.dm-orbit-sat {
  position: absolute;
  top: 50%; left: 50%;
  /* orbs ~130px as requested */
  width: min(130px, 18vw);
  height: min(130px, 18vw);
  /* pull back by half own size */
  margin-top:  calc(-1 * min(65px, 9vw));
  margin-left: calc(-1 * min(65px, 9vw));
  border-radius: 50%;
  background: var(--surface);
  border: 1.5px solid var(--border);
  cursor: pointer;
  z-index: 3;
  overflow: visible;
  /* rotate by initial angle then push outward */
  transform:
    rotate(calc(var(--i) * (360deg / var(--n))))
    translateX(min(240px, 35.5vw));
  transition: border-color 0.35s, box-shadow 0.35s;
}

/* ── Art fill (clip to circle) ── */
.dm-sat-art {
  position: absolute; inset: 0;
  background-size: cover; background-position: center;
  opacity: 0.28; border-radius: 50%;
  transition: opacity 0.35s;
  overflow: hidden;
  clip-path: circle(50% at 50% 50%);
}

/* ── Sat body — counter-spins so text stays upright ──
   Must undo: (a) the group's ongoing CW spin, AND
              (b) the sat's own initial placement angle (--i * 360/n).
   We handle (a) with the counter-spin animation and (b) by baking
   the initial counter-angle into the animation start via a CSS
   rotate applied before the animation kicks in. Because CSS
   animations override the transform property, we use a wrapper
   strategy: the sat-body has transform-origin center and uses
   JavaScript (injected by emit.py) to set its exact counter-angle
   as a CSS variable, then the animation uses that.

   Simpler pure-CSS approach used here:
   - The sat element is positioned via rotate+translateX (initial angle baked in)
   - The body applies a STATIC counter-rotate of the initial angle first,
     THEN the running counter-spin animation undoes only the group spin.
   - We do this by setting --angle = --i * 360 / --n as a custom property
     and using a separate counter-spin keyframe that includes it.

   Since CSS can't compute --i * 360 / --n at keyframe time, we use a
   JS shim injected in the creation_ring_html to set data attributes
   and directly set the animation. See emit.py creation_ring_html function.
   Until JS loads, we apply a rough upright approximation via rotate(0).
*/
.dm-sat-body {
  position: absolute; inset: 0; border-radius: 50%;
  display: flex; flex-direction: column;
  align-items: center; justify-content: center;
  padding: 0.5rem; text-align: center; z-index: 2;
  /* JS will set exact counter-rotation; CSS fallback keeps roughly upright */
  transform-origin: center center;
}
@keyframes dm-counter-spin {
  from { transform: rotate(var(--sat-start-angle, 0deg)); }
  to   { transform: rotate(calc(var(--sat-start-angle, 0deg) - 360deg)); }
}

.dm-sat-icon {
  font-size: min(1.4rem, 2.6vw);
  color: var(--gold); margin-bottom: 0.25rem;
  text-shadow: 0 0 14px rgba(240,201,99,0.55);
}
.dm-sat-label {
  font-size: min(0.70rem, 1.25vw);
  font-weight: 800; color: var(--gold);
  line-height: 1.2; letter-spacing: 0.025em;
}

/* ── Hover: illuminate ── */
.dm-orbit-sat:hover {
  border-color: var(--gold);
  box-shadow:
    0 0 0 2px rgba(240,201,99,0.25),
    0 0 30px rgba(240,201,99,0.28),
    0 0 70px rgba(240,201,99,0.12);
  z-index: 10;
}
.dm-orbit-sat:hover .dm-sat-art { opacity: 0.62; }
.dm-orbit-sat:hover .dm-sat-panel {
  opacity: 1;
  transform: translateX(-50%) translateY(0) scale(1);
}

/* ── Hover info panel ── */
.dm-sat-panel {
  position: absolute;
  bottom: calc(100% + 14px);
  left: 50%;
  /* panel is a child of sat-body which counter-rotates, so panel itself
     is already upright — no extra transform needed here */
  transform: translateX(-50%) translateY(10px) scale(0.94);
  width: min(210px, 56vw);
  background: rgba(8,12,18,0.97);
  border: 1px solid rgba(240,201,99,0.28);
  border-radius: 12px;
  padding: 1rem 1.15rem;
  opacity: 0;
  pointer-events: none;
  transition: opacity 0.28s, transform 0.28s;
  z-index: 20;
}
.dm-sat-panel-label {
  font-weight: 800; color: var(--gold);
  font-size: 0.88rem; margin-bottom: 0.45rem;
}
.dm-sat-panel-desc {
  font-size: 0.78rem; color: #9daab8; line-height: 1.55;
}

.dm-wheel-hint {
  text-align: center; margin-top: 2.25rem;
  font-size: 0.75rem; color: rgba(240,201,99,0.28);
  letter-spacing: 0.14em; text-transform: uppercase;
}

/* ── Responsive wheel ── */
@media (max-width: 560px) {
  .dm-sat-label { font-size: 0.58rem; }
  .dm-sat-icon  { font-size: 0.95rem; }
  .dm-sat-panel { display: none; }
  .dm-wheel-stage { width: 96vw; height: 96vw; }
}

/* ══════════════════════════════════════════════════════
   MAGNITUDE SECTION — Everything He Made
   ══════════════════════════════════════════════════════ */

.dm-magnitude-section {
  position: relative;
  background: linear-gradient(180deg, #060d14 0%, #020507 100%);
  border-top: 1px solid var(--border);
  border-bottom: 1px solid var(--border);
  overflow: hidden;
  padding: 6rem 2rem;
}
.dm-particles-canvas {
  position: absolute; inset: 0;
  width: 100%; height: 100%;
  pointer-events: none; opacity: 0.65;
}
.dm-magnitude-inner {
  position: relative; z-index: 2;
  max-width: 1100px; margin: 0 auto;
}
.dm-mag-doxology {
  text-align: center;
  font-size: clamp(0.9rem, 1.8vw, 1.08rem);
  font-style: italic;
  color: rgba(240,201,99,0.52);
  margin-bottom: 2rem;
  display: flex; align-items: center; justify-content: center;
  flex-wrap: wrap; gap: 0.75rem 1rem;
  letter-spacing: 0.02em;
}
.dm-dox-star { color: rgba(240,201,99,0.32); font-style: normal; }
.dm-mag-title {
  text-align: center;
  font-size: clamp(1.8rem, 4vw, 3rem);
  font-weight: 900; color: var(--gold);
  letter-spacing: 0;
  margin-bottom: 3rem;
  text-shadow: 0 0 40px rgba(240,201,99,0.12);
}
.dm-mag-stats {
  display: flex; flex-wrap: wrap; gap: 1.5rem;
  justify-content: center; margin-bottom: 4rem;
}
.dm-mag-stat {
  background: var(--surface);
  border: 1px solid var(--border);
  border-radius: 14px;
  padding: 1.5rem 2rem;
  text-align: center;
  min-width: 140px;
  transition: border-color 0.25s, box-shadow 0.25s;
}
.dm-mag-stat:hover {
  border-color: rgba(240,201,99,0.28);
  box-shadow: 0 0 24px rgba(240,201,99,0.08);
}
.dm-mag-num {
  font-size: clamp(1.5rem, 3.5vw, 2.2rem);
  font-weight: 900;
  color: var(--gold);
  line-height: 1.1; margin-bottom: 0.3rem;
}
.dm-mag-label {
  font-size: 0.78rem; color: var(--muted);
  text-transform: uppercase; letter-spacing: 0.1em;
}
.dm-mag-body-row {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 3rem; align-items: center;
}
@media (max-width: 800px) {
  .dm-mag-body-row { grid-template-columns: 1fr; }
}
.dm-mag-mosaic {
  display: grid;
  grid-template-columns: 1fr 1fr;
  grid-template-rows: 240px 150px;
  gap: 0.75rem;
}
.dm-mag-art-panel {
  background-size: cover; background-position: center;
  border-radius: 12px;
  border: 1px solid var(--border);
  opacity: 0.72;
  transition: opacity 0.3s;
}
.dm-mag-art-panel:first-child {
  grid-column: 1 / -1;
}
.dm-mag-art-panel:hover { opacity: 0.95; }
.dm-mag-text p {
  color: #aab8c8; line-height: 1.78;
  font-size: 1.04rem; margin-bottom: 2rem;
}
.dm-mag-cta { font-size: 1rem; padding: 0.85rem 2.5rem; }

/* ── Hamburger toggle (hidden on desktop) ── */
.dm-nav-toggle {
  position: absolute;
  left: -9999px;
  width: 1px;
  height: 1px;
  opacity: 0;
  pointer-events: none;
  margin: 0;
}
.dm-hamburger { display: none; }

/* ── Sub-navigation (community + bible) ──
   Offsets below the fixed nav so it is usable on first paint and scroll. */
.dm-subnav {
  display: flex; flex-wrap: wrap; align-items: center;
  gap: 0.25rem 0.5rem;
  margin-top: 60px;
  padding: 0.65rem 2rem 0.4rem;
  background: rgba(2,5,7,0.92);
  border-bottom: 1px solid var(--border);
  font-size: 0.82rem;
}
.dm-subnav-label {
  color: var(--muted); font-size: 0.7rem;
  text-transform: uppercase; letter-spacing: 0.1em;
  margin-right: 0.15rem; flex-shrink: 0;
}
.dm-subnav a {
  color: var(--muted); padding: 0.15rem 0.45rem;
  border-radius: 4px; transition: color 0.2s, background 0.15s;
  white-space: nowrap;
}
.dm-subnav a:hover,
.dm-subnav a.active { color: var(--gold); background: rgba(240,201,99,0.06); }

/* ── Tablet responsive (768px) ──
   Hamburger menu, hero compact mode, and show-scroll subnav
   activate earlier so tablets and portrait screens get the mobile UX. */
@media (max-width: 768px) {
  .dm-nav-toggle {
    position: fixed;
    top: 8px;
    right: 1rem;
    left: auto;
    width: 44px;
    height: 44px;
    opacity: 1;
    pointer-events: auto;
    z-index: 102;
    appearance: none;
    -webkit-appearance: none;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border: 1px solid var(--border);
    border-radius: 6px;
    background: rgba(2,5,7,0.92);
    color: var(--muted);
    cursor: pointer;
  }
  .dm-nav-toggle::before {
    content: "\2630";
    font-size: 1.35rem;
    line-height: 1;
  }
  .dm-nav-toggle:checked::before {
    content: "\2715";
    font-size: 1.25rem;
  }
  .dm-nav-toggle:focus-visible {
    outline: 2px solid var(--gold);
    outline-offset: 3px;
  }
  .dm-hamburger { display: none !important; }

  .dm-nav-links {
    display: none !important;
    position: absolute; top: 60px; left: 0; right: 0;
    background: rgba(2,5,7,0.97); backdrop-filter: blur(12px);
    -webkit-backdrop-filter: blur(12px);
    flex-direction: column; gap: 0;
    padding: 0.5rem 0;
    border-bottom: 1px solid var(--border);
    box-shadow: 0 8px 32px rgba(0,0,0,0.5);
  }
  .dm-nav-toggle:checked ~ .dm-nav .dm-nav-links {
    display: flex !important;
  }
  .dm-nav-links a {
    padding: 0.85rem 2rem;
    font-size: 1rem; width: 100%;
    min-height: 48px; display: flex; align-items: center;
    border-bottom: 1px solid rgba(255,255,255,0.03);
  }
  .dm-nav-links a:last-child:not(.dm-nav-signin):not(.dm-nav-profile) { border-bottom: none; }

  /* Hero compact on tablet so content is not pushed below the fold */
  .dm-hero:not(.dm-hero--gate) {
    min-height: min(100dvh, 100vh, 640px);
    padding: 72px 1.5rem 3rem;
  }
  .dm-hero--compact {
    min-height: auto;
    padding: 72px 1.5rem 2.5rem;
  }
  .dm-hero h1 {
    font-size: clamp(1.8rem, 5.5vw, 3.2rem);
  }
  .dm-hero p {
    font-size: clamp(0.95rem, 2.5vw, 1.2rem);
    max-width: 520px;
  }
  .dm-hero--compact p {
    max-width: 480px;
  }
  .dm-cta-row {
    width: 100%;
    gap: 0.75rem;
  }
  .dm-btn {
    width: min(100%, 320px);
    min-height: 48px;
    display: inline-flex; align-items: center; justify-content: center;
    padding: 0.75rem 1.25rem;
  }
  .dm-section {
    padding: 3rem 1.5rem;
  }
  .dm-footer {
    padding: 2rem 1.5rem;
  }
  .dm-subnav {
    margin-top: 60px;
    padding: 0.5rem 1rem;
    gap: 0.15rem 0.4rem;
    font-size: 0.8rem;
    overflow-x: auto; -webkit-overflow-scrolling: touch;
  }
  .dm-subnav a {
    padding: 0.35rem 0.45rem;
    min-height: 44px;
    display: inline-flex; align-items: center;
  }
  .dm-breadcrumbs {
    padding: 0.7rem 1rem 0;
    font-size: 0.75rem;
  }
  .dm-mag-stat {
    min-width: 110px;
    padding: 1rem 1.25rem;
  }
}

/* ── Small screen responsive (600px) ──
   Layout tightening that preserves multi-column content. */
@media (max-width: 600px) {
  .dm-caps { grid-template-columns: 1fr; }
  .dm-lanes { grid-template-columns: 1fr 1fr; }
  .dm-mag-mosaic { grid-template-rows: 160px 100px; }

  .dm-section {
    padding: 2.5rem 1.25rem;
  }
  .dm-magnitude-section {
    padding: 3rem 1.25rem;
  }
  .dm-mag-body-row {
    gap: 1.5rem;
  }
}

/* ── Phone responsive (480px) ──
   Single-column layouts, tighter padding for small screens. */
@media (max-width: 480px) {
  .dm-nav {
    padding: 0 1rem;
    height: 52px;
  }
  .dm-nav-toggle {
    top: 4px;
  }
  .dm-nav-links {
    top: 52px;
  }
  .dm-subnav {
    margin-top: 52px;
  }
  .dm-nav-brand {
    font-size: 0.95rem;
  }
  .dm-hero:not(.dm-hero--gate) {
    padding: 60px 1rem 2.5rem;
    min-height: min(100dvh, 100vh, 520px);
  }
  .dm-hero h1 {
    font-size: clamp(1.45rem, 6.2vw, 2rem);
    max-inline-size: min(22rem, calc(100vw - 2.5rem));
    overflow-wrap: anywhere;
    word-break: break-word;
    text-wrap: balance;
  }
  .dm-hero p {
    font-size: 0.92rem;
    line-height: 1.5;
    margin-bottom: 1.5rem;
    max-width: min(22rem, calc(100vw - 2.5rem));
    overflow-wrap: anywhere;
    word-break: break-word;
  }
  .dm-hero--compact {
    padding: 60px 1rem 2rem;
  }
  .dm-hero--compact h1 {
    font-size: clamp(1.4rem, 6vw, 2rem);
    margin-bottom: 0.5rem;
  }
  .dm-btn {
    width: 100%;
    padding: 0.72rem 1rem;
    font-size: 0.9rem;
  }
  .dm-cta-row {
    flex-direction: column;
    gap: 0.5rem;
    width: 100%;
    max-width: calc(100vw - 2rem);
  }
  .dm-lanes {
    grid-template-columns: 1fr;
  }
  .dm-section {
    padding: 2rem 1rem;
    max-width: 100%;
    overflow-x: hidden;
  }
  .dm-section-title {
    font-size: clamp(1.3rem, 5vw, 1.6rem);
    max-width: 100%;
    overflow-wrap: anywhere;
    word-break: break-word;
  }
  .dm-section-body {
    font-size: 0.92rem;
    line-height: 1.6;
    max-width: 100%;
    overflow-wrap: anywhere;
    word-break: break-word;
  }
  .dm-magnitude-section {
    padding: 2.5rem 1rem;
  }
  .dm-mag-title {
    font-size: clamp(1.4rem, 5.5vw, 2rem);
    margin-bottom: 1.5rem;
  }
  .dm-mag-stats {
    gap: 0.75rem;
  }
  .dm-mag-stat {
    min-width: 90px;
    padding: 0.75rem 0.85rem;
  }
  .dm-mag-num {
    font-size: clamp(1.2rem, 4vw, 1.6rem);
  }
  .dm-mag-label {
    font-size: 0.68rem;
  }
  .dm-mag-text p {
    font-size: 0.9rem;
    line-height: 1.6;
    margin-bottom: 1.25rem;
  }
  .dm-lane-card {
    padding: 1.25rem 1rem;
    min-height: 140px;
  }
  .dm-creation-wheel-section {
    padding: 2.5rem 1rem 2rem;
  }
  .dm-wheel-header {
    margin-bottom: 2rem;
  }
  .dm-footer {
    padding: 1.5rem 1rem;
    font-size: 0.78rem;
  }
  .dm-cathedral-domain-header {
    padding: 0.85rem 1rem;
  }
  .dm-cathedral-domain-title {
    font-size: 0.9rem;
  }
  .dm-cathedral-domain-body {
    padding: 0 1rem 1rem;
  }
  .dm-hero-kicker {
    font-size: 0.62rem;
    margin-bottom: 0.75rem;
  }
  .dm-hero-pillars {
    gap: 0.35rem;
    width: min(100%, calc(100vw - 2rem));
    justify-content: center;
  }
  .dm-pillar {
    font-size: 0.65rem;
    padding: 0.2rem 0.5rem;
    max-width: 100%;
    overflow-wrap: anywhere;
    white-space: normal;
  }
  .dm-hero-verse {
    font-size: 0.75rem;
    padding: 0.6rem 1rem;
    margin-top: 1rem;
  }
  .dm-search-form {
    flex-direction: column;
    gap: 0.5rem;
  }
  .dm-search-form input[type="text"] {
    flex: 1 1 auto;
    width: 100%;
  }
  .dm-card-grid {
    grid-template-columns: 1fr;
  }
  .dm-card {
    padding: 1rem 1.15rem;
  }
  .dm-detail article h2 {
    font-size: 1.4rem;
  }
  .dm-live-badge {
    padding: 0.5rem 1rem;
    font-size: 0.78rem;
  }
  .dm-atlas-pulse {
    font-size: 0.78rem;
    padding: 0.5rem 0.85rem;
  }
  .dm-breadcrumbs {
    padding: 0.5rem 0.85rem 0;
    font-size: 0.7rem;
    gap: 0.3rem 0.4rem;
  }
  .dm-subnav {
    font-size: 0.72rem;
    padding: 0.4rem 0.75rem;
  }
  .dm-subnav a {
    padding: 0.3rem 0.35rem;
    min-height: 44px;
  }
  .dm-runtime-status-grid {
    grid-template-columns: repeat(auto-fill, minmax(140px, 1fr));
  }
  .dm-btt {
    bottom: 0.85rem; right: 0.85rem;
    width: 44px; height: 44px;
    font-size: 1.1rem;
  }
}

/* ── Micro phone responsive (360px) ──
    Bare-minimum safety for iPhone SE and similar. */
@media (max-width: 360px) {
  .dm-nav {
    padding: 0 0.65rem;
    height: 48px;
  }
  .dm-nav-brand {
    font-size: 0.85rem;
  }
  .dm-nav-toggle {
    top: 2px;
    right: 0.65rem;
    width: 44px;
    height: 44px;
  }
  .dm-nav-links {
    top: 48px;
  }
  .dm-subnav {
    margin-top: 48px;
  }
  .dm-hero:not(.dm-hero--gate) {
    padding: 52px 0.75rem 2rem;
  }
  .dm-hero h1 {
    font-size: clamp(1.4rem, 7vw, 1.8rem);
  }
  .dm-hero p {
    font-size: 0.85rem;
  }
  .dm-hero--compact {
    padding: 52px 0.75rem 1.5rem;
  }
  .dm-hero--compact h1 {
    font-size: clamp(1.25rem, 6vw, 1.6rem);
  }
  .dm-section {
    padding: 1.5rem 0.75rem;
  }
  .dm-section-title {
    font-size: clamp(1.15rem, 5vw, 1.35rem);
  }
  .dm-section-body {
    font-size: 0.88rem;
  }
  .dm-magnitude-section {
    padding: 2rem 0.75rem;
  }
  .dm-creation-wheel-section {
    padding: 2rem 0.75rem 1.5rem;
  }
  .dm-footer {
    padding: 1.25rem 0.75rem;
    font-size: 0.72rem;
  }
  .dm-btn {
    padding: 0.65rem 0.85rem;
    font-size: 0.85rem;
    min-height: 44px;
  }
  .dm-nav-links a {
    padding: 0.6rem 1rem;
    font-size: 0.9rem;
    min-height: 44px;
  }
  .dm-btt {
    bottom: 0.75rem; right: 0.75rem;
    width: 40px; height: 40px;
    font-size: 1rem;
  }
}

/* ── Bible reader mobile tweaks ── */
@media (max-width: 600px) {
  .dm-translation-strip {
    grid-template-columns: 1fr;
    gap: 0.75rem;
    padding: 0.75rem;
  }
  .dm-verse-nav {
    flex-direction: column;
    align-items: stretch;
    gap: 0.4rem;
  }
  .dm-verse-nav .dm-input {
    width: 100%;
  }
  .dm-verse-nav .dm-btn {
    width: 100%;
  }
  .dm-word-grid {
    gap: 0.3rem 0.6rem;
  }
  .dm-word-cell {
    min-width: 48px;
    max-width: 100px;
  }
  .dm-word-original {
    font-size: 1.1rem;
  }
  .dm-strongs-tooltip {
    max-width: 240px;
    padding: 0.6rem 0.8rem;
  }
}
.dm-verse-nav { display:flex; flex-wrap:wrap; gap:0.5rem; margin-bottom:1.5rem; align-items:center; }
.dm-verse-nav .dm-input { flex-shrink:0; }
.dm-translation-strip { display:grid; grid-template-columns:1fr 1fr; gap:1rem; margin:1.5rem 0; padding:1rem; background:#0a121d; border-radius:8px; border:1px solid #1e3a5f; }
.dm-trans-label { font-size:0.7rem; color: var(--blue); text-transform:uppercase; letter-spacing:0.1em; display:block; margin-bottom:0.4rem; }
.dm-trans-kjv p, .dm-trans-original p { color:#e0e0e0; font-size:0.95rem; line-height:1.6; margin:0; }
.dm-word-grid { display:flex; flex-wrap:wrap; gap:0.5rem 1rem; margin:1.5rem 0; direction:ltr; }
.dm-word-cell { text-align:center; min-width:60px; max-width:120px; padding:0.25rem 0.1rem; }
.dm-word-original { font-size:1.3rem; color: var(--gold); font-family:serif; display:block; }
.dm-word-translit { font-size:0.7rem; color:#aaa; display:block; }
.dm-word-english { font-size:0.8rem; color:#e0e0e0; display:block; margin-top:2px; }
.dm-strongs-badge { font-size:0.65rem; color: var(--blue); cursor:pointer; border:1px solid #4da6ff33; border-radius:3px; padding:1px 3px; margin-top:3px; display:inline-block; transition:background 0.15s; }
.dm-strongs-badge:hover { background: var(--blue)22; }
.dm-strongs-tooltip { position:fixed; max-width:300px; background:#0d1825; border:1px solid #f0c963; border-radius:6px; padding:0.75rem 1rem; z-index:1000; box-shadow:0 4px 24px #000a; pointer-events:none; }
.dm-strongs-id { font-size:0.7rem; color: var(--blue); }
.dm-strongs-headword { font-size:1rem; color: var(--gold); font-weight:600; display:block; margin:4px 0; font-family:serif; }
.dm-strongs-def { font-size:0.8rem; color:#ccc; margin:0; line-height:1.4; }
.dm-original-script { font-family:serif; font-size:1.1rem; direction:auto; }
.dm-section-flagship { border-top:2px solid #f0c96344; padding-top:2.5rem; }
.dm-crossref-chips { display:flex; flex-wrap:wrap; gap:0.4rem; }
.dm-crossref-chip { background:#0d1825; border:1px solid #1e3a5f; color: var(--blue); font-size:0.75rem; padding:0.25rem 0.6rem; border-radius:4px; cursor:pointer; transition:background 0.15s; }
.dm-crossref-chip:hover { background:#1e3a5f; }
.dm-strongs-card, .dm-father-card { background:#0a121d; border:1px solid #1e3a5f; border-radius:8px; padding:1rem; margin-bottom:0.75rem; }

/* ── Cathedral of Creation (/creation) — domain galleries ── */
.dm-cathedral-domains {
  display: flex; flex-direction: column; gap: 0.5rem;
  margin-top: 2rem;
}
.dm-cathedral-domain {
  background: var(--surface);
  border: 1px solid var(--border);
  border-radius: 12px;
  overflow: hidden;
  transition: border-color 0.2s;
}
.dm-cathedral-domain:hover { border-color: rgba(240,201,99,0.4); }

.dm-cathedral-domain-header {
  display: flex; align-items: center; gap: 1rem;
  width: 100%; background: none; border: none;
  color: var(--text); padding: 1.25rem 1.75rem;
  cursor: pointer; text-align: left;
  transition: background 0.15s;
}
.dm-cathedral-domain-header:hover { background: rgba(240,201,99,0.05); }
.dm-cathedral-domain-icon { color: var(--gold); font-size: 1.1rem; flex-shrink: 0; }
.dm-cathedral-domain-title {
  flex: 1; font-size: 1.05rem; font-weight: 700; color: var(--gold); letter-spacing: -0.01em;
}
.dm-cathedral-badge {
  font-size: 0.72rem; color: var(--muted); background: var(--surface2);
  border: 1px solid var(--border); border-radius: 20px; padding: 0.2rem 0.7rem;
  flex-shrink: 0;
}
.dm-cathedral-chevron { color: var(--muted); font-size: 0.75rem; flex-shrink: 0; transition: transform 0.2s; }

.dm-cathedral-domain-body {
  padding: 0 1.75rem 1.75rem;
}
.dm-cathedral-mosaic {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 0.75rem;
  margin-bottom: 1.25rem;
}
@media (max-width: 700px) {
  .dm-cathedral-mosaic { grid-template-columns: 1fr 1fr; }
}
.dm-cathedral-plate {
  aspect-ratio: 16/9;
  background-size: cover; background-position: center;
  border-radius: 8px;
  border: 1px solid var(--border);
  transition: transform 0.2s, box-shadow 0.2s;
  cursor: default;
}
.dm-cathedral-plate:hover {
  transform: scale(1.025);
  box-shadow: 0 0 20px rgba(240,201,99,0.2);
}
.dm-cathedral-desc {
  color: var(--muted); font-size: 0.92rem; line-height: 1.72; margin-bottom: 1rem; max-width: 820px;
}
.dm-cathedral-verse {
  border-left: 3px solid var(--gold);
  padding-left: 1rem; margin-top: 0.75rem;
  font-size: 0.88rem; color: rgba(232,232,240,0.7); font-style: italic;
}
.dm-cathedral-verse-ref {
  color: var(--gold); font-style: normal; font-weight: 600; margin-right: 0.5rem;
}

/* Atlas pulse line */
.dm-atlas-pulse {
  display: flex; align-items: center; gap: 0.6rem;
  font-size: 0.85rem; color: var(--muted);
  padding: 0.6rem 1rem; background: var(--surface); border: 1px solid var(--border);
  border-radius: 8px; display: inline-flex;
}

/* ══════════════════════════════════════════════════════
   GEM 1 — "Living Gate" hero modifier (pure CSS, no image, no JS)
   ──────────────────────────────────────────────────────
   On-theme to John 10:9 "I am the gate; whoever enters
   through me will be saved." Generates a luminous cathedral
   gate entirely in CSS: layered radial-gradient starfield +
   two concentric gold half-arches (border-radius) + a faint
   triangular light ray. Lifted from the recovered mockup
   01-homepage.html (.stars / .arch / .rays) and re-tokenized
   onto the live --gold/--bg palette.

   APPLY: add the modifier class so the section is
   class="dm-hero dm-hero--gate". The gate layers sit BEHIND
   <h1> exactly like .dm-hero-art; the existing .dm-hero::before
   text-legibility scrim still applies on top.
   Honors prefers-reduced-motion (nothing animates here anyway).
   ══════════════════════════════════════════════════════ */
.dm-hero--gate {
  /* deepen the base so the gate art reads; cosmos canvas (if present)
     still shows through the lower vignette */
  background:
    radial-gradient(ellipse at 50% 0%, rgba(240,201,99,0.06) 0%, transparent 60%),
    radial-gradient(ellipse at 50% 100%, rgba(20,40,80,0.40) 0%, transparent 70%),
    var(--bg);
}

/* ── CSS starfield (no raster image): ~15 pinpoint stars ── */
.dm-hero--gate .dm-gate-stars {
  position: absolute; inset: 0;
  z-index: 0; pointer-events: none;
}
.dm-hero--gate .dm-gate-stars::before {
  content: '';
  position: absolute; inset: 0;
  background-image:
    radial-gradient(1px 1px at 12% 18%, rgba(255,255,255,0.70) 0%, transparent 100%),
    radial-gradient(1px 1px at 33% 8%,  rgba(255,255,255,0.50) 0%, transparent 100%),
    radial-gradient(1.5px 1.5px at 67% 22%, rgba(255,255,255,0.60) 0%, transparent 100%),
    radial-gradient(1px 1px at 85% 12%, rgba(255,255,255,0.40) 0%, transparent 100%),
    radial-gradient(1px 1px at 22% 45%, rgba(255,255,255,0.30) 0%, transparent 100%),
    radial-gradient(1px 1px at 78% 55%, rgba(255,255,255,0.40) 0%, transparent 100%),
    radial-gradient(1px 1px at 44% 72%, rgba(255,255,255,0.30) 0%, transparent 100%),
    radial-gradient(1px 1px at 91% 78%, rgba(255,255,255,0.50) 0%, transparent 100%),
    radial-gradient(1px 1px at 5% 88%,  rgba(255,255,255,0.40) 0%, transparent 100%),
    radial-gradient(1px 1px at 58% 92%, rgba(255,255,255,0.30) 0%, transparent 100%),
    radial-gradient(1px 1px at 38% 30%, rgba(255,255,255,0.25) 0%, transparent 100%),
    radial-gradient(1px 1px at 72% 40%, rgba(255,255,255,0.35) 0%, transparent 100%),
    radial-gradient(1px 1px at 16% 62%, rgba(255,255,255,0.30) 0%, transparent 100%),
    radial-gradient(1px 1px at 95% 35%, rgba(255,255,255,0.40) 0%, transparent 100%),
    radial-gradient(1px 1px at 55% 55%, rgba(255,255,255,0.20) 0%, transparent 100%);
}

/* ── Two concentric gold half-arches (the "gate") ── */
.dm-hero--gate .dm-gate-arch {
  position: absolute; inset: 0;
  z-index: 0; pointer-events: none;
  display: flex; justify-content: center;
}
.dm-hero--gate .dm-gate-arch::before {
  content: '';
  position: absolute;
  top: 40px; left: 50%;
  transform: translateX(-50%);
  width: min(580px, 86vw);
  height: min(580px, 86vw);
  border-radius: 50% 50% 0 0 / 50% 50% 0 0;
  border: 1px solid rgba(240,201,99,0.30);
  border-bottom: none;
}
.dm-hero--gate .dm-gate-arch::after {
  content: '';
  position: absolute;
  top: 80px; left: 50%;
  transform: translateX(-50%);
  width: min(460px, 70vw);
  height: min(460px, 70vw);
  border-radius: 50% 50% 0 0 / 50% 50% 0 0;
  border: 1px solid rgba(240,201,99,0.15);
  border-bottom: none;
}

/* ── Faint triangular light ray descending from the gate ── */
.dm-hero--gate .dm-gate-rays {
  position: absolute;
  top: 40px; left: 50%;
  transform: translateX(-50%);
  width: 0; height: 0;
  z-index: 0; pointer-events: none;
}
.dm-hero--gate .dm-gate-rays::before {
  content: '';
  position: absolute;
  top: 0; left: 0;
  width: 0; height: 0;
  border-left: 240px solid transparent;
  border-right: 240px solid transparent;
  border-top: 420px solid rgba(240,201,99,0.035);
  transform: translate(-50%, 0);
}
@media (max-width: 560px) {
  .dm-hero--gate .dm-gate-rays::before {
    border-left-width: 150px; border-right-width: 150px; border-top-width: 300px;
  }
}

/* ── Optional hero trio (GEM 6): kicker / pillars / verse ──
   Rendered only when the corresponding keys are present
   (see staged patch web/site/patches/hero_keys.patch.md).
   CSS lifted from the mockup .hero-eyebrow / .pillar / .scripture. */
.dm-hero-kicker {
  position: relative; z-index: 2;
  font-size: 0.7rem; letter-spacing: 0.2em; text-transform: uppercase;
  color: var(--gold); margin-bottom: 1.25rem;
}
.dm-hero-pillars {
  position: relative; z-index: 2;
  display: flex; justify-content: center; flex-wrap: wrap;
  gap: 0.5rem; margin: 0.25rem 0 2rem;
  width: 100%;
  min-width: 0;
  max-width: min(920px, 100%);
}
.dm-pillar {
  font-size: 0.72rem; letter-spacing: 0.12em; text-transform: uppercase;
  color: var(--muted);
  padding: 0.3rem 0.8rem;
  border: 1px solid rgba(136,146,160,0.30);
  border-radius: 4px;
  max-width: 100%;
  overflow-wrap: anywhere;
  white-space: normal;
}
.dm-hero-verse {
  position: relative; z-index: 2;
  font-size: 0.82rem; color: var(--muted); font-style: italic;
  letter-spacing: 0.03em; margin-top: 1.6rem;
  padding: 0.8rem 1.5rem;
  border: 1px solid rgba(136,146,160,0.14);
  border-radius: 6px;
  display: inline-block; max-width: 620px;
}
.dm-hero-verse .dm-hero-verse-ref {
  color: var(--gold); font-style: normal; font-weight: 600; margin-left: 0.4rem;
}


/* ── A11y: skip-to-content link (visually hidden until focused) ──
   Server-rendered in dr_render_page_core right after <body>. No JS. */
.dm-skip {
  position: absolute; left: -9999px; top: 0; z-index: 1000;
  background: var(--gold); color: var(--bg);
  padding: 0.6rem 1.1rem; border-radius: 0 0 6px 0;
  font-weight: 700; letter-spacing: 0.04em;
}
.dm-skip:focus {
  left: 0; outline: 3px solid var(--blue); color: var(--bg);
}
:focus-visible { outline: 2px solid var(--gold); outline-offset: 2px; }

/* ── Content-data routes: /sermons /blog /bible-people /bible-search ──
   Pure-CSS styling for the classes the C renderers emit (dm-card-grid /
   dm-card / dm-card-link / dm-empty / dm-byline / dm-detail / dm-search-*).
   Mirrors the dm-card / dm-section language already used site-wide. No JS. */
.dm-datalist { padding-top: 0.5rem; }
.dm-datalist h3 { margin: 1.75rem 0 0.5rem; color: var(--gold); font-size: 1rem;
  letter-spacing: 0.08em; text-transform: uppercase; }
.dm-card-grid {
  list-style: none; display: grid; gap: 1.25rem; margin-top: 1.5rem;
  grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
}
.dm-card {
  background: var(--surface); border: 1px solid var(--border);
  border-radius: 12px; padding: 1.4rem 1.5rem;
  transition: border-color 0.2s ease;
}
.dm-card:hover {
  border-color: var(--border);
}
.dm-card-link h3, .dm-card-link h4 { font-size: 1.15rem; margin-bottom: 0.3rem; line-height: 1.3; color: var(--text); }
.dm-card-link:hover h3, .dm-card-link:hover h4 { color: var(--gold); }
.dm-card time, .dm-card .dm-byline, .dm-card .dm-meta {
  display: block; color: var(--muted); font-size: 0.8rem;
  letter-spacing: 0.04em; margin-bottom: 0.55rem;
}
.dm-card p { color: var(--muted); font-size: 0.95rem; line-height: 1.6; }
.dm-empty { max-width: 640px; text-align: center; padding: 2.5rem 2rem; }
.dm-empty p { margin-bottom: 1.25rem; }

/* article detail (sermon / blog / figure) */
.dm-detail article { max-width: 760px; }
.dm-detail article h2 { font-size: 1.9rem; line-height: 1.2; margin-bottom: 0.5rem; }
.dm-detail article time, .dm-detail .dm-meta, .dm-detail .dm-role {
  color: var(--muted); font-size: 0.85rem; letter-spacing: 0.04em;
}
.dm-detail article p { color: var(--text); line-height: 1.8; margin: 1rem 0; }
.dm-detail blockquote {
  border-left: 3px solid var(--gold); padding: 0.8rem 1.4rem; margin: 1.6rem 0;
  background: var(--surface); border-radius: 0 8px 8px 0;
  font-style: italic; color: var(--text);
}

/* bible search (GET form + server-rendered results, no JS) */
.dm-search-form { display: flex; gap: 0.75rem; max-width: 640px; margin: 1.5rem 0; flex-wrap: wrap; }
.dm-search-form input[type="text"] {
  flex: 1 1 280px; min-width: 0;
  background: var(--surface2); border: 1px solid var(--border);
  border-radius: 8px; padding: 0.75rem 1rem; color: var(--text); font-size: 1rem;
}
.dm-search-form input[type="text"]:focus { border-color: var(--gold); outline: none; }
.dm-search-count { color: var(--text); margin: 1.25rem 0 0.5rem; font-weight: 600; }
.dm-search-prompt, .dm-search-noresult, .dm-search-note {
  color: var(--muted); margin: 1rem 0; max-width: 700px;
}
.dm-search-note { font-size: 0.85rem; opacity: 0.8; margin-top: 2rem; }
.dm-search-results { list-style: none; display: grid; gap: 1rem; margin-top: 1rem; }
.dm-search-results li { padding: 1rem 1.25rem; }
.dm-search-ref { font-weight: 600; }
.dm-search-results li p { color: var(--muted); margin-top: 0.4rem; line-height: 1.6; }

/* ── Breadcrumbs ── */
.dm-breadcrumbs {
  display: flex; flex-wrap: wrap; align-items: center;
  gap: 0.4rem 0.6rem;
  padding: 0.85rem 2rem 0;
  font-size: 0.78rem;
  position: relative; z-index: 1;
}
.dm-breadcrumbs a {
  color: var(--muted);
  transition: color 0.2s;
}
.dm-breadcrumbs a:hover { color: var(--gold); }
.dm-breadcrumbs a::after {
  content: '/';
  color: var(--border);
  margin-left: 0.6rem;
  pointer-events: none;
}
.dm-breadcrumbs span[aria-current="page"] {
  color: var(--text);
  font-weight: 600;
}

/* ── Back to top ── */
.dm-btt {
  position: fixed;
  bottom: 2rem; right: 1.5rem;
  z-index: 50;
  width: 40px; height: 40px;
  display: flex; align-items: center; justify-content: center;
  background: rgba(2,5,7,0.78);
  border: 1px solid var(--border);
  border-radius: 8px;
  color: var(--muted);
  font-size: 1.2rem;
  text-decoration: none;
  transition: color 0.2s, border-color 0.2s, background 0.2s;
  backdrop-filter: blur(4px);
}
.dm-btt:hover {
  color: var(--gold);
  border-color: var(--gold);
  background: rgba(2,5,7,0.92);
}

/* ── Scroll-down chevron on full heroes (not compact) ── */
.dm-hero:not(.dm-hero--compact)::after {
  content: '\2228';
  position: absolute;
  bottom: 1.5rem;
  left: 50%;
  transform: translateX(-50%);
  z-index: 2;
  font-size: 1.1rem;
  color: var(--muted);
  /* Finite, not infinite: an infinite animation ran forever on nearly every
     page (almost none are --compact), so the compositor never idled — hurting
     battery/perf sitewide. Three gentle bounces hint "scroll", then it rests. */
  animation: dm-bounce 2.4s ease-in-out 3;
  opacity: 0.5;
  pointer-events: none;
}
@keyframes dm-bounce {
  0%, 100% { transform: translateX(-50%) translateY(0); }
  50% { transform: translateX(-50%) translateY(7px); }
}

/* ── Section anchor — deep-link to any section via #sec-<name> ── */
.dm-sec-anchor {
  display: block;
  height: 0;
  overflow: visible;
  scroll-margin-top: 70px;
}

/* ── Compact hero (interior pages, no full viewport) ── */
.dm-hero--compact {
  min-height: auto;
  padding: 100px 2rem 3.5rem;
}
.dm-hero--compact h1 {
  font-size: clamp(1.8rem, 4vw, 2.8rem);
  margin-bottom: 0.7rem;
}
.dm-hero--compact p {
  margin-bottom: 1rem;
  max-width: 560px;
}
.dm-hero--compact .dm-cta-row { margin-top: 0.5rem; }
.dm-hero--compact::before { opacity: 0.7; }

/* ── Mobile touch targets ── */
@media (max-width: 600px) {
  .dm-btn {
    min-height: 48px;
    display: inline-flex; align-items: center; justify-content: center;
    padding: 0.78rem 1.5rem;
  }
  .dm-nav-links a {
    min-height: 48px;
    display: flex; align-items: center;
  }
  .dm-subnav a {
    padding: 0.4rem 0.5rem;
    min-height: 44px;
    display: inline-flex; align-items: center;
  }
  .dm-btt {
    bottom: 1rem; right: 1rem;
    width: 44px; height: 44px;
    opacity: 0.85;
  }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto !important; }
  *, *::before, *::after {
    animation-duration: 0.001ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.001ms !important;
  }
  .dm-core-pulse,
  .dm-wheel-sat-group,
  .dm-hero:not(.dm-hero--compact)::after {
    animation: none !important;
  }
}

/* ── Print stylesheet ── */
@media print {
  .dm-nav, .dm-subnav, .dm-footer, .dm-btt, .dm-skip,
  .dm-hero-art, #dm-creation-field, #dm-inner-cosmos,
  .dm-gate-stars, .dm-gate-arch, .dm-gate-rays,
  .dm-hero::before, .dm-btn, .dm-cta-row,
  .dm-creation-wheel-section, .dm-doxology,
  .dm-search-form, .dm-chat-wrap, .dm-atlas-pulse,
  .dm-stream-badge { display: none !important; }
  .dm-hero {
    min-height: auto !important;
    padding: 1rem 1.5rem !important;
    color: #000 !important;
    background: #fff !important;
  }
  .dm-hero h1 {
    -webkit-text-fill-color: #000 !important;
    color: #000 !important;
    background: none !important;
    text-shadow: none !important;
  }
  .dm-hero p { color: #333 !important; text-shadow: none !important; }
  .dm-section { max-width: 100% !important; padding: 1rem 1.5rem !important; page-break-inside: avoid; }
  .dm-section-title { color: #000 !important; }
  .dm-section-body, .dm-beliefs li { color: #333 !important; }
  a { color: #000 !important; text-decoration: underline !important; }
  .dm-breadcrumbs { padding: 0.5rem 1.5rem; }
  .dm-breadcrumbs a, .dm-breadcrumbs span { color: #333 !important; }
  .dm-detail article { max-width: 100% !important; }
  .dm-detail article p { color: #000 !important; }
  body { background: #fff !important; color: #000 !important; }
  .dm-card { break-inside: avoid; border: 1px solid #ccc !important; }
  .dm-lane-card { break-inside: avoid; }
  .dm-magnitude-section { padding: 1rem 1.5rem !important; }
}

/* ── WO_BibleSocialUX_20260617 — crown jewel / share / study lanes ── */
.dm-share-row {
  text-align: center;
  padding: 1.5rem 1rem 2rem;
}
.dm-share-hint {
  max-width: 640px;
  margin: 0 auto 1rem;
  color: var(--muted);
  font-size: 0.95rem;
}
.dm-share-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 0.75rem;
  justify-content: center;
  align-items: center;
}
.dm-share-actions .dm-btn {
  min-height: 44px;
  min-width: 120px;
  padding: 0.65rem 1.2rem;
}
.dm-share-status {
  flex: 1 1 100%;
  font-size: 0.85rem;
  color: var(--gold);
  min-height: 1.2rem;
}
.dm-bible-study-hub {
  max-width: 900px;
  margin: 0 auto;
  padding: 1rem 1.5rem 0.5rem;
}
.dm-study-throughline {
  text-align: center;
  color: var(--text);
  font-size: 1rem;
  line-height: 1.65;
  margin-bottom: 0.6rem;
}
.dm-study-proof {
  text-align: center;
  color: var(--muted);
  font-size: 0.88rem;
  line-height: 1.55;
  border-left: 3px solid rgba(240,201,99,0.35);
  padding: 0.6rem 0.9rem;
  background: rgba(255,255,255,0.02);
  border-radius: 8px;
}
.dm-study-lanes .dm-study-lane-grid {
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 220px), 1fr));
  gap: 1rem;
}
.dm-study-lane-card {
  min-height: 148px;
  padding: 1.1rem 1rem;
}
.dm-dynamic-hooks .dm-hook-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 200px), 1fr));
  gap: 1rem;
  max-width: 920px;
  margin: 0 auto;
}
.dm-hook-card {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  text-align: center;
  min-height: 110px;
  padding: 1.1rem 1rem;
  border: 1px solid var(--border);
  border-radius: 12px;
  background: var(--surface2);
  transition: border-color 0.2s, transform 0.15s;
}
.dm-hook-card:hover {
  border-color: rgba(240,201,99,0.45);
  transform: translateY(-2px);
  color: var(--gold);
}
.dm-hook-count {
  font-size: 1.75rem;
  font-weight: 800;
  color: var(--gold);
  line-height: 1.1;
}
.dm-hook-label {
  font-size: 0.88rem;
  color: var(--muted);
  margin-top: 0.35rem;
  line-height: 1.4;
}
.dm-commentary-grid {
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 240px), 1fr));
}
.dm-commentary-card {
  min-height: 120px;
}
.dm-badge {
  display: inline-block;
  font-size: 0.72rem;
  padding: 0.15rem 0.5rem;
  border-radius: 999px;
  background: rgba(77,166,255,0.12);
  color: var(--blue);
  border: 1px solid rgba(77,166,255,0.25);
}
@media (max-width: 640px) {
  .dm-share-actions .dm-btn { flex: 1 1 calc(50% - 0.5rem); }
  .dm-study-lanes .dm-study-lane-grid { grid-template-columns: 1fr; }
  .dm-dynamic-hooks .dm-hook-grid { grid-template-columns: 1fr; }
  .dm-commentary-grid { grid-template-columns: 1fr; }
}

/* WO32372 — Sanctum concept wall (manifest-driven, no client JS) */
.dm-concept-wall-lede { max-width: 62ch; margin-bottom: 1rem; color: var(--muted); }
.dm-concept-wall-proof {
  display: flex; flex-wrap: wrap; gap: 0.75rem 1.25rem;
  margin: 1rem 0 1.5rem;
}
.dm-concept-wall-proof span {
  background: var(--surface2); border: 1px solid var(--border);
  padding: 0.45rem 0.7rem; border-radius: 999px; font-size: 0.88rem;
}
.dm-concept-wall-gallery {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(210px, 1fr));
  gap: 1rem;
  margin-bottom: 1rem;
}
.dm-concept-card-link {
  display: block; color: inherit; text-decoration: none;
  border-radius: 14px; transition: transform 0.15s ease, box-shadow 0.15s ease;
}
.dm-concept-card-link:hover {
  color: var(--gold);
  transform: translateY(-2px);
  box-shadow: 0 8px 24px rgba(0,0,0,0.35);
}
.dm-concept-card {
  background: var(--surface2);
  border: 1px solid rgba(240,201,99,0.25);
  border-radius: 14px;
  overflow: hidden;
  margin: 0;
  height: 100%;
}
.dm-concept-card img {
  width: 100%;
  aspect-ratio: 4/5;
  object-fit: cover;
  display: block;
  background: #000;
}
.dm-concept-card figcaption {
  padding: 0.75rem 0.85rem 1rem;
  font-size: 0.88rem;
}
.dm-concept-tier {
  display: inline-block;
  color: var(--gold);
  font-size: 0.72rem;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  margin-right: 0.35rem;
}
.dm-concept-card em {
  display: block;
  color: var(--muted);
  font-style: normal;
  font-size: 0.8rem;
  margin-top: 0.35rem;
}
.dm-concept-wall-expander { margin-top: 0.5rem; }
.dm-concept-wall-expander-btn {
  cursor: pointer;
  border: 1px solid var(--gold);
  background: transparent;
  color: var(--gold);
  padding: 0.7rem 1.2rem;
  border-radius: 999px;
  font: inherit;
  list-style: none;
  display: inline-block;
}
.dm-concept-wall-expander-btn::-webkit-details-marker { display: none; }
.dm-concept-wall-expander[open] .dm-concept-wall-expander-btn {
  margin-bottom: 1rem;
}
.dm-concept-wall-note {
  margin-top: 1.5rem;
  padding: 1rem;
  border-left: 3px solid var(--gold);
  background: rgba(255,255,255,0.03);
  color: var(--muted);
  font-size: 0.9rem;
}
@media (max-width: 640px) {
  .dm-concept-wall-gallery { grid-template-columns: repeat(auto-fill, minmax(160px, 1fr)); }
}

/* WO32372 wave2 — homepage sanctum visual band (below hero CTAs) */
.dm-home-sanctum-band {
  position: relative;
  z-index: 1;
  max-width: 1100px;
  margin: -1.5rem auto 0;
  padding: 0 2rem 2.75rem;
  text-align: center;
}
.dm-home-sanctum-title {
  font-size: clamp(1.25rem, 3.2vw, 1.65rem);
  font-weight: 800;
  color: var(--gold);
  margin-bottom: 0.65rem;
  letter-spacing: 0.01em;
}
.dm-home-sanctum-lede {
  color: var(--muted);
  font-size: clamp(0.88rem, 2.2vw, 0.98rem);
  line-height: 1.55;
  max-width: 42rem;
  margin: 0 auto 1.35rem;
}
.dm-home-sanctum-gallery {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 0.85rem;
  margin-bottom: 1rem;
}
.dm-home-sanctum-card-link {
  display: block;
  color: inherit;
  text-decoration: none;
  border-radius: 12px;
  transition: transform 0.15s ease, box-shadow 0.15s ease;
}
.dm-home-sanctum-card-link:hover {
  color: var(--gold);
  transform: translateY(-2px);
  box-shadow: 0 8px 22px rgba(0, 0, 0, 0.35);
}
.dm-home-sanctum-card {
  background: rgba(10, 14, 20, 0.88);
  border: 1px solid rgba(240, 201, 99, 0.22);
  border-radius: 12px;
  overflow: hidden;
  margin: 0;
  height: 100%;
  backdrop-filter: blur(4px);
}
.dm-home-sanctum-card img {
  width: 100%;
  aspect-ratio: 4/5;
  object-fit: cover;
  display: block;
  background: #000;
}
.dm-home-sanctum-card figcaption {
  padding: 0.55rem 0.65rem 0.75rem;
  font-size: 0.8rem;
  line-height: 1.35;
}
.dm-home-sanctum-card em {
  display: block;
  color: var(--muted);
  font-style: normal;
  font-size: 0.72rem;
  margin-top: 0.2rem;
}
.dm-home-sanctum-tease {
  margin-top: 0.35rem;
  font-size: 0.92rem;
}
.dm-home-sanctum-tease a {
  color: var(--blue);
  font-weight: 600;
}
.dm-home-sanctum-tease a:hover {
  color: var(--gold);
}

@media (max-width: 900px) {
  .dm-home-sanctum-gallery {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0.75rem;
  }
}

@media (max-width: 480px) {
  body[data-page-id="home"] .dm-hero:not(.dm-hero--gate) {
    min-height: min(100dvh, 100vh, 680px);
    padding-bottom: 1.75rem;
  }
  body[data-page-id="home"] .dm-hero h1 {
    font-size: clamp(1.5rem, 7.4vw, 2rem);
    margin-bottom: 0.85rem;
  }
  body[data-page-id="home"] .dm-hero p {
    font-size: 0.9rem;
    line-height: 1.48;
    margin-bottom: 1.15rem;
  }
  body[data-page-id="home"] .dm-hero-verse {
    font-size: 0.72rem;
    padding: 0.55rem 0.75rem;
    margin-top: 0.85rem;
  }
  body[data-page-id="home"] .dm-hero-pillars {
    margin: 0.65rem auto 0.5rem;
    gap: 0.35rem;
  }
  body[data-page-id="home"] .dm-pillar {
    font-size: 0.62rem;
    padding: 0.22rem 0.45rem;
  }
  .dm-home-sanctum-band {
    margin-top: 0;
    padding: 0 1rem 2rem;
  }
  .dm-home-sanctum-lede {
    font-size: 0.86rem;
    margin-bottom: 1rem;
  }
  .dm-home-sanctum-gallery {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0.65rem;
  }
  .dm-home-sanctum-card figcaption {
    font-size: 0.74rem;
    padding: 0.45rem 0.5rem 0.6rem;
  }
}

@media (max-width: 375px) {
  body[data-page-id="home"] .dm-hero:not(.dm-hero--gate) {
    min-height: auto;
    padding: 58px 0.85rem 1.25rem;
  }
  body[data-page-id="home"] .dm-hero h1 {
    font-size: clamp(1.38rem, 8vw, 1.72rem);
    max-width: 100%;
  }
  body[data-page-id="home"] .dm-hero p {
    font-size: 0.86rem;
    max-width: 100%;
    margin-bottom: 0.95rem;
  }
  body[data-page-id="home"] .dm-btn {
    min-height: 44px;
    font-size: 0.86rem;
  }
  body[data-page-id="home"] .dm-cta-row {
    max-width: 100%;
    gap: 0.45rem;
  }
  .dm-home-sanctum-band {
    padding: 0 0.85rem 1.75rem;
  }
  .dm-home-sanctum-title {
    font-size: 1.15rem;
  }
  .dm-home-sanctum-lede {
    font-size: 0.82rem;
    line-height: 1.5;
  }
  .dm-home-sanctum-gallery {
    gap: 0.55rem;
  }
  .dm-home-sanctum-tease {
    font-size: 0.84rem;
  }
}

/* ── WO_SiteEnhancements_20260628 E12 — mobile-safe wide content ──
   Shared horizontal-scroll wrapper for wide SVGs/tables, plus a site-wide
   safety net so any .dm-table (estate engine tables) scrolls instead of
   overflowing the viewport on phones. Minimal, no JS. */
.dm-scrollx {
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
  max-width: 100%;
}
@media (max-width: 680px) {
  .dm-table {
    display: block;
    max-width: 100%;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
  }
}

/* ── WO_CommitContinue_20260628 — Plumbline badge + footer instruments ── */
.dm-plumbline {
  opacity: 0.92;
}
@media (max-width: 480px) {
  .dm-footer-links, .dm-footer-social {
    gap: 0.5rem !important;
    font-size: 0.78rem !important;
  }
  .dm-plumbline {
    font-size: 0.68rem !important;
  }
  #estate-today > div {
    grid-template-columns: 1fr !important;
  }
}

/* ── WO_SiteOnceover_20260628 — safe UX polish (Ryan "once-over", no rebuild) ── */
/* Image overflow safety net: no raster can ever break the mobile viewport. */
img { max-width: 100%; height: auto; }
/* Fix dead hover: .dm-card had border-color:var(--border) on hover (no visible change). */
.dm-card:hover { border-color: rgba(240,201,99,0.45); box-shadow: 0 0 18px rgba(240,201,99,0.10); }

/* ==========================================================================
   Accessibility & visual refinements 2026-07-15 (multi-angle audit fixes)
   Appended overrides — later rules win. Keep at end of file.
   ========================================================================== */
:root { --accent: var(--gold); --text-2: #c3ccd8; }

/* Primary reading copy uses full-strength text, not muted grey */
.dm-section-body, .dm-mission-body, .dm-detail p { color: var(--text); }

/* Larger, legible body/description text (elderly-comfort floor ~15px) */
.dm-lane-desc, .dm-corridor-desc, .dm-cathedral-desc, .dm-mag-text p { font-size: 0.95rem; line-height: 1.55; }
.dm-footer { font-size: 0.92rem; }
.dm-word-translit, .dm-trans-label, .dm-plumbline, .dm-verse-ref, .dm-mag-label { font-size: 0.82rem; }
.dm-strongs-badge { font-size: 0.8rem; }

/* Underline inline text links so colour isn't the only signal (WCAG 1.4.1) */
main p a, .dm-footer a, .dm-detail a, .dm-section-body a { text-decoration: underline; }
.dm-nav-links a, .dm-btn, .dm-chip, .dm-dir-jump a, .dm-lane, .dm-corridor-card, .dm-lanes a { text-decoration: none; }

/* Navigation: larger, higher-contrast links; clearer active state */
.dm-nav-links a { font-size: 0.95rem; color: var(--text-2); }
.dm-nav-links a.active { color: var(--gold); text-decoration: underline; text-underline-offset: 4px; }

/* Card grids never strand an orphan card (the 6th "lane", etc.) */
.dm-lanes { grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); }

/* Larger tap targets for chips/badges (WCAG 2.5.5) */
.dm-chip, .dm-crossref-chip { padding: 0.45rem 0.9rem; }

/* Creation domains: the orbital "wheel" needs a JS shim to keep labels upright,
   but the site ships no client JS, so labels render tilted/spinning. Convert it
   to a static, upright, responsive card grid with descriptions always visible. */
.dm-wheel-stage { width: auto !important; height: auto !important; position: static !important; }
.dm-wheel-orbit-ring, .dm-wheel-core, .dm-wheel-hint { display: none !important; }
.dm-wheel-sat-group {
  position: static !important; inset: auto !important; animation: none !important; transform: none !important;
  display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap: 1.25rem; width: 100%;
}
.dm-orbit-sat {
  position: relative !important; transform: none !important; width: auto !important; height: auto !important;
  margin: 0 !important; border-radius: 14px !important; min-height: 180px; overflow: hidden;
  display: flex; flex-direction: column; padding: 1.1rem !important;
}
.dm-sat-art { opacity: 0.18 !important; border-radius: 14px !important; clip-path: none !important; }
.dm-sat-body { position: relative !important; inset: auto !important; transform: none !important;
  align-items: flex-start !important; justify-content: flex-start !important; padding: 0 !important; text-align: left; }
.dm-sat-icon { font-size: 1.6rem !important; margin-bottom: 0.35rem; }
.dm-sat-label { font-size: 1.05rem !important; line-height: 1.25; }
.dm-sat-panel { position: relative !important; opacity: 1 !important; visibility: visible !important;
  transform: none !important; bottom: auto !important; left: auto !important; width: auto !important;
  background: transparent !important; border: 0 !important; box-shadow: none !important;
  padding: 0 !important; margin-top: 0.5rem; pointer-events: auto; text-align: left; }
.dm-sat-panel-label { display: none !important; }
.dm-sat-panel-desc { font-size: 0.9rem !important; color: var(--text-2) !important; line-height: 1.5; }
@keyframes dm-core-breathe { 0%,100% { opacity: 0.78; } 50% { opacity: 1; } }

/* Compact hero: short header so reading/utility pages land on their content, not a full-screen poster. */
.dm-hero--compact { min-height: auto !important; padding: 2.25rem 1.25rem 1.25rem !important; }
.dm-hero--compact .dm-hero-art { display: none !important; }
.dm-hero--compact h1, .dm-hero--compact .dm-hero-title { font-size: clamp(1.8rem, 4vw, 2.6rem) !important; }
/* Bible reader: tighten the gap between header and the first verse. */
#reader { padding-top: 1rem !important; }

/* ============================================================
   Visual refresh 2026-07-15c — cohesive gold cathedral: calmer accent,
   clean button hierarchy, steadier rhythm, gentle depth, warmer links.
   Appended last, so these win.
   ============================================================ */

/* Calmer, richer secondary accent (was neon #4da6ff) so it harmonizes with the gold */
:root { --blue: #6ea3d4; --link: #e6c878; }

/* Button hierarchy: filled gold primary, quiet neutral secondary (no more blue clash) */
.dm-btn { letter-spacing: 0.01em; padding: 0.72rem 1.9rem; }
.dm-btn-secondary {
  background: rgba(255,255,255,0.045) !important;
  color: var(--text) !important;
  border: 1.5px solid rgba(255,255,255,0.22) !important;
  box-shadow: none !important;
}
.dm-btn-secondary:hover {
  background: rgba(240,201,99,0.10) !important;
  border-color: var(--gold) !important;
  color: var(--gold) !important;
  box-shadow: 0 8px 22px rgba(0,0,0,0.35) !important;
}
.dm-btn-outline {
  background: rgba(255,255,255,0.03); color: var(--text);
  border: 1px solid rgba(255,255,255,0.2);
}
.dm-btn-outline:hover { border-color: var(--gold); color: var(--gold); background: rgba(240,201,99,0.08); }

/* Steadier vertical rhythm across full-width bands */
.dm-section { padding: 4.5rem 2rem; }
.dm-section-title { letter-spacing: 0.005em; }

/* Gentle resting depth on cards, smoother lift; imagery a touch more present */
.dm-lane-card, .dm-corridor-card { box-shadow: 0 2px 12px rgba(0,0,0,0.28); }
.dm-lane-card:hover, .dm-corridor-card:hover { box-shadow: 0 12px 34px rgba(0,0,0,0.4), 0 0 22px rgba(240,201,99,0.16); }
.dm-lane-art-bg { opacity: 0.16; }
.dm-lane-card:hover .dm-lane-art-bg { opacity: 0.28; }

/* Warmer, quieter inline links (retire the electric blue in body copy) */
main p a, .dm-section-body a, .dm-detail a, .dm-footer a, li a { color: var(--link); }
main p a:hover, .dm-section-body a:hover, .dm-detail a:hover, .dm-footer a:hover { color: var(--gold); }

/* Hero headline: softer, cleaner glow (less halo) */
.dm-hero h1 { text-shadow: 0 2px 12px rgba(0,0,0,0.65); }

/* Nav bar: a hair more presence, subtle divider */
.dm-nav { border-bottom: 1px solid rgba(255,255,255,0.06); }
.dm-nav-brand { letter-spacing: 0.01em; }
/* ============================================================================
   PETHACH — the doorway layer                       danczministries.com
   ----------------------------------------------------------------------------
   Built 2026-07-27 from Ryan's own documents, not invention:

     H6606  פְּתַח  pethach, "doorway"     — the 6,606 marker; the organizing form.
     Matthew 10:8  "Freely ye have received, freely give."
                                           — THE DANCZ DIFFERENCE: the Word is
                                             given, never sold. The gift comes first.
     Proverbs 9:10 "The fear of YHWH is the beginning of wisdom."
                                           — YHWH Alignment Charter, opening line.
     Jeremiah 6:16 "Stand at the crossroads and look; ask for the ancient paths."
     "A bridge, not a throne."             — the site points past itself.

   THEOLOGY ENCODED AS DESIGN
     · Light falls from ABOVE the page, never from the page. Glory is received,
       not generated. Every surface is lit; nothing is a light source.
     · The hero is a DOORWAY — an arch, a threshold, an opening in the dark.
     · Scripture is set apart: the largest, quietest, most honored thing.
     · Gold is glory and is spent sparingly. Ivory is the light that lands.
     · Nothing shouts. "Truth before hype" is a visual rule too: no inflated
       scale, no fake urgency, no marketing gloss. Proof labels stay muted.

   CONSTRAINTS HONORED
     · NO JavaScript, NO webfonts, NO external requests — server-rendered site.
       Display face is Georgia: present on every platform, and genuinely good.
     · Purely additive. Restores by removing this block.
     · Respects prefers-reduced-motion and keyboard focus.
   ========================================================================== */

:root {
  --pe-void:      #010306;   /* the deep, before light          */
  --pe-void-2:    #060a12;   /* a shade above the deep          */
  --pe-ivory:     #fff7d9;   /* the light that lands            */
  --pe-gold:      #f0c85a;   /* glory                           */
  --pe-gold-dim:  #d6a935;
  --pe-muted:     #9db4ca;   /* cool grey-blue: makes gold sing */
  --pe-line:      rgba(255, 247, 217, 0.13);
  --pe-glass:     rgba(255, 247, 217, 0.035);
  --pe-serif:     Georgia, "Iowan Old Style", "Palatino Linotype", "Times New Roman", serif;
}

/* ── LIGHT FROM ABOVE ──────────────────────────────────────────────────────
   One soft shaft entering at the top of the page. It is fixed, so as you
   scroll you move deeper in rather than carrying the light with you.       */
body {
  background-color: var(--pe-void);
  color: var(--pe-ivory);
  position: relative;
}
body::before {
  content: "";
  position: fixed;
  inset: 0;
  pointer-events: none;
  z-index: 0;
  background:
    radial-gradient(ellipse 70% 48% at 50% -8%, rgba(240, 200, 90, 0.14), transparent 68%),
    radial-gradient(ellipse 90% 60% at 50% -20%, rgba(255, 252, 235, 0.06), transparent 70%);
}
body > * { position: relative; z-index: 1; }

/* ── THE DOORWAY ───────────────────────────────────────────────────────────
   The hero is an opening, not a banner: an arch struck through the dark,
   with the light of the page falling into it.                              */
.dm-hero {
  position: relative;
  overflow: hidden;
  border-bottom: 1px solid var(--pe-line);
}
.dm-hero-art {
  position: absolute;
  inset: 0;
  background-size: cover;
  background-position: center;
  /* the arch — a threshold, wide and calm, never a novelty shape */
  border-radius: 46% 46% 0 0 / 22% 22% 0 0;
  opacity: 0.34;
  filter: saturate(0.82) contrast(1.04);
  mask-image: linear-gradient(180deg, rgba(0,0,0,0.35) 0%, #000 26%, #000 64%, transparent 100%);
  -webkit-mask-image: linear-gradient(180deg, rgba(0,0,0,0.35) 0%, #000 26%, #000 64%, transparent 100%);
}
/* the lintel: a hairline of gold across the top of the threshold */
.dm-hero::after {
  content: "";
  position: absolute;
  top: 0; left: 12%; right: 12%;
  height: 1px;
  background: linear-gradient(90deg, transparent, rgba(240, 200, 90, 0.5), transparent);
  pointer-events: none;
}

/* ── THE WORD, SET APART ───────────────────────────────────────────────────
   Scripture gets the largest, quietest treatment on the page. It is the
   gift, so it is never crowded and never sold.                             */
.dm-hero h1,
.dm-section-title,
h1, h2 {
  font-family: var(--pe-serif);
  font-weight: 400;
  letter-spacing: -0.012em;
  line-height: 1.08;
  text-wrap: balance;
  color: var(--pe-ivory);
}
.dm-hero h1 {
  font-size: clamp(2.4rem, 6.2vw, 4.6rem);
  text-shadow: 0 0 52px rgba(240, 200, 90, 0.16);
  margin-bottom: 0.5em;
}
.dm-section-title {
  font-size: clamp(1.6rem, 3.4vw, 2.5rem);
  margin-bottom: 0.7em;
}
.dm-hero-kicker,
.dm-badge {
  font-family: var(--pe-serif);
  font-size: 0.76rem;
  letter-spacing: 0.24em;
  text-transform: uppercase;
  color: var(--pe-gold);
  opacity: 0.86;
}
.dm-section-body,
.dm-hero-subhead,
p { color: var(--pe-ivory); }
.dm-section-body { opacity: 0.9; line-height: 1.72; }

/* the hero's verse — the ancient path, quoted, never decorated */
.dm-hero-verse {
  font-family: var(--pe-serif);
  font-style: italic;
  font-size: clamp(1rem, 1.55vw, 1.2rem);
  line-height: 1.65;
  color: var(--pe-ivory);
  opacity: 0.82;
  border-left: 1px solid rgba(240, 200, 90, 0.42);
  padding-left: 1.1rem;
  max-width: 46rem;
}
.dm-hero-verse-ref { color: var(--pe-gold); letter-spacing: 0.06em; font-size: 0.85rem; }

/* verse of the day — the free gift, given before anything is asked */
#daily-verse blockquote {
  background: linear-gradient(180deg, rgba(255, 247, 217, 0.05), rgba(255, 247, 217, 0.015)) !important;
  border: 1px solid var(--pe-line) !important;
  border-left: 2px solid var(--pe-gold) !important;
  border-radius: 3px;
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
  padding: 1.6rem 1.8rem !important;
}
#daily-verse blockquote p {
  font-family: var(--pe-serif);
  font-size: clamp(1.15rem, 2.1vw, 1.5rem) !important;
  line-height: 1.55;
  color: var(--pe-ivory);
}
#daily-verse cite { color: var(--pe-gold) !important; letter-spacing: 0.05em; }

/* ── GLASS PLATES ──────────────────────────────────────────────────────────
   Sections are lit surfaces, not boxes: they catch the light from above.   */
.dm-card,
.dm-corridor-card,
.dm-pillar {
  background: var(--pe-glass);
  border: 1px solid var(--pe-line);
  border-radius: 4px;
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
  transition: border-color 220ms ease, background 220ms ease, transform 220ms ease;
}

/* ── DOORS ─────────────────────────────────────────────────────────────────
   Each way into the Word is a small lit doorway. On hover the light in the
   threshold rises — the door opens toward you.                             */
.dm-corridor-card {
  position: relative;
  padding: 1.5rem 1.4rem 1.6rem;
  overflow: hidden;
  text-decoration: none;
  display: block;
}
.dm-corridor-card::before {
  content: "";
  position: absolute;
  top: 0; left: 50%;
  width: 62%; height: 2px;
  transform: translateX(-50%);
  background: linear-gradient(90deg, transparent, rgba(240, 200, 90, 0.55), transparent);
  opacity: 0.42;
  transition: opacity 220ms ease, width 260ms ease;
}
.dm-corridor-card:hover,
.dm-corridor-card:focus-visible {
  border-color: rgba(240, 200, 90, 0.38);
  background: rgba(255, 247, 217, 0.055);
  transform: translateY(-2px);
}
.dm-corridor-card:hover::before,
.dm-corridor-card:focus-visible::before { opacity: 1; width: 86%; }
.dm-corridor-label {
  font-family: var(--pe-serif);
  font-size: 1.22rem;
  color: var(--pe-ivory);
  margin-bottom: 0.35rem;
  display: block;
}
.dm-corridor-desc { color: var(--pe-muted); font-size: 0.93rem; line-height: 1.6; }

/* ── ACTION ────────────────────────────────────────────────────────────────
   One gold action per view. Everything else steps back — nothing competes
   with the gift.                                                            */
.dm-btn {
  border-radius: 3px;
  font-size: 0.93rem;
  letter-spacing: 0.045em;
  padding: 0.72rem 1.5rem;
  transition: transform 180ms ease, box-shadow 220ms ease, background 220ms ease;
}
.dm-btn-primary {
  background: linear-gradient(135deg, color-mix(in srgb, var(--gold) 84%, white), color-mix(in srgb, var(--gold) 74%, black));
  color: #120d02 !important;
  border: none;
  font-weight: 600;
  box-shadow: 0 0 0 1px rgba(240, 200, 90, 0.28), 0 10px 34px -14px rgba(240, 200, 90, 0.6);
}
.dm-btn-primary:hover {
  transform: translateY(-1px);
  box-shadow: 0 0 0 1px rgba(240, 200, 90, 0.45), 0 14px 40px -12px rgba(240, 200, 90, 0.72);
}
.dm-btn-secondary,
.dm-btn-outline {
  background: transparent;
  border: 1px solid var(--pe-line);
  color: var(--pe-ivory) !important;
}
.dm-btn-secondary:hover,
.dm-btn-outline:hover {
  border-color: rgba(240, 200, 90, 0.5);
  background: rgba(255, 247, 217, 0.045);
}

/* ── CHROME: quiet, so it never competes with Scripture ───────────────────*/
.dm-nav {
  background: rgba(1, 3, 6, 0.72);
  backdrop-filter: blur(14px);
  -webkit-backdrop-filter: blur(14px);
  border-bottom: 1px solid var(--pe-line);
}
.dm-nav-brand { font-family: var(--pe-serif); letter-spacing: 0.02em; }
.dm-nav-links a { color: var(--pe-muted); letter-spacing: 0.04em; transition: color 180ms ease, background-color 180ms ease; }
.dm-nav-links a:hover, .dm-nav-links a.active { color: var(--pe-gold); }
/* WO37497 — nav bar polish (Ryan: "like Microsoft Azure help"; scoped to visual
   quality bar, not Azure's blue palette or a docs-style mega-nav — the 2026-07-17
   minimal-nav decision stands). Desktop-only pill hover + a non-layout-shifting
   active-state underline (box-shadow, so it never nudges the mobile full-width
   rows this shares a selector with). */
@media (min-width: 769px) {
  .dm-nav-links a {
    padding: 0.45rem 0.7rem;
    border-radius: 6px;
  }
  .dm-nav-links a:hover { background: rgba(240, 200, 90, 0.07); }
}
.dm-nav-links a.active {
  box-shadow: inset 0 -2px 0 var(--pe-gold);
}
.dm-nav-links .dm-nav-signin {
  border: 1px solid rgba(240, 200, 90, 0.55);
  border-radius: 6px;
  padding: 0.3rem 0.85rem;
  color: var(--pe-gold);
  font-size: 0.88rem;
  letter-spacing: 0.04em;
  transition: background-color 180ms ease, border-color 180ms ease;
}
.dm-nav-links .dm-nav-signin:hover {
  background: rgba(240, 200, 90, 0.09);
  border-color: var(--pe-gold);
}
.dm-nav-links .dm-nav-profile { color: var(--pe-gold); }
.dm-footer {
  border-top: 1px solid var(--pe-line);
  background: linear-gradient(180deg, transparent, rgba(255, 247, 217, 0.022));
  color: var(--pe-muted);
}
.dm-breadcrumbs, .dm-breadcrumbs a { color: var(--pe-muted); }
.dm-breadcrumbs a:hover { color: var(--pe-gold); }

/* pillars — Permission · Reflection · Release · Renewal · Sending */
.dm-hero-pillars .dm-pillar,
.dm-pillar {
  font-family: var(--pe-serif);
  letter-spacing: 0.16em;
  text-transform: uppercase;
  font-size: 0.74rem;
  color: var(--pe-gold);
  opacity: 0.82;
  padding: 0.45rem 0.8rem;
}

/* ── TRUTH BEFORE HYPE ─────────────────────────────────────────────────────
   Proof labels and honest limits are legible but never loud. A claim should
   never look bigger than its evidence.                                      */
.dm-badge, .dm-proof, .dm-tier, [class*="proof"] {
  font-size: 0.72rem;
  letter-spacing: 0.12em;
  color: var(--pe-muted);
  opacity: 0.85;
}

/* ── ACCESS ────────────────────────────────────────────────────────────────
   A bridge, not a throne: everyone gets through the door.                   */
a:focus-visible,
.dm-btn:focus-visible,
.dm-corridor-card:focus-visible {
  outline: 2px solid var(--pe-gold);
  outline-offset: 3px;
  border-radius: 3px;
}
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after {
    transition-duration: 0.01ms !important;
    animation-duration: 0.01ms !important;
  }
  .dm-corridor-card:hover { transform: none; }
}
@media (max-width: 640px) {
  .dm-hero-art { border-radius: 32% 32% 0 0 / 12% 12% 0 0; opacity: 0.28; }
  .dm-hero h1 { font-size: clamp(2rem, 9vw, 2.9rem); }
}
/* ===================== end PETHACH layer ================================= */

/* ===================== ORIGINAL-LANGUAGE TYPOGRAPHY (2026-08-27) ==========
   WO37497. Scripture in Hebrew and Greek was rendering in "Segoe UI" — the Latin
   UI sans inherited from body. Segoe UI carries Hebrew glyphs, so nothing looked
   broken, but pointed Hebrew sets badly in it: the nikkud crowd the consonants and
   the taamim collide at body size. The most-read text on the site deserved a face
   chosen for it.

   NO WEBFONT — the site's first third-party request is still not made here. These
   are system faces, scholarly ones named first for readers who have them (SBL
   Hebrew and SBL Greek are the standard free scholarly faces), degrading to what
   is actually present. Probed on a real client 2026-08-27: Segoe UI Historic,
   Times New Roman and Arial resolve for Hebrew; Palatino Linotype, Georgia and
   Times New Roman for Greek.

   ✅ 2026-08-28: davar_http_render.c no longer emits an inline font-size/line-height
   on the two sites that fought this rule (the scripture_anchor_orig hero verse and
   the parallel-translations Hebrew/Greek cells) — see WO37497. font-size and
   line-height now take effect here instead of being silently outranked. */
[lang="he"], [lang="heb"] {
  font-family: "SBL Hebrew", "Ezra SIL", "Taamey Frank CLM", "Frank Ruehl CLM",
               David, "Segoe UI Historic", "Times New Roman", serif;
  font-feature-settings: "kern" 1;
  font-size: 1.5rem;
  line-height: 2.05;
}
[lang="el"], [lang="grc"], [lang="gre"] {
  font-family: "SBL Greek", "Gentium Plus", Cardo, "Galatia SIL",
               "Palatino Linotype", Georgia, "Times New Roman", serif;
  font-feature-settings: "kern" 1;
  /* Matches the two inline values this replaced (1.02rem/1.8 and 1.02rem/1.9) —
     Greek wasn't reported as under-sized like Hebrew's nikkud, so this preserves
     its prior on-screen size rather than guessing a new one. */
  font-size: 1.02rem;
  line-height: 1.85;
}

/* Measure. The hero verse ran the full 1,265 px of the page — ~155 characters —
   because nothing capped it. Typographic measure is 45–75 characters; the site's
   own Scriptorium spec (WO34225) already asks for a 68ch cap. Set in rem, NOT ch:
   `ch` is the advance of the Latin "0" and collapsed the Hebrew line to 299 px
   when tested. Centred because the verse is a centred hero element. */
.dm-scripture-orig, .dm-hero-verse [lang="he"], .dm-hero-verse [lang="grc"] {
  max-width: 38rem;          /* measured live: 46rem ran 90 chars; 38rem lands ~72 (v2) */
  margin-inline: auto;
}
/* the "declared scripture anchor" original-language line (dr_render_render_page)
   is NOT a centered hero verse — override the shared centering above, verbatim
   from its old inline style. */
.dm-scripture-orig-anchor { margin: .15rem 0 0; color: var(--ink); }

/* the anchor's citation line, site-wide (renders on any page with scripture_anchor set) */
.dm-scripture-anchor { margin: .35rem 0 0; font-size: .82rem; letter-spacing: .02em; color: var(--muted); }
/* WO37604 2026-08-31 -- these two render right after <main>/breadcrumbs (davar_http_render.c,
   dr_render_render_page), on 456 pages. .dm-nav is `position:fixed; height:60px`, and on any
   page where breadcrumbs are empty this anchor is the literal first content -- it rendered
   UNDER the fixed nav, garbled and half-hidden (confirmed live on /groups: the Ecclesiastes
   4:9 Hebrew line sat behind "Dancz Ministries" in the top bar). Only .dm-scripture-anchor
   needs the clearance; -orig-anchor immediately follows it in the DOM so it inherits the gap. */
.dm-scripture-anchor { margin-top: max(.35rem, 76px); }
/* ===================== end original-language typography =================== */

/* ===================== /bible parallel translations panel (WO37497) =======
   Moved out of inline style= attributes in dr_render_interlinear() — this block
   renders once per translation (up to ~40 per verse), so the inline version was
   producing dozens of inline-styled elements on a single page load, exactly the
   density WO37497 measured. Values are copied verbatim from the inline styles
   they replace; this is a extraction, not a redesign — same pixels, movable now. */
.dm-parallel-trans {
  max-width: 760px;
  margin: 0 auto 1.5rem;
  border: 1px solid var(--line, #2a2a3a);
  border-radius: 8px;
  overflow: hidden;
}
.dm-parallel-trans-header {
  padding: 0.6rem 1rem;
  background: rgba(255, 255, 255, 0.03);
  font-size: 0.75rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  color: var(--muted);
}
.dm-parallel-trans-group {
  padding: 0.5rem 1rem;
  border-top: 1px solid var(--line, #2a2a3a);
  background: rgba(255, 255, 255, 0.02);
  font-size: 0.68rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: var(--accent, #c9a24b);
  opacity: 0.75;
}
.dm-parallel-trans-row {
  padding: 0.75rem 1rem;
  border-top: 1px solid var(--line, #2a2a3a);
}
.dm-parallel-trans-label {
  display: inline-block;
  min-width: 170px;
  font-size: 0.75rem;
  font-weight: 700;
  color: var(--accent, #c9a24b);
  vertical-align: top;
  padding-right: 0.75rem;
}
.dm-parallel-trans-text--freer {
  font-style: italic;
}
/* =================== end /bible parallel translations panel =============== */

/* ===================== /bible interlinear word-by-word (WO37497) ==========
   Moved out of inline style= in dr_render_interlinear() -- two separate render
   paths share these class names (the indexed path with translit/gloss/Strong's/
   morphology, used for ~2,142 verses; the fallback split-text path used for the
   other ~29,000), so fixing this once covers nearly every verse page on the
   site. Values copied verbatim; --compact is the fallback path's slightly
   smaller card, a real difference in the source, not a mistake to unify. */
.dm-interlinear {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
  justify-content: center;
  max-width: 920px;
  margin: 0 auto;
}
.dm-il-word {
  min-width: 90px;
  text-align: center;
  padding: 0.5rem 0.6rem;
  border: 1px solid var(--line, #2a2a3a);
  border-radius: 8px;
  background: rgba(255, 255, 255, 0.02);
}
.dm-il-word--compact {
  min-width: 70px;
  padding: 0.45rem 0.6rem;
}
.dm-il-orig {
  /* Hebrew/Greek typography comes from the [lang=he]/[lang=el] rule above (WO37497,
     same day) once the word div carries a real lang attribute — see davar_http_render.c.
     Deliberately no font-family here: Georgia is wrong for pointed Hebrew/polytonic Greek,
     that's exactly the mistake the SBL Hebrew/SBL Greek rule above exists to prevent. */
  font-size: 1.25rem;
}
.dm-il-tr {
  font-size: 0.8rem;
  color: var(--muted);
}
.dm-il-gloss {
  font-size: 0.8rem;
}
.dm-il-strongs {
  font-size: 0.72rem;
  color: var(--accent, #c9a24b);
}
.dm-il-morph {
  font-size: 0.68rem;
  color: var(--muted);
  margin-top: 0.15rem;
  max-width: 150px;
  line-height: 1.25;
}
.dm-il-notice {
  max-width: 760px;
  margin: 0.6rem auto 0;
  text-align: center;
  font-size: 0.72rem;
  color: var(--muted);
}
.dm-il-fallback-notice {
  text-align: center;
  color: var(--muted);
  max-width: 680px;
  margin: 1rem auto;
}
/* =================== end /bible interlinear word-by-word =================== */

/* ===================== scripture reading-copy typography (2026-08-28) =====
   Research finding: the ESV Bible app is repeatedly singled out for having the
   best typography of any major Bible app, despite the narrowest feature set of
   any of them (one translation, no original languages) — typography alone does
   real work there. .dm-bible-kjv is the shared class for every KJV verse quote
   on the site (7 call sites in davar_http_render.c: /bible, the feast calendar,
   the daily-verse card, the social feed, and others) and NONE of them set
   font-family/font-size/line-height inline — only margin/padding/color, which
   this rule does not touch — so this is purely additive: every scripture quote
   on the site gets real reading-copy typography with zero source changes. */
.dm-bible-kjv {
  font-family: var(--font-display);
  font-size: 1.08rem;
  line-height: 1.65;
}
/* =================== end scripture reading-copy typography ================= */

/* ===================== /giving — WO37497's other named surface (2026-08-28) ==
   handler_pay_giving (davar_http_pay.c) is a hand-authored payment page, entirely
   independent of the site's shared .dm-* classes and :root custom properties —
   every color is a literal hex value, not var(--gold) etc. This extraction moves
   those SAME literal values into classes; it does not swap them for the site's
   custom properties, because unlike a room skin this page's colors are chosen
   deliberately to read as a payment screen (Stripe-adjacent, not the game/wiki
   aesthetic) and re-linking them to --gold/--accent could silently drift this
   page's look the next time the main palette changes. Extraction only — same
   pixels, no color-system merge. FORM markup (method/action/name attributes)
   is untouched by this pass; only style= was ever the target. */
.dm-give-page {
  max-width: 1080px;
  margin: 0 auto;
  padding: 2rem 1rem 3rem;
  min-width: 0;
  overflow: hidden;
}
.dm-give-hero {
  position: relative;
  overflow: hidden;
  background: #0f1623;
  border: 1px solid #293449;
  border-radius: 8px;
  padding: 1.25rem;
  margin: 0 0 1rem;
  color: #dfe6f3;
  min-width: 0;
}
.dm-give-kicker {
  position: relative;
  color: #c9a24b;
  font-weight: 800;
  font-size: 0.95rem;
  margin: 0 0 0.35rem;
  text-transform: uppercase;
  letter-spacing: 0.04em;
}
.dm-give-hero h1 {
  position: relative;
  color: #f6f7fb;
  font-size: clamp(1.75rem, 8vw, 3.25rem);
  line-height: 1.08;
  margin: 0 0 0.75rem;
  overflow-wrap: break-word;
  max-width: 100%;
}
.dm-give-lede {
  position: relative;
  color: #d2d9e8;
  font-size: 1.18rem;
  line-height: 1.55;
  margin: 0;
  max-width: 760px;
  overflow-wrap: break-word;
}
.dm-give-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
  gap: 1rem;
  align-items: start;
  min-width: 0;
}
.dm-give-card {
  background: #121826;
  border: 2px solid #c9a24b;
  border-radius: 8px;
  padding: 1.2rem;
  min-width: 0;
}
.dm-give-card h2 {
  color: #f3f4f8;
  font-size: 1.4rem;
  margin: 0 0 0.8rem;
}
.dm-give-amounts {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 0.6rem;
  margin: 0 0 0.7rem;
}
.dm-give-amounts form {
  margin: 0;
}
.dm-give-other-form {
  display: flex;
  gap: 0.5rem;
}
.dm-give-other-wrap {
  position: relative;
  flex: 1;
}
.dm-give-other-dollar {
  position: absolute;
  left: 12px;
  top: 50%;
  transform: translateY(-50%);
  color: #8f9aae;
}
.dm-give-other-input {
  width: 100%;
  padding: 0.85rem 0.8rem 0.85rem 1.7rem;
  border-radius: 10px;
  border: 1px solid #3a4660;
  background: #0c121b;
  color: #f3f4f8;
  font-size: 1.05rem;
}
.dm-give-other-submit {
  background: #c9a24b;
  color: #05070b;
  border: none;
  border-radius: 10px;
  padding: 0.85rem 1.3rem;
  font-weight: 900;
  cursor: pointer;
  font-size: 1.02rem;
}
.dm-give-note {
  color: #8f9aae;
  font-size: 0.92rem;
  line-height: 1.45;
  margin: 0.85rem 0 0;
}
.dm-give-aside {
  background: #0c121b;
  border: 1px solid #273146;
  border-radius: 8px;
  padding: 1rem;
  min-width: 0;
}
.dm-give-aside h2 {
  color: #f3f4f8;
  font-size: 1.25rem;
  margin: 0 0 0.5rem;
}
.dm-give-aside p {
  color: #c5cede;
  font-size: 1rem;
  line-height: 1.55;
  margin: 0 0 0.85rem;
}
.dm-give-email-btn {
  display: block;
  background: #172031;
  border: 1px solid #3a4660;
  color: #f3f4f8;
  text-align: center;
  text-decoration: none;
  border-radius: 8px;
  padding: 0.9rem;
  font-weight: 800;
}
.dm-give-aside .dm-give-note {
  margin: 0.9rem 0 0;
}
.dm-give-page > h2 {
  color: #f3f4f8;
  font-size: 1.35rem;
  margin: 2.25rem 0 0.75rem;
}
.dm-give-funds {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(230px, 1fr));
  gap: 0.85rem;
}
.dm-give-fund-card {
  background: #101724;
  border: 1px solid #273146;
  border-radius: 8px;
  padding: 1rem;
  display: flex;
  flex-direction: column;
}
.dm-give-fund-card h3 {
  color: #c9a24b;
  font-size: 1.12rem;
  margin: 0 0 0.35rem;
}
.dm-give-fund-card p {
  color: #aab2c3;
  font-size: 0.95rem;
  line-height: 1.5;
  flex: 1;
  margin: 0 0 0.9rem;
}
.dm-give-fund-card form {
  margin: 0;
}
.dm-pay-foot {
  padding: 2rem 1rem;
  text-align: center;
  color: #8a93a6;
  border-top: 1px solid #1b2233;
  margin-top: 3rem;
}
.dm-pay-foot strong,
.dm-pay-foot a {
  color: #c9a24b;
}
.dm-give-cta {
  display: block;
  width: 100%;
  background: #c9a24b;
  color: #0a0e1a;
  border: none;
  cursor: pointer;
  font-size: 1rem;
  padding: 0.85rem 0.9rem;
  border-radius: 8px;
  font-weight: 900;
  text-align: center;
  max-width: 100%;
}
.dm-give-footer-note {
  color: #8a93a6;
  font-size: 0.9rem;
  line-height: 1.5;
  margin: 2rem 0 0;
  text-align: center;
}
.dm-give-footer-note a {
  color: #c9a24b;
}
/* =================== end /giving ============================================ */

/* ===================== /bible verse-date + verse-events panels (WO37497) ====
   dv_render_verse_date ("When") and dv_render_verse_events ("Dated Events at
   This Verse") are two separate functions in davar_http_render.c that happened
   to hand-write byte-identical container/header/body markup — .dm-verse-panel*
   below covers both. dv_render_verse_events also loops once per linked event
   (up to 20, DV_VERSE_EVENTS_CAP), so its badges/text were the largest
   remaining style= source on /bible outside the two fixed earlier today. */
.dm-verse-panel {
  max-width: 760px;
  margin: 0 auto 1.5rem;
  border: 1px solid var(--line, #2a2a3a);
  border-radius: 8px;
  overflow: hidden;
}
.dm-verse-panel-label {
  padding: 0.6rem 1rem;
  background: rgba(255, 255, 255, 0.03);
  font-size: 0.75rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  color: var(--muted);
}
.dm-verse-panel-body {
  padding: 0.9rem 1rem;
}
/* accent-bordered badge: the verse-date tier pill and the verse-event type pill
   share this exact style (checked byte-for-byte against both originals). */
.dm-verse-badge {
  padding: 0.16rem 0.5rem;
  border-radius: 4px;
  border: 1px solid var(--accent, #c9a24b);
  color: var(--accent, #c9a24b);
  font-size: 0.68rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.07em;
}
.dm-verse-badge--tier {
  vertical-align: middle;
  margin-left: 0.6rem;
}
.dm-verse-badge--muted {
  border-color: var(--line, #2a2a3a);
  color: var(--muted);
  margin-left: 0.4rem;
}
.dm-verse-date-value {
  font-size: 1.3rem;
  color: #fff7d9;
  font-family: Georgia, "Times New Roman", serif;
}
.dm-verse-date-display {
  margin-left: 0.4rem;
  font-size: 0.78rem;
  color: var(--muted);
  font-variant-numeric: tabular-nums;
}
.dm-verse-note {
  margin: 0.5rem 0 0;
  font-size: 0.82rem;
  color: var(--muted);
}
.dm-verse-note--tight {
  margin: 0.4rem 0 0;
  font-size: 0.82rem;
  color: var(--muted);
}
.dm-verse-body-text {
  margin: 0.55rem 0 0;
  font-size: 0.88rem;
  line-height: 1.65;
}
.dm-verse-event-confidence {
  margin: 0.35rem 0 0;
  font-size: 0.72rem;
  color: var(--muted);
}
.dm-verse-event-hr {
  border: none;
  border-top: 1px solid var(--line, #2a2a3a);
  margin: 0.9rem 0;
}
.dm-verse-event-more {
  margin: 0.9rem 0 0;
  padding-top: 0.7rem;
  border-top: 1px solid var(--line, #2a2a3a);
  font-size: 0.75rem;
  color: var(--muted);
}
.dm-verse-engine-credit {
  margin: 0.6rem 0 0;
  font-size: 0.72rem;
  color: var(--muted);
}
/* =================== end /bible verse-date + verse-events panels =========== */

/* ===================== /bible strongs + crossref + fathers + topics (WO37497)
   The last four /bible section renderers with real (if small) inline-style
   counts: dr_render_strongs, dr_render_crossref, dr_render_fathers,
   dr_render_verse_topics. Between them this closes out every function that
   dispatches under is_bible in davar_http_render.c's SECTION_RENDERERS table. */
.dm-panel-empty {
  text-align: center;
  color: var(--muted);
}
.dm-panel-empty-wide {
  max-width: 760px;
  margin: 0 auto;
  text-align: center;
  color: var(--muted);
}
.dm-panel-footnote {
  max-width: 760px;
  margin: 0.75rem auto 0;
  text-align: center;
  font-size: 0.78rem;
  color: var(--muted);
}
.dm-panel-intro {
  max-width: 760px;
  margin: 0 auto 1.25rem;
  text-align: center;
  color: var(--muted);
}
.dm-chip-list {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
  justify-content: center;
}
/* .dm-xref-chip already existed as a class name in two places (crossref +
   topics) but had never gotten a real rule — both call sites carried the
   identical style= inline instead, which is exactly the drift this fixes. */
.dm-xref-chip {
  padding: 0.4rem 0.8rem;
  border: 1px solid var(--line, #2a2a3a);
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.03);
  font-size: 0.9rem;
}

.dm-strongs-entry {
  max-width: 760px;
  margin: 0 auto;
  padding: 1.25rem 1.5rem;
  border: 1px solid var(--accent, #c9a24b);
  border-radius: 10px;
  background: rgba(201, 162, 75, 0.06);
}
.dm-strongs-code {
  font-size: 0.8rem;
  color: var(--accent, #c9a24b);
  letter-spacing: 0.05em;
}
.dm-strongs-hw {
  font-size: 1.6rem;
  margin: 0.25rem 0;
}
.dm-strongs-translit {
  font-size: 1rem;
  color: var(--muted);
}
.dm-strongs-def {
  margin: 0.5rem 0 0;
}

.dm-crossref-list {
  /* layout comes from .dm-chip-list, applied alongside this class in markup */
}

.dm-fathers-list {
  max-width: 760px;
  margin: 0 auto;
  display: flex;
  flex-direction: column;
  gap: 1rem;
}
.dm-fathers-card {
  border: 1px solid var(--line, #333);
  border-radius: 8px;
  padding: 1rem;
}
.dm-fathers-name {
  font-weight: 600;
}
.dm-fathers-section {
  font-size: 0.85rem;
  color: var(--muted);
  margin-bottom: 0.5rem;
}
.dm-fathers-quote {
  margin: 0;
}
.dm-fathers-footnote-flag {
  font-size: 0.75rem;
  color: var(--muted);
  margin-top: 0.4rem;
}

.dm-topic-list {
  /* layout comes from .dm-chip-list, applied alongside this class in markup */
}
/* =================== end /bible strongs + crossref + fathers + topics ====== */

/* ===================== /bible passage selector (WO37497) ==================== */
.dm-bible-form {
  display: flex;
  flex-wrap: wrap;
  gap: 0.6rem;
  align-items: center;
  justify-content: center;
}
.dm-bible-form-input {
  flex: 1 1 320px;
  min-width: 240px;
  padding: 0.7rem 1rem;
  border-radius: 8px;
  border: 1px solid var(--line, #2a2a3a);
  background: rgba(255, 255, 255, 0.04);
  color: inherit;
  font-size: 1rem;
}
.dm-bible-form-note {
  text-align: center;
  margin-top: 0.75rem;
  color: var(--muted);
  font-size: 0.85rem;
}
/* =================== end /bible passage selector ============================ */

/* ===================== /bible Strong's prefetch grid (WO37497) ==============
   handler_web_bible_expanded.c splices this section into /bible server-side,
   outside davar_http_render.c's SECTION_RENDERERS dispatch entirely -- a
   second file the earlier /bible passes this session never looked at. Renders
   once per Strong's id referenced on the verse (DV_STRONGS_INLINE_MAX cap). */
.dm-strongs-prefetch-note {
  text-align: center;
  color: var(--muted);
  margin-bottom: 1rem;
  font-size: 0.88rem;
}
.dm-strongs-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
  gap: 1rem;
  max-width: 960px;
  margin: 0 auto;
}
.dm-strongs-card {
  border: 1px solid var(--line, #2a2a3a);
  border-radius: 8px;
  padding: 1rem;
  background: rgba(201, 162, 75, 0.04);
}
.dm-strongs-card-id {
  font-size: 0.75rem;
  color: var(--accent, #c9a24b);
  letter-spacing: 0.05em;
  margin-bottom: 0.25rem;
}
.dm-strongs-card-hw {
  font-size: 1.3rem;
  margin-bottom: 0.15rem;
}
.dm-strongs-card-translit {
  font-size: 0.9rem;
  color: var(--muted);
}
.dm-strongs-card-def {
  margin: 0.35rem 0 0.5rem;
  font-size: 0.85rem;
  line-height: 1.45;
}
.dm-strongs-card-link {
  font-size: 0.75rem;
  color: var(--accent, #c9a24b);
}
/* =================== end /bible Strong's prefetch grid ======================= */

/* ===================== /bible commentary panel (WO37497) ====================
   Also handler_web_bible_expanded.c, also spliced outside the main dispatch
   table. Loops once per staged commentary entry (DV_COMMENTARY_INLINE_LIMIT). */
.dm-commentary-quote {
  max-width: 760px;
  margin: 0 auto 1.2rem;
  padding: 0.9rem 1.1rem;
  border-left: 3px solid var(--accent, #c9a24b);
  background: rgba(255, 255, 255, 0.02);
}
.dm-commentary-text {
  margin: 0;
}
.dm-commentary-attrib {
  margin-top: 0.4rem;
  color: var(--accent, #c9a24b);
  font-size: 0.85rem;
}
.dm-commentary-era {
  opacity: 0.75;
}
/* =================== end /bible commentary panel ============================= */

/* ===================== /bible Share Verse widget (WO37497) ==================
   handler_web_bible_expanded.c, signed-in users only. #sv-panel and #sv-msg's
   display:none/'block' toggle stays INLINE on purpose -- inline onclick
   handlers and the page's own <script> block set it directly via
   element.style.display, and rewriting that to classList would be a real
   behavior change to interactive JS, not a style extraction. Every OTHER
   property on every element here (including sv-panel/sv-msg's own
   non-display properties) moves to a class exactly like the rest of this
   pass; a class and a directly-set inline `display` coexist without conflict. */
.dm-sv-wrap {
  position: fixed;
  bottom: 22px;
  right: 18px;
  z-index: 9997;
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  gap: 8px;
}
.dm-sv-panel {
  width: 320px;
  background: rgba(12, 14, 20, 0.97);
  border: 1px solid var(--accent, #c9a24b);
  border-radius: 12px;
  padding: 1rem;
  box-shadow: 0 4px 24px rgba(0, 0, 0, 0.7);
  backdrop-filter: blur(8px);
}
.dm-sv-title {
  margin: 0 0 0.5rem;
  font-size: 0.78rem;
  color: var(--accent, #c9a24b);
  font-weight: 700;
}
.dm-sv-sharing {
  margin: 0 0 0.6rem;
  font-size: 0.82rem;
  color: #aaa;
}
.dm-sv-sharing strong {
  color: #fff;
}
.dm-sv-textarea {
  width: 100%;
  box-sizing: border-box;
  background: rgba(255, 255, 255, 0.05);
  border: 1px solid rgba(255, 255, 255, 0.1);
  border-radius: 7px;
  color: #e8e8e8;
  padding: 0.5rem 0.7rem;
  font-size: 0.84rem;
  resize: none;
  margin-bottom: 0.5rem;
}
.dm-sv-actions {
  display: flex;
  gap: 0.5rem;
  justify-content: flex-end;
}
.dm-sv-cancel {
  background: none;
  border: 1px solid rgba(255, 255, 255, 0.15);
  border-radius: 6px;
  color: #888;
  padding: 0.3rem 0.8rem;
  cursor: pointer;
  font-size: 0.8rem;
}
.dm-sv-share-btn {
  background: var(--accent, #c9a24b);
  color: #0a0b10;
  border: none;
  border-radius: 6px;
  font-weight: 700;
  padding: 0.3rem 1rem;
  cursor: pointer;
  font-size: 0.8rem;
}
.dm-sv-msg {
  margin: 0.4rem 0 0;
  font-size: 0.76rem;
  color: #6dc88a;
}
.dm-sv-toggle {
  background: var(--accent, #c9a24b);
  color: #0a0b10;
  border: none;
  border-radius: 50px;
  padding: 0.45rem 1.1rem;
  font-weight: 700;
  font-size: 0.82rem;
  cursor: pointer;
  box-shadow: 0 2px 10px rgba(0, 0, 0, 0.5);
}
/* =================== end /bible Share Verse widget ============================ */

/* ===================== /bible XP badge (WO37497) =============================
   davar_http_bible_xp.c, signed-in users only. #bix-bar's width and #bix-streak's
   display are set directly by this page's own <script> in real time (XP earned,
   streak dropping to 0) — those two values stay inline on purpose, everything
   static around them moves to a class exactly like the rest of this pass. */
.dm-bix-badge {
  position: fixed;
  top: 14px;
  right: 16px;
  z-index: 9998;
  background: rgba(12, 14, 20, 0.94);
  border: 1px solid var(--accent, #c9a24b);
  border-radius: 10px;
  padding: 0.4rem 0.85rem;
  display: flex;
  align-items: center;
  gap: 9px;
  font-size: 0.74rem;
  box-shadow: 0 2px 12px rgba(0, 0, 0, 0.55);
  backdrop-filter: blur(6px);
  text-decoration: none;
  cursor: pointer;
}
.dm-bix-lv {
  color: var(--accent, #c9a24b);
  font-weight: 700;
  letter-spacing: 0.03em;
}
.dm-bix-xp {
  color: #888;
  font-size: 0.7rem;
}
.dm-bix-track {
  width: 48px;
  height: 4px;
  background: rgba(255, 255, 255, 0.08);
  border-radius: 2px;
  overflow: hidden;
}
.dm-bix-track--wide {
  width: 52px;
}
.dm-bix-bar {
  height: 4px;
  background: var(--accent, #c9a24b);
  border-radius: 2px;
  transition: width 0.5s ease;
}
.dm-bix-streak {
  color: #e87c2a;
  font-size: 0.7rem;
  font-weight: 700;
}
/* =================== end /bible XP badge ======================================= */

/* =================== /bible interlinear anchor cluster (WO37497) ==============
   Extracted from dr_render_interlinear()'s ref'd-verse header + the plumbline
   badge. Placed at end-of-file deliberately: .dm-plumbline is also styled by two
   earlier same-specificity rules (opacity at ~L2319, font-size:0.82rem at
   ~L2353) that the old inline style always outranked — this block's font-size
   needs to win on source order now that it's a class, not just specificity. */
.dm-interlinear-eyebrow {
  text-align: center; margin: 0 0 .15rem; font-size: .72rem;
  font-weight: 700; text-transform: uppercase; letter-spacing: .1em;
  color: var(--accent, #c9a24b); opacity: .8;
}
#interlinear-section .dm-section-title { text-align: center; }
#interlinear-section .dm-section-body { text-align: center; }
.dm-interlinear-lang-label {
  text-align: center; font-size: 0.95rem; margin: 0.35rem 0 1.25rem; color: var(--muted);
}
.dm-bible-kjv--anchor-card {
  max-width: 760px; margin: 0 auto 1.5rem; padding: 1rem 1.25rem;
  border-left: 3px solid var(--accent, #c9a24b);
  background: rgba(255,255,255,0.03); font-style: italic;
}
.dm-bible-kjv-tag { opacity: 0.6; font-style: normal; }
.dm-plumbline {
  margin: .4rem 0 0; font-size: .72rem; letter-spacing: .03em; color: var(--muted);
  display: flex; align-items: center; gap: .35rem; flex-wrap: wrap;
}
.dm-plumbline-mark { color: var(--accent, #c9a24b); }
.dm-translation-licence-notice {
  padding: 0.55rem 1rem; border-top: 1px solid var(--line, #2a2a3a);
  font-size: 0.7rem; line-height: 1.6; color: var(--muted);
}
.dm-section-body.dm-dynamic-hooks-body { text-align: center; max-width: 680px; margin: 0 auto 1.2rem; }
/* =================== end /bible interlinear anchor cluster ==================== */

/* ===================== /signet — WO37497 (2026-09-08) =======================
   dr_render_signet had 17 inline style= instances; lifted to classes here.
   dm-link-accent is intentionally site-wide: the gold accent on in-body links
   appears across dozens of renderers and was always emitted inline before. */
.dm-link-accent { color: var(--accent, #c9a24b); }
.dm-muted { color: var(--muted); }
.dm-hidden { display: none; }
.dm-ml-auto { margin-left: auto; }
.dm-signet-subhead {
  text-align: center;
  color: var(--muted);
  max-width: 760px;
  margin: 0 auto 1rem;
}
.dm-bible-form { margin-bottom: 1.2rem; }
.dm-signet-quick-links {
  text-align: center;
  color: var(--muted);
  font-size: 0.85rem;
  margin: -0.4rem 0 1.2rem;
}
.dm-card-error {
  border: 1px solid #e0a3a3;
  border-radius: 12px;
  padding: 1rem 1.1rem;
}
.dm-card-error p { margin: 0; color: var(--muted); }
.dm-signet-kjv {
  max-width: 760px;
  margin: 0 auto 1.25rem;
  padding: 1rem 1.25rem;
  border-left: 3px solid var(--accent, #c9a24b);
  background: rgba(255, 255, 255, 0.03);
  font-style: italic;
  text-align: center;
}
.dm-signet-hint {
  text-align: center;
  color: var(--muted);
  font-size: 0.88rem;
  margin-top: 1rem;
}
.dm-text-center-mt1 { text-align: center; margin-top: 1rem; }
/* =================== end /signet =========================================== */

/* ===================== /serve — WO37497 (2026-09-08) ========================
   dr_render_serve_page had 54 inline style= instances; lifted to classes here. */

/* Success / confirmation banners */
.dm-serve-success-banner {
  background: rgba(80,200,120,0.12);
  border: 1px solid rgba(80,200,120,0.3);
  border-radius: 8px;
  padding: 0.75rem 1rem;
  margin-bottom: 1rem;
  color: #50c878;
  font-size: 0.9rem;
}

/* Two-column page layout */
.dm-serve-layout {
  display: grid;
  grid-template-columns: 1fr minmax(0,340px);
  gap: 2rem;
  align-items: start;
  max-width: 1100px;
  margin: 0 auto;
}

/* Composer / sign-in card shell */
.dm-serve-composer {
  background: var(--card, #1a1a2e);
  border: 1px solid var(--line, #2a2a3a);
  border-radius: 12px;
  padding: 1.25rem;
  margin-bottom: 1.5rem;
}
.dm-serve-composer--center { text-align: center; }

/* Composer heading */
.dm-serve-composer-title {
  margin: 0 0 0.75rem;
  font-size: 1rem;
  color: var(--fg, #e8e8f0);
}

/* Sign-in card muted lead paragraph */
.dm-serve-composer-lead { margin: 0 0 0.75rem; color: var(--muted); }

/* Category chip row */
.dm-serve-chip-row { display: flex; flex-wrap: wrap; gap: 0.4rem; margin-bottom: 0.75rem; }

/* Category chip label */
.dm-serve-chip-label { cursor: pointer; }

/* Category chip radio (visually hidden) */
.dm-serve-chip-radio { display: none; }

/* Category chip display span */
.dm-serve-chip {
  display: inline-block;
  padding: 0.3rem 0.75rem;
  border-radius: 20px;
  border: 1px solid var(--line, #2a2a3a);
  font-size: 0.82rem;
  transition: all 0.15s;
}

/* Need-title input */
.dm-serve-input {
  width: 100%;
  box-sizing: border-box;
  background: var(--bg, #13131c);
  color: var(--fg, #e8e8f0);
  border: 1px solid var(--line, #2a2a3a);
  border-radius: 8px;
  padding: 0.6rem 0.75rem;
  font-size: 0.9rem;
  margin-bottom: 0.6rem;
}

/* Body textarea */
.dm-serve-textarea {
  width: 100%;
  box-sizing: border-box;
  background: var(--bg, #13131c);
  color: var(--fg, #e8e8f0);
  border: 1px solid var(--line, #2a2a3a);
  border-radius: 8px;
  padding: 0.6rem 0.75rem;
  font-size: 0.9rem;
  resize: vertical;
  margin-bottom: 0.6rem;
}

/* Location row (city + county) */
.dm-serve-location-row { display: flex; gap: 0.5rem; margin-bottom: 0.75rem; }

/* Small flex inputs (city / county in composer) */
.dm-serve-input-sm {
  flex: 1;
  background: var(--bg, #13131c);
  color: var(--fg, #e8e8f0);
  border: 1px solid var(--line, #2a2a3a);
  border-radius: 8px;
  padding: 0.5rem 0.7rem;
  font-size: 0.85rem;
}

/* Primary accent button / link */
.dm-serve-btn-accent {
  display: inline-block;
  background: var(--accent, #c9a24b);
  color: #13131c;
  border: none;
  border-radius: 8px;
  padding: 0.6rem 1.25rem;
  font-weight: 700;
  font-size: 0.9rem;
  cursor: pointer;
  text-decoration: none;
}

/* Disclaimer note beside submit */
.dm-serve-disclaimer { font-size: 0.75rem; color: var(--muted); margin-left: 0.75rem; }

/* Category filter bar */
.dm-serve-filter-bar { display: flex; flex-wrap: wrap; gap: 0.4rem; margin-bottom: 1rem; }

/* Filter tab link — base and active variant */
.dm-serve-tab {
  padding: 0.3rem 0.75rem;
  border-radius: 20px;
  font-size: 0.82rem;
  text-decoration: none;
  border: 1px solid var(--line, #2a2a3a);
  color: var(--muted);
}
.dm-serve-tab--active {
  border-color: var(--accent, #c9a24b);
  background: rgba(201,162,75,0.15);
  color: var(--accent, #c9a24b);
}

/* Need card */
.dm-serve-need-card {
  background: var(--card, #1a1a2e);
  border: 1px solid var(--line, #2a2a3a);
  border-radius: 12px;
  padding: 1.1rem 1.25rem;
  margin-bottom: 0.9rem;
}
.dm-serve-need-card--prayer { border-left: 3px solid rgba(160,100,255,0.5); }

/* Need card header row */
.dm-serve-need-header { display: flex; align-items: center; gap: 0.5rem; margin-bottom: 0.4rem; }

/* Category emoji */
.dm-serve-need-emoji { font-size: 1.1rem; }

/* Category label */
.dm-serve-cat-label {
  font-size: 0.78rem;
  color: var(--accent, #c9a24b);
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.04em;
}
.dm-serve-cat-label--prayer { color: #b07ef8; }

/* Location tag (pushed to right) */
.dm-serve-location-tag { margin-left: auto; font-size: 0.75rem; color: var(--muted); }

/* Need title */
.dm-serve-need-title { margin: 0 0 0.4rem; font-weight: 600; color: var(--fg, #e8e8f0); font-size: 0.95rem; }

/* Need body excerpt */
.dm-serve-need-body { margin: 0 0 0.75rem; color: var(--muted); font-size: 0.87rem; line-height: 1.5; }

/* Need footer row */
.dm-serve-need-footer { display: flex; align-items: center; gap: 0.75rem; flex-wrap: wrap; }

/* Poster / time / helping meta */
.dm-serve-need-meta { font-size: 0.78rem; color: var(--muted); }

/* Help / pray forms (zero margin) */
.dm-serve-help-form { margin: 0; }

/* "I Can Help" button */
.dm-serve-btn-help {
  background: rgba(201,162,75,0.12);
  border: 1px solid rgba(201,162,75,0.4);
  border-radius: 20px;
  color: var(--accent, #c9a24b);
  padding: 0.3rem 0.85rem;
  font-size: 0.8rem;
  cursor: pointer;
  font-weight: 600;
}

/* "Pray" button */
.dm-serve-btn-pray {
  background: rgba(160,100,255,0.1);
  border: 1px solid rgba(160,100,255,0.35);
  border-radius: 20px;
  color: #b07ef8;
  padding: 0.3rem 0.85rem;
  font-size: 0.8rem;
  cursor: pointer;
  font-weight: 600;
}

/* "Sign in to help" link */
.dm-serve-help-signin { font-size: 0.8rem; color: var(--muted); text-decoration: none; }

/* Empty-state */
.dm-serve-empty { text-align: center; padding: 3rem 1rem; color: var(--muted); }
.dm-serve-empty-icon { font-size: 1.8rem; margin-bottom: 0.5rem; }

/* Right sidebar */
.dm-serve-sidebar {
  background: var(--card, #1a1a2e);
  border: 1px solid var(--line, #2a2a3a);
  border-radius: 12px;
  padding: 1.25rem;
  position: sticky;
  top: 80px;
}

/* Sidebar headings */
.dm-serve-sidebar-title { margin: 0 0 0.3rem; font-size: 0.95rem; color: var(--fg, #e8e8f0); }
.dm-serve-sidebar-sub { margin: 0 0 0.9rem; font-size: 0.78rem; color: var(--muted); }

/* City filter form */
.dm-serve-city-form { margin-bottom: 0.75rem; display: flex; gap: 0.4rem; }

/* City filter input */
.dm-serve-city-input {
  flex: 1;
  background: var(--bg, #13131c);
  color: var(--fg, #e8e8f0);
  border: 1px solid var(--line, #2a2a3a);
  border-radius: 6px;
  padding: 0.4rem 0.6rem;
  font-size: 0.82rem;
}

/* City Go button */
.dm-serve-city-btn {
  background: var(--accent, #c9a24b);
  color: #13131c;
  border: none;
  border-radius: 6px;
  padding: 0.4rem 0.7rem;
  font-size: 0.82rem;
  cursor: pointer;
}

/* Resource directory row */
.dm-serve-resource-row { border-top: 1px solid var(--line, #2a2a3a); padding: 0.65rem 0; }
.dm-serve-resource-name-row { display: flex; align-items: center; gap: 0.4rem; margin-bottom: 0.15rem; }

/* Resource name (link or plain span) */
.dm-serve-resource-link {
  color: var(--fg, #e8e8f0);
  font-weight: 600;
  font-size: 0.85rem;
  text-decoration: none;
}
.dm-serve-resource-name { font-weight: 600; font-size: 0.85rem; color: var(--fg, #e8e8f0); }

/* Resource description */
.dm-serve-resource-desc { margin: 0 0 0.2rem; font-size: 0.77rem; color: var(--muted); line-height: 1.4; }

/* Resource meta (city / phone / hours) */
.dm-serve-resource-meta { margin: 0; font-size: 0.75rem; color: var(--muted); }

/* No-results message */
.dm-serve-no-results { font-size: 0.82rem; color: var(--muted); text-align: center; padding: 0.75rem 0; }

/* 211 footer */
.dm-serve-211 {
  margin-top: 0.75rem;
  padding-top: 0.75rem;
  border-top: 1px solid var(--line, #2a2a3a);
  font-size: 0.78rem;
  color: var(--muted);
}
.dm-serve-211-strong { color: var(--fg, #e8e8f0); }

/* =================== end /serve =========================================== */

/* =================== /nativity — WO37497 (2026-09-08) =======================
   scr_render_nativity had 49 lines containing style= (≈60 inline style=
   instances); lifted to classes here. 1 exception: progress-bar fill width
   remains style="width:%d%%" — a per-record integer percent, no CSS class
   equivalent. dm-link-accent is reused (defined in /signet block above). */

/* Honesty card */
.dm-nativity-card-accent { border-left: 3px solid var(--accent, #c9a24b); }
.dm-nativity-p-no-mt     { margin-top: 0; }
.dm-nativity-p-muted-sm  { color: var(--muted); font-size: .9rem; margin-bottom: 0; }

/* Model toggle row */
.dm-nativity-toggle-row { display: flex; gap: .5rem; flex-wrap: wrap; margin: 1rem 0 .2rem; }
.dm-nativity-btn-link   { text-decoration: none; }

/* Computed-conclusion card */
.dm-nativity-conv-card {
  margin: 1rem 0;
  border: 1px solid var(--border);
  border-radius: 12px;
  padding: 1.05rem;
}
.dm-nativity-conv-card--maj { background: rgba(201,162,75,0.06); }
.dm-nativity-conv-card--min { background: rgba(127,178,255,0.07); }
.dm-nativity-conv-label {
  font-size: .72rem;
  text-transform: uppercase;
  letter-spacing: .08em;
  margin-bottom: .3rem;
}
.dm-nativity-conv-label--maj { color: var(--accent, #c9a24b); }
.dm-nativity-conv-label--min { color: #7fb2ff; }
.dm-nativity-conv-h3      { margin: 0 0 .35rem; }
.dm-nativity-conv-p-intro { margin: 0 0 .5rem; color: var(--muted); }
.dm-nativity-conv-ul      { margin: 0; padding-left: 1.1rem; color: var(--fg, #e7ecf5); line-height: 1.7; }
.dm-nativity-muted-date   { color: var(--muted); }
.dm-nativity-conv-p-foot  { margin: .6rem 0 0; color: var(--muted); font-size: .85rem; }

/* Convergence SVG chart */
.dm-nativity-svg-wrap { overflow-x: auto; margin: 1.2rem 0; }
.dm-nativity-svg {
  max-width: 760px;
  background: #0b1020;
  border: 1px solid var(--border, #26304a);
  border-radius: 12px;
}

/* Legend */
.dm-nativity-legend {
  display: flex;
  flex-wrap: wrap;
  gap: .6rem 1.1rem;
  margin: -.4rem 0 1rem;
  font-size: .85rem;
  color: var(--muted);
}
.dm-nativity-legend-dot {
  display: inline-block;
  width: 10px;
  height: 10px;
  border-radius: 50%;
  margin-right: 5px;
}
.dm-nativity-legend-dot--strong { background: #9ae6b4; }
.dm-nativity-legend-dot--mod    { background: var(--gold); }
.dm-nativity-legend-dot--low    { background: #e0915f; }

/* Evidence table */
.dm-nativity-table    { width: 100%; border-collapse: collapse; }
.dm-nativity-thead-tr { text-align: left; border-bottom: 1px solid var(--border); }
.dm-nativity-th       { padding: .5rem; }
.dm-nativity-th--conf { min-width: 120px; }
.dm-nativity-tbody-tr { border-bottom: 1px solid var(--border); }
.dm-nativity-td       { padding: .5rem; }
.dm-nativity-td-desc  { color: var(--muted); font-size: .85rem; }
.dm-nativity-td-year  { padding: .5rem; white-space: nowrap; font-variant-numeric: tabular-nums; }
.dm-nativity-conf-bar  { background: #1c2740; border-radius: 6px; height: 10px; width: 100%; overflow: hidden; }
.dm-nativity-conf-fill { height: 10px; }
.dm-nativity-conf-fill--strong { background: #9ae6b4; }
.dm-nativity-conf-fill--mod    { background: var(--gold); }
.dm-nativity-conf-fill--low    { background: #e0915f; }
.dm-nativity-conf-pct  { color: var(--muted); font-size: .8rem; }
.dm-nativity-td-ref    { padding: .5rem; white-space: nowrap; }

/* Evidence detail cards */
.dm-nativity-lines-h3       { margin: 1.6rem 0 .2rem; }
.dm-nativity-lines-p-intro  { margin: .1rem 0 .8rem; color: var(--muted); font-size: .88rem; }
.dm-nativity-evidence-grid  { display: grid; gap: .7rem; }
.dm-nativity-evidence-card  { border: 1px solid var(--border); border-radius: 10px; padding: .85rem .95rem; }
.dm-nativity-evidence-card--strong { border-left: 3px solid #9ae6b4; }
.dm-nativity-evidence-card--mod    { border-left: 3px solid var(--gold); }
.dm-nativity-evidence-card--low    { border-left: 3px solid #e0915f; }
.dm-nativity-card-hdr {
  display: flex;
  justify-content: space-between;
  gap: 1rem;
  flex-wrap: wrap;
  margin-bottom: .3rem;
}
.dm-nativity-line-name  { font-size: .85rem; color: var(--accent, #c9a24b); font-weight: 600; }
.dm-nativity-conf-badge { font-size: .8rem; color: var(--muted); }
.dm-nativity-kjv-quote  { margin: 0 0 .45rem; color: var(--fg, #e7ecf5); }
.dm-nativity-kjv-ref    { color: var(--muted); font-size: .82rem; }
.dm-nativity-explain    { margin: .2rem 0 0; color: var(--muted); font-size: .88rem; line-height: 1.6; }
.dm-nativity-sources    { margin: .45rem 0 0; color: #7c89a8; font-size: .78rem; }

/* December 25 card + footer */
.dm-nativity-dec25-card { margin: 1.4rem 0 0; border: 1px solid var(--border); border-radius: 12px; padding: 1rem 1.1rem; }
.dm-nativity-dec25-h3   { margin: 0 0 .4rem; }
.dm-nativity-dec25-p    { margin: 0; color: var(--muted); font-size: .92rem; line-height: 1.65; }
.dm-nativity-also-p     { margin: 1.3rem 0 0; color: var(--muted); font-size: .9rem; }
.dm-nativity-note       { margin-top: 1rem; }

/* =================== end /nativity ======================================== */

/* =================== /studio — WO37497 (2026-09-08) ========================
   gm_render_studio had 76 inline style= instances; lifted to classes here. */

/* Framing card (accent left-border variant of dm-card) */
.dm-studio-framing-card {
  border-left: 3px solid var(--accent, #c9a24b);
  padding: 1.1rem 1.2rem;
}

/* Lead paragraph (no top margin) */
.dm-studio-p-lead { margin-top: 0; }

/* Footer paragraph inside framing card */
.dm-studio-p-footer {
  color: var(--muted);
  font-size: .9rem;
  margin-bottom: 0;
}

/* Instrument intro paragraphs (three margin-bottom variants) */
.dm-studio-p-intro    { margin: 0 0 .6rem; color: var(--muted); font-size: .93rem; }
.dm-studio-p-intro-sm { margin: 0 0 .4rem; color: var(--muted); font-size: .93rem; }
.dm-studio-p-intro-md { margin: 0 0 .5rem; color: var(--muted); font-size: .93rem; }

/* Full-width collapsed table (add alongside dm-table) */
.dm-studio-table-full { width: 100%; border-collapse: collapse; }

/* Table header row */
.dm-studio-thead-tr { text-align: left; border-bottom: 1px solid var(--border); }

/* Table header cell */
.dm-studio-th { padding: .5rem; }

/* Table body row with bottom border */
.dm-studio-tr-border { border-bottom: 1px solid var(--border); }

/* Body cell — bold label (1st column) */
.dm-studio-td-name { padding: .5rem; font-weight: 600; }

/* Body cell — gold tabular number */
.dm-studio-td-val {
  padding: .5rem;
  font-variant-numeric: tabular-nums;
  color: var(--gold);
}

/* Body cell — mono "from" definition (.85rem) */
.dm-studio-td-from {
  padding: .5rem;
  color: var(--muted);
  font-family: monospace;
  font-size: .85rem;
}

/* Body cell — "where it appears" column */
.dm-studio-td-where { padding: .5rem; color: var(--muted); font-size: .9rem; }

/* Body cell — arithmetic / calc column (.86rem variant) */
.dm-studio-td-calc {
  padding: .5rem;
  color: var(--muted);
  font-family: monospace;
  font-size: .86rem;
}

/* Flex instrument row (SVG + info table side by side) */
.dm-studio-flex-row {
  display: flex;
  flex-wrap: wrap;
  gap: 1.2rem;
  align-items: center;
}

/* SVG diagram panel (dark bg, border, rounded) */
.dm-studio-svg {
  background: #0b1020;
  border: 1px solid var(--border, #26304a);
  border-radius: 12px;
}

/* Flex info box — narrow (Geo5D table) */
.dm-studio-flex-info { flex: 1; min-width: 220px; font-size: .92rem; }

/* Flex info box — wider (pyramid table) */
.dm-studio-flex-info-lg { flex: 1; min-width: 230px; font-size: .92rem; }

/* Compact table cells (.45rem padding variants) */
.dm-studio-td-muted-sm { padding: .45rem; color: var(--muted); }

.dm-studio-td-val-warm {
  padding: .45rem;
  font-variant-numeric: tabular-nums;
  color: #e7d7a8;
}

.dm-studio-td-val-hi {
  padding: .45rem;
  font-variant-numeric: tabular-nums;
  color: var(--gold);
  font-weight: 600;
}

.dm-studio-td-val-gold-sm {
  padding: .45rem;
  font-variant-numeric: tabular-nums;
  color: var(--gold);
}

.dm-studio-td-note-sm { padding: .45rem; color: var(--muted); font-size: .85rem; }

/* Under-table explanatory note paragraph */
.dm-studio-p-note { margin: .6rem 0 0; color: var(--muted); font-size: .86rem; }

/* Blue link — scriptorium cross-references */
.dm-studio-link-blue { color: #9cc2ff; }

/* Verdict / context card grid */
.dm-studio-verdict-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
  gap: .9rem;
  margin-top: 1rem;
}

/* Verdict card — green ("What is real") */
.dm-studio-verdict-card-green {
  border: 1px solid rgba(154, 230, 180, 0.3);
  border-radius: 10px;
  padding: .8rem .9rem;
}
.dm-studio-verdict-hdr-green {
  color: #9ae6b4;
  font-weight: 600;
  font-size: .85rem;
  margin-bottom: .3rem;
}

/* Verdict card — red ("What this is NOT") */
.dm-studio-verdict-card-red {
  border: 1px solid rgba(201, 139, 139, 0.35);
  border-radius: 10px;
  padding: .8rem .9rem;
}
.dm-studio-verdict-hdr-red {
  color: #e0a3a3;
  font-weight: 600;
  font-size: .85rem;
  margin-bottom: .3rem;
}

/* Verdict body paragraph (also reused in status card) */
.dm-studio-verdict-p { margin: 0; color: var(--muted); font-size: .88rem; }

/* Grounding / data-status card */
.dm-studio-status-card {
  margin-top: 1.2rem;
  border: 1px dashed var(--border);
  border-radius: 12px;
  padding: 1.05rem 1.15rem;
}

/* Status card heading */
.dm-studio-h3 { margin: 0 0 .5rem; font-size: 1.05rem; }

/* Status body paragraph */
.dm-studio-p-status { margin: 0 0 .5rem; color: var(--muted); font-size: .9rem; }

/* Warm-highlighted inline emphasis ("data pending") */
.dm-studio-strong-warm { color: #e0c98a; }

/* Note paragraph — overrides dm-search-note margin-top and adds muted color */
.dm-studio-note-p { color: var(--muted); font-size: .85rem; margin-top: 1rem; }

/* =================== end /studio ========================================== */

/* =================== /feed — WO37497 (2026-09-08) ==========================
   dr_render_feed_stream had 33 inline style= instances; lifted to classes here. */
.dm-feed-centered-muted { text-align: center; color: var(--muted); }
.dm-feed-article {
  max-width: 680px;
  margin: 0 auto 1rem;
  padding: 1rem 1.2rem;
  border: 1px solid var(--line, #2a2a3a);
  border-radius: 10px;
  background: rgba(255,255,255,0.02);
}
.dm-feed-post-header {
  display: flex;
  justify-content: space-between;
  align-items: baseline;
  margin-bottom: 0.5rem;
}
/* Badge pill — base shared by all author/kind badges */
.dm-feed-badge {
  margin-left: 0.45rem;
  font-size: 0.62rem;
  font-weight: 600;
  padding: 0.1rem 0.5rem;
  border-radius: 999px;
  vertical-align: middle;
}
.dm-feed-badge-official { background: rgba(201,162,75,0.18); color: var(--accent, #c9a24b); letter-spacing: 0.04em; }
.dm-feed-badge-ai       { background: rgba(138,180,248,0.18); color: #8ab4f8; letter-spacing: 0.04em; }
.dm-feed-badge-scripture { background: rgba(100,200,130,0.15); color: #6dc88a; }
.dm-feed-badge-testimony { background: rgba(255,180,80,0.15); color: #f5a843; }
.dm-feed-badge-ritual    { background: rgba(160,120,255,0.15); color: #b07ef8; }
.dm-feed-timestamp { color: var(--muted); font-size: 0.8rem; }
.dm-feed-verse-card {
  margin: 0 0 0.7rem;
  padding: 0.9rem 1.1rem;
  border-left: 3px solid var(--accent, #c9a24b);
  background: rgba(201,162,75,0.07);
  border-radius: 0 8px 8px 0;
}
.dm-feed-verse-label { margin: 0 0 0.4rem; font-style: italic; color: var(--muted); font-size: 0.9rem; }
.dm-feed-verse-link { color: var(--accent, #c9a24b); font-weight: 700; font-size: 1rem; text-decoration: none; }
.dm-feed-prayer-body {
  background: rgba(160,100,255,0.06);
  border-radius: 6px;
  padding: 0.6rem 0.85rem;
  margin-bottom: 0.6rem;
}
.dm-feed-prayer-label { font-size: 0.78rem; color: #b07ef8; font-weight: 600; }
.dm-feed-prayer-p { margin: 0.3rem 0 0; white-space: pre-wrap; line-height: 1.6; }
.dm-feed-body-p { margin: 0 0 0.6rem; white-space: pre-wrap; line-height: 1.6; }
.dm-feed-reaction-bar {
  display: flex;
  gap: 0.75rem;
  align-items: center;
  flex-wrap: wrap;
  color: var(--muted);
  font-size: 0.85rem;
  margin-bottom: 0.6rem;
}
.dm-feed-form-inline { display: inline; }
.dm-feed-btn-sm      { padding: 0.2rem 0.6rem;  font-size: 0.8rem; }
.dm-feed-btn-sm-wide { padding: 0.2rem 0.75rem; font-size: 0.8rem; }
.dm-feed-count       { font-size: 0.82rem; }
.dm-feed-count-muted { font-size: 0.82rem; color: var(--muted); }
.dm-feed-measure-link { font-size: 0.8rem; color: var(--muted); text-decoration: none; }
.dm-feed-comments-section {
  border-top: 1px solid var(--line, #2a2a3a);
  padding-top: 0.5rem;
  margin-top: 0.15rem;
}
.dm-feed-comment-row {
  display: flex;
  gap: 0.5rem;
  align-items: baseline;
  padding: 0.3rem 0;
  font-size: 0.875rem;
}
.dm-feed-comment-author { font-weight: 600; color: var(--accent, #c9a24b); flex: 0 0 auto; }
.dm-feed-comment-body   { color: var(--fg); }
.dm-feed-comment-time   { color: var(--muted); font-size: 0.75rem; flex: 0 0 auto; margin-left: auto; }
.dm-feed-more-comments  { margin: 0.25rem 0 0; font-size: 0.8rem; color: var(--muted); }
.dm-feed-compose-form   { margin-top: 0.55rem; display: flex; gap: 0.4rem; }
.dm-feed-compose-input {
  flex: 1;
  padding: 0.4rem 0.65rem;
  border-radius: 6px;
  border: 1px solid var(--line, #2a2a3a);
  background: rgba(255,255,255,0.04);
  color: inherit;
  font-size: 0.875rem;
}
/* =================== end /feed ============================================= */

/* ===================== /watchtower — WO37497 (2026-09-17) ====================
   dr_render_watchtower_status, dr_mesh_link_card, dr_mesh_disclaimer,
   dr_mesh_explore_card: 32 inline style= lifted to classes. */

/* "As of <date>" subtitle paragraph */
.dm-wt-subtitle { margin: .2rem 0 1.1rem; color: var(--muted); font-size: .9rem; }

/* Auto-fit card grid */
.dm-wt-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(260px, 1fr)); gap: 1rem; }

/* Card border/radius/padding (use alongside dm-card) */
.dm-wt-card { border: 1px solid var(--border); border-radius: 12px; padding: 1.1rem 1.2rem; }

/* Card header row: dot + kicker label */
.dm-wt-card-hdr { display: flex; align-items: center; gap: .55rem; margin-bottom: .45rem; }

/* 9px status dot (large) — always green */
.dm-dot-lg-green { display: inline-block; width: 9px; height: 9px; border-radius: 50%; flex: 0 0 auto; background: #4caf50; }

/* 7px status dot (small) — always green (static routes) */
.dm-dot-sm-green { display: inline-block; width: 7px; height: 7px; border-radius: 50%; background: #4caf50; }

/* 7px dot shape only — dynamic background applied inline */
.dm-dot-sm { display: inline-block; width: 7px; height: 7px; border-radius: 50%; }

/* Kicker label (caps, muted, no bottom margin) */
.dm-wt-kicker { font-size: .72rem; text-transform: uppercase; letter-spacing: .08em; color: var(--muted); }

/* Kicker label with bottom margin */
.dm-wt-kicker-mb { font-size: .72rem; text-transform: uppercase; letter-spacing: .08em; color: var(--muted); margin-bottom: .5rem; }

/* Card subheading (bold, fg color) */
.dm-wt-subhead { font-size: 1.05rem; font-weight: 600; color: var(--fg, #e7ecf5); margin-bottom: .5rem; }

/* Stacked list (no bullets, flex column, .4rem gap) */
.dm-wt-ul { margin: 0; padding: 0; list-style: none; display: flex; flex-direction: column; gap: .4rem; }

/* Stacked list — .9rem font-size variant */
.dm-wt-ul-sm { margin: 0; padding: 0; list-style: none; display: flex; flex-direction: column; gap: .4rem; font-size: .9rem; }

/* Stacked list — .95rem, .45rem gap (explore card) */
.dm-wt-ul-explore { margin: 0; padding: 0; list-style: none; display: flex; flex-direction: column; gap: .45rem; font-size: .95rem; }

/* List item row — dot + text, .9rem */
.dm-wt-li { display: flex; align-items: center; gap: .5rem; font-size: .9rem; }

/* List item row — dot + text, no font-size override */
.dm-wt-li-plain { display: flex; align-items: center; gap: .5rem; }

/* Code text in fg color */
.dm-wt-code { color: var(--fg, #e7ecf5); }

/* Code text in muted color, .82rem */
.dm-wt-code-muted { color: var(--muted); font-size: .82rem; }

/* Small note paragraph (.82rem, .7rem top margin) */
.dm-wt-note-sm { margin: .7rem 0 0; color: var(--muted); font-size: .82rem; }

/* Section-level note paragraph (.88rem) */
.dm-wt-section-note { margin: 1.1rem 0 0; color: var(--muted); font-size: .88rem; }

/* Gold nav link — no underline (dm-link-accent is color-only) */
.dm-link-nav { color: var(--accent, #c9a24b); text-decoration: none; }

/* Mesh link block card (full clickable) */
.dm-mesh-link-card { display: block; text-decoration: none; border: 1px solid var(--border); border-radius: 12px; padding: 1.2rem 1.3rem; color: inherit; }

/* Mesh link card title */
.dm-mesh-link-title { font-size: 1.15rem; font-weight: 700; color: var(--accent, #c9a24b); margin-bottom: .4rem; }

/* Mesh link card description */
.dm-mesh-link-desc { margin: 0 0 .6rem; color: var(--muted); font-size: .92rem; line-height: 1.55; }

/* Mesh link CTA span ("View the observatory →") */
.dm-mesh-link-cta { color: var(--accent, #c9a24b); font-size: .85rem; font-weight: 600; }

/* Disclaimer block (gold left border, tinted background) */
.dm-disclaimer { margin: 1.3rem 0 0; padding: .9rem 1.1rem; border-left: 3px solid var(--accent, #c9a24b); background: rgba(201,162,75,.06); color: var(--muted); font-size: .86rem; line-height: 1.6; }

/* =================== end /watchtower ======================================= */

/* ===================== /mathbench — WO37497 (2026-09-17) ====================
   qm_render_mathbench: inline style= lifted to classes.
   Reuses from /studio: dm-studio-framing-card, dm-studio-p-lead,
   dm-studio-p-footer, dm-studio-p-intro, dm-studio-table-full,
   dm-studio-thead-tr, dm-studio-th, dm-studio-tr-border, dm-studio-td-name,
   dm-studio-note-p. Site-wide: dm-link-accent, dm-muted. */

/* Slice table: metrics td (warm gold, .9rem, tabular) */
.dm-mb-td-metrics { padding: .5rem; font-variant-numeric: tabular-nums; color: #e7d7a8; font-size: .9rem; }

/* Slice table: boundary td (muted, .86rem) */
.dm-mb-td-bound { padding: .5rem; color: var(--muted); font-size: .86rem; }

/* Dense-state table: narrow (max-width 520px) */
.dm-mb-table-narrow { width: 100%; border-collapse: collapse; max-width: 520px; }

/* Dense-state table: left label cell (.45rem padding, muted) */
.dm-mb-td-left { padding: .45rem; color: var(--muted); }

/* Dense-state table: cap value cell (warm gold #e7d7a8) */
.dm-mb-td-cap { padding: .45rem; font-variant-numeric: tabular-nums; color: #e7d7a8; }

/* Dense-state table: gold value cell (#f0c963) */
.dm-mb-td-gold { padding: .45rem; font-variant-numeric: tabular-nums; color: var(--gold); }

/* Negative controls: grid ul */
.dm-mb-nc-grid { margin: 0; padding: 0; list-style: none; display: grid; grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)); gap: .5rem; font-size: .9rem; }

/* Negative controls: list item row */
.dm-mb-nc-li { display: flex; align-items: flex-start; gap: .5rem; color: var(--muted); }

/* Negative controls: × reject mark */
.dm-mb-nc-x { color: #e0a3a3; font-weight: 700; flex: 0 0 auto; }

/* Scoring schema: flex-wrap field badge row */
.dm-mb-schema-wrap { display: flex; flex-wrap: wrap; gap: .4rem; }

/* Scoring schema: individual field code badge */
.dm-mb-field-code { background: rgba(127,178,255,0.08); border: 1px solid var(--border); border-radius: 6px; padding: .2rem .5rem; font-size: .82rem; color: #cdd8ee; }

/* Verdict grid (IS / NOT two-col) */
.dm-mb-verdict-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(260px, 1fr)); gap: .9rem; margin-top: 1rem; }

/* Verdict IS card (green border) */
.dm-mb-verdict-is { border: 1px solid rgba(154,230,180,0.3); border-radius: 10px; padding: .85rem .95rem; }

/* Verdict IS heading */
.dm-mb-verdict-is-hd { color: #9ae6b4; font-weight: 600; font-size: .85rem; margin-bottom: .35rem; }

/* Verdict NOT card (red border) */
.dm-mb-verdict-not { border: 1px solid rgba(201,139,139,0.35); border-radius: 10px; padding: .85rem .95rem; }

/* Verdict NOT heading */
.dm-mb-verdict-not-hd { color: #e0a3a3; font-weight: 600; font-size: .85rem; margin-bottom: .35rem; }

/* Verdict body paragraph (no margin, muted, .88rem) */
.dm-mb-verdict-p { margin: 0; color: var(--muted); font-size: .88rem; }

/* Verdict NOT bullet list */
.dm-mb-verdict-ul { margin: 0; padding-left: 1.05rem; color: var(--muted); font-size: .88rem; line-height: 1.55; }

/* Status card (dashed border) */
.dm-mb-status-card { margin-top: 1.2rem; border: 1px dashed var(--border); border-radius: 12px; padding: 1.05rem 1.15rem; }

/* Status card h3 */
.dm-mb-status-h3 { margin: 0 0 .5rem; font-size: 1.05rem; }

/* Status card primary paragraph */
.dm-mb-status-p { margin: 0 0 .5rem; color: var(--muted); font-size: .9rem; }

/* Status card note paragraph */
.dm-mb-status-note { margin: 0; color: var(--muted); font-size: .88rem; }

/* Status card inline code highlight */
.dm-mb-code { color: #cdd8ee; }

/* =================== end /mathbench ======================================= */

/* ===================== /testimonies — WO37497 2026-09-17 =====================
   dr_render_testimonies_page: 30 inline style= lifted to CSS classes.
   Utilities dm-hidden and dm-ml-auto added to /signet block (site-wide). */
.dm-tr-success { background:rgba(80,200,120,0.12);border:1px solid rgba(80,200,120,0.3);border-radius:8px;padding:.75rem 1rem;margin-bottom:1rem;color:#50c878;font-size:.9rem; }
.dm-tr-form { max-width:680px;margin:0 auto;display:flex;flex-direction:column;gap:.75rem; }
.dm-tr-chip-row { display:flex;flex-wrap:wrap;gap:.4rem; }
.dm-tr-chip-label { cursor:pointer; }
.dm-tr-chip-span { padding:.3rem .7rem;border-radius:20px;border:1px solid var(--line,#2a2a3a);font-size:.85rem;cursor:pointer; }
.dm-tr-textarea { width:100%;padding:.8rem 1rem;border-radius:10px;border:1px solid var(--line,#2a2a3a);background:rgba(255,255,255,.04);color:inherit;font-family:inherit;font-size:.95rem;resize:vertical; }
.dm-tr-name-input { padding:.55rem .9rem;border-radius:8px;border:1px solid var(--line,#2a2a3a);background:rgba(255,255,255,.04);color:inherit;font-size:.9rem; }
.dm-tr-submit-row { display:flex;align-items:center;gap:1rem;flex-wrap:wrap; }
.dm-tr-anon-label { display:flex;align-items:center;gap:.4rem;color:var(--muted);font-size:.88rem;cursor:pointer; }
.dm-tr-filter-section { max-width:680px;margin:0 auto 1.5rem;padding:0 1rem; }
.dm-tr-filter-tab { padding:.3rem .8rem;border-radius:20px;border:1px solid var(--line,#2a2a3a);font-size:.85rem;text-decoration:none; }
.dm-tr-filter-tab-active { background:var(--accent,#c9a24b);color:#000;font-weight:600; }
.dm-tr-filter-tab-idle { color:var(--muted); }
.dm-tr-unavail { max-width:680px;margin:0 auto;padding:0 1rem;text-align:center;color:var(--muted); }
.dm-tr-list { max-width:680px;margin:0 auto;padding:0 1rem; }
.dm-tr-card { background:var(--card,#1a1a2e);border:1px solid var(--line,#2a2a3a);border-left:3px solid var(--accent,#c9a24b);border-radius:12px;padding:1.1rem 1.25rem;margin-bottom:.9rem; }
.dm-tr-card-hdr { display:flex;align-items:center;gap:.5rem;margin-bottom:.4rem; }
.dm-tr-card-emoji { font-size:1.1rem; }
.dm-tr-card-cat { font-size:.78rem;color:var(--accent,#c9a24b);font-weight:600;text-transform:uppercase;letter-spacing:.04em; }
.dm-tr-card-time { margin-left:auto;font-size:.75rem;color:var(--muted); }
.dm-tr-card-body { margin:0 0 .5rem;color:var(--fg);font-size:.88rem;line-height:1.55; }
.dm-tr-card-ftr { display:flex;align-items:center;gap:.75rem;margin-top:.5rem; }
.dm-tr-card-author { font-size:.8rem;color:var(--muted); }
.dm-tr-amen-form { margin-left:auto; }
.dm-tr-amen-btn { background:none;border:1px solid var(--accent,#c9a24b);color:var(--accent,#c9a24b);border-radius:20px;padding:.25rem .75rem;font-size:.85rem;cursor:pointer;font-family:inherit; }
.dm-tr-amen-count { color:var(--muted);font-size:.85rem; }
.dm-tr-empty { text-align:center;padding:3rem 1rem;color:var(--muted); }
.dm-tr-empty-icon { font-size:2rem; }
/* =================== end /testimonies ====================================== */

/* ===================== /feasts — WO37497 2026-09-17 ==========================
   scr_render_feasts: 49 inline style= lifted to CSS classes. */
.dm-scrf-intro-card { border-left:3px solid var(--accent,#c9a24b); }
.dm-scrf-p-notop { margin-top:0; }
.dm-scrf-disclaimer { color:var(--muted);font-size:.9rem;margin-bottom:0; }
.dm-scrf-next-card { margin:1rem 0;border:1px solid var(--border);border-radius:12px;padding:1.05rem;background:rgba(201,162,75,0.06); }
.dm-scrf-eyebrow-sm { font-size:.72rem;text-transform:uppercase;letter-spacing:.08em;color:var(--accent,#c9a24b);margin-bottom:.3rem; }
.dm-scrf-eyebrow { font-size:.8rem;color:var(--accent,#c9a24b);margin-bottom:.3rem; }
.dm-scrf-next-h3 { margin:0 0 .3rem; }
.dm-scrf-he-muted { color:var(--muted);font-weight:400; }
.dm-scrf-next-p { margin:0;color:var(--muted); }
.dm-scrf-when { color:var(--fg,#e7ecf5); }
.dm-scrf-svg-wrap { overflow-x:auto;margin:1.2rem 0; }
.dm-scrf-svg { max-width:760px;background:#0b1020;border:1px solid var(--border,#26304a);border-radius:12px; }
.dm-scrf-table { width:100%;border-collapse:collapse; }
.dm-scrf-thead-tr { text-align:left;border-bottom:1px solid var(--border); }
.dm-scrf-th { padding:.5rem; }
.dm-scrf-tr { border-bottom:1px solid var(--border); }
.dm-scrf-td { padding:.5rem; }
.dm-scrf-td-nowrap { padding:.5rem;white-space:nowrap; }
.dm-scrf-td-muted { padding:.5rem;color:var(--muted);white-space:nowrap; }
.dm-scrf-dot { display:inline-block;width:9px;height:9px;border-radius:50%;margin-right:6px; }
.dm-scrf-sub { color:var(--muted);font-size:.85rem; }
.dm-scrf-note-p { margin:1rem 0 0;color:var(--muted);font-size:.88rem; }
.dm-scrf-form { margin:1.3rem 0 .4rem;display:flex;gap:.5rem;align-items:center;flex-wrap:wrap; }
.dm-scrf-label { color:var(--muted);font-size:.9rem; }
.dm-scrf-year-input { width:8rem;padding:.4rem .55rem;background:#0b1020;color:var(--fg,#e7ecf5);border:1px solid var(--border,#26304a);border-radius:8px; }
.dm-scrf-link-sm { font-size:.9rem; }
.dm-scrf-h3 { margin:1.6rem 0 .2rem; }
.dm-scrf-p-intro { margin:.1rem 0 .8rem;color:var(--muted);font-size:.88rem; }
.dm-scrf-grid { display:grid;gap:.7rem; }
.dm-scrf-feast-card { border:1px solid var(--border);border-radius:10px;padding:.8rem .9rem; }
.dm-scrf-bible-kjv { margin:0;color:var(--fg,#e7ecf5); }
.dm-scrf-ref { color:var(--muted);font-size:.82rem; }
.dm-scrf-pattern-p { margin:.45rem 0 0;color:var(--muted);font-size:.83rem; }
.dm-scrf-pattern-label { color:#9cc2ff; }
.dm-scrf-see-also { margin:1.3rem 0 0;color:var(--muted);font-size:.9rem; }
/* =================== end /feasts =========================================== */

/* ===================== /messages — WO37497 2026-09-17 ========================
   dr_render_message_threads: 27 inline style= lifted to CSS classes. */
.dm-msg-wrap { max-width:720px;margin:0 auto; }
.dm-msg-signin-p { color:var(--muted);text-align:center;padding:1.5rem 0; }
.dm-msg-back-row { display:flex;align-items:center;gap:.75rem;margin-bottom:1rem; }
.dm-msg-back-link { color:var(--accent,#c9a24b);font-size:.85rem; }
.dm-msg-partner { font-weight:700;font-size:1rem; }
.dm-msg-thread { display:flex;flex-direction:column;gap:.5rem;margin-bottom:1rem;max-height:480px;overflow-y:auto;padding:.75rem;border:1px solid var(--line,#2a2a3a);border-radius:8px;background:rgba(0,0,0,.15); }
.dm-msg-bubble-mine { display:flex;flex-direction:column;align-items:flex-end;gap:.15rem; }
.dm-msg-bubble-theirs { display:flex;flex-direction:column;align-items:flex-start;gap:.15rem; }
.dm-msg-sender { font-size:.75rem;color:var(--muted);margin-bottom:.1rem; }
.dm-msg-bubble { max-width:80%;padding:.5rem .85rem;border-radius:14px;white-space:pre-wrap;word-break:break-word;font-size:.9rem; }
.dm-msg-bubble-sent { background:var(--accent,#c9a24b);color:#0a0e1a; }
.dm-msg-bubble-recv { background:rgba(255,255,255,.08);color:var(--fg); }
.dm-msg-ts { font-size:.7rem;color:var(--muted); }
.dm-msg-empty-p { text-align:center;color:var(--muted);padding:1rem 0; }
.dm-msg-send-form { display:flex;gap:.5rem;align-items:flex-end; }
.dm-msg-textarea { flex:1;resize:none;padding:.5rem .75rem;border-radius:10px;border:1px solid var(--line,#2a2a3a);background:rgba(255,255,255,.05);color:inherit;font-size:.875rem; }
.dm-msg-send-btn { padding:.5rem 1rem;align-self:flex-end; }
.dm-msg-search-form { display:flex;gap:.5rem;margin-bottom:1.25rem; }
.dm-msg-with-input { flex:1;padding:.45rem .75rem;border-radius:8px;border:1px solid var(--line,#2a2a3a);background:rgba(255,255,255,.05);color:inherit;font-size:.875rem; }
.dm-msg-conv-item { display:flex;align-items:center;gap:.75rem;padding:.75rem 1rem;border:1px solid var(--line,#2a2a3a);border-radius:10px;background:var(--card-bg,#14141e);text-decoration:none;color:var(--fg);margin-bottom:.5rem;transition:background .15s; }
.dm-msg-avatar { width:40px;height:40px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#c9a24b,#e8c370);color:#0a0e1a;font-weight:900;font-size:1rem;flex:0 0 auto; }
.dm-msg-conv-body { flex:1;min-width:0; }
.dm-msg-conv-header { display:flex;align-items:baseline;gap:.5rem; }
.dm-msg-conv-name { font-weight:600; }
.dm-msg-conv-time { font-size:.75rem;color:var(--muted);margin-left:auto; }
.dm-msg-conv-preview { margin:.1rem 0 0;color:var(--muted);font-size:.82rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis; }
.dm-msg-badge { min-width:20px;height:20px;border-radius:10px;background:var(--accent,#c9a24b);color:#0a0e1a;font-size:.75rem;font-weight:700;display:flex;align-items:center;justify-content:center;padding:0 5px; }
.dm-msg-inbox-empty { text-align:center;padding:2rem 0;color:var(--muted); }
.dm-msg-inbox-empty-p { margin-bottom:.75rem; }
/* =================== end /messages ========================================= */

/* ===================== /prayer-wall — WO37497 2026-09-17 =====================
   dr_render_prayer_wall: 27 inline style= lifted to CSS classes.
   Reuses dm-tr-* and site-wide utilities where identical. */
.dm-pw-composer-section { max-width:680px;margin:0 auto 2.5rem;padding:0 1rem; }
.dm-pw-composer-card { background:rgba(255,255,255,.04);border:1px solid var(--line,#2a2a3a);border-radius:12px;padding:1.5rem; }
.dm-pw-composer-h { margin:0 0 1rem;font-size:1.15rem;color:var(--accent,#c9a24b); }
.dm-pw-name-input { width:100%;box-sizing:border-box;padding:.6rem .9rem;margin-bottom:.8rem;border-radius:7px;border:1px solid var(--line,#2a2a3a);background:rgba(255,255,255,.05);color:inherit;font-family:inherit; }
.dm-pw-textarea { width:100%;box-sizing:border-box;padding:.7rem .9rem;border-radius:7px;border:1px solid var(--line,#2a2a3a);background:rgba(255,255,255,.05);color:inherit;font-family:inherit;resize:vertical;min-height:80px; }
.dm-pw-chip-row { margin:.8rem 0;display:flex;flex-wrap:wrap;gap:.4rem; }
.dm-pw-cards-section { max-width:680px;margin:0 auto;padding:0 1rem;display:flex;flex-direction:column;gap:1rem; }
.dm-pw-card { background:rgba(255,255,255,.04);border:1px solid var(--line,#2a2a3a);border-left:3px solid var(--accent,#c9a24b);border-radius:10px;padding:1.1rem 1.25rem; }
.dm-pw-card-hdr { display:flex;align-items:center;gap:.5rem;margin-bottom:.5rem;font-size:.85rem;color:var(--muted); }
.dm-pw-card-name { color:var(--fg); }
.dm-pw-card-body { margin:0 0 .75rem;line-height:1.6;white-space:pre-wrap; }
.dm-pw-prayed-form { display:inline; }
/* =================== end /prayer-wall ====================================== */

/* ===================== /balances — WO37497 2026-09-17 ========================
   dr_render_balances: inline style= lifted to CSS classes. */
.dm-bal-form { display:flex;flex-wrap:wrap;gap:.6rem;align-items:flex-end;justify-content:center;margin-bottom:1rem; }
.dm-bal-pan-label { display:flex;flex-direction:column;gap:.25rem;color:var(--muted);font-size:.85rem; }
.dm-bal-pan-input { min-width:200px;padding:.6rem .8rem;border-radius:8px;border:1px solid var(--line,#2a2a3a);background:rgba(255,255,255,.04);color:inherit;font-size:1rem; }
.dm-bal-try-p { text-align:center;color:var(--muted);font-size:.85rem;margin:-.3rem 0 1.1rem; }
.dm-bal-pans-grid { display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:.9rem;margin-bottom:1rem; }
.dm-bal-pan-card { border:1px solid var(--border,#26304a);border-radius:12px;padding:.9rem 1rem; }
.dm-bal-pan-eyebrow { font-size:.8rem;color:var(--accent,#c9a24b);margin-bottom:.35rem; }
.dm-bal-kjv-quote { margin:0;font-style:italic; }
.dm-bal-kjv-tag { color:var(--muted);font-size:.82rem;font-style:normal; }
.dm-bal-pan-err { margin:0;color:var(--muted); }
.dm-bal-readout-card { border-left:3px solid var(--accent,#c9a24b);padding:1rem 1.1rem;margin-bottom:1rem; }
.dm-bal-metrics-grid { display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:.8rem;text-align:center; }
.dm-bal-pct { font-size:2rem;font-weight:700;color:var(--accent,#c9a24b); }
.dm-bal-metric-lbl { color:var(--muted);font-size:.85rem; }
.dm-bal-bar { margin-top:.9rem;height:14px;border-radius:7px;background:rgba(255,255,255,0.06);overflow:hidden; }
.dm-bal-bar-fill { height:100%;background:var(--accent,#c9a24b); }
.dm-bal-shared-h { margin:1.1rem 0 .4rem; }
.dm-bal-chips { display:flex;flex-wrap:wrap;gap:.4rem; }
.dm-bal-chip { padding:.25rem .55rem;border-radius:999px;background:rgba(201,162,75,0.14);border:1px solid var(--accent,#c9a24b);font-size:.85rem; }
/* =================== end /balances ========================================= */

/* ===================== /notifications — WO37497 2026-09-17 ===================
   dr_render_notifications_feed: inline style= lifted to CSS classes. */
.dm-nf-signout-section { max-width:680px;margin:2rem auto;padding:0 1rem;text-align:center;color:var(--muted); }
.dm-nf-signout-icon { font-size:1.5rem; }
.dm-nf-signout-cta { margin-top:1rem;display:inline-block; }
.dm-nf-section { max-width:680px;margin:0 auto;padding:0 1rem; }
.dm-nf-success { background:rgba(80,200,120,0.12);border:1px solid rgba(80,200,120,0.3);border-radius:8px;padding:.7rem 1rem;margin-bottom:1rem;color:#50c878;font-size:.9rem; }
.dm-nf-header-row { display:flex;align-items:center;justify-content:space-between;margin-bottom:1rem; }
.dm-nf-title { margin:0;font-size:1.1rem;color:var(--accent,#c9a24b); }
.dm-nf-mark-all-btn { background:none;border:1px solid var(--line,#2a2a3a);border-radius:8px;color:var(--muted);font-size:.82rem;padding:.35rem .8rem;cursor:pointer;font-family:inherit; }
.dm-nf-row { display:flex;gap:.75rem;align-items:flex-start;padding:.85rem 1rem;border-bottom:1px solid var(--line,#2a2a3a); }
.dm-nf-row-unread { background:rgba(201,162,75,0.06); }
.dm-nf-row-emoji { font-size:1.2rem;flex-shrink:0;margin-top:.1rem; }
.dm-nf-row-body { flex:1;min-width:0; }
.dm-nf-row-p { margin:0 0 .2rem;font-size:.9rem;color:var(--fg); }
.dm-nf-row-ts { font-size:.75rem;color:var(--muted); }
.dm-nf-mark-form { flex-shrink:0; }
.dm-nf-mark-btn { background:none;border:none;cursor:pointer;padding:0;line-height:1; }
.dm-nf-unread-dot { display:inline-block;width:8px;height:8px;border-radius:50%;background:var(--accent,#c9a24b); }
.dm-nf-empty { text-align:center;padding:3rem 1rem;color:var(--muted); }
.dm-nf-empty-icon { font-size:2.5rem; }
.dm-nf-empty-hint { font-size:.88rem; }
/* =================== end /notifications ==================================== */

/* ===================== /groups — WO37497 2026-09-17 ==========================
   dr_render_group_detail: 24 inline style= lifted to CSS classes. */
.dm-grp-container { max-width:760px;margin:0 auto; }
.dm-grp-back-link { font-size:.85rem;color:var(--muted);text-decoration:none; }
.dm-grp-title { font-size:1.5rem;font-weight:700;color:var(--fg);margin:.5rem 0 .25rem; }
.dm-grp-desc { color:var(--muted);margin:0 0 1.25rem; }
.dm-grp-posted { background:#1a3020;border:1px solid #2d5c38;border-radius:6px;padding:.6rem 1rem;margin-bottom:1rem;color:#6fcf8a;font-size:.9rem; }
.dm-grp-composer { background:var(--card-bg,#14141e);border:1px solid var(--line);border-radius:8px;padding:1.1rem 1.25rem;margin-bottom:1.5rem; }
.dm-grp-textarea { width:100%;resize:vertical;margin-bottom:.75rem; }
.dm-grp-post-row { display:flex;gap:.5rem;align-items:center; }
.dm-grp-post-btn { font-size:.9rem; }
.dm-grp-notice { background:var(--card-bg,#14141e);border:1px solid var(--line);border-radius:8px;padding:1rem 1.25rem;margin-bottom:1.5rem;color:var(--muted);font-size:.9rem; }
.dm-grp-join-form { display:inline; }
.dm-grp-join-btn { margin-left:.5rem;font-size:.85rem; }
.dm-grp-post-card { background:var(--card-bg,#14141e);border:1px solid var(--line,#2a2a3a);border-radius:8px;padding:1rem 1.25rem;margin-bottom:1rem; }
.dm-grp-post-hdr { display:flex;justify-content:space-between;align-items:center;margin-bottom:.5rem; }
.dm-grp-post-name { font-weight:600;color:var(--fg); }
.dm-grp-post-ts { font-size:.8rem;color:var(--muted); }
.dm-grp-scripture-badge { border-left:3px solid #c9a24b;padding:.4rem .75rem;margin-bottom:.5rem;background:#1a1508;border-radius:0 4px 4px 0; }
.dm-grp-verse-link { color:#c9a24b;font-size:.82rem;font-weight:600; }
.dm-grp-post-body { margin:0;color:var(--fg);line-height:1.55;white-space:pre-wrap; }
.dm-grp-no-posts { color:var(--muted);text-align:center;padding:2rem 0; }
/* =================== end /groups =========================================== */

/* ===================== /avatar-social-card — WO37497 2026-09-17 ==============
   dr_render_avatar_social_card: 18 inline style= lifted to CSS classes. */
.dm-asc-card { max-width:760px;margin:0 auto;padding:1.2rem 1.4rem;border:1px solid var(--line,#2a2a3a);border-radius:8px;background:rgba(255,255,255,.03); }
.dm-asc-layout { display:flex;flex-wrap:wrap;gap:1rem;align-items:flex-start; }
.dm-asc-avatar-wrap { flex-shrink:0;width:120px;height:120px;border-radius:12px;overflow:hidden;border:2px solid var(--accent,#c9a84c);background:rgba(0,0,0,.2); }
.dm-asc-avatar-img { width:100%;height:100%;object-fit:cover;display:block; }
.dm-asc-info { flex:1;min-width:200px; }
.dm-asc-name { font-size:1.1rem;font-weight:700; }
.dm-asc-handle { font-size:.85rem;color:var(--muted);margin:.1rem 0 .5rem; }
.dm-asc-badges { display:flex;flex-wrap:wrap;gap:.35rem;margin:.25rem 0; }
.dm-asc-badge { display:inline-block;padding:.15rem .5rem;border-radius:4px;font-size:.75rem; }
.dm-asc-badge-calling { background:rgba(201,168,76,.12);color:var(--accent,#c9a84c);border:1px solid rgba(201,168,76,.2); }
.dm-asc-badge-virtue { background:rgba(120,180,240,.1);color:var(--accent-alt,#78b4f0);border:1px solid rgba(120,180,240,.2); }
.dm-asc-badge-temp { background:rgba(180,220,160,.1);color:var(--accent-green,#b4dca0);border:1px solid rgba(180,220,160,.2); }
.dm-asc-meta { margin:.4rem 0 0;font-size:.75rem;color:var(--muted); }
.dm-asc-preview { margin:.6rem 0 0;font-size:.8rem;color:var(--muted);border-top:1px solid var(--line,#2a2a3a);padding-top:.5rem; }
.dm-asc-boundary { margin:.8rem 0 0;font-size:.8rem;color:var(--muted);border-top:1px solid var(--line,#2a2a3a);padding-top:.5rem; }
.dm-asc-empty { margin:0;color:var(--muted); }
/* =================== end /avatar-social-card ================================ */

/* ===================== /chrono-hub — WO37497 2026-09-17 ====================== */
.dm-chrono-scroll-wrap { overflow-x:auto;margin:1rem 0 .4rem; }
.dm-chrono-svg { max-width:760px;background:#0b1020;border:1px solid var(--border,#26304a);border-radius:12px; }
.dm-chrono-legend { display:flex;flex-wrap:wrap;gap:.5rem 1.1rem;margin:0 0 1rem;font-size:.82rem;color:var(--muted); }
.dm-chrono-legend-dot { display:inline-block;width:10px;height:10px;border-radius:2px;margin-right:5px; }
.dm-chrono-legend-dot-early { background:rgba(201,139,139,0.5); }
.dm-chrono-legend-dot-patriarchal { background:rgba(214,176,107,0.6); }
.dm-chrono-legend-dot-kingdom { background:rgba(154,230,180,0.6); }
.dm-chrono-legend-dot-nt { background:rgba(127,178,255,0.6); }
.dm-chrono-provenance-card { margin:1.4rem 0 .5rem;border:1px solid var(--border);border-radius:12px;padding:1.1rem 1.2rem; }
.dm-chrono-eyebrow { font-size:.72rem;text-transform:uppercase;letter-spacing:.08em;color:var(--accent,#c9a24b);margin-bottom:.4rem; }
.dm-chrono-anchor-h { margin:0 0 .5rem; }
.dm-chrono-anchor-p { margin:0;color:var(--muted);font-size:.92rem; }
.dm-chrono-fg { color:var(--fg,#e7ecf5); }
.dm-chrono-table-wrap { margin:.2rem 0 1.1rem; }
.dm-chrono-table { width:100%;border-collapse:collapse;font-size:.92rem; }
.dm-chrono-thead-tr { text-align:left;border-bottom:1px solid var(--border); }
.dm-chrono-th { padding:.5rem; }
.dm-chrono-tr { border-bottom:1px solid var(--border); }
.dm-chrono-td { padding:.5rem; }
.dm-chrono-td-num { font-variant-numeric:tabular-nums;white-space:nowrap; }
.dm-chrono-td-muted { color:var(--muted); }
.dm-chrono-td-nowrap { white-space:nowrap; }
.dm-chrono-cards-grid { display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:1rem;margin-top:.6rem; }
.dm-chrono-exp-card { display:block;text-decoration:none;color:inherit;border:1px solid var(--border);border-radius:12px;padding:1.1rem;transition:border-color .2s; }
.dm-chrono-card-h { margin:0 0 .5rem; }
.dm-chrono-card-p { margin:0;color:var(--muted);font-size:.92rem; }
.dm-chrono-card-cta { margin:.7rem 0 0;color:var(--accent,#c9a24b);font-size:.88rem; }
.dm-chrono-footer-note { margin:1.2rem 0 0;color:var(--muted);font-size:.9rem; }
/* =================== end /chrono-hub ========================================= */

/* ===================== /exodus1446 — WO37497 2026-09-17 ====================== */
.dm-exo-keystone-card { border-left:3px solid var(--accent,#c9a24b); }
.dm-exo-intro-p { margin-top:0; }
.dm-exo-caveat-p { color:var(--muted);font-size:.9rem;margin-bottom:0; }
.dm-exo-scroll-wrap { overflow-x:auto;margin:1.2rem 0; }
.dm-exo-table { width:100%;border-collapse:collapse; }
.dm-exo-td-tab { font-variant-numeric:tabular-nums; }
.dm-exo-ref { color:var(--muted);font-size:.85rem; }
.dm-exo-calc { color:var(--muted);font-size:.9rem; }
.dm-exo-src { color:#7c89a8;font-size:.82rem; }
.dm-exo-conclusion-card { margin-top:1.4rem;border-left:3px solid var(--accent,#c9a24b);padding:1.1rem; }
.dm-exo-conclusion-p { margin:0;color:var(--muted);font-size:.95rem; }
.dm-exo-note { color:var(--muted);font-size:.85rem;margin-top:1rem; }
/* =================== end /exodus1446 ========================================= */

/* ===================== /scriptorium-hub — WO37497 2026-09-17 ================= */
.dm-hub-cards-grid { display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:1rem;margin-top:1rem; }
/* =================== end /scriptorium-hub ==================================== */

/* ===================== /crex (creation-exodus-timeline) — WO37497 2026-09-17 = */
.dm-crex-tr-flood { background:rgba(127,178,255,0.07); }
.dm-crex-bridge-card { margin-top:1.4rem;border:1px solid var(--border);border-radius:12px;padding:1.1rem; }
.dm-crex-bridge-p { margin:0 0 .6rem;color:var(--muted);font-size:.95rem; }
.dm-crex-p0 { margin:0; }
/* =================== end /crex =============================================== */

/* ===================== /member-profile-header — WO37497 2026-09-17 =========== */
.dm-mph-container { max-width:860px;margin:0 auto;padding:1.25rem 1.4rem;border:1px solid var(--line,#2a2a3a);border-radius:8px;background:rgba(255,255,255,0.03); }
.dm-mph-not-found { margin:0;color:var(--muted); }
.dm-mph-avatar-row { display:flex;gap:1rem;align-items:center;flex-wrap:wrap; }
.dm-mph-avatar-img { width:72px;height:72px;border-radius:50%;object-fit:cover;flex:0 0 auto; }
.dm-mph-info { min-width:0;flex:1; }
.dm-mph-url-label { margin:0 0 0.25rem;color:var(--muted);font-size:0.9rem; }
.dm-mph-name { margin:0;font-size:1.45rem;line-height:1.2; }
.dm-mph-handle { margin:0.35rem 0 0;color:var(--accent,#c9a24b);font-weight:700; }
.dm-mph-bio { margin:1rem 0 0; }
.dm-mph-bio-empty { margin:1rem 0 0;color:var(--muted); }
.dm-mph-actions { display:flex;gap:0.7rem;flex-wrap:wrap;margin-top:1rem; }
.dm-mph-following-badge { opacity:0.7;cursor:default; }
.dm-mph-follow-form { display:inline; }
.dm-mph-follow-btn { font-size:0.9rem; }
.dm-mph-follow-hint { margin:0.6rem 0 0;color:var(--muted);font-size:0.82rem; }
/* =================== end /member-profile-header ============================== */

/* ===================== /lineage — WO37497 2026-09-17 ========================= */
/* lin_emit_verse */
.dm-lin-verse-block { margin:.5rem 0 .3rem;padding:.55rem .85rem;border-left:3px solid var(--accent,#c9a24b);background:rgba(255,255,255,0.03);font-style:italic;font-size:.92rem;line-height:1.55; }
.dm-lin-verse-cite { display:block;margin-top:.35rem;opacity:.7;font-style:normal;font-size:.82rem; }
.dm-lin-verse-ref { margin:.4rem 0;color:var(--muted);font-size:.85rem; }
/* lin_emit_spine_card */
.dm-lin-connector { text-align:center;color:var(--muted);font-size:.8rem;line-height:1.2;margin:.1rem 0; }
.dm-lin-connector-label { opacity:.7; }
.dm-lin-spine-card { max-width:760px;margin:0 auto;padding:.85rem 1rem;border:1px solid var(--line,#26304a);border-radius:12px; }
.dm-lin-card-hdr { display:flex;flex-wrap:wrap;gap:.4rem .8rem;align-items:baseline;justify-content:space-between; }
.dm-lin-spine-name { margin:0;font-size:1.12rem; }
.dm-lin-card-link { color:var(--accent,#c9a24b);text-decoration:none; }
.dm-lin-gen-label { color:var(--muted);font-size:.8rem; }
.dm-lin-gen-label-lg { color:var(--muted);font-size:.85rem; }
.dm-lin-card-note { margin:.25rem 0 0;color:var(--muted);font-size:.85rem; }
.dm-lin-card-links-p { margin:.5rem 0 0;font-size:.85rem; }
/* lin_emit_focus */
.dm-lin-focus-position { text-align:center;color:var(--muted);font-size:.85rem;margin:0 0 1rem; }
.dm-lin-section-label { max-width:760px;margin:0 auto .3rem;color:var(--muted);font-size:.9rem;text-transform:uppercase;letter-spacing:.05em; }
.dm-lin-section-label-2 { max-width:760px;margin:1.2rem auto .4rem;color:var(--muted);font-size:.9rem;text-transform:uppercase;letter-spacing:.05em; }
.dm-lin-relative-card { max-width:760px;margin:0 auto .4rem;padding:.7rem .95rem;border:1px solid var(--line,#26304a);border-radius:12px; }
.dm-lin-relative-name { margin:0 0 .15rem; }
.dm-lin-relative-p { margin:0;color:var(--muted);font-size:.85rem; }
.dm-lin-arrow { text-align:center;color:var(--muted);font-size:.8rem;margin:.1rem 0; }
.dm-lin-focus-card { max-width:760px;margin:0 auto;padding:1rem 1.1rem;border:1px solid var(--accent,#c9a24b);border-radius:14px;background:rgba(201,162,75,0.05); }
.dm-lin-focus-name { margin:0;font-size:1.5rem; }
.dm-lin-focus-note { margin:.35rem 0 0;color:var(--muted);font-size:.9rem; }
.dm-lin-child-card { max-width:760px;margin:0 auto .5rem;padding:.75rem 1rem;border:1px solid var(--line,#26304a);border-radius:12px; }
.dm-lin-promise-badge { color:#8fd19e;font-size:.72rem;font-weight:600;border:1px solid #3c6b48;border-radius:6px;padding:.05rem .35rem;vertical-align:middle; }
.dm-lin-branch-card { max-width:760px;margin:0 auto .5rem;padding:.7rem .95rem;border:1px solid var(--line,#26304a);border-radius:12px; }
.dm-lin-branch-note { margin:.2rem 0 0;color:var(--muted);font-size:.85rem; }
.dm-lin-no-children { max-width:760px;margin:0 auto;color:var(--muted);font-size:.88rem; }
.dm-lin-nav-row { max-width:760px;margin:1.3rem auto 0;display:flex;justify-content:space-between;gap:.6rem;flex-wrap:wrap; }
.dm-lin-back-p { text-align:center;margin-top:1rem; }
.dm-lin-back-link { color:var(--accent,#c9a24b);font-size:.9rem; }
/* dr_render_lineage */
.dm-lin-subhead { text-align:center;color:var(--muted);max-width:780px;margin:0 auto 1rem; }
.dm-lin-framing { max-width:780px;margin:0 auto 1.3rem;padding:.7rem .9rem;border-left:3px solid #7fb2ff;background:rgba(127,178,255,0.06);border-radius:0 8px 8px 0;color:var(--muted);font-size:.9rem; }
.dm-lin-framing-strong { color:#9cc2ff; }
.dm-lin-plumbline-wrap { max-width:780px;margin:0 auto 1.1rem; }
.dm-lin-search-form { display:flex;flex-wrap:wrap;gap:.6rem;align-items:center;justify-content:center;margin-bottom:.7rem; }
.dm-lin-search-input { flex:1 1 260px;min-width:200px;padding:.65rem .9rem;border-radius:8px;border:1px solid var(--line,#2a2a3a);background:rgba(255,255,255,0.04);color:inherit;font-size:1rem; }
.dm-lin-jump-nav { text-align:center;color:var(--muted);font-size:.85rem;margin:-.1rem 0 1.1rem; }
.dm-lin-not-found-card { max-width:760px;margin:0 auto 1rem;border:1px solid #e0a3a3;border-radius:12px;padding:.85rem 1.05rem; }
.dm-lin-not-found-p { margin:0;color:var(--muted); }
.dm-lin-filter-note { text-align:center;color:var(--muted);font-size:.85rem;margin:0 0 .8rem; }
.dm-lin-spine-list { display:flex;flex-direction:column;gap:.15rem; }
.dm-lin-no-results { text-align:center;color:var(--muted); }
.dm-lin-closing-nav { text-align:center;margin-top:1.5rem;display:flex;gap:.6rem;justify-content:center;flex-wrap:wrap; }
/* =================== end /lineage =========================================== */

/* ===================== /members-directory — WO37497 2026-09-17 ============== */
.dm-mdir-search-form { margin:0 auto 1.5rem;max-width:480px;display:flex;gap:0.5rem; }
.dm-mdir-search-input { flex:1;padding:0.5rem 0.8rem;border-radius:8px;border:1px solid var(--line,#2a2a3a);background:rgba(255,255,255,0.05);color:inherit;font-size:0.9rem; }
.dm-mdir-search-btn { padding:0.45rem 1rem; }
.dm-mdir-empty { text-align:center;color:var(--muted);padding:2rem 0; }
.dm-mdir-grid { display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:1rem;max-width:900px;margin:0 auto; }
.dm-mdir-card { border:1px solid var(--line,#2a2a3a);border-radius:10px;background:var(--card-bg,#14141e);padding:1.1rem 1rem;display:flex;flex-direction:column;gap:0.5rem; }
.dm-mdir-card-hdr { display:flex;align-items:center;gap:0.7rem; }
.dm-mdir-avatar-link { text-decoration:none; }
.dm-mdir-avatar-circle { width:44px;height:44px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#c9a24b,#e8c370);color:#0a0e1a;font-weight:900;font-size:1.15rem;flex:0 0 auto; }
.dm-mdir-card-info { flex:1;min-width:0; }
.dm-mdir-name-link { font-weight:700;color:var(--fg);text-decoration:none;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:block; }
.dm-mdir-handle { color:var(--muted);font-size:0.78rem; }
.dm-mdir-bio { margin:0;color:var(--muted);font-size:0.82rem;line-height:1.4;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden; }
.dm-mdir-follow-btn { text-align:center;font-size:0.82rem;padding:0.3rem 0; }
.dm-mdir-following { text-align:center;display:block;font-size:0.82rem;color:var(--muted);padding:0.3rem 0; }
.dm-mdir-pagination { display:flex;justify-content:center;gap:1rem;margin-top:1.5rem;flex-wrap:wrap; }
.dm-mdir-page-btn { padding:0.4rem 1rem; }
/* =================== end /members-directory ================================= */

/* ===================== /auth-panel — WO37497 2026-09-17 ===================== */
.dm-auth-signed-in-p { text-align:center;color:var(--muted); }
.dm-auth-signout-form { text-align:center;margin-top:1.2rem; }
.dm-auth-oauth-wrap { text-align:center;margin-top:1.2rem; }
.dm-auth-intro-p { color:var(--muted);font-size:0.95rem;margin:0 0 1rem;max-width:560px;margin-left:auto;margin-right:auto; }
.dm-auth-provider-btn { display:inline-flex;align-items:center;gap:0.6rem;padding:0.6rem 1.2rem;border:1px solid var(--line,#2a2a3a);border-radius:8px;text-decoration:none;color:inherit;background:rgba(255,255,255,0.03);font-size:0.95rem;font-weight:500; }
.dm-auth-apple-btn { display:inline-flex;align-items:center;gap:0.6rem;margin-left:0.6rem;padding:0.6rem 1.2rem;border:1px solid var(--line,#2a2a3a);border-radius:8px;text-decoration:none;color:#fff;background:#000;font-size:0.95rem;font-weight:500; }
.dm-auth-email-wrap { max-width:380px;margin:1.5rem auto 0; }
.dm-auth-divider { display:flex;align-items:center;gap:0.7rem;color:var(--muted);font-size:0.8rem;margin:0 0 1rem; }
.dm-auth-divider-line { flex:1;height:1px;background:var(--line,#2a2a3a); }
.dm-auth-form { margin:0 0 1.2rem; }
.dm-auth-input { width:100%;box-sizing:border-box;margin:0 0 0.6rem;padding:0.6rem 0.8rem;border-radius:8px;border:1px solid var(--line,#2a2a3a);background:rgba(10,10,16,0.92);color:inherit; }
.dm-auth-input-last { margin-bottom:0.8rem; }
.dm-auth-btn-full { width:100%; }
.dm-auth-forgot-p { text-align:center;margin:0.2rem 0 0; }
.dm-auth-forgot-link { color:var(--muted);font-size:0.85rem; }
.dm-auth-register-summary { cursor:pointer;color:var(--muted);font-size:0.9rem;text-align:center;margin:0 0 1rem; }
.dm-auth-error { text-align:center;color:#e88;margin-top:0.8rem; }
/* =================== end /auth-panel ======================================== */

/* ===================== /profile-card + avatar helpers — WO37497 2026-09-17 == */
.dm-pcard-form { max-width:560px;margin:0 auto;display:flex;flex-direction:column;gap:0.6rem; }
.dm-pcard-label { color:var(--muted);font-size:0.85rem; }
.dm-pcard-input { width:100%;margin-top:0.2rem;padding:0.6rem 0.8rem;border-radius:6px;border:1px solid var(--line,#2a2a3a);background:rgba(255,255,255,0.04);color:inherit; }
.dm-pcard-textarea { width:100%;margin-top:0.2rem;padding:0.6rem 0.8rem;border-radius:6px;border:1px solid var(--line,#2a2a3a);background:rgba(255,255,255,0.04);color:inherit;font-family:inherit; }
.dm-pcard-select { width:100%;margin-top:0.2rem;padding:0.6rem 0.8rem;border-radius:6px;border:1px solid var(--line,#2a2a3a);background:rgba(10,10,16,0.92);color:inherit; }
.dm-pcard-avatar-recipe-box { margin-top:0.4rem;padding:0.9rem;border:1px solid var(--line,#2a2a3a);border-radius:8px;background:rgba(255,255,255,0.025); }
.dm-pcard-avatar-recipe-h { margin:0 0 0.35rem;font-size:1rem; }
.dm-pcard-avatar-recipe-p { margin:0 0 0.7rem;color:var(--muted);font-size:0.8rem; }
.dm-pcard-check-label { display:flex;gap:0.55rem;align-items:flex-start;color:var(--muted);font-size:0.85rem; }
.dm-pcard-check-input { margin-top:0.2rem; }
.dm-pcard-privacy-note { margin:0;color:var(--muted);font-size:0.8rem; }
.dm-pcard-submit-row { text-align:right; }
.dm-pcard-signed-in-note { text-align:center;color:var(--muted);font-size:0.8rem;margin-top:0.5rem; }
/* =================== end /profile-card ====================================== */

/* ===================== /profile-listblock — WO37497 2026-09-17 ============== */
.dm-plist-ul { max-width:560px;margin:0 auto;list-style:none;padding:0; }
.dm-plist-li { padding:0.5rem 0;border-bottom:1px solid var(--line,#2a2a3a);color:var(--fg,#e8e8ef); }
.dm-plist-empty { text-align:center;color:var(--muted); }
.dm-plist-cta-wrap { text-align:center;margin-top:0.6rem; }
/* =================== end /profile-listblock ================================== */

/* ===================== /dave-ai (chat) — WO37497 2026-09-17 ================= */
.dm-chat-reply-box { max-width:720px;margin:0 auto 1rem;padding:1rem 1.2rem;border-left:3px solid var(--accent,#c9a24b);background:rgba(255,255,255,0.03);border-radius:8px; }
.dm-chat-dave-label { color:var(--accent,#c9a24b);font-weight:600;margin-bottom:0.4rem; }
.dm-chat-reply-p { margin:0;white-space:pre-wrap; }
.dm-chat-paywall-box { max-width:640px;margin:0 auto;padding:1.6rem 1.4rem;text-align:center;border:1px solid var(--line,#2a2a3a);background:rgba(201,162,75,0.06);border-radius:12px; }
.dm-chat-paywall-h { font-size:1.15rem;font-weight:600;color:var(--accent,#c9a24b);margin-bottom:0.5rem; }
.dm-chat-paywall-p1 { margin:0 0 0.4rem;color:var(--fg,#e8e8ef); }
.dm-chat-paywall-p2 { margin:0 0 1rem;color:var(--muted); }
.dm-chat-soon-p { margin:0.8rem 0 0;color:var(--muted);font-size:0.8rem; }
.dm-chat-paywall-apple { margin-left:0.5rem; }
.dm-chat-paywall-hint { margin:0.6rem 0 0;color:var(--muted);font-size:0.85rem; }
.dm-chat-form { max-width:720px;margin:0 auto;display:flex;flex-direction:column;gap:0.6rem; }
.dm-chat-textarea { width:100%;padding:0.8rem 1rem;border-radius:8px;border:1px solid var(--line,#2a2a3a);background:rgba(255,255,255,0.04);color:inherit;font-size:1rem;font-family:inherit; }
.dm-chat-form-footer { display:flex;justify-content:flex-end;align-items:center;gap:0.6rem; }
.dm-chat-thinking { color:var(--muted);font-size:0.85rem; }
.dm-chat-subscriber-note { text-align:center;color:var(--accent,#c9a24b);font-size:0.85rem;margin-top:0.6rem; }
.dm-chat-trial-note { text-align:center;color:var(--muted);font-size:0.85rem;margin-top:0.6rem; }
/* =================== end /dave-ai =========================================== */

/* ===================== /status — WO37497 2026-09-17 ========================= */
.dm-status-box { max-width:560px;margin:0 auto;padding:1.2rem 1.4rem;border:1px solid rgba(201,162,75,0.25);border-radius:12px;background:rgba(201,162,75,0.04);text-align:center; }
.dm-status-h { font-size:1.05rem;font-weight:600;color:var(--accent,#c9a24b);margin-bottom:0.4rem; }
.dm-status-dot { display:inline-block;width:8px;height:8px;border-radius:50%;background:#4caf50;margin-right:0.5rem;vertical-align:middle; }
.dm-status-p { margin:0;color:var(--muted);font-size:0.9rem; }
/* =================== end /status ============================================ */

/* ===================== /support (ark forms) — WO37497 2026-09-17 ============ */
.dm-ark-body-p { max-width:680px;margin:0 auto 1rem;text-align:center;color:var(--muted); }
.dm-ark-result { max-width:680px;margin:0 auto 1rem;padding:1rem 1.2rem;border-left:3px solid var(--accent,#c9a24b);background:rgba(255,255,255,0.03);border-radius:8px; }
.dm-ark-form { max-width:680px;margin:0 auto;display:flex;flex-direction:column;gap:0.6rem; }
.dm-ark-label { font-size:0.9rem;color:var(--muted); }
.dm-ark-input { padding:0.6rem 0.8rem;border-radius:6px;border:1px solid var(--line,#2a2a3a);background:rgba(255,255,255,0.04);color:inherit; }
.dm-chat-open-p { text-align:center;margin-top:0.4rem; }
.dm-chat-open-link { font-size:0.85rem; }
/* =================== end /support =========================================== */

/* ===================== /forums (threads) — WO37497 2026-09-17 =============== */
.dm-forum-guest-p { text-align:center;color:var(--muted);margin:0 auto 1rem;max-width:560px; }
.dm-forum-cta-center { text-align:center; }
.dm-thread-back-p { max-width:760px;margin:0 auto 0.8rem; }
.dm-thread-back-link { color:var(--muted);text-decoration:none;font-size:0.85rem; }
.dm-thread-title { max-width:760px;margin:0 auto 1rem; }
.dm-thread-posts { max-width:760px;margin:0 auto; }
.dm-thread-post { padding:1rem 1.2rem;border:1px solid var(--line,#2a2a3a);border-radius:10px;margin-bottom:0.8rem;background:rgba(255,255,255,0.02); }
.dm-thread-post-hdr { display:flex;justify-content:space-between;align-items:baseline;margin-bottom:0.4rem; }
.dm-thread-author { color:var(--accent,#c9a24b); }
.dm-thread-dave-badge { background:var(--accent,#c9a24b);color:#1a1a1a;font-size:0.7rem;padding:0.05rem 0.4rem;border-radius:4px;font-weight:700; }
.dm-thread-reltime { color:var(--muted);font-size:0.8rem; }
.dm-thread-reply-form { max-width:760px;margin:1rem auto 0.6rem;display:flex;flex-direction:column;gap:0.5rem; }
.dm-thread-textarea { width:100%;padding:0.7rem 0.9rem;border-radius:8px;border:1px solid var(--line,#2a2a3a);background:rgba(255,255,255,0.04);color:inherit;font-family:inherit; }
.dm-thread-ask-form { max-width:760px;margin:0 auto;display:flex;gap:0.5rem; }
.dm-thread-ask-input { flex:1;padding:0.6rem 0.9rem;border-radius:8px;border:1px solid var(--line,#2a2a3a);background:rgba(255,255,255,0.04);color:inherit; }
.dm-thread-sign-in-p { text-align:center;color:var(--muted);margin-top:1rem; }
.dm-dave-mark { background:rgba(201,162,39,0.28);color:inherit;border-radius:3px;padding:0 2px; }
/* =================== end /forums ============================================ */

/* ===================== /churches — WO37497 2026-09-17 ======================= */
.dm-church-search-form { max-width:760px;margin:0 auto 1.2rem;display:flex;gap:0.5rem;flex-wrap:wrap; }
.dm-church-q-input { flex:2 1 220px;padding:0.6rem 0.9rem;border-radius:8px;border:1px solid var(--line,#2a2a3a);background:rgba(255,255,255,0.04);color:inherit; }
.dm-church-city-input { flex:1 1 120px;padding:0.6rem 0.9rem;border-radius:8px;border:1px solid var(--line,#2a2a3a);background:rgba(255,255,255,0.04);color:inherit; }
.dm-church-state-input { flex:1 1 80px;padding:0.6rem 0.9rem;border-radius:8px;border:1px solid var(--line,#2a2a3a);background:rgba(255,255,255,0.04);color:inherit; }
.dm-church-results { max-width:760px;margin:0 auto; }
.dm-church-name { color:var(--accent,#c9a24b);font-size:1.05rem; }
.dm-church-web-link { color:inherit;text-decoration:none; }
.dm-church-loc { color:var(--muted);font-size:0.85rem;margin-top:0.15rem; }
.dm-church-desc { margin:0.4rem 0 0;font-size:0.92rem; }
.dm-church-map-link { font-size:0.8rem;color:var(--muted); }
.dm-church-success-p { text-align:center;color:var(--accent,#c9a24b);max-width:680px;margin:0 auto 1rem; }
.dm-church-input { padding:0.6rem 0.9rem;border-radius:8px;border:1px solid var(--line,#2a2a3a);background:rgba(255,255,255,0.04);color:inherit; }
.dm-church-row { display:flex;gap:0.5rem;flex-wrap:wrap; }
.dm-church-submit-city { flex:1 1 140px;padding:0.6rem 0.9rem;border-radius:8px;border:1px solid var(--line,#2a2a3a);background:rgba(255,255,255,0.04);color:inherit; }
.dm-church-submit-state { flex:1 1 120px;padding:0.6rem 0.9rem;border-radius:8px;border:1px solid var(--line,#2a2a3a);background:rgba(255,255,255,0.04);color:inherit; }
.dm-church-list-grid { display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:1rem;max-width:980px;margin:0 auto; }
.dm-church-list-card { border:1px solid var(--line,#2a2a3a);border-radius:10px;background:var(--card-bg,#14141e);padding:1.1rem 1rem; }
.dm-church-card-hdr { display:flex;align-items:center;gap:0.7rem;margin-bottom:0.6rem; }
.dm-church-card-icon { width:40px;height:40px;border-radius:8px;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#3a5a8c,#5a8abf);color:#fff;font-weight:900;font-size:1.1rem;flex:0 0 auto; }
.dm-church-card-name { margin:0;font-weight:700;color:var(--fg); }
.dm-church-card-denom { margin:0;font-size:0.78rem;color:var(--accent,#c9a24b); }
.dm-church-card-loc { margin:0 0 0.4rem;font-size:0.82rem;color:var(--muted); }
.dm-church-card-desc { margin:0 0 0.6rem;font-size:0.83rem;color:var(--muted);line-height:1.45; }
.dm-church-card-web { font-size:0.82rem;color:var(--accent,#c9a24b); }
/* =================== end /churches ========================================== */

/* ===================== /meetups — WO37497 2026-09-17 ======================== */
.dm-mt-banner { text-align:center;color:var(--accent,#c9a24b); }
.dm-mt-list-wrap { max-width:760px;margin:0 auto; }
.dm-mt-card { padding:1rem 1.2rem;border:1px solid var(--line,#2a2a3a);border-radius:10px;margin-bottom:0.8rem;background:rgba(255,255,255,0.02); }
.dm-mt-card-title { margin:0 0 0.3rem; }
.dm-mt-meta { color:var(--muted);font-size:0.85rem; }
.dm-mt-counts { color:var(--muted);font-size:0.85rem;margin-top:0.3rem; }
.dm-mt-card-desc { margin:0.4rem 0; }
.dm-mt-rsvp-row { margin-top:0.4rem;display:flex;gap:0.4rem;flex-wrap:wrap; }
.dm-mt-rsvp-form { display:inline; }
.dm-mt-rsvp-btn { padding:0.25rem 0.7rem;font-size:0.8rem; }
.dm-mt-signin-hint { margin-top:0.3rem;font-size:0.8rem; }
.dm-mt-signin-link { color:var(--muted); }
.dm-mt-empty { text-align:center;color:var(--muted); }
.dm-mt-guest-msg { text-align:center;color:var(--muted);margin:0 auto 1rem;max-width:560px; }
.dm-mt-guest-cta { text-align:center; }
.dm-mt-create-form { max-width:680px;margin:0 auto;display:flex;flex-direction:column;gap:0.6rem; }
.dm-mt-input { padding:0.6rem 0.9rem;border-radius:8px;border:1px solid var(--line,#2a2a3a);background:rgba(255,255,255,0.04);color:inherit; }
.dm-mt-textarea { width:100%;padding:0.7rem 0.9rem;border-radius:8px;border:1px solid var(--line,#2a2a3a);background:rgba(255,255,255,0.04);color:inherit;font-family:inherit; }
.dm-mt-input-row { display:flex;gap:0.5rem;flex-wrap:wrap; }
.dm-mt-input-city { flex:1 1 140px; }
.dm-mt-input-state { flex:1 1 80px; }
.dm-mt-date-label { color:var(--muted);font-size:0.85rem; }
.dm-mt-input-dt { width:100%;margin-top:0.2rem; }
.dm-mt-submit-row { text-align:right; }
/* =================== end /meetups =========================================== */

/* ===================== home sections (give/worship/stream/atlas) — WO37497 2026-09-17 === */
.dm-section-center { text-align:center; }
.dm-body-auto { margin:0 auto 2rem; }
.dm-body-auto-sm { margin:0 auto 1.5rem; }
.dm-body-auto-wide { margin:0 auto 2rem;max-width:680px; }
.dm-gv-quickgive { margin:0 auto 1.1rem;max-width:560px; }
.dm-wp-coming-soon { margin-top:1rem;color:var(--muted);font-size:0.9rem;max-width:560px;margin-left:auto;margin-right:auto; }
.dm-st-platform-btn { margin:0.5rem; }
/* =================== end home sections ====================================== */

/* ===================== /dave-chronology (dv_dc_*) — WO37497 2026-09-17 ===== */
.dm-dc-table-wrap { max-width:860px;margin:0 auto 1.5rem;overflow-x:auto; }
.dm-dc-table { width:100%;border-collapse:collapse;font-size:0.92rem; }
.dm-dc-th { text-align:left;padding:.5rem .7rem;border-bottom:1px solid var(--line,#2a2a3a);color:var(--accent,#c9a24b);font-size:.72rem;text-transform:uppercase;letter-spacing:.06em; }
.dm-dc-th-r { text-align:right; }
.dm-dc-td { padding:.55rem .7rem;border-bottom:1px solid var(--line,#2a2a3a); }
.dm-dc-td-date { white-space:nowrap;font-variant-numeric:tabular-nums; }
.dm-dc-td-cite { text-align:right;color:var(--muted);font-variant-numeric:tabular-nums; }
.dm-dc-count-p { max-width:760px;margin:0 auto 0.6rem;text-align:center;font-size:0.95rem; }
.dm-dc-note-p { max-width:760px;margin:0 auto 1.25rem;text-align:center;font-size:0.85rem;color:var(--muted); }
/* =================== end /dave-chronology =================================== */

/* ===================== /chronology-spine — WO37497 2026-09-17 =============== */
.dm-cs-body { max-width:760px;margin:0 auto 1.25rem;text-align:center;color:var(--muted); }
.dm-cs-note { max-width:760px;margin:0 auto;text-align:center;font-size:0.85rem;color:var(--muted); }
/* =================== end /chronology-spine ================================== */

/* ===================== /profile members-areas — WO37497 2026-09-17 ========== */
.dm-ma-wrap { max-width:760px;margin:1.2rem auto 0; }
.dm-ma-tier-p { text-align:center;margin:0 0 0.9rem; }
.dm-ma-tier-badge { display:inline-block;padding:0.25rem 0.85rem;border-radius:999px;background:rgba(201,162,75,0.15);color:var(--accent,#c9a24b);font-size:0.85rem;font-weight:600; }
.dm-ma-section-h { text-align:center;margin:0 0 0.8rem;color:var(--muted);font-size:0.95rem;font-weight:600;letter-spacing:0.02em; }
.dm-ma-tools-h { text-align:center;margin:1.2rem 0 0.8rem;color:var(--muted);font-size:0.95rem;font-weight:600;letter-spacing:0.02em; }
.dm-ma-grid { display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:0.8rem; }
.dm-ma-tools-grid { display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:0.7rem; }
.dm-ma-card { border:1px solid var(--line,#2a2a3a);border-radius:10px;padding:0.95rem;background:rgba(255,255,255,0.02);display:flex;flex-direction:column; }
.dm-ma-card-icon { font-size:1.5rem;line-height:1; }
.dm-ma-card-label { font-weight:600;margin:0.35rem 0 0.2rem; }
.dm-ma-card-teaser { color:var(--muted);font-size:0.8rem;line-height:1.35;flex:1;margin-bottom:0.7rem; }
.dm-ma-card-enter { display:block;text-align:center; }
.dm-ma-card-lock { display:block;text-align:center;padding:0.5rem;border-radius:8px;border:1px dashed var(--line,#2a2a3a);color:var(--muted);text-decoration:none;font-size:0.85rem; }
.dm-ma-tool-link { display:flex;align-items:center;gap:0.6rem;padding:0.7rem 0.9rem;border:1px solid var(--line,#2a2a3a);border-radius:10px;background:rgba(255,255,255,0.02);text-decoration:none;color:inherit; }
.dm-ma-tool-icon { font-size:1.3rem; }
.dm-ma-tool-label { font-weight:600;font-size:0.9rem; }
.dm-ma-tool-desc { color:var(--muted);font-size:0.75rem; }
/* =================== end /profile members-areas ============================= */

/* ===================== SaaS account summary — WO37497 2026-09-17 ============ */
.dm-sa-box { max-width:760px;margin:1.2rem auto 0;padding:1rem 1.1rem;border:1px solid var(--line,#2a2a3a);border-radius:10px;background:rgba(255,255,255,0.025); }
.dm-sa-h { margin:0 0 0.75rem;color:var(--accent,#c9a24b);font-size:1.05rem; }
.dm-sa-grid { display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:0.7rem; }
.dm-sa-label { color:var(--muted);font-size:0.78rem; }
.dm-sa-billing-link { color:var(--accent,#c9a24b);text-decoration:underline; }
.dm-sa-btn-row { display:flex;gap:0.6rem;flex-wrap:wrap;margin-top:0.9rem; }
.dm-sa-note { margin:0.75rem 0 0;color:var(--muted);font-size:0.8rem; }
/* =================== end SaaS account summary ================================ */

/* ===================== /feed composer — WO37497 2026-09-17 ================== */
.dm-fc-section { padding-top:2.5rem;padding-bottom:2.5rem; }
.dm-fc-posting-as { text-align:center;color:var(--muted);font-size:0.9rem; }
.dm-fc-form { max-width:680px;margin:0 auto;display:flex;flex-direction:column;gap:0.75rem; }
.dm-fc-chips { display:flex;gap:0.4rem;flex-wrap:wrap; }
.dm-fc-verse-input { width:100%;padding:0.55rem 0.9rem;border-radius:8px;border:1px solid var(--accent,#c9a24b);background:rgba(201,162,75,0.06);color:inherit;font-size:0.9rem;font-family:inherit; }
.dm-fc-textarea { width:100%;padding:0.8rem 1rem;border-radius:8px;border:1px solid var(--line,#2a2a3a);background:rgba(255,255,255,0.04);color:inherit;font-size:1rem;font-family:inherit; }
.dm-fc-submit-row { display:flex;justify-content:flex-end; }
/* =================== end /feed composer ===================================== */

/* /feed groups (communities sidebar) */
.dm-fg-card { max-width:680px;margin:0 auto 0.6rem;padding:0.7rem 1rem;border:1px solid var(--line,#2a2a3a);border-radius:8px; }
.dm-fg-count { color:var(--muted);font-size:0.8rem; }
.dm-fg-desc { margin:0.3rem 0 0;color:var(--muted);font-size:0.9rem; }
.dm-fg-empty { text-align:center;color:var(--muted); }
.dm-fg-cta { text-align:center;margin-top:0.6rem; }

/* trending scriptures */
.dm-ts-section { padding-top:2rem; }
.dm-ts-title { font-size:1.1rem; }
.dm-ts-item { display:flex;align-items:center;justify-content:space-between;margin:0 auto 0.4rem;max-width:680px;padding:0.5rem 0.9rem;border:1px solid var(--line,#2a2a3a);border-radius:8px;border-left:3px solid var(--accent,#c9a24b); }
.dm-ts-link { color:inherit;text-decoration:none;font-size:0.9rem; }
.dm-ts-empty { text-align:center;color:var(--muted);font-size:0.87rem; }

/* verse of the day */
.dm-vd-section { padding-top:1.5rem; }
.dm-vd-title { font-size:1rem;letter-spacing:0.08em;text-transform:uppercase; }
.dm-vd-card { max-width:680px;margin:0 auto;padding:1rem 1.25rem;background:rgba(201,162,75,0.07);border:1px solid rgba(201,162,75,0.3);border-left:4px solid #c9a24b;border-radius:8px; }
.dm-vd-text { margin:0 0 0.5rem;font-style:italic;line-height:1.65;color:var(--fg); }
.dm-vd-ref { color:#c9a24b;font-weight:700;font-size:0.9rem; }
.dm-vd-share-row { text-align:center;margin-top:0.85rem; }

/* people to follow */
.dm-ptf-list { max-width:680px;margin:0 auto;display:flex;flex-direction:column;gap:0.6rem; }
.dm-ptf-row { display:flex;align-items:center;gap:0.75rem;padding:0.6rem 0.85rem;border:1px solid var(--line,#2a2a3a);border-radius:8px;background:var(--card-bg,#14141e); }
.dm-ptf-avatar { width:38px;height:38px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#c9a24b,#e8c370);color:#0a0e1a;font-weight:900;font-size:1rem;flex:0 0 auto; }
.dm-ptf-info { flex:1;min-width:0; }
.dm-ptf-name { font-weight:600;color:var(--fg);text-decoration:none; }
.dm-ptf-handle { margin:0;color:var(--muted);font-size:0.8rem; }
.dm-ptf-form { flex:0 0 auto; }
.dm-ptf-btn { font-size:0.8rem;padding:0.25rem 0.75rem; }

/* forum categories */
.dm-fcat-grid { display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:1rem;max-width:900px;margin:0 auto; }
.dm-fcat-card { display:block;padding:1rem 1.2rem;border:1px solid var(--line,#2a2a3a);border-radius:10px;background:rgba(255,255,255,0.02);text-decoration:none;color:inherit; }
.dm-fcat-name { color:var(--accent,#c9a24b);font-size:1.05rem; }
.dm-fcat-desc { margin:0.3rem 0 0.5rem;color:var(--muted);font-size:0.9rem; }
.dm-fcat-count { color:var(--muted);font-size:0.8rem; }

/* forum recent threads */
.dm-fth-wrap { max-width:760px;margin:0 auto; }
.dm-fth-card { padding:0.8rem 1rem;border:1px solid var(--line,#2a2a3a);border-radius:8px;margin-bottom:0.6rem;background:rgba(255,255,255,0.02); }
.dm-fth-title { font-weight:600;color:var(--accent,#c9a24b);text-decoration:none; }
.dm-fth-meta { color:var(--muted);font-size:0.8rem;margin-top:0.2rem; }

/* chat rooms */
.dm-ch-wrap { max-width:760px;margin:0 auto; }
.dm-ch-room-card { display:block;padding:0.9rem 1.1rem;border:1px solid var(--line,#2a2a3a);border-radius:8px;margin-bottom:0.6rem;background:rgba(255,255,255,0.02);text-decoration:none;color:inherit; }
.dm-ch-room-name { color:var(--accent,#c9a24b); }
.dm-ch-room-meta { color:var(--muted);font-size:0.8rem; }
.dm-ch-room-topic { color:var(--muted);font-size:0.9rem;margin-top:0.2rem; }
.dm-ch-back-p { max-width:760px;margin:0 auto 0.6rem; }
.dm-ch-back-link { color:var(--muted);text-decoration:none;font-size:0.85rem; }
.dm-ch-header { max-width:760px;margin:0 auto 0.8rem; }
.dm-ch-room-h { margin:0 0 0.15rem;font-size:1.35rem;color:var(--accent,#c9a24b); }
.dm-ch-topic-p { margin:0;color:var(--muted);font-size:0.9rem; }
.dm-ch-present-p { max-width:760px;margin:0 auto 0.4rem;color:var(--muted);font-size:0.8rem; }
.dm-ch-log { max-width:760px;margin:0 auto;border:1px solid var(--line,#2a2a3a);border-radius:10px;padding:1rem;background:rgba(0,0,0,0.15);max-height:55vh;overflow-y:auto; }
.dm-ch-msg { margin-bottom:0.35rem;font-size:0.95rem; }
.dm-ch-msg-time { color:var(--muted);font-size:0.75rem; }
.dm-ch-msg-author { color:var(--accent,#c9a24b); }
.dm-ch-empty-msg { color:var(--muted);text-align:center;margin:0; }
.dm-ch-send-form { max-width:760px;margin:0.8rem auto 0;display:flex;gap:0.5rem; }
.dm-ch-send-input { flex:1;padding:0.6rem 0.9rem;border-radius:8px;border:1px solid var(--line,#2a2a3a);background:rgba(255,255,255,0.04);color:inherit; }
.dm-ch-guest-p { text-align:center;color:var(--muted);margin-top:0.8rem; }

/* utility */
.dm-btn-sm { font-size:0.85rem; }

/* bible reader */
.dm-br-wrap { max-width:720px;margin:0 auto;padding:0 1rem; }
.dm-reader-jump { display:flex;flex-wrap:wrap;gap:0.6rem;align-items:flex-end;margin-bottom:1.75rem; }
.dm-br-label { display:flex;flex-direction:column;gap:0.25rem;font-size:0.85rem;color:var(--muted); }
.dm-br-select { padding:0.55rem 0.6rem;background:var(--surface2);color:var(--text);border:1px solid var(--line,#2a2a3a);border-radius:6px;min-width:170px;font-size:0.95rem; }
.dm-br-input-ch { padding:0.55rem 0.6rem;background:var(--surface2);color:var(--text);border:1px solid var(--line,#2a2a3a);border-radius:6px;width:96px;font-size:0.95rem; }
.dm-br-notfound { color:var(--muted); }
.dm-br-chapter-title { font-size:1.5rem;margin-bottom:0.35rem; }
.dm-br-version-note { margin:0 0 1rem;color:var(--muted);font-size:0.85rem; }
.dm-br-tools { display:flex;flex-wrap:wrap;gap:0.6rem;margin:0 0 1.5rem; }
.dm-bible-chapter { line-height:1.85;font-size:1.05rem; }
.dm-verse-num { color:var(--accent,#c9a24b);font-size:0.72rem;margin-right:0.3rem;vertical-align:super;text-decoration:none; }
.dm-br-nav { display:flex;gap:1rem;margin-top:2rem;padding-top:1rem;border-top:1px solid var(--line,#2a2a3a); }
.dm-br-signin-cta { margin-top:1rem;color:var(--muted);font-size:0.85rem; }

/* bible daily verse */
.dm-dv-wrap { max-width:720px;margin:0 auto; }
.dm-dv-quote { border-left:3px solid var(--accent,#c9a24b);padding:1rem 1.25rem;margin:0 0 1rem;background:var(--card-bg,#14141e); }
.dm-dv-quote-text { font-size:1.1rem;margin:0 0 0.6rem; }
.dm-dv-cite { color:var(--accent,#c9a24b);font-style:normal;font-weight:600; }

/* bible search */
.dm-bs-form { display:flex;gap:0.75rem;max-width:560px;margin:0 auto; }
.dm-bs-input { flex:1; }

/* notifications */
.dm-notif-wrap { max-width:720px;margin:0 auto; }
.dm-notif-signin-p { color:var(--muted); }
.dm-notif-row { display:flex;gap:0.75rem;align-items:flex-start;padding:0.85rem 0;border-bottom:1px solid var(--line,#2a2a3a); }
.dm-notif-dot { width:8px;height:8px;border-radius:50%;background:var(--accent,#c9a24b);margin-top:6px;flex-shrink:0; }
.dm-notif-dot-read { width:8px;height:8px;flex-shrink:0; }
.dm-notif-kind { font-size:0.875rem;color:var(--muted); }
.dm-notif-body { color:var(--fg,#e8e8ef); }
.dm-notif-empty { color:var(--muted);margin-bottom:1rem; }

/* message compose */
.dm-mc-wrap { max-width:560px;margin:0 auto; }
.dm-mc-find-form { display:flex;gap:0.5rem;margin-bottom:1.5rem; }
.dm-mc-hint { color:var(--muted);font-size:0.875rem; }
.dm-mc-hint-sm { color:var(--muted);font-size:0.8rem; }

/* groups list + create */
.dm-grp-grid { display:grid;gap:1rem; }
.dm-grp-card { background:var(--card-bg,#14141e);border:1px solid var(--line,#2a2a3a);border-radius:8px;padding:1.1rem 1.25rem;display:flex;align-items:flex-start;gap:1rem; }
.dm-grp-info { flex:1; }
.dm-grp-name { font-weight:600;font-size:1rem;color:var(--fg,#e8e8ef); }
.dm-grp-desc { margin:0.3rem 0 0.5rem;color:var(--muted);font-size:0.875rem; }
.dm-grp-count { font-size:0.8rem;color:var(--muted); }
.dm-grp-actions { display:flex;flex-direction:column;gap:0.4rem;align-items:flex-end; }
.dm-grp-view-btn { font-size:0.85rem;padding:0.3rem 0.9rem; }
.dm-grp-join-btn { font-size:0.8rem;padding:0.25rem 0.75rem;background:transparent;border:none;color:var(--muted);text-decoration:underline;cursor:pointer; }
.dm-grp-guest-link { font-size:0.8rem;color:var(--accent,#c9a24b); }
.dm-grp-body-p { color:var(--muted);margin-bottom:1.25rem; }
.dm-grp-label { display:block;margin-bottom:0.9rem; }
.dm-grp-label-mb { display:block;margin-bottom:1rem; }
.dm-grp-field-label { font-size:0.85rem;color:var(--muted);display:block;margin-bottom:0.35rem; }
.dm-input-full { width:100%; }
.dm-textarea-resize { resize:vertical; }

/* bible reading plans — WO37497 2026-09-17 */
.dm-plan-cards { display:flex;flex-wrap:wrap;gap:16px;justify-content:center;margin-top:18px; }
.dm-plan-card { flex:1 1 260px;max-width:340px;border:1px solid var(--line,#333);border-radius:4px;padding:16px 18px;text-align:left; }
.dm-plan-card-title { margin:0 0 6px; }
.dm-plan-card-desc { color:var(--muted);margin:0 0 10px; }
.dm-plan-card-days { margin:0 0 12px;font-size:.9em;color:var(--muted); }
.dm-plan-empty { color:var(--muted);max-width:600px;margin:0 auto; }

/* the way calling / enroll — WO37497 2026-09-17 */
.dm-tw-body { max-width:680px;margin:0 auto 1rem; }
.dm-tw-body-tight { max-width:680px;margin:0 auto 0.4rem; }
.dm-tw-success { color:var(--accent,#c9a24b);max-width:560px;margin:0 auto 1rem; }
.dm-tw-error { color:#d98b8b;max-width:560px;margin:0 auto 1rem; }
.dm-tw-cta-p { margin:0 auto 1rem; }
.dm-tw-price { color:var(--muted);margin:0 auto 1.4rem; }
.dm-tw-form { margin:0; }
.dm-tw-muted-p { color:var(--muted);max-width:560px;margin:0 auto 1rem; }

/* book intro / slots — WO37497 2026-09-17 */
.dm-bi-body { max-width:680px;margin:0 auto 1rem;text-align:center;color:var(--muted); }
.dm-bi-types { max-width:760px;margin:0 auto;display:flex;gap:0.6rem;flex-wrap:wrap;justify-content:center; }
.dm-bi-type { display:block;flex:1 1 220px;text-decoration:none;color:inherit;padding:0.9rem 1rem;border-radius:10px;border:1px solid var(--line,#2a2a3a);background:rgba(255,255,255,0.02); }
.dm-bi-type-active { border-color:var(--accent,#c9a24b); }
.dm-bi-type-name { font-weight:600; }
.dm-bi-type-dur { color:var(--muted);font-weight:400;font-size:0.85rem; }
.dm-bi-type-blurb { color:var(--muted);font-size:0.85rem;margin-top:0.3rem; }
.dm-bs-booked { text-align:center;color:var(--accent,#c9a24b); }
.dm-bs-taken { text-align:center;color:#d98b8b; }
.dm-bs-signout { text-align:center;color:var(--muted);max-width:560px;margin:0 auto 1rem; }
.dm-bs-slot-card { display:flex;align-items:center;justify-content:space-between;gap:0.8rem;padding:0.8rem 1rem;border:1px solid var(--line,#2a2a3a);border-radius:10px;margin-bottom:0.6rem;background:rgba(255,255,255,0.02); }
.dm-bs-slot-when { font-weight:600; }
.dm-bs-slot-dur { color:var(--muted);font-size:0.85rem; }
.dm-bs-btn { padding:0.4rem 0.9rem; }
.dm-bs-empty { text-align:center;color:var(--muted); }

/* member profile — WO37497 2026-09-17 */
.dm-mph-avatar-initial { width:72px;height:72px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#c9a24b,#e8c370);color:#0a0e1a;font-size:2rem;font-weight:900;flex:0 0 auto; }
.dm-mpa-article { max-width:760px;margin:0 auto 1rem;padding:1rem 1.2rem;border:1px solid var(--line,#2a2a3a);border-radius:8px;background:rgba(255,255,255,0.02); }
.dm-mpa-header { display:flex;justify-content:space-between;gap:1rem;align-items:baseline;margin-bottom:0.5rem;flex-wrap:wrap; }
.dm-mpa-author { color:var(--accent,#c9a24b); }
.dm-mpa-ts { color:var(--muted);font-size:0.8rem; }
.dm-mpa-body { margin:0 0 0.6rem;white-space:pre-wrap; }
.dm-mpa-footer { display:flex;gap:1rem;flex-wrap:wrap;color:var(--muted);font-size:0.85rem; }
.dm-mpa-cta { text-align:center;margin-top:0.6rem; }
.dm-mpb-wrap { max-width:860px;margin:0 auto;padding:1.1rem 1.2rem;border:1px solid var(--line,#2a2a3a);border-radius:8px;background:rgba(255,255,255,0.025); }
.dm-mpb-grid { display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:0.75rem; }
.dm-mpb-badge { padding:0.85rem;border:1px solid var(--line,#2a2a3a);border-radius:8px;background:rgba(201,162,75,0.08); }
.dm-mpb-badge-meta { margin:0.35rem 0 0;color:var(--muted);font-size:0.85rem; }
.dm-mpb-empty { margin:0;color:var(--muted); }
.dm-mpb-note { margin:0.8rem 0 0;color:var(--muted);font-size:0.9rem; }

/* login gate — WO37497 2026-09-17 */
.dm-lg-wrap { max-width:600px;margin:0 auto;padding:2rem 1.4rem;text-align:center;border:1px solid var(--line,#2a2a3a);background:rgba(201,162,75,0.04);border-radius:12px; }
.dm-lg-title { font-size:1.1rem;font-weight:600;color:var(--accent,#c9a24b);margin-bottom:0.6rem; }
.dm-lg-body { margin:0 0 1rem;color:var(--fg,#e8e8ef); }
.dm-ml-sm { margin-left:0.5rem; }

/* dave social feed — WO37497 2026-09-17 */
.dm-dsf-verdict-card { max-width:760px;margin:0 auto 1.2rem;padding:1rem 1.4rem;border-left:3px solid var(--accent,#c9a24b);background:rgba(255,255,255,0.03);border-radius:8px; }
.dm-dsf-badge { display:inline-block;padding:0.2rem 0.8rem;border-radius:20px;font-size:0.8rem;font-weight:700;letter-spacing:0.05em;color:#fff;margin-bottom:0.5rem; }
.dm-dsf-summary { margin:0.4rem 0 0;color:var(--fg,#e8e8ef); }
.dm-dsf-updated { margin:0.4rem 0 0;color:var(--muted);font-size:0.8rem; }
.dm-dsf-pf-grid { max-width:760px;margin:0 auto;display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:0.8rem; }
.dm-dsf-pf-card { padding:1rem;border:1px solid var(--line,#2a2a3a);border-radius:10px;background:rgba(255,255,255,0.02); }
.dm-dsf-pf-hdr { display:flex;justify-content:space-between;align-items:center;margin-bottom:0.4rem; }
.dm-dsf-pf-link { font-weight:600;color:var(--fg,#e8e8ef);text-decoration:none; }
.dm-dsf-pf-badge { font-size:0.72rem;font-weight:700;padding:0.15rem 0.5rem;border-radius:12px;color:#fff; }
.dm-dsf-pf-note { margin:0;color:var(--muted);font-size:0.82rem; }
.dm-dsf-footer { text-align:center;color:var(--muted);font-size:0.8rem;margin-top:1rem; }
.dm-muted-p { color:var(--muted); }

/* world radar — WO37497 2026-09-17 */
.dm-wr-gate { color:var(--muted);font-size:0.9rem; }
.dm-wr-brief-title { font-size:1rem;font-weight:600;color:var(--accent,#c9a24b);margin-bottom:0.5rem; }
.dm-wr-meta { margin:0 0 0.2rem;color:var(--muted);font-size:0.8rem; }
.dm-wr-meta-last { margin:0;color:var(--muted);font-size:0.8rem; }
.dm-wr-domains { max-width:760px;margin:0 auto;display:flex;flex-direction:column;gap:0.8rem; }
.dm-wr-domain-card { padding:1rem 1.2rem;border-radius:10px; }
.dm-wr-domain-hdr { display:flex;align-items:center;gap:0.5rem;margin-bottom:0.4rem; }
.dm-wr-domain-name { font-weight:600;color:var(--fg,#e8e8ef); }
.dm-wr-domain-badge { font-size:0.72rem;font-weight:700;padding:0.1rem 0.5rem;border-radius:12px;color:#fff;margin-left:auto; }
.dm-wr-domain-alert { margin:0 0 0.3rem;font-weight:600;font-size:0.9rem;color:var(--fg,#e8e8ef); }
.dm-wr-domain-sum { margin:0;color:var(--muted);font-size:0.85rem; }

/* access gate — WO37497 2026-09-17 */
.dm-ag-wrap { max-width:820px;text-align:center; }
.dm-ag-prompt { color:var(--muted);max-width:640px;margin:0 auto 1.1rem; }

/* dncz search / oracle results — WO37497 2026-09-17 */
.dm-sr-id { color:var(--muted); }
.dm-sr-path { word-break:break-all;font-size:0.85rem; }
.dm-sr-snip { color:var(--muted);font-size:0.85rem; }
.dm-oracle-answer { border-left:3px solid var(--accent,#c9a24b); }
.dm-oracle-h { margin-top:0; }
.dm-oracle-note { color:var(--muted);font-size:0.9rem; }
.dm-oracle-atom-id { color:var(--accent,#c9a24b); }

/* study entry / commentary / atlas — WO37497 2026-09-17 */
.dm-snote-mb { margin-bottom:1rem; }
.dm-commentary-meta { font-size:0.82rem;color:var(--muted); }
.dm-atlas-art-frame { margin:2rem 0;border-radius:16px;overflow:hidden;max-width:640px;border:1px solid var(--border);box-shadow:0 0 40px rgba(240,201,99,0.12); }
.dm-img-block { width:100%;display:block; }

/* scriptorium star / route engines — WO37497 2026-09-17 */
.dm-chart-legend { display:flex;flex-wrap:wrap;gap:.6rem 1.1rem;margin:-.4rem 0 1rem;font-size:.85rem;color:var(--muted); }
.dm-chart-legend-dot { display:inline-block;width:10px;height:10px;border-radius:50%;margin-right:5px; }
.dm-scr-dot { display:inline-block;width:9px;height:9px;border-radius:50%;margin-right:6px; }
.dm-cg-body { max-width:680px;margin:0 auto 1.2rem;text-align:center;color:var(--muted); }

/* tabernacle engine — WO37497 2026-09-17 */
.dm-tab-form { margin:1rem 0;display:flex;gap:.5rem;align-items:center;flex-wrap:wrap; }
.dm-tab-input { width:6rem;padding:.4rem .55rem;background:#0b1020;color:var(--fg,#e7ecf5);border:1px solid var(--border,#26304a);border-radius:8px; }
.dm-tab-summary { margin:.2rem 0 1rem;color:var(--muted);font-size:.9rem; }
.dm-td-sm-muted { padding:.5rem;color:var(--muted);font-size:.9rem; }
.dm-scr-h3 { margin:1.5rem 0 .4rem; }
.dm-tab-color-grid { display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:.7rem; }
.dm-tab-color-card { padding:.75rem .9rem; }
.dm-tab-verse-grid { display:grid;gap:.6rem; }
.dm-tab-verse-card { border:1px solid var(--border);border-radius:10px;padding:.75rem .9rem; }
.dm-tab-verse-ref { font-size:.8rem;color:var(--accent,#c9a24b);margin-bottom:.25rem; }
.dm-m0 { margin:0; }
.dm-tab-kjv-src { color:var(--muted);font-size:.82rem; }
.dm-tab-footer-p { margin:1.3rem 0 0;color:var(--muted);font-size:.9rem; }
.dm-no-decor { text-decoration:none; }

/* eschatology engine — WO37497 2026-09-17 */
.dm-esc-filter-row { display:flex;flex-wrap:wrap;gap:.45rem;margin:1rem 0 .2rem; }
.dm-esc-fl { text-decoration:none;font-size:.88rem; }
.dm-esc-view-card { border:1px solid var(--border);border-radius:12px;padding:1rem 1.1rem;margin:1rem 0; }
.dm-esc-dave-label { font-size:.72rem;text-transform:uppercase;letter-spacing:.08em;color:var(--accent,#c9a24b);margin-bottom:.3rem; }
.dm-esc-h3 { margin:0 0 .35rem; }
.dm-esc-hist { margin:0 0 .5rem;color:var(--muted);font-size:.88rem; }
.dm-esc-claim { margin:0 0 .55rem; }
.dm-esc-strength { margin:0 0 .4rem;color:#9ae6b4;font-size:.9rem; }
.dm-esc-challenge { margin:0 0 .55rem;color:#e0915f;font-size:.9rem; }
.dm-esc-key-texts { margin:0;color:var(--muted);font-size:.88rem; }
.dm-esc-proponents { margin:.5rem 0 0;color:#7c89a8;font-size:.78rem; }
.dm-esc-quote { margin:.7rem 0 0;padding:.6rem .75rem;border-left:3px solid var(--border); }

/* =================== end /churches ========================================== */

/* =================== profile-display + commission-form + newsletter — WO37497 2026-09-17 ========= */
.dm-pdisp-box { max-width:760px;margin:0 auto;padding:1.2rem 1.4rem;border:1px solid var(--line,#2a2a3a);border-radius:8px;background:rgba(255,255,255,0.03); }
.dm-pdisp-url-label { margin:0 0 .35rem;color:var(--muted);font-size:.9rem; }
.dm-pdisp-handle { margin:0 0 .9rem;font-size:1.25rem;font-weight:700; }
.dm-pdisp-note { margin:.8rem 0 0;color:var(--muted);font-size:.9rem; }
.dm-pdisp-cta-wrap { margin:1rem 0 0; }
.dm-section-body--flush { margin:0; }
.dm-form-intro { max-width:680px;margin:0 auto 1.6rem;color:var(--muted); }
.dm-form-stack { max-width:680px;margin:0 auto;display:flex;flex-direction:column;gap:.9rem;text-align:left; }
.dm-form-stack--narrow { max-width:460px; }
.dm-honeypot { position:absolute;left:-9999px;width:1px;height:1px;opacity:0; }
.dm-form-label { font-weight:600; }
.dm-form-label--gold { font-weight:600;color:var(--gold,#c9a24b); }
.dm-form-label-optional { color:var(--muted);font-weight:400; }
.dm-form-textarea { width:100%;margin-top:.45rem;padding:.9rem 1rem;border-radius:8px;border:1px solid var(--line,#2a2a3a);background:rgba(255,255,255,0.04);color:inherit;font-size:1rem;font-family:inherit;resize:vertical; }
.dm-form-grid-2 { display:grid;grid-template-columns:1fr 1fr;gap:.9rem; }
.dm-form-input { width:100%;margin-top:.45rem;padding:.7rem .9rem;border-radius:6px;border:1px solid var(--line,#2a2a3a);background:rgba(255,255,255,0.04);color:inherit;font-family:inherit; }
.dm-form-privacy { color:var(--muted);font-size:.88rem;margin:.2rem 0 0; }

/* =================== estate-atlas + estate-related — WO37497 2026-09-17 ========= */
.dm-atlas-intro { margin:.2rem 0 1.4rem;color:var(--muted);font-size:.95rem;line-height:1.6; }
.dm-atlas-wing-h { margin:1.7rem 0 .7rem;font-size:1.05rem;color:var(--accent,#c9a24b);border-bottom:1px solid var(--border,#26304a);padding-bottom:.35rem; }
.dm-atlas-grid { display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:1rem; }
.dm-atlas-card { display:block;text-decoration:none;color:inherit;padding:1rem 1.1rem; }
.dm-atlas-card h4 { margin:0 0 .4rem;font-size:1rem; }
.dm-atlas-card-blurb { margin:0 0 .55rem;color:var(--muted);font-size:.9rem;line-height:1.55; }
.dm-atlas-card-href { color:var(--accent,#c9a24b);font-size:.85rem; }
.dm-atlas-note { margin:1.3rem 0 0;color:var(--muted);font-size:.86rem; }
.dm-estate-related { margin:1.6rem 0 0;padding:1.1rem 1.2rem; }
.dm-estate-related-h { font-size:.72rem;text-transform:uppercase;letter-spacing:.08em;color:var(--muted);margin-bottom:.5rem; }
.dm-estate-related-list { margin:0;padding:0;list-style:none;display:flex;flex-direction:column;gap:.45rem;font-size:.95rem; }
.dm-estate-link { color:var(--accent,#c9a24b);text-decoration:none; }

/* =================== mesh/benchmark sections — WO37497 2026-09-17 ========= */
.dm-mesh-intro { margin:.2rem 0 1.1rem;color:var(--muted);font-size:.9rem;line-height:1.6; }
.dm-mesh-grid { display:grid;grid-template-columns:repeat(auto-fit,minmax(270px,1fr));gap:1rem; }
.dm-mesh-subh { margin:1.6rem 0 .5rem;font-size:1.05rem;color:var(--fg,#e7ecf5); }
.dm-mesh-body { margin:0;color:var(--muted);font-size:.92rem;line-height:1.6; }
.dm-mesh-note { margin:1.1rem 0 0;color:var(--muted);font-size:.88rem; }

/* =================== home today strip / eyebrow / compact card — WO37497 2026-09-17 ========= */
.dm-card--compact { padding:1rem 1.1rem; }
.dm-eyebrow { font-size:.72rem;text-transform:uppercase;letter-spacing:.08em;color:var(--accent,#c9a24b);margin-bottom:.35rem; }
.dm-today-verse-bq { margin:0;font-style:italic;color:var(--fg,#e7ecf5); }
.dm-today-verse-ref { margin:.45rem 0 0;color:var(--muted);font-size:.85rem; }
.dm-today-verse-miss { margin:0;color:var(--muted); }
.dm-today-feast-name { margin:0;font-weight:600; }
.dm-today-feast-when { margin:.35rem 0 0;color:var(--muted);font-size:.9rem; }
.dm-today-feast-links { margin:.55rem 0 0; }

/* =================== research-limits — WO37497 2026-09-17 ========= */
.dm-rl-form { display:flex;flex-wrap:wrap;gap:.6rem;align-items:center;justify-content:center;margin-bottom:1rem; }
.dm-rl-input { flex:1 1 360px;min-width:260px;padding:.7rem 1rem;border-radius:8px;border:1px solid var(--line,#2a2a3a);background:rgba(255,255,255,0.04);color:inherit;font-size:1rem; }
.dm-card--blocked { border:1px solid #e0a3a3;border-left:4px solid #d05a5a;border-radius:12px;padding:1rem 1.1rem;margin-bottom:1rem; }
.dm-card--allowed { border:1px solid #9ec6a0;border-left:4px solid #5aa060;border-radius:12px;padding:1rem 1.1rem;margin-bottom:1rem; }
.dm-rl-status-h--blocked { font-weight:700;color:#e08a8a;margin-bottom:.3rem; }
.dm-rl-status-h--allowed { font-weight:700;color:#8fd197;margin-bottom:.3rem; }
.dm-rl-subh { margin:1.1rem 0 .4rem; }
.dm-rl-desc { color:var(--muted);font-size:.9rem;margin:.1rem 0 .6rem; }
.dm-rl-tags { display:flex;flex-wrap:wrap;gap:.4rem; }
.dm-rl-tag { padding:.25rem .55rem;border-radius:999px;background:rgba(208,90,90,0.12);border:1px solid #b06a6a;font-size:.82rem; }
.dm-search-note { color:var(--muted);font-size:.85rem;margin-top:1rem; }

/* =================== measure-verdict — WO37497 2026-09-17 ========= */
.dm-mv-no-verdict { color:var(--muted); }
.dm-mv-summary { margin:0 0 1.25rem;line-height:1.65;font-size:.93rem; }
.dm-mv-section-wrap { margin-bottom:1.25rem; }
.dm-mv-section-h { font-size:.88rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;margin-bottom:.5rem; }
.dm-mv-cite-row { padding:.55rem .75rem;background:var(--bg-alt,#f5f5f2);border-radius:0 4px 4px 0;margin-bottom:.45rem; }
.dm-mv-cite-ref { font-size:.85rem; }
.dm-mv-cite-txt { font-size:.85rem;font-style:italic;color:var(--muted); }
.dm-mv-cite-why { margin:.2rem 0 0;font-size:.8rem;color:var(--muted); }
.dm-mv-fc-row { padding:.35rem .6rem;font-size:.8rem;margin-bottom:.3rem;border-radius:0 3px 3px 0;background:var(--bg-alt,#f5f5f2); }
.dm-mv-footer { text-align:center;margin-top:1.5rem;font-size:.83rem;color:var(--muted); }
.dm-mv-footer a { color:var(--muted); }

/* =================== measure-page — WO37497 2026-09-17 ========= */
.dm-measure-section { max-width:680px;margin:1.5rem auto;padding:0 1rem; }
.dm-measure-section--top { max-width:680px;margin:2rem auto;padding:0 1rem; }
.dm-measure-warn { color:#c47800;margin-bottom:1rem; }
.dm-measure-h1 { font-size:1.15rem;font-weight:700;margin-bottom:.4rem; }
.dm-measure-desc { color:var(--muted);margin-bottom:1.25rem;font-size:.87rem; }
.dm-measure-by { font-size:.82rem;color:var(--muted);margin-bottom:.5rem; }
.dm-measure-ta { width:100%;padding:.75rem;border:1px solid var(--border,#ddd);border-radius:6px;font-size:.9rem;background:var(--bg);color:var(--text);resize:vertical; }
.dm-measure-submit { margin-top:.75rem; }

/* =================== gods-math card helpers — WO37497 2026-09-17 ========= */
.dm-card--gm { border:1px solid var(--border);border-radius:14px;padding:1.2rem 1.25rem;margin:1.1rem 0; }
.dm-gm-card-h3 { margin:0 0 .7rem;font-size:1.18rem; }
.dm-gm-honest { margin:.8rem 0 0;padding:.65rem .8rem;border-left:3px solid #7fb2ff;background:rgba(127,178,255,0.06);border-radius:0 8px 8px 0;color:var(--muted);font-size:.88rem; }
.dm-gm-honest strong { color:#9cc2ff; }

/* =================== status card — WO37497 2026-09-17 ========= */
.dm-card--status { border:1px solid var(--border);border-radius:12px;padding:1.1rem 1.2rem; }
.dm-status-header { display:flex;align-items:center;gap:.55rem;margin-bottom:.45rem; }
.dm-status-dot { display:inline-block;width:9px;height:9px;border-radius:50%;flex:0 0 auto; }
.dm-status-label { font-size:.72rem;text-transform:uppercase;letter-spacing:.08em;color:var(--muted); }
.dm-status-value { font-size:1.05rem;font-weight:600;color:var(--fg,#e7ecf5);margin-bottom:.35rem; }
.dm-status-note { margin:0;color:var(--muted);font-size:.88rem;line-height:1.5; }

/* =================== wiki search form — WO37497 2026-09-17 ========= */
.dm-wiki-search { display:flex;gap:.5rem;flex-wrap:wrap;margin:.75rem 0 1rem; }
.dm-wiki-search-input { flex:1 1 18rem;padding:.55rem .7rem;border:1px solid var(--border);border-radius:8px;background:var(--panel2,#11151d);color:inherit; }
.dm-wiki-search-btn { padding:.55rem 1.1rem;border:1px solid var(--accent,#c9a24b);border-radius:8px;background:transparent;color:var(--accent,#c9a24b);cursor:pointer; }

/* =================== feed post-type chips — WO37497 2026-09-17 ========= */
.fpc-chip { padding:.3rem .85rem;border-radius:999px;border:1px solid var(--line,#2a2a3a);background:transparent;color:inherit;font-size:.82rem;cursor:pointer; }
.fpc-chip.fpc-active { border-color:var(--accent,#c9a24b);background:var(--accent,#c9a24b);color:#000; }

/* =================== wiki catalog items + letter-nav — WO37497 2026-09-17 ========= */
.dm-card-h4 { margin:0 0 .2rem; }
.dm-wiki-italic { margin:0;font-style:italic;color:var(--muted);font-size:.85rem; }
.dm-wiki-role { margin:0;color:var(--muted);font-size:.85rem; }
.dm-wiki-tag-row { margin:.35rem 0 0; }
.dm-wiki-pager { margin-top:1rem; }
.dm-wiki-ref-link { color:var(--accent,#c9a24b);font-size:.85rem; }
.dm-letter-nav { display:flex;flex-wrap:wrap;gap:.35rem;margin:.5rem 0 0; }
.dm-letter-link { display:inline-block;min-width:1.9rem;text-align:center;padding:.3rem .1rem;border:1px solid var(--border);border-radius:6px;color:var(--accent,#c9a24b);text-decoration:none; }
.dm-link-muted { color:var(--muted); }

/* =================== lane-ribbon — WO37497 2026-09-17 ========= */
.dm-lane-ribbon { display:flex;flex-wrap:wrap;align-items:center;gap:.6rem;justify-content:center;max-width:1100px;margin:.6rem auto 0;padding:.55rem 1rem;border:1px solid var(--accent,#c9a24b);border-radius:8px;background:var(--card-bg,#14141e);font-size:.92rem; }
.dm-lane-ribbon-label { color:var(--accent,#c9a24b);font-weight:700;letter-spacing:.04em;text-transform:uppercase;font-size:.72rem; }
.dm-lane-ribbon-kicker { color:var(--muted,#9aa); }
.dm-btn--xs { font-size:.85rem;padding:.3rem .85rem; }

/* =================== signet table — WO37497 2026-09-17 ========= */
.dm-signet-wrap { display:flex;flex-wrap:wrap;gap:1.2rem;align-items:center;justify-content:center; }
.dm-signet-detail { flex:1;min-width:240px;max-width:420px;font-size:.92rem; }
.dm-signet-table { width:100%;border-collapse:collapse; }
.dm-signet-tr { border-bottom:1px solid var(--border); }
.dm-signet-td { padding:.45rem; }
.dm-signet-td--lbl { padding:.45rem;color:var(--muted); }
.dm-signet-td--mono { padding:.45rem;font-family:monospace;color: var(--gold);word-break:break-all; }
.dm-signet-td--braille { padding:.45rem;font-size:1.35rem;letter-spacing:.08em;line-height:1.5; }
.dm-signet-td--coords { padding:.45rem;font-family:monospace;font-size:.78rem;color:#e7d7a8;line-height:1.55; }
.dm-signet-td--density { padding:.45rem;font-variant-numeric:tabular-nums; }
.dm-signet-honest { margin:.85rem 0 0;padding:.65rem .8rem;border-left:3px solid #7fb2ff;background:rgba(127,178,255,0.06);border-radius:0 8px 8px 0;color:var(--muted);font-size:.88rem; }
.dm-signet-honest strong { color:#9cc2ff; }
img.dm-figure-img { max-width:100%;border-radius:8px; }
.dm-mv-section-h { color:var(--muted); }
.dm-mv-score-sm { font-weight:400;font-size:.78rem; }
.dm-section-body--narrow { max-width:60ch; }
svg.dm-signet-svg { background:#0b1020;border:1px solid var(--line,#26304a);border-radius:14px;max-width:100%;height:auto; }

/* ══════════════════════════════════════════════════════════════════════════
   DESIGN PASS 2026-09-22 — measured defects, not taste changes.
   Each rule below was verified in-browser (computed values before/after) at
   1200px and 375px before being written here. Appended last so it overrides
   the earlier base rules by source order at equal specificity; no !important.
   ══════════════════════════════════════════════════════════════════════════ */

/* 1. ORPHAN GRID COLUMN. .dm-corridor-grid used auto-FILL, which keeps empty
      tracks. The homepage section has 3 cards in a 4-track grid, so the cards
      rendered 247px wide clustered left with a dead 247px column on the right.
      auto-FIT collapses the empty track: measured 3 x 334px filling the full
      1036px. Identical behaviour when a row is full, so this is safe anywhere. */
.dm-corridor-grid { grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)); }

/* 2. 4+2 ORPHAN ROW. "Six Rooms" has exactly 6 cards; auto-fit gave 4 columns,
      leaving a stranded row of 2. A quantity query targets only the 6-item case
      (3+3) and leaves every other count alone. Dropped entirely by browsers
      without :has(), which simply restores the previous layout. */
.dm-lanes:has(> :last-child:nth-child(6)) { grid-template-columns: repeat(3, 1fr); }

/* 3. ALIGNMENT INCOHERENCE. Section headings are left-aligned, but this intro
      paragraph was margin:0 auto + text-align:center, so it floated centred
      under a left-aligned heading above a left-aligned card grid. Three
      different alignments in one section is the main "unfinished" tell. */
.dm-cg-body { margin-left: 0; margin-right: 0; text-align: left; }

@media (max-width: 900px) {
  /* 4. NO GUTTER ON THE SCRIPTURE BLOCK. These two were the only elements on
        the page with zero horizontal inset — the Hebrew ran hard into both
        screen edges, which is the FIRST thing a phone visitor sees. (Every
        .dm-section already carries 32px; only these sat outside it.) */
  .dm-scripture-anchor,
  .dm-scripture-orig { padding-left: 20px; padding-right: 20px; }

  /* 5. DESKTOP SPACING ON A PHONE. 72px section padding top and bottom stacked
        into 144-176px gaps before every section title — over 20% of an 812px
        screen doing nothing. 44px measured back to an 88px inter-section gap. */
  .dm-section { padding-top: 44px; padding-bottom: 44px; }

  /* 6. CRAMPED WRAPPED HEADINGS. Georgia at 1.08 line-height is tight even on
        one line; on a phone these wrap to two and the descenders of one line
        nearly touch the caps of the next. */
  h1, h2, .dm-section-title { line-height: 1.18; }
}

/* 7. BODY COPY SHRANK ON PHONES. Measured: .dm-section-body is 1.02rem (16.3px)
      on desktop but the mobile rules cut it to 0.92rem (14.7px), and the 360px
      rules to 0.88rem (14.1px) — smaller text on the smaller screen, which is
      backwards, and it applies to all 830 pages. This is the reading surface of
      a ministry whose stated reason for existing is that Scripture should be
      easy to read. 1rem is the browser default and the floor for long-form body
      text; overflow-wrap:anywhere is already set above, so nothing can spill. */
@media (max-width: 900px) {
  .dm-section-body { font-size: 1rem; line-height: 1.7; }
}
@media (max-width: 360px) {
  .dm-section-body { font-size: 1rem; }
}

/* 8. FLOATING BACK-TO-TOP LET TEXT THROUGH. It combined a translucent
      background (rgba(2,5,7,.78)) WITH element opacity .85 — an effective ~.66,
      so body copy underneath showed through the control and read as a rendering
      glitch rather than a button. Measured on a wiki page where it sat over a
      paragraph. Opaque surface + full opacity makes it a deliberate raised
      control; the blur and border stay. */
.dm-btt {
  background: var(--surface);
  opacity: 1;
}

/* 9. THE ENGLISH BESIDE THE ORIGINAL. 458 pages open with `TOP scripture_anchor`; 456
      render the Hebrew or Greek and NONE carried a translation, so every one of them
      greeted a visitor with a line they could not read, under a small grey reference.
      For a site whose promise is that the whole Bible is open to everyone, that was the
      first impression working against the claim.

      Sized and centred to sit with .dm-scripture-orig above it (same 38rem measure), but
      quieter: the original stays the hero of the pair, the English makes it legible.
      Pairing the two IS the product in miniature -- it is what every verse page does. */
.dm-scripture-anchor-en {
  /* .dm-scripture-orig-anchor deliberately overrides the shared hero centering with
     `margin: .15rem 0 0` -- the anchor line sits LEFT, not centred. Match it, or the
     translation floats centre under a left-aligned original. */
  max-width: 38rem;
  margin: .5rem 0 0;
  font-size: .95rem;
  line-height: 1.7;
  color: var(--muted);
  font-style: italic;
}
@media (max-width: 900px) {
  .dm-scripture-anchor-en { padding-left: 20px; padding-right: 20px; font-size: 1rem; }
}
