


.av-scene { margin: var(--space-2) 0 0; width: 100%; }
.av-scene > svg { display: block; width: 100%; height: auto; overflow: visible; }
.av-scene figcaption {
  margin-top: var(--space-3);
  font: 400 var(--fs-400)/1.35 var(--font-editorial);
  color: var(--ink);
}


.av-papier { fill: var(--paper-bright); stroke: var(--data-cool); stroke-width: 2; }
.av-pli { fill: var(--surface-tint); stroke: var(--data-cool); stroke-width: 2; stroke-linejoin: round; }
.av-fiche { fill: var(--paper-bright); stroke: var(--brand-primary); stroke-width: 3; }
.av-bac { fill: var(--surface-tint); stroke: var(--data-cool); stroke-width: 2; }
.av-reglure { fill: none; stroke: var(--line-strong); stroke-width: 1; }
.av-separateur { fill: none; stroke: var(--line-strong); stroke-width: 1; stroke-dasharray: 5 5; }
.av-trait { fill: none; stroke: var(--data-cool); stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; }
.av-trait-fin { fill: none; stroke: var(--muted); stroke-width: 2; stroke-linecap: round; }


.av-scene text { font-family: var(--font-interface); fill: var(--ink); }
.av-scene .av-repere { font-size: var(--fs-100); font-weight: 700; letter-spacing: .08em; fill: var(--muted); }
.av-scene .av-locuteur { font-size: var(--fs-100); font-weight: 700; letter-spacing: .08em; fill: var(--brand-accent); }
.av-scene .av-verbatim { font-family: var(--font-editorial); font-style: italic; font-size: var(--fs-400); }
.av-scene .av-verbatim-s { font-family: var(--font-editorial); font-style: italic; font-size: var(--fs-300); }
.av-scene .av-fiche-texte { font-family: var(--font-editorial); font-size: var(--fs-400); }
.av-scene .av-fiche-texte-s { font-family: var(--font-editorial); font-size: var(--fs-300); }
.av-scene .av-etiquette { font-size: var(--fs-300); font-weight: 700; fill: var(--brand-primary); }
.av-scene .av-texte { font-size: var(--fs-300); }
.av-scene .av-petit { font-size: var(--fs-200); fill: var(--muted); }
.av-scene .av-ticket { font-size: var(--fs-200); }
.av-scene .av-glose { font-size: var(--fs-200); font-weight: 700; fill: var(--brand-primary); }
.av-scene .av-muet { fill: var(--muted); }


.av-surligne { fill: var(--brand-focus); fill-opacity: .3; }
.av-surligne--chaud { fill: var(--data-warm); fill-opacity: .35; }
.av-cadre-stylo { fill: none; stroke: var(--brand-primary); stroke-width: 2; }


.av-lien { fill: none; stroke: var(--brand-primary); stroke-width: 3; stroke-linecap: round; }
.av-lien--lache { stroke: var(--muted); stroke-dasharray: 2 7; }
.av-lien--chaud { stroke: var(--data-warm); }
.av-lien--ecarte { stroke: var(--muted); stroke-dasharray: 2 7; }
.av-epingle { fill: var(--brand-primary); }
.av-epingle--chaud { fill: var(--data-warm); }
.av-anneau { fill: var(--paper-bright); stroke: var(--muted); stroke-width: 3; }
.av-anneau--chaud { stroke: var(--data-warm); }


.av-badge circle { fill: var(--brand-primary); }
.av-badge text { fill: var(--paper-bright); font-size: var(--fs-100); font-weight: 700; }
.av-badge--stylo circle { fill: var(--paper-bright); stroke: var(--brand-primary); stroke-width: 2; }
.av-badge--stylo text { fill: var(--brand-primary); }


.av-tampon { fill: none; stroke: var(--brand-primary); stroke-width: 2; }
.av-scene .av-tampon-texte { font-size: var(--fs-100); font-weight: 700; letter-spacing: .08em; fill: var(--brand-primary); }
.av-tampon--muet { stroke: var(--muted); }
.av-scene .av-tampon-texte--muet { fill: var(--muted); }
.av-tampon--chaud { stroke: var(--data-warm); }
.av-scene .av-tampon-texte--chaud { fill: var(--data-warm); }


.av-coche { fill: none; stroke: var(--brand-primary); stroke-width: 3; stroke-linecap: round; stroke-linejoin: round; }
.av-croix { fill: none; stroke: var(--muted); stroke-width: 3; stroke-linecap: round; }


.av-provenance .av-lien--tendu,
.av-provenance .av-lien--lache,
.av-provenance .av-apres { transition: opacity 620ms var(--ease-out); }
.av-provenance .av-lien--lache,
.av-provenance .av-apres { opacity: var(--arrivee-opacite); }
.slide[data-etat="filtre"] .av-provenance .av-lien--tendu { opacity: 0; }
.slide[data-etat="filtre"] .av-provenance .av-lien--lache { opacity: 1; }
.slide[data-etat="filtre"] .av-provenance .av-apres { opacity: 1; transition-delay: 620ms; }


