@media (prefers-reduced-motion:reduce){*,:after,:before{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}@keyframes floating{0%,to{transform:translateY(0) rotate(0deg)}25%{transform:translateY(-10px) rotate(90deg)}50%{transform:translateY(-20px) rotate(180deg)}75%{transform:translateY(-10px) rotate(270deg)}}@keyframes floatingSubtle{0%,to{transform:translateY(0) translateX(0)}33%{transform:translateY(-8px) translateX(4px)}66%{transform:translateY(4px) translateX(-4px)}}@keyframes floatingOrb{0%,to{transform:translateY(0) scale(1);opacity:.6}50%{transform:translateY(-15px) scale(1.1);opacity:.8}}.animate-floating,.animate-floating-delay-1{animation:floating 3s ease-in-out infinite}.animate-floating-delay-1{animation-delay:1s}.animate-floating-delay-2{animation:floating 3s ease-in-out infinite;animation-delay:2s}.animate-floating-delay-3{animation:floatingSubtle 4s ease-in-out infinite;animation-delay:.5s}.animate-floating-orb{animation:floatingOrb 6s ease-in-out infinite}@keyframes breathe{0%,to{transform:scale(1)}50%{transform:scale(1.03)}}@keyframes characterBounce{0%,to{transform:translateY(0) scale(1)}50%{transform:translateY(-8px) scale(1.02)}}@keyframes characterWiggle{0%,to{transform:rotate(0deg)}25%{transform:rotate(1deg)}75%{transform:rotate(-1deg)}}.animate-breathe,.animate-breathe-delay{animation:breathe 4s ease-in-out infinite}.animate-breathe-delay{animation-delay:2s}.animate-character-bounce{animation:characterBounce 3s ease-in-out infinite}.animate-character-wiggle{animation:characterWiggle 2s ease-in-out infinite}@keyframes gradientShift{0%{background-position:0 50%}50%{background-position:100% 50%}to{background-position:0 50%}}@keyframes gradientRotate{0%{filter:hue-rotate(0deg)}to{filter:hue-rotate(1turn)}}.animate-gradient-shift{background-size:400% 400%;animation:gradientShift 15s ease infinite}.animate-gradient-rotate{animation:gradientRotate 10s linear infinite}@keyframes fadeInUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeInLeft{0%{opacity:0;transform:translateX(-30px)}to{opacity:1;transform:translateX(0)}}@keyframes fadeInScale{0%{opacity:0;transform:scale(.8)}to{opacity:1;transform:scale(1)}}.animate-fade-in-up{animation:fadeInUp .6s cubic-bezier(.4,0,.2,1) both}.animate-fade-in-up-delay-1{animation:fadeInUp .6s cubic-bezier(.4,0,.2,1) .1s both}.animate-fade-in-up-delay-2{animation:fadeInUp .6s cubic-bezier(.4,0,.2,1) .2s both}.animate-fade-in-up-delay-3{animation:fadeInUp .6s cubic-bezier(.4,0,.2,1) .3s both}.animate-fade-in-up-delay-4{animation:fadeInUp .6s cubic-bezier(.4,0,.2,1) .4s both}.animate-fade-in-left{animation:fadeInLeft .6s cubic-bezier(.4,0,.2,1) both}.animate-fade-in-scale{animation:fadeInScale .6s cubic-bezier(.4,0,.2,1) both}@keyframes pulseGlow{0%,to{box-shadow:0 0 5px rgba(99,102,241,.3)}50%{box-shadow:0 0 20px rgba(99,102,241,.6),0 0 30px rgba(139,92,246,.4)}}@keyframes buttonHover{0%{transform:scale(1)}to{transform:scale(1.05)}}.animate-pulse-glow{animation:pulseGlow 2s ease-in-out infinite}.animate-button-hover{transition:all .3s cubic-bezier(.4,0,.2,1)}.animate-button-hover:hover{animation:buttonHover .3s cubic-bezier(.4,0,.2,1) forwards}.animate-shimmer{background:linear-gradient(90deg,transparent,hsla(0,0%,100%,.4),transparent);background-size:468px 100%;animation:shimmer 2s infinite}@keyframes cardLift{0%{transform:translateY(0) scale(1);box-shadow:0 4px 6px -1px rgba(0,0,0,.1)}to{transform:translateY(-8px) scale(1.02);box-shadow:0 20px 25px -5px rgba(0,0,0,.1),0 10px 10px -5px rgba(0,0,0,.04)}}@keyframes stackCardHover{0%{transform:translateY(0);box-shadow:0 4px 6px -1px rgba(0,0,0,.1)}to{transform:translateY(-4px);box-shadow:0 20px 25px -5px rgba(0,0,0,.1),0 10px 10px -5px rgba(0,0,0,.04)}}.stack-card-hover{transition:all .3s cubic-bezier(.4,0,.2,1)}.stack-card-hover:hover{animation:stackCardHover .3s cubic-bezier(.4,0,.2,1) forwards}.card-lift{transition:all .3s cubic-bezier(.4,0,.2,1)}.card-lift:hover{animation:cardLift .3s cubic-bezier(.4,0,.2,1) forwards}@keyframes progressFill{0%{width:0}to{width:var(--progress-width,100%)}}@keyframes dotPulse{0%,20%{color:#6366f1;transform:scale(1)}50%{color:rgba(99,102,241,.5);transform:scale(1.2)}to{color:#6366f1;transform:scale(1)}}@keyframes spinGradient{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.animate-progress-fill{animation:progressFill 1.5s cubic-bezier(.4,0,.2,1) forwards}.animate-dot-pulse,.animate-dot-pulse-delay-1{animation:dotPulse 1.5s ease-in-out infinite}.animate-dot-pulse-delay-1{animation-delay:.2s}.animate-dot-pulse-delay-2{animation:dotPulse 1.5s ease-in-out infinite;animation-delay:.4s}.animate-spin-gradient{animation:spinGradient 2s linear infinite}@keyframes slideInFromBottom{0%{opacity:0;transform:translateY(50px)}to{opacity:1;transform:translateY(0)}}@keyframes slideInFromLeft{0%{opacity:0;transform:translateX(-50px)}to{opacity:1;transform:translateX(0)}}@keyframes slideInFromRight{0%{opacity:0;transform:translateX(50px)}to{opacity:1;transform:translateX(0)}}.scroll-reveal{opacity:0;transform:translateY(30px);transition:all .6s cubic-bezier(.4,0,.2,1)}.scroll-reveal.is-visible{opacity:1;transform:translateY(0)}.animate-slide-in-bottom{animation:slideInFromBottom .6s cubic-bezier(.4,0,.2,1) both}.animate-slide-in-left{animation:slideInFromLeft .6s cubic-bezier(.4,0,.2,1) both}.animate-slide-in-right{animation:slideInFromRight .6s cubic-bezier(.4,0,.2,1) both}.touch-feedback{transition:transform .15s ease-out,opacity .15s ease-out}.touch-feedback:active{transform:scale(.98);opacity:.8}@media (hover:none) and (pointer:coarse){.card-lift:hover,.stack-card-hover:hover{transform:none;box-shadow:0 4px 6px -1px rgba(0,0,0,.1);animation:none}.animate-button-hover:hover{transform:none;animation:none}}.ease-smooth{transition-timing-function:cubic-bezier(.4,0,.2,1)}.ease-bounce{transition-timing-function:cubic-bezier(.68,-.55,.265,1.55)}.ease-elastic{transition-timing-function:cubic-bezier(.175,.885,.32,1.275)}.will-change-transform{will-change:transform}.will-change-auto{will-change:auto}.stagger-animation>*{opacity:0;transform:translateY(20px);animation:fadeInUp .6s cubic-bezier(.4,0,.2,1) forwards}.stagger-animation>:first-child{animation-delay:.1s}.stagger-animation>:nth-child(2){animation-delay:.2s}.stagger-animation>:nth-child(3){animation-delay:.3s}.stagger-animation>:nth-child(4){animation-delay:.4s}.stagger-animation>:nth-child(5){animation-delay:.5s}.stagger-animation>:nth-child(6){animation-delay:.6s}.grid-stagger-animation>*{opacity:0;transform:translateY(20px) scale(.95);animation:fadeInScale .6s cubic-bezier(.4,0,.2,1) forwards}.grid-stagger-animation>:nth-child(odd){animation-delay:.1s}.grid-stagger-animation>:nth-child(2n){animation-delay:.2s}.animate-gpu{transform:translateZ(0);backface-visibility:hidden;perspective:1000px}@media (prefers-reduced-motion:reduce){.animate-breathe,.animate-breathe-delay,.animate-character-bounce,.animate-character-wiggle,.animate-floating,.animate-floating-delay-1,.animate-floating-delay-2,.animate-floating-delay-3,.animate-floating-orb,.animate-gradient-rotate,.animate-gradient-shift,.animate-pulse-glow,.animate-shimmer{animation:none!important}.animate-button-hover:hover,.card-lift:hover,.stack-card-hover:hover{transform:none!important;animation:none!important}}:root{--gradient-primary-vibrant:linear-gradient(135deg,#667eea,#764ba2);--gradient-success-vibrant:linear-gradient(135deg,#34d399,#10b981);--gradient-warning-vibrant:linear-gradient(135deg,#fbbf24,#f59e0b);--gradient-mission:linear-gradient(135deg,#3b82f6,#8b5cf6);--gradient-achievement:linear-gradient(135deg,#ec4899,#8b5cf6);--gradient-header-enhanced:linear-gradient(180deg,#fff,#f9fafb 50%,#f3f4f6);--shadow-card-hover-game:0 10px 30px -5px rgba(99,102,241,.15);--shadow-badge-active:0 4px 12px -2px rgba(99,102,241,.2);--shadow-mission-card:0 8px 24px -6px rgba(99,102,241,.12);--mission-card-padding-compact:0.75rem;--badge-scroll-size:3.5rem;--progress-ring-compact:5rem}.achievement-header-enhanced{background:var(--gradient-header-enhanced);border-bottom:1px solid rgba(0,0,0,.05);backdrop-filter:blur(10px);position:relative;overflow:hidden}.achievement-header-enhanced:before{content:"";position:absolute;top:0;left:-50%;width:200%;height:100%;background:linear-gradient(90deg,transparent,rgba(99,102,241,.05) 50%,transparent);animation:shimmer 3s infinite}@keyframes shimmer{0%{transform:translateX(-100%)}to{transform:translateX(100%)}}.mission-card-compact{background:#fff;border-radius:16px;padding:var(--mission-card-padding-compact);box-shadow:var(--shadow-mission-card);border:1px solid rgba(99,102,241,.1);position:relative;overflow:hidden;transition:all .3s ease}.mission-card-compact:hover{transform:translateY(-2px);box-shadow:var(--shadow-card-hover-game)}.mission-card-compact:before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:var(--gradient-mission)}.mission-progress-ring{width:var(--progress-ring-compact);height:var(--progress-ring-compact);position:relative}.mission-progress-ring svg{transform:rotate(-90deg)}.mission-progress-ring-track{fill:none;stroke:#e5e7eb;stroke-width:8}.mission-progress-ring-fill{fill:none;stroke:url(#mission-gradient);stroke-width:8;stroke-linecap:round;transition:stroke-dashoffset .5s ease}.task-item{display:flex;align-items:center;gap:.75rem;padding:.75rem 1rem;background:#fff;border:1px solid #e5e7eb;border-radius:12px;transition:all .2s ease;cursor:pointer}.task-item:hover{background:#f9fafb;border-color:#3b82f6;transform:translateX(4px)}.task-checkbox{width:24px;height:24px;border:2px solid #d1d5db;border-radius:50%;display:flex;align-items:center;justify-content:center;transition:all .2s ease;flex-shrink:0}.task-item.completed .task-checkbox{background:var(--gradient-success-vibrant);border-color:transparent}.task-priority-indicator{width:4px;height:100%;position:absolute;left:0;top:0;border-radius:12px 0 0 12px}.task-priority-high{background:#ef4444}.task-priority-medium{background:#f59e0b}.task-priority-low{background:#10b981}.badge-scroll-container{display:flex;gap:1rem;overflow-x:auto;overflow-y:hidden;padding:1rem 0;scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch}.badge-scroll-container::-webkit-scrollbar{height:6px}.badge-scroll-container::-webkit-scrollbar-track{background:#f1f5f9;border-radius:3px}.badge-scroll-container::-webkit-scrollbar-thumb{background:#cbd5e1;border-radius:3px}.achievement-badge{flex-shrink:0;width:var(--badge-scroll-size);height:var(--badge-scroll-size);border-radius:12px;background:#fff;border:2px solid #e5e7eb;padding:.5rem;display:flex;flex-direction:column;align-items:center;justify-content:center;scroll-snap-align:start;transition:all .2s ease;cursor:pointer}.achievement-badge:hover{transform:scale(1.1);border-color:#3b82f6;box-shadow:var(--shadow-badge-active)}.achievement-badge-icon{width:2rem;height:2rem;margin-bottom:.25rem}.achievement-badge-label{font-size:.625rem;text-align:center;color:#6b7280}@media (max-width:640px){.mission-card-compact{padding:.5rem}.badge-scroll-container{gap:.5rem}.achievement-badge{width:3rem;height:3rem}.task-item{padding:.5rem .75rem}}@keyframes pulse-glow{0%,to{box-shadow:0 0 0 0 rgba(59,130,246,.4)}50%{box-shadow:0 0 0 8px rgba(59,130,246,0)}}.pulse-animation{animation:pulse-glow 2s infinite}@keyframes slide-up{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.slide-up-enter{animation:slide-up .3s ease-out}.achievement-section{background:#fff;border-radius:16px;padding:1.5rem;box-shadow:0 1px 3px rgba(0,0,0,.1);margin-bottom:1.5rem}.section-divider{display:none}.unified-container{background:linear-gradient(180deg,#fff,#f9fafb);min-height:100vh;padding-bottom:env(safe-area-inset-bottom)}