@keyframes mascot-idle-breathe{0%,to{transform:scale(1)}50%{transform:scale(1.05)}}.mascot-idle{animation:mascot-idle-breathe 3s ease-in-out infinite;transform-origin:center bottom}@keyframes mascot-success-jump{0%{transform:translateY(0) rotate(0deg) scale(1)}25%{transform:translateY(-30px) rotate(-10deg) scale(1.1)}50%{transform:translateY(-45px) rotate(5deg) scale(1.15)}65%{transform:translateY(-30px) rotate(-5deg) scale(1.1)}80%{transform:translateY(0) rotate(0deg) scale(1.05)}90%{transform:translateY(-10px) rotate(0deg) scale(1.02)}to{transform:translateY(0) rotate(0deg) scale(1)}}@keyframes mascot-success-glow{0%,to{filter:drop-shadow(0 4px 12px rgba(234,179,8,0))}50%{filter:drop-shadow(0 8px 24px rgba(234,179,8,.8)) drop-shadow(0 0 32px rgba(250,204,21,.6))}}.mascot-success{animation:mascot-success-jump .8s cubic-bezier(.68,-.55,.265,1.55),mascot-success-glow .8s ease-in-out;transform-origin:center bottom}@keyframes mascot-error-shake{0%,to{transform:translateX(0) rotate(0deg)}10%{transform:translateX(-8px) rotate(-3deg)}20%{transform:translateX(8px) rotate(3deg)}30%{transform:translateX(-8px) rotate(-3deg)}40%{transform:translateX(8px) rotate(3deg)}50%{transform:translateX(-6px) rotate(-2deg)}60%{transform:translateX(6px) rotate(2deg)}70%{transform:translateX(-4px) rotate(-1deg)}80%{transform:translateX(4px) rotate(1deg)}90%{transform:translateX(-2px) rotate(-.5deg)}}.mascot-error{animation:mascot-error-shake .6s ease-in-out;transform-origin:center bottom}@keyframes mascot-feedback-pulse{0%,to{transform:scale(1);opacity:1}50%{transform:scale(.95);opacity:.8}}.mascot-feedback{animation:mascot-feedback-pulse .4s ease-in-out;transform-origin:center}@keyframes mascot-bounce{0%,to{transform:translateY(0)}50%{transform:translateY(-15px)}}.mascot-bounce{animation:mascot-bounce .6s ease-in-out}@keyframes mascot-wiggle{0%,to{transform:rotate(0deg)}25%{transform:rotate(-5deg)}75%{transform:rotate(5deg)}}.mascot-wiggle{animation:mascot-wiggle .5s ease-in-out}@keyframes mascot-celebrate{0%{transform:scale(1) rotate(0deg)}25%{transform:scale(1.2) rotate(-10deg)}50%{transform:scale(1.3) rotate(10deg)}75%{transform:scale(1.2) rotate(-5deg)}to{transform:scale(1) rotate(0deg)}}.mascot-celebrate{animation:mascot-celebrate .8s cubic-bezier(.68,-.55,.265,1.55);filter:drop-shadow(0 8px 24px rgba(234,179,8,.6))}@keyframes mascot-fade-in{0%{opacity:0;transform:scale(.9)}to{opacity:1;transform:scale(1)}}.mascot-fade-in{animation:mascot-fade-in .3s ease-out}@keyframes star-float{0%{opacity:0;transform:translate(0) scale(0) rotate(0deg)}50%{opacity:1}to{opacity:0;transform:translate(var(--tx),var(--ty)) scale(1.5) rotate(1turn)}}.star{position:absolute;font-size:1.5rem;animation:star-float 1.5s ease-out forwards}.star-1{top:-10%;left:-10%;--tx:-30px;--ty:-40px;animation-delay:0s}.star-2{top:-10%;right:-10%;--tx:30px;--ty:-40px;animation-delay:.1s}.star-3{bottom:-10%;left:-10%;--tx:-35px;--ty:40px;animation-delay:.2s}.star-4{bottom:-10%;right:-10%;--tx:35px;--ty:40px;animation-delay:.15s}@media (prefers-reduced-motion:reduce){.mascot-bounce,.mascot-celebrate,.mascot-error,.mascot-fade-in,.mascot-feedback,.mascot-idle,.mascot-success,.mascot-wiggle,.star{animation:none!important;transform:scale(1)!important;filter:none!important}.mascot-celebrate{filter:drop-shadow(0 4px 12px rgba(234,179,8,.4))!important}}.book-transition-overlay{position:fixed;top:0;left:0;width:100vw;height:100vh;z-index:9999;pointer-events:none;perspective:2000px;display:flex;justify-content:center;align-items:center}.book-page{position:absolute;width:50vw;height:100vh;background:linear-gradient(135deg,#fffbeb,#fef3c7);box-shadow:0 10px 50px rgba(0,0,0,.3);transform-origin:center}.book-page-left{left:0;animation:pageFlipLeft 1s cubic-bezier(.45,.05,.55,.95) forwards;border-right:2px solid #fbbf24}.book-page-right{right:0;animation:pageFlipRight 1s cubic-bezier(.45,.05,.55,.95) forwards;border-left:2px solid #fbbf24}@keyframes pageFlipLeft{0%{transform:rotateY(0deg);opacity:1}to{transform:rotateY(-90deg);opacity:0}}@keyframes pageFlipRight{0%{transform:rotateY(0deg);opacity:1}to{transform:rotateY(90deg);opacity:0}}@media (max-width:768px){.book-transition-overlay{perspective:1000px}.book-page{box-shadow:0 5px 30px rgba(0,0,0,.25)}}@media (prefers-reduced-motion:reduce){.book-page-left,.book-page-right{animation:fadeOut .3s ease forwards}@keyframes fadeOut{0%{opacity:1}to{opacity:0}}}