.av-exercice .av-cherche,
.av-exercice .av-recevable { opacity: var(--arrivee-opacite); transition: opacity 420ms var(--ease-out); }
.slide:is([data-etat="cherche"], [data-etat="recevable"]) .av-exercice .av-cherche { opacity: 1; }
.slide[data-etat="recevable"] .av-exercice .av-recevable { opacity: 1; }
.slide[data-etat="recevable"] .av-exercice .av-cherche-seul { opacity: .35; }

@media print {
  .av-provenance .av-lien--tendu { opacity: 0 !important; }
  .av-exercice .av-cherche-seul { opacity: .35 !important; }
}
@media (prefers-reduced-motion: reduce) {
  .av-provenance .av-lien--tendu,
  .av-provenance .av-lien--lache,
  .av-provenance .av-apres,
  .av-exercice .av-cherche,
  .av-exercice .av-recevable { transition: none; }
}



.av-pertes { display: grid; gap: var(--space-2); }
.av-pertes__tete,
.av-perte {
  display: grid;
  grid-template-columns: 1.15fr 40px 1fr 1fr;
  gap: var(--space-4);
  align-items: center;
}
.av-pertes__tete span {
  font: 700 var(--fs-100)/1.2 var(--font-interface);
  letter-spacing: .08em;
  text-transform: uppercase;
  color: var(--muted);
}
.av-pertes__tete span:nth-child(2) { grid-column: 3; }
.av-pertes__tete span:nth-child(3) { grid-column: 4; }
.av-perte { padding: var(--space-2) 0; border-top: 1px solid var(--line-strong); }
.av-perte p { margin: 0; max-width: none; }
.av-perte__dit,
.av-perte__ecrit { font: italic 400 var(--fs-300)/1.35 var(--font-editorial); }
.av-perte__ecrit { font-style: normal; color: var(--muted); }
.av-perte__dit mark { background-color: color-mix(in srgb, var(--brand-focus) 30%, transparent); color: inherit; padding: 0 2px; }
.av-perte__fleche { width: 40px; height: 16px; }
.av-perte__fleche path { fill: none; stroke: var(--data-cool); stroke-width: 3; stroke-linecap: round; stroke-linejoin: round; }
.av-perte__tombe { display: flex; flex-wrap: wrap; gap: var(--space-1) var(--space-2); align-items: baseline; }
.av-miette {
  display: inline-block;
  padding: 1px var(--space-2);
  border: 2px dashed var(--muted);
  border-radius: 2px;
  font: italic 400 var(--fs-200)/1.3 var(--font-editorial);
  color: var(--muted);
  transform: rotate(-2deg);
}
.av-miette + .av-miette { transform: rotate(2deg); }
.av-perte__regle { flex-basis: 100%; font: 700 var(--fs-200)/1.3 var(--font-interface); color: var(--brand-primary); }


.av-regles { display: grid; grid-template-columns: repeat(3, 1fr); gap: var(--space-6); border-top: 1px solid var(--line-strong); padding-top: var(--space-4); }
.av-regles h3 { margin: 0 0 var(--space-2); font: 700 var(--fs-300)/1.25 var(--font-interface); color: var(--brand-primary); }
.av-regles p { margin: 0; max-width: none; font: 400 var(--fs-300)/1.4 var(--font-interface); }




.cq-cartes { display: grid; grid-template-columns: repeat(var(--colonnes, 3), 1fr); gap: var(--space-4); }
.cq-carte {
  background-color: var(--paper-bright);
  border: 2px solid var(--data-cool);
  border-radius: 4px;
  padding: var(--space-3) var(--space-4);
}
.cq-carte--fiche { border: 3px solid var(--brand-primary); }
.cq-carte--calme { background-color: var(--surface-tint); }
.cq-carte--chaud { border-color: var(--data-warm); }
.cq-carte--muet { border-style: dashed; border-color: var(--muted); }
.cq-carte__cle {
  margin: 0 0 var(--space-1);
  font: 700 var(--fs-100)/1.2 var(--font-interface);
  letter-spacing: .08em;
  text-transform: uppercase;
  color: var(--muted);
}
.cq-carte--chaud .cq-carte__cle { color: var(--data-warm); }
.cq-carte__titre { margin: 0 0 var(--space-2); max-width: none; font: 700 var(--fs-400)/1.25 var(--font-interface); color: var(--brand-primary); }
.cq-carte p, .cq-carte li { max-width: none; margin: 0; font: 400 var(--fs-300)/1.4 var(--font-interface); }
.cq-carte p + p { margin-top: var(--space-2); }
.cq-carte ul { margin: 0; padding-left: 1.1em; }
.cq-carte li + li { margin-top: var(--space-1); }
.cq-carte .cq-carte__voix { font: italic 400 var(--fs-300)/1.4 var(--font-editorial); }


