@import "https://fonts.googleapis.com/css2?family=Baloo+2:wght@600;700;800&family=Nunito:wght@400;600;700;800&display=swap";
:root{--navy:#18314f;--ink:#20344f;--coral:#ff6b55;--yellow:#ffc94a;--cream:#fffaf0;--mint:#dff5e9;--blue:#dff3ff;--purple:#eee7ff;--line:#dfe7e9}*{box-sizing:border-box}html{scroll-behavior:smooth}body{color:var(--ink);background:#fffdf8;margin:0;font-family:Nunito,system-ui,sans-serif}a{color:inherit;text-decoration:none}button,input{font:inherit}.wrap{width:min(1140px,100% - 40px);margin:auto}.nav{z-index:5;align-items:center;gap:42px;height:80px;display:flex;position:relative}.brand{color:var(--navy);align-items:center;gap:9px;font:800 25px "Baloo 2";display:flex}.brand span{background:var(--yellow);border-radius:12px;place-items:center;width:40px;height:40px;display:grid}.navlinks{gap:34px;margin:auto;font-weight:700;display:flex}.button{cursor:pointer;border:0;border-radius:14px;justify-content:center;align-items:center;gap:8px;padding:13px 22px;font-weight:800;display:inline-flex}.button.primary{background:var(--coral);color:#fff;box-shadow:0 7px #d94e3c}.button.ghost{border:2px solid var(--navy);padding:9px 18px}.hero{background:linear-gradient(115deg,#e5f8f3 0%,#eaf8f6 47%,#b9e8f6 100%);min-height:590px;position:relative;overflow:hidden}.heroGrid{grid-template-columns:49% 51%;align-items:center;min-height:565px;display:grid}.heroCopy{z-index:2}.eyebrow,.kicker{text-transform:uppercase;letter-spacing:1.5px;color:#238b75;align-items:center;gap:7px;font-size:12px;font-weight:800;display:inline-flex}.hero h1,.worldHero h1{color:var(--navy);letter-spacing:-2px;margin:17px 0;font:800 clamp(48px,6vw,76px)/.97 "Baloo 2"}.hero h1 em{color:var(--coral);font-style:normal}.heroCopy>p{max-width:540px;font-size:19px;line-height:1.6}.actions{align-items:center;gap:24px;margin-top:30px;display:flex}.safe{gap:6px;font-size:13px;font-weight:700;display:flex}.miniStats{gap:28px;margin-top:35px;display:flex}.miniStats span{font-size:12px}.miniStats b{color:var(--navy);font:800 23px "Baloo 2";display:block}.heroArt{width:64%;height:100%;position:absolute;bottom:-1%;right:-1%}.heroArt img{object-fit:cover;object-position:right center}.clouds{color:#fff;white-space:pre;letter-spacing:100px;opacity:.85;width:100%;font-size:78px;position:absolute;bottom:-13px;left:0}.section{padding:100px 0}.sectionIntro{text-align:center;max-width:650px;margin:auto}.section h2,.parentBand h2{color:var(--navy);margin:12px 0;font:800 43px/1.1 "Baloo 2"}.sectionIntro p{color:#68778c}.featureGrid{grid-template-columns:repeat(3,1fr);gap:22px;margin-top:48px;display:grid}.feature{border-radius:25px;min-height:250px;padding:30px;position:relative}.feature.mint{background:var(--mint)}.feature.peach{background:#fff0e8}.feature.lavender{background:var(--purple)}.feature>span{opacity:.1;font:800 42px "Baloo 2";position:absolute;top:20px;right:25px}.featureIcon{width:57px;height:57px;color:var(--coral);background:#fff;border-radius:18px;place-items:center;display:grid}.feature h3{margin:23px 0 5px;font:800 23px "Baloo 2"}.feature p{margin:0;line-height:1.55}.parentBand{background:var(--navy);color:#fff;padding:80px 0}.parentGrid{grid-template-columns:1.3fr 1fr;align-items:center;gap:100px;display:grid}.parentBand h2{color:#fff}.parentBand p{color:#c9d6e4;line-height:1.7}.kicker.light{color:#7ee0ca}.parentBand ul{padding:0;list-style:none}.parentBand li{border-bottom:1px solid #ffffff20;align-items:center;gap:12px;padding:14px 0;font-weight:700;display:flex}.parentBand li svg{color:var(--yellow)}.footer{color:#768497;justify-content:space-between;align-items:center;padding:35px 0;font-size:13px;display:flex}.authPage{background:radial-gradient(circle at 20% 20%,#fff2c9,#0000 30%),linear-gradient(140deg,#dff6ee,#dceeff);place-items:center;min-height:100vh;padding:30px;display:grid}.authCard{text-align:center;background:#fff;border-radius:30px;width:min(450px,100%);padding:36px 45px;box-shadow:0 25px 70px #21426020}.centered{justify-content:center}.authMascot{margin:20px 0 5px;font-size:58px}.authCard h1{margin:0;font:800 32px "Baloo 2"}.authCard>p{color:#738095;margin:0 0 24px}.authCard label{text-align:left;margin:15px 0;font-size:13px;font-weight:800;display:block}.authCard input{border:2px solid var(--line);border-radius:12px;outline:0;width:100%;margin-top:6px;padding:13px;display:block}.authCard input:focus{border-color:#31a789}.full{width:100%;margin-top:12px}.error{color:#b23b2d;background:#fff0ed;border-radius:10px;padding:9px;font-size:13px}.demoButton,.switch button,.retry{color:#168d75;cursor:pointer;background:0 0;border:0;font-weight:800}.demoButton{margin:23px 0 10px}.switch{font-size:13px!important}.authDecor{color:#fff;font-size:80px;position:fixed;top:12%;left:15%}.worldPage{background:#f8fbf7;min-height:100vh}.gameNav{border-bottom:1px solid var(--line);align-items:center;height:75px;display:flex}.gameStats{gap:18px;margin-left:auto;display:flex}.gameStats span{align-items:center;gap:5px;font-weight:800;display:flex}.gameStats span:first-child{color:#e6a515}.avatar{background:var(--coral);color:#fff;cursor:pointer;border:0;border-radius:14px;justify-content:center;align-items:center;gap:5px;width:48px;height:38px;margin-left:22px;font-weight:900;display:flex}.worldHero{grid-template-columns:1fr 420px;align-items:center;padding-top:60px;padding-bottom:45px;display:grid}.worldHero h1{margin:8px 0;font-size:50px}.worldHero p{color:#6c7b8f}.levelCard{background:#fff;border-radius:20px;padding:24px;box-shadow:0 10px 35px #1735530c}.levelTop{color:#68778c;justify-content:space-between;font-size:12px;font-weight:900;display:flex}.progressbar{background:#eef1f2;border-radius:20px;height:12px;margin:13px 0;overflow:hidden}.progressbar i,.lessonProgress i{background:linear-gradient(90deg,var(--coral),var(--yellow));border-radius:20px;height:100%;display:block}.levelCard small{color:#84909d}.map{padding-bottom:50px}.worldRow{border-left:7px solid var(--coral);background:#fff;border-radius:26px;margin-bottom:22px;padding:25px;box-shadow:0 7px 25px #18314f0a}.worldRow.green{border-color:#46b98e}.worldRow.blue{border-color:#56b8e9}.worldRow.purple{border-color:#8d75e4}.worldRow.locked{filter:grayscale(.6);opacity:.62}.worldLabel{align-items:center;gap:15px;display:flex}.worldLabel>span{font-size:35px}.worldLabel small{letter-spacing:1.3px;color:#8794a2;font-weight:900}.worldLabel h2{margin:-2px 0;font:800 25px "Baloo 2"}.worldLabel>svg{margin-left:auto}.path{gap:15px;margin:20px 0 0 55px;display:flex}.mission{border:2px solid var(--line);background:#fff;border-radius:17px;flex:1;align-items:center;gap:10px;padding:13px;display:flex}.mission:hover:not(.disabled){border-color:#f3ab54;transform:translateY(-2px)}.mission.disabled{cursor:default}.node{background:#edf1f2;border-radius:50%;flex:0 0 39px;place-items:center;width:39px;height:39px;font-weight:900;display:grid}.mission.complete .node{color:#fff;background:#49bc8c}.mission b,.mission small{display:block}.mission small{color:#82909d;font-size:11px}.stars{color:#e7ac23;margin-left:auto}.badge{opacity:.55}.badge.earned{opacity:1}.lessonPage{background:#f5fbf9;min-height:100vh}.lessonNav{border-bottom:1px solid var(--line);background:#fff;grid-template-columns:220px 1fr 220px;align-items:center;height:78px;padding:0 35px;display:grid}.lessonNav>a{align-items:center;gap:8px;font-weight:800;display:flex}.lessonNav>div:nth-child(2){text-align:center}.lessonNav span{color:#83909c;font-size:11px;display:block}.lessonProgress{background:#eef2f2;border-radius:10px;height:8px}.lessonContent{text-align:center;width:min(920px,100% - 35px);margin:auto;padding:45px 0}.instruction h1{margin:5px;font:800 38px "Baloo 2"}.instruction p{color:#748295}.typeCard{background:#fff;border-radius:24px;margin:28px 0 18px;padding:35px;box-shadow:0 12px 40px #17355310}.textLine{letter-spacing:1px;text-align:left;min-height:96px;font:700 28px/1.7 ui-monospace,monospace}.textLine span{color:#aeb8c1}.textLine .right{color:#2aaf7e}.textLine .current{color:var(--navy);border-bottom:3px solid var(--yellow);background:#fff0b8}.typeCard input{opacity:0;pointer-events:none;position:absolute}.liveStats{border-top:1px solid var(--line);color:#7e8a98;justify-content:center;gap:50px;margin-top:20px;padding-top:18px;font-size:12px;display:flex}.liveStats b{color:var(--navy);font-size:18px;display:block}.fingerHint{justify-content:center;align-items:center;gap:18px;height:55px;display:flex}.fingerHint strong{background:var(--coral);color:#fff;text-transform:uppercase;border-radius:10px;padding:8px 15px}.keyboard{background:#dfe7e8;border-radius:18px;flex-direction:column;gap:6px;padding:16px;display:inline-flex}.keyrow{justify-content:center;gap:6px;display:flex}.key{display:none}.keyrow span{background:#fff;border-bottom:4px solid #bac6c9;border-radius:9px;place-items:center;width:54px;height:48px;font-weight:900;display:grid}.keyrow .space{width:230px;font-size:11px}.keyrow span.active{outline:4px solid var(--yellow);border-bottom-width:1px;transform:translateY(3px)}.keyrow .lp,.keyrow .rp{background:#ffe0da}.keyrow .lr,.keyrow .rr{background:#fff0c8}.keyrow .lm,.keyrow .rm{background:#dcf4e9}.keyrow .li,.keyrow .ri{background:#dcedff}.modalBackdrop{z-index:20;background:#18314f99;place-items:center;padding:20px;display:grid;position:fixed;inset:0}.resultCard{text-align:center;background:#fff;border-radius:28px;width:min(410px,100%);padding:35px}.celebrate{font-size:60px}.resultCard h2{margin:4px;font:800 35px "Baloo 2"}.resultStars{color:var(--yellow);justify-content:center;gap:8px;margin:12px;display:flex}.resultStars svg{width:38px;height:38px}.resultStats{background:#f4f7f7;border-radius:15px;justify-content:center;gap:50px;padding:15px;display:flex}.resultStats b{font:800 24px "Baloo 2";display:block}.resultStats span{font-size:11px}.retry{align-items:center;gap:7px;margin:20px auto 0;display:flex}@media (max-width:800px){.navlinks{display:none}.hero{padding-top:20px}.heroGrid{display:block}.heroCopy{padding-top:45px}.heroArt{width:120%;height:360px;position:relative;right:-5%}.heroArt img{object-fit:cover;object-position:70%}.featureGrid,.parentGrid,.worldHero{grid-template-columns:1fr}.featureGrid{gap:14px}.parentGrid{gap:25px}.worldHero{padding-top:35px}.levelCard{margin-top:20px}.path{flex-direction:column;margin-left:0}.lessonNav{grid-template-columns:1fr 1fr;padding:0 15px}.lessonProgress{display:none}.keyboard{transform-origin:top;margin-bottom:-80px;transform:scale(.72)}.keyrow span{width:39px}.keyrow .space{width:150px}.liveStats{gap:20px}.miniStats{gap:16px}.hero h1{font-size:48px}.footer{display:block}.nav{height:68px}}.keyboard .key{display:grid}.keyboard .keyrow span{position:relative}.keyboard .keyrow span small{color:#697681;font-size:10px;line-height:1;position:absolute;top:3px;left:6px}.keyboard .keyrow span b{font:inherit}.keyboard .row-2{padding-left:27px}.keyboard .row-3{padding-left:54px}.keyboard .controlrow{margin-top:1px;position:relative}.keyboard .keyrow .shift{width:99px;font-size:11px;position:absolute;left:0}.keyboard .keyrow .space{width:294px;font-size:11px}.lessonTools{align-items:center;gap:12px;display:flex!important}.lessonTools .lessonProgress{flex:1}.lessonTools button{color:#168d75;cursor:pointer;background:#e9f7f2;border:0;border-radius:11px;place-items:center;width:40px;height:40px;display:grid}.typeCard.compact{margin:16px 0;padding:24px}.typeCard.compact .textLine{text-align:center;min-height:auto}.runner{background:linear-gradient(#96ddf3 0 58%,#d7ed9f 58%);border-radius:25px;height:220px;margin-bottom:14px;position:relative;overflow:hidden;box-shadow:inset 0 -8px #79583a}.runner:after{content:"";background:repeating-linear-gradient(90deg,#70ad49 0 65px,#609b3c 65px 110px);width:200%;height:30px;animation:2.2s linear infinite groundMove;position:absolute;bottom:20px;left:0}.runnerSky{white-space:pre;color:#fff;font-size:35px;position:absolute;top:15px;left:15%}.runnerHills{white-space:pre;width:200%;font-size:62px;animation:8s linear infinite groundMove;position:absolute;bottom:50px;left:0}.kikoRunner{z-index:3;width:125px;height:125px;transition:transform .16s;position:absolute;bottom:31px;left:12%}.kikoRunner img{object-fit:contain}.kikoRunner.jump{transform:translateY(-58px)rotate(-5deg)}.kikoRunner.duck{transform:scaleY(.62)translateY(28px)}.obstacle{z-index:2;font-size:57px;position:absolute;bottom:35px;right:21%}.runnerGoal{z-index:2;font-size:52px;position:absolute;bottom:42px;right:3%}.gamePrompt{z-index:3;background:#fffd;border-radius:14px;padding:8px 13px;font-weight:900;position:absolute;top:15px;right:18px}.runnerGround{background:#946a43;width:100%;height:45px;position:absolute;bottom:0}.handsGuide{background:#fff;border:3px solid #dbe8e7;border-radius:24px;width:min(720px,100%);margin:12px auto;padding:14px 25px}.handTitle{text-transform:uppercase;letter-spacing:1px;justify-content:center;align-items:center;gap:9px;font-size:12px;display:flex}.handTitle strong{color:#ef5f49;font-size:16px}.hands{justify-content:center;align-items:center;gap:38px;height:125px;display:flex}.handsGuide p{color:#6c7b8f;margin:0;font-size:12px}.nextKey{background:var(--coral);color:#fff;border-radius:15px;min-width:67px;padding:14px 10px;font:800 23px "Baloo 2";box-shadow:0 5px #cf4e3c}.hand{width:145px;height:112px;position:relative}.hand.right{transform:scaleX(-1)}.palm{background:#f6b68d;border:3px solid #cf825d;border-radius:48% 45% 35% 40%;width:102px;height:75px;position:absolute;bottom:0;left:22px}.finger{transform-origin:bottom;background:#f6b68d;border:3px solid #cf825d;border-radius:18px 18px 8px 8px;width:25px;transition:all .18s;position:absolute;bottom:55px}.finger i{background:#ffe0cd;border-radius:7px;width:12px;height:8px;position:absolute;top:5px;left:4px}.finger.f0{height:47px;left:8px;transform:rotate(-17deg)}.finger.f1{height:66px;left:37px;transform:rotate(-6deg)}.finger.f2{height:73px;left:67px}.finger.f3{height:66px;left:97px;transform:rotate(5deg)}.thumb{z-index:2;background:#f6b68d;border:3px solid #cf825d;border-radius:18px;width:55px;height:28px;position:absolute;bottom:22px;right:-1px;transform:rotate(25deg)}.finger.active,.thumb.active{background:var(--yellow);filter:drop-shadow(0 0 7px #ffd45b);border-color:#e39b23}.finger.active,.hand.right .finger.active{transform:translateY(-9px)scale(1.12)}@keyframes groundMove{to{transform:translate(-50%)}}.adventureMap{background:linear-gradient(#aee6f3 0 18%,#cae99d 18% 55%,#a8d884 55% 100%);border-radius:40px;margin-bottom:40px;padding:80px 55px 100px;position:relative;overflow:hidden;box-shadow:0 20px 60px #18314f1a}.adventureMap:before{content:"";border:12px dashed #f7d99a;border-color:#f7d99a #0000;border-radius:45%;position:absolute;inset:130px 12% 100px;transform:rotate(-3deg)}.mapScenery{color:#fff;width:100%;font-size:36px;position:absolute;top:18px}.adventureMap .worldRow{z-index:2;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);background:#fffef3e8;border:0;width:78%;margin:0 0 55px;position:relative}.adventureMap .worldRow:nth-of-type(2n){margin-left:auto}.adventureMap .path{position:relative}.adventureMap .mission{position:relative;box-shadow:0 7px #719655}.adventureMap .currentStop{border:3px solid var(--yellow);transform:scale(1.04)}.kikoPin{filter:drop-shadow(0 3px 2px #0003);font-size:38px;animation:1s ease-in-out infinite alternate bob;position:absolute;top:-45px;left:2px}.mapFinish{z-index:2;text-align:center;font-size:45px;position:relative}.mapFinish b{font:800 20px "Baloo 2";display:block}.badgeShelf{align-items:center;gap:20px;margin-bottom:70px;display:flex}.badgeShelf>div:first-child{margin-right:auto}.badgeShelf h2{margin:0;font:800 28px "Baloo 2"}.badgeShelf p{margin:0}.badgeShelf .badge{text-align:center;filter:grayscale();background:#fff;border-radius:18px;padding:18px;display:grid}.badgeShelf .badge.earned{filter:none;opacity:1}.badgeShelf .badge span{font-size:35px}@keyframes bob{to{transform:translateY(-7px)}}@media (max-width:800px){.runner{height:180px}.kikoRunner{width:95px;height:95px}.hands{gap:8px;margin:-5px -45px;transform:scale(.82)}.handsGuide{overflow:hidden}.adventureMap{padding:60px 16px}.adventureMap .worldRow{width:100%;padding:18px}.adventureMap .path{flex-direction:column}.badgeShelf{grid-template-columns:1fr 1fr;display:grid}.badgeShelf>div:first-child{grid-column:1/-1}.lessonTools button{margin-left:auto}}.mapHeader{justify-content:space-between;align-items:end;padding:46px 0 25px;display:flex}.mapHeader h1{margin::none;color:var(--navy);margin:8px 0;font:800 45px/1 "Baloo 2"}.mapHeader p{color:#68778c;margin:0}.mapMeter{background:#fff;border-radius:18px;width:230px;padding:15px 20px;box-shadow:0 8px 25px #18314f12}.mapMeter>b{margin-right:8px;font:800 25px "Baloo 2"}.mapMeter>span{font-size:12px}.mapMeter>div{background:#e8edec;border-radius:8px;height:8px;margin-top:7px;overflow:hidden}.mapMeter i{background:linear-gradient(90deg,#4dbe8f,#ffc94a);border-radius:8px;height:100%;display:block}.gardenMap{aspect-ratio:3/2;background:#8dcbdc;border:8px solid #fff;border-radius:32px;margin-bottom:55px;position:relative;overflow:hidden;box-shadow:0 22px 65px #1735532b}.gardenArt{object-fit:cover;z-index:0}.mapStop{z-index:3;position:absolute;transform:translate(-50%,-50%)}.stopMarker{width:46px;height:46px;color:var(--navy);background:#fff;border:4px solid #a4adb0;border-radius:50%;place-items:center;font-weight:900;transition:all .2s;display:grid;box-shadow:0 5px #65756d,0 8px 18px #17355355}.mapStop.complete .stopMarker{color:#fff;background:#49bc8c;border-color:#dff9ec}.mapStop.current .stopMarker{background:4px solid #fff;outline:6px solid var(--yellow);animation:1.1s ease-in-out infinite alternate mapPulse}.mapStop.locked{pointer-events:none;filter:grayscale()}.stopCard{text-align:left;background:#fff;border-radius:13px;width:165px;padding:10px 12px;display:none;position:absolute;bottom:58px;left:50%;transform:translate(-50%);box-shadow:0 8px 25px #17355355}.stopCard:after{content:"";border:8px solid #0000;border-top-color:#fff;border-bottom:0;position:absolute;bottom:-7px;left:45%}.mapStop:hover .stopCard,.mapStop.current .stopCard,.stopCard small,.stopCard b,.stopCard em{display:block}.stopCard small{letter-spacing:1px;color:#7c8995;font-size:9px;font-weight:900}.stopCard b{font-size:13px}.stopCard em{color:#e7a91d;font-style:normal}.mapKiko{filter:drop-shadow(0 3px 2px #0005);font-size:38px;animation:1s ease-in-out infinite alternate bob;position:absolute;top:-40px;right:-35px}.launchPad{z-index:4;cursor:not-allowed;width:150px;height:150px;color:var(--navy);filter:grayscale();background:0 0;border:0;align-content:center;justify-items:center;display:grid;position:absolute;top:4%;right:2.4%}.launchPad.ready{cursor:pointer;filter:none}.launchPad .rocket{filter:drop-shadow(0 5px 3px #0004);font-size:65px}.launchPad b{background:#fff;border-radius:9px;padding:6px 10px;font-size:11px;box-shadow:0 3px #aab4b5}.launchPad.ready .rocket{animation:.55s ease-in-out infinite alternate rocketReady}.launchSequence{z-index:50;color:#fff;background:radial-gradient(circle at 50% 70%,#3d6a9b,#11182f 62%);place-items:center;display:grid;position:fixed;inset:0;overflow:hidden}.launchSequence>span{font-size:105px;animation:2.3s ease-in forwards takeOff;position:absolute;bottom:-130px;left:50%}.launchSequence>b{font:800 42px "Baloo 2";animation:2.3s fadeLaunch}.launchStars{letter-spacing:55px;color:#ffdc6a;font-size:50px;position:absolute;inset:8%}.spaceUnlocked{color:#fff;background:radial-gradient(circle at 10%,#8167cf,#26345f 55%,#151d39);border-radius:30px;align-items:center;gap:30px;margin-bottom:60px;padding:38px 50px;display:flex;position:relative;overflow:hidden}.spaceUnlocked h2{margin:5px 0;font:800 31px "Baloo 2"}.spaceUnlocked p{color:#dce3fa;max-width:700px}.planet{font-size:75px}.floatingRocket{font-size:50px;animation:3s ease-in-out infinite alternate spaceFloat;position:absolute;right:45px}@keyframes mapPulse{to{transform:scale(1.12)}}@keyframes rocketReady{to{transform:translateY(-8px)}}@keyframes takeOff{0%{transform:translate(-50%)}35%{transform:translate(-50%,-230px)rotate(-4deg)}to{transform:translate(-40%,-120vh)rotate(6deg)}}@keyframes fadeLaunch{0%,60%{opacity:1}to{opacity:0}}@keyframes spaceFloat{to{transform:translate(-50px,-18px)rotate(-12deg)}}@media (max-width:800px){.mapHeader{display:block}.mapHeader h1{font-size:34px}.mapMeter{margin-top:20px}.gardenMap{aspect-ratio:3/2;width:calc(100% - 12px);margin-top:25px;overflow:visible}.stopMarker{border-width:3px;width:34px;height:34px;font-size:11px}.stopCard{width:125px;padding:7px;bottom:42px}.mapKiko{font-size:26px;top:-28px;right:-25px}.launchPad{transform-origin:100% 0;top:1%;right:0;transform:scale(.62)}.spaceUnlocked{margin-top:90px;padding:28px 25px}.floatingRocket{display:none}}
