/* CPE Today canonical brand tokens — VENDORED from the cpetoday-platform
   MCP server (get_brand_css), v1.0.0. Do not edit by hand; re-vendor to
   update. site.css consumes these tokens (never hardcode brand hex). */
:root {
  --blue-300: #7fb3ff;
  --blue-400: #4f8bff;
  --blue-500: #2f6bff;
  --blue-600: #1f4fd8;
  --cyan-400: #22d3ee;
  --orange-400: #ff8c3b;
  --orange-500: #f97316;
  --orange-600: #ea580c;
  --star: #fbbf24;
  --bg: #070c1b;
  --bg-elev: #0d1428;
  --surface: #111a33;
  --surface-2: #16203f;
  --border: rgba(148, 163, 204, 0.16);
  --border-strong: rgba(148, 163, 204, 0.3);
  --text: #e9edf8;
  --text-2: #b9c2dc;
  --muted: #8b96b8;
  --accent: var(--blue-400);
  --accent-ink: #ffffff;
  --cta: var(--orange-500);
  --cta-hover: var(--orange-400);
  --cta-ink: #1a0d02;
  --shadow: 0 12px 32px rgba(2, 6, 23, 0.55);
  --glow: 0 0 80px rgba(47, 107, 255, 0.25);
  --header-bg: rgba(7, 12, 27, 0.82);
  --hero-grid: rgba(127, 179, 255, 0.07);
  --radius: 14px;
  --radius-sm: 9px;
  --font-display: "Space Grotesk", "Inter", system-ui, sans-serif;
  --font-body: "Inter", system-ui, -apple-system, "Segoe UI", sans-serif;
  --container: 1200px;
  color-scheme: dark;
}
[data-theme="light"] {
  --bg: #f5f7fd;
  --bg-elev: #ffffff;
  --surface: #ffffff;
  --surface-2: #eef2fb;
  --border: rgba(30, 46, 96, 0.12);
  --border-strong: rgba(30, 46, 96, 0.24);
  --text: #0e1633;
  --text-2: #3a4568;
  --muted: #5d6a90;
  --accent: var(--blue-600);
  --cta: var(--orange-600);
  --cta-hover: var(--orange-500);
  --cta-ink: #ffffff;
  --shadow: 0 10px 30px rgba(20, 35, 90, 0.10);
  --glow: 0 0 80px rgba(47, 107, 255, 0.10);
  --header-bg: rgba(245, 247, 253, 0.85);
  --hero-grid: rgba(31, 79, 216, 0.06);
  color-scheme: light;
}
@media (prefers-color-scheme: light) {
  :root:not([data-theme="dark"]) {
  --bg: #f5f7fd;
  --bg-elev: #ffffff;
  --surface: #ffffff;
  --surface-2: #eef2fb;
  --border: rgba(30, 46, 96, 0.12);
  --border-strong: rgba(30, 46, 96, 0.24);
  --text: #0e1633;
  --text-2: #3a4568;
  --muted: #5d6a90;
  --accent: var(--blue-600);
  --cta: var(--orange-600);
  --cta-hover: var(--orange-500);
  --cta-ink: #ffffff;
  --shadow: 0 10px 30px rgba(20, 35, 90, 0.10);
  --glow: 0 0 80px rgba(47, 107, 255, 0.10);
  --header-bg: rgba(245, 247, 253, 0.85);
  --hero-grid: rgba(31, 79, 216, 0.06);
  color-scheme: light;
  }
}

/* ---- base layer (opt-in baseline; product styles layer on top) ---- */
*, *::before, *::after { box-sizing: border-box; }
body {
  margin: 0; background: var(--bg); color: var(--text);
  font-family: var(--font-body); -webkit-font-smoothing: antialiased;
}
a { color: var(--accent); text-underline-offset: 3px; }
.cpe-container { max-width: var(--container); margin-inline: auto; padding-inline: 20px; }
.cpe-btn {
  display: inline-flex; align-items: center; gap: 8px; cursor: pointer;
  padding: 11px 18px; border-radius: var(--radius-sm); border: 0;
  font: 600 15px var(--font-body); text-decoration: none;
  background: var(--surface-2); color: var(--text);
}
.cpe-btn-cta { background: var(--cta); color: var(--cta-ink); }
.cpe-btn-cta:hover { background: var(--cta-hover); }

