/* =============================================================================
   Abbey — Ledger Theme: Rouge syntax highlighting
   A quiet, restrained palette (muted navy / green / plum on paper) that
   flips to a soft dark scheme. All selectors are scoped under
   `.theme-ledger` so other themes' highlighting is untouched.
============================================================================= */

.theme-ledger .highlight {
  width: 100%;
  max-width: none;
  overflow-x: auto;
  background: var(--color-ledger-card);
  color: var(--color-ledger-fg);
  border-radius: 8px;
}

.theme-ledger .highlight pre {
  white-space: pre;
  overflow-x: auto;
  padding: 1rem 1.1rem;
  margin: 0;
  background: transparent;
  color: inherit;
}

.theme-ledger .highlight code,
.theme-ledger pre.highlight code {
  font-family: var(--font-mono);
  background: transparent;
  color: inherit;
  border: none;
  padding: 0;
}

.theme-ledger .highlight table td { padding: 5px; }
.theme-ledger .highlight table pre { margin: 0; }

/* ---- Light palette ---- */
.theme-ledger .highlight .c,
.theme-ledger .highlight .ch,
.theme-ledger .highlight .cd,
.theme-ledger .highlight .cm,
.theme-ledger .highlight .cpf,
.theme-ledger .highlight .c1,
.theme-ledger .highlight .cs   { color: #8b909c; font-style: italic; }

.theme-ledger .highlight .err  { color: #b0324a; }
.theme-ledger .highlight .k,
.theme-ledger .highlight .kn,
.theme-ledger .highlight .kp,
.theme-ledger .highlight .kr,
.theme-ledger .highlight .kv,
.theme-ledger .highlight .kd,
.theme-ledger .highlight .kc   { color: #7a3ea8; font-weight: 600; }
.theme-ledger .highlight .kt   { color: #2f4a7a; }
.theme-ledger .highlight .o,
.theme-ledger .highlight .ow   { color: #5b616e; }
.theme-ledger .highlight .p,
.theme-ledger .highlight .pi   { color: #5b616e; }

.theme-ledger .highlight .s,
.theme-ledger .highlight .sb,
.theme-ledger .highlight .sc,
.theme-ledger .highlight .dl,
.theme-ledger .highlight .sd,
.theme-ledger .highlight .s2,
.theme-ledger .highlight .sh,
.theme-ledger .highlight .sx,
.theme-ledger .highlight .s1,
.theme-ledger .highlight .ss   { color: #2e7d5b; }
.theme-ledger .highlight .sr   { color: #2e7d5b; }
.theme-ledger .highlight .sa,
.theme-ledger .highlight .si,
.theme-ledger .highlight .se   { color: #b0324a; }

.theme-ledger .highlight .m,
.theme-ledger .highlight .mb,
.theme-ledger .highlight .mf,
.theme-ledger .highlight .mh,
.theme-ledger .highlight .mi,
.theme-ledger .highlight .il,
.theme-ledger .highlight .mo,
.theme-ledger .highlight .mx   { color: #b3671a; }

.theme-ledger .highlight .nn,
.theme-ledger .highlight .nc,
.theme-ledger .highlight .no   { color: #2f4a7a; }
.theme-ledger .highlight .na   { color: #7a3ea8; }
.theme-ledger .highlight .nt   { color: #2f4a7a; }
.theme-ledger .highlight .nf   { color: #1f5fa8; }
.theme-ledger .highlight .nb   { color: #b3671a; }
.theme-ledger .highlight .ne   { color: #b0324a; font-weight: 600; }
.theme-ledger .highlight .vc,
.theme-ledger .highlight .vg,
.theme-ledger .highlight .vi   { color: #7a3ea8; }

.theme-ledger .highlight .gi   { color: #2e7d5b; }
.theme-ledger .highlight .gd   { color: #b0324a; }
.theme-ledger .highlight .gh   { color: #2f4a7a; font-weight: bold; }

/* ---- Dark palette (soft, low-contrast) ---- */
.theme-ledger.dark .highlight .c,
.theme-ledger.dark .highlight .ch,
.theme-ledger.dark .highlight .cd,
.theme-ledger.dark .highlight .cm,
.theme-ledger.dark .highlight .cpf,
.theme-ledger.dark .highlight .c1,
.theme-ledger.dark .highlight .cs  { color: #6b7280; }

.theme-ledger.dark .highlight .k,
.theme-ledger.dark .highlight .kn,
.theme-ledger.dark .highlight .kp,
.theme-ledger.dark .highlight .kr,
.theme-ledger.dark .highlight .kv,
.theme-ledger.dark .highlight .kd,
.theme-ledger.dark .highlight .kc  { color: #c8a5e0; }
.theme-ledger.dark .highlight .kt  { color: #8aa9e0; }
.theme-ledger.dark .highlight .o,
.theme-ledger.dark .highlight .ow,
.theme-ledger.dark .highlight .p,
.theme-ledger.dark .highlight .pi  { color: #9aa0ad; }

.theme-ledger.dark .highlight .s,
.theme-ledger.dark .highlight .sb,
.theme-ledger.dark .highlight .sc,
.theme-ledger.dark .highlight .dl,
.theme-ledger.dark .highlight .sd,
.theme-ledger.dark .highlight .s2,
.theme-ledger.dark .highlight .sh,
.theme-ledger.dark .highlight .sx,
.theme-ledger.dark .highlight .s1,
.theme-ledger.dark .highlight .ss,
.theme-ledger.dark .highlight .sr  { color: #7fc8a3; }

.theme-ledger.dark .highlight .m,
.theme-ledger.dark .highlight .mb,
.theme-ledger.dark .highlight .mf,
.theme-ledger.dark .highlight .mh,
.theme-ledger.dark .highlight .mi,
.theme-ledger.dark .highlight .il,
.theme-ledger.dark .highlight .mo,
.theme-ledger.dark .highlight .mx  { color: #e0b072; }

.theme-ledger.dark .highlight .nn,
.theme-ledger.dark .highlight .nc,
.theme-ledger.dark .highlight .no,
.theme-ledger.dark .highlight .nt,
.theme-ledger.dark .highlight .nf  { color: #8aa9e0; }
.theme-ledger.dark .highlight .na  { color: #c8a5e0; }
.theme-ledger.dark .highlight .nb  { color: #e0b072; }
