/* Copie légère de /assets/phare-transition.css (commentaires retirés) — tools/prod-css-purge.mjs — source-sha1:fb3e347083d4755a4f9a42cdebcc80dc449474ac — ne pas éditer, relancer l'outil. */
@media (prefers-reduced-motion: no-preference){
@view-transition{
        navigation: auto;
    }
body.labo > nav{view-transition-name: lx-barre;}
body.labo .phone-float{view-transition-name: lx-appel;}
::view-transition-old(root){animation: lxVtSort 200ms cubic-bezier(0.4, 0, 1, 1) both;}
::view-transition-new(root){animation: lxVtEntre 520ms cubic-bezier(0.16, 1, 0.3, 1) both;}
::view-transition-group(lx-barre),::view-transition-group(lx-appel){animation-duration: 520ms;
        animation-timing-function: cubic-bezier(0.16, 1, 0.3, 1);}
html.phn-part::before{content: "";
        position: fixed;
        top: 0;
        left: 0;
        right: 0;
        z-index: 2147483000;
        height: 2px;
        background: linear-gradient(90deg, #6B2A3F 0%, #B9485C 60%, #E8607A 100%);
        transform-origin: 0 50%;
        animation: phnPart 1.8s cubic-bezier(0.16, 1, 0.3, 1) both;
        pointer-events: none;}
}
@keyframes lxVtSort{
    to { opacity: 0; scale: 0.985; }
}
@keyframes lxVtEntre{
    from { opacity: 0; translate: -18px 12px; scale: 1.008; }
}
@keyframes phnPart{
    from { transform: scaleX(0); }
    55% { transform: scaleX(0.7); }
    to { transform: scaleX(0.94); }
}
html body.labo :is(.fq-bande, .au-bande, .std-bande){content-visibility: auto;
    contain-intrinsic-size: auto 900px;}
@media (max-width: 700px){
html body.labo.ph-colle > nav:not(.breadcrumb):not(.breadcrumb-inline),html body.labo .doc-barre{-webkit-backdrop-filter: none;
                backdrop-filter: none;
        background: rgba(253, 252, 252, 0.97);}
html body.labo .ph-mot{animation-name: scEcritLeger;}
html body.labo :is(.lx-tour, .lx-lueur) > span{animation: none; rotate: 300deg;}
html body.labo :is(.phare-annonce, .phare-titre > span, .ph-mot, .phare-texte){animation-name: scArriveVite;
        animation-duration: 0.5s;}
html body.labo .phare-texte{animation-delay: 0.1s;}
}
@keyframes scArriveVite{
    from { opacity: 0.18; translate: 0 8px; }
    to { opacity: 1; translate: 0 0; }
}
@keyframes scEcritLeger{
    from { opacity: 0; translate: -10px 14px; }
    to { opacity: 1; translate: 0 0; }
}
