/* ==========================================================
   Trame · Icônes animées (fichier généré par outils : un geste par icône)
   Les icônes sont dessinées en ligne par js/icones-animees.js ; chaque
   partie bouge seule quand on survole (ou atteint au clavier) le bouton,
   le lien ou la carte qui porte l'icône. Au repos, rien ne bouge.
   ========================================================== */
.ic-anime { overflow: visible; }
.ic-anime * { transform-box: view-box; }
.ic-anime .ia-cache { opacity: 0; }
/* Points d'appui des gestes (coordonnées de la grille 24) */
.ic-groupes .ia-bras, .ic-groupes .ia-main { transform-origin: 4.6px 15.4px; }
.ic-groupes .ia-tete { transform-origin: 9px 11.5px; }
.ic-groupes .ia-ami { transform-origin: 16px 19px; }
.ic-stats .ia-barre { transform-origin: 12px 20px; }
.ic-cours .ia-page-d { transform-origin: 12px 12px; }
.ic-revision .ia-rembobine, .ic-revision .ia-aiguille { transform-origin: 12px 12px; }
.ic-carte .ia-noeud-1 { transform-origin: 12px 6px; } .ic-carte .ia-noeud-2 { transform-origin: 17px 15px; } .ic-carte .ia-noeud-3 { transform-origin: 6px 17.5px; }
.ic-carte .ia-lien, .ic-tableau .ia-trait, .ic-ecrire .ia-trace { stroke-dasharray: 18; }
.ic-alertes .ia-cloche { transform-origin: 12px 4px; } .ic-alertes .ia-battant { transform-origin: 12px 16px; }
.ic-micro .ia-capsule { transform-origin: 12px 21px; }
.ic-reglages .ia-roue { transform-origin: 12px 12px; }
.ic-liste .ia-ligne { transform-origin: 9px 12px; }
.ic-coche-cercle .ia-coche, .ic-bouclier .ia-coche, .ic-coche-double .ia-coche { stroke-dasharray: 16; }
.ic-bouclier .ia-ecu { transform-origin: 12px 12px; }
.ic-utilisateur .ia-tete { transform-origin: 12px 12px; }
.ic-question .ia-point-q { transform-origin: 12px 17px; }
.ic-horloge .ia-minute, .ic-horloge .ia-heure { transform-origin: 12px 12px; }
.ic-archive .ia-couvercle { transform-origin: 4px 9px; }
.ic-globe .ia-meridien { transform-origin: 12px 12px; }
.ic-soleil .ia-rayons, .ic-soleil .ia-coeur { transform-origin: 12px 12px; }
.ic-personne-plus .ia-plus { transform-origin: 18.5px 10px; } .ic-personne-plus .ia-perso { transform-origin: 10px 20px; }
.ic-drapeau .ia-toile { transform-origin: 6px 8.5px; }
.ic-mail .ia-rabat { transform-origin: 12px 7px; }
.ic-etincelle .ia-etoile { transform-origin: 12px 10.5px; } .ic-etincelle .ia-scintille { transform-origin: 18.5px 18px; }
.ic-palette .ia-goutte-1 { transform-origin: 7.5px 11px; } .ic-palette .ia-goutte-2 { transform-origin: 10px 7.5px; } .ic-palette .ia-goutte-3 { transform-origin: 14.5px 7.5px; }
.ic-poubelle .ia-couvercle { transform-origin: 4.5px 7px; }
.ic-envoyer .ia-avion { transform-origin: 12px 12px; }
.ic-ecouteur .ia-casque { transform-origin: 12px 20px; }
.ic-reduire .ia-mini { transform-origin: 14.75px 14.5px; } .ic-agrandir .ia-coins { transform-origin: 12px 12px; }
.ic-filtre .ia-f { transform-origin: 12px 12px; }
.ic-planning .ia-jour { transform-origin: 12px 14.8px; }
.ic-plus-vertical .ia-pt, .ic-plus-horizontal .ia-pt { transform-origin: 12px 12px; }
.ic-feather .ia-plume { transform-origin: 5px 19px; } .ic-feather .ia-barbe { stroke-dasharray: 6; }
.ic-coche .ia-coche { stroke-dasharray: 22; }
.ic-erreur .ia-croix, .ic-alerte .ia-exclam { transform-origin: 12px 12px; }
.ic-plus .ia-croix-plus, .ic-fermer .ia-x { transform-origin: 12px 12px; }
.ic-lecture .ia-lecture { transform-origin: 12px 12px; } .ic-stop .ia-stop { transform-origin: 12px 12px; }
.ic-pause .ia-barre-p { transform-origin: 12px 18.5px; }
.ic-rafraichir .ia-tourne { transform-origin: 12px 12px; }
.ic-annuler .ia-retour { transform-origin: 9px 12px; }
.ic-liste .ia-puce-1 { transform-origin: 4.7px 7px; } .ic-liste .ia-puce-2 { transform-origin: 4.7px 12px; } .ic-liste .ia-puce-3 { transform-origin: 4.7px 17px; }

