/* « Pourquoi ? » du simulateur : explication d'une ligne (trace du moteur). Badges de niveau : .assistant-niveau-* (assistant.css). */
.explication-bouton { display: inline-flex; align-items: center; justify-content: center; width: 40px; height: 40px; border-radius: 6px;
    font: 700 14px Montserrat, sans-serif; color: #4b5563; }
.explication-bouton.petit { width: 24px; height: 24px; font-size: 12px; vertical-align: middle; }
.explication-bouton:hover, .explication-bouton[aria-expanded="true"] { background: #e0f7fb; color: #1A365D; }
.explication-bouton:focus-visible, .explication-lien:focus-visible { outline: 2px solid #00C8FF; outline-offset: 2px; }
.explication-ligne > td { padding: 0 1rem .75rem 2.5rem; background: #f8fafc; }
.explication-zone { font-size: 12px; color: #374151; padding-top: .5rem; }
.explication-formule { font: 500 11px ui-monospace, SFMono-Regular, Menlo, monospace; color: #1f2937; overflow-wrap: anywhere;
    padding-bottom: .375rem; border-bottom: 1px solid #e5e7eb; margin-bottom: .25rem; }
.explication-erreur { color: #b91c1c; margin-bottom: .25rem; }
.explication-elements { list-style: none; margin: 0; padding: 0; }
.explication-element { display: grid; grid-template-columns: 1rem minmax(0, 1fr) auto 7rem; align-items: center; gap: .5rem; padding: .25rem 0; }
.explication-element.imbrique { padding-left: 1.5rem; color: #4b5563; }
.explication-element > .explication-elements, .explication-element > .explication-zone { grid-column: 1 / -1; }
.explication-marque { text-align: center; color: #6b7280; font-weight: 700; }
.explication-code { font: 500 12px ui-monospace, SFMono-Regular, Menlo, monospace; overflow-wrap: anywhere; }
.explication-lien { color: #1d4ed8; text-decoration: underline; font: inherit; }
.explication-source { color: #1d4ed8; margin-left: .25rem; text-decoration: none; }
.explication-libelle { font: 400 11px Montserrat, sans-serif; color: #6b7280; margin-left: .5rem; }
.explication-valeur { font: 500 12px ui-monospace, monospace; font-variant-numeric: tabular-nums; text-align: right; }
.explication-element > .explication-zone { margin: .25rem 0 .25rem 1.5rem; padding-left: .75rem; border-left: 2px solid #b3ecf7; }
/* Onglets de l'écran du plan résolu */
.onglet-resolu { padding: .5rem .875rem; font-size: 13px; font-weight: 600; color: #4b5563; border-bottom: 2px solid transparent; margin-bottom: -1px; }
.onglet-resolu[aria-selected="true"] { color: #1A365D; border-bottom-color: #00C8FF; }
.onglet-resolu:focus-visible { outline: 2px solid #00C8FF; outline-offset: 2px; }
