/* Top Leads Geist layer: fonts and design tokens, shared by the app (skin.css builds on it) and the public pages.
   Load after theme.css. Geist and Geist Mono are self-hosted variable woff2 files (SIL OFL, Vercel), no Google Fonts,
   so the CSP needs nothing new. Tokens: --bg --bg-2 --card --ink --ink-2 --muted --line --line-strong, --forest
   --forest-2 --forest-soft --slate, --amber (the one primary action) --amber-ink --amber-text --amber-soft, status
   pairs --hot --warn --ok --info, signal hues --sig-*, --font-body --font-display --font-num, light and dark. */
@font-face { font-family: "Geist"; font-style: normal; font-weight: 100 900; font-display: swap; src: url(/vendor/fonts/geist-variable.woff2) format("woff2"); }
@font-face { font-family: "Geist Mono"; font-style: normal; font-weight: 100 900; font-display: swap; src: url(/vendor/fonts/geistmono-variable.woff2) format("woff2"); }

:root {
  --font-body: "Geist", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
  --font-display: var(--font-body);
  --font-num: "Geist Mono", ui-monospace, SFMono-Regular, Menlo, monospace;
  --bg: #f3f2ee; --bg-2: #ebe9e3; --card: #ffffff; --ink: #1b1e1c; --ink-2: #474d49; --muted: #6e746f; --line: #e4e1da; --line-strong: #d3cfc6;
  --forest: #2e4a3a; --forest-2: #4f6e5c; --forest-soft: #e3ebe5; --slate: #4d5b64;
  --amber: #e5a13a; --amber-ink: #1b1e1c; --amber-text: #8a5a12; --amber-soft: #f7ead3;
  --primary: var(--amber); --primary-ink: var(--amber-ink); --accent-soft: #ebe9e3; --link: var(--forest); --focus: var(--forest-2);
  --hot: #b4553d; --hot-soft: #f6e5df; --warn: #8a5a12; --warn-soft: #f7ead3; --ok: #2e6b4a; --ok-soft: #e3ebe5; --info: #3f5f80; --info-soft: #e4eaf1;
  --sig-tax: #b4553d; --sig-delq: #9a6a2c; --sig-estate: #4e6b88; --sig-fore: #7b4f6c; --sig-owner: #5e6f63;
  --score-lo: var(--line); --score-mid: var(--forest-2); --score-hi: var(--forest); --score-top: var(--amber);
  --shadow: 0 1px 2px rgba(20,24,22,.04), 0 6px 22px rgba(20,24,22,.06); --shadow-lg: 0 24px 64px rgba(20,24,22,.18);
  --r: 14px; --r-lg: 18px; --r-xl: 24px;
  --map-bg: #e7e5df; --skel: #e6e3dc; --skel-hi: #f1efea;
  --ease: cubic-bezier(.2, .7, .2, 1);
}
:root[data-theme="dark"] {
  --bg: #121413; --bg-2: #1c1f1e; --card: #1a1d1c; --ink: #ebece7; --ink-2: #b6bab3; --muted: #8b918b; --line: #2b302d; --line-strong: #3a403c;
  --forest: #86b096; --forest-2: #6c9580; --forest-soft: #1f2b24; --slate: #9eacb4;
  --amber: #f0b24f; --amber-ink: #141615; --amber-text: #f0b24f; --amber-soft: #2e2516;
  --primary: var(--amber); --primary-ink: var(--amber-ink); --accent-soft: #232725; --link: var(--forest); --focus: var(--forest);
  --hot: #e08a72; --hot-soft: #33201b; --warn: #f0b24f; --warn-soft: #2e2516; --ok: #86b096; --ok-soft: #1f2b24; --info: #8fb0d0; --info-soft: #1c2631;
  --sig-tax: #e08a72; --sig-delq: #d4a565; --sig-estate: #8fb0d0; --sig-fore: #c495b5; --sig-owner: #9fb1a5;
  --shadow: 0 1px 2px rgba(0,0,0,.3), 0 10px 30px rgba(0,0,0,.3); --shadow-lg: 0 24px 64px rgba(0,0,0,.6);
  --map-bg: #1c1f1e; --skel: #222624; --skel-hi: #2b302d;
}
