/* ============================================================
   PRGRSS — Color tokens
   Base palette from brand guidelines:
   #1063FF (blue) · #000000 · #161616 · #262626 · #F4F4F4 · #FFFFFF
   Dark-first. Semantic aliases default to the dark theme on :root.
   ============================================================ */
:root {
  /* ---- Brand blue ramp (anchored on #1063FF) ---- */
  --blue-50:  #EAF1FF;
  --blue-100: #D2E0FF;
  --blue-200: #A9C4FF;
  --blue-300: #7BA3FF;
  --blue-400: #3D7BFF;
  --blue-500: #1063FF; /* brand primary */
  --blue-600: #0B4FDB;
  --blue-700: #0A3FB0;
  --blue-800: #0B3488;
  --blue-900: #0C2A66;
  --blue-950: #0A1B3D;

  /* ---- Neutral ink ramp (0 = black → 14 = white) ---- */
  --ink-0:  #000000;
  --ink-1:  #0A0A0A;
  --ink-2:  #111111;
  --ink-3:  #161616; /* brand dark surface */
  --ink-4:  #1C1C1C;
  --ink-5:  #262626; /* brand elevated surface */
  --ink-6:  #333333;
  --ink-7:  #444444;
  --ink-8:  #5A5A5A;
  --ink-9:  #737373;
  --ink-10: #8F8F8F;
  --ink-11: #B0B0B0;
  --ink-12: #D4D4D4;
  --ink-13: #F4F4F4; /* brand light surface */
  --ink-14: #FFFFFF;

  /* ---- Semantic status (intentional addition — not in brand PDF) ---- */
  --green-400: #34D07A;
  --green-500: #23B968;
  --amber-400: #F5B33F;
  --amber-500: #E89A1C;
  --red-400:   #FF5C5C;
  --red-500:   #F53E3E;

  /* ---- Translucent whites (borders / hover films on dark) ---- */
  --white-a04: rgba(255,255,255,0.04);
  --white-a06: rgba(255,255,255,0.06);
  --white-a09: rgba(255,255,255,0.09);
  --white-a12: rgba(255,255,255,0.12);
  --white-a16: rgba(255,255,255,0.16);
  --white-a24: rgba(255,255,255,0.24);

  /* ============ Semantic aliases — DARK (default) ============ */
  --bg-base:        var(--ink-1);
  --bg-subtle:      var(--ink-0);
  --surface-1:      var(--ink-2);
  --surface-2:      var(--ink-3);
  --surface-3:      var(--ink-4);
  --surface-4:      var(--ink-5);
  --surface-inset:  var(--ink-0);

  --border:         var(--white-a09);
  --border-strong:  var(--white-a16);
  --border-accent:  var(--blue-500);

  --text-primary:   var(--ink-14);
  --text-secondary: var(--ink-11);
  --text-muted:     var(--ink-9);
  --text-disabled:  var(--ink-8);
  --text-inverse:   var(--ink-0);
  --text-on-accent: var(--ink-14);

  --accent:         var(--blue-500);
  --accent-hover:   var(--blue-400);
  --accent-press:   var(--blue-600);
  --accent-subtle:  rgba(16,99,255,0.12);
  --accent-text:    var(--blue-400);

  --success:        var(--green-500);
  --warning:        var(--amber-500);
  --danger:         var(--red-500);
  --success-subtle: rgba(35,185,104,0.14);
  --warning-subtle: rgba(232,154,28,0.14);
  --danger-subtle:  rgba(245,62,62,0.14);

  --focus-ring:     rgba(16,99,255,0.55);

  /* ---- Brand gradients (from PDF: linear + mesh) ---- */
  --gradient-brand: linear-gradient(120deg, #1063FF 0%, #0B4FDB 100%); /* @kind other */
  --gradient-brand-soft: linear-gradient(135deg, rgba(16,99,255,0.22) 0%, rgba(16,99,255,0) 60%); /* @kind other */
  --gradient-mesh:
    radial-gradient(60% 80% at 12% 8%, rgba(16,99,255,0.35) 0%, rgba(16,99,255,0) 55%),
    radial-gradient(50% 70% at 88% 22%, rgba(61,123,255,0.28) 0%, rgba(61,123,255,0) 55%),
    radial-gradient(70% 90% at 70% 100%, rgba(11,79,219,0.30) 0%, rgba(11,79,219,0) 60%),
    #0A0A0A; /* @kind other */
  --gradient-fade-top: linear-gradient(180deg, rgba(10,10,10,0) 0%, var(--bg-base) 100%); /* @kind other */
}

/* ============ Light theme scope ============ */
.theme-light {
  --bg-base:        var(--ink-14);
  --bg-subtle:      var(--ink-13);
  --surface-1:      var(--ink-14);
  --surface-2:      var(--ink-13);
  --surface-3:      #ECECEC;
  --surface-4:      #E2E2E2;
  --surface-inset:  var(--ink-13);

  --border:         rgba(0,0,0,0.10);
  --border-strong:  rgba(0,0,0,0.18);

  --text-primary:   var(--ink-2);
  --text-secondary: var(--ink-7);
  --text-muted:     var(--ink-9);
  --text-disabled:  var(--ink-10);
  --text-inverse:   var(--ink-14);
  --text-on-accent: var(--ink-14);

  --accent-text:    var(--blue-600);
  --accent-subtle:  rgba(16,99,255,0.10);
}
