/**
 * Premium Enterprise Design System
 * Light theme, dark text, subtle neon accent. WCAG AA target: 4.5:1 normal text, 3:1 large text / UI.
 * Desktop: Space Grotesk, Mobile: Inter. Breakpoint: 768px.
 */
:root {
  /* Light enterprise theme */
  --color-primary: #136dec;
  --color-text-on-primary: #ffffff;
  --color-accent-neon: #22d3ee;
  --accent: var(--color-accent-neon);
  --color-accent-accessible: #0e7490;
  --color-bg: #f8fafc;
  --color-surface: #ffffff;
  --color-surface-elevated: #f1f5f9;
  --color-text: #0f172a;
  --color-text-muted: #475569;
  --color-border: rgba(0, 0, 0, 0.08);
  --color-link: var(--color-primary);
  --color-link-hover: #0f5fd6;
  --radius: 8px;
  --font: 'Space Grotesk', system-ui, sans-serif;
  --font-heading: 'Space Grotesk', system-ui, sans-serif;
  /* Shadows */
  --shadow-sm: 0 1px 2px rgba(0, 0, 0, 0.05);
  --shadow-md: 0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -2px rgba(0, 0, 0, 0.1);
  --shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, 0.1), 0 4px 6px -4px rgba(0, 0, 0, 0.1);
  /* Card elevation – Stripe/Linear style layered soft shadow */
  --shadow-card: 0 1px 2px rgba(0, 0, 0, 0.04), 0 4px 12px rgba(0, 0, 0, 0.05);
  --shadow-card-hover: 0 2px 4px rgba(0, 0, 0, 0.04), 0 8px 24px rgba(0, 0, 0, 0.06);
  --shadow-card-subtle: 0 1px 3px rgba(0, 0, 0, 0.04);
  /* Typography scale */
  --text-xs: 0.75rem;
  --text-sm: 0.9rem;
  --text-base: 1rem;
  --text-lg: 1.125rem;
  --text-xl: 1.25rem;
  --text-2xl: 1.5rem;
  --text-3xl: clamp(2rem, 4vw, 2.75rem);
  --text-4xl: clamp(2.5rem, 5vw, 4rem);
  /* Spacing */
  --space-xs: 4px;
  --space-sm: 8px;
  --space-md: 16px;
  --space-lg: 24px;
  --space-xl: 32px;
  --space-2xl: 48px;
  --space-3xl: 80px;
  /* Transitions – subtle, calm motion theme */
  --transition-fast: 0.18s ease;
  --transition-base: 0.26s ease;
  --transition-slow: 0.4s ease;
  /* Subtle glow / overlay (for circuit, focus, hovers) */
  --glow-subtle: rgba(34, 211, 238, 0.12);
  --overlay-subtle: rgba(19, 109, 236, 0.06);
}

@media (max-width: 768px) {
  :root {
    --color-primary: #0d7ff2;
    --font: 'Inter', system-ui, sans-serif;
    --font-heading: 'Inter', system-ui, sans-serif;
  }
}

/* Reduced motion */
@media (prefers-reduced-motion: reduce) {
  :root {
    --transition-fast: 0s;
    --transition-base: 0s;
  }
}

/* Premium dark theme – black + bluish gradient. Primary #F8FAFC, secondary #94A3B8, borders 0.08. */
.theme-dark {
  --accent: var(--color-accent-neon);
  --color-bg: #05070a;
  --color-bg-end: #050a14;
  --color-surface: #0c0f14;
  --color-surface-elevated: #11151c;
  --color-text: #F8FAFC;
  --color-text-muted: #94A3B8;
  --color-border: rgba(255, 255, 255, 0.08);
  --color-link: #60a5fa;
  --color-link-hover: #93c5fd;
  --glow-hover: rgba(56, 189, 248, 0.35);
  --shadow-card: 0 1px 2px rgba(0, 0, 0, 0.2), 0 4px 12px rgba(0, 0, 0, 0.15);
  --shadow-card-hover: 0 2px 4px rgba(0, 0, 0, 0.2), 0 8px 24px rgba(56, 189, 248, 0.1);
  --shadow-card-subtle: 0 1px 3px rgba(0, 0, 0, 0.2);
}
