/* Verzi Ledger. Shared by the docs landing and the public pages that used
   the midnight theme. Tokens match verzi.health. Gold is a graphical
   highlight only; warning text uses --amber so it stays readable. */

:root {
  --ink: #0B1F2A;
  --paper: #F7F6F2;
  --surface: #fff;
  --sunk: #EFEDE6;
  --muted: #5B6B73;
  --faint: #7A8A90;
  --line: #DCD8CC;
  --line-strong: #C9C3B4;
  --green: #1F8A5B;
  --green-dk: #18744C;
  --green-soft: #E4F3EB;
  --green-hi: #D7EFE4;
  --green-line: #8FCBB0;
  --gold: #C9A227;
  --amber: #8A7010;
  --red: #9B2335;
  --shadow: 0 1px 0 rgba(11, 31, 42, .04), 0 12px 34px -18px rgba(11, 31, 42, .28);
  --sans: "IBM Plex Sans", system-ui, sans-serif;
  --mono: "IBM Plex Mono", ui-monospace, monospace;
  /* Names the midnight pages already use, pointed at the Ledger tokens. */
  --bg: var(--paper);
  --text: var(--ink);
  --text-2: var(--muted);
  --text-3: var(--faint);
  --border: var(--line);
  --border-light: var(--line-strong);
  --accent: var(--green);
  --accent-dim: var(--green-soft);
  --accent-bright: var(--green);
  --surface-2: var(--sunk);
  --body: var(--sans);
  color-scheme: light;
}

@media (prefers-color-scheme: dark) {
  :root {
    --ink: #F7F6F2;
    --paper: #0B1F2A;
    --surface: #12303F;
    --sunk: #081820;
    --muted: #9DB0B9;
    --faint: #7F98A3;
    --line: #1E3A48;
    --line-strong: #2A4757;
    --green: #34B27B;
    --green-dk: #34B27B;
    --green-soft: #143528;
    --green-hi: #1A4A36;
    --green-line: #2A6B4C;
    --amber: #E4C56A;
    --red: #FF8A8A;
    --shadow: 0 1px 0 rgba(0, 0, 0, .3), 0 18px 40px -20px rgba(0, 0, 0, .7);
    color-scheme: dark;
  }
  :root:not([data-theme="light"]) .mark .logo-light { display: none; }
  :root:not([data-theme="light"]) .mark .logo-dark { display: block; }
}

:root[data-theme="light"] {
  --ink: #0B1F2A;
  --paper: #F7F6F2;
  --surface: #fff;
  --sunk: #EFEDE6;
  --muted: #5B6B73;
  --faint: #7A8A90;
  --line: #DCD8CC;
  --line-strong: #C9C3B4;
  --green: #1F8A5B;
  --green-dk: #18744C;
  --green-soft: #E4F3EB;
  --green-hi: #D7EFE4;
  --green-line: #8FCBB0;
  --amber: #8A7010;
  --red: #9B2335;
  --shadow: 0 1px 0 rgba(11, 31, 42, .04), 0 12px 34px -18px rgba(11, 31, 42, .28);
  color-scheme: light;
}

:root[data-theme="dark"] {
  --ink: #F7F6F2;
  --paper: #0B1F2A;
  --surface: #12303F;
  --sunk: #081820;
  --muted: #9DB0B9;
  --faint: #7F98A3;
  --line: #1E3A48;
  --line-strong: #2A4757;
  --green: #34B27B;
  --green-dk: #34B27B;
  --green-soft: #143528;
  --green-hi: #1A4A36;
  --green-line: #2A6B4C;
  --amber: #E4C56A;
  --red: #FF8A8A;
  --shadow: 0 1px 0 rgba(0, 0, 0, .3), 0 18px 40px -20px rgba(0, 0, 0, .7);
  color-scheme: dark;
}

:root[data-theme="dark"] .mark .logo-light { display: none; }
:root[data-theme="dark"] .mark .logo-dark { display: block; }

* { margin: 0; padding: 0; box-sizing: border-box; }
html { background: var(--paper); }
body {
  font-family: var(--sans);
  background: var(--paper);
  color: var(--ink);
  line-height: 1.6;
  -webkit-font-smoothing: antialiased;
}
body::before { content: none !important; display: none !important; }
a { color: var(--green-dk); text-decoration: none; }
a:hover { text-decoration: underline; }
::selection { background: var(--green-hi); color: var(--ink); }