.cq-ample .cq-carte { padding: var(--space-4) var(--space-6); }
.cq-ample .cq-carte__cle { font-size: var(--fs-200); }
.cq-ample .cq-carte__titre { font-size: var(--fs-500); }
.cq-ample .cq-carte p, .cq-ample .cq-carte li { font-size: var(--fs-400); line-height: 1.45; }
.cq-ample .cq-carte .cq-carte__voix { font-size: var(--fs-500); line-height: 1.4; }
.cq-ample .cq-carte p + p { margin-top: var(--space-3); }
.cq-ample .cq-carte li + li { margin-top: var(--space-2); }


.cq-grande-citation { margin: 0; max-width: 1000px; padding-left: var(--space-8); border-left: 6px solid var(--data-cool); }
.cq-grande-citation blockquote { margin: 0; font: italic 400 var(--fs-800)/1.2 var(--font-editorial); color: var(--ink); max-width: none; }
.cq-grande-citation figcaption { margin-top: var(--space-6); font: 700 var(--fs-400)/1.3 var(--font-interface); color: var(--brand-accent); }
.cq-grande-citation .cq-note { margin-top: var(--space-3); font-size: var(--fs-400); }



.cq-anatomie { display: grid; grid-template-columns: 1.05fr 48px 0.95fr; }
.cq-anatomie__guide { background-color: var(--paper-bright); border-left: 3px solid var(--brand-primary); border-right: 3px solid var(--brand-primary); padding: var(--space-1) var(--space-6); }
.cq-anatomie__guide--premier { border-top: 3px solid var(--brand-primary); padding-top: var(--space-4); }
.cq-anatomie__guide--dernier { border-bottom: 3px solid var(--brand-primary); padding-bottom: var(--space-4); }
.cq-anatomie__guide p { margin: 0; max-width: none; font: 400 var(--fs-300)/1.4 var(--font-interface); }
.cq-anatomie__guide .cq-anatomie__cle { font: 700 var(--fs-100)/1.2 var(--font-interface); letter-spacing: .08em; text-transform: uppercase; color: var(--muted); margin-bottom: var(--space-1); }
.cq-anatomie__guide .cq-anatomie__theme { font: 700 var(--fs-400)/1.25 var(--font-interface); color: var(--brand-primary); }
.cq-anatomie__guide .cq-anatomie__question { font: italic 400 var(--fs-400)/1.35 var(--font-editorial); }
.cq-anatomie__guide .cq-anatomie__relance { color: var(--muted); }
.cq-anatomie__lien { position: relative; align-self: center; height: 2px; background-color: var(--data-cool); margin-right: var(--space-2); }
.cq-anatomie__lien::before { content: ""; position: absolute; left: -5px; top: -4px; width: 10px; height: 10px; border-radius: 50%; background-color: var(--data-cool); }
.cq-anatomie__role { align-self: center; padding: var(--space-1) 0; }
.cq-anatomie__role p { margin: 0; max-width: none; font: 400 var(--fs-200)/1.35 var(--font-interface); }
.cq-anatomie__role .cq-anatomie__nom { font: 700 var(--fs-300)/1.3 var(--font-interface); color: var(--brand-primary); }
.cq-anatomie__vide { align-self: stretch; }


.cq-glisse { display: grid; gap: var(--space-1); }
.cq-glisse__tete,
.cq-glisse__rang { display: grid; grid-template-columns: 1fr 40px 1.3fr; gap: var(--space-4); align-items: center; }
.cq-glisse__tete { margin: 0; max-width: none; }
.cq-glisse__tete span { font: 700 var(--fs-100)/1.2 var(--font-interface); letter-spacing: .08em; text-transform: uppercase; color: var(--muted); }
.cq-glisse__rang { padding: var(--space-2) 0; border-top: 1px solid var(--line-strong); }
.cq-glisse__cru { margin: 0; max-width: none; font: italic 400 var(--fs-300)/1.35 var(--font-editorial); color: var(--muted); }
.cq-glisse__reel { margin: 0; max-width: none; font: 400 var(--fs-300)/1.4 var(--font-interface); }
.cq-glisse__reel b { color: var(--brand-primary); }
.cq-fleche { width: 40px; height: 16px; }
.cq-fleche path { fill: none; stroke: var(--data-cool); stroke-width: 3; stroke-linecap: round; stroke-linejoin: round; }


.cq-verbatim {
  margin: 0;
  padding: var(--space-3) var(--space-4);
  border-left: 4px solid var(--data-cool);
  background-color: var(--paper-bright);
  font: italic 400 var(--fs-400)/1.45 var(--font-editorial);
  max-width: none;
}
.cq-verbatim cite { display: block; margin-top: var(--space-2); font: normal 700 var(--fs-200)/1.3 var(--font-interface); color: var(--brand-accent); }


