/* Les marques du texte que plusieurs formes partagent : repères dans le code, touches et
   enchaînements, verdicts et rangs, définitions, bandeau de bloc. Le style d'une forme
   entière vit dans son module de blocks/ (`style:`). Tout en jetons, aucune couleur propre. */

/* ─────────────── les lignes repérées d'un bloc ─────────────── */
pre.marked .l{display:block;position:relative}
pre.marked .l.mk{background:color-mix(in srgb,var(--amber) 18%,transparent);
  box-shadow:inset 3px 0 0 var(--amber)}
pre.marked:has(.mk) .l:not(.mk){opacity:.62}
pre.marked:has(.mk):hover .l{opacity:1}
pre.marked .l[data-callout]::after{content:attr(data-callout);display:inline-flex;align-items:center;
  justify-content:center;min-width:1.45em;height:1.45em;margin-left:10px;border-radius:50%;
  background:var(--blue);color:var(--bg);font-family:var(--sans);font-size:max(.75em,var(--fs-floor));
  font-weight:700;vertical-align:middle}
.path{display:inline-flex;align-items:center;gap:6px;color:var(--fg2);font-size:max(.85em,var(--fs-floor))}
.path code{background:transparent;border:none;padding:0;color:var(--fg)}

/* ─────────────── touches, enchaînements, verdicts, rangs ─────────────── */
.chain{display:inline-flex;flex-wrap:wrap;align-items:center;gap:4px;vertical-align:baseline}
.chain-a{font-style:normal;color:var(--fg3)}
.verdict,.rank{display:inline-block;padding:0 8px;border-radius:999px;font-weight:600;
  font-size:max(.88em,var(--fs-floor));line-height:1.6;border:1px solid transparent;white-space:nowrap}
.verdict.good{color:var(--green);background:color-mix(in srgb,var(--green) 12%,transparent);
  border-color:color-mix(in srgb,var(--green) 35%,transparent)}
.verdict.bad{color:var(--red);background:color-mix(in srgb,var(--red) 12%,transparent);
  border-color:color-mix(in srgb,var(--red) 35%,transparent)}
.verdict.even{color:var(--amber);background:color-mix(in srgb,var(--amber) 12%,transparent);
  border-color:color-mix(in srgb,var(--amber) 35%,transparent)}
.verdict.good::before{content:"✓ "}
.verdict.bad::before{content:"✗ "}
.verdict.even::before{content:"≈ "}
.rank{min-width:1.9em;text-align:center;font-family:var(--mono);color:var(--bg)}
.rank.r-s{background:var(--purple)}
.rank.r-a{background:var(--green)}
.rank.r-b{background:var(--blue)}
.rank.r-c{background:var(--amber)}
.rank.r-d,.rank.r-e,.rank.r-f{background:var(--red)}

/* ─────────────── définitions ─────────────── */
.terms{margin:18px 0;display:grid;grid-template-columns:minmax(120px,max-content) 1fr;gap:8px 18px}
.terms dt{font-weight:700;color:var(--blue2);grid-column:1}
.terms dd{margin:0;grid-column:2;color:var(--fg2)}
.terms dd + dd{margin-top:-4px}
@media(max-width:640px){.terms{grid-template-columns:1fr;gap:2px}.terms dd{grid-column:1;margin-bottom:8px}}

/* LE BANDEAU D'UN BLOC, UNE SEULE FOIS. Sept classes déclaraient la même
   chose à trois pixels près — .dc-h .tl-h .fx-h .st-h .rc-h .mu-h — et
   « .blk-h », le titre que TOUTE forme accepte maintenant, en aurait fait une
   huitième. Les voici ensemble. */
.blk-h,.dc-h,.tl-h,.fx-h,.st-h,.rc-h,.mu-h{font-weight:700;margin-bottom:10px}
.blk-h{margin-top:22px}

/* ─────────────── sections numérotées ─────────────── */
.sec-n{display:inline-flex;align-items:center;justify-content:center;min-width:1.6em;height:1.6em;margin-right:.35em;
  padding:0 .35em;border-radius:8px;background:var(--blue);color:var(--bg);font-size:.8em;vertical-align:.12em}

@media print{
  pre.marked:has(.mk) .l:not(.mk){opacity:1}
}