
@font-face { font-family: Atkinson; src: url(AtkinsonHyperlegible-Regular.ttf); }
@font-face { font-family: Atkinson; font-weight: bold; src: url(AtkinsonHyperlegible-Bold.ttf); }
/* Las cifras, en una letra sin cero tachado: el «0» con barra de Atkinson se confunde con el conjunto vacío. */
@font-face { font-family: Atkinson; src: local("Helvetica Neue"), local("HelveticaNeue"), local("Arial"), local("Roboto"),
             local("Noto Sans"); unicode-range: U+0030-0039; }
@font-face { font-family: Atkinson; font-weight: bold; src: local("Helvetica Neue Bold"), local("HelveticaNeue-Bold"),
             local("Arial Bold"), local("Roboto Bold"), local("Noto Sans Bold"); unicode-range: U+0030-0039; }
:root { --fondo: #fbfaf6; --tinta: #1a2a44; --suave: #5b6576; --acento: #9a6700; --pizarra: #1a2a44;
        --tiza: #f2f1ea; --amarillo: #f7d774; --borde: #e3e0d6; }
@media (prefers-color-scheme: dark) { :root:not([data-tema="claro"]) { --fondo: #111a2b; --tinta: #f2f1ea;
        --suave: #aab3c2; --acento: #f7d774; --borde: #2a3a58; } }
* { box-sizing: border-box; }
body { margin: 0; background: var(--fondo); color: var(--tinta); font: 18px/1.6 Atkinson, system-ui, sans-serif; }
main { max-width: 820px; margin: 0 auto; padding: 24px 16px 64px; }
header.cabeza { background: var(--pizarra); color: var(--tiza); }
header.cabeza .dentro { max-width: 820px; margin: 0 auto; padding: 20px 16px; display: flex; gap: 16px; align-items: center; }
header.cabeza img { width: 56px; height: 56px; }
header.cabeza a { color: var(--tiza); text-decoration: none; }
header.cabeza .marca { font-weight: bold; font-size: 22px; }
header.cabeza .lema { color: var(--amarillo); font-size: 15px; }
.miga { color: var(--suave); font-size: 15px; margin-top: 8px; }
h1 { font-size: 34px; line-height: 1.2; margin: 8px 0 4px; }
h2 { font-size: 24px; margin-top: 40px; border-bottom: 2px solid var(--borde); padding-bottom: 4px; }
.botones { display: flex; flex-wrap: wrap; gap: 10px; margin: 18px 0 8px; }
.enlaces { display: flex; gap: 16px; align-items: center; margin: 14px 0 4px; padding: 10px 14px; border: 1px solid var(--borde);
           border-radius: 8px; font-size: 14px; } .enlaces svg { flex: none; } .enlaces a { color: var(--tinta); }
.boton { display: inline-block; padding: 10px 16px; border-radius: 8px; background: var(--pizarra); color: var(--tiza);
         text-decoration: none; font-weight: bold; border: 2px solid var(--pizarra); }
.boton.claro { background: transparent; color: var(--tinta); border-color: var(--borde); }
figure { margin: 24px 0; }
figure img { width: 100%; height: auto; border-radius: 10px; display: block; }
figcaption { color: var(--suave); font-size: 15px; margin-top: 6px; }
table { border-collapse: collapse; width: 100%; font-size: 16px; display: block; overflow-x: auto; }
th, td { border: 1px solid var(--borde); padding: 8px 10px; vertical-align: top; text-align: left; }
th { background: rgba(26, 42, 68, 0.06); }
a { color: var(--acento); }
/* Un enlace larguísimo sin espacios (un fichero de Wikimedia Commons) ensanchaba la página y Chrome encogía toda la
   ficha al imprimirla: en Filosofía 1 la letra salió más pequeña que en las demás. Se parte donde haga falta. */
main { overflow-wrap: break-word; } li a, p a { overflow-wrap: anywhere; }
/* «anywhere» y no «break-all»: sólo parte lo que no cabe, y «Cuéntanoslo» ya no sale partido en «Cuéntano slo». */
.pie { color: var(--suave); font-size: 14px; margin-top: 48px; border-top: 1px solid var(--borde); padding-top: 12px; }
.nombre { font-size: 17px; margin: 18px 0 8px; }
.hoja li { break-inside: avoid; padding-bottom: 64px; margin-bottom: 0; } .hoja table td { height: 34px; }
.idioma { float: right; font-size: 15px; }
@media print {
  :root { --fondo: #ffffff; --tinta: #1a2a44; --suave: #4b5563; --acento: #1a2a44; --borde: #cfcac0; }
  body { font-size: 11pt; } main { max-width: none; padding: 0; }
  header.cabeza { -webkit-print-color-adjust: exact; print-color-adjust: exact; }
  .botones { display: none; } h2 { break-after: avoid; } figure, tr { break-inside: avoid; }
  a { color: inherit; text-decoration: none; }
  @page { size: A4; margin: 16mm 14mm; }
}
