errserve 0.6.0

Servidor de páginas de error para Traefik que devuelve el código de error real
/* Hoja del tema `compact`.
 *
 * Es la hoja de la página de error: una sola página sirve cualquier código, y
 * su código, su razón y su descripción los rellena el servidor al servir. El
 * servidor la incrusta en el HTML al servir, sustituyendo el `<link>` de la
 * página por un bloque de estilo con estas reglas, así que no puede referenciar
 * recursos externos: nada de hojas importadas ni de ficheros remotos.
 * Si animase, tendría que declarar `prefers-reduced-motion`.
 *
 * Pensada para móvil y para la terminal: todo lo corto posible. El título y el
 * subtítulo van en línea para que la cabecera se lea de un golpe —«503 Service
 * Unavailable»—. El marcado lleva la clase `c<código>` en el `body`, pero este
 * tema no la usa.
 */

:root {
  color-scheme: light dark;
  --fg: #1f2328;
  --bg: #ffffff;
  --muted: #59636e;
  --rule: #d1d9e0;
}

@media (prefers-color-scheme: dark) {
  :root {
    --fg: #e6edf3;
    --bg: #0d1117;
    --muted: #9198a1;
    --rule: #30363d;
  }
}

* {
  box-sizing: border-box;
}

/* Sin `flex`: si el `body` fuese una caja flexible, sus hijos se bloquearían y
 * el `display: inline` del título y el subtítulo no tendría efecto. */
body {
  margin: 0 auto;
  padding: 1rem;
  max-width: 34rem;
  font-family: system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;
  font-size: 0.95rem;
  line-height: 1.4;
  color: var(--fg);
  background: var(--bg);
}

h1 {
  display: inline;
  margin: 0;
  font-size: 1.15rem;
  font-weight: 700;
  color: var(--fg);
}

h2 {
  display: inline;
  margin: 0;
  font-size: 1.15rem;
  font-weight: 400;
  color: var(--muted);
}

hr {
  width: 100%;
  margin: 0;
  border: 0;
  border-top: 1px solid var(--rule);
}

p {
  margin: 0;
  max-width: 34rem;
  color: var(--muted);
}