.cq-deux { display: grid; grid-template-columns: var(--gauche, 1fr) var(--droite, 1fr); gap: var(--space-6); align-items: start; }
.cq-pile { display: grid; gap: var(--space-3); align-content: start; }
.cq-phrase { margin: 0; max-width: none; font: 400 var(--fs-500)/1.35 var(--font-editorial); color: var(--ink); }
.cq-phrase b { color: var(--brand-primary); font-weight: 700; }
.cq-note { margin: 0; max-width: none; font: 400 var(--fs-200)/1.4 var(--font-interface); color: var(--muted); }



.cq-barre--1 { fill: var(--data-cool); fill-opacity: .45; }
.cq-barre--2 { fill: var(--data-neutral); stroke: var(--line-strong); stroke-width: 1; }
.cq-barre--3 { fill: var(--data-cool); }
.cq-barre--jalon { stroke: var(--data-warm); stroke-width: 3; }
.cq-seuil { fill: none; stroke: var(--ink); stroke-width: 2; stroke-dasharray: 4 3; }


.cq-caviar { fill: var(--ink); }


.cq-travers .cq-segment { transform: translateY(var(--dy, 0)); transition: transform 900ms var(--ease-io); }
.cq-travers .cq-apres-travers { opacity: var(--arrivee-opacite); transition: opacity 420ms var(--ease-out) 900ms; }
.cq-bande { fill: var(--surface-tint); stroke: var(--line-strong); stroke-width: 1; }
.cq-travers .cq-feuillet-travers { transition: fill-opacity 420ms var(--ease-out); }
.slide[data-etat="travers"] .cq-travers .cq-segment { transform: none; }
.slide[data-etat="travers"] .cq-travers .cq-apres-travers { opacity: 1; }
.slide[data-etat="travers"] .cq-travers .cq-feuillet-travers { fill-opacity: .55; }
@media print {
  .cq-travers .cq-segment { transform: none !important; }
  .cq-travers .cq-feuillet-travers { fill-opacity: .55; }
}
@media (prefers-reduced-motion: reduce) {
  .cq-travers .cq-segment, .cq-travers .cq-apres-travers { transition: none; }
}



.cq-inference { display: grid; gap: var(--space-1); }
.cq-inference__rang { display: grid; grid-template-columns: 1.25fr 44px 1fr; gap: var(--space-3); align-items: center; padding: var(--space-1) 0; border-top: 1px solid var(--line-strong); }
.cq-inference__dit { margin: 0; max-width: none; font: italic 400 var(--fs-300)/1.35 var(--font-editorial); }
.cq-inference__lu { margin: 0; max-width: none; font: 400 var(--fs-200)/1.4 var(--font-interface); }
.cq-inference__rang--n2 { background-color: var(--surface-tint); }
.cq-niveau { display: inline-grid; place-items: center; width: 40px; height: 26px; border-radius: 13px; font: 700 var(--fs-100)/1 var(--font-interface); letter-spacing: .06em; color: var(--paper-bright); background-color: var(--data-cool); }
.cq-niveau[data-niveau="N0"] { background-color: var(--muted); }
.cq-niveau[data-niveau="N2"] { background-color: var(--brand-primary); }
.cq-inference--exercice .cq-inference__lu { opacity: var(--arrivee-opacite); transition: opacity 420ms var(--ease-out); }
.slide[data-etat="annote"] .cq-inference--exercice .cq-inference__lu { opacity: 1; }


.cq-anatomie__guide .cq-anatomie__citation { font: italic 400 var(--fs-500)/1.35 var(--font-editorial); }
.cq-anatomie__guide .cq-anatomie__ref { font: 700 var(--fs-200)/1.3 var(--font-interface); color: var(--brand-accent); }
.cq-anatomie__guide .cq-anatomie__prose { font: 400 var(--fs-400)/1.45 var(--font-editorial); }


.slide[data-etat="a1"] .cq-des-a1,
.slide[data-etat="a2"] .cq-des-a1,
.slide[data-etat="a3"] .cq-des-a1,
.slide[data-etat="a4"] .cq-des-a1,
.slide[data-etat="a5"] .cq-des-a1,
.slide[data-etat="a6"] .cq-des-a1 { --actif: 1; }
.slide[data-etat="a2"] .cq-des-a2,
.slide[data-etat="a3"] .cq-des-a2,
.slide[data-etat="a4"] .cq-des-a2,
.slide[data-etat="a5"] .cq-des-a2,
.slide[data-etat="a6"] .cq-des-a2 { --actif: 1; }
.slide[data-etat="a3"] .cq-des-a3,
.slide[data-etat="a4"] .cq-des-a3,
.slide[data-etat="a5"] .cq-des-a3,
.slide[data-etat="a6"] .cq-des-a3 { --actif: 1; }
.slide[data-etat="a4"] .cq-des-a4,
.slide[data-etat="a5"] .cq-des-a4,
.slide[data-etat="a6"] .cq-des-a4 { --actif: 1; }
.slide[data-etat="a5"] .cq-des-a5,
.slide[data-etat="a6"] .cq-des-a5 { --actif: 1; }
.slide[data-etat="a6"] .cq-des-a6 { --actif: 1; }

