/* ============================================================
   PALETTE — Tier 1 primitives (IN USE)
   ------------------------------------------------------------
   Raw colour values. Theme-independent, surface-independent.
   Never reference these from a component: components read the
   semantic tokens in base/_surface.css instead.

   Rungs are assigned by measured CIE L* lightness, so <family>-500
   is the same brightness in every ramp and ramps are swappable.

   Ramps not yet in use live in _palette-reserve.css.
   ============================================================ */

:root {

  /* --- ICE BLUE — the brand core -------------------------------
     Reconciled ramp. Where Judi's colour board and the actual
     screens disagreed (by 4–17 RGB units), the SCREEN value wins,
     so the rebuilt screens match Figma exactly. Board-only values
     fill the gaps at 100 and 500. 800 is interpolated (L* 28.4).   */
  --ice-blue-50:  #E9F2FF;   /* L* 95.3  board + screens agree      */
  --ice-blue-100: #D8E6FC;   /* L* 91.0  board only                 */
  --ice-blue-200: #D0DBF2;   /* L* 87.3  screen  (board #CFDAF3)    */
  --ice-blue-300: #A3C1E6;   /* L* 77.0  screen  (board #A2BFE9)    */
  --ice-blue-400: #7BA3DC;   /* L* 66.2  screen  (board #7BA0DF)    */
  --ice-blue-500: #688BBE;   /* L* 57.5  screen  (board #6387C5)
                                same rung, screen-wins rule applies.
                                This is the source-link colour, used 9× */
  --ice-blue-600: #5274A2;   /* L* 48.0  screen  (board #4C70A9)    */
  --ice-blue-700: #35597D;   /* L* 36.5  screen  (board #355583)    */
  --ice-blue-800: #254667;   /* L* 28.4  interpolated               */
  --ice-blue-900: #102F48;   /* L* 18.0  screen  (board #132D4B)    */

  /* --- ICE GREY — neutrals, disabled states --------------------
     Not used in the screens yet; Judi asked for it to be ready.
     ice-grey-500 is an exact match for the tertiary text already
     in the designs, so the ramp is already anchored correctly.     */
  --ice-grey-50:  #F0F1FA;
  --ice-grey-100: #DFE6F1;   /* interpolated — board jumps 50→200   */
  --ice-grey-200: #CEDCEA;
  --ice-grey-300: #A2C0D7;
  --ice-grey-400: #76A2C6;
  --ice-grey-500: #6389A8;   /* EXACT match to screens' muted text  */
  --ice-grey-600: #4F7188;
  --ice-grey-700: #3E5A6E;
  --ice-grey-800: #304352;
  --ice-grey-900: #202E3B;

  /* --- VIVID BLUE — the one vivid ramp Judi kept -------
     For moments that need to punch through the ice: active states,
     links on light surfaces, selected emphasis.                    */
  --vivid-blue-50:  #E9F2FF;
  --vivid-blue-100: #D2E7FF;
  --vivid-blue-200: #C2D9FF;
  --vivid-blue-300: #86BCFF;
  --vivid-blue-400: #509BFF;
  --vivid-blue-500: #2881EC;
  --vivid-blue-600: #006AD5;
  --vivid-blue-700: #0052A5;
  --vivid-blue-800: #003F80;   /* interpolated — board jumps 700→900  */
  --vivid-blue-900: #002C5C;

  /* --- VIVID TURQUOISE — only what the hover state uses ---------
     Two rungs, read from the variables on Figma 76:11825. The rest
     of the ramp is not in the file yet.                            */
  --vivid-turquoise-50:  #CEF9FF;
  --vivid-turquoise-200: #2AE2F4;

  /* --- GOLD — the warm counterweight ---------------------------
     Judi flagged that "ice gold" and "vivid gold" were
     identical on the board: confirmed, all 6 steps byte-identical.
     Merged into one ramp named `gold`.
     gold-200 is the source-link colour on dark surfaces, so the
     screen value (#E9D6C7) is used in place of the board's
     #EDD5C5 — same reconciliation rule as ice-blue.                */
  --gold-50:  #FBF0ED;
  --gold-100: #F4E3D9;   /* interpolé, L* de la référence */
  --gold-200: #EDD5C5;       /* screen  (board #EDD5C5)             */
  --gold-300: #ECBE9C;
  --gold-400: #D6A07E;
  --gold-500: #B28565;
  --gold-600: #8D664E;
  --gold-700: #714F37;   /* interpolé, L* de la référence */


  /* ============================================================
     CATEGORY RAMPS — promoted from reserve
     ------------------------------------------------------------
     These four looked unused until onboarding step 2 (Figma 39:362)
     turned up: the category icon tiles are built from them.
       ice-yellow + ice-peach     → Veille concurentielle
       ice-turquoise + ice-lavender → Mon écosystème local
     Only the steps actually referenced are promoted; the rest of
     each ramp stays in _palette-reserve.css.
     ============================================================ */
  --ice-yellow-50:  #FFF8C8;
  --ice-yellow-100: #FFEBA8;
  --ice-yellow-600: #A16600;
  --ice-yellow-700: #7F4B00;   /* interpolé, L* de la référence */   /* interpolé, L* de la référence */

  --ice-peach-50:  #FFEEDC;   /* interpolé, L* de la référence */
  --ice-peach-300: #FFC4AB;
  --ice-peach-600: #FF7372;
  --ice-peach-700: #AC1C2C;   /* interpolé, L* de la référence */

  --ice-turquoise-100: #C7F1F4;
  --ice-turquoise-500: #009AB5;   /* interpolé, L* de la référence */

  --ice-lavender-50:  #F6F0FD;   /* interpolé, L* de la référence */
  --ice-lavender-200: #DDD1F9;
  --ice-lavender-500: #9F78DB;   /* interpolé, L* de la référence */
  --ice-lavender-600: #8861CD;


  /* --- CHIP HUES — promoted from reserve, used by the 5 chips.
     Judi's Figma variables, same names and values. --- */
  --ice-yellow-200: #FEDA8C;
  --ice-peach-200: #FFD9BE;
  --ice-fuchsia-700: #945284;
  --vivid-fuchsia-200: #FBD3E5;
  --vivid-fuchsia-300: #F8A5CD;
  --ice-green-300: #00DAD2;
  --vivid-green-50: #B3FFC9;
  --ice-turquoise-200: #89DCF1;
  --vivid-turquoise-100: #86F1FE;
  --vivid-green-100: #76FCB4;
  --ice-lavender-700: #6445AF;
  --ice-turquoise-600: #007EA1;

  /* --- BADGE HUES — promoted from reserve. --- */
  --vivid-red-500: #FF2F4E;
  --vivid-yellow-300: #FFA900;
  --vivid-peach-700: #B90000;

  /* --- GAUGE TONES — promoted from reserve. --- */
  --vivid-peach-400: #FF8661;
  --ice-red-400: #F9899A;
  --ice-red-700: #B90019;
  --vivid-green-300: #00E293;
  --vivid-turquoise-500: #0096A3;

  /* ============================================================
     DELIBERATE PALETTE BREAKS
     The ice rule is suspended in exactly three places. Each is
     listed here so the exceptions stay countable.
     ============================================================ */

  /* --- BREAK 1: the 5 categories -------------------------------
     Category hues turned out to be SURFACE-DEPENDENT — the light and
     dark chips use different values — so they live in their own
     surface-scoped file: base/_categories.css.                     */

  /* --- BREAK 2: notification badges -----------------------------
     Warm, urgent, deliberately non-ice. Measured from the app screen. */
  --badge-red:   #F54245;
  --badge-amber: #FFB553;

  /* --- BREAK 3: the source-link sand ----------------------------
     Links over dark photographic surfaces use gold-200 rather than a
     blue, because blue-on-blue disappears against the glacier art.   */
  --link-sand: var(--gold-200);

  /* --- Absolutes ------------------------------------------------ */
  --white: #FFFFFF;
  --black: #000000;
}