@media (hover: hover) and (pointer: fine) {
  :is(a, button, label, summary, [role="button"], [role="tab"], [role="menuitem"]):hover .ic-groupes .ia-bras { animation: ia-salut 1.3s var(--ease-sortie) both; }
  :is(a, button, label, summary, [role="button"], [role="tab"], [role="menuitem"]):hover .ic-groupes .ia-main { animation: ia-salut-main 1.3s var(--ease-sortie) both; }
  :is(a, button, label, summary, [role="button"], [role="tab"], [role="menuitem"]):hover .ic-groupes .ia-tete { animation: ia-penche 1.1s var(--ease-sortie) both; }
  :is(a, button, label, summary, [role="button"], [role="tab"], [role="menuitem"]):hover .ic-groupes .ia-ami { animation: ia-hoche 700ms var(--ease-sortie) 250ms both; }
  :is(a, button, label, summary, [role="button"], [role="tab"], [role="menuitem"]):hover .ic-planning .ia-anneau-1 { animation: ia-saut 520ms var(--ease-ressort) both; }
  :is(a, button, label, summary, [role="button"], [role="tab"], [role="menuitem"]):hover .ic-planning .ia-anneau-2 { animation: ia-saut 520ms var(--ease-ressort) 90ms both; }
  :is(a, button, label, summary, [role="button"], [role="tab"], [role="menuitem"]):hover .ic-planning .ia-jour { animation: ia-pop 420ms var(--ease-ressort) 200ms both; }
  :is(a, button, label, summary, [role="button"], [role="tab"], [role="menuitem"]):hover .ic-stats .ia-barre-1 { animation: ia-pousse 560ms var(--ease-ressort) both; }
  :is(a, button, label, summary, [role="button"], [role="tab"], [role="menuitem"]):hover .ic-stats .ia-barre-2 { animation: ia-pousse 560ms var(--ease-ressort) 80ms both; }
  :is(a, button, label, summary, [role="button"], [role="tab"], [role="menuitem"]):hover .ic-stats .ia-barre-3 { animation: ia-pousse 560ms var(--ease-ressort) 160ms both; }
  :is(a, button, label, summary, [role="button"], [role="tab"], [role="menuitem"]):hover .ic-cours .ia-page-d { animation: ia-tourne 700ms var(--ease-in-out) both; }
  :is(a, button, label, summary, [role="button"], [role="tab"], [role="menuitem"]):hover .ic-accueil .ia-toit { animation: ia-toit 560ms var(--ease-ressort) both; }
  :is(a, button, label, summary, [role="button"], [role="tab"], [role="menuitem"]):hover .ic-accueil .ia-porte { animation: ia-apparait 300ms var(--ease-sortie) 120ms both; }
  :is(a, button, label, summary, [role="button"], [role="tab"], [role="menuitem"]):hover .ic-ecrire .ia-crayon { animation: ia-ecrit 800ms var(--ease-sortie) both; }
  :is(a, button, label, summary, [role="button"], [role="tab"], [role="menuitem"]):hover .ic-ecrire .ia-trace { animation: ia-trace 800ms var(--ease-sortie) both; }
  :is(a, button, label, summary, [role="button"], [role="tab"], [role="menuitem"]):hover .ic-revision .ia-rembobine { animation: ia-rembobine 800ms var(--ease-in-out) both; }
  :is(a, button, label, summary, [role="button"], [role="tab"], [role="menuitem"]):hover .ic-revision .ia-aiguille { animation: ia-aiguille 800ms var(--ease-in-out) both; }
  :is(a, button, label, summary, [role="button"], [role="tab"], [role="menuitem"]):hover .ic-carte .ia-noeud-1 { animation: ia-pulse 480ms var(--ease-ressort) 0ms both; }
  :is(a, button, label, summary, [role="button"], [role="tab"], [role="menuitem"]):hover .ic-carte .ia-lien-1 { animation: ia-trace-court 480ms var(--ease-sortie) 60ms both; }
  :is(a, button, label, summary, [role="button"], [role="tab"], [role="menuitem"]):hover .ic-carte .ia-noeud-2 { animation: ia-pulse 480ms var(--ease-ressort) 110ms both; }
  :is(a, button, label, summary, [role="button"], [role="tab"], [role="menuitem"]):hover .ic-carte .ia-lien-2 { animation: ia-trace-court 480ms var(--ease-sortie) 170ms both; }
  :is(a, button, label, summary, [role="button"], [role="tab"], [role="menuitem"]):hover .ic-carte .ia-noeud-3 { animation: ia-pulse 480ms var(--ease-ressort) 220ms both; }
  :is(a, button, label, summary, [role="button"], [role="tab"], [role="menuitem"]):hover .ic-carte .ia-lien-3 { animation: ia-trace-court 480ms var(--ease-sortie) 280ms both; }
  :is(a, button, label, summary, [role="button"], [role="tab"], [role="menuitem"]):hover .ic-ressources .ia-feuille { animation: ia-sort 420ms var(--ease-ressort) both; }
  :is(a, button, label, summary, [role="button"], [role="tab"], [role="menuitem"]):hover .ic-ressources .ia-dossier { animation: ia-tasse 420ms var(--ease-sortie) both; }
  :is(a, button, label, summary, [role="button"], [role="tab"], [role="menuitem"]):hover .ic-inbox .ia-lettre { animation: ia-tombe 760ms var(--ease-sortie) both; }
  :is(a, button, label, summary, [role="button"], [role="tab"], [role="menuitem"]):hover .ic-inbox .ia-bac { animation: ia-recoit 760ms var(--ease-sortie) both; }
  :is(a, button, label, summary, [role="button"], [role="tab"], [role="menuitem"]):hover .ic-recherche .ia-loupe { animation: ia-cherche 800ms var(--ease-in-out) both; }
  :is(a, button, label, summary, [role="button"], [role="tab"], [role="menuitem"]):hover .ic-alertes .ia-cloche { animation: ia-cloche 800ms var(--ease-sortie) both; }
  :is(a, button, label, summary, [role="button"], [role="tab"], [role="menuitem"]):hover .ic-alertes .ia-battant { animation: ia-battant 800ms var(--ease-sortie) both; }
  :is(a, button, label, summary, [role="button"], [role="tab"], [role="menuitem"]):hover .ic-micro .ia-capsule { animation: ia-souffle 900ms var(--ease-sortie) both; }
  :is(a, button, label, summary, [role="button"], [role="tab"], [role="menuitem"]):hover .ic-micro .ia-onde-g { animation: ia-onde-g 900ms var(--ease-sortie) both; }
  :is(a, button, label, summary, [role="button"], [role="tab"], [role="menuitem"]):hover .ic-micro .ia-onde-d { animation: ia-onde-d 900ms var(--ease-sortie) both; }
  :is(a, button, label, summary, [role="button"], [role="tab"], [role="menuitem"]):hover .ic-reglages .ia-roue { animation: ia-roue 700ms var(--ease-ressort) both; }
  :is(a, button, label, summary, [role="button"], [role="tab"], [role="menuitem"]):hover .ic-image .ia-soleil { animation: ia-leve 560ms var(--ease-ressort) both; }
  :is(a, button, label, summary, [role="button"], [role="tab"], [role="menuitem"]):hover .ic-tableau .ia-trait-h { animation: ia-trace-court 420ms var(--ease-sortie) both; }
  :is(a, button, label, summary, [role="button"], [role="tab"], [role="menuitem"]):hover .ic-tableau .ia-trait-v { animation: ia-trace-court 420ms var(--ease-sortie) 120ms both; }
  :is(a, button, label, summary, [role="button"], [role="tab"], [role="menuitem"]):hover .ic-liste .ia-ligne-1 { animation: ia-ecrit-ligne 420ms var(--ease-sortie) 0ms both; }
  :is(a, button, label, summary, [role="button"], [role="tab"], [role="menuitem"]):hover .ic-liste .ia-puce-1 { animation: ia-pop 300ms var(--ease-ressort) 0ms both; }
  :is(a, button, label, summary, [role="button"], [role="tab"], [role="menuitem"]):hover .ic-liste .ia-ligne-2 { animation: ia-ecrit-ligne 420ms var(--ease-sortie) 90ms both; }
  :is(a, button, label, summary, [role="button"], [role="tab"], [role="menuitem"]):hover .ic-liste .ia-puce-2 { animation: ia-pop 300ms var(--ease-ressort) 90ms both; }
  :is(a, button, label, summary, [role="button"], [role="tab"], [role="menuitem"]):hover .ic-liste .ia-ligne-3 { animation: ia-ecrit-ligne 420ms var(--ease-sortie) 180ms both; }
  :is(a, button, label, summary, [role="button"], [role="tab"], [role="menuitem"]):hover .ic-liste .ia-puce-3 { animation: ia-pop 300ms var(--ease-ressort) 180ms both; }
  :is(a, button, label, summary, [role="button"], [role="tab"], [role="menuitem"]):hover .ic-lien .ia-maillon-1 { animation: ia-ecarte-1 600ms var(--ease-ressort) both; }
  :is(a, button, label, summary, [role="button"], [role="tab"], [role="menuitem"]):hover .ic-lien .ia-maillon-2 { animation: ia-ecarte-2 600ms var(--ease-ressort) both; }
  :is(a, button, label, summary, [role="button"], [role="tab"], [role="menuitem"]):hover .ic-coche-cercle .ia-coche { animation: ia-dessine 460ms var(--ease-sortie) both; }
  :is(a, button, label, summary, [role="button"], [role="tab"], [role="menuitem"]):hover .ic-bouclier .ia-coche { animation: ia-dessine 460ms var(--ease-sortie) both; }
  :is(a, button, label, summary, [role="button"], [role="tab"], [role="menuitem"]):hover .ic-coche-double .ia-coche { animation: ia-dessine 460ms var(--ease-sortie) both; }
  :is(a, button, label, summary, [role="button"], [role="tab"], [role="menuitem"]):hover .ic-coche-double .ia-coche-2 { animation: ia-dessine 460ms var(--ease-sortie) 160ms both; }
  :is(a, button, label, summary, [role="button"], [role="tab"], [role="menuitem"]):hover .ic-bouclier .ia-ecu { animation: ia-pop-leger 460ms var(--ease-ressort) both; }
  :is(a, button, label, summary, [role="button"], [role="tab"], [role="menuitem"]):hover .ic-utilisateur .ia-tete { animation: ia-hoche 600ms var(--ease-sortie) both; }
  :is(a, button, label, summary, [role="button"], [role="tab"], [role="menuitem"]):hover .ic-question .ia-point-q { animation: ia-balance 700ms var(--ease-sortie) both; }
  :is(a, button, label, summary, [role="button"], [role="tab"], [role="menuitem"]):hover .ic-horloge .ia-minute { animation: ia-tour 800ms var(--ease-in-out) both; }
  :is(a, button, label, summary, [role="button"], [role="tab"], [role="menuitem"]):hover .ic-horloge .ia-heure { animation: ia-quart 800ms var(--ease-in-out) both; }
  :is(a, button, label, summary, [role="button"], [role="tab"], [role="menuitem"]):hover .ic-archive .ia-couvercle { animation: ia-couvercle 560ms var(--ease-ressort) both; }
  :is(a, button, label, summary, [role="button"], [role="tab"], [role="menuitem"]):hover .ic-fichier .ia-page { animation: ia-souleve 480ms var(--ease-ressort) both; }
  :is(a, button, label, summary, [role="button"], [role="tab"], [role="menuitem"]):hover .ic-globe .ia-meridien { animation: ia-meridien 900ms var(--ease-in-out) both; }
  :is(a, button, label, summary, [role="button"], [role="tab"], [role="menuitem"]):hover .ic-soleil .ia-rayons { animation: ia-rayons 800ms var(--ease-in-out) both; }
  :is(a, button, label, summary, [role="button"], [role="tab"], [role="menuitem"]):hover .ic-soleil .ia-coeur { animation: ia-pulse 800ms var(--ease-sortie) both; }
  :is(a, button, label, summary, [role="button"], [role="tab"], [role="menuitem"]):hover .ic-cadenas .ia-anse { animation: ia-anse 620ms var(--ease-ressort) both; }
  :is(a, button, label, summary, [role="button"], [role="tab"], [role="menuitem"]):hover .ic-personne-plus .ia-plus { animation: ia-plus 500ms var(--ease-ressort) both; }
  :is(a, button, label, summary, [role="button"], [role="tab"], [role="menuitem"]):hover .ic-personne-plus .ia-perso { animation: ia-hoche 500ms var(--ease-sortie) both; }
  :is(a, button, label, summary, [role="button"], [role="tab"], [role="menuitem"]):hover .ic-copier .ia-dessus { animation: ia-copie 520ms var(--ease-ressort) both; }
  :is(a, button, label, summary, [role="button"], [role="tab"], [role="menuitem"]):hover .ic-drapeau .ia-toile { animation: ia-flotte 900ms var(--ease-sortie) both; }
  :is(a, button, label, summary, [role="button"], [role="tab"], [role="menuitem"]):hover .ic-mail .ia-rabat { animation: ia-rabat 560ms var(--ease-ressort) both; }
  :is(a, button, label, summary, [role="button"], [role="tab"], [role="menuitem"]):hover .ic-trier .ia-desc { animation: ia-desc 560ms var(--ease-ressort) both; }
  :is(a, button, label, summary, [role="button"], [role="tab"], [role="menuitem"]):hover .ic-trier .ia-asc { animation: ia-asc 560ms var(--ease-ressort) both; }
  :is(a, button, label, summary, [role="button"], [role="tab"], [role="menuitem"]):hover .ic-etincelle .ia-etoile { animation: ia-scintille 700ms var(--ease-ressort) both; }
  :is(a, button, label, summary, [role="button"], [role="tab"], [role="menuitem"]):hover .ic-etincelle .ia-scintille { animation: ia-pulse 500ms var(--ease-ressort) 180ms both; }
  :is(a, button, label, summary, [role="button"], [role="tab"], [role="menuitem"]):hover .ic-palette .ia-goutte-1 { animation: ia-pulse 380ms var(--ease-ressort) 0ms both; }
  :is(a, button, label, summary, [role="button"], [role="tab"], [role="menuitem"]):hover .ic-palette .ia-goutte-2 { animation: ia-pulse 380ms var(--ease-ressort) 80ms both; }
  :is(a, button, label, summary, [role="button"], [role="tab"], [role="menuitem"]):hover .ic-palette .ia-goutte-3 { animation: ia-pulse 380ms var(--ease-ressort) 160ms both; }
  :is(a, button, label, summary, [role="button"], [role="tab"], [role="menuitem"]):hover .ic-scanner .ia-balayage { animation: ia-balaye 900ms var(--ease-in-out) both; }
  :is(a, button, label, summary, [role="button"], [role="tab"], [role="menuitem"]):hover .ic-poubelle .ia-couvercle { animation: ia-couvercle-poubelle 520ms var(--ease-ressort) both; }
  :is(a, button, label, summary, [role="button"], [role="tab"], [role="menuitem"]):hover .ic-envoyer .ia-avion { animation: ia-decolle 700ms var(--ease-sortie) both; }
  :is(a, button, label, summary, [role="button"], [role="tab"], [role="menuitem"]):hover .ic-importer .ia-fleche { animation: ia-monte 560ms var(--ease-ressort) both; }
  :is(a, button, label, summary, [role="button"], [role="tab"], [role="menuitem"]):hover .ic-telecharger .ia-fleche { animation: ia-descend 560ms var(--ease-ressort) both; }
  :is(a, button, label, summary, [role="button"], [role="tab"], [role="menuitem"]):hover .ic-sortir .ia-fleche { animation: ia-droite 560ms var(--ease-ressort) both; }
  :is(a, button, label, summary, [role="button"], [role="tab"], [role="menuitem"]):hover .ic-crochets .ia-crochet-g { animation: ia-ecarte-g 520ms var(--ease-ressort) both; }
  :is(a, button, label, summary, [role="button"], [role="tab"], [role="menuitem"]):hover .ic-crochets .ia-crochet-d { animation: ia-ecarte-d 520ms var(--ease-ressort) both; }
  :is(a, button, label, summary, [role="button"], [role="tab"], [role="menuitem"]):hover .ic-ecouteur .ia-casque { animation: ia-mesure 700ms var(--ease-sortie) both; }
  :is(a, button, label, summary, [role="button"], [role="tab"], [role="menuitem"]):hover .ic-ecran .ia-reflet { animation: ia-reflet-ecran 600ms var(--ease-sortie) both; }
  :is(a, button, label, summary, [role="button"], [role="tab"], [role="menuitem"]):hover .ic-filtre .ia-f-1 { animation: ia-resserre 480ms var(--ease-ressort) 0ms both; }
  :is(a, button, label, summary, [role="button"], [role="tab"], [role="menuitem"]):hover .ic-filtre .ia-f-2 { animation: ia-resserre 480ms var(--ease-ressort) 70ms both; }
  :is(a, button, label, summary, [role="button"], [role="tab"], [role="menuitem"]):hover .ic-filtre .ia-f-3 { animation: ia-resserre 480ms var(--ease-ressort) 140ms both; }
  :is(a, button, label, summary, [role="button"], [role="tab"], [role="menuitem"]):hover .ic-hors-ligne .ia-ondes-hl { animation: ia-clignote-hl 900ms var(--ease-sortie) both; }
  :is(a, button, label, summary, [role="button"], [role="tab"], [role="menuitem"]):hover .ic-plus-vertical .ia-pt-1 { animation: ia-orbite 820ms var(--ease-in-out) 0ms both; }
  :is(a, button, label, summary, [role="button"], [role="tab"], [role="menuitem"]):hover .ic-plus-vertical .ia-pt-2 { animation: ia-orbite 820ms var(--ease-in-out) 70ms both; }
  :is(a, button, label, summary, [role="button"], [role="tab"], [role="menuitem"]):hover .ic-plus-vertical .ia-pt-3 { animation: ia-orbite 820ms var(--ease-in-out) 140ms both; }
  :is(a, button, label, summary, [role="button"], [role="tab"], [role="menuitem"]):hover .ic-plus-horizontal .ia-pt-1 { animation: ia-orbite 820ms var(--ease-in-out) 0ms both; }
  :is(a, button, label, summary, [role="button"], [role="tab"], [role="menuitem"]):hover .ic-plus-horizontal .ia-pt-2 { animation: ia-orbite 820ms var(--ease-in-out) 70ms both; }
  :is(a, button, label, summary, [role="button"], [role="tab"], [role="menuitem"]):hover .ic-plus-horizontal .ia-pt-3 { animation: ia-orbite 820ms var(--ease-in-out) 140ms both; }
  :is(a, button, label, summary, [role="button"], [role="tab"], [role="menuitem"]):hover .ic-feather .ia-plume { animation: ia-ecrit 700ms var(--ease-sortie) both; }
  :is(a, button, label, summary, [role="button"], [role="tab"], [role="menuitem"]):hover .ic-feather .ia-barbe-1 { animation: ia-trace-court 360ms var(--ease-sortie) 0ms both; }
  :is(a, button, label, summary, [role="button"], [role="tab"], [role="menuitem"]):hover .ic-feather .ia-barbe-2 { animation: ia-trace-court 360ms var(--ease-sortie) 70ms both; }
  :is(a, button, label, summary, [role="button"], [role="tab"], [role="menuitem"]):hover .ic-feather .ia-barbe-3 { animation: ia-trace-court 360ms var(--ease-sortie) 140ms both; }
  :is(a, button, label, summary, [role="button"], [role="tab"], [role="menuitem"]):hover .ic-feather .ia-barbe-4 { animation: ia-trace-court 360ms var(--ease-sortie) 210ms both; }
  :is(a, button, label, summary, [role="button"], [role="tab"], [role="menuitem"]):hover .ic-coche .ia-coche { animation: ia-dessine-long 460ms var(--ease-sortie) both; }
  :is(a, button, label, summary, [role="button"], [role="tab"], [role="menuitem"]):hover .ic-erreur .ia-croix { animation: ia-non 460ms var(--ease-sortie) both; }
  :is(a, button, label, summary, [role="button"], [role="tab"], [role="menuitem"]):hover .ic-info .ia-point-i { animation: ia-rebond 560ms var(--ease-ressort) both; }
  :is(a, button, label, summary, [role="button"], [role="tab"], [role="menuitem"]):hover .ic-alerte .ia-exclam { animation: ia-non 460ms var(--ease-sortie) both; }
  :is(a, button, label, summary, [role="button"], [role="tab"], [role="menuitem"]):hover .ic-plus .ia-croix-plus { animation: ia-plus 420ms var(--ease-ressort) both; }
  :is(a, button, label, summary, [role="button"], [role="tab"], [role="menuitem"]):hover .ic-fermer .ia-x { animation: ia-plus 420ms var(--ease-ressort) both; }
  :is(a, button, label, summary, [role="button"], [role="tab"], [role="menuitem"]):hover .ic-chevron-droite .ia-chevron { animation: ia-droite 480ms var(--ease-ressort) both; }
  :is(a, button, label, summary, [role="button"], [role="tab"], [role="menuitem"]):hover .ic-chevron-gauche .ia-chevron { animation: ia-gauche 480ms var(--ease-ressort) both; }
  :is(a, button, label, summary, [role="button"], [role="tab"], [role="menuitem"]):hover .ic-chevron-bas .ia-chevron { animation: ia-descend 480ms var(--ease-ressort) both; }
  :is(a, button, label, summary, [role="button"], [role="tab"], [role="menuitem"]):hover .ic-chevron-haut .ia-chevron { animation: ia-monte 480ms var(--ease-ressort) both; }
  :is(a, button, label, summary, [role="button"], [role="tab"], [role="menuitem"]):hover .ic-fleche-bas .ia-fleche { animation: ia-descend 520ms var(--ease-ressort) both; }
  :is(a, button, label, summary, [role="button"], [role="tab"], [role="menuitem"]):hover .ic-fleche-droite .ia-fleche { animation: ia-droite 520ms var(--ease-ressort) both; }
  :is(a, button, label, summary, [role="button"], [role="tab"], [role="menuitem"]):hover .ic-lecture .ia-lecture { animation: ia-pop-leger 420ms var(--ease-ressort) both; }
  :is(a, button, label, summary, [role="button"], [role="tab"], [role="menuitem"]):hover .ic-pause .ia-barre-p-1 { animation: ia-pousse 480ms var(--ease-ressort) both; }
  :is(a, button, label, summary, [role="button"], [role="tab"], [role="menuitem"]):hover .ic-pause .ia-barre-p-2 { animation: ia-pousse 480ms var(--ease-ressort) 90ms both; }
  :is(a, button, label, summary, [role="button"], [role="tab"], [role="menuitem"]):hover .ic-stop .ia-stop { animation: ia-pop-leger 420ms var(--ease-ressort) both; }
  :is(a, button, label, summary, [role="button"], [role="tab"], [role="menuitem"]):hover .ic-glisser .ia-grain-1 { animation: ia-droite-leger 420ms var(--ease-ressort) 0ms both; }
  :is(a, button, label, summary, [role="button"], [role="tab"], [role="menuitem"]):hover .ic-glisser .ia-grain-2 { animation: ia-droite-leger 420ms var(--ease-ressort) 70ms both; }
  :is(a, button, label, summary, [role="button"], [role="tab"], [role="menuitem"]):hover .ic-glisser .ia-grain-3 { animation: ia-droite-leger 420ms var(--ease-ressort) 140ms both; }
  :is(a, button, label, summary, [role="button"], [role="tab"], [role="menuitem"]):hover .ic-rafraichir .ia-tourne { animation: ia-demi 600ms var(--ease-ressort) both; }
  :is(a, button, label, summary, [role="button"], [role="tab"], [role="menuitem"]):hover .ic-reduire .ia-mini { animation: ia-pulse 520ms var(--ease-ressort) both; }
  :is(a, button, label, summary, [role="button"], [role="tab"], [role="menuitem"]):hover .ic-reduire .ia-fleche { animation: ia-descend 520ms var(--ease-ressort) both; }
  :is(a, button, label, summary, [role="button"], [role="tab"], [role="menuitem"]):hover .ic-agrandir .ia-coins { animation: ia-pulse 520ms var(--ease-ressort) both; }
  :is(a, button, label, summary, [role="button"], [role="tab"], [role="menuitem"]):hover .ic-annuler .ia-retour { animation: ia-annule 560ms var(--ease-ressort) both; }
  :is(a, button, label, summary, [role="button"], [role="tab"], [role="menuitem"]):hover .ic-ouvrir .ia-sortie { animation: ia-sort-coin 520ms var(--ease-ressort) both; }
  :is(a, button, label, summary, [role="button"], [role="tab"], [role="menuitem"]):hover .ic-citation .ia-guillemet-1 { animation: ia-monte 460ms var(--ease-ressort) both; }
  :is(a, button, label, summary, [role="button"], [role="tab"], [role="menuitem"]):hover .ic-citation .ia-guillemet-2 { animation: ia-monte 460ms var(--ease-ressort) 90ms both; }
}
:is(a, button, label, summary, [role="button"], [role="tab"], [role="menuitem"]):is(:focus-visible, .appui) .ic-groupes .ia-bras { animation: ia-salut 1.3s var(--ease-sortie) both; }
:is(a, button, label, summary, [role="button"], [role="tab"], [role="menuitem"]):is(:focus-visible, .appui) .ic-groupes .ia-main { animation: ia-salut-main 1.3s var(--ease-sortie) both; }
:is(a, button, label, summary, [role="button"], [role="tab"], [role="menuitem"]):is(:focus-visible, .appui) .ic-groupes .ia-tete { animation: ia-penche 1.1s var(--ease-sortie) both; }
:is(a, button, label, summary, [role="button"], [role="tab"], [role="menuitem"]):is(:focus-visible, .appui) .ic-groupes .ia-ami { animation: ia-hoche 700ms var(--ease-sortie) 250ms both; }
:is(a, button, label, summary, [role="button"], [role="tab"], [role="menuitem"]):is(:focus-visible, .appui) .ic-planning .ia-anneau-1 { animation: ia-saut 520ms var(--ease-ressort) both; }
:is(a, button, label, summary, [role="button"], [role="tab"], [role="menuitem"]):is(:focus-visible, .appui) .ic-planning .ia-anneau-2 { animation: ia-saut 520ms var(--ease-ressort) 90ms both; }
:is(a, button, label, summary, [role="button"], [role="tab"], [role="menuitem"]):is(:focus-visible, .appui) .ic-planning .ia-jour { animation: ia-pop 420ms var(--ease-ressort) 200ms both; }
:is(a, button, label, summary, [role="button"], [role="tab"], [role="menuitem"]):is(:focus-visible, .appui) .ic-stats .ia-barre-1 { animation: ia-pousse 560ms var(--ease-ressort) both; }
:is(a, button, label, summary, [role="button"], [role="tab"], [role="menuitem"]):is(:focus-visible, .appui) .ic-stats .ia-barre-2 { animation: ia-pousse 560ms var(--ease-ressort) 80ms both; }
:is(a, button, label, summary, [role="button"], [role="tab"], [role="menuitem"]):is(:focus-visible, .appui) .ic-stats .ia-barre-3 { animation: ia-pousse 560ms var(--ease-ressort) 160ms both; }
:is(a, button, label, summary, [role="button"], [role="tab"], [role="menuitem"]):is(:focus-visible, .appui) .ic-cours .ia-page-d { animation: ia-tourne 700ms var(--ease-in-out) both; }
:is(a, button, label, summary, [role="button"], [role="tab"], [role="menuitem"]):is(:focus-visible, .appui) .ic-accueil .ia-toit { animation: ia-toit 560ms var(--ease-ressort) both; }
:is(a, button, label, summary, [role="button"], [role="tab"], [role="menuitem"]):is(:focus-visible, .appui) .ic-accueil .ia-porte { animation: ia-apparait 300ms var(--ease-sortie) 120ms both; }
:is(a, button, label, summary, [role="button"], [role="tab"], [role="menuitem"]):is(:focus-visible, .appui) .ic-ecrire .ia-crayon { animation: ia-ecrit 800ms var(--ease-sortie) both; }
:is(a, button, label, summary, [role="button"], [role="tab"], [role="menuitem"]):is(:focus-visible, .appui) .ic-ecrire .ia-trace { animation: ia-trace 800ms var(--ease-sortie) both; }
:is(a, button, label, summary, [role="button"], [role="tab"], [role="menuitem"]):is(:focus-visible, .appui) .ic-revision .ia-rembobine { animation: ia-rembobine 800ms var(--ease-in-out) both; }
:is(a, button, label, summary, [role="button"], [role="tab"], [role="menuitem"]):is(:focus-visible, .appui) .ic-revision .ia-aiguille { animation: ia-aiguille 800ms var(--ease-in-out) both; }
:is(a, button, label, summary, [role="button"], [role="tab"], [role="menuitem"]):is(:focus-visible, .appui) .ic-carte .ia-noeud-1 { animation: ia-pulse 480ms var(--ease-ressort) 0ms both; }
:is(a, button, label, summary, [role="button"], [role="tab"], [role="menuitem"]):is(:focus-visible, .appui) .ic-carte .ia-lien-1 { animation: ia-trace-court 480ms var(--ease-sortie) 60ms both; }
:is(a, button, label, summary, [role="button"], [role="tab"], [role="menuitem"]):is(:focus-visible, .appui) .ic-carte .ia-noeud-2 { animation: ia-pulse 480ms var(--ease-ressort) 110ms both; }
:is(a, button, label, summary, [role="button"], [role="tab"], [role="menuitem"]):is(:focus-visible, .appui) .ic-carte .ia-lien-2 { animation: ia-trace-court 480ms var(--ease-sortie) 170ms both; }
:is(a, button, label, summary, [role="button"], [role="tab"], [role="menuitem"]):is(:focus-visible, .appui) .ic-carte .ia-noeud-3 { animation: ia-pulse 480ms var(--ease-ressort) 220ms both; }
:is(a, button, label, summary, [role="button"], [role="tab"], [role="menuitem"]):is(:focus-visible, .appui) .ic-carte .ia-lien-3 { animation: ia-trace-court 480ms var(--ease-sortie) 280ms both; }
:is(a, button, label, summary, [role="button"], [role="tab"], [role="menuitem"]):is(:focus-visible, .appui) .ic-ressources .ia-feuille { animation: ia-sort 420ms var(--ease-ressort) both; }
:is(a, button, label, summary, [role="button"], [role="tab"], [role="menuitem"]):is(:focus-visible, .appui) .ic-ressources .ia-dossier { animation: ia-tasse 420ms var(--ease-sortie) both; }
:is(a, button, label, summary, [role="button"], [role="tab"], [role="menuitem"]):is(:focus-visible, .appui) .ic-inbox .ia-lettre { animation: ia-tombe 760ms var(--ease-sortie) both; }
:is(a, button, label, summary, [role="button"], [role="tab"], [role="menuitem"]):is(:focus-visible, .appui) .ic-inbox .ia-bac { animation: ia-recoit 760ms var(--ease-sortie) both; }
:is(a, button, label, summary, [role="button"], [role="tab"], [role="menuitem"]):is(:focus-visible, .appui) .ic-recherche .ia-loupe { animation: ia-cherche 800ms var(--ease-in-out) both; }
:is(a, button, label, summary, [role="button"], [role="tab"], [role="menuitem"]):is(:focus-visible, .appui) .ic-alertes .ia-cloche { animation: ia-cloche 800ms var(--ease-sortie) both; }
:is(a, button, label, summary, [role="button"], [role="tab"], [role="menuitem"]):is(:focus-visible, .appui) .ic-alertes .ia-battant { animation: ia-battant 800ms var(--ease-sortie) both; }
:is(a, button, label, summary, [role="button"], [role="tab"], [role="menuitem"]):is(:focus-visible, .appui) .ic-micro .ia-capsule { animation: ia-souffle 900ms var(--ease-sortie) both; }
:is(a, button, label, summary, [role="button"], [role="tab"], [role="menuitem"]):is(:focus-visible, .appui) .ic-micro .ia-onde-g { animation: ia-onde-g 900ms var(--ease-sortie) both; }
:is(a, button, label, summary, [role="button"], [role="tab"], [role="menuitem"]):is(:focus-visible, .appui) .ic-micro .ia-onde-d { animation: ia-onde-d 900ms var(--ease-sortie) both; }
:is(a, button, label, summary, [role="button"], [role="tab"], [role="menuitem"]):is(:focus-visible, .appui) .ic-reglages .ia-roue { animation: ia-roue 700ms var(--ease-ressort) both; }
:is(a, button, label, summary, [role="button"], [role="tab"], [role="menuitem"]):is(:focus-visible, .appui) .ic-image .ia-soleil { animation: ia-leve 560ms var(--ease-ressort) both; }
:is(a, button, label, summary, [role="button"], [role="tab"], [role="menuitem"]):is(:focus-visible, .appui) .ic-tableau .ia-trait-h { animation: ia-trace-court 420ms var(--ease-sortie) both; }
:is(a, button, label, summary, [role="button"], [role="tab"], [role="menuitem"]):is(:focus-visible, .appui) .ic-tableau .ia-trait-v { animation: ia-trace-court 420ms var(--ease-sortie) 120ms both; }
:is(a, button, label, summary, [role="button"], [role="tab"], [role="menuitem"]):is(:focus-visible, .appui) .ic-liste .ia-ligne-1 { animation: ia-ecrit-ligne 420ms var(--ease-sortie) 0ms both; }
:is(a, button, label, summary, [role="button"], [role="tab"], [role="menuitem"]):is(:focus-visible, .appui) .ic-liste .ia-puce-1 { animation: ia-pop 300ms var(--ease-ressort) 0ms both; }
:is(a, button, label, summary, [role="button"], [role="tab"], [role="menuitem"]):is(:focus-visible, .appui) .ic-liste .ia-ligne-2 { animation: ia-ecrit-ligne 420ms var(--ease-sortie) 90ms both; }
:is(a, button, label, summary, [role="button"], [role="tab"], [role="menuitem"]):is(:focus-visible, .appui) .ic-liste .ia-puce-2 { animation: ia-pop 300ms var(--ease-ressort) 90ms both; }
:is(a, button, label, summary, [role="button"], [role="tab"], [role="menuitem"]):is(:focus-visible, .appui) .ic-liste .ia-ligne-3 { animation: ia-ecrit-ligne 420ms var(--ease-sortie) 180ms both; }
:is(a, button, label, summary, [role="button"], [role="tab"], [role="menuitem"]):is(:focus-visible, .appui) .ic-liste .ia-puce-3 { animation: ia-pop 300ms var(--ease-ressort) 180ms both; }
:is(a, button, label, summary, [role="button"], [role="tab"], [role="menuitem"]):is(:focus-visible, .appui) .ic-lien .ia-maillon-1 { animation: ia-ecarte-1 600ms var(--ease-ressort) both; }
:is(a, button, label, summary, [role="button"], [role="tab"], [role="menuitem"]):is(:focus-visible, .appui) .ic-lien .ia-maillon-2 { animation: ia-ecarte-2 600ms var(--ease-ressort) both; }
:is(a, button, label, summary, [role="button"], [role="tab"], [role="menuitem"]):is(:focus-visible, .appui) .ic-coche-cercle .ia-coche { animation: ia-dessine 460ms var(--ease-sortie) both; }
:is(a, button, label, summary, [role="button"], [role="tab"], [role="menuitem"]):is(:focus-visible, .appui) .ic-bouclier .ia-coche { animation: ia-dessine 460ms var(--ease-sortie) both; }
:is(a, button, label, summary, [role="button"], [role="tab"], [role="menuitem"]):is(:focus-visible, .appui) .ic-coche-double .ia-coche { animation: ia-dessine 460ms var(--ease-sortie) both; }
:is(a, button, label, summary, [role="button"], [role="tab"], [role="menuitem"]):is(:focus-visible, .appui) .ic-coche-double .ia-coche-2 { animation: ia-dessine 460ms var(--ease-sortie) 160ms both; }
:is(a, button, label, summary, [role="button"], [role="tab"], [role="menuitem"]):is(:focus-visible, .appui) .ic-bouclier .ia-ecu { animation: ia-pop-leger 460ms var(--ease-ressort) both; }
:is(a, button, label, summary, [role="button"], [role="tab"], [role="menuitem"]):is(:focus-visible, .appui) .ic-utilisateur .ia-tete { animation: ia-hoche 600ms var(--ease-sortie) both; }
:is(a, button, label, summary, [role="button"], [role="tab"], [role="menuitem"]):is(:focus-visible, .appui) .ic-question .ia-point-q { animation: ia-balance 700ms var(--ease-sortie) both; }
:is(a, button, label, summary, [role="button"], [role="tab"], [role="menuitem"]):is(:focus-visible, .appui) .ic-horloge .ia-minute { animation: ia-tour 800ms var(--ease-in-out) both; }
:is(a, button, label, summary, [role="button"], [role="tab"], [role="menuitem"]):is(:focus-visible, .appui) .ic-horloge .ia-heure { animation: ia-quart 800ms var(--ease-in-out) both; }
:is(a, button, label, summary, [role="button"], [role="tab"], [role="menuitem"]):is(:focus-visible, .appui) .ic-archive .ia-couvercle { animation: ia-couvercle 560ms var(--ease-ressort) both; }
:is(a, button, label, summary, [role="button"], [role="tab"], [role="menuitem"]):is(:focus-visible, .appui) .ic-fichier .ia-page { animation: ia-souleve 480ms var(--ease-ressort) both; }
:is(a, button, label, summary, [role="button"], [role="tab"], [role="menuitem"]):is(:focus-visible, .appui) .ic-globe .ia-meridien { animation: ia-meridien 900ms var(--ease-in-out) both; }
:is(a, button, label, summary, [role="button"], [role="tab"], [role="menuitem"]):is(:focus-visible, .appui) .ic-soleil .ia-rayons { animation: ia-rayons 800ms var(--ease-in-out) both; }
:is(a, button, label, summary, [role="button"], [role="tab"], [role="menuitem"]):is(:focus-visible, .appui) .ic-soleil .ia-coeur { animation: ia-pulse 800ms var(--ease-sortie) both; }
:is(a, button, label, summary, [role="button"], [role="tab"], [role="menuitem"]):is(:focus-visible, .appui) .ic-cadenas .ia-anse { animation: ia-anse 620ms var(--ease-ressort) both; }
:is(a, button, label, summary, [role="button"], [role="tab"], [role="menuitem"]):is(:focus-visible, .appui) .ic-personne-plus .ia-plus { animation: ia-plus 500ms var(--ease-ressort) both; }
:is(a, button, label, summary, [role="button"], [role="tab"], [role="menuitem"]):is(:focus-visible, .appui) .ic-personne-plus .ia-perso { animation: ia-hoche 500ms var(--ease-sortie) both; }
:is(a, button, label, summary, [role="button"], [role="tab"], [role="menuitem"]):is(:focus-visible, .appui) .ic-copier .ia-dessus { animation: ia-copie 520ms var(--ease-ressort) both; }
:is(a, button, label, summary, [role="button"], [role="tab"], [role="menuitem"]):is(:focus-visible, .appui) .ic-drapeau .ia-toile { animation: ia-flotte 900ms var(--ease-sortie) both; }
:is(a, button, label, summary, [role="button"], [role="tab"], [role="menuitem"]):is(:focus-visible, .appui) .ic-mail .ia-rabat { animation: ia-rabat 560ms var(--ease-ressort) both; }
:is(a, button, label, summary, [role="button"], [role="tab"], [role="menuitem"]):is(:focus-visible, .appui) .ic-trier .ia-desc { animation: ia-desc 560ms var(--ease-ressort) both; }
:is(a, button, label, summary, [role="button"], [role="tab"], [role="menuitem"]):is(:focus-visible, .appui) .ic-trier .ia-asc { animation: ia-asc 560ms var(--ease-ressort) both; }
:is(a, button, label, summary, [role="button"], [role="tab"], [role="menuitem"]):is(:focus-visible, .appui) .ic-etincelle .ia-etoile { animation: ia-scintille 700ms var(--ease-ressort) both; }
:is(a, button, label, summary, [role="button"], [role="tab"], [role="menuitem"]):is(:focus-visible, .appui) .ic-etincelle .ia-scintille { animation: ia-pulse 500ms var(--ease-ressort) 180ms both; }
:is(a, button, label, summary, [role="button"], [role="tab"], [role="menuitem"]):is(:focus-visible, .appui) .ic-palette .ia-goutte-1 { animation: ia-pulse 380ms var(--ease-ressort) 0ms both; }
:is(a, button, label, summary, [role="button"], [role="tab"], [role="menuitem"]):is(:focus-visible, .appui) .ic-palette .ia-goutte-2 { animation: ia-pulse 380ms var(--ease-ressort) 80ms both; }
:is(a, button, label, summary, [role="button"], [role="tab"], [role="menuitem"]):is(:focus-visible, .appui) .ic-palette .ia-goutte-3 { animation: ia-pulse 380ms var(--ease-ressort) 160ms both; }
:is(a, button, label, summary, [role="button"], [role="tab"], [role="menuitem"]):is(:focus-visible, .appui) .ic-scanner .ia-balayage { animation: ia-balaye 900ms var(--ease-in-out) both; }
:is(a, button, label, summary, [role="button"], [role="tab"], [role="menuitem"]):is(:focus-visible, .appui) .ic-poubelle .ia-couvercle { animation: ia-couvercle-poubelle 520ms var(--ease-ressort) both; }
:is(a, button, label, summary, [role="button"], [role="tab"], [role="menuitem"]):is(:focus-visible, .appui) .ic-envoyer .ia-avion { animation: ia-decolle 700ms var(--ease-sortie) both; }
:is(a, button, label, summary, [role="button"], [role="tab"], [role="menuitem"]):is(:focus-visible, .appui) .ic-importer .ia-fleche { animation: ia-monte 560ms var(--ease-ressort) both; }
:is(a, button, label, summary, [role="button"], [role="tab"], [role="menuitem"]):is(:focus-visible, .appui) .ic-telecharger .ia-fleche { animation: ia-descend 560ms var(--ease-ressort) both; }
:is(a, button, label, summary, [role="button"], [role="tab"], [role="menuitem"]):is(:focus-visible, .appui) .ic-sortir .ia-fleche { animation: ia-droite 560ms var(--ease-ressort) both; }
:is(a, button, label, summary, [role="button"], [role="tab"], [role="menuitem"]):is(:focus-visible, .appui) .ic-crochets .ia-crochet-g { animation: ia-ecarte-g 520ms var(--ease-ressort) both; }
:is(a, button, label, summary, [role="button"], [role="tab"], [role="menuitem"]):is(:focus-visible, .appui) .ic-crochets .ia-crochet-d { animation: ia-ecarte-d 520ms var(--ease-ressort) both; }
:is(a, button, label, summary, [role="button"], [role="tab"], [role="menuitem"]):is(:focus-visible, .appui) .ic-ecouteur .ia-casque { animation: ia-mesure 700ms var(--ease-sortie) both; }
:is(a, button, label, summary, [role="button"], [role="tab"], [role="menuitem"]):is(:focus-visible, .appui) .ic-ecran .ia-reflet { animation: ia-reflet-ecran 600ms var(--ease-sortie) both; }
:is(a, button, label, summary, [role="button"], [role="tab"], [role="menuitem"]):is(:focus-visible, .appui) .ic-filtre .ia-f-1 { animation: ia-resserre 480ms var(--ease-ressort) 0ms both; }
:is(a, button, label, summary, [role="button"], [role="tab"], [role="menuitem"]):is(:focus-visible, .appui) .ic-filtre .ia-f-2 { animation: ia-resserre 480ms var(--ease-ressort) 70ms both; }
:is(a, button, label, summary, [role="button"], [role="tab"], [role="menuitem"]):is(:focus-visible, .appui) .ic-filtre .ia-f-3 { animation: ia-resserre 480ms var(--ease-ressort) 140ms both; }
:is(a, button, label, summary, [role="button"], [role="tab"], [role="menuitem"]):is(:focus-visible, .appui) .ic-hors-ligne .ia-ondes-hl { animation: ia-clignote-hl 900ms var(--ease-sortie) both; }
:is(a, button, label, summary, [role="button"], [role="tab"], [role="menuitem"]):is(:focus-visible, .appui) .ic-plus-vertical .ia-pt-1 { animation: ia-orbite 820ms var(--ease-in-out) 0ms both; }
:is(a, button, label, summary, [role="button"], [role="tab"], [role="menuitem"]):is(:focus-visible, .appui) .ic-plus-vertical .ia-pt-2 { animation: ia-orbite 820ms var(--ease-in-out) 70ms both; }
:is(a, button, label, summary, [role="button"], [role="tab"], [role="menuitem"]):is(:focus-visible, .appui) .ic-plus-vertical .ia-pt-3 { animation: ia-orbite 820ms var(--ease-in-out) 140ms both; }
:is(a, button, label, summary, [role="button"], [role="tab"], [role="menuitem"]):is(:focus-visible, .appui) .ic-plus-horizontal .ia-pt-1 { animation: ia-orbite 820ms var(--ease-in-out) 0ms both; }
:is(a, button, label, summary, [role="button"], [role="tab"], [role="menuitem"]):is(:focus-visible, .appui) .ic-plus-horizontal .ia-pt-2 { animation: ia-orbite 820ms var(--ease-in-out) 70ms both; }
:is(a, button, label, summary, [role="button"], [role="tab"], [role="menuitem"]):is(:focus-visible, .appui) .ic-plus-horizontal .ia-pt-3 { animation: ia-orbite 820ms var(--ease-in-out) 140ms both; }
:is(a, button, label, summary, [role="button"], [role="tab"], [role="menuitem"]):is(:focus-visible, .appui) .ic-feather .ia-plume { animation: ia-ecrit 700ms var(--ease-sortie) both; }
:is(a, button, label, summary, [role="button"], [role="tab"], [role="menuitem"]):is(:focus-visible, .appui) .ic-feather .ia-barbe-1 { animation: ia-trace-court 360ms var(--ease-sortie) 0ms both; }
:is(a, button, label, summary, [role="button"], [role="tab"], [role="menuitem"]):is(:focus-visible, .appui) .ic-feather .ia-barbe-2 { animation: ia-trace-court 360ms var(--ease-sortie) 70ms both; }
:is(a, button, label, summary, [role="button"], [role="tab"], [role="menuitem"]):is(:focus-visible, .appui) .ic-feather .ia-barbe-3 { animation: ia-trace-court 360ms var(--ease-sortie) 140ms both; }
:is(a, button, label, summary, [role="button"], [role="tab"], [role="menuitem"]):is(:focus-visible, .appui) .ic-feather .ia-barbe-4 { animation: ia-trace-court 360ms var(--ease-sortie) 210ms both; }
:is(a, button, label, summary, [role="button"], [role="tab"], [role="menuitem"]):is(:focus-visible, .appui) .ic-coche .ia-coche { animation: ia-dessine-long 460ms var(--ease-sortie) both; }
:is(a, button, label, summary, [role="button"], [role="tab"], [role="menuitem"]):is(:focus-visible, .appui) .ic-erreur .ia-croix { animation: ia-non 460ms var(--ease-sortie) both; }
:is(a, button, label, summary, [role="button"], [role="tab"], [role="menuitem"]):is(:focus-visible, .appui) .ic-info .ia-point-i { animation: ia-rebond 560ms var(--ease-ressort) both; }
:is(a, button, label, summary, [role="button"], [role="tab"], [role="menuitem"]):is(:focus-visible, .appui) .ic-alerte .ia-exclam { animation: ia-non 460ms var(--ease-sortie) both; }
:is(a, button, label, summary, [role="button"], [role="tab"], [role="menuitem"]):is(:focus-visible, .appui) .ic-plus .ia-croix-plus { animation: ia-plus 420ms var(--ease-ressort) both; }
:is(a, button, label, summary, [role="button"], [role="tab"], [role="menuitem"]):is(:focus-visible, .appui) .ic-fermer .ia-x { animation: ia-plus 420ms var(--ease-ressort) both; }
:is(a, button, label, summary, [role="button"], [role="tab"], [role="menuitem"]):is(:focus-visible, .appui) .ic-chevron-droite .ia-chevron { animation: ia-droite 480ms var(--ease-ressort) both; }
:is(a, button, label, summary, [role="button"], [role="tab"], [role="menuitem"]):is(:focus-visible, .appui) .ic-chevron-gauche .ia-chevron { animation: ia-gauche 480ms var(--ease-ressort) both; }
:is(a, button, label, summary, [role="button"], [role="tab"], [role="menuitem"]):is(:focus-visible, .appui) .ic-chevron-bas .ia-chevron { animation: ia-descend 480ms var(--ease-ressort) both; }
:is(a, button, label, summary, [role="button"], [role="tab"], [role="menuitem"]):is(:focus-visible, .appui) .ic-chevron-haut .ia-chevron { animation: ia-monte 480ms var(--ease-ressort) both; }
:is(a, button, label, summary, [role="button"], [role="tab"], [role="menuitem"]):is(:focus-visible, .appui) .ic-fleche-bas .ia-fleche { animation: ia-descend 520ms var(--ease-ressort) both; }
:is(a, button, label, summary, [role="button"], [role="tab"], [role="menuitem"]):is(:focus-visible, .appui) .ic-fleche-droite .ia-fleche { animation: ia-droite 520ms var(--ease-ressort) both; }
:is(a, button, label, summary, [role="button"], [role="tab"], [role="menuitem"]):is(:focus-visible, .appui) .ic-lecture .ia-lecture { animation: ia-pop-leger 420ms var(--ease-ressort) both; }
:is(a, button, label, summary, [role="button"], [role="tab"], [role="menuitem"]):is(:focus-visible, .appui) .ic-pause .ia-barre-p-1 { animation: ia-pousse 480ms var(--ease-ressort) both; }
:is(a, button, label, summary, [role="button"], [role="tab"], [role="menuitem"]):is(:focus-visible, .appui) .ic-pause .ia-barre-p-2 { animation: ia-pousse 480ms var(--ease-ressort) 90ms both; }
:is(a, button, label, summary, [role="button"], [role="tab"], [role="menuitem"]):is(:focus-visible, .appui) .ic-stop .ia-stop { animation: ia-pop-leger 420ms var(--ease-ressort) both; }
:is(a, button, label, summary, [role="button"], [role="tab"], [role="menuitem"]):is(:focus-visible, .appui) .ic-glisser .ia-grain-1 { animation: ia-droite-leger 420ms var(--ease-ressort) 0ms both; }
:is(a, button, label, summary, [role="button"], [role="tab"], [role="menuitem"]):is(:focus-visible, .appui) .ic-glisser .ia-grain-2 { animation: ia-droite-leger 420ms var(--ease-ressort) 70ms both; }
:is(a, button, label, summary, [role="button"], [role="tab"], [role="menuitem"]):is(:focus-visible, .appui) .ic-glisser .ia-grain-3 { animation: ia-droite-leger 420ms var(--ease-ressort) 140ms both; }
:is(a, button, label, summary, [role="button"], [role="tab"], [role="menuitem"]):is(:focus-visible, .appui) .ic-rafraichir .ia-tourne { animation: ia-demi 600ms var(--ease-ressort) both; }
:is(a, button, label, summary, [role="button"], [role="tab"], [role="menuitem"]):is(:focus-visible, .appui) .ic-reduire .ia-mini { animation: ia-pulse 520ms var(--ease-ressort) both; }
:is(a, button, label, summary, [role="button"], [role="tab"], [role="menuitem"]):is(:focus-visible, .appui) .ic-reduire .ia-fleche { animation: ia-descend 520ms var(--ease-ressort) both; }
:is(a, button, label, summary, [role="button"], [role="tab"], [role="menuitem"]):is(:focus-visible, .appui) .ic-agrandir .ia-coins { animation: ia-pulse 520ms var(--ease-ressort) both; }
:is(a, button, label, summary, [role="button"], [role="tab"], [role="menuitem"]):is(:focus-visible, .appui) .ic-annuler .ia-retour { animation: ia-annule 560ms var(--ease-ressort) both; }
:is(a, button, label, summary, [role="button"], [role="tab"], [role="menuitem"]):is(:focus-visible, .appui) .ic-ouvrir .ia-sortie { animation: ia-sort-coin 520ms var(--ease-ressort) both; }
:is(a, button, label, summary, [role="button"], [role="tab"], [role="menuitem"]):is(:focus-visible, .appui) .ic-citation .ia-guillemet-1 { animation: ia-monte 460ms var(--ease-ressort) both; }
:is(a, button, label, summary, [role="button"], [role="tab"], [role="menuitem"]):is(:focus-visible, .appui) .ic-citation .ia-guillemet-2 { animation: ia-monte 460ms var(--ease-ressort) 90ms both; }

