/* ═══════════════════════════════════════════════════════════════════
   AI Visibility — Design tokens + self-hosted webfont
   Single source for the brand palette and the Inter @font-face rules,
   shared by every server-rendered surface that should look like the
   product: the dashboard shell (templates/index.html), the marketing
   landing/pricing pages (landing.css/pricing.css consume these vars),
   and the public legal pages (web/legal.py links this file and reads
   the same vars with hardcoded fallbacks).

   Extracted from templates/index.html's inline <style> (2026-07-30) so
   the palette can't fork per surface again. The report SPA keeps its
   own Tailwind token system on purpose. Two surfaces MIRROR these
   values instead of linking the file — change a color here and update
   both:
   - pulse/html_render.py :root (self-contained shareable page;
     comment-enforced only), and
   - email/palette.py (email clients strip stylesheets — enforced by
     tests/test_email_palette.py, which fails until the mirror moves).
   ═══════════════════════════════════════════════════════════════════ */

/* Self-hosted Inter (variable, latin + latin-ext) — the same
   @fontsource-variable/inter files the report SPA bundles, so the
   dashboard and the report render in one typeface instead of the
   Segoe-here/Inter-there split. font-display: swap keeps first paint
   on the system stack. */
@font-face {
  font-family: 'Inter Variable';
  font-style: normal;
  font-weight: 100 900;
  font-display: swap;
  src: url('/static/fonts/inter-latin-wght-normal.woff2') format('woff2-variations');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: 'Inter Variable';
  font-style: normal;
  font-weight: 100 900;
  font-display: swap;
  src: url('/static/fonts/inter-latin-ext-wght-normal.woff2') format('woff2-variations');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1EFF, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}

:root {
  --bg: #f0f7fc;
  --surface: #ffffff;
  --surface2: #f5f8fc;
  --border: #d9e6f2;
  --text: #062360;
  --text-dim: #5c6474;
  --accent: #00bbd8;
  --accent-hover: #00a7c3;
  --accent-shade: #00798c;
  --green: #16a34a;
  --red: #dc2626;
  --yellow: #ca8a04;
  --blue: #0078d4;
  --orange: #ea580c;
  --shadow-card: 0 1px 3px rgba(6, 35, 96, 0.06), 0 6px 16px rgba(6, 35, 96, 0.06);
  --shadow-elevated: 0 1px 2px rgba(16, 24, 40, 0.06), 0 10px 30px rgba(16, 24, 40, 0.08);
  --radius-panel: 16px;
  --radius-card: 10px;
}