.cq-entre, .cq-sort, .cq-bouge, .cq-tampe { --actif: 0; }
.cq-entre { opacity: var(--actif); transition: opacity 380ms var(--ease-out) var(--delai, 0ms); }
.cq-sort { opacity: calc(1 - var(--actif) * (1 - var(--reste, 0))); transition: opacity 380ms var(--ease-out) var(--delai, 0ms); }
.cq-bouge {
  transform-box: fill-box; transform-origin: var(--origine, center);
  transform: translate(calc(var(--actif) * var(--vx, 0) * 1px), calc(var(--actif) * var(--vy, 0) * 1px))
             rotate(calc(var(--actif) * var(--vr, 0) * 1deg))
             scale(calc(1 + var(--actif) * (var(--vs, 1) - 1)));
  transition: transform var(--duree, 760ms) var(--ease-io) var(--delai, 0ms);
}
.cq-tampe {
  transform-box: fill-box; transform-origin: center;
  opacity: var(--actif);
  transform: rotate(var(--incline, -6deg)) scale(calc(2.4 - var(--actif) * 1.4));
  transition: transform 260ms cubic-bezier(.5, 0, .75, 0) var(--delai, 0ms), opacity 120ms linear var(--delai, 0ms);
}
.cq-impact { opacity: 0; transform-box: fill-box; transform-origin: center; pointer-events: none; }
.cq-impact rect { fill: var(--data-warm); stroke: var(--ink); stroke-width: 3; }
.av-scene .cq-impact text, .cq-impact text { font: italic 900 var(--fs-500)/1 var(--font-interface); letter-spacing: -.02em; fill: var(--paper-bright); }
.cq-secoue { transform-box: fill-box; transform-origin: center; }
.slide[data-etat="a1"] .cq-impact.cq-des-a1 { animation: cq-surgit 1500ms var(--ease-out) var(--delai, 0ms) both; }
.slide[data-etat="a1"] .cq-secoue.cq-des-a1 { animation: cq-secousse 560ms linear var(--delai, 0ms) both; }
.slide[data-etat="a2"] .cq-impact.cq-des-a2 { animation: cq-surgit 1500ms var(--ease-out) var(--delai, 0ms) both; }
@keyframes cq-surgit {
  0% { opacity: 0; transform: scale(.4) rotate(-8deg); }
  14% { opacity: 1; transform: scale(1.18) rotate(-4deg); }
  24% { transform: scale(1) rotate(-4deg); }
  72% { opacity: 1; transform: scale(1) rotate(-4deg); }
  100% { opacity: 0; transform: scale(.9) rotate(-4deg); }
}
@keyframes cq-secousse {
  0%, 100% { transform: translateX(0) rotate(0); }
  15% { transform: translateX(-7px) rotate(-2deg); }
  30% { transform: translateX(6px) rotate(2deg); }
  45% { transform: translateX(-5px) rotate(-1.5deg); }
  60% { transform: translateX(4px) rotate(1deg); }
  80% { transform: translateX(-2px) rotate(0); }
}

.cq-objet { fill: var(--brand-primary); stroke: var(--brand-primary); stroke-width: 2; }
.cq-objet-clair { fill: var(--paper-bright); stroke: var(--brand-primary); stroke-width: 2.5; }
.av-scene .cq-objet-texte, .cq-objet-texte { font: 700 var(--fs-200)/1 var(--font-interface); fill: var(--paper-bright); letter-spacing: .06em; }
.cq-fond-sombre { fill: var(--ink); }
.av-scene .cq-texte-sombre, .cq-texte-sombre { font: 400 var(--fs-300)/1.3 var(--font-interface); fill: var(--paper-bright); }
.cq-bulle { fill: var(--paper-bright); stroke: var(--brand-accent); stroke-width: 2; }
.av-scene .cq-bulle-texte, .cq-bulle-texte { font: italic 400 var(--fs-400)/1.3 var(--font-editorial); fill: var(--ink); }
.cq-rouge { fill: none; stroke: var(--data-warm); stroke-width: 3.5; stroke-linecap: round; }
.av-scene .cq-rouge-texte, .cq-rouge-texte { font: italic 700 var(--fs-300)/1.2 var(--font-editorial); fill: var(--data-warm); }
@media print {
  .cq-entre, .cq-sort, .cq-bouge, .cq-tampe { transition: none !important; }
  .cq-impact { display: none !important; }
  .cq-secoue { animation: none !important; }
}
@media (prefers-reduced-motion: reduce) {
  .cq-entre, .cq-sort, .cq-bouge, .cq-tampe { transition: none !important; }
  .cq-impact { display: none !important; }
  .cq-secoue { animation: none !important; }
}

.cq-tampe rect { fill: var(--paper-bright); }



