/* BinauralMax — tokens.css
   Gerado de design-system/01-tokens/tokens.json v0.8.0
   NAO editar a mao: editar o tokens.json e regerar.

   Uso: enfileirar ANTES de qualquer CSS de skin/tema.
   Componentes consomem var(--bm-*), nunca hex hardcoded.
*/

:root {
  /* primitivas de marca (iguais nos dois temas) */
  --bm-brand-navy:      #001C3C;
  --bm-brand-gold:      #C0A45A;
  --bm-brand-gold-deep: #7D6A2E;

  /* acentos quentes (cores.md) */
  --bm-accent-amber:      #E09B2D;
  --bm-accent-coral:      #E07856;
  --bm-accent-terracotta: #C0552D;
  --bm-accent-brick:      #B5451F;

  /* CTA */
  --bm-cta-primary:   #C0A45A;
  --bm-cta-secondary: #001C3C;
  --bm-cta-offer:     #FF6600;  /* PROIBIDO em zona terapeutica (cores.md 4) */
  --bm-cta-offer-aa:  #C24A00;

  /* tipografia */
  --bm-font-heading: "Montserrat", sans-serif;
  --bm-font-base:    "Roboto", sans-serif;

  /* espaco */
  --bm-space-1: 4px;  --bm-space-2: 8px;  --bm-space-3: 12px; --bm-space-4: 16px;
  --bm-space-6: 24px; --bm-space-8: 32px; --bm-space-12: 48px; --bm-space-16: 64px;

  /* raio */
  --bm-radius-sm: 4px; --bm-radius-md: 8px; --bm-radius-lg: 16px; --bm-radius-full: 9999px;

  /* ===== v0.8.0 (M-DS-TOKENS) — tokens de FERRAMENTA (paineis/estudio). ===== */
  /* Prefixo --bm-app-* porque --bm-surface-*, --bm-text-*, --bm-border-* ja sao a
     camada de papel do site ([data-bm-theme]). Conteudo do site segue semantic.light. */
  --bm-app-surface-page:   #F5F6F8;
  --bm-app-surface-raised: #FFFFFF;
  --bm-app-surface-sunken: #EDF1F6;
  --bm-app-border-default: #E3E7ED;
  --bm-app-text-primary:   #001C3C;  /* alias brand-navy — 15.77:1 sobre page (AAA) */
  --bm-app-text-default:   #33455C;  /*  9.78:1 / 9.05:1 (AAA) */
  --bm-app-text-secondary: #5E6F82;  /*  5.16:1 / 4.77:1 (AA) — D2 */
  --bm-app-text-meta:      #7A8B9F;  /*  3.49:1 / 3.23:1 — metadados >=14px, nunca texto essencial — D2 */

  /* status governados (color.semantic.*) — so em estado, nunca decorativo */
  --bm-semantic-success: #2E7D5B;
  --bm-semantic-warning: #E09B2D;  /* alias accent-amber */
  --bm-semantic-error:   #B5451F;  /* alias accent-brick */
  --bm-semantic-info:    #2F5D8A;

  /* chips de estado WL (color.chip.*) — bg / text / dot */
  --bm-chip-sent-bg: #F3F5F8;       --bm-chip-sent-text: #33455C;       --bm-chip-sent-dot: #8A99AC;
  --bm-chip-recorded-bg: #EDF2F8;   --bm-chip-recorded-text: #2A4E73;   --bm-chip-recorded-dot: #2F5D8A;
  --bm-chip-processing-bg: #FCF3E3; --bm-chip-processing-text: #7A5514; --bm-chip-processing-dot: #E09B2D;
  --bm-chip-delivered-bg: #EEF6F1;  --bm-chip-delivered-text: #245C45;  --bm-chip-delivered-dot: #2E7D5B;
  --bm-chip-expired-bg: #FDF4F0;    --bm-chip-expired-text: #8C3617;    --bm-chip-expired-dot: #B5451F;

  /* tipografia mono (D-DESIGN-18 mantida) */
  --bm-font-mono: "Roboto Mono", monospace;

  /* grade / raio / elevacao */
  --bm-space-base: 4px;
  --bm-radius-card: 8px; --bm-radius-container: 12px; --bm-radius-pill: 9999px;
  --bm-elevation-card: 0 1px 2px rgba(0,28,60,.05);

  /* botoes compostos de ferramenta (button.*) — cta-secondary intacto */
  --bm-button-outline-bg:            #FFFFFF;
  --bm-button-outline-border:        1px solid #001C3C;
  --bm-button-outline-text:          #001C3C;
  --bm-button-outline-hover-bg:      #EDF1F6;
  --bm-button-outline-focus-ring:    2px solid #001C3C;
  --bm-button-outline-disabled-text: #7A8B9F;
  --bm-button-ghost-bg:     transparent;
  --bm-button-ghost-border: none;
  --bm-button-ghost-text:   #5E6F82;
}

