/* LE FIL 176.9 — Motion System Premium — couche non destructive.
   Ne modifie aucun placement, hauteur, scroll, texte ou couleur métier. */
html body.fil-pages-premium{--fil179-ease:cubic-bezier(.22,1,.36,1);--fil179-speed:1}
/* Les cartes ne bougent qu'au survol, sans déplacement dans le flux. */
@media (hover:hover) and (pointer:fine){
 html body.fil-pages-premium #app-root #main-view :is(.fil178-tile,.fil-v98-menu-card,.fil-portal-card,.fil-v87-event-card,.fil-directory-card,.fil-musique-card,.fil-v85-tile,.fil-public-card,.fil-ed-card,.resto-card):not(:has(input:focus,textarea:focus,select:focus)):hover{
  filter:brightness(1.045);box-shadow:0 7px 22px rgba(74,20,136,.18);transition:filter .24s ease,box-shadow .24s ease,border-color .24s ease;
 }
 html body.fil-pages-premium #app-root #main-view :is(.fil178-tile,.fil-v98-menu-card,.fil-portal-card,.fil-v87-event-card,.fil-directory-card,.fil-musique-card,.fil-v85-tile,.fil-public-card,.fil-ed-card,.resto-card):hover :is(.fil178-art,.fil-v98-menu-icon,.fil-v85-tile-icon,.fil-v105-row-wave){filter:brightness(1.1)}
 html body.fil-pages-premium #app-root :is(#bottom-navigation,.fil143-nav-strip,header) :is(button,a):not(:disabled):hover{filter:brightness(1.10);transition:filter .18s ease}
}
/* Appui : ne touche pas au transform des boutons qui ont déjà leur animation. */
html body.fil-pages-premium #app-root :is(#main-view,#bottom-navigation,header,#fil-music-dock) :is(button,a,[role="button"]):not(:disabled):active{filter:brightness(1.13)}
/* Indicateur de musique actif, basé sur l'état réel du lecteur. */
html body.fil-pages-premium #fil-music-dock[data-playing="true"] .fil-music-live{animation:fil179-live 1.6s ease-in-out infinite;transform-origin:center}
html body.fil-pages-premium #fil-music-dock[data-playing="false"] .fil-music-live{animation:none}
@keyframes fil179-live{0%,100%{opacity:.55;filter:brightness(1)}50%{opacity:1;filter:brightness(1.35)}}
/* Les éléments masqués doivent rester masqués : aucune animation ne les force visibles. */
html body.fil-pages-premium .fil179-motion-target[hidden],
html body.fil-pages-premium .fil179-motion-target.hidden{animation:none!important}
/* Respecte le choix d'accessibilité; pas de fond en mouvement permanent. */
@media (prefers-reduced-motion:reduce){
 html body.fil-pages-premium #app-root .fil179-motion-target{animation:none!important;transition-duration:0.01ms!important}
 html body.fil-pages-premium #fil-music-dock .fil-music-live{animation:none!important}
}
