/* Meri, la chouette Meritly - composant reutilisable (voir Brand OS) */
.meri-slot{position:relative;display:flex;justify-content:center;margin:0 auto}
.owl-svg{width:120px;height:auto;overflow:visible;animation:mBob 4.4s cubic-bezier(.22,.61,.36,1) infinite}
.owl-svg .squish{transform-box:fill-box;transform-origin:center bottom;transition:transform .3s cubic-bezier(.34,1.56,.64,1)}
.meri-slot:hover .owl-svg .squish{transform:scale(1.05,.95)}
.owl-svg .eyes{transform-box:fill-box;transform-origin:center;animation:mBlink 5.4s infinite}
.owl-svg .pupils{transform-box:fill-box;transform-origin:center;animation:mLook 7s ease-in-out infinite}
.owl-svg .spark{animation:mTw 3s ease-in-out infinite}
.owl-svg .wing-l{transform-box:fill-box;transform-origin:80% 20%;animation:mFlapL 6s cubic-bezier(.22,.61,.36,1) infinite}
.owl-svg .wing-r{transform-box:fill-box;transform-origin:20% 20%;animation:mFlapR 6s cubic-bezier(.22,.61,.36,1) infinite}
/* Sourcils : levier n°1 d'expressivite. Origine cote nez pour pivoter naturellement. */
.owl-svg .brow-l{transform-box:fill-box;transform-origin:100% 50%}
.owl-svg .brow-r{transform-box:fill-box;transform-origin:0% 50%}
.owl-svg .brows{transform-box:fill-box}
/* Paupieres superieures : descendent depuis le haut de l'oeil pour le fermer (triste/timide/endormie) */
.owl-svg .lid-l,.owl-svg .lid-r{transform-box:fill-box;transform-origin:50% 0%;transform:scaleY(0)}
/* Accessoires thematiques (props), masques par defaut, reveles par une classe meri-prop-<nom> */
.owl-svg .prop-loupe,.owl-svg .prop-globe,.owl-svg .prop-shield,.owl-svg .prop-heart,.owl-svg .prop-binoculars{display:none}
.owl-svg.meri-prop-loupe .prop-loupe{display:block}
.owl-svg.meri-prop-globe .prop-globe{display:block}
.owl-svg.meri-prop-shield .prop-shield{display:block}
.owl-svg.meri-prop-heart .prop-heart{display:block}
.owl-svg.meri-prop-binoculars .prop-binoculars{display:block}
@keyframes mBob{0%,100%{transform:translateY(0) rotate(-1.2deg)}50%{transform:translateY(-9px) rotate(1.2deg)}}
@keyframes mBlink{0%,90%,100%{transform:scaleY(1)}94%,96%{transform:scaleY(.1)}}
@keyframes mLook{0%,40%,100%{transform:translateX(0)}55%,80%{transform:translateX(5px)}}
@keyframes mTw{0%,100%{opacity:.2}50%{opacity:.9}}
@keyframes mFlapL{0%,88%,100%{transform:rotate(0)}92%,96%{transform:rotate(-9deg)}}
@keyframes mFlapR{0%,88%,100%{transform:rotate(0)}92%,96%{transform:rotate(9deg)}}

/* ═══ Reactions a l'action (amplitudes marquees : lisibles en un regard, pas subtiles) ═══ */

/* happy : petite victoire (ex : analyse IA reussie) - ailes qui fretillent, plus vive */
.owl-svg.react-happy .squish{animation:mrJump .7s cubic-bezier(.34,1.56,.64,1)}
.owl-svg.react-happy .eyes{animation:mrSquint .7s}
.owl-svg.react-happy .brows{animation:mrBrowUpSmall .7s}
.owl-svg.react-happy .wing-l{animation:mrHappyWingL .7s cubic-bezier(.34,1.56,.64,1)}
.owl-svg.react-happy .wing-r{animation:mrHappyWingR .7s cubic-bezier(.34,1.56,.64,1)}
@keyframes mrJump{0%{transform:translateY(0)}30%{transform:translateY(-26px) scale(.9,1.14)}60%{transform:translateY(0) scale(1.12,.88)}100%{transform:none}}
@keyframes mrSquint{0%,100%{transform:scaleY(1)}40%,72%{transform:scaleY(.2)}}
@keyframes mrBrowUpSmall{0%,100%{transform:translateY(0)}40%,72%{transform:translateY(-8px)}}
@keyframes mrHappyWingL{0%,100%{transform:rotate(0)}30%,65%{transform:rotate(-20deg)}}
@keyframes mrHappyWingR{0%,100%{transform:rotate(0)}30%,65%{transform:rotate(20deg)}}

