@import"https://fonts.googleapis.com/css2?family=Lexend:wght@300;400;500;600;700;800&display=swap";:root{font-family:system-ui,Avenir,Helvetica,Arial,sans-serif;line-height:1.5;font-weight:400;color-scheme:light;color:#0b1028;background-color:#f9f3ed;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}a{font-weight:500;color:#259388;text-decoration:inherit}a:hover{color:#1a7a6f}body{margin:0;min-width:320px;min-height:100vh;width:100%;overflow-x:hidden;background-color:#f9f3ed;color:#0b1028}#root{width:100%;min-height:100vh;background-color:#f9f3ed}h1{font-size:3.2em;line-height:1.1}button{border-radius:8px;border:1px solid transparent;padding:.6em 1.2em;font-size:1em;font-weight:500;font-family:inherit;background-color:#f9f9f9;cursor:pointer;transition:border-color .25s}button:hover{border-color:#259388}button:focus,button:focus-visible{outline:4px auto -webkit-focus-ring-color}:root{--teal: 174 60% 36%;--teal-dark: 173 80% 26%;--teal-light: 174 60% 52%;--mint: 169 56% 58%;--golden: 47 90% 67%;--midnight: 230 60% 10%;--orange: 27 75% 58%;--coral: 5 65% 61%;--cream: 36 50% 95%;--shadow-soft: 0 8px 24px -8px hsl(var(--midnight) / .18)}@keyframes sprout-lean{0%,to{transform:rotate(-6deg)}50%{transform:rotate(6deg)}}.sprout-lean{animation:sprout-lean 1.6s ease-in-out infinite;transform-origin:50% 90%}@keyframes sprout-hop{0%{transform:translateY(0) scaleY(1) scaleX(1)}20%{transform:translateY(0) scaleY(.85) scaleX(1.1)}55%{transform:translateY(-32px) scaleY(1.08) scaleX(.95)}85%{transform:translateY(0) scaleY(.92) scaleX(1.05)}to{transform:translateY(0) scaleY(1) scaleX(1)}}.sprout-hop{animation:sprout-hop .6s cubic-bezier(.5,1.4,.5,1) 1}@keyframes sprout-wiggle{0%,to{transform:rotate(0)}25%{transform:rotate(-7deg)}75%{transform:rotate(7deg)}}.sprout-wiggle{animation:sprout-wiggle .7s ease-in-out 1}@keyframes sprout-spin{0%{transform:rotate(0) scale(1)}50%{transform:rotate(180deg) scale(1.12)}to{transform:rotate(360deg) scale(1)}}.sprout-spin{animation:sprout-spin .9s cubic-bezier(.5,.05,.3,1) 1}@keyframes sprout-grow{0%{transform:scale(1)}50%{transform:scale(1.15)}to{transform:scale(1)}}.sprout-grow{animation:sprout-grow .8s cubic-bezier(.4,1.4,.5,1) 1}@keyframes sprout-idle{0%,to{transform:translateY(0)}50%{transform:translateY(-6px)}}.sprout-idle{animation:sprout-idle 2.4s ease-in-out infinite}@keyframes consonant-pulse{0%,to{color:hsl(var(--midnight));text-shadow:0 0 0 hsl(var(--teal) / 0)}50%{color:hsl(var(--teal));text-shadow:0 0 18px hsl(var(--teal) / .7)}}.consonant-pulse{animation:consonant-pulse 1.4s ease-in-out infinite}@keyframes slot-pulse{0%,to{transform:scale(1);opacity:.55}50%{transform:scale(1.12);opacity:1}}.slot-pulse{animation:slot-pulse 1.6s ease-in-out infinite}@keyframes hat-land{0%{transform:scale(1.4) rotate(-15deg)}60%{transform:scale(.9) rotate(5deg)}to{transform:scale(1) rotate(0)}}.hat-land{animation:hat-land .4s cubic-bezier(.4,1.6,.5,1) 1}@keyframes macron-hint{0%,to{transform:translate(0)}50%{transform:translate(8px)}}.macron-hint{animation:macron-hint 1.4s ease-in-out infinite}@keyframes silent-e-wink{0%{opacity:0;transform:translate(-50%) scale(.6)}20%{opacity:1;transform:translate(-50%) scale(1.1)}35%{opacity:1;transform:translate(-50%) scale(1)}50%{opacity:1;transform:translate(-50%) scaleY(.1)}65%{opacity:1;transform:translate(-50%) scale(1)}to{opacity:0;transform:translate(-50%) scale(.9)}}.silent-e-wink{animation:silent-e-wink .9s ease-in-out 1 forwards;transform-origin:50% 50%}@keyframes vowel-wiggle{0%{transform:scale(1) rotate(0)}25%{transform:scale(1.18) rotate(-5deg)}50%{transform:scale(1.05) rotate(4deg)}75%{transform:scale(1.12) rotate(-2deg)}to{transform:scale(1) rotate(0)}}.vowel-wiggle{animation:vowel-wiggle .6s ease-in-out 1}@keyframes vowel-glow{0%{text-shadow:0 0 0 transparent}30%{text-shadow:0 0 24px hsl(var(--golden) / .9),0 0 8px hsl(var(--golden) / .6)}to{text-shadow:0 0 0 transparent}}.vowel-glow{animation:vowel-glow 1.6s ease-out 1}@keyframes drag-particle{0%{opacity:1;transform:translate(-50%,-50%) scale(1)}to{opacity:0;transform:translate(-50%,calc(-50% - 32px)) scale(.3)}}.drag-particle{animation:drag-particle .7s ease-out 1 forwards}@keyframes sparkle{0%{transform:translate(0) scale(.4);opacity:0}20%{opacity:1}to{transform:translate(var(--dx),var(--dy)) scale(1.4);opacity:0}}.sparkle{animation:sparkle .9s ease-out 1 forwards}@keyframes confetti-fall{0%{transform:translateY(-20vh) rotate(0);opacity:1}to{transform:translateY(110vh) rotate(720deg);opacity:.9}}.confetti-piece{animation:confetti-fall 2.6s linear 1 forwards}@keyframes mic-ring{0%{transform:scale(.8);opacity:.7}to{transform:scale(2.2);opacity:0}}.mic-ring{animation:mic-ring 1.4s ease-out infinite}@keyframes mic-slide-up{0%{transform:translateY(120%);opacity:0}to{transform:translateY(0);opacity:1}}.mic-slide-up{animation:mic-slide-up .5s cubic-bezier(.4,1.4,.5,1) 1}@keyframes consonant-pop{0%{transform:scale(1)}40%{transform:scale(1.18)}to{transform:scale(1)}}.consonant-pop{animation:consonant-pop .35s cubic-bezier(.4,1.5,.5,1) 1}@keyframes drag-demo-finger{0%{left:28%;top:50%;opacity:0;transform:translate(-50%,-50%) scale(.8)}15%{opacity:1;transform:translate(-50%,-50%) scale(1)}85%{opacity:1;transform:translate(-50%,-50%) scale(1)}to{left:72%;top:50%;opacity:0;transform:translate(-50%,-50%) scale(.8)}}.drag-demo-finger{animation:drag-demo-finger 1.7s ease-in-out infinite;filter:drop-shadow(0 4px 8px hsl(var(--midnight) / .25))}@keyframes fade-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.fade-in{animation:fade-in .4s ease-out 1}.interstitial-back-to-lesson{position:absolute;left:16px;top:16px;z-index:40;display:flex;height:36px;align-items:center;gap:6px;border-radius:9999px;background-color:hsl(var(--cream) / .8);padding:0 12px;font-size:12px;font-weight:600;color:hsl(var(--midnight));box-shadow:var(--shadow-soft);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);transition:transform .15s ease-out;text-decoration:none}.interstitial-back-to-lesson:hover{transform:translateY(-2px);background-color:hsl(var(--cream))}.interstitial-replay-btn{position:absolute;top:20px;right:20px;z-index:20;display:flex;height:48px;width:48px;align-items:center;justify-content:center;border-radius:9999px;background-color:hsl(var(--cream));box-shadow:var(--shadow-soft);border:none;cursor:pointer;transition:transform .15s ease-out}.interstitial-replay-btn:hover{transform:scale(1.05)}.interstitial-replay-btn:active{transform:scale(.95)}.interstitial-replay-btn:disabled{opacity:.4;cursor:default}.interstitial-wrapup{position:relative;display:flex;height:100%;width:100%;align-items:center;justify-content:center}*{margin:0;padding:0;box-sizing:border-box}body{font-family:Lexend,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.text-center{text-align:center}.space-y-8>*+*{margin-top:2rem}.space-y-6>*+*{margin-top:1.5rem}.space-y-4>*+*{margin-top:1rem}.text-7xl{font-size:4.5rem;line-height:1}.text-4xl{font-size:2.25rem;line-height:2.5rem}.text-3xl{font-size:1.875rem;line-height:2.25rem}.text-2xl{font-size:1.5rem;line-height:2rem}.text-xl{font-size:1.25rem;line-height:1.75rem}.text-lg{font-size:1.125rem;line-height:1.75rem}.text-sm{font-size:.875rem;line-height:1.25rem}.font-bold{font-weight:700}.font-semibold{font-weight:600}.mb-6{margin-bottom:1.5rem}.mb-4{margin-bottom:1rem}.mb-8{margin-bottom:2rem}.mt-4{margin-top:1rem}.flex{display:flex}.flex-col{flex-direction:column}.items-center{align-items:center}.justify-center{justify-content:center}.gap-4{gap:1rem}.gap-3{gap:.75rem}.gap-2{gap:.5rem}.max-w-md{max-width:28rem}.mx-auto{margin-left:auto;margin-right:auto}@keyframes bounce{0%,to{transform:translateY(-25%);animation-timing-function:cubic-bezier(.8,0,1,1)}50%{transform:translateY(0);animation-timing-function:cubic-bezier(0,0,.2,1)}}.animate-bounce{animation:bounce 1s infinite}@keyframes pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.7;transform:scale(1.15)}}.animate-pulse{animation:pulse 2s cubic-bezier(.4,0,.6,1) infinite}@keyframes shake{0%,to{transform:translate(0)}10%,30%,50%,70%,90%{transform:translate(-12px)}20%,40%,60%,80%{transform:translate(12px)}}@keyframes pulseRing{0%{transform:translate(-50%,-50%) scale(.8);opacity:1}to{transform:translate(-50%,-50%) scale(1.2);opacity:0}}@keyframes micProcessingPulse{0%,to{opacity:.55;transform:translate(-50%,-50%) scale(1)}50%{opacity:.85;transform:translate(-50%,-50%) scale(1.08)}}@keyframes micProcessingPulseOuter{0%,to{opacity:.25;transform:translate(-50%,-50%) scale(1)}50%{opacity:.45;transform:translate(-50%,-50%) scale(1.1)}}.mic-processing-ring-inner{animation:micProcessingPulse 1.4s ease-in-out infinite}.mic-processing-ring-outer{animation:micProcessingPulseOuter 1.4s ease-in-out infinite}.mic-spinner{animation:micSpin .8s linear infinite}@keyframes micSpin{to{transform:rotate(360deg)}}@keyframes successPop{0%{transform:translate(-50%,-50%) scale(0);opacity:0}50%{transform:translate(-50%,-50%) scale(1.3);opacity:1}to{transform:translate(-50%,-50%) scale(1);opacity:0}}@keyframes slideUp{0%{transform:translateY(30px);opacity:0}to{transform:translateY(0);opacity:1}}.slide-up{animation:slideUp .5s ease-out forwards}@keyframes discoSpin{0%{transform:scale(.1) rotate(0);opacity:0}20%{opacity:1}70%{transform:scale(1.2) rotate(720deg)}to{transform:scale(1) rotate(720deg)}}@keyframes discoRainbow{0%{color:#ff1493;text-shadow:0 0 20px #FF1493,0 0 40px #FF1493,0 0 60px #FF1493,0 0 80px #FF1493}20%{color:#ff6b35;text-shadow:0 0 20px #FF6B35,0 0 40px #FF6B35,0 0 60px #FF6B35,0 0 80px #FF6B35}40%{color:gold;text-shadow:0 0 20px #FFD700,0 0 40px #FFD700,0 0 60px #FFD700,0 0 80px #FFD700}60%{color:#32cd32;text-shadow:0 0 20px #32CD32,0 0 40px #32CD32,0 0 60px #32CD32,0 0 80px #32CD32}80%{color:#00bfff;text-shadow:0 0 20px #00BFFF,0 0 40px #00BFFF,0 0 60px #00BFFF,0 0 80px #00BFFF}to{color:#ff1493;text-shadow:0 0 20px #FF1493,0 0 40px #FF1493,0 0 60px #FF1493,0 0 80px #FF1493}}@keyframes discoBeatPulse{0%,to{transform:scale(1)}10%{transform:scale(1.15)}20%{transform:scale(1)}30%{transform:scale(1.1)}40%{transform:scale(1)}50%{transform:scale(1.12)}60%{transform:scale(1)}70%{transform:scale(1.08)}80%{transform:scale(1)}90%{transform:scale(1.05)}}@keyframes discoStrobeRainbow{0%,to{box-shadow:0 0 60px 30px #ff1493b3,0 0 100px 60px #ff6b3566,0 0 140px 90px #ffd70033}25%{box-shadow:0 0 80px 40px #ffd700b3,0 0 120px 70px #32cd3266,0 0 160px 100px #00bfff33}50%{box-shadow:0 0 100px 50px #32cd32cc,0 0 140px 80px #00bfff80,0 0 180px 110px #ff14934d}75%{box-shadow:0 0 70px 35px #00bfffb3,0 0 110px 65px #ff149366,0 0 150px 95px #ff6b3533}}@keyframes discoRaysRainbow{0%{transform:translate(-50%,-50%) rotate(0)}to{transform:translate(-50%,-50%) rotate(360deg)}}@keyframes spin{0%{transform:translate(-50%,-50%) rotate(0)}to{transform:translate(-50%,-50%) rotate(360deg)}}.disco-s-enter{animation:discoSpin 2s ease-out forwards;color:#ff1493;text-shadow:0 0 30px #FF1493,0 0 60px #FF1493}.disco-s-glow{font-weight:900;animation:discoRainbow 1.5s linear infinite,discoBeatPulse .8s ease-in-out infinite}@keyframes gradientShift{0%{background-position:0% 50%}50%{background-position:100% 50%}to{background-position:0% 50%}}@keyframes gentlePulse{0%,to{transform:scale(1)}50%{transform:scale(1.05)}}.gentle-pulse{animation:gentlePulse 2s ease-in-out infinite}@keyframes wiggle{0%,to{transform:rotate(0)}20%{transform:rotate(-5deg)}40%{transform:rotate(5deg)}60%{transform:rotate(-3deg)}80%{transform:rotate(3deg)}}.wiggle{animation:wiggle .6s ease-in-out}.wiggle-continuous{animation:wiggle .6s ease-in-out infinite}@keyframes softShadowPulse{0%,to{box-shadow:0 4px 12px #25938826}50%{box-shadow:0 4px 20px #25938866,0 0 30px #25938833}}.soft-shadow-pulse{animation:softShadowPulse 2.5s ease-in-out infinite}@keyframes soundWaveRipple{0%{transform:scale(0);opacity:.6}to{transform:scale(3);opacity:0}}.sound-wave{animation:soundWaveRipple .8s ease-out forwards}@keyframes bounceIn{0%{transform:scale(0);opacity:0}50%{transform:scale(1.15);opacity:1}to{transform:scale(1);opacity:1}}.bounce-in{animation:bounceIn .6s cubic-bezier(.68,-.55,.265,1.55)}@keyframes floatAndGlow{0%,to{transform:translateY(0) scale(1)}50%{transform:translateY(-12px) scale(1.08)}}.float-and-glow{animation:floatAndGlow 2s ease-in-out infinite}@keyframes subtlePulseDelayed{0%,80%{transform:scale(1)}85%{transform:scale(1.05)}90%,to{transform:scale(1)}}.subtle-pulse-delayed{animation:subtlePulseDelayed 5s ease-in-out infinite}.green-glow-breathe{animation:greenGlowBreathe 2s ease-in-out infinite}@keyframes greenGlowBreathe{0%,to{transform:scale(1);box-shadow:0 0 20px #25938880,0 0 40px #25938833,0 4px 12px #0000001a}50%{transform:scale(1.06);box-shadow:0 0 35px #259388cc,0 0 60px #25938866,0 4px 12px #0000001a}}.silent-e-glow{animation:silentEGlow 2s ease-in-out infinite}@keyframes silentEGlow{0%,to{box-shadow:0 0 15px #9b59b680,0 4px 12px #0000001a}50%{box-shadow:0 0 25px #9b59b6b3,0 0 40px #9b59b64d,0 4px 12px #0000001a}}@keyframes wave{0%,to{height:20px}50%{height:50px}}@keyframes surprisePop{0%{transform:scale(0);opacity:0}50%{transform:scale(1.2)}to{transform:scale(1);opacity:1}}@keyframes robotBounce{0%,to{transform:translateY(0)}15%{transform:translateY(-15px)}30%{transform:translateY(0)}45%{transform:translateY(-10px)}60%{transform:translateY(0)}75%{transform:translateY(-5px)}90%{transform:translateY(0)}}.robot-excited{animation:robotBounce 1s ease-in-out}button{transition:all .3s ease}button:hover:not(:disabled){transform:scale(1.05)}button:active:not(:disabled){transform:scale(.95)}button:disabled{cursor:not-allowed;opacity:.5}input:focus{outline:none;ring:2px;ring-color:#259388}@keyframes toastSlideIn{0%{transform:translate(100%);opacity:0}to{transform:translate(0);opacity:1}}@keyframes toastSlideOut{0%{transform:translate(0);opacity:1}to{transform:translate(100%);opacity:0}}@keyframes shipSailing{0%,to{transform:rotate(-5deg) translateY(0)}25%{transform:rotate(3deg) translateY(-4px)}50%{transform:rotate(-3deg) translateY(2px)}75%{transform:rotate(5deg) translateY(-2px)}}.ship-sailing{display:inline-block;animation:shipSailing 2s ease-in-out infinite}@keyframes wheelSpinning{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.wheel-spinning{display:inline-block;animation:wheelSpinning 2s linear infinite}@keyframes discoGrooving{0%,to{transform:scale(1);filter:drop-shadow(0 0 8px #FF1493)}25%{transform:scale(1.1);filter:drop-shadow(0 0 12px #FFD700)}50%{transform:scale(1);filter:drop-shadow(0 0 8px #00BFFF)}75%{transform:scale(1.15);filter:drop-shadow(0 0 12px #32CD32)}}.disco-grooving{display:inline-block;animation:discoGrooving 1s ease-in-out infinite}.inactivity-toast{position:fixed;bottom:24px;right:24px;background:linear-gradient(135deg,#7356df,#9b6dff);color:#fff;padding:16px 24px;border-radius:16px;box-shadow:0 8px 32px #7356df66;display:flex;align-items:center;gap:12px;font-family:Lexend,sans-serif;font-weight:600;font-size:1.1rem;z-index:9999;animation:toastSlideIn .4s ease-out forwards;max-width:320px}.inactivity-toast.hiding{animation:toastSlideOut .3s ease-in forwards}.inactivity-toast-emoji{font-size:2.5rem;line-height:1}.inactivity-toast-message{flex:1}@media(max-width:768px){.text-7xl{font-size:3rem}.text-4xl{font-size:1.875rem}.text-3xl{font-size:1.5rem}.text-2xl{font-size:1.25rem}}@keyframes starFlyToPoints{0%{opacity:1;transform:translate(var(--offset-x, 0),var(--offset-y, 0)) scale(1);filter:drop-shadow(0 0 8px gold)}30%{opacity:1;transform:translate(calc(var(--offset-x, 0) - 50px),calc(var(--offset-y, 0) - 150px)) scale(1.2);filter:drop-shadow(0 0 12px gold)}70%{opacity:1;filter:drop-shadow(0 0 8px gold)}to{opacity:0;transform:translate(calc(100vw - 250px),calc(-100vh + 220px)) scale(.6);filter:drop-shadow(0 0 4px gold)}}@keyframes sSlideInBounce{0%{transform:translate(120px) scaleX(1) scaleY(1);opacity:0}40%{transform:translate(0) scaleX(1.25) scaleY(.8);opacity:1}60%{transform:translate(0) scaleX(.9) scaleY(1.1)}80%{transform:translate(0) scaleX(1.05) scaleY(.95)}to{transform:translate(0) scaleX(1) scaleY(1);opacity:1}}@keyframes plantGrow{0%{transform:scale(.85)}60%{transform:scale(1.12)}to{transform:scale(1)}}@keyframes objectMultiply{0%{transform:scale(0);opacity:0}60%{transform:scale(1.15);opacity:1}to{transform:scale(1);opacity:1}}.learning-path-scroll::-webkit-scrollbar{display:none}.learning-path-scroll{-ms-overflow-style:none;scrollbar-width:none;scroll-snap-type:x mandatory;scroll-behavior:smooth}@keyframes lessonNodePulse{0%,to{transform:scale(1);box-shadow:0 0 #fff6}50%{transform:scale(1.08);box-shadow:0 0 24px 8px #ffffff40}}.lesson-node-current{animation:lessonNodePulse 2s ease-in-out infinite}@keyframes stageCardFloat{0%,to{transform:translateY(0)}50%{transform:translateY(-6px)}}@keyframes slideUpOverlay{0%{transform:translateY(100%);opacity:0}to{transform:translateY(0);opacity:1}}@keyframes slideDownOverlay{0%{transform:translateY(0);opacity:1}to{transform:translateY(100%);opacity:0}}@keyframes sproutGrow{0%{transform:scale(0);opacity:0}60%{transform:scale(1.15);opacity:1}80%{transform:scale(.95)}to{transform:scale(1);opacity:1}}@keyframes sproutDance{0%,to{transform:rotate(0)}15%{transform:rotate(-12deg)}30%{transform:rotate(10deg)}45%{transform:rotate(-8deg)}60%{transform:rotate(6deg)}75%{transform:rotate(-3deg)}}@keyframes sparkleBurst{0%{transform:scale(0);opacity:1}50%{transform:scale(1.3);opacity:1}to{transform:scale(1.6);opacity:0}}@keyframes goalBarFill{0%{transform:scaleX(0)}70%{transform:scaleX(1.08)}to{transform:scaleX(1)}}@keyframes goalTextPulse{0%{transform:scale(1)}50%{transform:scale(1.08)}to{transform:scale(1)}}