.cq-guide { background-color: var(--paper-bright); border: 3px solid var(--brand-primary); border-radius: 4px; padding: var(--space-3) var(--space-6); }
.cq-guide__titre { margin: 0 0 var(--space-2); max-width: none; font: 700 var(--fs-200)/1.2 var(--font-interface); letter-spacing: .08em; text-transform: uppercase; color: var(--brand-primary); }
.cq-guide__etage { display: grid; grid-template-columns: 210px 1fr; gap: var(--space-4); padding: var(--space-2) 0; border-top: 1px solid var(--line-strong); }
.cq-guide__cle { margin: 0; max-width: none; font: 700 var(--fs-100)/1.3 var(--font-interface); letter-spacing: .08em; text-transform: uppercase; color: var(--muted); }
.cq-guide__theme { display: block; margin-top: 2px; font: 700 var(--fs-300)/1.25 var(--font-interface); letter-spacing: 0; text-transform: none; color: var(--brand-primary); }
.cq-guide__corps p { margin: 0; max-width: none; font: 400 var(--fs-200)/1.4 var(--font-interface); }
.cq-guide__corps p + p { margin-top: var(--space-1); }


.cq-quiz { display: grid; gap: var(--space-3); }
.cq-quiz__rang { margin: 0; max-width: none; display: flex; align-items: center; gap: var(--space-4); padding: var(--space-3) var(--space-4); background-color: var(--paper-bright); border: 2px solid var(--data-cool); border-radius: 4px; font: italic 400 var(--fs-500)/1.3 var(--font-editorial); color: var(--ink); }
.cq-quiz__n { flex: none; display: inline-grid; place-items: center; width: 34px; height: 34px; border-radius: 50%; background-color: var(--brand-primary); color: var(--paper-bright); font: normal 700 var(--fs-300)/1 var(--font-interface); }
.cq-duel { position: relative; }
.cq-duel__verdict { position: absolute; right: 8px; top: -96px; margin: 0; padding: var(--space-1) var(--space-4); border: 4px solid var(--data-warm); border-radius: 6px; background-color: var(--paper-bright); font: 900 var(--fs-700)/1 var(--font-interface); letter-spacing: .06em; color: var(--data-warm); }


.cq-t1 { fill: var(--brand-focus); fill-opacity: .38; }
.cq-t2 { fill: var(--data-cool); fill-opacity: .28; }
.cq-t3 { fill: var(--data-warm); fill-opacity: .3; }
.cq-t4 { fill: var(--brand-primary); fill-opacity: .2; }
.cq-t5 { fill: var(--muted); fill-opacity: .28; }
.cq-plein { fill-opacity: 1; }
.cq-t4.cq-plein, .cq-t2.cq-plein { fill-opacity: 1; }
.av-scene .cq-theme-texte, .cq-theme-texte { font: 700 13px/1 var(--font-interface); fill: var(--ink); }
.av-scene .cq-t4.cq-plein + .cq-theme-texte, .av-scene .cq-t2.cq-plein + .cq-theme-texte { fill: var(--paper-bright); }
.cq-t1-bord { border-left: 8px solid var(--brand-focus); }
.cq-t2-bord { border-left: 8px solid var(--data-cool); }
.cq-t3-bord { border-left: 8px solid var(--data-warm); }
.cq-t4-bord { border-left: 8px solid var(--brand-primary); }


.cq-comparer { display: grid; gap: var(--space-3); }
.cq-comparer__rang { display: grid; grid-template-columns: 240px 1fr; gap: var(--space-4); align-items: center; background-color: var(--paper-bright); border: 2px solid var(--line-strong); border-radius: 4px; padding: var(--space-3) var(--space-4); }
.cq-comparer__theme { margin: 0; max-width: none; padding-left: var(--space-3); font: 700 var(--fs-400)/1.25 var(--font-interface); color: var(--brand-primary); }
.cq-comparer__texte { margin: 0; max-width: none; font: 400 var(--fs-400)/1.45 var(--font-editorial); }


.cq-fiche-theme { background-color: var(--paper-bright); border: 3px solid var(--brand-primary); border-radius: 4px; padding: var(--space-4) var(--space-6); }
.cq-fiche-theme__entete { display: flex; align-items: center; gap: var(--space-3); margin: 0 0 var(--space-3); max-width: none; font: 700 var(--fs-500)/1.2 var(--font-interface); color: var(--brand-primary); }
.cq-fiche-theme__entete span { padding: 2px var(--space-3); font-size: var(--fs-300); color: var(--paper-bright); background-color: var(--data-cool); border-radius: 4px; border-left: 0; }
.cq-fiche-theme__rang { display: grid; grid-template-columns: 220px 1fr; gap: var(--space-4); padding: var(--space-2) 0; border-top: 1px solid var(--line-strong); }
.cq-fiche-theme__rang p { margin: 0; max-width: none; font: 400 var(--fs-400)/1.4 var(--font-interface); }
.cq-fiche-theme__rang .cq-fiche-theme__cle { font: 700 var(--fs-200)/1.4 var(--font-interface); letter-spacing: .06em; text-transform: uppercase; color: var(--muted); }

.cq-grande-citation--moyenne blockquote { font-size: var(--fs-700); }


