/* ==========================================================================
   ICL Design System — Project Themes
   --------------------------------------------------------------------------
   Every ICL project keeps the shared foundation (limestone, Smokey,
   type, spacing) and swaps ONLY the accent slot. Apply a theme by setting
   data-theme on <html>, <body>, or any subtree:

       <body data-theme="magma">

   Each theme must define all five accent tokens. Rules for choosing a
   project color:
     · accent-strong must pass WCAG AA (4.5:1) as text on white
     · on-accent must pass AA atop accent (use limestone-950 or white)
     · accent-inverse is the accent adjusted for use on limestone-900
     · stay clear of Tennessee Orange — it is reserved for ICL itself
     · links are not themable: they stay Globe blue on every property
   ========================================================================== */

/* Derived aliases (keyline, eyebrow) are declared on :root, where their
   var() references resolve against the DEFAULT accent and then inherit
   as resolved values. Re-declaring them on every themed scope makes
   them re-resolve against the theme's accent instead.
   Links are deliberately NOT here — they stay Globe blue everywhere. */
[data-theme] {
  --icl-color-keyline: var(--icl-color-accent);
  --icl-color-eyebrow: var(--icl-color-accent);
  --icl-color-eyebrow-inverse: var(--icl-color-accent-inverse);
}

/* ICL institutional (default) — defined in tokens.css; repeated here so
   the switcher can reset explicitly. */
[data-theme="icl"] {
  --icl-color-accent: var(--icl-orange-500);
  --icl-color-accent-strong: var(--icl-orange-700);
  --icl-color-accent-soft: var(--icl-orange-50);
  --icl-color-on-accent: var(--icl-limestone-950);
  --icl-color-accent-inverse: var(--icl-orange-500);
}

/* MAGMA — dense linear algebra on GPUs. Molten red. */
[data-theme="magma"] {
  --icl-color-accent: var(--icl-magma-500);
  --icl-color-accent-strong: var(--icl-magma-700);
  --icl-color-accent-soft: #FCEAE8;
  --icl-color-on-accent: #FFFFFF;
  --icl-color-accent-inverse: #F0776D;
}

/* PAPI — performance counters. Instrument green. */
[data-theme="papi"] {
  --icl-color-accent: var(--icl-papi-500);
  --icl-color-accent-strong: var(--icl-papi-700);
  --icl-color-accent-soft: #EBF3E3;
  --icl-color-on-accent: #181510;
  --icl-color-accent-inverse: #8FC468;
}

/* SLATE — distributed dense linear algebra. Slate blue. */
[data-theme="slate"] {
  --icl-color-accent: var(--icl-slateproj-500);
  --icl-color-accent-strong: var(--icl-slateproj-700);
  --icl-color-accent-soft: #E9F0F5;
  --icl-color-on-accent: #FFFFFF;
  --icl-color-accent-inverse: #82ABC7;
}

/* PLASMA — parallel linear algebra for multicore. Ionized violet. */
[data-theme="plasma"] {
  --icl-color-accent: var(--icl-plasma-500);
  --icl-color-accent-strong: var(--icl-plasma-700);
  --icl-color-accent-soft: #F0EAF7;
  --icl-color-on-accent: #FFFFFF;
  --icl-color-accent-inverse: #A98FCB;
}

/* PaRSEC — task-based runtime. Deep teal (kin to UT "Valley"). */
[data-theme="parsec"] {
  --icl-color-accent: var(--icl-parsec-500);
  --icl-color-accent-strong: var(--icl-parsec-700);
  --icl-color-accent-soft: #E2F1F0;
  --icl-color-on-accent: #FFFFFF;
  --icl-color-accent-inverse: #5BB5AE;
}

/* Limestone was adopted as the structural neutral family in v0.3
   (previously a data-neutrals="limestone" experiment here); its values
   now live directly in tokens.css. The legacy cool Slate family is
   retired. */
