/* ============================================================
 * tokens.css — Design System Shadow Slave
 * Fonte única de verdade. Não adicionar seletores aqui.
 * ============================================================ */

:root {

  /* ── BACKGROUNDS (3 níveis) ─────────────────────────────── */
  --bg:        #000000;   /* página, body */
  --bg-card:   #080808;   /* cards, painéis */
  --bg-raised: #0f0f0f;   /* modais, hover elevado */

  /* ── TEXTO (3 níveis) ───────────────────────────────────── */
  --text:       #e2d9c5;   /* principal */
  --text-soft:  #8a8272;   /* secundário, labels */
  --text-faint: #3a382f;   /* placeholder, desabilitado */

  /* ── ACENTO CARMESIM ────────────────────────────────────── */
  --accent:      #a83028;
  --accent-deep: #3a0a08;
  --accent-glow: rgba(168, 48, 40, 0.22);

  /* ── BORDAS ─────────────────────────────────────────────── */
  --border:        rgba(212, 204, 186, 0.11);  /* +3% — compensa remoção do noise */
  --border-strong: rgba(212, 204, 186, 0.19);  /* +4% */
  --border-accent: rgba(168, 48, 40, 0.42);

  /* ── SEMÂNTICA ──────────────────────────────────────────── */
  --success: #4a7a3e;
  --danger:  #a83028;
  --warning: #8a7438;
  --info:    #3d4f8a;

  /* ── TIPOS DE ITEM (inventário) ─────────────────────────── */
  --item-weapon-bg:     rgba(122, 31, 31, 0.15);
  --item-weapon-border: rgba(168, 48, 40, 0.40);
  --item-weapon-text:   #d57a72;

  --item-armor-bg:      rgba(61, 79, 138, 0.15);
  --item-armor-border:  rgba(93, 114, 184, 0.40);
  --item-armor-text:    #8a9bd2;

  --item-access-bg:     rgba(138, 116, 56, 0.15);
  --item-access-border: rgba(212, 186, 107, 0.40);
  --item-access-text:   #d4ba6b;

  /* ── VIDA / INTEGRIDADE ─────────────────────────────────── */
  --life-full: #4a7a3e;
  --life-mid:  #8a7438;
  --life-low:  #7a1f1f;
  --integ:     #3d4f8a;
  --integ-light: #5d72b8;

  /* ── TIPOS DE TOKEN (mesa) ──────────────────────────────── */
  --token-player:  #4a5d9d;
  --token-npc:     #8a7438;
  --token-monster: #7a1f1f;

  /* ── TIPOGRAFIA ─────────────────────────────────────────── */
  --font-display: "Cinzel Decorative", "Cinzel", serif;
  --font-ui:      "Cinzel", serif;
  --font-body:    "Crimson Text", "Cormorant Garamond", serif;
  --font-mono:    ui-monospace, "Consolas", monospace;

  /* Escala de tamanhos */
  --fs-2xs:  0.6875rem;  /* 11px */
  --fs-xs:   0.75rem;    /* 12px */
  --fs-sm:   0.875rem;   /* 14px */
  --fs-base: 1rem;       /* 16px */
  --fs-md:   1.125rem;   /* 18px */
  --fs-lg:   1.25rem;    /* 20px */
  --fs-xl:   1.5rem;     /* 24px */
  --fs-2xl:  1.875rem;   /* 30px */
  --fs-3xl:  2.25rem;    /* 36px */
  --fs-4xl:  3rem;       /* 48px */
  --fs-5xl:  3.75rem;    /* 60px */

  /* Pesos */
  --fw-regular:  400;
  --fw-medium:   500;
  --fw-semibold: 600;
  --fw-bold:     700;

  /* Letter-spacing */
  --tracking-wide:    0.04em;
  --tracking-wider:   0.08em;
  --tracking-widest:  0.18em;
  --tracking-ritual:  0.32em;

  /* Line-height */
  --lh-tight:   1.15;
  --lh-normal:  1.5;
  --lh-relaxed: 1.7;

  /* ── ESPAÇAMENTOS (escala 4px) ──────────────────────────── */
  --sp-1:  0.25rem;   /*  4px */
  --sp-2:  0.5rem;    /*  8px */
  --sp-3:  0.75rem;   /* 12px */
  --sp-4:  1rem;      /* 16px */
  --sp-5:  1.25rem;   /* 20px */
  --sp-6:  1.5rem;    /* 24px */
  --sp-8:  2rem;      /* 32px */
  --sp-10: 2.5rem;    /* 40px */
  --sp-12: 3rem;      /* 48px */
  --sp-16: 4rem;      /* 64px */
  --sp-20: 5rem;      /* 80px */

  /* ── BORDER RADIUS ──────────────────────────────────────── */
  --radius-sm:   4px;
  --radius-md:   8px;
  --radius-lg:   12px;
  --radius-full: 9999px;

  /* ── SOMBRAS ────────────────────────────────────────────── */
  --shadow-sm: 0 2px 8px  rgba(0, 0, 0, 0.60);
  --shadow-md: 0 8px 24px rgba(0, 0, 0, 0.70);

  /* ── TRANSIÇÕES ─────────────────────────────────────────── */
  --transition: 150ms ease;

  /* ── Z-INDEX ────────────────────────────────────────────── */
  --z-sticky: 50;
  --z-overlay: 100;
  --z-modal:   1000;
  --z-toast:   9999;

  /* Aliases de compatibilidade (mesa-stage/roster/inspector usam vars legadas) */
  --text-primary:   var(--text);
  --text-secondary: var(--text-soft);
  --text-muted:     var(--text-soft);
  --font-title:     var(--font-ui);
  --border-up:      var(--border-accent);
  --accent-red:     var(--accent);
}
