:root {
  /* ============================================
     SOVEREIGN THEME ENGINE
     ============================================ */
  --slake-blue: #4A90E2;
  --slake-blue-rgb: 74, 144, 226;
  --slake-bg: #050505;
  --slake-bg-rgb: 5, 5, 5;
  --slake-text: #FFFFFF;
  --slake-text-rgb: 255, 255, 255;
  --slake-subtext: #CBD5E1;
  --slake-muted: #94A3B8;
  --slake-grid: rgba(255, 255, 255, 0.06);
  --slake-border: rgba(203, 213, 225, 0.16);
  --slake-card: #0B1220;
  --slake-panel: rgba(15, 23, 42, 0.72);
  --slake-btn-shadow: 0 0 24px rgba(46, 91, 255, 0.3), 0 4px 12px rgba(0, 0, 0, 0.3);
  --slake-btn-hover-shadow: 0 0 36px rgba(46, 91, 255, 0.45), 0 8px 20px rgba(0, 0, 0, 0.35);


  /* Accessible Brand Palette (central source of truth) */
  /* Primary (Indigo 600): AA on white as text (≈5.2:1), white on primary (≈5.2:1) */
  --primary: #4F46E5;
  /* rgb(79,70,229) */
  --primary-700: #3730A3;
  /* Darker for outlines/hover, white on this ≈8.8:1 */
  --primary-rgb: 79, 70, 229;

  /* Secondary (Cyan 500/600 blended) - accent/gradients only; avoid as text color on light bg (fails AA) */
  --secondary: #06B6D4;
  /* rgb(6,182,212) */
  --secondary-700: #0E7490;
  /* rgb(14,116,144) for borders/overlays */
  --secondary-rgb: 6, 182, 212;

  /* Accent (Emerald 500/600) - use for positive/accents; white on accent (≈4.7-6.0:1) */
  --accent: #10B981;
  /* rgb(16,185,129) */
  --accent-700: #047857;
  /* rgb(4,120,87) for stronger contrast */
  --accent-rgb: 16, 185, 129;

  /* States */
  --success: #16A34A;
  /* white on success ≈4.9:1 */
  --success-700: #15803D;
  --success-rgb: 22, 163, 74;
  --warning: #D97706;
  /* use dark text on warning backgrounds */
  --warning-800: #92400E;
  --warning-rgb: 217, 119, 6;
  --danger: #DC2626;
  /* white on danger ≈5.6:1 */
  --danger-700: #B91C1C;
  --danger-rgb: 220, 38, 38;

  /* Neutrals (Tailored for contrast) */
  --gray-900: #0F172A;
  /* on white ≈ 15:1 */
  --gray-800: #1F2937;
  --gray-700: #374151;
  /* on white ≈ 7.6:1 */
  --gray-600: #4B5563;
  /* on white ≈ 5.7:1 */
  --gray-500: #6B7280;
  --gray-400: #9CA3AF;
  --gray-300: #D1D5DB;
  --gray-200: #E5E7EB;
  --gray-100: #F3F4F6;
  --white: #FFFFFF;
  --black: #000000;
  --white-rgb: 255, 255, 255;
  --black-rgb: 0, 0, 0;

  /* Semantic Surfaces (light) */
  --surface-1: #FFFFFF;
  --surface-2: #F8FAFC;
  --surface-3: #EEF2FF;
  /* subtle primary-tinted card */
  --elevated-1: #FFFFFF;
  --elevated-border: #E5E7EB;

  /* Text tokens (light) */
  --text-strong: var(--gray-900);
  /* ≥ 12:1 on --surface-1 */
  --text: var(--gray-800);
  --text-muted: var(--gray-600);
  /* ≈5.7:1 on --surface-1 */
  --text-inverse: #FFFFFF;
  /* on dark surfaces */
  --text-inverse-rgb: 255, 255, 255;
  --font-primary: 'Inter', system-ui, -apple-system, BlinkMacSystemFont, sans-serif;

  /* Spacing */
  --space-1: 0.25rem;
  --space-2: 0.5rem;
  --space-3: 0.75rem;
  --space-4: 1rem;
  --space-5: 1.25rem;
  --space-6: 1.5rem;
  --space-8: 2rem;
  --space-12: 3rem;
  --space-16: 4rem;
  --space-20: 5rem;
  --space-24: 6rem;
  --space-32: 8rem;

  /* Radius */
  --radius-sm: 0; --radius-md: 0; --radius-lg: 0; --radius-xl: 0;
  --radius-sm: 0; --radius-md: 0; --radius-lg: 0; --radius-xl: 0;
  --radius-sm: 0; --radius-md: 0; --radius-lg: 0; --radius-xl: 0;
  --radius-sm: 0; --radius-md: 0; --radius-lg: 0; --radius-xl: 0;

  /* Borders */
  --border: var(--gray-200);
  --border-strong: #D1D5DB;

  /* Components */
  --chip-bg: #FFFFFF;
  --chip-border: var(--gray-200);
  --chip-text: var(--gray-800);

  /* Top bar / dark ribbons */
  --topbar-bg: #0F172A;
  --topbar-border: var(--gray-800);

  /* Overlays / scrims */
  --scrim-rgb: 2, 6, 23;
  /* deep navy-black for overlays */

  /* Focus ring (meets AA against most surfaces) */
  --focus-outline: #1E40AF;
  /* Indigo-800 */
  --focus-ring: 0 0 0 3px rgba(var(--primary-rgb), .32);

  /* Elevation shadows (use scrim for neutral, accessible depth) */
  --shadow-sm: 0 1px 2px rgba(var(--scrim-rgb), .05);
  --shadow-md: 0 8px 24px rgba(var(--scrim-rgb), .10);
  --shadow-lg: 0 14px 40px rgba(var(--scrim-rgb), .14);
  --shadow-xl: 0 20px 50px rgba(var(--scrim-rgb), .18);

  /* Transitions */
  --transition: all 0.2s cubic-bezier(0.4, 0, 0.2, 1);
}

