/* L'indicateur d'attente (attente.js) : trois points qui respirent, et un court libellé quand la page annonce ce
   qu'elle fait ; la police et les couleurs de la page (fondations.css), sans ombre. */
.attente { display: inline-flex; align-items: center; gap: 10px; min-height: 28px; padding: 4px 0; color: var(--texte-3); font-size: 14px; animation: attente-entre 200ms var(--courbe, ease-out) both; }
.attente__points { display: inline-flex; gap: 4px; }
.attente__points i { width: 6px; height: 6px; border-radius: 50%; background: currentColor; animation: attente 1.2s ease-in-out infinite; }
.attente__points i:nth-child(2) { animation-delay: .15s; } .attente__points i:nth-child(3) { animation-delay: .3s; }
@keyframes attente { 0%, 80%, 100% { opacity: .25; transform: none; } 40% { opacity: 1; transform: translateY(-2px); } }
@keyframes attente-entre { from { opacity: 0; transform: translateY(6px); } to { opacity: 1; transform: none; } }
.attente__libelle:empty { display: none; }
@media (prefers-reduced-motion: reduce) { .attente, .attente__points i { animation: none; } .attente__points i { opacity: .6; } }
