/* ==========================================================================
   DESIGN TOKENS - CODECURIOUS VIOLET PALETTE
   Core: #EAEFFE (mist) · #9787F3 (violet) · #2D274B (deep indigo)
   ========================================================================== */

:root,
[data-theme="sapphire"],
[data-theme="dark"] {
  /* Violet ramp */
  --violet-50: #F5F7FF;
  --violet-100: #EAEFFE;
  --violet-200: #D9DCFB;
  --violet-300: #C2B9F8;
  --violet-400: #9787F3;
  --violet-500: #7D6BEA;
  --violet-600: #6553D6;
  --violet-700: #4F3FB0;
  --violet-800: #3A3073;
  --violet-900: #2D274B;
  --violet-950: #1A1631;

  /* Color Palette - Midnight Navy backgrounds (Default) */
  --bg-base: #080B21;
  --bg-subtle: #0B0E28;
  --bg-surface: #12163A;
  --bg-surface-hover: #181D47;
  --bg-surface-active: #20265A;
  --bg-glass: rgba(8, 11, 33, 0.78);
  --bg-card: rgba(18, 22, 58, 0.5);

  /* Theme channels (used as rgba(var(--ink-rgb), a)) */
  --ink-rgb: 255, 255, 255;
  --base-rgb: 8, 11, 33;
  --surface-rgb: 18, 22, 58;
  --shade-rgb: 0, 0, 0;

  /* Palette text tones (lightened for dark backgrounds) */
  --tone-mauve: #C2B9F8;
  --tone-peri: #A99CF5;
  --tone-lav: #9787F3;
  --tone-rose: #E26D9A;

  /* Border Tokens */
  --border-subtle: rgba(125, 107, 234, 0.15);
  --border-medium: rgba(125, 107, 234, 0.28);
  --border-bright: rgba(151, 135, 243, 0.45);
  --border-glass: rgba(125, 107, 234, 0.18);

  /* Text & Content Tokens */
  --text-primary: #FFFFFF;
  --text-secondary: #D5D3E8;
  --text-muted: #9787F3;
  --text-faint: #5A5480;
  --text-inverse: #080B21;

  /* Brand Palette (User Specified) */
  --brand-navy: #2D274B;
  --brand-blue: #6553D6;
  --brand-cerulean: #9787F3;
  --brand-cyan: #C2B9F8;
  --brand-glow: rgba(125, 107, 234, 0.35);

  /* Accent & Telemetry Colors */
  --emerald-400: #A99CF5;
  --emerald-500: #9787F3;
  --emerald-glow: rgba(125, 107, 234, 0.25);
  --cyan-400: #C2B9F8;
  --cyan-500: #9787F3;
  --cyan-glow: rgba(151, 135, 243, 0.35);
  --purple-400: #A29BC9;
  --purple-500: #9787F3;
  --purple-glow: rgba(125, 107, 234, 0.25);
  --amber-400: #D9DCFB;
  --rose-400: #E26D9A;

  /* Brand Accents & Gradients */
  --accent-primary: #6553D6;
  --accent-secondary: #C2B9F8;
  --accent-tertiary: #9787F3;
  --accent-gradient: linear-gradient(135deg, #9787F3 0%, #6553D6 100%);
  --accent-gradient-brand: linear-gradient(135deg, #2D274B 0%, #6553D6 40%, #9787F3 75%, #C2B9F8 100%);
  --accent-gradient-text: linear-gradient(135deg, #FFFFFF 15%, #EAEFFE 45%, #C2B9F8 75%, #9787F3 100%);
  --luxury-text-gradient: linear-gradient(135deg, #FFFFFF 0%, #F5F7FF 35%, #C2B9F8 70%, #9787F3 100%);
  --luxury-orchid-gradient: linear-gradient(135deg, #C2B9F8 0%, #9787F3 50%, #6553D6 100%);
  --luxury-glass-bg: rgba(18, 22, 58, 0.55);
  --luxury-glass-border: rgba(151, 135, 243, 0.28);
  --luxury-glass-specular: inset 0 1px 1px 0 rgba(255, 255, 255, 0.22), inset 0 0 0 1px rgba(151, 135, 243, 0.15), 0 25px 50px -12px rgba(0, 0, 0, 0.75);

  /* Typography */
  --font-sans: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Helvetica, Arial, sans-serif;
  --font-display: 'Plus Jakarta Sans', 'Inter', sans-serif;
  --font-mono: 'JetBrains Mono', 'IBM Plex Mono', SFMono-Regular, Menlo, Monaco, Consolas, monospace;

  /* Shadows & Glows */
  --shadow-sm: 0 1px 2px 0 rgba(0, 0, 0, 0.4);
  --shadow-md: 0 4px 6px -1px rgba(0, 0, 0, 0.5), 0 2px 4px -2px rgba(0, 0, 0, 0.5);
  --shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, 0.6), 0 4px 6px -4px rgba(0, 0, 0, 0.6);
  --shadow-glow-emerald: 0 0 40px -10px rgba(125, 107, 234, 0.35);
  --shadow-glow-cyan: 0 0 40px -10px rgba(151, 135, 243, 0.35);
  --shadow-glow-brand: 0 0 40px -10px rgba(101, 83, 214, 0.45);
  --shadow-glow-luxury: 0 0 45px -5px rgba(151, 135, 243, 0.45);
  --shadow-glow-card: 0 0 35px rgba(8, 11, 33, 0.85), inset 0 1px 0 rgba(194, 185, 248, 0.2);

  /* Layout Spacing */
  --container-max: 1560px;
  --header-height: 72px;
  --radius-xs: 4px;
  --radius-sm: 8px;
  --radius-md: 12px;
  --radius-lg: 18px;
  --radius-xl: 24px;
  --radius-full: 9999px;

  /* Transitions */
  --transition-fast: 150ms cubic-bezier(0.16, 1, 0.3, 1);
  --transition-normal: 250ms cubic-bezier(0.16, 1, 0.3, 1);
  --transition-slow: 400ms cubic-bezier(0.16, 1, 0.3, 1);
}

[data-theme="light"] {
  --bg-base: #F5F7FF;
  --bg-subtle: #EAEFFE;
  --bg-surface: #FFFFFF;
  --bg-surface-hover: #F5F7FF;
  --bg-surface-active: #D9DCFB;
  --bg-glass: rgba(255, 255, 255, 0.82);
  --bg-card: rgba(255, 255, 255, 0.92);

  --ink-rgb: 45, 39, 75;
  --base-rgb: 245, 247, 255;
  --surface-rgb: 255, 255, 255;
  --shade-rgb: 217, 220, 251;

  --tone-mauve: #6553D6;
  --tone-peri: #4F3FB0;
  --tone-lav: #7D6BEA;
  --tone-rose: #C24F7E;

  /* Accent tokens deepened for light backgrounds */
  --brand-cyan: #6553D6;
  --cyan-400: #6553D6;
  --cyan-500: #4F3FB0;
  --emerald-400: #4F3FB0;
  --emerald-500: #6553D6;
  --purple-400: #7D6BEA;
  --purple-500: #6553D6;
  --amber-400: #9787F3;
  --rose-400: #C24F7E;
  --accent-secondary: #6553D6;
  --accent-tertiary: #7D6BEA;

  --border-subtle: rgba(101, 83, 214, 0.10);
  --border-medium: rgba(101, 83, 214, 0.18);
  --border-bright: rgba(101, 83, 214, 0.35);
  --border-glass: rgba(101, 83, 214, 0.12);

  --text-primary: #2D274B;
  --text-secondary: #4D4775;
  --text-muted: #6E6892;
  --text-faint: #A29BC9;
  --text-inverse: #FFFFFF;

  --shadow-sm: 0 1px 2px 0 rgba(45, 39, 75, 0.06);
  --shadow-md: 0 6px 16px -4px rgba(101, 83, 214, 0.14);
  --shadow-lg: 0 18px 40px -12px rgba(101, 83, 214, 0.22);
  --shadow-glow-card: 0 10px 30px -12px rgba(101, 83, 214, 0.18), inset 0 1px 0 rgba(255, 255, 255, 1);
  --accent-gradient-text: linear-gradient(135deg, #2D274B 10%, #6553D6 60%, #9787F3 100%);
}

/* Deep indigo band: light-on-dark sections inside the light theme (footer, final CTA) */
.theme-deep,
[data-theme="light"] .site-footer,
[data-theme="light"] .final-cta-card {
  --bg-base: #2D274B;
  --bg-subtle: #251F42;
  --bg-surface: #3A3073;
  --bg-surface-hover: #433881;
  --bg-surface-active: #4F3FB0;
  --bg-glass: rgba(45, 39, 75, 0.8);
  --bg-card: rgba(58, 48, 115, 0.5);
  --ink-rgb: 255, 255, 255;
  --base-rgb: 45, 39, 75;
  --surface-rgb: 58, 48, 115;
  --shade-rgb: 26, 22, 49;
  --tone-mauve: #C2B9F8;
  --tone-peri: #D9DCFB;
  --tone-lav: #A99CF5;
  --tone-rose: #EFA3C2;
  --brand-cyan: #C2B9F8;
  --cyan-400: #C2B9F8;
  --cyan-500: #9787F3;
  --emerald-400: #D9DCFB;
  --purple-400: #C2B9F8;
  --accent-secondary: #C2B9F8;
  --accent-tertiary: #A99CF5;
  --border-subtle: rgba(194, 185, 248, 0.14);
  --border-medium: rgba(194, 185, 248, 0.24);
  --border-bright: rgba(194, 185, 248, 0.4);
  --border-glass: rgba(194, 185, 248, 0.16);
  --text-primary: #FFFFFF;
  --text-secondary: #D9DCFB;
  --text-muted: #A99CF5;
  --text-faint: #7D6BEA;
  --accent-gradient-text: linear-gradient(135deg, #FFFFFF 20%, #C2B9F8 70%, #9787F3 100%);
  color: var(--text-secondary);
}

[data-theme="light"] .site-footer {
  background: 
    radial-gradient(1100px 420px at 50% 0%, rgba(151, 135, 243, 0.28) 0%, rgba(101, 83, 214, 0.12) 45%, transparent 75%),
    radial-gradient(900px 550px at 0% 100%, rgba(101, 83, 214, 0.20) 0%, transparent 80%),
    radial-gradient(850px 500px at 100% 90%, rgba(194, 185, 248, 0.16) 0%, transparent 75%),
    linear-gradient(180deg, #2D274B 0%, #201A3B 45%, #16122C 100%);
}

[data-theme="light"] .final-cta-card {
  background: 
    radial-gradient(900px 340px at 50% 0%, rgba(151, 135, 243, 0.28) 0%, rgba(101, 83, 214, 0.10) 45%, transparent 75%),
    radial-gradient(750px 420px at 10% 100%, rgba(101, 83, 214, 0.22) 0%, transparent 60%),
    radial-gradient(700px 380px at 90% 90%, rgba(194, 185, 248, 0.16) 0%, transparent 60%),
    linear-gradient(145deg, #2A2447 0%, #1F1939 45%, #15112B 100%);
  border-color: rgba(194, 185, 248, 0.25);
}