/* Shared confidence/messaging strip */
.confidence-strip {
  padding: 1.25rem 0;
  background: var(--surface-2);
  border-bottom: 1px solid var(--border)
}

.confidence-strip .container {
  max-width: 1180px;
  margin: 0 auto;
  padding: 0 1rem
}

.confidence-strip .row {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  gap: .75rem;
  row-gap: .6rem
}

.confidence-chip {
  display: inline-flex;
  align-items: center;
  gap: .5rem;
  padding: .6rem .9rem;
  border: 1px solid var(--chip-border);
  border-radius: 999px;
  background: var(--chip-bg);
  color: var(--chip-text);
  font-weight: 800;
  font-size: .8rem;
  letter-spacing: .02em;
}

.confidence-chip i {
  color: var(--primary);
}

/* Respect reduced motion */
@media (prefers-reduced-motion: reduce) {
  * {
    transition: none !important;
    animation: none !important;
  }
}

/* ============================================
   SOVEREIGN THEME ENGINE - LIGHT MODE OVERRIDES
   ============================================ */

.light-mode {
  --slake-bg: #F8FAFC;
  --slake-bg-rgb: 248, 250, 252;
  --slake-brand-text: #050505;
  --slake-text: #0F172A;
  --slake-text-rgb: 15, 23, 42;
  --slake-subtext: #334155;
  --slake-grid: rgba(74, 144, 226, 0.12);
  --slake-border: rgba(15, 23, 42, 0.08);
  --slake-card: #FFFFFF;
  --slake-panel: #FFFFFF;
  --slake-btn-shadow: 0 1px 2px rgba(15, 23, 42, 0.04);
  --slake-btn-hover-shadow: 0 4px 12px rgba(15, 23, 42, 0.08);
}

/* Absolute Contrast Layer for Light Mode */
.light-mode .article-content,
.light-mode .article-content p,
.light-mode .article-content li,
.light-mode .article-content h2,
.light-mode .article-content h3,
.light-mode article strong {
  color: var(--slake-text) !important;
}

.light-mode .hero-badge,
.light-mode [style*="color: var(--slake-subtext)"],
.light-mode [style*="color: #666"],
.light-mode [style*="color: #CBD5E1"],
.light-mode [style*="color: #94A3B8"],
.light-mode [style*="color: #E2E8F0"],
.light-mode [style*="color: #94a3b8"],
.light-mode [style*="color: #cbd5e1"],
.light-mode [style*="color: var(--gray-500)"] {
  color: var(--slake-subtext) !important;
}

.light-mode [style*="background: rgba(15,23,42"],
.light-mode [style*="background: rgba(15, 23, 42"],
.light-mode [style*="background: linear-gradient(180deg, rgba(15"],
.light-mode [style*="background: linear-gradient(180deg, rgba(19"] {
  background: #FFFFFF !important;
  border-color: rgba(15, 23, 42, 0.10) !important;
}
