/**
 * XeoNote marketing — design tokens
 * Adapted from the Ether-X brand system (palette.css + type-system.css)
 * with additional spacing, radii, and shadow tokens drawn from the
 * Ether-X visual identity guidelines.
 */

:root {
  /* ============================================================
     Brand colours — Ether-X master palette
     ============================================================ */

  /* Primary — Ether Violet */
  --color-primary-50:  #F5F0FF;
  --color-primary-100: #EBE0FF;
  --color-primary-200: #D4BFFF;
  --color-primary-300: #B894FF;
  --color-primary-400: #9B68FF;
  --color-primary-500: #7C3AFF;
  --color-primary-600: #6520E8;
  --color-primary-700: #5016BF;
  --color-primary-800: #3D1296;
  --color-primary-900: #2A0D6B;
  --color-primary-950: #190840;

  /* Secondary — Signal Cyan */
  --color-secondary-50:  #ECFEFF;
  --color-secondary-100: #CFFAFE;
  --color-secondary-200: #A5F3FC;
  --color-secondary-300: #67E8F9;
  --color-secondary-400: #22D3EE;
  --color-secondary-500: #06B6D4;
  --color-secondary-600: #0891B2;
  --color-secondary-700: #0E7490;
  --color-secondary-800: #155E75;
  --color-secondary-900: #164E63;
  --color-secondary-950: #083344;

  /* Accent — Volt Green (status / success only on marketing site) */
  --color-accent-400: #34D399;
  --color-accent-500: #10B981;
  --color-accent-600: #059669;

  /* Product accent — XeoNote Prism Blue */
  --color-xeonote-100: #DAE6FF;
  --color-xeonote-300: #90B8FF;
  --color-xeonote-400: #5C93FF;
  --color-xeonote-500: #3B76FF;
  --color-xeonote-600: #1E5CF5;
  --color-xeonote-700: #1849D8;

  /* Product accent — EtherSight Flare Amber */
  --color-ethersight-100: #FEF3C7;
  --color-ethersight-200: #FDE68A;
  --color-ethersight-300: #FCD34D;
  --color-ethersight-400: #FBBF24;
  --color-ethersight-500: #F59E0B;
  --color-ethersight-600: #D97706;
  --color-ethersight-700: #B45309;

  /* Risk-grade palette (used for asset-grading components) */
  --risk-a: #10B981;  /* Green — low risk */
  --risk-b: #22D3EE;  /* Cyan — modest */
  --risk-c: #FBBF24;  /* Amber-bright — moderate */
  --risk-d: #F97316;  /* Orange — elevated */
  --risk-f: #EF4444;  /* Red — critical */

  /* Neutrals — warm slate */
  --color-neutral-0:   #FFFFFF;
  --color-neutral-50:  #F8FAFC;
  --color-neutral-100: #F1F5F9;
  --color-neutral-150: #E8EDF3;
  --color-neutral-200: #E2E8F0;
  --color-neutral-300: #CBD5E1;
  --color-neutral-400: #94A3B8;
  --color-neutral-500: #64748B;
  --color-neutral-600: #475569;
  --color-neutral-700: #334155;
  --color-neutral-800: #1E293B;
  --color-neutral-900: #0F172A;
  --color-neutral-950: #020617;

  /* Semantic */
  --color-success-500: #10B981;
  --color-warning-500: #F59E0B;
  --color-error-500:   #EF4444;

  /* Brand gradient */
  --gradient-brand: linear-gradient(135deg, var(--color-primary-500), var(--color-secondary-500));
  --gradient-brand-vivid: linear-gradient(135deg, var(--color-primary-400), var(--color-secondary-400));

  /* ============================================================
     Typography — Ether-X type system
     ============================================================ */

  --font-heading: 'Plus Jakarta Sans', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
  --font-body:    'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', Helvetica, Arial, sans-serif;
  --font-mono:    'JetBrains Mono', 'Fira Code', 'SF Mono', Consolas, monospace;

  --weight-regular: 400;
  --weight-medium: 500;
  --weight-semibold: 600;
  --weight-bold: 700;
  --weight-extrabold: 800;

  --text-xs:   0.75rem;
  --text-sm:   0.875rem;
  --text-base: 1rem;
  --text-md:   1.125rem;
  --text-lg:   1.25rem;
  --text-xl:   1.5rem;
  --text-2xl:  1.875rem;
  --text-3xl:  2.25rem;
  --text-4xl:  3rem;
  --text-5xl:  3.75rem;
  --text-6xl:  4.5rem;
  --text-7xl:  5.5rem;

  --leading-tight: 1.1;
  --leading-snug: 1.25;
  --leading-normal: 1.5;
  --leading-relaxed: 1.65;
  --leading-loose: 1.75;

  --tracking-tight: -0.03em;
  --tracking-normal: 0;
  --tracking-wide: 0.02em;
  --tracking-caps: 0.12em;

  --measure-prose: 65ch;

  /* ============================================================
     Spacing — 4px grid, 8px base
     ============================================================ */

  --space-1:  0.25rem;   /* 4px */
  --space-2:  0.5rem;    /* 8px */
  --space-3:  0.75rem;   /* 12px */
  --space-4:  1rem;      /* 16px */
  --space-5:  1.25rem;   /* 20px */
  --space-6:  1.5rem;    /* 24px */
  --space-8:  2rem;      /* 32px */
  --space-10: 2.5rem;    /* 40px */
  --space-12: 3rem;      /* 48px */
  --space-16: 4rem;      /* 64px */
  --space-20: 5rem;      /* 80px */
  --space-24: 6rem;      /* 96px */
  --space-32: 8rem;      /* 128px */
  --space-40: 10rem;     /* 160px */

  /* ============================================================
     Radii
     ============================================================ */

  --radius-none: 0;
  --radius-sm: 4px;
  --radius-md: 6px;
  --radius-lg: 8px;
  --radius-xl: 12px;
  --radius-2xl: 16px;
  --radius-3xl: 24px;
  --radius-full: 9999px;

  /* ============================================================
     Shadows (light mode)
     ============================================================ */

  --shadow-xs: 0 1px 2px rgba(15, 23, 42, 0.05);
  --shadow-sm: 0 1px 3px rgba(15, 23, 42, 0.08), 0 1px 2px rgba(15, 23, 42, 0.04);
  --shadow-md: 0 4px 6px rgba(15, 23, 42, 0.07), 0 2px 4px rgba(15, 23, 42, 0.04);
  --shadow-lg: 0 10px 15px rgba(15, 23, 42, 0.08), 0 4px 6px rgba(15, 23, 42, 0.03);
  --shadow-xl: 0 20px 25px rgba(15, 23, 42, 0.08), 0 8px 10px rgba(15, 23, 42, 0.03);
  --shadow-2xl: 0 25px 50px rgba(15, 23, 42, 0.18);

  /* ============================================================
     Motion
     ============================================================ */

  --ease-out-expo: cubic-bezier(0.16, 1, 0.3, 1);
  --ease-out-cubic: cubic-bezier(0.33, 1, 0.68, 1);
  --duration-micro: 150ms;
  --duration-fast: 240ms;
  --duration-base: 300ms;
  --duration-slow: 500ms;

  /* ============================================================
     Semantic tokens (light)
     ============================================================ */

  --bg-page:    var(--color-neutral-50);
  --bg-surface: var(--color-neutral-0);
  --bg-muted:   var(--color-neutral-100);
  --bg-subtle:  var(--color-neutral-150);
  --bg-inverse: var(--color-neutral-900);

  --text-primary:   var(--color-neutral-900);
  --text-heading:   var(--color-neutral-900);
  --text-body:      var(--color-neutral-600);
  --text-secondary: var(--color-neutral-500);
  --text-muted:     var(--color-neutral-400);
  --text-inverse:   var(--color-neutral-50);
  --text-link:      var(--color-primary-700);

  --border-default: var(--color-neutral-200);
  --border-strong:  var(--color-neutral-300);
  --border-subtle:  var(--color-neutral-150);

  --interactive-primary:       var(--color-primary-600);
  --interactive-primary-hover: var(--color-primary-700);
  --interactive-primary-text:  #FFFFFF;
}

