/* =========================================================================
   Feuille d'impression — ce qui reste d'une page quand on la met sur papier.

   Sur papier, la navigation ne sert à rien : on ne clique pas une frise
   imprimée. Ce qui doit rester, c'est le texte, sa date, et la référence
   qui permet de le citer.
   ========================================================================= */

/* Les couleurs d'abord, et par les jetons plutôt qu'une à une.

   La page se rend dans le thème du lecteur : en thème sombre, --encre vaut
   crème, et le titre s'imprimait blanc sur blanc. Redéfinir les jetons corrige
   d'un coup les vingt déclarations qui s'en servent. L'importance est ici à sa
   place : elle doit l'emporter sur `:root[data-theme="dark"]`, de spécificité
   supérieure à un simple `:root`. */
:root {
  --encre:    #000 !important;
  --papier:   #fff !important;
  --patine:   #333 !important;
  --trait:    #999 !important;
  --sourdine: #555 !important;
}

/* Tout ce qui n'existe que pour naviguer disparaît. */
header,
.frise,
.index-articles {
  display: none;
}

/* Le texte reprend toute la page. La grille de lecture n'a plus lieu d'être :
   sa colonne d'index a disparu. */
.lecture {
  display: block;
  max-width: none;
  margin: 0;
}

.lecture > main,
main {
  max-width: none;
  margin: 0;
  padding: 0;
}

/* En points plutôt qu'en pixels : le point est l'unité du papier. */
body {
  background: #fff;
  color: #000;
  font-family: Georgia, 'Times New Roman', serif;
  font-size: 10.5pt;
  line-height: 1.45;
}

h1 { font-size: 16pt; margin: 0 0 8pt; }
h2 { font-size: 11pt; margin: 12pt 0 3pt; }
main p { font-size: 10.5pt; max-width: none; margin: 0 0 5pt; }

/* La colonne de marge ne tient pas sur une page A4 : les numéros d'article
   et d'alinéa reviennent dans le fil du texte. */
.colonne-marge { padding-left: 0; }
.colonne-marge h1 { margin-left: 0; }
/* Sur écran étroit — et une page A4 en est une — le titre d'article porte un
   filet et près de 3 rem de marge haute. Sur papier, cela creuse des blancs
   entre chaque article et gaspille les feuilles. */
.colonne-marge h2 {
  position: static;
  width: auto;
  text-align: left;
  border-top: none;
  padding-top: 0;
  margin: 10pt 0 2pt;
}

.colonne-marge p[data-paragraphe]::before,
.colonne-marge p[data-alinea]::after {
  position: static;
  width: auto;
  text-align: left;
  font-size: 8.5pt;
  color: #555;
}
.colonne-marge p[data-paragraphe]::before { content: "§ " attr(data-paragraphe) " — "; }
.colonne-marge p[data-alinea]::after { content: " [" attr(data-alinea) "]"; }

/* La marque de provenance reste : elle date le texte imprimé. */
.provenance { color: #555; font-size: 8.5pt; margin: 0 0 4pt; }
.provenance a { color: #555; text-decoration: none; border: none; }

/* Un lien externe imprimé doit porter son adresse ; une ancre interne, non —
   « (#art-195) » sur une feuille de papier ne mène nulle part. */
a[href^="http"]::after {
  content: " (" attr(href) ")";
  font-size: 8.5pt;
  color: #555;
}
a[href^="#"]::after,
.provenance a::after,
.citation a::after { content: none; }

a { color: #000; text-decoration: none; }

/* La citation est précisément ce qu'on veut retrouver sur une copie papier. */
.citation {
  display: block;
  margin-top: 14pt;
  padding-top: 6pt;
  border-top: 0.5pt solid #999;
  font-size: 8.5pt;
  color: #333;
  break-inside: avoid;
}
.citation h2 { font-size: 8.5pt; margin: 0 0 2pt; text-transform: uppercase; letter-spacing: 0.05em; }
.citation p { margin: 0 0 2pt; }

/* Le titre de la version se répète en haut de chaque page. */
@page {
  margin: 18mm 16mm;
}

/* Aucun article coupé au milieu si l'on peut l'éviter. */
h2 { break-after: avoid; }
p  { break-inside: avoid; }
