/* ============================================================
   Future Self Now — Color tokens
   Anchored to the OFFICIAL brand kit jewel palette
   (#4A1749 aubergine · #CE0201 red · #8A3080 orchid ·
   #720414 burgundy · #FEFAFF off-white), then opened up with a
   bright FESTIVAL accent set lifted from the watercolor blobs —
   "brighter, with movement", per the founder's brief.
   Neutrals are cool lilac-white (the kit's #FEFAFF family),
   never cold gray; warmth comes from the festival accents.
   ============================================================ */
:root {
  /* ---------- Official brand spine (RD x FSN brand kit) ---------- */
  --fsn-aubergine:      #4A1749;  /* official primary dark            */
  --fsn-red:            #CE0201;  /* official bright red              */
  --fsn-orchid-royal:   #8A3080;  /* official purple                  */
  --fsn-burgundy:       #720414;  /* official deep red                */
  --fsn-offwhite:       #FEFAFF;  /* official off-white (cool lilac)  */

  /* ---------- Logo-gradient spine (the X mark) ---------- */
  --fsn-crimson:        #F5152B;  /* brightest red — top of the X mark        */
  --fsn-cerise:         #C81E5A;  /* primary brand magenta-red (mid gradient) */
  --fsn-magenta:        #B01D50;  /* festival-pass spiral magenta             */
  --fsn-mulberry:       #77064D;  /* deep mid-tone                            */
  --fsn-plum:           #3C0A36;  /* deep plum — bottom of the X mark         */
  --fsn-plum-ink:       #2A0826;  /* darkest plum, used for text on light     */

  /* The signature brand gradients (use sparingly, with intent) */
  --fsn-gradient-mark:    linear-gradient(150deg, #F5152B 0%, #C81E5A 38%, #77064D 70%, #3C0A36 100%); /* @kind color */
  --fsn-gradient-cerise:  linear-gradient(135deg, #F5152B 0%, #C81E5A 55%, #8C2765 100%); /* @kind color */
  --fsn-gradient-festival:linear-gradient(120deg, #FF7A3D 0%, #E0259A 28%, #8B2FD0 60%, #2E6BE6 100%); /* @kind color */
  --fsn-gradient-jewel:   linear-gradient(135deg, #CE0201 0%, #8A3080 55%, #4A1749 100%); /* @kind color */

  /* ---------- Festival accents (from the watercolor blobs) ---------- */
  --fsn-electric:       #2E6BE6;  /* blue blob          */
  --fsn-violet:         #6B3FD4;  /* indigo / violet    */
  --fsn-orchid:         #8B2FD0;  /* bright festival purple */
  --fsn-pink:           #E0259A;  /* hot festival pink  */
  --fsn-sunset:         #FF7A3D;  /* warm orange        */
  --fsn-gold:           #FFC83D;  /* sunlit yellow      */
  --fsn-teal:           #2BB6A8;  /* aqua / teal        */

  /* ---------- Neutrals: cool lilac-white (kit #FEFAFF family) ---------- */
  --fsn-white:          #FFFFFF;
  --fsn-cream:          #FBF7FB;  /* default page background — soft lilac-white */
  --fsn-shell:          #F4ECF4;  /* subtle raised surface                  */
  --fsn-mist:           #EADCEC;  /* hairline fills / muted chips           */
  --fsn-line:           #E2D3E6;  /* borders / dividers                     */
  --fsn-stone:          #B4A2BC;  /* disabled / faint                       */
  --fsn-slate:          #806F89;  /* secondary text                         */
  --fsn-ink-soft:       #4C3A54;  /* body on lilac-white                    */
  --fsn-ink:            #2A0826;  /* primary text = plum-ink                */

  /* ---------- Semantic status ---------- */
  --fsn-success:        #2BB6A8;
  --fsn-warning:        #FFB02E;
  --fsn-error:          #E23457;
  --fsn-info:           #2E6BE6;

  /* ============================================================
     SEMANTIC ALIASES — author UIs against these, not raw hues.
     ============================================================ */
  --color-bg:            var(--fsn-cream);
  --color-bg-deep:       var(--fsn-aubergine);    /* dark festival sections (official) */
  --surface-card:        var(--fsn-white);
  --surface-raised:      var(--fsn-shell);
  --surface-sunken:      var(--fsn-mist);

  --text-strong:         var(--fsn-ink);
  --text-body:           var(--fsn-ink-soft);
  --text-muted:          var(--fsn-slate);
  --text-faint:          var(--fsn-stone);
  --text-on-brand:       #FCEFF6;                 /* soft white on plum/aubergine */
  --text-on-accent:      var(--fsn-white);

  --brand-primary:       var(--fsn-cerise);
  --brand-primary-strong:var(--fsn-magenta);
  --brand-deep:          var(--fsn-aubergine);
  --accent:              var(--fsn-pink);

  --border-subtle:       var(--fsn-line);
  --border-strong:       var(--fsn-mulberry);
  --focus-ring:          color-mix(in oklab, var(--fsn-cerise) 55%, transparent);

  --link:                var(--fsn-cerise);
  --link-hover:          var(--fsn-magenta);
}
