/* Feuille du NOYAU de rendu markdown — PARTAGÉE par l'application et la page
   de partage.

   POURQUOI CE FICHIER EXISTE
   La page de partage n'avait aucun de ces styles : même une fois le markdown
   interprété, les tableaux seraient sortis sans bordures et les blocs de code
   sans cadre. La dupliquer aurait fait deux feuilles à tenir, dont une seule
   regardée.

   CHARGEMENT : à la FIN du document, après le script de la page. Un `<link>`
   placé avant bloque l'exécution du script qui le suit — même panne que celle
   que la décision 0011 a supprimée pour les bibliothèques : une requête qui
   PEND, et la page reste blanche. Rien ici n'est nécessaire avant le premier
   message affiché.

   CE QUI N'EST PAS ICI : les encarts du Duo (`duofold`, `duotr`, `dbtgrid`) et
   l'habillage de la bulle. Ils restent dans index.html — la page de partage
   n'a pas ces éléments.

   Les couleurs viennent des variables `--bg`, `--panel`, `--line`, `--fg`,
   `--muted`, `--accent`, que les DEUX pages définissent sur `:root`. */

.mdbody>*:first-child{margin-top:0}
.mdbody>*:last-child{margin-bottom:0}
.mdbody p{margin:.5em 0;white-space:pre-wrap;overflow-wrap:anywhere}
.mdbody h1,.mdbody h2,.mdbody h3,.mdbody h4{margin:.7em 0 .35em;line-height:1.25;font-weight:600}
.mdbody h1{font-size:1.3em}.mdbody h2{font-size:1.18em}.mdbody h3{font-size:1.07em}.mdbody h4{font-size:1em}
.mdbody ul,.mdbody ol{margin:.4em 0;padding-left:1.4em}
.mdbody li{margin:.15em 0}
/* Liste « lâche » (éléments séparés par une ligne blanche) : l'analyseur place
   alors un paragraphe DANS chaque élément. Sans cela, la marge des paragraphes
   s'ajouterait et la liste s'aérerait toute seule. */
.mdbody li>p{margin:.15em 0}
.mdbody a{color:var(--accent);text-decoration:underline;overflow-wrap:anywhere}
.mdbody code.ic{background:rgba(127,127,127,.22);border-radius:4px;padding:.1em .35em;font-size:.9em;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace}
.mdbody .cbwrap{margin:.5em 0;border:1px solid var(--line);border-radius:8px;overflow:hidden;background:var(--bg);max-width:100%}
.mdbody .cbhead{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:3px 4px 3px 10px;background:var(--panel);border-bottom:1px solid var(--line)}
.mdbody .cblang{font-size:10px;color:var(--muted);letter-spacing:.03em;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.cbcopy{flex:0 0 auto;display:inline-flex;align-items:center;gap:5px;background:transparent;border:0;color:var(--muted);cursor:pointer;padding:3px 7px;border-radius:5px;font-size:11px;line-height:0}
.cbcopy .cblabel{line-height:1}
.cbcopy:hover{background:rgba(127,127,127,.18);color:var(--fg)}
.cbcopy.ok{color:#22c55e}
.mdbody pre.cb{margin:0;padding:10px 12px;overflow-x:auto;background:transparent;border:0;border-radius:0}
.mdbody pre.cb code{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:12.5px;line-height:1.5;white-space:pre}
/* Image à la demande : rien n'est chargé avant le clic. Le nom du serveur est
   affiché AVANT, pour que la décision soit informée. */
.mdbody .imgload{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin:.5em 0;padding:8px 10px;border:1px solid var(--line);border-radius:8px;background:var(--bg);max-width:100%}
.mdbody .imgload-btn{display:inline-flex;align-items:center;gap:6px;background:var(--panel);border:1px solid var(--line);color:var(--fg);cursor:pointer;padding:6px 10px;border-radius:7px;font-size:13px;font-weight:600;white-space:nowrap}
.mdbody .imgload-btn:hover{border-color:var(--muted)}
.mdbody .imgload-src{font-size:11.5px;color:var(--muted);overflow-wrap:anywhere}
.mdbody .imgload-leg{font-size:12.5px;overflow-wrap:anywhere}
.mdbody img.mdimg{display:block;max-width:100%;height:auto;margin:.5em 0;border:1px solid var(--line);border-radius:8px}
.mdbody .imgload-ko{display:inline-block;margin:.5em 0;font-size:12.5px;color:var(--muted);overflow-wrap:anywhere}
.mdbody blockquote{margin:.5em 0;padding:.1em .9em;border-left:3px solid var(--line);color:var(--muted)}
.mdbody hr{border:0;border-top:1px solid var(--line);margin:.8em 0}
/* Tableaux. Aucun style n'existait avant : l'ancien moteur ne les rendait pas.
   Le débordement horizontal est CONTENU dans l'enveloppe — un tableau à douze
   colonnes ne doit pas élargir toute la conversation. */
.mdbody .tbwrap{margin:.5em 0;max-width:100%;border:1px solid var(--line);border-radius:8px;overflow:hidden;background:var(--bg)}
/* Le défilement est porté par l'intérieur, pas par l'enveloppe : sinon l'en-tête
   et son bouton de copie défileraient avec le tableau. */
.mdbody .tbscroll{max-width:100%;overflow-x:auto}
.mdbody .tbwrap table{border-collapse:collapse;min-width:100%;font-size:.95em}
.mdbody .tbwrap th,.mdbody .tbwrap td{padding:6px 10px;text-align:left;vertical-align:top;border-bottom:1px solid var(--line)}
.mdbody .tbwrap thead th{background:var(--panel);font-weight:600;white-space:nowrap}
.mdbody .tbwrap tbody tr:last-child td{border-bottom:0}
