/* RacketRef · Rally — brand token layer.

   Load order: after `tailwind`, before `custom.scss` (see
   app/views/layouts/application.html.erb).

   The per-sport accents live in application.tailwind.css (the --sport-* token
   blocks, scoped by [data-sport]). This file adds the neutral Rally surface
   palette and maps DaisyUI's semantic colours onto the *active* sport accent,
   so every existing btn-primary / badge-primary / text-primary picks up the
   live sport colour with zero markup changes. */

:root {
  --rr-canvas:   #0B0C0F; /* app background   · DaisyUI base-300 */
  --rr-surface:  #131519; /* cards            · base-100 */
  --rr-raised:   #1C2026; /* menus, popovers  · base-200 */
  --rr-chalk:    #F4F5F7; /* primary text */
  --rr-hairline: #2F343C; /* borders, dividers */
  /* Rally Lime umbrella accent + ink, exposed as hex for non-tokenised use
     (marketing, emails). The themed accent comes from --sport-accent. */
  --rr-accent:     #C9F227;
  --rr-accent-ink: #0B0C0F;
}

/* Map DaisyUI v5 semantic tokens onto Rally + the live sport accent. Covers the
   light/dark roots and the no-theme fallback. --sport-accent / --sport-on-accent
   cascade from the nearest [data-sport] ancestor, so `primary` tracks the active
   sport automatically (squash blue, padel teal, …; umbrella = Rally Lime). */
:root:not([data-theme]),
[data-theme="light"],
[data-theme="dark"] {
  --color-base-100: var(--rr-surface);
  --color-base-200: var(--rr-raised);
  --color-base-300: var(--rr-canvas);
  --color-base-content: var(--rr-chalk);
  --color-primary: rgb(var(--sport-accent));
  --color-primary-content: rgb(var(--sport-on-accent));
  /* Status colours (success / warning / error / info) are intentionally left as
     DaisyUI defaults — those signal good/fault/let, independent of brand. The
     Rally accent is for identity and "live", never for state. */
}