.topbar {
  position: sticky;
  top: 0;
  z-index: 40;
  background: var(--paper);
  border-bottom: 1px solid var(--line);
}
.topbar .bar {
  max-width: 1360px;
  margin: 0 auto;
  padding: 0 24px;
  display: flex;
  align-items: center;
  gap: 22px;
  min-height: 60px;
}
.mark { display: inline-flex; line-height: 0; text-decoration: none; }
.mark .logo { height: 34px; width: auto; display: block; }
.mark .logo-dark { display: none; }
.topbar .spacer { flex: 1; }
nav.top {
  display: flex;
  gap: 20px;
  margin: 0 0 0 8px;
  padding: 0;
  border: 0;
  max-width: none;
  width: auto;
  position: static;
  background: transparent;
  justify-content: flex-start;
  align-items: center;
  list-style: none;
  z-index: auto;
}
nav.top a {
  font-family: var(--sans);
  font-size: 15px;
  font-weight: 400;
  color: var(--muted);
  text-decoration: none;
  background: transparent;
  padding: 0;
  border-radius: 0;
}
nav.top a:hover { color: var(--ink); text-decoration: none; }
nav.top a[aria-current="page"] { color: var(--ink); font-weight: 600; }
.themebtn {
  width: 34px;
  height: 34px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: var(--surface);
  color: var(--muted);
  cursor: pointer;
  font-family: inherit;
  font-size: 15px;
  line-height: 1;
}
.themebtn:hover { border-color: var(--green); color: var(--ink); }
.themebtn:focus-visible { outline: 2px solid var(--green); outline-offset: 2px; }
a.keybtn {
  font-size: 14.5px;
  background: var(--green);
  color: #fff;
  padding: 10px 16px;
  border-radius: 8px;
  font-weight: 600;
  text-decoration: none;
}
a.keybtn:hover { text-decoration: none; background: var(--green-dk); color: #fff; }

@media (max-width: 980px) {
  nav.top { display: none; }
  .mark .logo { height: 28px; }
}

/* Long-form legal and disclosure pages. */
.prose { max-width: 760px; margin: 0 auto; padding: 36px 32px 80px; }
.prose h1 { font-weight: 600; font-size: 32px; letter-spacing: -.02em; margin-bottom: 8px; }
.prose .meta, .prose .updated {
  font-family: var(--mono);
  font-size: 12px;
  color: var(--faint);
  margin-bottom: 40px;
  line-height: 1.8;
}
.prose .meta strong { color: var(--muted); font-weight: 500; }
.prose h2 { font-weight: 600; font-size: 20px; margin-top: 40px; margin-bottom: 12px; }
.prose h3 { font-weight: 600; font-size: 16px; margin-top: 28px; margin-bottom: 8px; }
.prose p, .prose li { font-size: 15px; color: var(--muted); margin-bottom: 12px; }
.prose strong { color: var(--ink); font-weight: 600; }
.prose ul, .prose ol { padding-left: 20px; }
.prose li { margin-bottom: 8px; }
.prose table { width: 100%; border-collapse: collapse; margin: 16px 0 24px; font-size: 14px; }
.prose th {
  text-align: left;
  font-weight: 600;
  color: var(--muted);
  border-bottom: 1px solid var(--line);
  padding: 8px 12px 8px 0;
}
.prose td {
  padding: 8px 12px 8px 0;
  color: var(--muted);
  border-bottom: 1px solid var(--line);
  vertical-align: top;
}
.prose td:last-child { color: var(--faint); font-size: 13px; }
.prose code {
  font-family: var(--mono);
  font-size: 13px;
  color: var(--green-dk);
  background: var(--green-soft);
  padding: 1px 6px;
  border-radius: 4px;
}
.prose .callout {
  background: var(--surface);
  border-left: 3px solid var(--green);
  padding: 16px 20px;
  border-radius: 0 8px 8px 0;
  margin: 16px 0;
}
.prose .callout p { color: var(--ink); margin-bottom: 0; }
.prose .back { margin-top: 48px; padding-top: 24px; border-top: 1px solid var(--line); }
.prose .back a { font-size: 13px; color: var(--faint); }
.prose .toc { margin-top: 24px; }
.prose .toc a { color: var(--muted); font-size: 14px; }
.prose .toc a:hover { color: var(--green-dk); }
.prose .toc ol { list-style: none; counter-reset: toc; padding-left: 0; }
.prose .toc li { counter-increment: toc; margin-bottom: 4px; }
.prose .toc li::before { content: counter(toc) ". "; color: var(--faint); }
