/* ---------- fiches de révision ---------- */
.fiches { max-width: 1080px; margin: 0 auto; padding: 4px 20px 90px; }
.fiches-head { margin: 6px 0 22px; }
.fiches-head h1 { font-size: 1.9rem; margin: 6px 0 8px; }
.fiches-head > p { color: var(--ink-soft); margin: 0 0 16px; max-width: 62ch; }
.fiches-actions { display: flex; gap: 10px; flex-wrap: wrap; }
.concepts-actions { margin-top: 4px; }

/* Deux colonnes à l'écran quand la place le permet : une fiche se parcourt,
   elle ne se lit pas en continu. `break-inside` évite qu'une fiche soit
   coupée en deux, à l'écran comme au moment de l'impression. */
.fiches-corps { columns: 2; column-gap: 26px; }
@media (max-width: 860px) { .fiches-corps { columns: 1; } }
.fiche {
  break-inside: avoid; -webkit-column-break-inside: avoid; page-break-inside: avoid;
  display: inline-block; width: 100%; box-sizing: border-box;
  background: var(--surface); border: 1px solid var(--border); border-radius: 14px;
  padding: 18px 20px; margin: 0 0 22px; box-shadow: var(--shadow);
}
.fiche h2 { font-size: 1.15rem; margin: 0 0 6px; }
.fiche h3 {
  font-family: "IBM Plex Mono", monospace; font-size: .7rem; letter-spacing: .12em;
  text-transform: uppercase; color: var(--ink-soft); margin: 16px 0 6px;
}
.fiche-resume { margin: 0 0 10px; color: var(--ink-soft); font-size: .88rem; }
.fiche-intro, .fiche-cours { font-size: .87rem; line-height: 1.6; }
.fiche-intro p, .fiche-cours p { margin: 0 0 8px; }
.fiche code {
  background: var(--surface-2); border-radius: 5px; padding: 1px 5px; font-size: .84em;
}
.fiche-syntaxe {
  background: var(--term-bg); color: var(--term-ink); border-radius: 9px;
  padding: 11px 13px; margin: 0; font-family: "IBM Plex Mono", monospace;
  font-size: .76rem; line-height: 1.55; white-space: pre-wrap; word-break: break-word;
}
