/*
  Faction palettes — chosen from the palette switcher in "Achrona Challenge Site.dc.html".

    The Augmented -> "Brand"   (electric blue)
    The Purists   -> "Emerald" (luminous green)

  These replace the purple/teal defaults that ship in colors.css. Every step is
  published twice: as a hex (--aug-500) and as a bare "r g b" triplet
  (--aug-500-rgb) so translucent values can be written as
  rgb(var(--aug-500-rgb) / 0.4) without a second colour definition.
*/
:root {

  /* ═══════════════════════════════════════
     THE AUGMENTED — "Brand"
  ═══════════════════════════════════════ */
  --aug-100: #e6efff;  --aug-100-rgb: 230 239 255;
  --aug-200: #c0d6ff;  --aug-200-rgb: 192 214 255;
  --aug-300: #8fb2ff;  --aug-300-rgb: 143 178 255;
  --aug-400: #5c8bff;  --aug-400-rgb: 92 139 255;
  --aug-500: #2e64f5;  --aug-500-rgb: 46 100 245;
  --aug-600: #004fe2;  --aug-600-rgb: 0 79 226;
  --aug-700: #0040b5;  --aug-700-rgb: 0 64 181;
  --aug-800: #083080;  --aug-800-rgb: 8 48 128;
  --aug-900: #081f52;  --aug-900-rgb: 8 31 82;

  /* ═══════════════════════════════════════
     THE PURISTS — "Emerald"
  ═══════════════════════════════════════ */
  --pur-100: #d1fae5;  --pur-100-rgb: 209 250 229;
  --pur-200: #a7f3d0;  --pur-200-rgb: 167 243 208;
  --pur-300: #6ee7b7;  --pur-300-rgb: 110 231 183;
  --pur-400: #34d399;  --pur-400-rgb: 52 211 153;
  --pur-500: #10b981;  --pur-500-rgb: 16 185 129;
  --pur-600: #059669;  --pur-600-rgb: 5 150 105;
  --pur-700: #047857;  --pur-700-rgb: 4 120 87;
  --pur-800: #065f46;  --pur-800-rgb: 6 95 70;
  --pur-900: #064e3b;  --pur-900-rgb: 6 78 59;

  /* ═══════════════════════════════════════
     FACTION ALIASES
     Override the purple/teal defaults from colors.css.
  ═══════════════════════════════════════ */
  --faction-augmented:         var(--aug-400);
  --faction-augmented-dark:    var(--aug-800);
  --faction-augmented-glow:    var(--aug-300);
  --faction-augmented-surface: rgb(var(--aug-800-rgb) / 0.30);
  --faction-augmented-border:  rgb(var(--aug-600-rgb) / 0.50);

  --faction-purists:           var(--pur-400);
  --faction-purists-dark:      var(--pur-800);
  --faction-purists-glow:      var(--pur-300);
  --faction-purists-surface:   rgb(var(--pur-600-rgb) / 0.30);
  --faction-purists-border:    rgb(var(--pur-400-rgb) / 0.40);

  --accent-primary:   var(--aug-500);
  --accent-secondary: var(--pur-400);
  --text-accent:      var(--aug-400);
  --text-teal:        var(--pur-400);

  --border-subtle:  rgb(var(--aug-400-rgb) / 0.12);
  --border-default: rgb(var(--aug-400-rgb) / 0.28);
  --border-strong:  rgb(var(--aug-400-rgb) / 0.55);
  --border-teal:    rgb(var(--pur-400-rgb) / 0.30);
  --border-teal-strong: rgb(var(--pur-400-rgb) / 0.55);

  /* ═══════════════════════════════════════
     FACTION GLOWS
     Mirror the --glow-purple-* / --glow-teal-* ladder from effects.css.
  ═══════════════════════════════════════ */
  --glow-aug-xs: 0 0 6px  rgb(var(--aug-600-rgb) / 0.35);
  --glow-aug-sm: 0 0 12px rgb(var(--aug-600-rgb) / 0.45);
  --glow-aug-md: 0 0 24px rgb(var(--aug-600-rgb) / 0.55), 0 0 6px rgb(var(--aug-600-rgb) / 0.80);
  --glow-aug-lg: 0 0 48px rgb(var(--aug-600-rgb) / 0.60), 0 0 16px rgb(var(--aug-300-rgb) / 0.50);
  --glow-aug-xl: 0 0 80px rgb(var(--aug-600-rgb) / 0.65), 0 0 30px rgb(var(--aug-300-rgb) / 0.60), 0 0 8px rgb(var(--aug-200-rgb) / 0.90);

  --glow-pur-xs: 0 0 6px  rgb(var(--pur-400-rgb) / 0.35);
  --glow-pur-sm: 0 0 12px rgb(var(--pur-400-rgb) / 0.45);
  --glow-pur-md: 0 0 24px rgb(var(--pur-400-rgb) / 0.55), 0 0 6px rgb(var(--pur-400-rgb) / 0.80);
  --glow-pur-lg: 0 0 48px rgb(var(--pur-400-rgb) / 0.60), 0 0 16px rgb(var(--pur-300-rgb) / 0.50);
  --glow-pur-xl: 0 0 80px rgb(var(--pur-400-rgb) / 0.65), 0 0 30px rgb(var(--pur-300-rgb) / 0.60), 0 0 8px rgb(var(--pur-200-rgb) / 0.90);

  --text-glow-aug: 0 0 10px rgb(var(--aug-600-rgb) / 0.90), 0 0 25px rgb(var(--aug-600-rgb) / 0.50);
  --text-glow-pur: 0 0 10px rgb(var(--pur-400-rgb) / 0.90), 0 0 25px rgb(var(--pur-400-rgb) / 0.50);

  /* ═══════════════════════════════════════
     FACTION GRADIENTS & SURFACES
     Ported from getThemes() in the design source.
  ═══════════════════════════════════════ */
  --gradient-aug:          linear-gradient(135deg, var(--aug-800) 0%, var(--aug-500) 100%);
  --gradient-pur:          linear-gradient(135deg, var(--pur-600) 0%, var(--pur-400) 100%);
  --gradient-faction-mix:  linear-gradient(135deg, var(--pur-600) 0%, #1a1c35 50%, var(--aug-700) 100%);
  --gradient-hero:         radial-gradient(ellipse 100% 80% at 50% 0%, var(--aug-900) 0%, var(--color-void) 65%);
  --gradient-card-aug:     linear-gradient(135deg, rgb(var(--aug-800-rgb) / 0.40) 0%, transparent 60%);
  --gradient-card-pur:     linear-gradient(135deg, rgb(var(--pur-700-rgb) / 0.30) 0%, transparent 60%);

  --panel-bg-aug:     linear-gradient(150deg, rgb(var(--aug-800-rgb) / 0.28), #0d1224 70%);
  --panel-bg-pur:     linear-gradient(150deg, rgb(var(--pur-600-rgb) / 0.22), #0d1224 70%);
  --panel-shadow-aug: 0 0 30px rgb(var(--aug-600-rgb) / 0.18);
  --panel-shadow-pur: 0 0 30px rgb(var(--pur-400-rgb) / 0.16);
}

/*
  Faction scoping. Put data-faction="augmented" | "purists" on any element (or on
  <body>) and everything inside can use the neutral --faction-* variables below,
  so a component is written once and themed by its container.
*/
[data-faction="augmented"] {
  --faction-accent:      var(--aug-400);
  --faction-accent-deep: var(--aug-600);
  --faction-on-accent:   var(--color-white);
  --faction-accent-rgb:  var(--aug-400-rgb);
  --faction-highlight:   var(--aug-300);
  --faction-highlight-rgb: var(--aug-300-rgb);
  --faction-glow:        var(--glow-aug-md);
  --faction-glow-soft:   var(--glow-aug-sm);
  --faction-glow-strong: var(--glow-aug-lg);
  --faction-text-glow:   var(--text-glow-aug);
  --faction-border:      var(--faction-augmented-border);
  --faction-surface:     var(--faction-augmented-surface);
  --faction-gradient:    var(--gradient-aug);
  --faction-panel-bg:    var(--panel-bg-aug);
  --faction-panel-shadow: var(--panel-shadow-aug);
  --faction-name:        "The Augmented";
  --faction-icon:        "\269B"; /* ⚛ */
}

[data-faction="purists"] {
  --faction-accent:      var(--pur-400);
  --faction-accent-deep: var(--pur-600);
  --faction-on-accent:   var(--pur-900);
  --faction-accent-rgb:  var(--pur-400-rgb);
  --faction-highlight:   var(--pur-300);
  --faction-highlight-rgb: var(--pur-300-rgb);
  --faction-glow:        var(--glow-pur-md);
  --faction-glow-soft:   var(--glow-pur-sm);
  --faction-glow-strong: var(--glow-pur-lg);
  --faction-text-glow:   var(--text-glow-pur);
  --faction-border:      var(--faction-purists-border);
  --faction-surface:     var(--faction-purists-surface);
  --faction-gradient:    var(--gradient-pur);
  --faction-panel-bg:    var(--panel-bg-pur);
  --faction-panel-shadow: var(--panel-shadow-pur);
  --faction-name:        "The Purists";
  --faction-icon:        "\262F"; /* ☯ */
}