.cq-redige { display: grid; gap: var(--space-2); }
.cq-redige__rang { display: grid; grid-template-columns: 220px 1fr; gap: var(--space-4); align-items: start; padding: var(--space-2) 0; border-top: 1px solid var(--line-strong); }
.cq-redige__role { margin: 0; max-width: none; font: 700 var(--fs-200)/1.35 var(--font-interface); color: var(--brand-primary); }
.cq-redige__texte { margin: 0; max-width: none; font: 400 var(--fs-300)/1.5 var(--font-editorial); }


.cq-coreq { display: grid; grid-template-columns: repeat(auto-fit, minmax(0, 1fr)); gap: var(--space-4); align-items: start; }
.cq-coreq__bloc, .cq-coreq__pourquoi { background-color: var(--paper-bright); border: 2px solid var(--data-cool); border-radius: 4px; padding: var(--space-3) var(--space-4); }
.cq-coreq__pourquoi { background-color: var(--surface-tint); }
.cq-coreq__sous { margin: 0 0 var(--space-1); max-width: none; font: 700 var(--fs-200)/1.3 var(--font-interface); letter-spacing: .08em; text-transform: uppercase; color: var(--muted); }
.cq-coreq ol, .cq-coreq ul { margin: 0; padding-left: 1.5em; }
.cq-coreq li, .cq-coreq p { margin: 0; max-width: none; font: 400 var(--fs-300)/1.4 var(--font-interface); }
.cq-coreq li + li { margin-top: 3px; }
.cq-coreq__pourquoi p + .cq-coreq__sous { margin-top: var(--space-3); }


.chapitre[data-gabarit="bandeau"] .plan { margin-top: var(--space-4); gap: 0; }
.chapitre[data-gabarit="bandeau"] .plan li { padding-top: 5px; padding-bottom: 5px; }


.cq-inference--grand .cq-inference__rang { padding: var(--space-3) 0; }
.cq-inference--grand .cq-inference__dit { font-size: var(--fs-400); }
.cq-inference--grand .cq-inference__lu { font-size: var(--fs-300); }


.av-scene .cq-buste, .cq-buste { fill: var(--brand-primary); stroke: none; }
.av-scene .cq-buste--clair, .cq-buste--clair { fill: var(--brand-accent); }
.av-scene .cq-buste--muet, .cq-buste--muet { fill: var(--muted); }


.cq-annonce .kicker { color: var(--brand-focus); }
.cq-objectifs { display: grid; gap: 0; border-top: 3px solid var(--brand-primary); }
.cq-objectifs__rang { display: grid; grid-template-columns: 44px 72px 240px 1fr 150px; gap: var(--space-4); align-items: center; padding: var(--space-3) 0; border-bottom: 1px solid var(--line-strong); }
.cq-objectifs__n { display: inline-grid; place-items: center; width: 44px; height: 44px; border-radius: 50%; border: 3px solid var(--brand-focus); font: 700 var(--fs-500)/1 var(--font-interface); color: var(--brand-primary); }
.cq-objectifs__verbe { margin: 0; max-width: none; font: 400 var(--fs-700)/1.05 var(--font-editorial); color: var(--brand-primary); letter-spacing: -.01em; }
.cq-objectifs__corps p { margin: 0; max-width: none; }
.cq-objectifs__quoi { font: 700 var(--fs-400)/1.3 var(--font-interface); color: var(--ink); }
.cq-objectifs__sous { margin-top: 2px !important; font: 400 var(--fs-300)/1.4 var(--font-interface); color: var(--muted); }
.cq-objectifs__parties { justify-self: end; padding: 4px 12px; border-radius: 999px; background-color: var(--surface-tint); font: 700 var(--fs-200)/1.2 var(--font-interface); color: var(--brand-accent); white-space: nowrap; }

.slide.cq-annonce[data-plan="seul"] .corps { flex: none; }
.cq-annonce-tete { display: grid; grid-template-columns: 1fr 1fr; gap: 48px; margin: var(--space-6) 0 0; max-width: none; border-top: 3px solid var(--brand-primary); padding-top: var(--space-2); }
.cq-annonce-tete span { font: 700 var(--fs-200)/1.3 var(--font-interface); letter-spacing: .08em; text-transform: uppercase; color: var(--brand-accent); }
.slide.cq-annonce[data-plan="seul"] .plan { display: block; column-count: 2; column-gap: 48px; margin-top: var(--space-3); }
.slide.cq-annonce[data-plan="seul"] .plan li { break-inside: avoid; padding-top: 10px; padding-bottom: 10px; font-size: var(--fs-600); }
.slide.cq-annonce[data-plan="seul"] .plan li b { font-size: var(--fs-400); }
.slide.cq-annonce[data-plan="seul"] .plan li:nth-child(7) { break-before: column; }


.cq-objectif-icone { width: 60px; height: 60px; }
.cq-objectifs__n { width: 36px; height: 36px; font-size: var(--fs-300); }
.cq-objectifs__rang { position: relative; }
.cq-objectifs__rang::after { content: ""; position: absolute; right: 0; bottom: -1px; height: 4px; width: calc(var(--rang) * 20%); background-color: var(--brand-focus); }


