/* =====================================================================
   AFF Education — Tokens
   Fonte única de cor, tipo e medida. Nenhum valor cru fora deste arquivo.
   ===================================================================== */

:root {
  /* -------------------------------------------------------------------
     Cor
     O substrato é claro e frio, não creme. O azul do fundo é o mesmo
     azul da marca, muito diluído — nada compete com o texto.
     ------------------------------------------------------------------- */
  --tinta:        #12263f;  /* azul-marinho: texto e marca */
  --tinta-suave:  #4a6076;  /* texto secundário */
  --tinta-tenue:  #637180;  /* legendas, metadados — 4.69:1 sobre papel */

  --papel:        #f6f8fa;  /* fundo da página */
  --giz:          #ffffff;  /* superfície de card */
  --grade:        #dde5ed;  /* divisória tênue */
  --grade-forte:  #c9d6e2;  /* borda de card */

  /* Fundo: lavagem azul no topo e o "A" desenhado em degradê. */
  --ceu:          #dbe9f8;
  --a-topo-cor:   rgba(93, 148, 209, 0.34);
  --a-base-cor:   rgba(93, 148, 209, 0.00);

  --ouro:         #846118;  /* acento da marca — 4.70:1 sobre --ouro-claro */
  --ouro-claro:   #f3e9d2;  /* fundo de selo */
  --ouro-vivo:    #c9a227;  /* só decorativo: sombra e filete, nunca texto */
  --visto:        #1f6b4d;  /* verde de "aberto", como visto de professor */
  --visto-claro:  #e3f0e9;
  --margem:       #a9c6e4;  /* filete que marca o início do conteúdo */

  --foco:         #1d6fd0;  /* anel de foco, distinto da marca */

  /* -------------------------------------------------------------------
     Tipo
     Archivo expandida e pesada no display: retilínea, ecoa a pauta.
     Source Sans no corpo: humanista, boa com acentuação portuguesa.
     Mono só em código de curso.
     ------------------------------------------------------------------- */
  --fonte-display: 'Archivo', system-ui, sans-serif;
  --fonte-corpo:   'Source Sans 3', system-ui, sans-serif;
  --fonte-mono:    'JetBrains Mono', ui-monospace, monospace;

  --escala-xs:   0.75rem;
  --escala-sm:   0.875rem;
  --escala-base: 1rem;
  --escala-md:   1.125rem;
  --escala-lg:   1.375rem;
  --escala-xl:   1.875rem;
  --escala-2xl:  2.5rem;
  --escala-3xl:  3.25rem;

  /* -------------------------------------------------------------------
     Medida
     A escala de espaço é independente da entrelinha: sem o quadriculado
     de fundo não há mais o que alinhar, e amarrar uma coisa à outra só
     empurrava tudo para longe. Os passos são curtos de propósito.
     ------------------------------------------------------------------- */
  --celula: 24px;    /* entrelinha de referência: altura de campo, textarea */
  --linha: 1.5;      /* entrelinha do corpo de texto */

  --e1: 6px;
  --e2: 14px;
  --e3: 20px;
  --e4: 28px;
  --e6: 40px;
  --e8: 52px;

  /* Geometria do "A" do fundo — ver base.css. */
  --a-larg: min(58vmin, 520px);
  --a-alt:  min(64vmin, 560px);
  --a-y:    12vh;

  --largura-conteudo: 1180px;
  --largura-texto: 62ch;

  --raio: 3px;              /* quase reto: é papel, não plástico */
  --raio-selo: 2px;

  /* Sombra de papel sobre papel: deslocada, dura, sem desfoque grande. */
  --sombra-ficha: 2px 2px 0 var(--grade-forte);
  --sombra-ficha-alta: 3px 4px 0 var(--grade-forte);

  --transicao: 140ms ease-out;
}

/* Quem pediu menos movimento recebe menos movimento. */
@media (prefers-reduced-motion: reduce) {
  :root { --transicao: 0ms; }
  *, *::before, *::after {
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.01ms !important;
    scroll-behavior: auto !important;
  }
}
