:root {
  --fond: #0e0f19;
  --carte: #1c1d2b;
  --texte: #f2f2f7;
  --doux: #a4a5b8;
  --accent: #8d7aff;
  --indigo: #3446d2;
  --violet: #6b29ad;
}
* { box-sizing: border-box; }
html { background: var(--fond); }
body {
  margin: 0;
  background: var(--fond);
  color: var(--texte);
  font: 17px/1.55 -apple-system, BlinkMacSystemFont, "SF Pro Text", "Helvetica Neue", Arial, sans-serif;
  -webkit-font-smoothing: antialiased;
}
main { max-width: 640px; margin: 0 auto; padding: 56px 20px 72px; }
a { color: var(--accent); text-decoration: none; }
a:hover { text-decoration: underline; }
.entete { display: flex; align-items: center; gap: 16px; margin-bottom: 36px; }
.entete img { width: 64px; height: 64px; border-radius: 15px; box-shadow: 0 8px 28px rgba(107, 41, 173, .45); }
.entete .nom { font-size: 22px; font-weight: 800; letter-spacing: -0.02em; }
.entete .nom span { color: #16142a; background: #fff; border-radius: 6px; padding: 0 5px; margin-left: 1px; }
h1 { font-size: 34px; line-height: 1.15; letter-spacing: -0.025em; margin: 0 0 10px; }
h2 { font-size: 19px; margin: 34px 0 6px; letter-spacing: -0.01em; }
p { margin: 0 0 12px; color: var(--doux); }
p.fort, p strong { color: var(--texte); }
.date { font-size: 14px; margin-bottom: 26px; }
.carte { background: var(--carte); border-radius: 18px; padding: 20px 22px; margin: 26px 0; }
.carte p:last-child { margin-bottom: 0; }
.mot { color: #16142a; background: #fff; border-radius: 7px; padding: 0 6px; }
.pied { margin-top: 48px; font-size: 14px; color: var(--doux); }
