/* Generated from config.brand by server.app.render_tokens_css.
   Do not edit a copy of this into a page — see the guard in
   tests/test_brand_tokens_single_source.py.

   --color-muted is darkened from the configured hue until secondary
   text clears WCAG AA on the page background; --color-muted-raw is
   the exact configured value, for borders and indicators.
   The dark block is derived from the same brand colors and is
   contrast-checked in tests/test_wc08_dark_mode.py. */
:root {
  color-scheme: light dark;
  --color-primary: #3D4C31;
  --color-primary-dark: #303A29;
  --color-primary-alt: #4E633B;
  --color-accent: #C4AE55;
  --color-background: #EAE5D6;
  --color-text: #1C1E14;
  --color-leather: #776415;
  --color-muted: #5E6A54;
  --color-muted-raw: #87967A;
  --color-accent-text: #746528;

  /* Brand chrome: a surface painted in the brand, and the text on it.
     Kept separate from --color-primary/--color-background because
     those two swap roles between themes and would invert together. */
  --surface-brand: #3D4C31;
  --surface-brand-hover: #303A29;
  --on-brand: #EAE5D6;

  /* The gold call-to-action reads the same in both themes: gold is
     legible on a dark page, so it does not get re-derived, and its
     text stays dark ink rather than following --color-text. These
     three are deliberately absent from the dark block below. */
  --surface-accent: #C4AE55;
  --surface-accent-hover: #776415;
  --on-accent: #1C1E14;

  --surface-card: #FFFFFF;
  --surface-card-hover: #FBFAF6;
  --surface-overlay: rgb(var(--ink-rgb) / 0.60);

  /* The neutral wash channel. style.css tints and hairlines are
     rgb(var(--ink-rgb) / a) so one flip re-polarises all of them. */
  --ink-rgb: 28 30 20;
  --paper-rgb: 255 255 255;
  --font-headline: 'Rallington Sans', 'Inter', system-ui, sans-serif;
  --font-headline-serif: 'Rallington Serif', 'Georgia', serif;
  --font-body: 'Montserrat', 'Inter', system-ui, sans-serif;
}

@media (prefers-color-scheme: dark) {
  :root:not([data-theme="light"]) {
    --color-primary: #7A9862;
    --color-primary-dark: #3A492F;
    --color-primary-alt: #79995B;
    --color-accent: #C4AE55;
    --color-accent-text: #C4AE55;
    --color-background: #131511;
    --color-text: #F1EEE4;
    --color-muted: #87967A;
    --color-muted-raw: #87967A;
    --color-leather: #A98E1E;
    --surface-brand: #2C3623;
    --surface-brand-hover: #3A492F;
    --on-brand: #EAE5D6;
    --surface-card: #1D201B;
    --surface-card-hover: #262A23;
    --surface-overlay: rgb(0 0 0 / 0.72);
    --ink-rgb: 241 238 228;
    --paper-rgb: 29 32 27;
  }
}

:root[data-theme="dark"] {
  --color-primary: #7A9862;
  --color-primary-dark: #3A492F;
  --color-primary-alt: #79995B;
  --color-accent: #C4AE55;
  --color-accent-text: #C4AE55;
  --color-background: #131511;
  --color-text: #F1EEE4;
  --color-muted: #87967A;
  --color-muted-raw: #87967A;
  --color-leather: #A98E1E;
  --surface-brand: #2C3623;
  --surface-brand-hover: #3A492F;
  --on-brand: #EAE5D6;
  --surface-card: #1D201B;
  --surface-card-hover: #262A23;
  --surface-overlay: rgb(0 0 0 / 0.72);
  --ink-rgb: 241 238 228;
  --paper-rgb: 29 32 27;
}