/* celebrate : grande victoire (embauche) */
.owl-svg.react-celebrate .squish{animation:mrJump2 .9s cubic-bezier(.34,1.56,.64,1)}
.owl-svg.react-celebrate .wing-l{animation:mrFlapL .9s}
.owl-svg.react-celebrate .wing-r{animation:mrFlapR .9s}
.owl-svg.react-celebrate .brows{animation:mrBrowUpSmall .9s}
@keyframes mrJump2{0%{transform:none}22%{transform:translateY(-38px)}48%{transform:translateY(0) scale(1.14,.84)}70%{transform:translateY(-15px)}100%{transform:none}}
@keyframes mrFlapL{0%,100%{transform:rotate(0)}20%,60%{transform:rotate(-40deg)}40%,80%{transform:rotate(-8deg)}}
@keyframes mrFlapR{0%,100%{transform:rotate(0)}20%,60%{transform:rotate(40deg)}40%,80%{transform:rotate(8deg)}}

/* curious : attention, profil intriguant (near-miss) - les deux sourcils se levent */
.owl-svg.react-curious .eyes{animation:mrWide .7s cubic-bezier(.34,1.56,.64,1)}
.owl-svg.react-curious .pupils{animation:mrUp .7s}
.owl-svg.react-curious .brows{animation:mrBrowUpBoth .7s}
@keyframes mrWide{0%,100%{transform:scale(1)}42%{transform:scale(1.32)}}
@keyframes mrUp{0%,100%{transform:translateY(0)}45%,75%{transform:translateY(-8px)}}
@keyframes mrBrowUpBoth{0%,100%{transform:translateY(0)}45%,75%{transform:translateY(-10px)}}

/* look : attention dirigee (ouverture d'un rapport de decision) */
.owl-svg.react-look .pupils{animation:mrDart .8s}
@keyframes mrDart{0%,100%{transform:translate(0,0)}40%,72%{transform:translate(15px,-8px)}}

/* shy : action delicate (supprimer) - paupieres mi-closes, regard fuyant, se recroqueville */
.owl-svg.react-shy .squish{animation:mrDuck .9s ease}
.owl-svg.react-shy .wing-l{animation:mrHugL .9s ease}
.owl-svg.react-shy .wing-r{animation:mrHugR .9s ease}
.owl-svg.react-shy .pupils{animation:mrDown .9s}
.owl-svg.react-shy .lid-l,.owl-svg.react-shy .lid-r{animation:mrLidShy .9s ease}
@keyframes mrDuck{0%,100%{transform:none}42%{transform:translateY(19px) scale(1.1,.84)}}
@keyframes mrHugL{0%,100%{transform:rotate(0)}42%{transform:rotate(42deg)}}
@keyframes mrHugR{0%,100%{transform:rotate(0)}42%{transform:rotate(-42deg)}}
@keyframes mrDown{0%,100%{transform:translateY(0)}42%,72%{transform:translateY(10px)}}
@keyframes mrLidShy{0%,100%{transform:scaleY(0)}42%,72%{transform:scaleY(.52)}}

/* wave : accueil, bienvenue */
.owl-svg.react-wave .wing-r{animation:mrWave .9s cubic-bezier(.34,1.56,.64,1)}
.owl-svg.react-wave .eyes{animation:mrSquint .9s}
@keyframes mrWave{0%,100%{transform:rotate(0)}20%{transform:rotate(-42deg)}35%{transform:rotate(-4deg)}50%{transform:rotate(-42deg)}65%{transform:rotate(-4deg)}80%{transform:rotate(-24deg)}}

