/* Rhythm : Land has no fixed palette. Color = the 8 factions, each a range DESDE → HASTA.
   Hex values are interpretations; the official spec is the range. */
:root{
  /* Night (base) */
  --night-0:#030306;
  --night-1:#07070C;
  --night-2:#0D0D16;
  --night-3:#151522;
  --night-4:#1F1F30;
  --night-5:#2C2C40;

  /* Warm light text */
  --bone-1:#F4F1EC;
  --bone-2:#CFCAC2;
  --bone-3:#9C978F;
  --bone-4:#6B675F;

  /* Fuerzas internas */
  --indiga-from:#1E4FD8;   --indiga-to:#8ED8FF;
  --carmina-from:#B3001B;  --carmina-to:#FF2400;
  --midorina-from:#0E9F5A; --midorina-to:#30D5C8;
  --aurea-from:#FFE135;    --aurea-to:#D4A017;
  /* Fuerzas externas */
  --alazana-from:#FFFFFF;  --alazana-to:#C0C6CF;
  --punica-from:#C8A2F0;   --punica-to:#6A0DAD;
  --granita-from:#9AA0A6;  --granita-to:#4B5059;
  --neutrina-from:#FF8FC8; --neutrina-to:#00C2C7;

  /* Guardian: two temperatures of the brand */
  --guardian-fire:#FF9A4D;
  --guardian-ember:#E0662A;
  --guardian-volt:#7FE3FF;

  /* Active faction (defaults to Neutrina, the brand accent) */
  --f-from:var(--neutrina-from);
  --f-to:var(--neutrina-to);
  --f-ink:#07070C;            /* text on top of the faction gradient */
  --f-gradient:linear-gradient(120deg,var(--f-from),var(--f-to));
  --f-glow:color-mix(in oklab,var(--f-to) 45%,transparent);

  /* Semantic */
  --surface-page:var(--night-1);
  --surface-raised:var(--night-2);
  --surface-card:color-mix(in oklab,var(--night-3) 80%,transparent);
  --surface-glass:rgba(13,13,22,.55);
  --border-subtle:rgba(244,241,236,.10);
  --border-strong:rgba(244,241,236,.24);
  --text-primary:var(--bone-1);
  --text-secondary:var(--bone-2);
  --text-muted:var(--bone-3);
  --text-on-light:var(--night-1);
  --accent:var(--f-to);
  --focus-ring:var(--f-to);
  --link:var(--neutrina-to);
  --link-hover:var(--neutrina-from);
}

/* Faction scopes — set data-faction on any element to retint everything inside */
[data-faction="indiga"]{--f-from:var(--indiga-from);--f-to:var(--indiga-to);--f-ink:#07070C}
[data-faction="carmina"]{--f-from:var(--carmina-from);--f-to:var(--carmina-to);--f-ink:#F4F1EC}
[data-faction="midorina"]{--f-from:var(--midorina-from);--f-to:var(--midorina-to);--f-ink:#07070C}
[data-faction="aurea"]{--f-from:var(--aurea-from);--f-to:var(--aurea-to);--f-ink:#07070C}
[data-faction="alazana"]{--f-from:var(--alazana-from);--f-to:var(--alazana-to);--f-ink:#07070C}
[data-faction="punica"]{--f-from:var(--punica-from);--f-to:var(--punica-to);--f-ink:#F4F1EC}
[data-faction="granita"]{--f-from:var(--granita-from);--f-to:var(--granita-to);--f-ink:#F4F1EC}
[data-faction="neutrina"]{--f-from:var(--neutrina-from);--f-to:var(--neutrina-to);--f-ink:#07070C}
[data-faction]{--f-gradient:linear-gradient(120deg,var(--f-from),var(--f-to));--f-glow:color-mix(in oklab,var(--f-to) 45%,transparent);--accent:var(--f-to)}
