/* css/tema.css — tokens e letras do site (tema «Recreio», #129). Carrega-se antes do styles.css. */
/* ════════════════════════════════════════════════════════════════════════
   LETRA — alojada aqui, nada vai a servidores de terceiros.
   General Sans, ITF Free Font License (uso comercial e web). Ver
   fonts/LICENSE.txt, que explica também porque a Agrandir da marca não
   pode ser servida.

   Os caminhos são relativos a ESTE ficheiro, e por isso resolvem igual a
   partir da raiz (index.html) e de dentro de um hub (mat8/index.html).
   ════════════════════════════════════════════════════════════════════════ */
@font-face{font-family:'General Sans';src:url('../fonts/general-sans-400.woff2') format('woff2');font-weight:400;font-style:normal;font-display:swap;unicode-range:U+0000-00FF,U+0100-017F,U+2000-206F,U+2190-21BB}
@font-face{font-family:'General Sans';src:url('../fonts/general-sans-500.woff2') format('woff2');font-weight:500;font-style:normal;font-display:swap;unicode-range:U+0000-00FF,U+0100-017F,U+2000-206F,U+2190-21BB}
@font-face{font-family:'General Sans';src:url('../fonts/general-sans-600.woff2') format('woff2');font-weight:600;font-style:normal;font-display:swap;unicode-range:U+0000-00FF,U+0100-017F,U+2000-206F,U+2190-21BB}
@font-face{font-family:'General Sans';src:url('../fonts/general-sans-700.woff2') format('woff2');font-weight:700;font-style:normal;font-display:swap;unicode-range:U+0000-00FF,U+0100-017F,U+2000-206F,U+2190-21BB}
/* JetBrains Mono (OFL), os cortes latin e latin-ext que o Google Fonts
   servia: uma fonte variável por corte, declarada só com os pesos 400 e 500
   que antes se pediam ao Google (um 700 continua sintetizado, como era).
   Os ícones (Phosphor) estão no css/icones.css, gerado. */
@font-face{font-family:'JetBrains Mono';src:url('../fonts/jetbrains-mono-latin.woff2') format('woff2');font-weight:400 500;font-style:normal;font-display:swap;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:'JetBrains Mono';src:url('../fonts/jetbrains-mono-latin-ext.woff2') format('woff2');font-weight:400 500;font-style:normal;font-display:swap;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}
/* Fredoka (títulos, 500–700) e DM Sans (corpo, 400–700), SIL OFL 1.1: fontes
   variáveis, um ficheiro por corte (latin e latin-ext), alojadas em fonts/. */
@font-face{font-family:'Fredoka';src:url('../fonts/fredoka-latin.woff2') format('woff2');font-weight:500 700;font-style:normal;font-display:swap;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:'Fredoka';src:url('../fonts/fredoka-latin-ext.woff2') format('woff2');font-weight:500 700;font-style:normal;font-display:swap;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}
@font-face{font-family:'DM Sans';src:url('../fonts/dm-sans-latin.woff2') format('woff2');font-weight:400 700;font-style:normal;font-display:swap;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:'DM Sans';src:url('../fonts/dm-sans-latin-ext.woff2') format('woff2');font-weight:400 700;font-style:normal;font-display:swap;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}