/* sad : refus, mauvaise nouvelle - sourcils inquiets + paupieres lourdes + regard bas + tout s'affaisse */
.owl-svg.react-sad .squish{animation:mrSlump 1.5s ease-out}
.owl-svg.react-sad .wing-l{animation:mrDropL 1.5s ease-out}
.owl-svg.react-sad .wing-r{animation:mrDropR 1.5s ease-out}
.owl-svg.react-sad .pupils{animation:mrDown2 1.5s ease-out}
.owl-svg.react-sad .brow-l{animation:mrBrowSadL 1.5s ease-out}
.owl-svg.react-sad .brow-r{animation:mrBrowSadR 1.5s ease-out}
.owl-svg.react-sad .lid-l,.owl-svg.react-sad .lid-r{animation:mrLidSad 1.5s ease-out}
@keyframes mrSlump{0%,100%{transform:none}42%,78%{transform:translateY(16px) scale(1.07,.86)}}
@keyframes mrDropL{0%,100%{transform:rotate(0)}42%,78%{transform:rotate(10deg)}}
@keyframes mrDropR{0%,100%{transform:rotate(0)}42%,78%{transform:rotate(-10deg)}}
@keyframes mrDown2{0%,100%{transform:translateY(0)}42%,78%{transform:translateY(11px)}}
@keyframes mrBrowSadL{0%,100%{transform:rotate(0)}42%,78%{transform:rotate(27deg)}}
@keyframes mrBrowSadR{0%,100%{transform:rotate(0)}42%,78%{transform:rotate(-27deg)}}
@keyframes mrLidSad{0%,100%{transform:scaleY(0)}42%,78%{transform:scaleY(.68)}}

/* sleepy : attente, vivier vide - paupieres qui se ferment presque completement */
.owl-svg.react-sleepy .lid-l,.owl-svg.react-sleepy .lid-r{animation:mrLidSleep 2s ease-in-out}
.owl-svg.react-sleepy .squish{animation:mrDoze 2s ease-in-out}
.owl-svg.react-sleepy .brows{animation:mrBrowDoze 2s ease-in-out}
@keyframes mrLidSleep{0%,100%{transform:scaleY(0)}45%,80%{transform:scaleY(.93)}}
@keyframes mrDoze{0%,100%{transform:translateY(0) rotate(0)}50%{transform:translateY(5px) rotate(-3deg)}}
@keyframes mrBrowDoze{0%,100%{transform:translateY(0)}50%{transform:translateY(4px)}}

/* think : l'IA reflechit, chargement */
.owl-svg.react-think .pupils{animation:mrOrbit 1.6s linear}
@keyframes mrOrbit{0%,100%{transform:translate(0,0)}25%{transform:translate(8px,-5px)}50%{transform:translate(0,-8px)}75%{transform:translate(-8px,-5px)}}

/* startled : erreur inattendue - sursaut + sourcils qui se levent d'un coup */
.owl-svg.react-startled .squish{animation:mrJolt .55s cubic-bezier(.34,1.56,.64,1)}
.owl-svg.react-startled .eyes{animation:mrWide2 .55s}
.owl-svg.react-startled .brows{animation:mrBrowJolt .55s}
@keyframes mrJolt{0%,100%{transform:none}30%{transform:translateY(-19px) scale(.87,1.16)}60%{transform:translateY(3px)}}
@keyframes mrWide2{0%,100%{transform:scale(1)}35%{transform:scale(1.5)}}
@keyframes mrBrowJolt{0%,100%{transform:translateY(0)}30%{transform:translateY(-12px)}}

/* confused : ambiguite - un seul sourcil se leve (regard interrogateur) */
.owl-svg.react-confused .squish{animation:mrTilt 1.1s ease-in-out}
.owl-svg.react-confused .pupils{animation:mrDart2 1.1s ease-in-out}
.owl-svg.react-confused .brow-r{animation:mrBrowQuizz 1.1s ease-in-out}
@keyframes mrTilt{0%,100%{transform:rotate(0)}30%{transform:rotate(-14deg)}70%{transform:rotate(11deg)}}
@keyframes mrDart2{0%,100%{transform:translate(0,0)}30%{transform:translate(8px,0)}70%{transform:translate(-8px,0)}}
@keyframes mrBrowQuizz{0%,100%{transform:translateY(0)}35%,75%{transform:translateY(-9px)}}

.meri-confetti{position:absolute;top:42%;left:50%;width:9px;height:9px;border-radius:2px;pointer-events:none;z-index:5}
.owl-svg.rise{opacity:0;transform:translateY(18px) scale(.94);animation:mRise .8s cubic-bezier(.34,1.56,.64,1) forwards}
@keyframes mRise{to{opacity:1;transform:none}}
@media(prefers-reduced-motion:reduce){.owl-svg,.owl-svg *{animation:none!important}.owl-svg.rise{opacity:1;transform:none;animation:none}}
