/* Rapport interactif — direction éditoriale, septembre 2026.
   Présentation uniquement : aucun texte, chiffre ou calcul n'est remplacé.
   Cette feuille est chargée après les styles historiques de la page. */
.deck{
  --rd-accent:#244fbc;--rd-surface:#f2f5fa;--rd-border:#dfe6ef;
  --rd-text:#142a46;--rd-muted:#576a80;
}
.deck .deck-controles{margin:20px auto 12px;max-width:1000px;}
.deck .deck-controles .cpt{letter-spacing:.025em;font-size:12px;line-height:1.6;color:#52667d;}
.deck .deck-prog{max-width:1000px;margin:0 auto 20px;height:3px;border-radius:8px;background:#dfe6ef;overflow:hidden;}
.deck .deck-prog i{background:#3666ce;border-radius:8px;}
.deck .deck-scene{align-items:flex-start;padding-block:5px;}
.deck .pl-cellule{height:auto;}
.deck .pl{
  --rd-local-text:#142a46;--rd-local-muted:#576a80;--rd-local-border:#dfe6ef;
  --rd-local-panel:#f2f5fa;--rd-local-accent:#244fbc;
  height:auto;min-height:740px;aspect-ratio:auto;padding:30px 32px 22px;
  background:#fff;border:1px solid #dce4ef;border-radius:22px;
  box-shadow:0 4px 18px -10px #17325324;overflow:hidden;
}
.deck .pl::after{display:none;}
.deck .pl::before{content:"";position:absolute;top:0;left:32px;width:58px;height:4px;background:#3e6bcd;border-radius:0 0 4px 4px;}
.deck .pl.marine{
  --rd-local-text:#f3f7ff;--rd-local-muted:#bacbe0;--rd-local-border:#ffffff24;
  --rd-local-panel:#ffffff08;--rd-local-accent:#a8c9ff;
  background:#102640;border-color:#233d5c;box-shadow:0 4px 18px -10px #17325340;
}
.deck .pl.marine::before{background:#a8c9ff;}
.deck .pl-tete{min-height:28px;border:0;align-items:center;padding:0;gap:12px;}
.deck .pl-sect{color:var(--rd-local-muted);font-size:11px;line-height:1.5;letter-spacing:.1em;white-space:normal;}
.deck .pl-num{color:var(--rd-local-accent);font-size:11px;font-weight:500;letter-spacing:.06em;border:1px solid var(--rd-local-border);border-radius:7px;padding:5px 9px;white-space:nowrap;}
.deck .pl-titre,.deck .pl.marine .pl-titre{font-family:var(--police);font-size:clamp(25px,3.2cqi,34px);font-weight:600;line-height:1.18;letter-spacing:-.035em;margin:18px 0 0;max-width:27ch;color:var(--rd-local-text);text-wrap:balance;}
.deck .pl-rep,.deck .pl.marine .pl-rep{color:var(--rd-local-muted);font-size:15px;font-weight:400;line-height:1.65;margin:12px 0 0;max-width:85ch;text-align:left;text-wrap:pretty;}
.deck .pl-corps{flex:1 0 auto;margin:26px 0 24px;gap:26px;align-content:start;align-items:stretch;}
.deck .pl-corps.c21{grid-template-columns:minmax(0,1.65fr) minmax(0,1fr);}
.deck .pl-corps>div+div,.deck .pl.marine .pl-corps>div+div{
  border:1px solid var(--rd-local-border);border-radius:15px;
  background:var(--rd-local-panel);padding:20px;min-width:0;
}
.deck .pl-st,.deck .pl.marine .pl-st{font-size:11px;font-weight:600;line-height:1.6;letter-spacing:.075em;color:var(--rd-local-accent);margin:0 0 12px;text-wrap:pretty;}
.deck .pl-st.suite{margin-top:23px;}
.deck .pl-p{font-size:14px;line-height:1.75;color:var(--rd-local-muted);text-align:left;max-width:none;text-wrap:pretty;}
.deck .pl-t{font-size:13px;line-height:1.55;}
.deck .pl-t th{font-size:11px;line-height:1.6;letter-spacing:.035em;color:var(--rd-local-muted);}
.deck .pl-t td,.deck .pl-t th,.deck .pl-t.dense td,.deck .pl-t.dense th,.deck .pl-t.demi td,.deck .pl-t.demi th{padding:8px 0;border-bottom:1px solid var(--rd-local-border);}
.deck .pl-t td{color:var(--rd-local-muted);}
.deck .pl-t td:first-child{color:var(--rd-local-text);padding-right:12px;}
.deck .pl-t td.n,.deck .pl-t th.n{font-size:12.5px;font-weight:500;letter-spacing:-.015em;}
.deck .pl-t tr:last-child:not(.tot) td{border-bottom:0;}
.deck .pl-t tr.tot td{padding-top:12px;border-top:1px solid var(--rd-local-border);color:var(--rd-local-text);}
.deck .pl-t tr.tot td.n,.deck .pl.marine .pl-t tr.tot td.n{color:var(--rd-local-accent);font-size:14px;}
.deck tr.pt-l{transition:background .15s;}
.deck tr.pt-l:hover td,.deck tr.pt-l:focus-within td{background:#dbe7ff60;}
.deck .pl.marine tr.pt-l:hover td,.deck .pl.marine tr.pt-l:focus-within td{background:#ffffff0b;}
.deck .pl-note{padding:12px 14px;margin:18px 0 0;min-height:0;font-size:13px;line-height:1.6;border-left:2px solid var(--rd-local-accent);border-radius:0 8px 8px 0;background:#e7eef8;color:var(--rd-local-text);max-width:none;text-align:left;}
.deck .pl-note:empty{padding:0;border:0;margin:0;}
.deck .pl.marine .pl-note:empty{background:transparent;}
.deck [data-svg]{padding:12px 0 14px;}
.deck .rd-chart-scroll{min-width:0;max-width:100%;overflow-x:auto;overflow-y:hidden;overscroll-behavior-x:contain;scrollbar-width:thin;scrollbar-color:#9ab2d6 transparent;}
.deck .rd-chart-scroll:focus-visible{outline:2px solid var(--rd-local-accent);outline-offset:3px;}
.deck .pl .barre{fill:#294c78;rx:4px;}
.deck .pl .barre.clair{fill:#769fda;}
.deck .pl.marine .barre{fill:#365574;}
.deck .pl.marine .barre.clair{fill:#5f85b6;}
.deck .pl .ligne{stroke-width:2.2;}
.deck .pl .point{r:3.4;}
/* L'attenuation des axes ne vise que le trace (audit UI/UX du 9 octobre,
   point A02, 10/10/2026). Le nom .axe est partage avec les en-tetes de la
   matrice de sensibilite (th.axe, le taux et la marge retenus) : la regle
   .deck .pl .axe les passait a 55 % d'opacite, Klein sur blanc a 3,3:1 en
   9,5 a 13 px, dans les trois lecteurs (rapport d'exemple, accueil,
   offres). Elle porte desormais sur les seuls traits du SVG, les en-tetes
   gardent leur pleine encre (10,7:1). */
.deck .pl svg .axe{opacity:.55;}
.deck .pl .fourchette{rx:7px;fill:#416cca;opacity:1;}
.deck .pl .bande{fill:#6c92d4;opacity:.12;}
.deck .pl .val.grand{font-weight:500;letter-spacing:-.04em;}
.deck .pl-corps>div:last-child .pl-cles{display:grid;gap:14px;border:0;}
.deck .pl-corps>div:last-child .pl-cle{display:flex;flex-direction:column;align-items:flex-start;gap:7px;padding:4px 0 15px;border:0;border-bottom:1px solid var(--rd-local-border);}
.deck .pl-corps>div:last-child .pl-cle:last-child{border-bottom:0;}
.deck .pl-corps>div:last-child .pl-cle .v{order:0;font-family:var(--police);font-size:clamp(27px,3.8cqi,40px);font-weight:500;letter-spacing:-.045em;line-height:1.15;white-space:normal;color:var(--rd-local-accent);}
.deck .pl-corps>div:last-child .pl-cle .k{order:1;max-width:none;margin:0;font-size:11px;letter-spacing:.045em;line-height:1.55;color:var(--rd-local-muted);}
.deck .pl-bandeau,.deck .pl-bandeau.klein{margin-top:auto;padding:19px 22px;gap:26px;border:0;border-radius:13px;background:#eaf0fa;color:#153561;}
.deck .pl-bandeau p,.deck .pl-bandeau.klein p{font-size:12px;line-height:1.6;max-width:65ch;color:#3d5574;text-align:left;}
.deck .pl-bandeau .chiffre{font-family:var(--police);font-size:clamp(27px,3.5cqi,37px);font-weight:500;letter-spacing:-.04em;color:#244fbc;}
.deck .pl.marine .pl-bandeau{background:#1d3857;border:1px solid #ffffff18;}
.deck .pl.marine .pl-bandeau p{color:#c6d6e9;}
.deck .pl.marine .pl-bandeau .chiffre{color:#d9e8ff;}
.deck .pl.marine .pl-bandeau.klein{background:#bad1f3;border:0;box-shadow:none;}
.deck .pl.marine .pl-bandeau.klein p{color:#183653;}
.deck .pl.marine .pl-bandeau.klein .chiffre{color:#102640;}
.deck .pl-pied{margin-top:18px;padding-top:13px;border-color:var(--rd-local-border);align-items:flex-end;gap:20px;}
.deck .pl-pied .rh,.deck .pl.marine .pl-pied .rh{font-size:10px;line-height:1.8;letter-spacing:.05em;color:var(--rd-local-muted);}
.deck .pl-pied .page,.deck .pl.marine .pl-pied .page{font-size:14px;font-weight:500;color:var(--rd-local-muted);}
.deck .pl-filigrane{right:15px;bottom:8px;font-size:150px;opacity:.23;z-index:0;}
/* Les commandes constituent une surface distincte des résultats. */
.deck .pl-cur{border-top:1px solid var(--rd-local-border);padding-top:16px;margin-top:20px;}
.deck .pl-cur label,.deck .pl.marine .pl-cur label{font-size:11px;letter-spacing:.04em;line-height:1.5;color:var(--rd-local-muted);}
.deck .pl-cur label b,.deck .pl.marine .pl-cur label b{color:var(--rd-local-accent);font-size:20px;font-weight:500;letter-spacing:-.03em;white-space:nowrap;}
.deck .pl-cur input[type=range]{min-height:32px;accent-color:#4273d0;cursor:ew-resize;}
.deck .pl.marine .pl-cur input[type=range]{accent-color:#a8c9ff;}
.deck .pl-cur .rep,.deck .pl.marine .pl-cur .rep{font-size:11px;line-height:1.5;letter-spacing:0;color:var(--rd-local-muted);}
.deck .pl-seg{padding:4px;gap:3px;border:1px solid var(--rd-local-border);background:var(--rd-local-panel);border-radius:10px;align-self:stretch;margin-top:16px;}
/* Les sept onglets tiennent le plancher tactile de 44 px. La page le pose
   deja sous pointeur grossier, mais cette feuille est chargee apres et le
   second selecteur, celui de la planche marine, bat tout bloc ajoute plus
   bas : la valeur se releve donc ici, et nulle part ailleurs. Le
   remplissage et la taille de texte ne bougent pas, c'est la boite qui
   grandit. */
.deck .pl-seg button,.deck .pl.marine .pl-seg button{border:0;min-height:44px;padding:7px 9px;border-radius:7px;font-size:11px;font-weight:500;line-height:1.35;letter-spacing:.02em;color:var(--rd-local-muted);}
.deck .pl-seg button[aria-pressed="true"]{background:#244fbc;color:#fff;box-shadow:0 2px 6px #1535611a;}
.deck .pl.marine .pl-seg button[aria-pressed="true"]{background:#a8c9ff;color:#102640;}
.deck .curs-grille{gap:5px 22px;margin-top:0;}
.deck .curs-grille .pl-cur{margin:0;padding-top:12px;}
.deck .pl-mat{border-spacing:4px;font-size:12px;}
.deck .pl-mat td{padding:10px 5px;border-radius:6px;}
.deck .pl-mat th{letter-spacing:0;font-size:11px;padding:6px 4px;}
.deck .pl-mat td.vive{background:#244fbc;box-shadow:none;}
/* La ligne interpolee (audit UI/UX du 9 octobre, point A02, 10/10/2026) :
   quand la prime specifique fait sortir le taux de la grille publiee, le
   script ajoute une ligne calculee, en italique et en encre attenuee
   (#5e6d84). Sur les cases les plus bleues, dont l'intensite depasse
   celle de la grille (0,45 de bleu a la prime la plus basse), ce gris
   tombait a 3,2:1, et sur la case retenue, en Klein (td.interp.vive), a
   1,4:1 : la regle de l'italique venait apres celle du blanc. L'italique
   suffit a signaler le calcul, l'encre fonce (5,1:1 au pire) et la case
   retenue reprend le blanc des autres cases retenues (7,2:1). */
.deck .pl-mat td.interp{color:#3f4f66;}
.deck .pl-mat td.interp.vive{color:#fff;}
.deck .pl-mat caption{font-size:11px;line-height:1.5;color:var(--rd-local-muted);margin-top:10px;}
.deck .pl-lev{align-items:center;padding:16px 14px;margin:0 0 9px;min-height:60px;border:1px solid #dfe6ef;border-radius:11px;font-size:13px;line-height:1.55;background:#f7f9fc;color:#596b81;transition:background .18s,border-color .18s;}
.deck .pl-lev[aria-pressed="true"]{background:#eef3fc;border-color:#c5d6f1;color:#153561;}
.deck .pl-lev .puce{width:13px;height:13px;border-radius:50%;border-color:#a8b7cb;margin-right:8px;}
.deck .pl-lev[aria-pressed="true"] .puce{background:#244fbc;border:3px solid #d5e2fa;box-shadow:0 0 0 1px #244fbc;}
.deck .pl-lev .m{font-size:14px;letter-spacing:-.02em;}
.deck .pl-lev[aria-pressed="true"] .m{color:#244fbc;}
.deck .pl :is(button,input):focus-visible,.deck .pt-l:focus-visible{outline:2px solid var(--rd-local-accent);outline-offset:3px;}
/* Le rail des planches prend le focus au clavier (audit du 03/10/2026, A11Y-3).
   Son anneau Klein, pose a 3 px hors du rail, etait rogne par le lecteur de
   l'accueil et des offres et se perdait sur la bande marine de l'exemple.
   Rentre dans le rail, il passe sous la planche, qui le couvre sauf sur sa
   lisiere haute : l'anneau est donc aussi trace dans la planche visible, a
   la couleur d'accent de la planche (Klein sur blanc, bleu clair sur marine).
   Les fleches du clavier donnent ensuite le focus a la planche elle-meme
   (pagine) : meme anneau, a l'interieur, sinon rogne lui aussi. */
.deck .deck-scene:focus-visible{outline:2px solid #A8C9FF;outline-offset:-4px;}
.deck .deck-scene:focus-visible .pl-cellule.on .pl,.deck .deck-scene .pl:focus-visible{outline:2px solid var(--rd-local-accent);outline-offset:-4px;}
.deck .pl .btn-sm{min-height:34px;border-radius:8px;font-size:11px;letter-spacing:.03em;}
/* Couverture : sommaire en deux colonnes, fiche de mission indépendante. */
.deck .pl[data-pl="1"] .pl-titre{font-size:clamp(34px,5.4cqi,56px);max-width:none;letter-spacing:-.045em;margin-top:28px;}
.deck [data-pl="1"] .pl-rep{max-width:72ch;}
.deck [data-pl="1"] .pl-corps{margin-top:28px;}
.deck [data-pl="1"] [data-t="sommaire"]{display:grid;grid-template-columns:1fr 1fr;gap:0 20px;}
.deck [data-pl="1"] [data-t="sommaire"] tr{display:flex;align-items:center;justify-content:space-between;gap:10px;min-height:65px;border-bottom:1px solid #ffffff24;}
.deck [data-pl="1"] [data-t="sommaire"] td{border:0;padding:10px 0;font-size:12px;}
.deck [data-pl="1"] [data-t="sommaire"] td.n{flex-shrink:0;min-width:25px;color:#aacbff;}
.deck [data-pl="1"] .pl-bandeau .chiffre{font-size:44px;}
/* Chaque page garde une hiérarchie adaptée à son sujet. */
.deck [data-pl="2"] [data-svg="fourchette"]{background:#f2f5fa;border-radius:12px;padding:16px 12px;margin-bottom:2px;}
.deck [data-pl="3"] [data-svg="trajectoire"]{padding-top:22px;padding-bottom:20px;}
.deck [data-pl="5"] .pl-corps{grid-template-columns:minmax(0,1.25fr) minmax(0,1fr);}
.deck [data-pl="5"] .pl-corps>div:last-child .pl-cles{margin:12px 0 8px;}
.deck [data-pl="6"] .pl-corps>div:last-child .pl-cle:first-child .v{font-size:54px;}
.deck [data-pl="7"] .pl-corps>div:last-child .pl-cles{margin-top:28px;}
.deck [data-pl="8"] [data-svg="convergence"]{padding-block:6px 16px;}
.deck [data-pl="9"] .pl-corps{grid-template-columns:minmax(0,1.5fr) minmax(0,1fr);}
.deck [data-pl="10"] .pl-corps{grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);}
.deck [data-pl="10"] .pl-corps>div:last-child .pl-cles{grid-template-columns:1fr 1fr;gap:14px;margin-top:18px;}
.deck [data-pl="10"] .pl-corps>div:last-child .pl-cle .v{font-size:27px;}
.deck [data-pl="10"] .pl-corps>div:last-child .pl-cle:last-child{grid-column:1/-1;}
.deck .deck-fleche{opacity:1;background:#fff;color:#345782;border:1px solid #dfe6ef;box-shadow:0 3px 12px #17325312;width:40px;height:40px;}
.deck .deck-fleche:hover,.deck .deck-fleche:focus-visible{background:#edf3fc;}
.deck .deck-fleche[disabled]{opacity:.2;}
.deck .deck-sommaire select{border-radius:10px;border-color:#cbd7e7;}
.deck .deck-dl{border-radius:14px;border-color:#dfe6ef;}
/* Les hauteurs restent fluides : les notes développées ne sont jamais coupées. */
@container (max-width:899px){
  .deck .pl{min-height:0;padding:24px;}
  .deck .pl-corps.c21,.deck .pl-corps.c2,.deck .pl-corps.c3,.deck .pl-corps.c12,.deck [data-pl] .pl-corps{grid-template-columns:1fr;}
  .deck .pl-corps{gap:22px;margin-block:24px;}
  .deck .pl-titre,.deck .pl.marine .pl-titre{max-width:35ch;}
  .deck .pl-bandeau{flex-direction:row;align-items:center;}
  .deck .pl-bandeau p{max-width:65ch;}
  .deck .pl-filigrane{display:none;}
  .deck .curs-grille{grid-template-columns:1fr 1fr;}
}
@container (max-width:520px){
  .deck .pl{padding:22px 17px 18px;border-radius:16px;}
  .deck .pl::before{left:17px;}
  .deck .pl-sect{font-size:10px;letter-spacing:.055em;flex:1;}
  .deck .pl-num{font-size:10px;padding:4px 6px;}
  .deck .pl-titre,.deck .pl.marine .pl-titre{font-size:26px;line-height:1.22;margin-top:18px;}
  .deck .pl[data-pl="1"] .pl-titre{font-size:34px;}
  .deck .pl-rep,.deck .pl.marine .pl-rep{font-size:13px;line-height:1.7;}
  .deck .pl-corps>div+div,.deck .pl.marine .pl-corps>div+div{padding:16px 13px;border-radius:12px;}
  .deck .pl-t{font-size:12px;table-layout:fixed;}
  .deck .pl-t td.n,.deck .pl-t th.n{font-size:12px;}
  .deck .pl-t td:first-child{padding-right:8px;width:59%;}
  .deck .pl-t tr.tot td.n{font-size:12px;}
  .deck .pl-st{font-size:10px;letter-spacing:.06em;}
  .deck .pl-p{font-size:13px;line-height:1.7;}
  .deck .pl-bandeau{flex-direction:column;align-items:flex-start;padding:17px;gap:12px;}
  .deck .pl-bandeau .chiffre{font-size:30px;white-space:normal;}
  .deck .pl-pied .rh{font-size:9px;letter-spacing:.015em;line-height:1.9;}
  .deck .pl-pied{gap:9px;}
  .deck .pl-pied .page{font-size:12px;}
  .deck [data-pl="1"] [data-t="sommaire"]{grid-template-columns:1fr;}
  .deck [data-pl="1"] [data-t="sommaire"] tr{min-height:45px;}
  .deck [data-pl="1"] [data-t="sommaire"] td:first-child{width:auto;}
  .deck .curs-grille{grid-template-columns:1fr;}
  .deck .pl-mat{border-spacing:2px;}
  .deck .pl-mat th,.deck .pl-mat td{padding:8px 1px;font-size:11px;letter-spacing:-.045em;}
  .deck .pl-seg button{padding:8px 5px;min-height:44px;font-size:10px;}
  .deck [data-pl="2"] [data-svg="fourchette"]{padding:12px 0;}
  .deck [data-pl="10"] .pl-corps>div:last-child .pl-cles{grid-template-columns:1fr;}
  .deck .pl-lev{padding:13px 11px;font-size:12px;}
  /* La largeur minimale ne vaut que dans la boite qui defile : hors d'elle,
     sans script, le trace doit pouvoir retrecir au lieu d'etre coupe. La
     fourchette et les leviers se replient a toutes les largeurs : la page
     leur rend deja ce droit en ligne, la feuille ne le leur reprend plus. */
  .deck .rd-chart-scroll>[data-svg="trajectoire"],.deck .rd-chart-scroll>[data-svg="pont"]{min-width:540px;}
  .deck .rd-chart-scroll>[data-svg="convergence"]{min-width:440px;}
}
@media(max-width:999px){
  .deck .pl{min-height:0;}
  .deck .pl-corps.c21,.deck .pl-corps.c2,.deck .pl-corps.c3,.deck .pl-corps.c12,.deck [data-pl] .pl-corps{grid-template-columns:1fr;}
  .deck .deck-fleche{width:32px;height:44px;border-radius:8px;background:#f5f8fdf2;}
  .deck .deck-fleche--prec{left:-16px;}
  .deck .deck-fleche--suiv{right:-16px;}
}
/* Sous 400 px la pastille viendrait toucher le bord de l'ecran : a 360 px
   la gouttiere tombe a 16 px et le retrait vaut 16, son bord gauche tombe
   exactement a zero, dans la bande ou le doigt declenche le retour du
   navigateur, et la fleche suivante affleure le bord droit par symetrie.
   Meme dessin que la fleche jumelle de l'accueil, section 46 d'artis.css,
   decide le 17 septembre : la pastille perd 4 px de large et en gagne
   autant de retrait, son entree dans la planche reste de 16 px et il lui
   reste 4 px d'air de chaque cote. Aucune zone de contact invisible ne
   repart vers l'interieur : elle recouvrirait le rail defilant et generait
   le glissement, qui est le geste premier. */
@media(max-width:400px){
  .deck .deck-fleche{width:28px;}
  .deck .deck-fleche--prec{left:-12px;}
  .deck .deck-fleche--suiv{right:-12px;}
}
@media(prefers-reduced-motion:reduce){.deck *{transition:none!important;animation:none!important;}}
@media print{.deck .pl-cellule{break-after:page;}.deck .deck-scene{display:block;height:auto!important;overflow:visible;}.deck .pl-cellule .pl{opacity:1;}.deck .deck-fleche{display:none;}}
