/* ===== Dark Mode ===== */

/* Auto-detect system preference */
@media (prefers-color-scheme: dark) {
  :root:not([data-theme="light"]) {
    --surface-1: #16161a;
    --surface-2: #1e1e24;
    --surface-3: #26262e;
    --surface-glass: rgba(30, 30, 36, 0.55);
    --surface-glass-strong: rgba(30, 30, 36, 0.82);

    --text-95: rgba(255, 255, 255, 0.95);
    --text-85: rgba(255, 255, 255, 0.85);
    --text-70: rgba(255, 255, 255, 0.70);
    --text-55: rgba(255, 255, 255, 0.50);
    --text-40: rgba(255, 255, 255, 0.35);
    --text-25: rgba(255, 255, 255, 0.20);
    --text-10: rgba(255, 255, 255, 0.10);
    --text-05: rgba(255, 255, 255, 0.05);

    --border-light: rgba(255, 255, 255, 0.08);
    --border-medium: rgba(255, 255, 255, 0.12);

    /* Shadow → glow inversion */
    --shadow-sm: 0 1px 3px rgba(0, 0, 0, 0.3);
    --shadow-md: 0 0 0 1px rgba(255, 255, 255, 0.06), 0 2px 16px rgba(0, 0, 0, 0.3);
    --shadow-lg: 0 0 0 1px rgba(255, 255, 255, 0.08), 0 6px 28px rgba(0, 0, 0, 0.4);
    --shadow-glow: 0 0 40px rgba(99, 102, 241, 0.15);
  }
}

/* Manual dark mode toggle */
[data-theme="dark"] {
  --surface-1: #16161a;
  --surface-2: #1e1e24;
  --surface-3: #26262e;
  --surface-glass: rgba(30, 30, 36, 0.55);
  --surface-glass-strong: rgba(30, 30, 36, 0.82);

  --text-95: rgba(255, 255, 255, 0.95);
  --text-85: rgba(255, 255, 255, 0.85);
  --text-70: rgba(255, 255, 255, 0.70);
  --text-55: rgba(255, 255, 255, 0.50);
  --text-40: rgba(255, 255, 255, 0.35);
  --text-25: rgba(255, 255, 255, 0.20);
  --text-10: rgba(255, 255, 255, 0.10);
  --text-05: rgba(255, 255, 255, 0.05);

  --border-light: rgba(255, 255, 255, 0.08);
  --border-medium: rgba(255, 255, 255, 0.12);

  --shadow-sm: 0 1px 3px rgba(0, 0, 0, 0.3);
  --shadow-md: 0 0 0 1px rgba(255, 255, 255, 0.06), 0 2px 16px rgba(0, 0, 0, 0.3);
  --shadow-lg: 0 0 0 1px rgba(255, 255, 255, 0.08), 0 6px 28px rgba(0, 0, 0, 0.4);
  --shadow-glow: 0 0 40px rgba(99, 102, 241, 0.15);
}

/* Manual light mode override (when system prefers dark) */
[data-theme="light"] {
  --surface-1: #efeff3;
  --surface-2: #f6f6f9;
  --surface-3: #fdfdfd;
  --surface-glass: rgba(255, 255, 255, 0.55);
  --surface-glass-strong: rgba(255, 255, 255, 0.78);

  --text-95: rgba(0, 0, 0, 0.95);
  --text-85: rgba(0, 0, 0, 0.85);
  --text-70: rgba(0, 0, 0, 0.70);
  --text-55: rgba(0, 0, 0, 0.55);
  --text-40: rgba(0, 0, 0, 0.40);
  --text-25: rgba(0, 0, 0, 0.25);
  --text-10: rgba(0, 0, 0, 0.10);
  --text-05: rgba(0, 0, 0, 0.05);

  --border-light: rgba(0, 0, 0, 0.06);
  --border-medium: rgba(0, 0, 0, 0.10);

  --shadow-sm: 0 1px 3px rgba(0, 0, 0, 0.04);
  --shadow-md: 0 2px 16px rgba(0, 0, 0, 0.06);
  --shadow-lg: 0 6px 28px rgba(0, 0, 0, 0.10);
  --shadow-glow: 0 0 32px rgba(99, 102, 241, 0.12);
}

/* Dark mode specific tweaks */
@media (prefers-color-scheme: dark) {
  :root:not([data-theme="light"]) code {
    background: rgba(255, 255, 255, 0.06);
  }
  :root:not([data-theme="light"]) ::selection {
    background: rgba(99, 102, 241, 0.25);
  }
}
[data-theme="dark"] code {
  background: rgba(255, 255, 255, 0.06);
}
[data-theme="dark"] ::selection {
  background: rgba(99, 102, 241, 0.25);
}
