.page-transition{position:fixed;top:0;left:0;width:100%;height:100%;background:var(--bg-main, #fcfbf6);z-index:10000;opacity:0;transition:opacity .36s cubic-bezier(.19,1,.22,1);pointer-events:none}.page-transition.loaded{opacity:0;pointer-events:none}body.page-transition-active .page-transition{opacity:1;pointer-events:auto}body.page-transition-active .app-header,body.page-transition-active .training-header,body.page-transition-active .training-stage-header,body.page-transition-active .overlay-header{opacity:0;transform:translateY(-8px);pointer-events:none}body.page-transition-active .app-bottom-nav{opacity:0;pointer-events:none}.app-header,.app-bottom-nav,.training-header,.training-stage-header,.overlay-header{transition:opacity .18s ease,transform .18s ease,background-color var(--transition-medium),color var(--transition-medium),border-color var(--transition-medium)}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}.skeleton{background:linear-gradient(90deg,var(--skeleton-base) 25%,var(--skeleton-mid) 37%,var(--skeleton-base) 63%);background-size:200% 100%;animation:shimmer 1.5s ease-in-out infinite;border-radius:8px;color:transparent!important;-webkit-user-select:none;user-select:none}.skeleton-line{height:1.2em;border-radius:6px;margin:8px auto}.skeleton-line.short{width:40%}.skeleton-line.medium{width:60%}.skeleton-line.long{width:80%}@keyframes celebrationBounce{0%{transform:scale(0);opacity:0}50%{transform:scale(1.15)}70%{transform:scale(.95)}to{transform:scale(1);opacity:1}}@keyframes celebrationStarPulse{0%,to{transform:scale(1)}50%{transform:scale(1.15)}}@keyframes confettiDrop{0%{transform:translateY(-100vh) rotate(0);opacity:1}85%{opacity:1}to{transform:translateY(100vh) rotate(720deg);opacity:0}}@keyframes blobFloat{0%,to{transform:translate(0) scale(1)}33%{transform:translate(30px,-50px) scale(1.1)}66%{transform:translate(-20px,20px) scale(.9)}}.celebration-overlay{position:fixed;top:0;left:0;width:100%;height:100%;background:var(--celebration-gradient);display:flex;flex-direction:column;align-items:center;justify-content:center;z-index:2000;opacity:0;pointer-events:none;transition:opacity .8s cubic-bezier(.19,1,.22,1);overflow:hidden}.celebration-overlay.show{opacity:1;pointer-events:auto}.celebration-content{text-align:center;color:#fff;animation:celebrationBounce .8s cubic-bezier(.34,1.56,.64,1);z-index:2;position:relative}.lesson-complete-card{background:var(--summary-card-glass-bg);border:3px solid var(--summary-card-glass-border);backdrop-filter:blur(25px) saturate(160%);-webkit-backdrop-filter:blur(25px) saturate(160%);padding:32px;border-radius:32px;width:min(90vw,360px);display:flex;flex-direction:column;align-items:center;gap:12px}.celebration-icon{font-size:5rem;margin-bottom:10px;display:inline-flex;justify-content:center;align-items:center}.celebration-mascot-img{width:140px;height:auto;filter:drop-shadow(0 15px 30px rgba(0,0,0,.4))}.celebration-title{font-size:2.2rem;font-weight:950;margin-bottom:8px;line-height:1.1;color:#fff}.celebration-subtitle{font-size:1.1rem;font-weight:700;opacity:.9;margin-bottom:24px;color:#fff}.celebration-btn{display:inline-flex;align-items:center;justify-content:center;position:relative;overflow:hidden;min-height:62px;padding:16px 40px;border-radius:999px;background:linear-gradient(165deg,var(--brand-strong) 0%,var(--brand) 100%);box-shadow:0 10px 0 var(--button-cta-shadow),0 20px 40px #0006,inset 0 1px #ffffff4d;color:var(--white);border:none;font-size:1.15rem;font-weight:900;letter-spacing:.02em;cursor:pointer;font-family:inherit;transition:transform .22s cubic-bezier(.22,.8,.32,1),box-shadow .22s ease,filter .22s ease;-webkit-tap-highlight-color:transparent;width:100%;z-index:10}.celebration-btn:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border-radius:inherit;background:radial-gradient(circle at 50% 30%,#ffffff54,#fff0 58%);opacity:.6;pointer-events:none}.celebration-btn:hover{transform:translateY(-2px);box-shadow:0 12px 0 var(--button-cta-shadow-hover),0 24px 48px #00000080,inset 0 1px #ffffff57;filter:saturate(1.1)}.celebration-btn:active{transform:translateY(6px) scale(.99);box-shadow:0 4px 0 var(--button-cta-shadow-active),0 12px 24px #0000004d,inset 0 1px #ffffff40}@keyframes headerStreakBounce{0%{transform:scale(1);filter:brightness(1)}40%{transform:scale(1.5) rotate(10deg);filter:drop-shadow(0 0 15px var(--warning));color:var(--warning)}70%{transform:scale(.9) rotate(-5deg)}to{transform:scale(1);filter:brightness(1)}}.header-streak.animate-bounce{animation:headerStreakBounce .8s cubic-bezier(.175,.885,.32,1.275)}.confetti-container{display:none}@media(max-width:480px){.celebration-title{font-size:1.8rem;margin-bottom:6px}.celebration-mascot-img{width:110px;filter:drop-shadow(0 10px 20px rgba(0,0,0,.4))}.celebration-icon{margin-bottom:5px}.celebration-subtitle{font-size:1rem;margin-bottom:20px}.lesson-complete-card{padding:24px 20px;width:92vw;border-radius:28px}.celebration-btn{padding:14px 24px;font-size:1.05rem;min-height:56px}}
