:root{
  /* ============ BASE PALETTE ============ */
  /* Ink — near-black neutrals (warm-cool balanced) */
  --ink-950:#0a0a0b;
  --ink-900:#141416;
  --ink-800:#1f1f22;
  --ink-700:#2b2b2f;
  --ink-600:#3d3d43;
  --ink-500:#6b6b73;
  --ink-400:#9a9aa2;
  --ink-300:#c7c7cd;
  --ink-200:#e2e2e6;
  --ink-100:#f0f0f2;
  --ink-50:#f7f7f8;

  /* Paper — warm off-white surfaces */
  --paper:#faf9f7;
  --paper-dim:#f2f0ec;
  --white:#ffffff;

  /* Flame — signature electric blue accent */
  --flame-700:#1741b8;
  --flame-600:#1e54e6;
  --flame-500:#2f6bff; /* primary brand accent */
  --flame-400:#5f8bff;
  --flame-300:#97b2ff;
  --flame-200:#c6d4ff;
  --flame-100:#e6ecff;
  --flame-50:#f3f6ff;

  /* Semantic hues (muted, brand-adjacent) */
  --green-500:#1f9d5c;
  --green-100:#dff3e8;
  --amber-500:#e0a012;
  --amber-100:#fbeecb;
  --red-500:#dc3a2b;
  --red-100:#fbe1dd;
  --blue-500:#2f6bff;
  --blue-100:#e0e9ff;

  /* ============ SEMANTIC ALIASES ============ */
  /* Surfaces */
  --surface-page:var(--paper);
  --surface-raised:var(--white);
  --surface-sunken:var(--paper-dim);
  --surface-inverse:var(--ink-950);
  --surface-card:var(--white);

  /* Text */
  --text-strong:var(--ink-950);
  --text-body:var(--ink-800);
  --text-muted:var(--ink-500);
  --text-faint:var(--ink-400);
  --text-inverse:var(--paper);
  --text-inverse-muted:var(--ink-400);
  --text-accent:var(--flame-600);
  --text-on-accent:var(--white);

  /* Borders / lines */
  --border-subtle:var(--ink-200);
  --border-default:var(--ink-300);
  --border-strong:var(--ink-950);
  --border-inverse:var(--ink-700);

  /* Accent roles */
  --accent:var(--flame-500);
  --accent-hover:var(--flame-600);
  --accent-active:var(--flame-700);
  --accent-tint:var(--flame-100);
  --accent-contrast:var(--white);

  /* Focus ring */
  --focus-ring:var(--flame-500);

  /* Semantic status */
  --success:var(--green-500);
  --success-tint:var(--green-100);
  --warning:var(--amber-500);
  --warning-tint:var(--amber-100);
  --danger:var(--red-500);
  --danger-tint:var(--red-100);
  --info:var(--blue-500);
  --info-tint:var(--blue-100);
}
