/* ============================================================
   tokens.css — the brand skin for the Florida Startup Ecosystem Map.

   Florida-coastal palette on the Embarc Collective design system:
   deep-ocean primary, riptide/teal secondary, sunglow highlight,
   radical-red reserved for CTAs. Type is Instrument Sans + Serif.

   The engine (site.css) consumes ONLY these custom properties — zero
   colour/font/radius literals live outside this file and the small
   brand slots in build.mjs (wordmark SVG + favicon writer). Variable
   NAMES mirror the upstream template so the shared engine resolves
   unchanged; only the VALUES are Florida's.
   ============================================================ */

:root {
  /* ---- brand anchors (Florida accent on Embarc palette) ---- */
  --brand-navy: #0b5a86;        /* deep ocean — primary nav/headings/hero */
  --brand-navy-deep: #0a3d5c;   /* hero gradient floor */
  --brand-riptide: #12a594;     /* riptide teal (Embarc primary, deepened for AA) */
  --brand-sun: #f5b301;         /* sunglow highlight */
  --brand-saffron: #d98218;     /* warm highlight (wizard branch tone) */
  --brand-green: #0c7a63;       /* teal-green success / branch tone */
  --brand-blue: #1466a3;        /* ocean hyperlink */
  --brand-coral: #ff3a61;       /* radical red — CTA only */
  --brand-coral-deep: #cc2e4d;  /* CTA hover */

  /* ---- typography (Embarc: Instrument Sans + Serif) ---- */
  --font-display: "Instrument Sans", system-ui, -apple-system, "Segoe UI", sans-serif;
  --font-body: "Instrument Sans", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;
  --font-serif: "Instrument Serif", Georgia, "Times New Roman", serif;
  --font-mono: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;

  /* ---- shape ---- */
  --radius-sm: 8px;
  --radius-md: 12px;
  --radius-lg: 18px;
  --radius-pill: 999px;

  /* ---- elevation ---- */
  --shadow-1: 0 1px 2px rgb(11 61 92 / 0.06), 0 1px 3px rgb(11 61 92 / 0.10);
  --shadow-2: 0 4px 8px -2px rgb(11 61 92 / 0.10), 0 2px 4px -2px rgb(11 61 92 / 0.06);
  --shadow-3: 0 14px 28px -8px rgb(11 61 92 / 0.18), 0 4px 10px -4px rgb(11 61 92 / 0.10);

  /* ---- glassmorphism (Embarc landing echo) ---- */
  --glass-blur: 14px;

  /* ---- motion ---- */
  --ease: cubic-bezier(0.22, 1, 0.36, 1);
  --speed: 180ms;
}

