/* LedExpert Motion UI 0.1 — progressive enhancement, reduced-motion aware */
.le-motion-form{position:relative;isolation:isolate}
.le-motion-mascot{display:flex;align-items:center;justify-content:center;gap:6px;height:58px;margin:0 auto 12px;pointer-events:none}
.le-motion-mascot .le-eye{width:9px;height:13px;background:#12263b;border-radius:60% 60% 48% 48%;transform:translateX(var(--le-look,0px));transition:transform .2s ease}
.le-motion-mascot .le-face{width:70px;height:52px;background:linear-gradient(150deg,#8bd8ef,#61b5e2);border-radius:30px 30px 24px 24px;display:flex;align-items:center;justify-content:center;gap:14px;box-shadow:0 8px 22px #1b84b22a;transform:translateY(var(--le-bob,0px)) rotate(var(--le-tilt,0deg));transition:transform .25s ease}
.le-motion-mascot .le-mouth{position:absolute;width:15px;height:6px;border-bottom:2px solid #16334b;border-radius:0 0 50% 50%;margin-top:23px;transition:all .2s}
.le-motion-form.le-motion-password .le-eye{transform:scaleY(.12)}
.le-motion-form.le-motion-password .le-face{transform:rotate(-7deg)}
.le-motion-form.le-motion-working .le-face{animation:le-bounce .7s ease-in-out infinite alternate}
.le-motion-form.le-motion-success .le-face{background:linear-gradient(150deg,#8ee7c6,#4ebc99)}
.le-motion-form.le-motion-error .le-face{background:linear-gradient(150deg,#f6b4b4,#e88989)}
.le-motion-form :is(button[type=submit],.login-submit){transition:transform .18s,filter .18s,box-shadow .18s}
.le-motion-form :is(button[type=submit],.login-submit):active{transform:scale(.98)}
.le-motion-form :is(button[type=submit],.login-submit):hover{filter:brightness(1.08)}
@keyframes le-bounce{to{transform:translateY(-6px) rotate(3deg)}}
@media(prefers-reduced-motion:reduce){.le-motion-form *, .le-motion-form *::before,.le-motion-form *::after{animation:none!important;transition:none!important;transform:none!important}}
