/* ==========================================================================
   Apogee — tokens de marca (HUD holográfico), para as 30 instâncias.

   ESPECIFICIDADE, o ponto que faz este arquivo parecer verboso:
   o Material declara --md-default-*, --md-code-*, --md-typeset-* e
   --md-footer-* dentro de [data-md-color-scheme=slate] (palette.css) e de
   :root,[data-md-color-scheme=default] (main.css). Um `:root` nosso NÃO
   alcança esses tokens — só primary/accent, que o Material também põe em
   :root. Por isso repetimos o seletor de atributo; o extra_css garante que
   este arquivo carrega depois e vence o empate por ordem.

   O template usa `primary: custom` / `accent: custom` justamente para que
   [data-md-color-primary=deep-purple]{--md-typeset-a-color:…} não exista e
   não sequestre a cor dos links definida aqui.

   CONTRASTE: todo par texto/fundo foi calculado (WCAG 2.x) e passa AA.
   O roxo da marca #7C5CFF reprova como TEXTO sobre superfície elevada
   (4.25:1 em #141029, 3.93:1 em #1C1738) — ele serve a preenchimento,
   borda e glow; texto roxo usa #9B82FF (6.19:1).
   ========================================================================== */

/* ─────────────────────────── Tipografia ───────────────────────────
   Não force font-family em body/.md-typeset: isso curto-circuita o
   mecanismo --md-text-font-family do Material e leva junto o fallback e a
   substituição em @media print. Reescrevemos a CADEIA de fallback, mantendo
   --md-text-font (vindo do {% block fonts %}) no comando. A cauda CJK era o
   motivo legítimo da regra antiga e continua aqui. */
body {
  --md-text-font-family: var(--md-text-font, _), "Noto Sans SC", "PingFang SC",
    "Microsoft YaHei", -apple-system, BlinkMacSystemFont, Helvetica, Arial,
    sans-serif;
  --md-code-font-family: var(--md-code-font, _), "Fira Code", SFMono-Regular,
    Consolas, Menlo, monospace;

  --apogee-display-font: "Space Grotesk", var(--md-text-font-family);
  --apogee-wordmark-font: "Orbitron", "Space Grotesk", var(--md-text-font-family);
}

/* ═══════════════════════ ESCURO (slate — o default) ═══════════════════════ */
[data-md-color-scheme="slate"] {
  /* Rede de segurança: a rampa de cinzas do slate é hsla(var(--md-hue),15%,…).
     Redefinimos explicitamente tudo que usamos, então --md-hue só governa
     variáveis derivadas que versões futuras do Material venham a introduzir.
     258deg é o matiz do nosso fundo; o default 225deg puxaria para o azul. */
  --md-hue: 258deg;

  /* superfícies */
  --md-default-bg-color: #08060f;
  --md-default-bg-color--light: #08060f8a;
  --md-default-bg-color--lighter: #08060f42;
  --md-default-bg-color--lightest: #08060f12;

  /* texto */
  --md-default-fg-color: #e8ebff;          /* 17.02:1 */
  --md-default-fg-color--light: #a9b0d8;   /*  9.48:1 */
  --md-default-fg-color--lighter: #8a91b8; /*  6.54:1 */
  --md-default-fg-color--lightest: #2a2350; /* borda decorativa, não texto */

  /* primary é o SLAB do header e das tabs, não o roxo dos links */
  --md-primary-fg-color: #0c0a1c;
  --md-primary-fg-color--light: #1c1738;
  --md-primary-fg-color--dark: #05040c;    /* também vira <meta theme-color> */
  --md-primary-bg-color: #e8ebff;          /* 16.51:1 sobre o slab */
  --md-primary-bg-color--light: #a9b0d8;

  /* accent: hover de link, nav ativa, foco */
  --md-accent-fg-color: #22d3ee;           /* 11.14:1 */
  --md-accent-fg-color--transparent: #22d3ee1f;
  --md-accent-bg-color: #06121a;
  --md-accent-bg-color--light: #06121ab3;

  /* typeset */
  --md-typeset-color: var(--md-default-fg-color);
  --md-typeset-a-color: #9b82ff;           /* 6.74:1 — NÃO usar #7C5CFF */
  --md-typeset-mark-color: #1f4a5e;
  --md-typeset-del-color: #fb718526;
  --md-typeset-ins-color: #34d39926;
  --md-typeset-table-color: #665cb459;
  --md-typeset-table-color--light: #665cb41f;
  --md-typeset-kbd-color: #1c1738;
  --md-typeset-kbd-accent-color: #2a2350;
  --md-typeset-kbd-border-color: #08060f;

  /* código inline; os BLOCOS pertencem a apogee-code.css */
  --md-code-fg-color: #d8ddf7;
  --md-code-bg-color: #0c0a1a;
  --md-code-bg-color--light: #0c0a1ae6;
  --md-code-bg-color--lighter: #0c0a1a8a;

  --md-admonition-fg-color: var(--md-default-fg-color);
  --md-admonition-bg-color: #131028;

  /* o slate NÃO define estes: sem override herdariam o #ff9 do :root */
  --md-warning-fg-color: #fbbf24;
  --md-warning-bg-color: #3a2a05;

  /* idem para o fg do footer */
  --md-footer-fg-color: #e8ebff;
  --md-footer-fg-color--light: #a9b0d8;
  --md-footer-fg-color--lighter: #8a91b8;
  --md-footer-bg-color: #05040c;
  --md-footer-bg-color--dark: #030209;

  /* no HUD, sombra vira halo */
  --md-shadow-z1: 0 0 0 1px #2a2350, 0 2px 8px #00000066;
  --md-shadow-z2: 0 0 0 1px #2a2350, 0 6px 20px #00000080, 0 0 24px #7c5cff14;
  --md-shadow-z3: 0 0 0 1px #665cb4, 0 10px 32px #000000a6, 0 0 32px #7c5cff26;

  /* mermaid */
  --md-mermaid-font-family: var(--apogee-display-font), sans-serif;
  --md-mermaid-edge-color: #a9b0d8;
  --md-mermaid-node-bg-color: #1c1738;
  --md-mermaid-node-fg-color: #22d3ee;
  --md-mermaid-label-bg-color: #0f0c1e;
  --md-mermaid-label-fg-color: #e8ebff;
  --md-mermaid-sequence-actor-border-color: #7c5cff;
  --md-mermaid-sequence-actor-line-color: #2a2350;
  --md-mermaid-sequence-number-bg-color: #7c5cff;
  --md-mermaid-sequence-number-fg-color: #0b0620;

  /* tokens Apogee, consumidos por apogee-hud.css */
  --apogee-brand: #7c5cff;
  --apogee-brand-ink: #9b82ff;
  --apogee-cyan: #22d3ee;
  --apogee-surface-2: #141029;
  --apogee-surface-3: #1c1738;
  --apogee-border: #2a2350;
  --apogee-border-strong: #665cb4;
  --apogee-glow: #7c5cff59;
}

