/* axolo · axolos-2026.css : le dessin des Axolo 2026 (axolos-2026.js), les mêmes que dans le logiciel.
   La taille reste celle de .axolo (--taille, manager.css) ; seuls les groupes sans attribut transform s'animent. */
.axolo[data-ax2] { line-height: 0; }
.axolo[data-ax2] .ax2-art { display: block; width: 100%; height: 100%; overflow: visible; transform-origin: 50% 88%; }
.axolo[data-ax2][data-miroir] .ax2-art { scale: -1 1; }
.axolo[data-ax2] .ax2-tete, .axolo[data-ax2] .ax2-visage, .axolo[data-ax2] .ax2-cligne, .axolo[data-ax2] .ax2-regard { transform-box: fill-box; }
.axolo[data-ax2] .ax2-cligne { transform-origin: 50% 50%; }

/* Plat, sous 48 px : sans filtres, sans volume, sans sol, sans marques d'énergie. */
.axolo[data-ax2-plat] [filter] { filter: none; }
.axolo[data-ax2-plat] [id$="-volume"], .axolo[data-ax2-plat] [id*="-floor"], .axolo[data-ax2-plat] [id*="-tick"] { display: none; }

/* L'ancien halo et l'ancien saut de manager.css restent, adoucis ; l'ancienne pupille n'existe plus. */
.axolo[data-ax2]:hover { transform: scale(1.08) translateY(-3%); }

/* Les lueurs aux couleurs 2026 (jetons --ui-mascot-* du logiciel). */
.axolo[data-ax2][data-axolo="guide"] { --m-base: #FFA691; --m-light: #FFDCCB; --m-low: #F47E68; --m-accent: #FF9A7A; }
.axolo[data-ax2][data-axolo="ui"] { --m-base: #9AA8FF; --m-light: #D7DCFF; --m-low: #C08BFF; --m-accent: #7C8CFF; }
.axolo[data-ax2][data-axolo="ux"] { --m-base: #5FD9C0; --m-light: #C9F5EA; --m-low: #4FA8FF; --m-accent: #2CC8A8; }
.axolo[data-ax2][data-axolo="produit"] { --m-base: #FFB45E; --m-light: #FFE2BE; --m-low: #FF7A7A; --m-accent: #FF9640; }
.axolo[data-ax2][data-axolo="dev"] { --m-base: #9BE15D; --m-light: #DDF7C4; --m-low: #6FCF6A; --m-accent: #D9C21A; }

@media (prefers-reduced-motion: no-preference) {
  .axolo[data-ax2] .ax2-regard, .axolo[data-ax2] .ax2-visage { transition: transform 250ms ease-out; }
  .axolo[data-ax2] [id$="-char"] { transform-box: fill-box; transform-origin: 50% 100%; animation: ax2-souffle 4.2s ease-in-out infinite; animation-delay: var(--ax2-souffle, 0s); }
  .axolo[data-ax2] [id*="-floor"] { transform-box: fill-box; transform-origin: 50% 50%; animation: ax2-sol 4.2s ease-in-out infinite; animation-delay: var(--ax2-souffle, 0s); }
  .axolo[data-ax2] .ax2-cligne { animation: ax2-clin 5.6s infinite; animation-delay: var(--ax2-clin, 0s); }
  .axolo[data-ax2] [id*="-tick"] { animation: ax2-marque 2.5s ease-in-out infinite; }
  .axolo[data-ax2] [id$="-tick2"] { animation-delay: .25s; }
  .axolo[data-ax2] [id$="-tick3"] { animation-delay: .5s; }
  .axolo[data-ax2][data-etat="travaille"] [id*="-tick"] { animation-duration: 1.1s; }
  .axolo[data-ax2][data-etat="dort"] [id$="-char"] { animation-duration: 6.2s; }
  .axolo[data-ax2][data-etat="dort"] .ax2-cligne { animation: none; }
  .axolo[data-ax2].ax2-rit .ax2-art { animation: ax2-rire 950ms cubic-bezier(.3, .7, .4, 1); }
}
@keyframes ax2-souffle { 0%, 100% { transform: translateY(0) scale(1, 1); } 50% { transform: translateY(-2.4%) scale(1.01, .99); } }
@keyframes ax2-sol { 0%, 100% { transform: scale(1); opacity: 1; } 50% { transform: scale(.9); opacity: .8; } }
@keyframes ax2-clin { 0%, 93%, 100% { transform: scaleY(1); } 95.5% { transform: scaleY(.08); } }
@keyframes ax2-marque { 0%, 100% { opacity: .3; } 40% { opacity: 1; } }
@keyframes ax2-rire { 0% { transform: scale(1, 1) rotate(0); } 15% { transform: scale(1.06, .92) rotate(-2deg); } 32% { transform: scale(.96, 1.05) rotate(2.5deg); } 50% { transform: scale(1.03, .97) rotate(-1.5deg); } 68% { transform: scale(.99, 1.01) rotate(1deg); } 100% { transform: scale(1, 1) rotate(0); } }
