:root {
  --texto: #1d1d1f;
  --fondo: #ffffff;
  --suave: #5f6368;
  --borde: #d9d9de;
  --enlace: #0b57d0;
  --aviso: #fff4ce;
  --mock: #fde2e1;
}
@media (prefers-color-scheme: dark) {
  :root {
    --texto: #e8e8ea;
    --fondo: #16171a;
    --suave: #a8abb2;
    --borde: #3a3c42;
    --enlace: #8ab4f8;
    --aviso: #3b3417;
    --mock: #47201f;
  }
}
* { box-sizing: border-box; }
body {
  margin: 0 auto;
  max-width: 46rem;
  padding: 1rem;
  font: 1.05rem/1.6 system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;
  color: var(--texto);
  background: var(--fondo);
}
a { color: var(--enlace); }
h1 { font-size: 1.7rem; line-height: 1.25; }
h2 { font-size: 1.25rem; margin-top: 2rem; }
nav { font-size: 0.9rem; color: var(--suave); }
.revision, .aviso { color: var(--suave); font-size: 0.9rem; }
.resumen, .promesa { font-size: 1.1rem; }
table { width: 100%; border-collapse: collapse; display: block; overflow-x: auto; }
th, td { border: 1px solid var(--borde); padding: 0.4rem 0.6rem; text-align: left; vertical-align: top; }
dt { font-weight: 600; margin-top: 1rem; }
dd { margin: 0.3rem 0 0 0; }
.fuentes { font-size: 0.9rem; }
.mock, .borrador { background: var(--mock); padding: 0.6rem 0.8rem; font-weight: 600; }
.borrador { background: var(--aviso); }
footer { margin-top: 3rem; border-top: 1px solid var(--borde); padding-top: 1rem; }