/* ============ LIGHT (default) ============ */
:root,
:root[data-theme="light"] {
  color-scheme: light;

  --bg: #f8fbfc;
  --surface: #ffffff;
  --surface-alt: #eef4f6;
  --surface-sunken: #e4edf0;
  --border: #dbe6ea;
  --border-strong: #c1d1d8;

  --text: #10222c;
  --text-muted: #3f5560;
  --text-faint: #5a6f7a;        /* AA: 4.5:1+ on every light surface */

  --primary: #0b5a86;           /* deep ocean — nav, headings, hero, primary buttons */
  --primary-contrast: #ffffff;
  --accent: #c62c49;            /* deepened coral — AA as bold text on white */
  --accent-strong: #a8203c;
  --accent-contrast: #ffffff;
  --accent-tint: #fdeef1;
  --link: #1466a3;
  --link-hover: #0f4f80;
  --success: #0c7a63;           /* riptide-green — AA as small bold text on white */
  --success-tint: #e2f5f0;
  --warning: #92610a;
  --warning-tint: #fff5df;
  --danger: #c62c49;

  --hero-bg: linear-gradient(135deg, #0a3d5c 0%, #0b5a86 52%, #0e8090 100%);
  --hero-text: #eef8fb;
  --hero-muted: #b7d6e2;

  --sidebar-bg: #f2f8fa;
  --topbar-bg: rgb(248 251 252 / 0.82);
  --code-bg: #eef4f6;
  --kbd-bg: #ffffff;
  --scrim: rgb(10 34 44 / 0.55);

  /* glass */
  --glass-bg: rgb(255 255 255 / 0.62);
  --glass-border: rgb(255 255 255 / 0.55);
  --glass-shadow: 0 10px 34px -10px rgb(11 90 134 / 0.22);

  /* walkable Florida */
  --walk-water: #bfe5ec;
  --walk-water-grid: rgb(11 90 134 / 0.09);
  --walk-land: #dfeccf;
  --walk-land-alt: #c9dfba;
  --walk-land-border: #6e9a70;
  --walk-path: rgb(255 255 255 / 0.32);
  --walk-overlay: rgb(255 255 255 / 0.88);
  --walk-overlay-strong: #ffffff;
  --walk-shadow: rgb(10 61 92 / 0.28);
  --walk-avatar: #ff3a61;
  --walk-avatar-detail: #ffffff;
  --walk-sign: #fff7da;
  --walk-sign-border: #a5670f;

  /* org-type hues (badges/dots) — tints derived via color-mix in site.css */
  --org-accelerator: #c62c49;
  --org-incubator: #0e7d8f;
  --org-venture-capital: #1466a3;
  --org-angel-network: #6d4fc4;
  --org-university-research: #0c7a63;
  --org-edo-government: #345f88;
  --org-coworking: #a5670f;
  --org-service-provider: #5b6474;
  --org-corporate-innovation: #9a5b2a;
  --org-nonprofit-community: #2e8b6f;
  --org-foundation-funder: #8a6d1f;

  /* AA-track sector hues (echo the AA spectrum, AA-contrast) */
  --sec-fintech: #1466a3;
  --sec-defense-dual-use: #345f88;
  --sec-healthtech: #0e7d8f;
  --sec-resilience: #0c7a63;

  /* legacy category hues kept so the shared engine resolves (mostly unused) */
  --cat-grant: #0c7a63;         --cat-grant-tint: #e2f5f0;
  --cat-equity: #6d4fc4;        --cat-equity-tint: #f0ecfb;
  --cat-loan: #a5670f;          --cat-loan-tint: #fdf1df;
  --cat-incubation: #0e7d8f;    --cat-incubation-tint: #e2f2f5;
  --cat-market: #1466a3;        --cat-market-tint: #e7f0f8;
  --cat-mixed: #c62c49;         --cat-mixed-tint: #fdeef1;
  --cat-other: #5b6474;         --cat-other-tint: #eef1f3;

  /* lifecycle stage hues */
  --stage-ideation: #a5670f;
  --stage-prototype: #0e7d8f;
  --stage-early: #c62c49;
  --stage-growth: #0b5a86;
  --stage-market: #0c7a63;
}

/* ============ DARK ============ */
:root[data-theme="dark"] {
  color-scheme: dark;

  --bg: #071620;
  --surface: #0e2230;
  --surface-alt: #143040;
  --surface-sunken: #050f17;
  --border: #22404f;
  --border-strong: #315466;

  --text: #e4eff4;
  --text-muted: #a6bcc7;
  --text-faint: #83a0ac;        /* AA on raised dark surfaces */

  --primary: #6fc3e0;
  --primary-contrast: #071620;
  --accent: #ff6d84;
  --accent-strong: #ff8398;
  --accent-contrast: #1a0509;
  --accent-tint: #35141b;
  --link: #6bb9e6;
  --link-hover: #98d0f2;
  --success: #4ec9a9;
  --success-tint: #0b2f28;
  --warning: #e0b24a;
  --warning-tint: #33280d;
  --danger: #ff6d84;

  --hero-bg: linear-gradient(135deg, #0a2c40 0%, #0b3d54 55%, #0c4f5a 100%);
  --hero-text: #eef8fb;
  --hero-muted: #a5c6d4;

  --sidebar-bg: #0a1c28;
  --topbar-bg: rgb(7 22 32 / 0.82);
  --code-bg: #143040;
  --kbd-bg: #143040;
  --scrim: rgb(2 9 14 / 0.72);

  /* glass */
  --glass-bg: rgb(14 34 48 / 0.58);
  --glass-border: rgb(120 170 190 / 0.18);
  --glass-shadow: 0 12px 34px -10px rgb(0 0 0 / 0.55);

  /* walkable Florida */
  --walk-water: #082a3a;
  --walk-water-grid: rgb(107 185 230 / 0.09);
  --walk-land: #173c35;
  --walk-land-alt: #205045;
  --walk-land-border: #4f8c75;
  --walk-path: rgb(255 255 255 / 0.08);
  --walk-overlay: rgb(14 34 48 / 0.9);
  --walk-overlay-strong: #0e2230;
  --walk-shadow: rgb(0 0 0 / 0.55);
  --walk-avatar: #ff6d84;
  --walk-avatar-detail: #ffffff;
  --walk-sign: #33280d;
  --walk-sign-border: #e0a24a;

  --org-accelerator: #ff7d92;
  --org-incubator: #47c2d6;
  --org-venture-capital: #6bb9e6;
  --org-angel-network: #a68cf0;
  --org-university-research: #4ec9a9;
  --org-edo-government: #86aacb;
  --org-coworking: #e0a24a;
  --org-service-provider: #9aa8b6;
  --org-corporate-innovation: #d99b6a;
  --org-nonprofit-community: #58c79f;
  --org-foundation-funder: #d8b85a;

  --sec-fintech: #6bb9e6;
  --sec-defense-dual-use: #86aacb;
  --sec-healthtech: #47c2d6;
  --sec-resilience: #4ec9a9;

  --cat-grant: #4ec9a9;         --cat-grant-tint: #0b2f28;
  --cat-equity: #a68cf0;        --cat-equity-tint: #241d3f;
  --cat-loan: #e0a24a;          --cat-loan-tint: #33280d;
  --cat-incubation: #47c2d6;    --cat-incubation-tint: #0a2c36;
  --cat-market: #6bb9e6;        --cat-market-tint: #0d2739;
  --cat-mixed: #ff7d92;         --cat-mixed-tint: #35141b;
  --cat-other: #9aa8b6;         --cat-other-tint: #18242f;

  --stage-ideation: #e0a24a;
  --stage-prototype: #47c2d6;
  --stage-early: #ff7d92;
  --stage-growth: #6fc3e0;
  --stage-market: #4ec9a9;

  --shadow-1: 0 1px 2px rgb(0 0 0 / 0.4);
  --shadow-2: 0 4px 8px -2px rgb(0 0 0 / 0.5);
  --shadow-3: 0 14px 28px -8px rgb(0 0 0 / 0.6);
}
