/* ============================================================
   RESILIX — Color tokens
   Core brand (client-specified): deep purple, lavender, white.
   Gold accent derived from the mascot's glow. Neutrals carry a
   faint purple tint so grays feel part of the family.
   ============================================================ */

:root {
  /* --- Core brand ------------------------------------------------ */
  --brand-purple:        #59277F;  /* primary */
  --brand-lavender:      #DAC4DF;  /* secondary surface / tint */
  --brand-white:         #FFFFFF;

  /* --- Purple ramp (primary scale) ------------------------------ */
  --purple-50:   #F4EFF7;
  --purple-100:  #E7DAEE;
  --purple-200:  #DAC4DF;  /* = brand-lavender */
  --purple-300:  #B694C7;
  --purple-400:  #8E5CA8;
  --purple-500:  #59277F;  /* = brand-purple */
  --purple-600:  #4A1F6C;
  --purple-700:  #391754;
  --purple-800:  #2A1140;
  --purple-900:  #1B0B2B;
  --purple-950:  #100619;

  /* --- Gold glow (mascot accent) -------------------------------- */
  --gold-glow:   #F5D64E;  /* firefly light */
  --gold-soft:   #FBE896;
  --gold-deep:   #E0A63B;

  /* --- Neutrals (purple-tinted) --------------------------------- */
  --neutral-0:   #FFFFFF;
  --neutral-50:  #FAF9FB;
  --neutral-100: #F2F0F5;
  --neutral-200: #E4E0EA;
  --neutral-300: #CBC5D4;
  --neutral-400: #9E96AC;
  --neutral-500: #756C84;
  --neutral-600: #564E63;
  --neutral-700: #3D3648;
  --neutral-800: #272231;
  --neutral-900: #17131F;

  /* --- Semantic status ------------------------------------------ */
  --success:     #2EA36B;
  --success-bg:  #E4F4EC;
  --warning:     #E0A63B;
  --warning-bg:  #FBF0DA;
  --danger:      #D8443C;
  --danger-bg:   #FBE7E5;
  --info:        #4A7CD8;
  --info-bg:     #E6EDFA;

  /* ============================================================
     Semantic aliases — reference these in components, not raw ramps
     ============================================================ */

  /* Text */
  --text-primary:      var(--neutral-900);
  --text-secondary:    var(--neutral-600);
  --text-muted:        var(--neutral-400);
  --text-on-brand:     var(--brand-white);
  --text-brand:        var(--brand-purple);
  --text-link:         var(--purple-500);

  /* Surfaces */
  --surface-page:      var(--neutral-50);
  --surface-card:      var(--neutral-0);
  --surface-sunken:    var(--neutral-100);
  --surface-tint:      var(--purple-50);
  --surface-brand:     var(--brand-purple);
  --surface-brand-strong: var(--purple-700);
  --surface-inverse:   var(--purple-950);

  /* Borders */
  --border-subtle:     var(--neutral-200);
  --border-default:    var(--neutral-300);
  --border-strong:     var(--neutral-400);
  --border-brand:      var(--brand-purple);

  /* Interactive */
  --action-primary:        var(--brand-purple);
  --action-primary-hover:  var(--purple-600);
  --action-primary-press:  var(--purple-700);
  --action-accent:         var(--gold-glow);
  --action-accent-hover:   var(--gold-deep);

  /* Focus ring */
  --focus-ring:        var(--purple-400);
}