/* ═════════════════════════ CLARO (o alternador) ═════════════════════════ */
[data-md-color-scheme="default"] {
  --md-default-bg-color: #f5f6fc;
  --md-default-bg-color--light: #f5f6fcb3;
  --md-default-bg-color--lighter: #f5f6fc4d;
  --md-default-bg-color--lightest: #f5f6fc1f;

  --md-default-fg-color: #0b0a1a;          /* 18.15:1 */
  --md-default-fg-color--light: #474e70;   /*  7.51:1 */
  --md-default-fg-color--lighter: #5d6488; /*  5.34:1 */
  --md-default-fg-color--lightest: #d3d8ec;

  --md-primary-fg-color: #2a1f6b;
  --md-primary-fg-color--light: #3d2f8e;
  --md-primary-fg-color--dark: #1b1348;
  --md-primary-bg-color: #ffffff;          /* 13.94:1 sobre o slab */
  --md-primary-bg-color--light: #ffffffb3;

  --md-accent-fg-color: #0b5e74;           /* 6.79:1 */
  --md-accent-fg-color--transparent: #0891b21a;
  --md-accent-bg-color: #ffffff;
  --md-accent-bg-color--light: #ffffffb3;

  --md-typeset-color: var(--md-default-fg-color);
  --md-typeset-a-color: #5b3fd6;           /* 6.23:1 */
  --md-typeset-mark-color: #cff3fb;
  --md-typeset-del-color: #a80f3526;
  --md-typeset-ins-color: #0f5c2c26;
  --md-typeset-table-color: #7c86bc80;
  --md-typeset-table-color--light: #7c86bc26;
  --md-typeset-kbd-color: #ffffff;
  --md-typeset-kbd-accent-color: #f5f6fc;
  --md-typeset-kbd-border-color: #7c86bc;

  --md-code-fg-color: #2a2f45;
  --md-code-bg-color: #edf0fa;
  --md-code-bg-color--light: #edf0fab3;
  --md-code-bg-color--lighter: #edf0fa4d;

  --md-admonition-fg-color: var(--md-default-fg-color);
  --md-admonition-bg-color: #ffffff;

  --md-warning-fg-color: #3a2a05;
  --md-warning-bg-color: #fdf0c7;

  --md-footer-fg-color: #e8ebff;
  --md-footer-fg-color--light: #a9b0d8;
  --md-footer-fg-color--lighter: #8a91b8;
  --md-footer-bg-color: #16132b;
  --md-footer-bg-color--dark: #0c0a1c;

  --md-shadow-z1: 0 0 0 1px #d3d8ec, 0 1px 3px #0b0a1a14;
  --md-shadow-z2: 0 0 0 1px #d3d8ec, 0 4px 14px #0b0a1a1f;
  --md-shadow-z3: 0 0 0 1px #7c86bc, 0 8px 24px #0b0a1a29;

  --md-mermaid-font-family: var(--apogee-display-font), sans-serif;
  --md-mermaid-edge-color: #474e70;
  --md-mermaid-node-bg-color: #eceef9;
  --md-mermaid-node-fg-color: #0b5e74;
  --md-mermaid-label-bg-color: #ffffff;
  --md-mermaid-label-fg-color: #0b0a1a;
  --md-mermaid-sequence-actor-border-color: #5b3fd6;
  --md-mermaid-sequence-actor-line-color: #d3d8ec;
  --md-mermaid-sequence-number-bg-color: #5b3fd6;
  --md-mermaid-sequence-number-fg-color: #ffffff;

  --apogee-brand: #5b3fd6;
  --apogee-brand-ink: #5b3fd6;
  --apogee-cyan: #0b5e74;
  --apogee-surface-2: #ffffff;
  --apogee-surface-3: #eceef9;
  --apogee-border: #d3d8ec;
  --apogee-border-strong: #7c86bc;
  --apogee-glow: #5b3fd633;
}
