/* ==========================================================================
   NEXUS STUDIO — DESIGN SYSTEM & TOKENS
   Art-directed typography, color matrix, layout grids & micro-tokens
   ========================================================================== */

:root {
  /* Color Palette — Obsidian Dark (Default) */
  --bg-primary: #0a0b0e;
  --bg-secondary: #12141a;
  --bg-tertiary: #191c24;
  --bg-elevated: #20242e;
  --bg-glass: rgba(18, 20, 26, 0.75);
  --bg-glass-strong: rgba(10, 11, 14, 0.9);

  --text-primary: #f5f6f9;
  --text-secondary: #9da4b4;
  --text-muted: #626978;
  --text-inverse: #0a0b0e;

  --accent-primary: #d4ff3f; /* Electric Acid Lime */
  --accent-hover: #bceb29;
  --accent-glow: rgba(212, 255, 63, 0.15);
  --accent-secondary: #ff4820; /* Signal Vermilion */

  --border-subtle: rgba(255, 255, 255, 0.08);
  --border-medium: rgba(255, 255, 255, 0.14);
  --border-strong: rgba(255, 255, 255, 0.25);
  --border-accent: rgba(212, 255, 63, 0.4);

  --badge-bg: rgba(255, 255, 255, 0.05);
  --badge-text: #d4ff3f;

  /* Typography */
  --font-display: 'Syne', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
  --font-serif: 'Playfair Display', Georgia, serif;
  --font-sans: 'Plus Jakarta Sans', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
  --font-mono: 'JetBrains Mono', 'Fira Code', Consolas, monospace;

  /* Spacing Scale */
  --space-2xs: 0.25rem;
  --space-xs: 0.5rem;
  --space-sm: 0.75rem;
  --space-md: 1rem;
  --space-lg: 1.5rem;
  --space-xl: 2rem;
  --space-2xl: 3rem;
  --space-3xl: 4.5rem;
  --space-4xl: 6rem;
  --space-5xl: 8rem;

  /* Layout */
  --container-max: 1440px;
  --container-narrow: 1080px;
  --container-text: 780px;
  --header-height: 80px;
  --radius-xs: 2px;
  --radius-sm: 4px;
  --radius-md: 8px;
  --radius-lg: 12px;
  --radius-full: 9999px;

  /* Transitions & Animation */
  --transition-fast: 150ms cubic-bezier(0.16, 1, 0.3, 1);
  --transition-normal: 280ms cubic-bezier(0.16, 1, 0.3, 1);
  --transition-slow: 500ms cubic-bezier(0.16, 1, 0.3, 1);
  --transition-editorial: 700ms cubic-bezier(0.25, 1, 0.5, 1);

  /* Shadows */
  --shadow-sm: 0 2px 8px rgba(0, 0, 0, 0.3);
  --shadow-md: 0 8px 24px rgba(0, 0, 0, 0.4);
  --shadow-lg: 0 16px 48px rgba(0, 0, 0, 0.5);
  --shadow-accent: 0 0 30px rgba(212, 255, 63, 0.2);

  /* Status Colors */
  --color-success: #10b981;
  --color-error: #ef4444;
  --color-warning: #f59e0b;
  --color-info: #3b82f6;
}

/* Light Theme Variables */
[data-theme="light"] {
  --bg-primary: #f7f8fa;
  --bg-secondary: #ffffff;
  --bg-tertiary: #edeef2;
  --bg-elevated: #ffffff;
  --bg-glass: rgba(255, 255, 255, 0.85);
  --bg-glass-strong: rgba(247, 248, 250, 0.95);

  --text-primary: #0e1014;
  --text-secondary: #525a6c;
  --text-muted: #8892a4;
  --text-inverse: #ffffff;

  --accent-primary: #0c43f7; /* High-voltage Royal Indigo in Light Mode for accessibility */
  --accent-hover: #0834c9;
  --accent-glow: rgba(12, 67, 247, 0.12);
  --accent-secondary: #e63910;

  --border-subtle: rgba(0, 0, 0, 0.07);
  --border-medium: rgba(0, 0, 0, 0.13);
  --border-strong: rgba(0, 0, 0, 0.28);
  --border-accent: rgba(12, 67, 247, 0.35);

  --badge-bg: rgba(12, 67, 247, 0.08);
  --badge-text: #0c43f7;

  --shadow-sm: 0 2px 8px rgba(0, 0, 0, 0.06);
  --shadow-md: 0 8px 24px rgba(0, 0, 0, 0.08);
  --shadow-lg: 0 16px 48px rgba(0, 0, 0, 0.12);
  --shadow-accent: 0 0 30px rgba(12, 67, 247, 0.18);
}
