/* ============================================================
   Espelho dos tokens canónicos Montria — vf-panel-server —
   v1.1.0 (2026-10-15) (RT-006, ADR 0003)

   GERADO de design/montria-tokens.json por scripts/gerar_tokens.py:
   NUNCA editar à mão. Muda-se o canónico, corre-se o gerador, e os
   dois vão no mesmo commit; `make tokens` falha se este ficheiro não
   for exatamente o que o gerador dá.

   O tema claro no :root, o escuro em prefers-color-scheme: dark, e o
   data-theme na raiz força um dos dois por cima do sistema. Os
   papéis e os contrastes de cada token estão no canónico.
   ============================================================ */

/* Atkinson Hyperlegible Next · OFL-1.1, fonts/montria/OFL-AtkinsonHyperlegibleNext.txt */
@font-face {
  font-family: "Atkinson Hyperlegible Next";
  font-style: normal;
  font-weight: 200 800;
  font-display: swap;
  src: url("fonts/montria/AtkinsonHyperlegibleNext-Variable-latin.woff2") format("woff2");
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

@font-face {
  font-family: "Atkinson Hyperlegible Next";
  font-style: normal;
  font-weight: 200 800;
  font-display: swap;
  src: url("fonts/montria/AtkinsonHyperlegibleNext-Variable-latin-ext.woff2") format("woff2");
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}

/* Fraunces · OFL-1.1, fonts/montria/OFL-Fraunces.txt */
@font-face {
  font-family: "Fraunces";
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url("fonts/montria/Fraunces-SemiBold-opsz-latin.woff2") format("woff2");
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

:root {
  /* --- cores --- */
  --m-fundo: #F6F6F8;
  --m-superficie: #FFFFFF;
  --m-linha: #E2E2E8;
  --m-contorno: #84848F;
  --m-texto: #1C1C21;
  --m-texto-suave: #5A5A64;
  --m-acao: #5737C2;
  --m-acao-texto: #FFFFFF;
  --m-sinal: #1F64A8;
  --m-aviso: #875A00;
  --m-erro: #B42318;
  --m-foco: #5737C2;

  /* --- sombras --- */
  --m-sombra: 0 1px 2px rgb(28 28 33 / 6%), 0 8px 24px rgb(28 28 33 / 6%);

  /* --- famílias --- */
  --m-font-base: "Atkinson Hyperlegible Next", system-ui, sans-serif;
  --m-font-display: "Fraunces", serif;

  /* --- tamanhos --- */
  --m-tamanho-xs: 0.875rem;
  --m-tamanho-s: 1rem;
  --m-tamanho-m: 1.125rem;
  --m-tamanho-l: 1.375rem;
  --m-tamanho-xl: 1.75rem;
  --m-tamanho-xxl: clamp(2rem, 1.5rem + 2.5vw, 3.25rem);

  /* --- pesos --- */
  --m-peso-normal: 400;
  --m-peso-medio: 600;
  --m-peso-forte: 700;

  /* --- alturas de linha --- */
  --m-altura-corpo: 1.6;
  --m-altura-titulo: 1.2;

  /* --- raios --- */
  --m-raio-pequeno: 0.5rem;
  --m-raio: 0.75rem;
  --m-raio-grande: 1.25rem;
  --m-raio-pilula: 999px;

  /* --- traços --- */
  --m-regua: 4px;

  /* --- espaço --- */
  --m-espaco-1: 0.25rem;
  --m-espaco-2: 0.5rem;
  --m-espaco-3: 0.75rem;
  --m-espaco-4: 1rem;
  --m-espaco-5: 1.25rem;
  --m-espaco-6: 1.5rem;
  --m-espaco-7: 2rem;
  --m-espaco-8: 3rem;

  /* --- movimento --- */
  --m-duracao-curta: 120ms;
  --m-duracao: 200ms;
  --m-curva: cubic-bezier(0.2, 0, 0, 1);
}

/* O tema escuro, quando o sistema o pede. */
@media (prefers-color-scheme: dark) {
  :root {
    /* --- cores --- */
    --m-fundo: #131316;
    --m-superficie: #1C1C21;
    --m-linha: #2F2F37;
    --m-contorno: #7E7E8A;
    --m-texto: #ECECF1;
    --m-texto-suave: #A5A5B0;
    --m-acao: #BBA8FF;
    --m-acao-texto: #1B1036;
    --m-sinal: #8DC3F3;
    --m-aviso: #E8B862;
    --m-erro: #FF9E96;
    --m-foco: #BBA8FF;

    /* --- sombras --- */
    --m-sombra: 0 1px 2px rgb(0 0 0 / 40%);
  }
}

/* O tema claro, forçado pelo data-theme da raiz. */
:root[data-theme="light"] {
  /* --- cores --- */
  --m-fundo: #F6F6F8;
  --m-superficie: #FFFFFF;
  --m-linha: #E2E2E8;
  --m-contorno: #84848F;
  --m-texto: #1C1C21;
  --m-texto-suave: #5A5A64;
  --m-acao: #5737C2;
  --m-acao-texto: #FFFFFF;
  --m-sinal: #1F64A8;
  --m-aviso: #875A00;
  --m-erro: #B42318;
  --m-foco: #5737C2;

  /* --- sombras --- */
  --m-sombra: 0 1px 2px rgb(28 28 33 / 6%), 0 8px 24px rgb(28 28 33 / 6%);
}

/* O tema escuro, forçado pelo data-theme da raiz. */
:root[data-theme="dark"] {
  /* --- cores --- */
  --m-fundo: #131316;
  --m-superficie: #1C1C21;
  --m-linha: #2F2F37;
  --m-contorno: #7E7E8A;
  --m-texto: #ECECF1;
  --m-texto-suave: #A5A5B0;
  --m-acao: #BBA8FF;
  --m-acao-texto: #1B1036;
  --m-sinal: #8DC3F3;
  --m-aviso: #E8B862;
  --m-erro: #FF9E96;
  --m-foco: #BBA8FF;

  /* --- sombras --- */
  --m-sombra: 0 1px 2px rgb(0 0 0 / 40%);
}
