/* ==========================================================================
   Veyra Design System · v1.0
   Single source of truth for colour, type, space, radius and motion.
   Import this file first in every Veyra surface (web front, app, docs).
   Mirror of /design-system/tokens.json
   ========================================================================== */

:root {
  /* Colour · ink grounds */
  --vy-ink-950: #070A14;   /* page ground */
  --vy-ink-900: #0A0F1E;   /* logo ground, section bands */
  --vy-ink-800: #0C1226;   /* cards */
  --vy-ink-750: #101734;   /* featured card */
  --vy-ink-700: #131B36;   /* chips, raised */
  --vy-line: #1B2547;      /* card borders */
  --vy-line-soft: #141C36; /* section dividers */
  --vy-line-strong: #26325A; /* inputs, ghost buttons */

  /* Colour · brand light */
  --vy-blue: #4C5FE0;      /* primary action */
  --vy-violet: #7B6CFF;    /* glow, focus, rules */
  --vy-lavender: #C9C6FF;  /* eyebrows, highlights */
  --vy-tab-on: #1A2150;    /* selected tab fill */

  /* Colour · text */
  --vy-frost: #F3F4FA;     /* headings, primary text */
  --vy-mist: #D6D9E6;      /* list text */
  --vy-silver: #A9B0C8;    /* body copy */
  --vy-steel: #8089A6;     /* captions (lowest allowed contrast) */

  /* Wing Light: reserved for the mark and 1px pulse rules only */
  --vy-wing-light: linear-gradient(110deg, #2E4BC9 0%, #4C5FE0 40%, #7B6CFF 72%, #E6E4FF 100%);
  --vy-pulse-rule: linear-gradient(90deg, var(--vy-violet), rgba(123, 108, 255, 0));
  --vy-pulse-rule-center: linear-gradient(90deg, rgba(123, 108, 255, 0), var(--vy-violet), rgba(123, 108, 255, 0));
  --vy-glow-violet: 0 0 10px rgba(123, 108, 255, 0.8);
  --vy-glow-cta: 0 10px 40px rgba(76, 95, 224, 0.35);
  --vy-glow-card: 0 30px 80px rgba(76, 95, 224, 0.22);

  /* Typography */
  --vy-font-display: 'Jost', 'Futura', 'Century Gothic', sans-serif;
  --vy-font-body: 'Manrope', 'Segoe UI', system-ui, sans-serif;
  --vy-font-mono: 'JetBrains Mono', ui-monospace, 'SFMono-Regular', monospace;

  --vy-text-display: clamp(44px, 6vw, 80px); /* Jost 300, lh 1.02 */
  --vy-text-h2: clamp(34px, 4vw, 52px);      /* Jost 300, lh 1.1 */
  --vy-text-h3: 26px;                        /* Jost 400, lh 1.2 */
  --vy-text-body-lg: 18px;
  --vy-text-body: 17px;                      /* Manrope 400, lh 1.7 */
  --vy-text-small: 14px;
  --vy-text-eyebrow: 12px;                   /* Jost 500, +0.32em, caps */
  --vy-tracking-eyebrow: 0.32em;

  /* Space (4px base) */
  --vy-space-1: 4px;
  --vy-space-2: 8px;
  --vy-space-3: 12px;
  --vy-space-4: 16px;
  --vy-space-5: 24px;
  --vy-space-6: 32px;
  --vy-space-7: 48px;
  --vy-space-8: 64px;
  --vy-space-9: 96px;
  --vy-space-10: 128px;

  /* Radius */
  --vy-radius-input: 10px;
  --vy-radius-sm: 14px;
  --vy-radius-card: 20px;
  --vy-radius-pill: 999px;

  /* Layout */
  --vy-container: 1200px;
  --vy-gutter: 24px;

  /* Motion */
  --vy-ease: cubic-bezier(0.4, 0, 0.2, 1);
  --vy-dur-state: 200ms;
  --vy-dur-breathe: 6s;
  --vy-dur-float: 8s;
}
