/* ==========================================================================
   Geek Partners — Color tokens
   Dark-first. Deep indigo accent over blue-tinted ink neutrals, with a
   single electric "signal" cyan for terminal/code highlights.
   Base scales first, then semantic aliases. Default theme = dark (:root).
   A light theme is available via [data-theme="light"].
   ========================================================================== */

:root {
  /* --- Ink: blue-tinted neutral scale (950 = deepest bg, 50 = near-white) --- */
  --gp-ink-950: #06080f;
  --gp-ink-900: #0a0d17;
  --gp-ink-850: #0e1220;
  --gp-ink-800: #131829;
  --gp-ink-700: #1b2236;
  --gp-ink-600: #262f47;
  --gp-ink-500: #38415c;
  --gp-ink-400: #545d77;
  --gp-ink-300: #7b8499;
  --gp-ink-200: #a6aec2;
  --gp-ink-100: #d2d8e6;
  --gp-ink-50:  #edf0f7;
  --gp-white:   #ffffff;

  /* --- Indigo: primary brand accent --- */
  --gp-indigo-50:  #eef0ff;
  --gp-indigo-100: #dfe3ff;
  --gp-indigo-200: #c2c9ff;
  --gp-indigo-300: #9aa5ff;
  --gp-indigo-400: #7585ff;
  --gp-indigo-500: #5468ff;  /* primary */
  --gp-indigo-600: #3f4fe6;
  --gp-indigo-700: #313dbf;
  --gp-indigo-800: #28338f;
  --gp-indigo-900: #1f2766;

  /* --- Signal: electric cyan, used sparingly for code/terminal accents --- */
  --gp-signal-300: #8df3ef;
  --gp-signal-400: #45dcd6;
  --gp-signal-500: #1fc4c0;
  --gp-signal-600: #14a3a0;

  /* --- Semantic hues --- */
  --gp-success-400: #34d399;
  --gp-success-500: #10b981;
  --gp-warning-400: #fbbf24;
  --gp-warning-500: #f59e0b;
  --gp-danger-400:  #f87171;
  --gp-danger-500:  #ef4444;

  /* ===================== Semantic aliases (DARK theme) ===================== */

  /* Surfaces */
  --surface-base:    var(--gp-ink-950);   /* page background */
  --surface-raised:  var(--gp-ink-850);   /* cards, panels */
  --surface-overlay: var(--gp-ink-800);   /* dialogs, menus, tooltips */
  --surface-inset:   var(--gp-ink-900);   /* wells, code blocks, inputs */
  --surface-hover:   rgba(255,255,255,0.04);
  --surface-active:  rgba(255,255,255,0.07);

  /* Text */
  --text-primary:   var(--gp-ink-50);
  --text-secondary: var(--gp-ink-200);
  --text-muted:     var(--gp-ink-300);
  --text-faint:     var(--gp-ink-400);
  --text-inverse:   var(--gp-ink-950);
  --text-on-accent: var(--gp-white);
  --text-link:      var(--gp-indigo-400);

  /* Borders / hairlines */
  --border-subtle:  rgba(255,255,255,0.06);
  --border-default: rgba(255,255,255,0.10);
  --border-strong:  rgba(255,255,255,0.18);
  --border-accent:  var(--gp-indigo-500);

  /* Accent */
  --accent:        var(--gp-indigo-500);
  --accent-hover:  var(--gp-indigo-400);
  --accent-press:  var(--gp-indigo-600);
  --accent-fg:     var(--gp-white);
  --accent-soft:   rgba(84,104,255,0.14);   /* tinted fills, hover wells */
  --accent-ring:   rgba(84,104,255,0.45);

  /* Signal (secondary accent) */
  --signal:        var(--gp-signal-400);
  --signal-soft:   rgba(69,220,214,0.12);

  /* Status */
  --status-success:    var(--gp-success-400);
  --status-success-bg: rgba(52,211,153,0.12);
  --status-warning:    var(--gp-warning-400);
  --status-warning-bg: rgba(251,191,36,0.12);
  --status-danger:     var(--gp-danger-400);
  --status-danger-bg:  rgba(248,113,113,0.12);

  /* Focus */
  --focus-ring: var(--accent-ring);

  /* Brand gradient (use sparingly: hero glows, key CTAs) */
  --gradient-indigo: linear-gradient(135deg, #5468ff 0%, #313dbf 100%); /* @kind other */
  --gradient-aurora: radial-gradient(60% 80% at 50% 0%, rgba(84,104,255,0.20) 0%, rgba(84,104,255,0) 70%); /* @kind other */
}

/* ========================= Semantic aliases (LIGHT) ========================= */
[data-theme="light"] {
  --surface-base:    var(--gp-ink-50);
  --surface-raised:  var(--gp-white);
  --surface-overlay: var(--gp-white);
  --surface-inset:   #f4f6fb;
  --surface-hover:   rgba(8,12,24,0.04);
  --surface-active:  rgba(8,12,24,0.07);

  --text-primary:   var(--gp-ink-900);
  --text-secondary: var(--gp-ink-600);
  --text-muted:     var(--gp-ink-500);
  --text-faint:     var(--gp-ink-400);
  --text-inverse:   var(--gp-white);
  --text-on-accent: var(--gp-white);
  --text-link:      var(--gp-indigo-600);

  --border-subtle:  rgba(8,12,24,0.07);
  --border-default: rgba(8,12,24,0.12);
  --border-strong:  rgba(8,12,24,0.22);

  --accent-hover:  var(--gp-indigo-600);
  --accent-soft:   rgba(84,104,255,0.10);
}
