/* ============================================================
   IA Humana — Color tokens
   LIGHT-first: :root is the light theme (the default), and
   [data-theme="dark"] is the override. The neon is "el grito,
   no el fondo": used with restraint. On the light default the
   neon loses contrast, so the accent is olive (AA); on dark it
   returns to neon.
   ============================================================ */

:root {
  /* ---- Brand palette (raw) ---- */
  --neon: #B8FF2B;        /* accent on dark */
  --neon-deep: #9AE010;   /* deep accent */
  --olive: #5A7A0E;       /* accent on light (AA) */
  --ink: #0A0A0A;         /* near-black ink */
  --black: #080808;       /* page black */
  --paper: #F4F4EF;       /* warm light page */
  --white: #F0F0F0;       /* soft white */
  --pure: #FFFFFF;

  /* ---- Neutral ramp (cool-warm grey, dark scale) ---- */
  --grey-950: #080808;
  --grey-900: #0E0E0E;
  --grey-850: #141414;
  --grey-800: #1A1A1A;
  --grey-700: #262626;
  --grey-600: #3A3A3A;
  --grey-500: #5C5C5C;
  --grey-400: #8A8A8A;
  --grey-300: #B5B5B2;
  --grey-200: #D7D7D2;
  --grey-100: #ECECE7;

  /* ============ Semantic — LIGHT (default) ============ */
  --bg-page: var(--paper);
  --bg-sunken: #EAEAE3;
  --bg-raised: var(--pure);
  --bg-overlay: rgba(244, 244, 239, 0.72);

  /* Glass surfaces */
  --surface-card: rgba(255, 255, 255, 0.60);
  --surface-card-hover: rgba(255, 255, 255, 0.85);
  --surface-glass: rgba(255, 255, 255, 0.55);
  --surface-input: rgba(255, 255, 255, 0.70);

  --border: rgba(10, 10, 10, 0.12);
  --border-strong: rgba(10, 10, 10, 0.24);
  --border-faint: rgba(10, 10, 10, 0.07);

  --text-1: var(--ink);
  --text-2: rgba(10, 10, 10, 0.64);
  --text-3: rgba(10, 10, 10, 0.45);
  --text-on-accent: var(--paper);

  /* Accent */
  --accent: var(--olive);
  --accent-deep: #46600B;
  --accent-soft: rgba(90, 122, 14, 0.12);
  --accent-line: rgba(90, 122, 14, 0.38);

  /* Feedback (brand-aligned, restrained) */
  --success: #4F8A1E;
  --success-soft: rgba(79, 138, 30, 0.12);
  --warning: #9A6B00;
  --warning-soft: rgba(154, 107, 0, 0.12);
  --danger: #C0322F;
  --danger-soft: rgba(192, 50, 47, 0.10);
  --info: #2C7888;
  --info-soft: rgba(44, 120, 136, 0.10);

  color-scheme: light;
}

/* ============ Semantic — DARK (override) ============ */
[data-theme="dark"] {
  --bg-page: var(--black);
  --bg-sunken: #050505;
  --bg-raised: #101010;
  --bg-overlay: rgba(8, 8, 8, 0.72);

  --surface-card: rgba(240, 240, 240, 0.035);
  --surface-card-hover: rgba(240, 240, 240, 0.06);
  --surface-glass: rgba(18, 18, 18, 0.55);
  --surface-input: rgba(240, 240, 240, 0.04);

  --border: rgba(240, 240, 240, 0.10);
  --border-strong: rgba(240, 240, 240, 0.20);
  --border-faint: rgba(240, 240, 240, 0.06);

  --text-1: var(--white);
  --text-2: rgba(240, 240, 240, 0.66);
  --text-3: rgba(240, 240, 240, 0.42);
  --text-on-accent: var(--black);

  --accent: var(--neon);
  --accent-deep: var(--neon-deep);
  --accent-soft: rgba(184, 255, 43, 0.14);
  --accent-line: rgba(184, 255, 43, 0.40);

  --success: #8CE04A;
  --success-soft: rgba(140, 224, 74, 0.14);
  --warning: #E8B931;
  --warning-soft: rgba(232, 185, 49, 0.14);
  --danger: #FF6B6B;
  --danger-soft: rgba(255, 107, 107, 0.14);
  --info: #6FC6D6;
  --info-soft: rgba(111, 198, 214, 0.14);

  color-scheme: dark;
}
