/* ============================================================
   Probuddy — Color tokens
   Base palette scales + semantic aliases.
   Brand: vivid "Court Blue" primary, "Volt" green energy accent,
   warm "Coral" for adventure/community, "Amber" for ratings.
   ============================================================ */
:root {
  /* ---- Brand: Court Blue (primary) ---- */
  --blue-50:  #EEF4FF;
  --blue-100: #D9E6FF;
  --blue-200: #B6CEFF;
  --blue-300: #84ABFF;
  --blue-400: #4F86FF;
  --blue-500: #2A6DF4; /* primary */
  --blue-600: #1B57D6;
  --blue-700: #1745AC;
  --blue-800: #173B86;
  --blue-900: #16336B;

  /* ---- Volt: spring green (energy / success / "Pro") ---- */
  --volt-50:  #E6FAF0;
  --volt-100: #C5F3DC;
  --volt-200: #8FE8BB;
  --volt-300: #54D996;
  --volt-400: #21C578;
  --volt-500: #04A95E;
  --volt-600: #00874B;
  --volt-700: #066B3D;

  /* ---- Coral: warm accent (adventure / community) ---- */
  --coral-50:  #FFF1ED;
  --coral-100: #FFDDD2;
  --coral-200: #FFBBA6;
  --coral-300: #FF9070;
  --coral-400: #FF6B4A;
  --coral-500: #F24B27;
  --coral-600: #D03715;

  /* ---- Amber: ratings / highlights ---- */
  --amber-300: #FFD15C;
  --amber-400: #FFB400;
  --amber-500: #F59E0B;

  /* ---- Neutrals: cool slate ---- */
  --neutral-0:   #FFFFFF;
  --neutral-50:  #F7F9FC;
  --neutral-100: #EEF2F7;
  --neutral-200: #E2E8F0;
  --neutral-300: #CBD5E1;
  --neutral-400: #94A3B8;
  --neutral-500: #64748B;
  --neutral-600: #475569;
  --neutral-700: #334155;
  --neutral-800: #1E293B;
  --neutral-900: #0F1B2D; /* ink */

  /* ---- Status hues ---- */
  --red-50:   #FEF1F1;
  --red-400:  #F0666B;
  --red-500:  #E5484D;
  --red-600:  #CE2C31;
  --green-500: var(--volt-500);
  --yellow-500: var(--amber-500);

  /* ============================================================
     Semantic aliases — prefer these in components/UI
     ============================================================ */
  /* Brand */
  --brand:            var(--blue-500);
  --brand-hover:      var(--blue-600);
  --brand-active:     var(--blue-700);
  --brand-subtle:     var(--blue-50);
  --brand-on:         var(--neutral-0);
  --accent:           var(--coral-400);
  --accent-hover:     var(--coral-500);
  --energy:           var(--volt-400);
  --energy-strong:    var(--volt-500);

  /* Text */
  --text-strong:      var(--neutral-900);
  --text-body:        var(--neutral-700);
  --text-muted:       var(--neutral-500);
  --text-subtle:      var(--neutral-400);
  --text-on-brand:    var(--neutral-0);
  --text-link:        var(--blue-600);

  /* Surfaces */
  --surface-page:     var(--neutral-50);
  --surface-card:     var(--neutral-0);
  --surface-raised:   var(--neutral-0);
  --surface-sunken:   var(--neutral-100);
  --surface-inverse:  var(--neutral-900);
  --surface-brand:    var(--blue-500);

  /* Borders */
  --border-subtle:    var(--neutral-200);
  --border-default:   var(--neutral-300);
  --border-strong:    var(--neutral-400);
  --border-brand:     var(--blue-500);
  --ring-focus:       color-mix(in srgb, var(--blue-500) 45%, transparent);

  /* Ratings */
  --rating-star:      var(--amber-400);
  --rating-track:     var(--neutral-200);

  /* Status */
  --success:          var(--volt-500);
  --success-subtle:   var(--volt-50);
  --warning:          var(--amber-500);
  --warning-subtle:   #FFF7E6;
  --danger:           var(--red-500);
  --danger-subtle:    var(--red-50);
  --info:             var(--blue-500);
  --info-subtle:      var(--blue-50);
}
