:root{
/* ── Editorial palette (chartai.ai marketing) — verbatim from production ── */
--ink:oklch(0.16 0.012 60);
--ink-2:oklch(0.24 0.012 60);
--ink-3:oklch(0.22 0.012 60);
--paper:oklch(0.97 0.008 80);
--paper-2:oklch(0.94 0.012 75);
--cream:oklch(0.92 0.018 75);
--muted:oklch(0.55 0.01 60);
--muted-2:oklch(0.72 0.008 60);
--line:oklch(0.88 0.008 75);
--line-dark:oklch(0.30 0.012 60);
--line-dark-2:oklch(0.32 0.012 60);
--accent:#2563eb;
--accent-soft:#60a5fa;
--accent-2:#fe4a25;
--accent-2-soft:oklch(0.85 0.08 32);
--amber:oklch(0.72 0.12 65);
--danger:oklch(0.58 0.15 28);
--slate-cta:#4a6b8c;

/* ── Product palette (app.chartai.ai) ── */
--app-navy:#002259;
--app-navy-hover:#1b386c;
--app-panel:#1b2459;
--app-bg:#f0f5ff;
--app-bg-tint:#e6ecfe;
--app-surface:#ffffff;
--app-border:#dbe3f4;
--app-border-strong:#b2c4ff;
--app-blue:#2563eb;
--app-blue-bright:#4c7bfd;
--app-blue-soft:#62a6fb;
--app-text:#0f1c3f;
--app-text-muted:#4a6b8b;
--app-text-faint:#8ea0be;
--app-success:#15803d;
--app-success-bg:#f1fdf4;
--app-success-border:#b8f8cf;
--app-danger:#ef4243;
--app-orange:#fd4a26;

/* ── Semantic aliases ── */
--surface-page:var(--paper);
--surface-page-dark:var(--ink);
--surface-card:#ffffff;
--surface-card-dark:var(--ink-3);
--surface-app:var(--app-bg);
--text-body:var(--ink);
--text-body-invert:var(--paper);
--text-muted:var(--muted);
--text-label:var(--muted-2);
--border-hairline:var(--line);
--border-hairline-dark:var(--line-dark);
--action-primary:var(--accent-2);
--action-primary-fg:#ffffff;
--action-secondary-border:oklch(0.45 0.01 60);
--focus-ring:var(--accent);
--selection-bg:var(--accent);
--selection-fg:var(--ink);
}