/* ---------- Les gestes ---------- */
@keyframes ia-salut { 0% { opacity: 0; transform: rotate(35deg); } 12% { opacity: 1; transform: rotate(0); } 28% { transform: rotate(-24deg); } 44% { transform: rotate(6deg); } 60% { transform: rotate(-20deg); } 76% { opacity: 1; transform: rotate(0); } 100% { opacity: 0; transform: rotate(30deg); } }
@keyframes ia-salut-main { 0% { opacity: 0; transform: rotate(35deg); } 12% { opacity: 1; transform: rotate(0); } 28% { transform: rotate(-24deg); } 44% { transform: rotate(6deg); } 60% { transform: rotate(-20deg); } 76% { opacity: 1; transform: rotate(0); } 100% { opacity: 0; transform: rotate(30deg); } }
@keyframes ia-penche { 0%, 100% { transform: rotate(0); } 30% { transform: rotate(-8deg); } 60% { transform: rotate(4deg); } }
@keyframes ia-hoche { 0%, 100% { transform: translateY(0); } 35% { transform: translateY(1.2px); } 65% { transform: translateY(-0.6px); } }
@keyframes ia-saut { 0%, 100% { transform: translateY(0); } 40% { transform: translateY(-2.2px); } }
@keyframes ia-pop { 0% { opacity: 0; transform: scale(0); } 70% { opacity: 1; transform: scale(1.25); } 100% { opacity: 1; transform: scale(1); } }
@keyframes ia-pop-leger { 0%, 100% { transform: scale(1); } 45% { transform: scale(1.08); } }
@keyframes ia-pousse { 0% { transform: scaleY(0.25); } 70% { transform: scaleY(1.08); } 100% { transform: scaleY(1); } }
@keyframes ia-tourne { 0% { transform: scaleX(1); } 45% { transform: scaleX(0.08); } 50% { transform: scaleX(-0.08); } 100% { transform: scaleX(1); } }
@keyframes ia-toit { 0%, 100% { transform: translateY(0); } 40% { transform: translateY(-2.2px); } }
@keyframes ia-apparait { from { opacity: 0; transform: translateY(1px); } to { opacity: 1; transform: none; } }
@keyframes ia-ecrit { 0% { transform: translate(0, 0) rotate(0); } 30% { transform: translate(1.5px, -0.5px) rotate(-6deg); } 60% { transform: translate(3px, 0) rotate(4deg); } 100% { transform: translate(0, 0) rotate(0); } }
@keyframes ia-trace { 0% { opacity: 1; stroke-dashoffset: 18; } 100% { opacity: 1; stroke-dashoffset: 0; } }
@keyframes ia-trace-court { 0% { stroke-dashoffset: 18; } 100% { stroke-dashoffset: 0; } }
@keyframes ia-rembobine { 0% { transform: rotate(0); } 100% { transform: rotate(-360deg); } }
@keyframes ia-aiguille { 0% { transform: rotate(0); } 100% { transform: rotate(-720deg); } }
@keyframes ia-pulse { 0%, 100% { transform: scale(1); } 45% { transform: scale(1.22); } }
@keyframes ia-sort { 0% { opacity: 0; transform: translateY(3px); } 100% { opacity: 1; transform: translateY(0); } }
@keyframes ia-tasse { 0%, 100% { transform: translateY(0); } 40% { transform: translateY(0.8px); } }
@keyframes ia-tombe { 0% { opacity: 0; transform: translateY(-3px); } 25% { opacity: 1; } 70% { opacity: 1; transform: translateY(6px); } 100% { opacity: 0; transform: translateY(7px); } }
@keyframes ia-recoit { 0%, 55%, 100% { transform: translateY(0); } 72% { transform: translateY(1.2px); } }
@keyframes ia-cherche { 0% { transform: translate(0, 0); } 25% { transform: translate(-1.2px, -1px); } 50% { transform: translate(1.2px, -1px); } 75% { transform: translate(0.6px, 0.8px); } 100% { transform: translate(0, 0); } }
@keyframes ia-cloche { 0% { transform: rotate(0); } 18% { transform: rotate(16deg); } 36% { transform: rotate(-12deg); } 54% { transform: rotate(8deg); } 72% { transform: rotate(-4deg); } 100% { transform: rotate(0); } }
@keyframes ia-battant { 0% { transform: translateX(0); } 22% { transform: translateX(-1.6px); } 40% { transform: translateX(1.4px); } 58% { transform: translateX(-0.8px); } 100% { transform: translateX(0); } }
@keyframes ia-souffle { 0%, 100% { transform: scale(1); } 40% { transform: scale(1.06); } }
@keyframes ia-onde-g { 0% { opacity: 0; transform: translateX(1.5px); } 40% { opacity: 1; } 100% { opacity: 0; transform: translateX(-1px); } }
@keyframes ia-onde-d { 0% { opacity: 0; transform: translateX(-1.5px); } 40% { opacity: 1; } 100% { opacity: 0; transform: translateX(1px); } }
@keyframes ia-roue { from { transform: rotate(0); } to { transform: rotate(90deg); } }
@keyframes ia-leve { 0% { transform: translate(0, 3px); } 100% { transform: translate(0, 0); } }
@keyframes ia-ecrit-ligne { 0% { transform: scaleX(0.1); } 100% { transform: scaleX(1); } }
@keyframes ia-ecarte-1 { 0%, 100% { transform: translate(0, 0); } 45% { transform: translate(1.4px, -1.4px); } }
@keyframes ia-ecarte-2 { 0%, 100% { transform: translate(0, 0); } 45% { transform: translate(-1.4px, 1.4px); } }
@keyframes ia-dessine { 0% { stroke-dashoffset: 16; } 100% { stroke-dashoffset: 0; } }
@keyframes ia-balance { 0%, 100% { transform: rotate(0); } 25% { transform: rotate(-14deg); } 55% { transform: rotate(10deg); } 80% { transform: rotate(-4deg); } }
@keyframes ia-tour { from { transform: rotate(0); } to { transform: rotate(360deg); } }
@keyframes ia-quart { from { transform: rotate(0); } to { transform: rotate(30deg); } }
@keyframes ia-couvercle { 0%, 100% { transform: rotate(0) translateY(0); } 45% { transform: rotate(-10deg) translateY(-1.5px); } }
@keyframes ia-souleve { 0%, 100% { transform: translateY(0); } 45% { transform: translateY(-1.8px); } }
@keyframes ia-meridien { 0% { transform: scaleX(1); } 50% { transform: scaleX(0.15); } 100% { transform: scaleX(1); } }
@keyframes ia-rayons { from { transform: rotate(0); } to { transform: rotate(45deg); } }
@keyframes ia-anse { 0%, 100% { transform: translateY(0); } 45% { transform: translateY(-2.4px); } }
@keyframes ia-plus { from { transform: rotate(0); } to { transform: rotate(90deg); } }
@keyframes ia-copie { 0%, 100% { transform: translate(0, 0); } 45% { transform: translate(1.2px, 1.2px); } }
@keyframes ia-flotte { 0%, 100% { transform: skewY(0) scaleX(1); } 25% { transform: skewY(6deg) scaleX(0.94); } 50% { transform: skewY(-4deg) scaleX(1); } 75% { transform: skewY(3deg) scaleX(0.97); } }
@keyframes ia-rabat { 0%, 100% { transform: scaleY(1); } 35%, 60% { transform: scaleY(-0.75); } }
@keyframes ia-desc { 0%, 100% { transform: translateY(0); } 45% { transform: translateY(2px); } }
@keyframes ia-asc { 0%, 100% { transform: translateY(0); } 45% { transform: translateY(-2px); } }
@keyframes ia-scintille { 0% { transform: rotate(0) scale(1); } 50% { transform: rotate(20deg) scale(1.12); } 100% { transform: rotate(0) scale(1); } }
@keyframes ia-balaye { 0% { transform: translateY(0); } 25% { transform: translateY(-5px); } 75% { transform: translateY(5px); } 100% { transform: translateY(0); } }
@keyframes ia-couvercle-poubelle { 0%, 100% { transform: rotate(0) translateY(0); } 45% { transform: rotate(-14deg) translateY(-1.2px); } }
@keyframes ia-decolle { 0% { transform: translate(0, 0); opacity: 1; } 45% { transform: translate(4px, -4px); opacity: 0; } 46% { transform: translate(-4px, 4px); opacity: 0; } 100% { transform: translate(0, 0); opacity: 1; } }
@keyframes ia-monte { 0%, 100% { transform: translateY(0); } 45% { transform: translateY(-2.5px); } }
@keyframes ia-descend { 0%, 100% { transform: translateY(0); } 45% { transform: translateY(2.5px); } }
@keyframes ia-droite { 0%, 100% { transform: translateX(0); } 45% { transform: translateX(2.5px); } }
@keyframes ia-ecarte-g { 0%, 100% { transform: translateX(0); } 45% { transform: translateX(-1.8px); } }
@keyframes ia-ecarte-d { 0%, 100% { transform: translateX(0); } 45% { transform: translateX(1.8px); } }
@keyframes ia-mesure { 0%, 100% { transform: rotate(0); } 25% { transform: rotate(-7deg); } 50% { transform: rotate(0); } 75% { transform: rotate(7deg); } }
@keyframes ia-reflet-ecran { 0% { opacity: 0; transform: translate(-3px, 3px); } 40% { opacity: 1; } 100% { opacity: 0; transform: translate(3px, -3px); } }
@keyframes ia-resserre { 0%, 100% { transform: scaleX(1); } 45% { transform: scaleX(0.7); } }
@keyframes ia-orbite { 0% { transform: rotate(0) scale(1); } 55% { transform: rotate(380deg) scale(1.15); } 78% { transform: rotate(352deg) scale(0.96); } 100% { transform: rotate(360deg) scale(1); } }
@keyframes ia-dessine-long { 0% { stroke-dashoffset: 22; } 100% { stroke-dashoffset: 0; } }
@keyframes ia-non { 0%, 100% { transform: rotate(0); } 25% { transform: rotate(-12deg); } 60% { transform: rotate(9deg); } }
@keyframes ia-rebond { 0%, 100% { transform: translateY(0); } 40% { transform: translateY(-2.5px); } 70% { transform: translateY(0.6px); } }
@keyframes ia-gauche { 0%, 100% { transform: translateX(0); } 45% { transform: translateX(-2.5px); } }
@keyframes ia-droite-leger { 0%, 100% { transform: translateX(0); } 45% { transform: translateX(1.2px); } }
@keyframes ia-demi { from { transform: rotate(0); } to { transform: rotate(360deg); } }
@keyframes ia-annule { 0%, 100% { transform: rotate(0); } 45% { transform: rotate(-28deg); } }
@keyframes ia-sort-coin { 0%, 100% { transform: translate(0, 0); } 45% { transform: translate(1.8px, -1.8px); } }
@keyframes ia-clignote-hl { 0%, 100% { opacity: 1; } 30% { opacity: 0.25; } 60% { opacity: 1; } 80% { opacity: 0.5; } }


/* Moins d'animations : les icônes restent immobiles. */
@media (prefers-reduced-motion: reduce) { .ic-anime * { animation: none !important; } }
:root[data-mouvement-reduit] .ic-anime * { animation: none !important; }
