/* ==========================================================================
   NICESPELL — design tokens
   Obsidian × Amethyst glass. Purple is an accent, not a background.
   ========================================================================== */
:root {
  /* Palette */
  --obsidian: #08070D;
  --graphite: #111019;
  --graphite-2: #17151F;
  --violet-deep: #211333;
  --electric: #8B5CF6;
  --amethyst: #A78BFA;
  --lavender: #C4B5FD;
  --lilac-white: #EDE9FE;

  /* Text (contrast checked on --obsidian / --graphite) */
  --text: #ECEAF4;          /* ~16:1 */
  --text-muted: #A9A4BD;    /* ~8:1  */
  --text-dim: #8C87A2;      /* ~5.6:1 — still AA for body copy */
  --danger: #F7A1B8;

  /* Lines & glass */
  --line: rgba(196, 181, 253, 0.12);
  --line-strong: rgba(196, 181, 253, 0.26);
  --glass-bg: linear-gradient(155deg, rgba(255, 255, 255, 0.065) 0%, rgba(167, 139, 250, 0.035) 45%, rgba(255, 255, 255, 0.015) 100%);
  --glass-border: rgba(225, 215, 255, 0.14);
  --glass-shadow: 0 1px 0 rgba(255, 255, 255, 0.06) inset, 0 30px 60px -30px rgba(0, 0, 0, 0.8), 0 0 0 1px rgba(139, 92, 246, 0.04);

  /* Glow */
  --glow-violet: 0 0 24px rgba(139, 92, 246, 0.45), 0 0 64px rgba(139, 92, 246, 0.18);

  /* Live demo: one recognisable colour per connected system */
  --sys-email: #38BDF8;
  --sys-excel: #22C55E;
  --sys-crm: #A78BFA;
  --sys-erp: #FACC15;
  --sys-stock: #FB923C;
  --sys-np: #F43F5E;
  --sys-tg: #2AABEE;

  /* Hero bubbles: glossy highlight on the coloured glass balls */
  --bubble-shine: rgba(255, 255, 255, 0.38);

  /* Charts (dashboard): violet → blue → pink, as in the brand glass */
  --chart-1: #8B5CF6;
  --chart-2: #60A5FA;   /* gradient stops only, never a separate series */
  --chart-3: #F472B6;
  --chart-4: #0EA5B7;   /* the only second series colour (validated against --graphite with --chart-1) */
  --chart-grid: rgba(196, 181, 253, 0.10);
  --good: #4ADE80;

  /* Type */
  /* Both families cover Cyrillic (uk / ru) and Latin. */
  --font-display: "Manrope", ui-sans-serif, system-ui, sans-serif;
  --font-body: "Inter", "Manrope", ui-sans-serif, system-ui, -apple-system, "Segoe UI", sans-serif;

  --fs-hero: clamp(2.9rem, 1.4rem + 6.2vw, 7.2rem);
  --fs-h2: clamp(2.1rem, 1.3rem + 3.1vw, 4.4rem);
  --fs-h3: clamp(1.25rem, 1.05rem + 0.7vw, 1.65rem);
  --fs-lead: clamp(1.06rem, 0.98rem + 0.4vw, 1.3rem);
  --fs-body: 1rem;
  --fs-small: 0.875rem;
  --fs-label: 0.75rem;

  /* Space & layout */
  --container: 1240px;
  --gutter: clamp(1rem, 0.5rem + 2.5vw, 2.5rem);
  --section-y: clamp(4rem, 2.4rem + 5.5vw, 7.5rem);
  --radius-sm: 10px;
  --radius: 18px;
  --radius-lg: 28px;
  --nav-h: 72px;

  /* Motion */
  --ease-out: cubic-bezier(0.16, 1, 0.3, 1);
  --ease-in-out: cubic-bezier(0.65, 0, 0.35, 1);
  --t-fast: 180ms;
  --t: 420ms;
  --t-slow: 1100ms;
}

/* Ukrainian and Russian headlines run longer — a slightly smaller hero scale keeps them on screen. */
html:lang(uk),
html:lang(ru) {
  --fs-hero: clamp(2.5rem, 1.2rem + 4.9vw, 5.9rem);
  --fs-h2: clamp(1.95rem, 1.2rem + 2.7vw, 3.9rem);
}
