/* Shared reader/editorial palette. Maps chart colors as well as page surfaces. */
:root {
  --gold:#805b12;
  --action-bg:#153e33; --action-text:#fffef9; --action-hover:#285947;
  --warning-surface:#f4eedc; --error-surface:#f9e9e3; --empty-surface:#eff1e7;
  --field-surface:#fffefb; --field-readonly:#f5f6ef; --field-border:#b9c5b6;
  --focus:#a55d19; --chart-grid:#dbe0d5; --chart-axis:#84978b;
  --chart-positive:#137660; --chart-negative:#ac463a; --chart-neutral:#526f68;
  --chart-mixed:#806019; --chart-abstained:#b3b8ae; --chart-pending:#dddcd3;
  --chart-label:#fffef9; --chart-unclassified-label:#263f35; --hero-bg:#153e33; --hero-ink:#f7f6f0;
}
:root[data-theme=dark] {
  color-scheme:dark; --paper:#0d1916; --white:#14251f; --ink:#e8f2e9;
  --body:#d0dfd4; --muted:#a1b7a9; --line:#354d40; --soft:#21382d;
  --green:#83d5b1; --red:#ff9f8d; --gold:#e6c076; --neutral:#9bbab3;
  --action-bg:#83d5b1; --action-text:#0d2118; --action-hover:#a4e7c8;
  --warning-surface:#342e1c; --error-surface:#382520; --empty-surface:#15291f;
  --field-surface:#102019; --field-readonly:#1d3027; --field-border:#587362;
  --focus:#e6c076; --chart-grid:#354d40; --chart-axis:#90a99a;
  --chart-positive:#83d5b1; --chart-negative:#ff9f8d; --chart-neutral:#9bbab3;
  --chart-mixed:#e6c076; --chart-abstained:#84968a; --chart-pending:#41574a;
  --chart-label:#0d2118; --chart-unclassified-label:#e8f2e9; --hero-bg:#1c3e2f; --hero-ink:#e8f2e9;
}
.theme-toggle { display:inline-flex; align-items:center; justify-content:center; gap:9px; flex-shrink:0; min-height:44px; padding:9px 12px; color:var(--ink); background:var(--white); border:1px solid var(--line); border-radius:24px; font:600 12px/1.4 Arial,sans-serif; cursor:pointer; white-space:nowrap; }
.theme-toggle:hover { background:var(--soft); }
.theme-toggle svg { width:17px; height:17px; fill:none; stroke:currentColor; stroke-width:1.7; }
.theme-toggle[aria-checked=true] { color:var(--green); border-color:var(--green); }
.theme-toggle:focus-visible,.theme-reset:focus-visible { outline:3px solid var(--focus); outline-offset:3px; }
.theme-reset { align-self:start; text-align:left; color:var(--muted); background:none; border:0; padding:8px 0; min-height:44px; font:inherit; text-decoration:underline; text-underline-offset:4px; cursor:pointer; }
:focus-visible { outline-color:var(--focus); }
::selection { background:var(--soft); color:var(--ink); }
.site-header nav { flex-wrap:wrap; justify-content:flex-end; }
@media(max-width:760px) { .site-header { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:18px; } .site-header nav { grid-column:1/-1; grid-row:2; justify-content:flex-start; } .site-header .wordmark-caption { display:none; } .theme-toggle { grid-column:2; grid-row:1; margin:0; } }
/* Printed editions stay paper-friendly regardless of the screen preference. */
@media print {
  :root[data-theme] { color-scheme:light; --paper:#fff; --white:#fff; --ink:#153e33; --body:#263f35; --muted:#58695e; --line:#d6dbcf; --soft:#e8eddf; --green:#137660; --red:#ac463a; --gold:#805b12; --chart-positive:#137660; --chart-negative:#ac463a; --chart-neutral:#526f68; --chart-mixed:#806019; --chart-abstained:#b3b8ae; --chart-pending:#dddcd3; --chart-grid:#dbe0d5; --chart-axis:#84978b; --chart-label:#fffef9; --chart-unclassified-label:#263f35; --action-bg:#153e33; --action-text:#fff; --empty-surface:#eff1e7; --warning-surface:#f4eedc; --error-surface:#f9e9e3; }
  .theme-toggle,.theme-reset { display:none!important; }
}

.composition-bar .composition-abstained { color:#13271d; }
.composition-bar .composition-pending { color:var(--chart-unclassified-label); }
