/* mocci Easter Egg – lila Blob-Maskottchen (eigene Figur, kein Fremd-IP) */
.mo-egg{position:fixed;left:0;bottom:5vh;width:120px;height:140px;z-index:99999;pointer-events:none;animation:mo-egg-run 4.2s linear forwards;will-change:transform}
.mo-egg svg{display:block;width:100%;height:100%;overflow:visible}
.mo-egg .mo-egg__hop{animation:mo-egg-hop .7s ease-in-out 6;transform-origin:60px 138px;transform-box:view-box}
.mo-egg .mo-egg__arm--l{animation:mo-egg-arm .7s ease-in-out 6;transform-origin:28px 102px;transform-box:view-box}
.mo-egg .mo-egg__arm--r{animation:mo-egg-arm .7s ease-in-out 6 reverse;transform-origin:92px 102px;transform-box:view-box}
@keyframes mo-egg-run{from{transform:translateX(-140px)}to{transform:translateX(100vw)}}
@keyframes mo-egg-hop{0%,100%{transform:translateY(0) scale(1.08,.9)}50%{transform:translateY(-72px) scale(.94,1.08)}}
@keyframes mo-egg-arm{0%,100%{transform:rotate(18deg)}50%{transform:rotate(-30deg)}}
.mo-egg--still{left:auto;right:24px;animation:mo-egg-fade 2.5s ease forwards}
.mo-egg--still .mo-egg__hop,.mo-egg--still [class*=mo-egg__arm]{animation:none}
@keyframes mo-egg-fade{0%{opacity:0}20%,80%{opacity:1}100%{opacity:0}}

/* ---- Easter Egg 2: mocci Bike, Comic-Style ---- */
.mo-bike{position:fixed;left:0;bottom:4vh;width:280px;height:200px;z-index:99999;pointer-events:none;animation:mo-bike-run 5s linear forwards;will-change:transform}
.mo-bike__img{position:absolute;left:0;bottom:0;width:280px;height:auto;display:block;transform-origin:50% 100%;animation:mo-bike-pose 5s linear forwards;transform:scale(-1,1)}
.mo-bike__lines{position:absolute;right:100%;bottom:40px;width:220px;height:90px;margin-right:-30px;background:repeating-linear-gradient(to bottom,#0066FF 0 4px,transparent 4px 22px);-webkit-mask:linear-gradient(to right,transparent,#000 70%);mask:linear-gradient(to right,transparent,#000 70%);opacity:0;animation:mo-bike-lines 5s linear forwards}
.mo-bike__dust{position:absolute;bottom:-6px;width:70px;height:70px;border-radius:50%;background:radial-gradient(circle,rgba(190,200,215,.95) 0,rgba(190,200,215,.6) 45%,transparent 70%);opacity:0;transform:scale(.2)}
.mo-bike__dust--a{left:-20px;animation:mo-bike-dust 5s linear forwards}
.mo-bike__dust--b{left:30px;animation:mo-bike-dust 5s linear .08s forwards}
.mo-bike__dust--c{left:160px;animation:mo-bike-dust 5s linear .04s forwards}
.mo-bike__txt{position:absolute;bottom:150px;left:40px;font:italic 900 34px/1 "Arial Black",Impact,Arial,sans-serif;letter-spacing:.02em;color:#fff;text-transform:uppercase;white-space:nowrap;-webkit-text-stroke:2px #0066FF;paint-order:stroke fill;text-shadow:4px 4px 0 #0B0B23;opacity:0;transform:rotate(-8deg) scale(.4)}
.mo-bike__txt--brake{animation:mo-bike-txt-brake 5s linear forwards}
.mo-bike__txt--go{left:120px;color:#FFD400;animation:mo-bike-txt-go 5s linear forwards}
@keyframes mo-bike-run{0%{transform:translateX(-340px)}23%{transform:translateX(36vw)}27%{transform:translateX(45vw)}31%{transform:translateX(43vw)}64%{transform:translateX(43vw)}69%{transform:translateX(40vw)}92%,100%{transform:translateX(125vw)}}26%{transform:translateX(40vw)}31%{transform:translateX(42vw)}64%{transform:translateX(42vw)}70%{transform:translateX(41vw)}100%{transform:translateX(120vw)}}
@keyframes mo-bike-pose{0%,22%{transform:scale(-1,1) rotate(-3deg)}26%{transform:scale(-1,1) rotate(-17deg) translateY(4px)}30%{transform:scale(-1,1) rotate(-13deg)}34%{transform:scale(-1,1) rotate(5deg)}38%{transform:scale(-1,1) rotate(-3deg)}42%,62%{transform:scale(-1,1) rotate(0)}67%{transform:scale(-.9,1) rotate(16deg) translateY(2px)}74%{transform:scale(-1.24,1) rotate(7deg)}100%{transform:scale(-1.1,1) rotate(2deg)}}
@keyframes mo-bike-lines{0%{opacity:.9}20%{opacity:.9}24%{opacity:0}68%{opacity:0}73%{opacity:.9}100%{opacity:.9}}
@keyframes mo-bike-dust{0%,22%{opacity:0;transform:scale(.2)}26%{opacity:.95;transform:scale(1.2)}44%{opacity:0;transform:scale(2) translateY(-24px)}63%{opacity:0;transform:scale(.2)}68%{opacity:.95;transform:scale(1.4)}88%{opacity:0;transform:scale(2.6) translateX(-70px) translateY(-30px)}100%{opacity:0}}
@keyframes mo-bike-txt-brake{0%,24%{opacity:0;transform:rotate(-8deg) scale(.4)}28%{opacity:1;transform:rotate(-8deg) scale(1.2)}32%{transform:rotate(-8deg) scale(1)}56%{opacity:1;transform:rotate(-8deg) scale(1)}62%,100%{opacity:0;transform:rotate(-8deg) scale(.6)}}
@keyframes mo-bike-txt-go{0%,64%{opacity:0;transform:rotate(-6deg) scale(.4)}68%{opacity:1;transform:rotate(-6deg) scale(1.25)}72%{transform:rotate(-6deg) scale(1)}84%{opacity:1}90%,100%{opacity:0;transform:rotate(-6deg) scale(.6)}}
@media (max-width:640px){.mo-bike{width:200px;height:150px}.mo-bike__img{width:200px}.mo-bike__txt{font-size:24px;bottom:110px}.mo-bike__lines{width:140px;bottom:30px}}
.mo-bike--still{left:auto;right:24px;animation:mo-egg-fade 2.5s ease forwards}
.mo-bike--still *{animation:none!important;opacity:1}.mo-bike--still .mo-bike__img{transform:scale(-1,1)}
.mo-bike--still .mo-bike__lines,.mo-bike--still .mo-bike__dust,.mo-bike--still .mo-bike__txt{display:none}