/* jw-code-highlight.css — coloration syntaxique JulienWeb.
   GÉNÉRÉ par ops/scripts/build_prism_bundle.js — ne pas éditer à la main.

   Règles .token.* SEULES : aucun background, padding, margin, font ni
   border-radius. Le fond sombre et l'espacement restent la propriété du CSS
   inline de chaque article (.ks-code, .cv-code, .sk-code, .sm-code, .cf-code).
   Palette : violet #5A4095 · bleu #1E91D4 · jaune #F5FF00. */

pre[class*="language-"] code,
code[class*="language-"] {
  color: inherit;
  background: none;
  text-shadow: none;
  font-family: inherit;
  font-size: inherit;
  line-height: inherit;
  white-space: inherit;
  padding: 0;
  display: block;
}

/* Neutre / structure */
pre[class*="language-"] .token.comment,
pre[class*="language-"] .token.prolog,
pre[class*="language-"] .token.doctype,
pre[class*="language-"] .token.cdata { color: #7f78a0; font-style: italic; }
pre[class*="language-"] .token.punctuation { color: #9a94b8; }
pre[class*="language-"] .token.namespace { opacity: .75; }

/* Jaune JW — ce qui commande : mots-clés et directives Apache */
pre[class*="language-"] .token.keyword,
pre[class*="language-"] .token.important,
pre[class*="language-"] .token.directive,
pre[class*="language-"] .token.atrule { color: #F5FF00; }

/* Bleu JW — appels, opérateurs, variables */
pre[class*="language-"] .token.function,
pre[class*="language-"] .token.class-name,
pre[class*="language-"] .token.operator,
pre[class*="language-"] .token.variable,
pre[class*="language-"] .token.entity,
pre[class*="language-"] .token.url,
pre[class*="language-"] .token.directive-flags { color: #6FC3F0; }

/* Violet clair — valeurs textuelles */
pre[class*="language-"] .token.string,
pre[class*="language-"] .token.char,
pre[class*="language-"] .token.attr-value,
pre[class*="language-"] .token.builtin,
pre[class*="language-"] .token.selector,
pre[class*="language-"] .token.inserted { color: #C9B6FF; }

/* Ambre — littéraux */
pre[class*="language-"] .token.number,
pre[class*="language-"] .token.boolean,
pre[class*="language-"] .token.constant,
pre[class*="language-"] .token.regex { color: #FFC46B; }

/* Corail — balises, propriétés, suppressions */
pre[class*="language-"] .token.tag,
pre[class*="language-"] .token.property,
pre[class*="language-"] .token.symbol,
pre[class*="language-"] .token.attr-name,
pre[class*="language-"] .token.deleted { color: #FF8A7A; }

/* Apache — rattrapage de charte. Dans la grammaire Prism, directive-inline porte
   l'alias "property" : RewriteEngine, RewriteCond & co tombaient donc dans le
   corail des balises. Or dans un .htaccess la directive EST la clé de lecture →
   jaune JW. Règle placée après le bloc corail à spécificité égale : c'est
   l'ordre source qui tranche.
   Les blocs <IfModule>…</IfModule> portent eux l'alias "tag" et RESTENT corail :
   la distinction section / directive est voulue, vérifiée en recette 30/07/2026. */
pre[class*="language-"] .token.directive-inline { color: #F5FF00; }

pre[class*="language-"] .token.bold { font-weight: 700; }
pre[class*="language-"] .token.italic { font-style: italic; }

/* Fond clair : le contraste des tokens doit rester lisible si un bloc de code
   se retrouve un jour sur clair (aucun cas aujourd'hui, filet de sécurité). */
@media (prefers-color-scheme: light) {
  pre[class*="language-"]:not([style*="background"]) .token.keyword,
  pre[class*="language-"]:not([style*="background"]) .token.important { color: #5A4095; }
}