:root{
  /* ── PALETA DA MARCA (Próximo Parágrafo) ──
     Quatro cores mais o branco, com os hexadecimais exactos da landing page
     (pontoparagrafo/src/assets/css/tokens.css). Os degraus intermédios são
     para hover e para o meio dos gradientes; NÃO SE INVENTA um tom fora
     desta lista.

     Regras da marca que valem em todo o site:
       1. Terracota só para ACÇÃO — botões, links, marcas de caneta.
          Nunca um fundo grande.
       2. O azul é LETRA, não fundo.
       3. Três fundos, nunca dois iguais seguidos:
          A branco · B --sky-diluted · C --lilac-diluted.
       4. Sombras nunca pretas: sempre tingidas de navy.

     Os nomes legados (--sage, --rose, --cream, --ink…) mais abaixo apontam
     para estes valores, para que TODO o site (que ainda os referencia) mude
     de cor automaticamente. */

  /* Azul — tinta, títulos, símbolo */
  --navy-900:#0b1730;--navy-800:#162a4f;--navy-700:#24406e;--navy-600:#2e5286;
  --navy-500:#3d6ea6;--navy-400:#6a8cbf;--navy-300:#a6b2c9;--navy-200:#d0d6e4;--navy-100:#eceff5;
  /* Terracota — acção, e só acção */
  --terracotta-700:#8a3e17;--terracotta-600:#b0521f;--terracotta-500:#d1642b;
  --terracotta-400:#dc8256;--terracotta-300:#e6a382;--terracotta-200:#f0c5ae;
  --terracotta-sand:#f4e4ce;
  /* O tom mais claro que uma faixa terracota com texto pequeno branco pode ter */
  --terracotta-band-max:#bb5822;
  /* Azul-céu — apoio: fundos e gradientes */
  --sky-600:#4c81c4;--sky-500:#79a9e5;--sky-400:#9bbfea;--sky-300:#bdd5f0;--sky-diluted:#e7eefb;
  /* Lilás — apoio: fundos suaves */
  --lilac-600:#9c86b8;--lilac-500:#c2b0d6;--lilac-400:#d0c2e0;--lilac-diluted:#eee7f6;
  --white:#ffffff;

  /* Nomes nominais, mantidos para não partir o que já lhes chama */
  --laranja:#d1642b;--laranja-esc:#b0521f;--laranja-cl:#dc8256;--laranja-pal:#f4e4ce;
  --azul:#162a4f;--azul-mid:#24406e;--azul-pal:#e7eefb;
  --creme:#ffffff;--creme-q:#e7eefb;--branco:#ffffff;
  --escuro:#162a4f;--cinza:#667089;--cinza-cl:#d0d6e4;
  --verde:#3f8f5f;--verde-pal:#e2f3e8;--vermelho:#c14b3f;--vermelho-pal:#fbe6e3;
  /* Gradiente terracota: entre cores VIZINHAS, nunca entre as duas primárias */
  --grad-laranja:linear-gradient(160deg,#8a3e17 0%,#d1642b 55%,#bb5822 100%);
  --grad-azul:linear-gradient(160deg,#162a4f 0%,#24406e 45%,#3d6ea6 100%);

  /* Português: tinha o mesmo hexadecimal do roxo do portal, e uma
     substituição global já os confundiu uma vez. Agora tem nome. */
  --portugues:#5c4e8a;--portugues-esc:#4a3f7a;--portugues-pal:#f0edf7;

  /* Marca legada → nova (terracota) */
  --sage:#d1642b;--sage-light:#dc8256;--sage-dark:#b0521f;
  /* Secundária legada → nova (navy) */
  --rose:#162a4f;--rose-light:#24406e;--charcoal:#162a4f;--blush:#e7eefb;
  /* Neutros de fundo — o creme sai dos fundos (regra 3) */
  --cream:#ffffff;--cream2:#e7eefb;--cream3:#eee7f6;
  /* Tinta / texto — o de apoio é navy a 70%, nunca cinzento */
  --ink:#162a4f;--ink1:#162a4f;--ink2:rgba(22,42,79,.8);--ink3:rgba(22,42,79,.7);--ink4:rgba(22,42,79,.67);
  --white:#ffffff;--surface:#faf7f3;--border:#e7e2e5;--border2:#d9d3d6;
  /* Cores de capítulo. A -mid é para PREENCHER (fundos, bordas, barras);
     a -ink é a mesma cor para ESCREVER (texto e ícones): o mesmo tom,
     escurecido o mínimo para dar 4,5:1 sobre o branco, os fundos B e C
     (--cream2, --cream3) e o -base/-pale do próprio capítulo. */
  --c1-base:#f6eae4;--c1-mid:#b8572e;--c1-deep:#783417;--c1-pale:#fcf6f3;--c1-ink:#a8502a;
  --c2-base:#f6eee4;--c2-mid:#b87c2e;--c2-deep:#784e17;--c2-pale:#fcf8f3;--c2-ink:#8e6024;
  --c3-base:#f6e7e4;--c3-mid:#b8402e;--c3-deep:#782417;--c3-pale:#fcf4f3;--c3-ink:#b8402e;
  --cs-base:#f6e8e4;--cs-mid:#b8492e;--cs-deep:#782a17;--cs-pale:#fcf5f3;--cs-ink:#b2472d;
  --c4-base:#e4f3f6;--c4-mid:#2ea1b8;--c4-deep:#176878;--c4-pale:#f3fafc;--c4-ink:#217383;
  --c5-base:#e4eff6;--c5-mid:#2e7eb8;--c5-deep:#174f78;--c5-pale:#f3f8fc;--c5-ink:#286ea1;
  --c6-base:#e4f6f3;--c6-mid:#2eb89c;--c6-deep:#177865;--c6-pale:#f3fcfa;--c6-ink:#1d7664;
  --c7-base:#f6f2e4;--c7-mid:#b8952e;--c7-deep:#786017;--c7-pale:#fcf9f3;--c7-ink:#7e6620;
  --c8-base:#e4f6ed;--c8-mid:#2eb873;--c8-deep:#177847;--c8-pale:#f3fcf7;--c8-ink:#1e784b;
  /* Matemática 8.º Ano - paleta própria (tons azul/teal/índigo) */
  --m8c1-base:#e4eff6;--m8c1-mid:#2e7eb8;--m8c1-deep:#174f78;--m8c1-pale:#f3f8fc;--m8c1-ink:#286ea1;
  --m8c2-base:#e4f5f6;--m8c2-mid:#2eacb8;--m8c2-deep:#177078;--m8c2-pale:#f3fbfc;--m8c2-ink:#1f747c;
  --m8c3-base:#eae4f6;--m8c3-mid:#5c2eb8;--m8c3-deep:#371778;--m8c3-pale:#f6f3fc;--m8c3-ink:#5c2eb8;
  --m8c4-base:#e4f0f6;--m8c4-mid:#2e8ab8;--m8c4-deep:#175878;--m8c4-pale:#f3f9fc;--m8c4-ink:#257096;
  --m8c5-base:#e7e4f6;--m8c5-mid:#452eb8;--m8c5-deep:#271778;--m8c5-pale:#f5f3fc;--m8c5-ink:#452eb8;
  --m8c6-base:#f6f0e4;--m8c6-mid:#b88a2e;--m8c6-deep:#785817;--m8c6-pale:#fcf9f3;--m8c6-ink:#856421;
  --m8c7-base:#e4edf6;--m8c7-mid:#2e73b8;--m8c7-deep:#174778;--m8c7-pale:#f3f7fc;--m8c7-ink:#2b6bac;
  --m8c8-base:#f6e4f6;--m8c8-mid:#b82eb8;--m8c8-deep:#781778;--m8c8-pale:#fcf3fc;--m8c8-ink:#b02cb0;
  /* Matemática 9.º Ano - paleta própria (tons terracota/verde/borgonha), 6 capítulos */
  --m9c1-base:#f6ebe4;--m9c1-mid:#b8602e;--m9c1-deep:#783a17;--m9c1-pale:#fcf6f3;--m9c1-ink:#a15428;
  --m9c2-base:#f2f6e4;--m9c2-mid:#95b82e;--m9c2-deep:#607817;--m9c2-pale:#f9fcf3;--m9c2-ink:#5c711c;
  --m9c3-base:#e4f6f5;--m9c3-mid:#2eb8ac;--m9c3-deep:#177870;--m9c3-pale:#f3fcfb;--m9c3-ink:#1d756d;
  --m9c4-base:#f6e4ed;--m9c4-mid:#b82e73;--m9c4-deep:#781747;--m9c4-pale:#fcf3f7;--m9c4-ink:#b82e73;
  --m9c5-base:#e4ecf6;--m9c5-mid:#2e67b8;--m9c5-deep:#173f78;--m9c5-pale:#f3f7fc;--m9c5-ink:#2e67b8;
  --m9c6-base:#f6efe4;--m9c6-mid:#b87e2e;--m9c6-deep:#784f17;--m9c6-pale:#fcf8f3;--m9c6-ink:#8d6023;
  /* Matemática 5.º Ano - paleta própria (tons verde-fresco), 7 capítulos */
  /* Matemática 1.º Ano - paleta própria (tons amarelo/dourado, alegres), 6 capítulos */
  --m1c1-base:#f6f0e4;--m1c1-mid:#b88a2e;--m1c1-deep:#785817;--m1c1-pale:#fcf9f3;--m1c1-ink:#856421;
  --m1c2-base:#f6ebe4;--m1c2-mid:#b8652e;--m1c2-deep:#783e17;--m1c2-pale:#fcf7f3;--m1c2-ink:#9e5727;
  --m1c3-base:#f6e8e4;--m1c3-mid:#b84e2e;--m1c3-deep:#782e17;--m1c3-pale:#fcf5f3;--m1c3-ink:#af4a2c;
  --m1c4-base:#edf6e4;--m1c4-mid:#73b82e;--m1c4-deep:#477817;--m1c4-pale:#f7fcf3;--m1c4-ink:#49751d;
  --m1c5-base:#e4f6f2;--m1c5-mid:#2eb895;--m1c5-deep:#177860;--m1c5-pale:#f3fcf9;--m1c5-ink:#1d765f;
  --m1c6-base:#e4f0f6;--m1c6-mid:#2e8ab8;--m1c6-deep:#175878;--m1c6-pale:#f3f9fc;--m1c6-ink:#257096;
  --m2c1-base:#e4f6ed;--m2c1-mid:#2eb873;--m2c1-deep:#177847;--m2c1-pale:#f3fcf7;--m2c1-ink:#1e784b;
  --m2c2-base:#f0f6e4;--m2c2-mid:#8ab82e;--m2c2-deep:#587817;--m2c2-pale:#f9fcf3;--m2c2-ink:#55721c;
  --m2c3-base:#e4f0f6;--m2c3-mid:#2e8ab8;--m2c3-deep:#175878;--m2c3-pale:#f3f9fc;--m2c3-ink:#257096;
  --m2c4-base:#f6f2e4;--m2c4-mid:#b8952e;--m2c4-deep:#786017;--m2c4-pale:#fcf9f3;--m2c4-ink:#7e6620;
  --m2c5-base:#e4f6f3;--m2c5-mid:#2eb89c;--m2c5-deep:#177865;--m2c5-pale:#f3fcfa;--m2c5-ink:#1d7664;
  --m2c6-base:#eaf6e4;--m2c6-mid:#5cb82e;--m2c6-deep:#377817;--m2c6-pale:#f6fcf3;--m2c6-ink:#3b771e;
  --m3c1-base:#e4f0f6;--m3c1-mid:#2e8ab8;--m3c1-deep:#175878;--m3c1-pale:#f3f9fc;--m3c1-ink:#257096;
  --m3c2-base:#e4edf6;--m3c2-mid:#2e73b8;--m3c2-deep:#174778;--m3c2-pale:#f3f7fc;--m3c2-ink:#2b6bac;
  --m3c3-base:#e4e7f6;--m3c3-mid:#2e45b8;--m3c3-deep:#172778;--m3c3-pale:#f3f5fc;--m3c3-ink:#2e45b8;
  --m3c4-base:#f0e4f6;--m3c4-mid:#8a2eb8;--m3c4-deep:#581778;--m3c4-pale:#f9f3fc;--m3c4-ink:#8a2eb8;
  --m3c5-base:#e4f5f6;--m3c5-mid:#2eacb8;--m3c5-deep:#177078;--m3c5-pale:#f3fbfc;--m3c5-ink:#1f747c;
  --m3c6-base:#e4f6ec;--m3c6-mid:#2eb867;--m3c6-deep:#17783f;--m3c6-pale:#f3fcf7;--m3c6-ink:#1e7843;
  --m4c1-base:#f6f0e4;--m4c1-mid:#b88a2e;--m4c1-deep:#785817;--m4c1-pale:#fcf9f3;--m4c1-ink:#856421;
  --m4c2-base:#f6e8e4;--m4c2-mid:#b8492e;--m4c2-deep:#782a17;--m4c2-pale:#fcf5f3;--m4c2-ink:#b2472d;
  --m4c3-base:#f6e4f0;--m4c3-mid:#b82e8a;--m4c3-deep:#781758;--m4c3-pale:#fcf3f9;--m4c3-ink:#b82e8a;
  --m4c4-base:#ece4f6;--m4c4-mid:#672eb8;--m4c4-deep:#3f1778;--m4c4-pale:#f7f3fc;--m4c4-ink:#672eb8;
  --m4c5-base:#e4eaf6;--m4c5-mid:#2e5cb8;--m4c5-deep:#173778;--m4c5-pale:#f3f6fc;--m4c5-ink:#2e5cb8;
  --m4c6-base:#e4f6f0;--m4c6-mid:#2eb88a;--m4c6-deep:#177858;--m4c6-pale:#f3fcf9;--m4c6-ink:#1e7759;
  --m5c1-base:#e4f6ef;--m5c1-mid:#2eb87e;--m5c1-deep:#17784f;--m5c1-pale:#f3fcf8;--m5c1-ink:#1e7751;
  --m5c2-base:#ecf6e4;--m5c2-mid:#67b82e;--m5c2-deep:#3f7817;--m5c2-pale:#f7fcf3;--m5c2-ink:#42761d;
  --m5c3-base:#e4f3f6;--m5c3-mid:#2ea1b8;--m5c3-deep:#176878;--m5c3-pale:#f3fafc;--m5c3-ink:#217383;
  --m5c4-base:#f3f6e4;--m5c4-mid:#a1b82e;--m5c4-deep:#687817;--m5c4-pale:#fafcf3;--m5c4-ink:#616f1c;
  --m5c5-base:#e4f6f3;--m5c5-mid:#2eb89c;--m5c5-deep:#177865;--m5c5-pale:#f3fcfa;--m5c5-ink:#1d7664;
  --m5c6-base:#eaf6e4;--m5c6-mid:#5cb82e;--m5c6-deep:#377817;--m5c6-pale:#f6fcf3;--m5c6-ink:#3b771e;
  --m5c7-base:#e4f6ea;--m5c7-mid:#2eb85c;--m5c7-deep:#177837;--m5c7-pale:#f3fcf6;--m5c7-ink:#1e783c;
  /* Matemática 6.º Ano - paleta própria (tons laranja/coral), 7 capítulos */
  --m6c1-base:#f6eae4;--m6c1-mid:#b8572e;--m6c1-deep:#783417;--m6c1-pale:#fcf6f3;--m6c1-ink:#a8502a;
  --m6c2-base:#f6e6e4;--m6c2-mid:#b83c2e;--m6c2-deep:#782117;--m6c2-pale:#fcf4f3;--m6c2-ink:#b83c2e;
  --m6c3-base:#f6f0e4;--m6c3-mid:#b8852e;--m6c3-deep:#785417;--m6c3-pale:#fcf8f3;--m6c3-ink:#886222;
  --m6c4-base:#f6e4e9;--m6c4-mid:#b82e50;--m6c4-deep:#78172f;--m6c4-pale:#fcf3f5;--m6c4-ink:#b82e50;
  --m6c5-base:#f6e4f3;--m6c5-mid:#b82ea1;--m6c5-deep:#781768;--m6c5-pale:#fcf3fa;--m6c5-ink:#b42d9d;
  --m6c6-base:#f6ece4;--m6c6-mid:#b8672e;--m6c6-deep:#783f17;--m6c6-pale:#fcf7f3;--m6c6-ink:#9c5727;
  --m6c7-base:#f6e4e6;--m6c7-mid:#b82e39;--m6c7-deep:#78171f;--m6c7-pale:#fcf3f4;--m6c7-ink:#b82e39;
  /* Matemática 10.º Ano - paleta própria (azul-petróleo/marinho), 6 capítulos */
  --m10c1-base:#e4eff6;--m10c1-mid:#2e7eb8;--m10c1-deep:#174f78;--m10c1-pale:#f3f8fc;--m10c1-ink:#286ea1;
  --m10c2-base:#e4f5f6;--m10c2-mid:#2eacb8;--m10c2-deep:#177078;--m10c2-pale:#f3fbfc;--m10c2-ink:#1f747c;
  --m10c3-base:#e4e7f6;--m10c3-mid:#2e45b8;--m10c3-deep:#172778;--m10c3-pale:#f3f5fc;--m10c3-ink:#2e45b8;
  --m10c4-base:#e4f0f6;--m10c4-mid:#2e8ab8;--m10c4-deep:#175878;--m10c4-pale:#f3f9fc;--m10c4-ink:#257096;
  --m10c5-base:#e6e4f6;--m10c5-mid:#392eb8;--m10c5-deep:#1f1778;--m10c5-pale:#f4f3fc;--m10c5-ink:#392eb8;
  --m10c6-base:#e4f6f2;--m10c6-mid:#2eb895;--m10c6-deep:#177860;--m10c6-pale:#f3fcf9;--m10c6-ink:#1d765f;
  /* Matemática 11.º Ano - paleta própria (ardósia/grafite-azulado), 6 capítulos */
  --m11c1-base:#e4edf6;--m11c1-mid:#2e73b8;--m11c1-deep:#174778;--m11c1-pale:#f3f7fc;--m11c1-ink:#2b6bac;
  --m11c2-base:#f0e4f6;--m11c2-mid:#8a2eb8;--m11c2-deep:#581778;--m11c2-pale:#f9f3fc;--m11c2-ink:#8a2eb8;
  --m11c3-base:#e4f2f6;--m11c3-mid:#2e95b8;--m11c3-deep:#176078;--m11c3-pale:#f3f9fc;--m11c3-ink:#23718c;
  --m11c4-base:#f6ede4;--m11c4-mid:#b8732e;--m11c4-deep:#784717;--m11c4-pale:#fcf7f3;--m11c4-ink:#935c25;
  --m11c5-base:#e4f6f2;--m11c5-mid:#2eb895;--m11c5-deep:#177860;--m11c5-pale:#f3fcf9;--m11c5-ink:#1d765f;
  --m11c6-base:#efe4f6;--m11c6-mid:#7e2eb8;--m11c6-deep:#4f1778;--m11c6-pale:#f8f3fc;--m11c6-ink:#7e2eb8;
  --m12c1-base:#e4eff6;--m12c1-mid:#2e7eb8;--m12c1-deep:#174f78;--m12c1-pale:#f3f8fc;--m12c1-ink:#286ea1;
  --m12c2-base:#efe4f6;--m12c2-mid:#7e2eb8;--m12c2-deep:#4f1778;--m12c2-pale:#f8f3fc;--m12c2-ink:#7e2eb8;
  --m12c3-base:#e4f2f6;--m12c3-mid:#2e95b8;--m12c3-deep:#176078;--m12c3-pale:#f3f9fc;--m12c3-ink:#23718c;
  --m12c4-base:#f6ede4;--m12c4-mid:#b8732e;--m12c4-deep:#784717;--m12c4-pale:#fcf7f3;--m12c4-ink:#935c25;
  --m12c5-base:#e4f6f2;--m12c5-mid:#2eb895;--m12c5-deep:#177860;--m12c5-pale:#f3fcf9;--m12c5-ink:#1d765f;
  --m12c6-base:#f6e4f6;--m12c6-mid:#b82eb8;--m12c6-deep:#781778;--m12c6-pale:#fcf3fc;--m12c6-ink:#b02cb0;
  --m12c7-base:#e4f6ed;--m12c7-mid:#2eb873;--m12c7-deep:#177847;--m12c7-pale:#f3fcf7;--m12c7-ink:#1e784b;
  --available:#162a4f;--avail-bg:#e7eefb;
  --progress:#d1642b;--prog-bg:#f4e4ce;--soon:#56698e;
  --correct:#34764e;--wrong:#b3453a;--muted:#56698e;--surface2:#e7eefb;--text:#162a4f;

  /* ── LETRA ──
     Corpo em DM Sans, títulos em Fredoka (ver --letra-corpo e --letra-titulo mais
     abaixo), ambas alojadas aqui (@font-face no topo). A Agrandir, que só tem
     licença de uso pessoal, saiu da pilha; a General Sans fica de recurso. */
  --font-sans:var(--letra-corpo);
  --font-mono:'JetBrains Mono',ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;

  /* Escala tipográfica. O -0.035em com o 0.92 é o que dá o aperto dos
     títulos da marca. O letter-spacing de 0.3em é SÓ para etiquetas em
     maiúsculas — nunca para botões nem para navegação. */
  --text-page-title:2.75rem;--text-page-title-leading:.92;--text-title-tracking:-.035em;
  --text-section-title:var(--texto-2xl);
  --text-body:var(--texto-base);
  --text-label:.8125rem;--text-label-tracking:.3em;

  /* ── FORMA ── */
  --p-radius:16px;--radius-sm:var(--raio-s);--radius-md:var(--raio-m);--radius-pill:var(--raio-pilula);
  /* Sombras tingidas de navy — nunca pretas, nunca cinzentas */
  --shadow:0 2px 10px rgba(22,42,79,.04);
  --shadow-md:0 10px 30px rgba(22,42,79,.07);
  --shadow-lg:0 24px 60px rgba(22,42,79,.14);
  /* Cartões: fio de contorno em vez de sombra pesada */
  --hairline:rgba(22,42,79,.10);--border-card:rgba(22,42,79,.08);
  /* Alvo de toque mínimo: isto é usado por crianças do 1.º ano */
  --toque-min:44px;
  /* O fundo do rodapé: o --grad-azul no claro, mais escuro no escuro */
  --footer-bg:var(--grad-azul);
  /* ── CORES FIXAS ── iguais em claro e em escuro: o body.dark-mode não lhes toca. Cada uma tem o
     valor que a cor tinha escrito à mão nas regras, por isso trocar o hexadecimal pelo token não
     muda nenhum pixel. */
  /* Brancos que não invertem no escuro e a escala de cinzentos neutros (o --white muda; estes não) */
  --on-accent:#ffffff;--papel:#ffffff;--neutro-900:#1a1a1a;--neutro-850:#1e1e1e;--neutro-800:#242424;--neutro-750:#2a2a2a;--neutro-700:#2e2e2e;--neutro-600:#333333;--neutro-400:#aaaaaa;--neutro-200:#dddddd;
  /* O texto e a linha do modo escuro das páginas de exames (as regras que viviam no js/edu-ui.js) */
  --escuro-linha:#3a3a3a;--escuro-texto:#e8e4df;--escuro-texto-suave:#a09890;
  /* Certo e errado: o feedback das perguntas, dos jogos e dos exames (iguais em claro e em escuro) */
  --certo-vivo:#4caf50;--certo-texto:#2e7d32;--certo-fundo-1:#e8f5e9;--certo-fundo-2:#f0faf0;--certo-fundo-3:#edf4f1;--errado-vivo:#e53935;--errado-texto:#c62828;--errado-forte:#c0392b;--errado-suave:#e57373;--errado-fundo-1:#fdf0ee;--errado-fundo-2:#fff5f5;--ambar-500:#f59e0b;--ambar-600:#d97706;--jogo-p2:#c4796e;
  /* O verde de sucesso do menu lateral, do mural e do jogo de Português */
  --sucesso-forte:#2e7d52;--sucesso-fundo:#e8f5ee;--sucesso-borda:#bfe3c9;
  /* Aprender */
  --apr-verde:#1f7a49;--apr-verde-fundo:#eaf7f0;--apr-teal:#2a8a99;--apr-teal-claro:#56b6c2;
  /* Jogos educativos por faixa etária (games-edu.js) */
  --edu-verde:#2f9e63;
  /* Calculadora e botão da sub-aba */
  --calc-violeta:#7570a8;--calc-violeta-esc:#484580;
  /* Exames: lilases do Matemática 9.º e do Português, e a folha do 12.º ano */
  --ex-lilas:#8b7cc0;--ex-lilas-esc:#7c6fa0;--ex-lilas-claro:#d4cdf0;--ex-noite:#1e1640;--ex-noite-2:#2d2450;
  /* Dica (tooltip) */
  --tip-fundo:#2a2620;
  /* Portal: uma cor por disciplina nos atalhos (as de hoje, sem mudar nenhuma) */
  --cor-fq:#2f7d86;--cor-fq-pal:#e3eff0;--cor-hgp:#8a5a3a;--cor-hgp-pal:#f0e6dc;--cor-ing:#4a5f92;--cor-ing-pal:#e4e8f2;--cor-geo:#3f6f54;--cor-geo-pal:#e2eee6;
  /* Escape room (er2): a paleta de pixel art */
  --er2-madeira:#3d2e0a;--er2-madeira-2:#5c4a1e;--er2-sombra:#2a1e06;--er2-ouro:#e8d08a;--er2-couro:#8b7355;--er2-couro-2:#a08860;--er2-verde:#3d5a3e;--er2-verde-2:#4a7a4c;--er2-verde-txt:#a0f0a0;--er2-verde-esc:#1a3a1a;--er2-verde-sombra:#0a1a0a;--er2-neon:#80ff80;--er2-neon-2:#80e080;--er2-preto:#0a0800;--er2-vermelho-sombra:#2a0000;--er2-amarelo:#ffe040;
  /* ════ «Recreio» (#129): a escala nova, com os valores do rascunho em docs/design/recreio.
     Os papéis (--cor-*, --fundo-*) é que os componentes novos usam; a paleta de cima não muda.
     No escuro, os papéis são redefinidos no body.dark-mode (mais abaixo). ════ */
  /* Papéis */
  --cor-tinta:var(--navy-800);
  --cor-tinta-suave:var(--navy-700);
  --cor-tinta-fraca:#5c6680;          /* 5,7:1 sobre branco */
  --cor-acao:var(--terracotta-500);  /* branco por cima: 3,8:1, só texto grande (botões de 19 px a negrito ou mais) */
  --cor-acao-forte:var(--terracotta-700);  /* texto de link: 7,6:1 sobre o fundo A e 6,6:1 sobre o B (o 600 dava 4,4:1 sobre o B) */
  --cor-acao-relevo:var(--terracotta-700);
  --cor-sobre-acao:var(--white);     /* texto sobre --cor-acao: 3,8:1, só no .r-botao--acao (22 px a 700) */
  --cor-foco:var(--sky-600);         /* anel de foco: 4,0:1 sobre o fundo A e 3,2:1 sobre a areia (o --cor-ceu dava 2,4:1) */
  --cor-linha:var(--navy-200);
  --cor-ceu:var(--sky-500);
  --cor-lilas:var(--lilac-500);
  --fundo-a:var(--white);
  --fundo-b:var(--sky-diluted);
  --fundo-c:var(--lilac-diluted);
  --fundo-areia:var(--terracotta-sand);
  --cor-certo:#3f8f5f;  --cor-certo-texto:#2c6b45;  --cor-certo-fundo:#e2f3e8;
  --cor-errado:#c14b3f; --cor-errado-texto:#a33a2f; --cor-errado-fundo:#fbe6e3;
  /* Uma cor por disciplina (identidade, não acção). Decisão em aberto no issue. */
  --disc-matematica:var(--navy-500);
  --disc-portugues:#5c4e8a;
  --disc-ciencias:#3f8f5f;
  --disc-fq:var(--navy-700);
  --disc-historia:var(--terracotta-700);
  --disc-geografia:var(--sky-600);
  --disc-ingles:var(--sky-400);
  /* Letra */
  --letra-titulo:'Fredoka','DM Sans','General Sans',system-ui,sans-serif;
  --letra-corpo:'DM Sans','General Sans',system-ui,sans-serif;
  --letra-mono:'JetBrains Mono',ui-monospace,monospace;
  --texto-xs:.75rem;    /* 12 */
  --texto-sm:.875rem;   /* 14 */
  --texto-base:1.0625rem; /* 17 */
  --texto-lg:1.375rem;  /* 22 */
  --texto-xl:1.5rem;    /* 24 */
  --texto-2xl:2rem;     /* 32 */
  --texto-3xl:2.5rem;   /* 40 */
  --texto-4xl:3rem;     /* 48 */
  --peso-normal:400;--peso-medio:500;--peso-titulo:600;--peso-forte:700;
  --entrelinha-justa:1.1;--entrelinha:1.5;
  /* Espaço (base 4 px) */
  --esp-1:.25rem;--esp-2:.5rem;--esp-3:.75rem;--esp-4:1rem;
  --esp-6:1.5rem;--esp-8:2rem;--esp-12:3rem;--esp-16:4rem;
  /* Raios */
  --raio-s:8px;--raio-m:14px;--raio-l:22px;--raio-xl:28px;--raio-pilula:999px;
  /* Sombras (tingidas de navy) e relevo */
  --sombra-1:0 2px 8px rgba(22,42,79,.08);
  --sombra-2:0 12px 32px rgba(22,42,79,.14);
  --relevo:5px;   /* o «botão que se carrega»: desce ao clicar */
  /* Movimento */
  --duracao:160ms;--curva:cubic-bezier(.3,.7,.4,1.4);
}

@media (prefers-reduced-motion:reduce){:root{--duracao:0ms}}

/* ═══ MODO ESCURO: os tokens (as regras do escuro estão no styles.css) ═══ */
body.dark-mode{
  /* A marca no escuro. Os neutros levam um toque frio de navy, para
     combinarem com o azul; a terracota sobe de luminosidade para se ler
     sobre fundo escuro. Mesmos papéis, mesmas regras. */
  --terracotta-500:#e07a46;--terracotta-600:#d1642b;--terracotta-400:#e89a71;
  --terracotta-700:#b0521f;--terracotta-sand:#3a2416;--terracotta-band-max:#c95c26;
  --navy-800:#e8edf5;--navy-700:#cfd8e6;--navy-500:#8fa6c4;--navy-100:#1b2436;
  --sky-500:#7fa8d8;--sky-diluted:#161e2e;
  --lilac-500:#b3a3c8;--lilac-diluted:#1e1a26;
  --white:#141a26;

  --laranja:#e07a46;--laranja-esc:#d1642b;--laranja-cl:#e89a71;--laranja-pal:#3a2416;
  --azul:#8fa8c8;--azul-mid:#a8bcd6;--azul-pal:#161e2e;
  --creme:#141a26;--creme-q:#1b2436;--branco:#1b2436;
  --escuro:#e8edf5;--cinza:#93a0b5;--cinza-cl:#2c3648;
  --verde:#5bc48a;--verde-pal:#16301f;--vermelho:#e07168;--vermelho-pal:#3a1917;
  --grad-laranja:linear-gradient(160deg,#b0521f 0%,#e07a46 55%,#c95c26 100%);
  --grad-azul:linear-gradient(160deg,#1b2436 0%,#24406e 45%,#3d6ea6 100%);
  --portugues:#a898d4;--portugues-esc:#8b7cc0;--portugues-pal:#221d33;

  --sage:#e07a46;--sage-light:#e89a71;--sage-dark:#d1642b;
  --rose:#8fa8c8;--rose-light:#a8bcd6;--charcoal:#e8edf5;--blush:#161e2e;
  --cream:#141a26;--cream2:#1b2436;--cream3:#222c3d;
  --white:#1b2436;--border:#2c3648;--border2:#38445a;
  --ink:#e8edf5;--ink1:#e8edf5;--ink2:rgba(232,237,245,.82);--ink3:rgba(232,237,245,.68);--ink4:rgba(232,237,245,.54);
  /* O --soon/--muted do claro é navy escuro; aqui volta ao tom claro */
  --soon:#a6b2c9;--muted:#a6b2c9;
  --avail-bg:#161e2e;--available:#7fa8d8;
  --c1-base:#2a1b16;--c1-pale:#1c120e;--c1-mid:#d99070;--c1-deep:#e6b39d;
  --c2-base:#2a2316;--c2-pale:#1c170e;--c2-mid:#d9ab70;--c2-deep:#e6c69d;
  --c3-base:#2a1616;--c3-pale:#1c0e0e;--c3-mid:#d97d70;--c3-deep:#e6a89d;
  --cs-base:#2a1816;--cs-pale:#1c100e;--cs-mid:#d98470;--cs-deep:#e6ad9d;
  /* -base/-pale/-deep das restantes cores (c4-c8 e m*): o mesmo molde do c1
     acima, com o matiz do -mid de cada uma. Sem isto ficavam os tons claros, e o
     texto claro do escuro (o --ink, o -deep, o -ink) assentava neles a ~1,1:1
     (por exemplo o resumo da tab Progresso). Gerado: 5,0:1 no pior caso. O -mid
     fica igual, porque leva texto branco por cima. */
  --c4-base:#16272a;--c4-pale:#0e1a1c;--c4-deep:#9ddae6;--c5-base:#16222a;--c5-pale:#0e161c;--c5-deep:#9dc7e6;--c6-base:#162a26;--c6-pale:#0e1c19;--c6-deep:#9de6d7;
  --c7-base:#2a2516;--c7-pale:#1c180e;--c7-deep:#e6d39d;--c8-base:#162a20;--c8-pale:#0e1c15;--c8-deep:#9de6c2;--m8c1-base:#16222a;--m8c1-pale:#0e161c;--m8c1-deep:#9dc7e6;
  --m8c2-base:#16282a;--m8c2-pale:#0e1b1c;--m8c2-deep:#9de0e6;--m8c3-base:#1d162a;--m8c3-pale:#130e1c;--m8c3-deep:#b59de6;--m8c4-base:#16232a;--m8c4-pale:#0e171c;--m8c4-deep:#9dcee6;
  --m8c5-base:#19162a;--m8c5-pale:#100e1c;--m8c5-deep:#a99de6;--m8c6-base:#2a2316;--m8c6-pale:#1c170e;--m8c6-deep:#e6ce9d;--m8c7-base:#16202a;--m8c7-pale:#0e151c;--m8c7-deep:#9dc1e6;
  --m8c8-base:#2a162a;--m8c8-pale:#1c0e1c;--m8c8-deep:#e69de6;--m9c1-base:#2a1d16;--m9c1-pale:#1c130e;--m9c1-deep:#e6b79d;--m9c2-base:#252a16;--m9c2-pale:#181c0e;--m9c2-deep:#d3e69d;
  --m9c3-base:#162a28;--m9c3-pale:#0e1c1b;--m9c3-deep:#9de6e0;--m9c4-base:#2a1620;--m9c4-pale:#1c0e15;--m9c4-deep:#e69dc2;--m9c5-base:#161e2a;--m9c5-pale:#0e141c;--m9c5-deep:#9dbbe6;
  --m9c6-base:#2a2216;--m9c6-pale:#1c160e;--m9c6-deep:#e6c79d;--m1c1-base:#2a2316;--m1c1-pale:#1c170e;--m1c1-deep:#e6ce9d;--m1c2-base:#2a1e16;--m1c2-pale:#1c140e;--m1c2-deep:#e6ba9d;
  --m1c3-base:#2a1b16;--m1c3-pale:#1c110e;--m1c3-deep:#e6ae9d;--m1c4-base:#202a16;--m1c4-pale:#151c0e;--m1c4-deep:#c2e69d;--m1c5-base:#162a25;--m1c5-pale:#0e1c18;--m1c5-deep:#9de6d3;
  --m1c6-base:#16232a;--m1c6-pale:#0e171c;--m1c6-deep:#9dcee6;--m2c1-base:#162a20;--m2c1-pale:#0e1c15;--m2c1-deep:#9de6c2;--m2c2-base:#232a16;--m2c2-pale:#171c0e;--m2c2-deep:#cee69d;
  --m2c3-base:#16232a;--m2c3-pale:#0e171c;--m2c3-deep:#9dcee6;--m2c4-base:#2a2516;--m2c4-pale:#1c180e;--m2c4-deep:#e6d39d;--m2c5-base:#162a26;--m2c5-pale:#0e1c19;--m2c5-deep:#9de6d7;
  --m2c6-base:#1d2a16;--m2c6-pale:#131c0e;--m2c6-deep:#b5e69d;--m3c1-base:#16232a;--m3c1-pale:#0e171c;--m3c1-deep:#9dcee6;--m3c2-base:#16202a;--m3c2-pale:#0e151c;--m3c2-deep:#9dc1e6;
  --m3c3-base:#16192a;--m3c3-pale:#0e101c;--m3c3-deep:#9da9e6;--m3c4-base:#23162a;--m3c4-pale:#170e1c;--m3c4-deep:#ce9de6;--m3c5-base:#16282a;--m3c5-pale:#0e1b1c;--m3c5-deep:#9de0e6;
  --m3c6-base:#162a1e;--m3c6-pale:#0e1c14;--m3c6-deep:#9de6bb;--m4c1-base:#2a2316;--m4c1-pale:#1c170e;--m4c1-deep:#e6ce9d;--m4c2-base:#2a1a16;--m4c2-pale:#1c110e;--m4c2-deep:#e6ab9d;
  --m4c3-base:#2a1623;--m4c3-pale:#1c0e17;--m4c3-deep:#e69dce;--m4c4-base:#1e162a;--m4c4-pale:#140e1c;--m4c4-deep:#bb9de6;--m4c5-base:#161d2a;--m4c5-pale:#0e131c;--m4c5-deep:#9db5e6;
  --m4c6-base:#162a23;--m4c6-pale:#0e1c17;--m4c6-deep:#9de6ce;--m5c1-base:#162a22;--m5c1-pale:#0e1c16;--m5c1-deep:#9de6c7;--m5c2-base:#1e2a16;--m5c2-pale:#141c0e;--m5c2-deep:#bbe69d;
  --m5c3-base:#16272a;--m5c3-pale:#0e1a1c;--m5c3-deep:#9ddae6;--m5c4-base:#272a16;--m5c4-pale:#1a1c0e;--m5c4-deep:#dae69d;--m5c5-base:#162a26;--m5c5-pale:#0e1c19;--m5c5-deep:#9de6d7;
  --m5c6-base:#1d2a16;--m5c6-pale:#131c0e;--m5c6-deep:#b5e69d;--m5c7-base:#162a1d;--m5c7-pale:#0e1c13;--m5c7-deep:#9de6b5;--m6c1-base:#2a1c16;--m6c1-pale:#1c120e;--m6c1-deep:#e6b39d;
  --m6c2-base:#2a1816;--m6c2-pale:#1c0f0e;--m6c2-deep:#e6a49d;--m6c3-base:#2a2316;--m6c3-pale:#1c170e;--m6c3-deep:#e6cb9d;--m6c4-base:#2a161b;--m6c4-pale:#1c0e11;--m6c4-deep:#e69daf;
  --m6c5-base:#2a1627;--m6c5-pale:#1c0e1a;--m6c5-deep:#e69dda;--m6c6-base:#2a1e16;--m6c6-pale:#1c140e;--m6c6-deep:#e6bb9d;--m6c7-base:#2a1618;--m6c7-pale:#1c0e0f;--m6c7-deep:#e69da3;
  --m10c1-base:#16222a;--m10c1-pale:#0e161c;--m10c1-deep:#9dc7e6;--m10c2-base:#16282a;--m10c2-pale:#0e1b1c;--m10c2-deep:#9de0e6;--m10c3-base:#16192a;--m10c3-pale:#0e101c;--m10c3-deep:#9da9e6;
  --m10c4-base:#16232a;--m10c4-pale:#0e171c;--m10c4-deep:#9dcee6;--m10c5-base:#18162a;--m10c5-pale:#0f0e1c;--m10c5-deep:#a39de6;--m10c6-base:#162a25;--m10c6-pale:#0e1c18;--m10c6-deep:#9de6d3;
  --m11c1-base:#16202a;--m11c1-pale:#0e151c;--m11c1-deep:#9dc1e6;--m11c2-base:#23162a;--m11c2-pale:#170e1c;--m11c2-deep:#ce9de6;--m11c3-base:#16252a;--m11c3-pale:#0e181c;--m11c3-deep:#9dd3e6;
  --m11c4-base:#2a2016;--m11c4-pale:#1c150e;--m11c4-deep:#e6c29d;--m11c5-base:#162a25;--m11c5-pale:#0e1c18;--m11c5-deep:#9de6d3;--m11c6-base:#22162a;--m11c6-pale:#160e1c;--m11c6-deep:#c79de6;
  --m12c1-base:#16222a;--m12c1-pale:#0e161c;--m12c1-deep:#9dc7e6;--m12c2-base:#22162a;--m12c2-pale:#160e1c;--m12c2-deep:#c79de6;--m12c3-base:#16252a;--m12c3-pale:#0e181c;--m12c3-deep:#9dd3e6;
  --m12c4-base:#2a2016;--m12c4-pale:#1c150e;--m12c4-deep:#e6c29d;--m12c5-base:#162a25;--m12c5-pale:#0e1c18;--m12c5-deep:#9de6d3;--m12c6-base:#2a162a;--m12c6-pale:#1c0e1c;--m12c6-deep:#e69de6;
  --m12c7-base:#162a20;--m12c7-pale:#0e1c15;--m12c7-deep:#9de6c2;
  /* -ink no escuro: o mesmo tom, clareado até 4,5:1 sobre #141a26, #1b2436 e #222c3d */
  --c1-ink:#d99070;--c2-ink:#d9ab70;--c3-ink:#d97d70;--cs-ink:#d98470;--c4-ink:#2ea1b8;--c5-ink:#4a99d2;
  --c6-ink:#2eb89c;--c7-ink:#b8952e;--c8-ink:#2eb873;--m8c1-ink:#4a99d2;--m8c2-ink:#2eacb8;--m8c3-ink:#a182e0;
  --m8c4-ink:#389ccd;--m8c5-ink:#9586e1;--m8c6-ink:#b98b2e;--m8c7-ink:#5897d5;--m8c8-ink:#d965d9;--m9c1-ink:#d27d4c;
  --m9c2-ink:#95b82e;--m9c3-ink:#2eb8ac;--m9c4-ink:#db6ea4;--m9c5-ink:#6494d8;--m9c6-ink:#c38631;--m1c1-ink:#b98b2e;
  --m1c2-ink:#d17e47;--m1c3-ink:#d7795d;--m1c4-ink:#73b82e;--m1c5-ink:#2eb895;--m1c6-ink:#389ccd;--m2c1-ink:#2eb873;
  --m2c2-ink:#8ab82e;--m2c3-ink:#389ccd;--m2c4-ink:#b8952e;--m2c5-ink:#2eb89c;--m2c6-ink:#5cb82e;--m3c1-ink:#389ccd;
  --m3c2-ink:#5897d5;--m3c3-ink:#7e8edf;--m3c4-ink:#bb77dd;--m3c5-ink:#2eacb8;--m3c6-ink:#2eb867;--m4c1-ink:#b98b2e;
  --m4c2-ink:#d87861;--m4c3-ink:#da6cb5;--m4c4-ink:#a780df;--m4c5-ink:#6d92db;--m4c6-ink:#2eb88a;--m5c1-ink:#2eb87e;
  --m5c2-ink:#67b82e;--m5c3-ink:#2ea1b8;--m5c4-ink:#a1b82e;--m5c5-ink:#2eb89c;--m5c6-ink:#5cb82e;--m5c7-ink:#2eb85c;
  --m6c1-ink:#d47b55;--m6c2-ink:#da766b;--m6c3-ink:#bd892f;--m6c4-ink:#dc718c;--m6c5-ink:#da69c7;--m6c6-ink:#d17f45;
  --m6c7-ink:#dc737b;--m10c1-ink:#4a99d2;--m10c2-ink:#2eacb8;--m10c3-ink:#7e8edf;--m10c4-ink:#389ccd;--m10c5-ink:#8f88e1;
  --m10c6-ink:#2eb895;--m11c1-ink:#5897d5;--m11c2-ink:#bb77dd;--m11c3-ink:#319ec3;--m11c4-ink:#cd8135;--m11c5-ink:#2eb895;
  --m11c6-ink:#b47ade;--m12c1-ink:#4a99d2;--m12c2-ink:#b47ade;--m12c3-ink:#319ec3;--m12c4-ink:#cd8135;--m12c5-ink:#2eb895;
  --m12c6-ink:#d965d9;--m12c7-ink:#2eb873;
  --surface:#1b2436;--surface2:#222c3d;--text:#e8edf5;
  /* --wrong: 4,8:1 sobre o #222c3d (o #e07168 ficava a 4,5006:1, no limite) */
  --correct:#5bc48a;--wrong:#e27970;
  --progress:#e07a46;--prog-bg:#3a2416;
  --hairline:rgba(232,237,245,.14);--border-card:rgba(232,237,245,.10);
  --shadow:0 2px 10px rgba(0,0,0,.4);
  --shadow-md:0 10px 30px rgba(0,0,0,.5);
  --shadow-lg:0 24px 60px rgba(0,0,0,.6);
  --footer-bg:linear-gradient(160deg,#0b1730,#162a4f);
  /* Superfícies, linhas e texto do escuro das páginas de exames e do Português (o tom é violeta) */
  --dk-ex-fundo:#1e1c2e;--dk-ex-linha:#2a2840;--dk-ex-linha2:#3a3860;--dk-ex-opcao:#252340;--dk-ex-opcao-on:#2d2a50;--dk-ex-texto:#e0daf0;--dk-ex-violeta:#9080c0;--dk-ex-lilas:#c0b8e0;--dk-ok-fundo:#16331f;--dk-err-fundo:#3a1c1c;
  /* Papéis «Recreio» no escuro: apontam para o que o escuro já redefine (o var() do :root resolve no :root, por isso cada um repete-se aqui) */
  --cor-tinta:var(--navy-800);          /* o navy-800 é o tom claro de texto no escuro */
  --cor-tinta-suave:var(--navy-700);    /* idem, um degrau abaixo */
  --cor-tinta-fraca:var(--muted);       /* #a6b2c9, o mesmo tom que o escuro dá ao texto de apoio */
  --cor-linha:var(--cinza-cl);          /* no claro é o navy-200 (#d0d6e4); no escuro, o fio #2c3648 */
  --fundo-a:var(--cream);               /* o fundo da página: branco no claro, #141a26 no escuro */
  --fundo-b:var(--cream2);              /* fundo B: o sky-diluted no claro, #1b2436 no escuro */
  --fundo-c:var(--cream3);              /* fundo C: o lilac-diluted no claro, #222c3d no escuro */
  --fundo-areia:var(--terracotta-sand); /* o escuro já a redefine (#3a2416) */
  /* Acção: a terracota que o escuro já sobe de luminosidade */
  --cor-acao:var(--terracotta-500);
  --cor-acao-forte:var(--terracotta-400);  /* o 600 dava 4,1:1 sobre o fundo B; o 400 dá 7,7:1 sobre o A e 6,9:1 sobre o B */
  --cor-acao-relevo:var(--terracotta-700);
  --cor-sobre-acao:var(--cream);        /* o branco dava 2,98:1 sobre a terracota clareada; o fundo escuro (#141a26) dá 5,8:1 */
  --cor-foco:var(--sky-500);            /* o céu do escuro: 5,7:1 ou mais sobre os quatro fundos */
  /* Céu e lilás: os tons de apoio que o escuro já redefine */
  --cor-ceu:var(--sky-500);
  --cor-lilas:var(--lilac-500);
  /* Certo e errado: os verdes e vermelhos de feedback que o escuro já usa (texto claro sobre fundo escuro) */
  --cor-certo:var(--verde);
  --cor-certo-texto:var(--correct);
  --cor-certo-fundo:var(--verde-pal);
  --cor-errado:var(--vermelho);
  --cor-errado-texto:var(--wrong);
  --cor-errado-fundo:var(--vermelho-pal);
  /* Disciplinas: o mesmo papel, com o tom que o escuro já tem (o sky-600 e o sky-400 não mudam no escuro: geografia usa o sky-500, inglês o --azul-mid, mais claro) */
  --disc-matematica:var(--navy-500);
  --disc-portugues:var(--portugues);
  --disc-ciencias:var(--verde);
  --disc-fq:var(--navy-700);
  --disc-historia:var(--terracotta-700);
  --disc-geografia:var(--sky-500);
  --disc-ingles:var(--azul-mid);
}