/* ---------- TEMA CLARO (padrao) ---------- */
:root,
[data-bm-theme="light"] {
  --bm-surface-page:     #FFFFFF;
  --bm-surface-card:     #FBFAF7;
  --bm-surface-subtle:   #F1F4F8;
  --bm-surface-checkout: #FAF8F3;  /* NOVO v0.6.1 — creme do checkout (era --bmx-co) */

  --bm-text-primary:   #001C3C;  /* 17.05:1 AAA */
  --bm-text-secondary: #4F5B6B;  /*  6.91:1 AA  */
  --bm-text-tertiary:  #5A6675;  /*  5.85:1 AA  */
  --bm-text-on-accent: #001C3C;

  --bm-border-default: #E3E1DA;
  --bm-border-strong:  #7D6A2E;

  --bm-accent-brand:   #7D6A2E;  /* dourado p/ TEXTO no claro. brand-gold reprova aqui (2.41:1) */
  --bm-accent-on-fill: #C0A45A;  /* dourado como FUNDO de CTA */
}

/* ---------- TEMA ESCURO ---------- */
[data-bm-theme="dark"] {
  --bm-surface-page:   #001C3C;
  --bm-surface-card:   #0A2A54;
  --bm-surface-subtle: #062040;

  --bm-text-primary:   #FFFFFF;  /* 17.05:1 AAA */
  --bm-text-secondary: #A9BBD0;  /*  8.69:1 AAA */
  --bm-text-tertiary:  #8FA3BC;  /*  6.60:1 AA  */
  --bm-text-on-accent: #001C3C;

  --bm-border-default: #123A66;
  --bm-border-strong:  #C0A45A;

  --bm-accent-brand:   #C0A45A;  /* 7.06:1 AAA sobre marinho */
  --bm-accent-on-fill: #C0A45A;
}

/* ---------- CONTEXTO IMERSIVO (void — D-DESIGN-22) ---------- */
/* FUNCIONAL: nao e o dark de plataforma. void so em superficies imersivas
   designadas (lab/players/AI-Age). Dark geral permanece [data-bm-theme="dark"]. */
[data-bm-theme="immersive"] {
  --bm-surface-page:   #0a0e1a;
  --bm-surface-card:   #111726;
  --bm-surface-subtle: #111726;

  --bm-text-primary:   #FFFFFF;  /* 17.05:1 AAA */
  --bm-text-secondary: #A9BBD0;  /*  reusa dark (D-DESIGN-22 C1) */
  --bm-text-tertiary:  #8FA3BC;  /*  reusa dark (D-DESIGN-22 C1) */
  --bm-text-on-accent: #001C3C;

  --bm-border-default: #1e2740;
  --bm-border-strong:  #C0A45A;

  --bm-accent-brand:   #C0A45A;
  --bm-accent-on-fill: #C0A45A;
}

/* Respeita a preferencia do sistema quando o usuario nao escolheu.
   O toggle sobrescreve cravando [data-bm-theme] no <html>. */
@media (prefers-color-scheme: dark) {
  [data-bm-theme="auto"] {
    --bm-surface-page:   #001C3C;
    --bm-surface-card:   #0A2A54;
    --bm-surface-subtle: #062040;
    --bm-text-primary:   #FFFFFF;
    --bm-text-secondary: #A9BBD0;
    --bm-text-tertiary:  #8FA3BC;
    --bm-border-default: #123A66;
    --bm-border-strong:  #C0A45A;
    --bm-accent-brand:   #C0A45A;
  }
}