/* ============================================================
   Dark mode overrides
   ============================================================ */

[data-theme="dark"] {
  --bg-page:    var(--color-neutral-950);
  --bg-surface: var(--color-neutral-900);
  --bg-muted:   #0B1220;
  --bg-subtle:  var(--color-neutral-800);
  --bg-inverse: var(--color-neutral-50);

  --text-primary:   var(--color-neutral-50);
  --text-heading:   #FFFFFF;
  --text-body:      var(--color-neutral-300);
  --text-secondary: var(--color-neutral-400);
  --text-muted:     var(--color-neutral-500);
  --text-inverse:   var(--color-neutral-900);
  --text-link:      var(--color-secondary-300);

  --border-default: rgba(255, 255, 255, 0.08);
  --border-strong:  rgba(255, 255, 255, 0.16);
  --border-subtle:  rgba(255, 255, 255, 0.04);

  --interactive-primary:       var(--color-primary-500);
  --interactive-primary-hover: var(--color-primary-400);

  --shadow-xs: 0 1px 2px rgba(0, 0, 0, 0.3);
  --shadow-sm: 0 1px 3px rgba(0, 0, 0, 0.4);
  --shadow-md: 0 4px 6px rgba(0, 0, 0, 0.4);
  --shadow-lg: 0 10px 15px rgba(0, 0, 0, 0.5);
  --shadow-xl: 0 20px 25px rgba(0, 0, 0, 0.5);
  --shadow-2xl: 0 25px 50px rgba(0, 0, 0, 0.6);
}

/* Subtle base styles — direction-agnostic */
body {
  background: var(--bg-page);
  color: var(--text-primary);
  font-family: var(--font-body);
  font-size: var(--text-base);
  line-height: var(--leading-relaxed);
  transition: background-color var(--duration-base) var(--ease-out-cubic),
              color var(--duration-base) var(--ease-out-cubic);
}