.cq-cite { position: relative; margin: 0; padding: 30px 40px 24px 112px; background-color: var(--paper-bright); border: 2px solid var(--line-strong); border-left: 12px solid var(--brand-primary); border-radius: 4px; }
.cq-cite::before { content: "«"; position: absolute; left: 26px; top: 6px; font: 400 128px/1 var(--font-editorial); color: var(--brand-focus); }
.cq-cite__phrase { margin: 0; max-width: none; font: italic 400 var(--fs-700)/1.28 var(--font-editorial); color: var(--ink); }
.cq-cite__phrase::after { content: "\00a0»"; color: var(--brand-focus); }
.cq-cite__colophon { display: flex; flex-wrap: wrap; align-items: baseline; gap: 6px 14px; margin-top: var(--space-6); padding-top: var(--space-3); border-top: 1px solid var(--line-strong); }
.cq-cite__nom { font: 700 var(--fs-200)/1.2 var(--font-interface); letter-spacing: .1em; text-transform: uppercase; color: var(--brand-primary); }
.cq-cite__ref { font: italic 400 var(--fs-300)/1.3 var(--font-editorial); color: var(--muted); }
.cq-cite__note { margin: var(--space-3) 0 0; max-width: none; font: 400 var(--fs-300)/1.45 var(--font-interface); color: var(--muted); }
.cq-cite .surligneur { --actif: 0; background-size: calc(var(--actif) * 100%) 38%; }


.cq-cite--seule { padding: 40px 56px 30px 136px; }
.cq-cite--seule::before { left: 30px; top: 4px; font-size: 168px; }
.cq-cite--seule .cq-cite__phrase { font-size: var(--fs-800); line-height: 1.22; }


.cq-cite--fiche { padding: 26px 30px 20px 30px; border-left-width: 2px; border-top: 10px solid var(--brand-focus); transform: rotate(1.6deg); }
.cq-cite--fiche::before { content: ""; left: 50%; top: -18px; width: 18px; height: 18px; margin-left: -9px; border-radius: 50%; background-color: var(--data-warm); border: 2px solid var(--ink); }
.cq-cite--fiche .cq-cite__phrase { font-size: var(--fs-500); }
.cq-cite--fiche .cq-cite__phrase::before { content: "«\00a0"; color: var(--brand-focus); }


.cq-cites { display: grid; grid-template-columns: 1.55fr 1fr; gap: 40px; align-items: center; }
.cq-cites__lien { margin: 0 0 var(--space-4); max-width: none; font: 700 var(--fs-200)/1.2 var(--font-interface); letter-spacing: .08em; text-transform: uppercase; color: var(--brand-accent); }
.cq-cites__lien::before { content: "→ "; }
@media print { .cq-cite .surligneur { background-size: 100% 38% !important; } }


.cq-guide__titre { display: flex; justify-content: space-between; align-items: center; }
.cq-guide__legende { display: inline-flex; align-items: center; gap: 6px; font: 400 var(--fs-200)/1 var(--font-interface); letter-spacing: 0; text-transform: none; color: var(--muted); }
.cq-guide__legende .cq-qr + .cq-qr { margin-left: 12px; }
.cq-qr { flex: none; display: inline-grid; place-items: center; width: 22px; height: 22px; border-radius: 50%; font: 700 12px/1 var(--font-interface); font-style: normal; }
.cq-qr--q { background-color: var(--brand-primary); color: var(--paper-bright); }
.cq-qr--r { background-color: var(--paper-bright); color: var(--brand-accent); border: 2px solid var(--brand-focus); }
.cq-guide__corps .cq-guide__question { display: flex; gap: 10px; align-items: baseline; font: 700 var(--fs-300)/1.35 var(--font-interface); color: var(--ink); }
.cq-guide__corps .cq-guide__relance { display: flex; gap: 10px; align-items: baseline; margin-left: 32px; padding-left: 12px; border-left: 2px solid var(--brand-focus); font: italic 400 var(--fs-200)/1.4 var(--font-editorial); color: var(--ink); }
.cq-guide__corps .cq-guide__question + .cq-guide__question { margin-top: var(--space-2); }
.cq-guide__corps .cq-guide__relance + .cq-guide__question { margin-top: var(--space-2); }
.cq-guide__talon { display: flex; flex-wrap: wrap; gap: 4px 18px; }
.cq-guide__talon span { font: 400 var(--fs-200)/1.35 var(--font-interface); }
.cq-guide__talon span::before { content: "· "; color: var(--brand-focus); font-weight: 700; }

.cq-guide { padding-top: var(--space-2); padding-bottom: var(--space-2); }
.cq-guide__etage { padding: 6px 0; }
.cq-guide__titre { margin-bottom: 4px; }
.cq-guide__corps .cq-guide__question + .cq-guide__question,
.cq-guide__corps .cq-guide__relance + .cq-guide__question { margin-top: 4px; }
