
:root{
  --nuit:#0b0d12;--basalte:#12151c;--acier:#1a1e28;--fer:#262c39;
  --brume:#8b93a3;--cendre:#a7afbd;--givre:#cdd5e0;--blanc:#eef2f7;
  --glace-300:#a9d6f1;--glace-400:#7fc1ea;--glace-500:#5aa9dc;
  --f-display:"Instrument Serif",Georgia,"Times New Roman",serif;
  --f-sans:"IBM Plex Sans",ui-sans-serif,system-ui,-apple-system,sans-serif;
  --f-mono:"IBM Plex Mono",ui-monospace,Menlo,Consolas,monospace;
  /* La meme gouttiere que la page d accueil : les deux pages partagent leur
     en-tete, un ecart de marge se verrait au passage de l une a l autre. */
  --gouttiere:clamp(20px,4vw,32px);
}
*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth}
body{background:var(--nuit);color:var(--givre);font-family:var(--f-sans);
  font-size:15px;line-height:1.65;-webkit-font-smoothing:antialiased;overflow-x:clip}
body::before{content:"";position:fixed;inset:0;z-index:-2;
  background:url(/img/voile.webp) center/cover no-repeat;opacity:.18;filter:saturate(.85)}
body::after{content:"";position:fixed;inset:0;z-index:-1;
  background:radial-gradient(120% 80% at 50% 0%,rgba(11,13,18,.6),var(--nuit) 70%)}
a{color:inherit;text-decoration:none}
:focus-visible{outline:2px solid var(--glace-400);outline-offset:3px;border-radius:4px}
/* padding-inline et non le raccourci padding : « footer » porte aussi la classe
   « wrap », et un raccourci qui remet les quatre cotes a zero l emporterait sur
   la regle de « footer », qui perdrait toute sa marge haute et basse. Deux
   longhands sur des axes differents ne peuvent plus se marcher dessus. */
.wrap{max-width:820px;margin-inline:auto;padding-inline:var(--gouttiere)}
header{position:sticky;top:0;z-index:20;backdrop-filter:blur(14px);
  background:rgba(7,9,13,.72);border-bottom:1px solid rgba(38,44,57,.7)}
.bar{display:flex;align-items:center;gap:20px;height:62px;
  max-width:1120px;margin-inline:auto;padding-inline:var(--gouttiere)}
.mark{font-family:var(--f-display);font-size:25px;letter-spacing:.14em;color:var(--blanc)}
nav{display:flex;align-items:center;gap:4px;flex-wrap:wrap;margin-left:auto}
nav a{padding:7px 12px;border-radius:7px;color:var(--cendre);font-size:14px}
nav a:hover{color:var(--blanc);background:var(--acier)}
nav a.actif{color:var(--blanc)}
nav a.boutique{border:1px solid var(--fer);color:var(--givre)}
main{padding-block:68px 90px}
h1{font-family:var(--f-display);font-weight:400;letter-spacing:.02em;
  font-size:clamp(38px,6.5vw,62px);line-height:1.04;color:var(--blanc);text-wrap:balance}
.chapeau{margin-top:14px;color:var(--cendre);max-width:60ch}
.retour{display:inline-block;margin-bottom:22px;font-size:14px;color:var(--brume)}
.retour:hover{color:var(--glace-300)}

/* liste des versions */
.versions{display:grid;gap:12px;margin-top:44px}
.v{display:flex;align-items:baseline;gap:16px;flex-wrap:wrap;
  padding:20px 24px;border-radius:13px;
  background:rgba(18,21,28,.7);border:1px solid rgba(38,44,57,.85);
  transition:border-color .18s,transform .18s}
.v:hover{border-color:var(--fer);transform:translateY(-2px)}
.v .num{font-family:var(--f-mono);font-size:17px;color:var(--blanc)}
.v .quoi{color:var(--givre);flex:1;min-width:180px}
.v .quand{color:var(--brume);font-size:13.5px;font-variant-numeric:tabular-nums}
.vide{margin-top:44px;color:var(--brume);font-style:italic}

/* une version */
.meta{margin-top:12px;color:var(--brume);font-size:14px}
.cat{margin-top:52px}
.cat h2{display:flex;align-items:center;gap:11px;font-size:15px;font-weight:600;
  letter-spacing:.08em;text-transform:uppercase;color:var(--blanc);
  padding-bottom:12px;border-bottom:1px solid rgba(38,44,57,.9)}
.cat h2 .pic{width:26px;height:26px;flex:0 0 26px;border-radius:7px;
  display:grid;place-items:center;font-size:14px}
article{padding:24px 0;border-bottom:1px solid rgba(38,44,57,.45)}
article:last-child{border-bottom:none}
article:target{background:rgba(90,169,220,.07);border-radius:11px;
  padding-left:18px;padding-right:18px;margin-left:-18px;margin-right:-18px}
article h3{font-size:16.5px;font-weight:600;color:var(--blanc);
  display:flex;align-items:baseline;gap:11px;flex-wrap:wrap}
article h3 .no{font-family:var(--f-mono);font-size:12.5px;color:var(--brume);
  border:1px solid var(--fer);border-radius:5px;padding:1px 7px}
article h3 .no:hover{color:var(--glace-300);border-color:var(--glace-500)}
article p{margin-top:10px;color:var(--cendre)}
footer{border-top:1px solid rgba(38,44,57,.7);padding-block:34px 52px;
  color:var(--brume);font-size:13.5px}
.liens{display:flex;gap:18px;flex-wrap:wrap;margin-bottom:12px}
.liens a{color:var(--cendre)}
.liens a:hover{color:var(--blanc)}
.grain{position:fixed;inset:0;z-index:0;pointer-events:none;opacity:.035;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='180' height='180'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.75' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E")}
header,main,footer{position:relative;z-index:1}
.reveal{opacity:0;transform:translateY(14px);
  transition:opacity .7s cubic-bezier(.2,.7,.2,1),transform .7s cubic-bezier(.2,.7,.2,1)}
.reveal.vu{opacity:1;transform:none}
@media (prefers-reduced-motion:reduce){.reveal{opacity:1;transform:none;transition:none}}
@media (max-width:640px){main{padding-block:44px 64px}nav a:not(.boutique){display:none}}
@media (max-width:400px){.bar{gap:12px}article{padding:18px 0}}
