@font-face{font-family:Nunito;src:url('/assets/companion/Nunito-Regular.ttf') format('truetype');font-weight:400;font-display:swap}
@font-face{font-family:Nunito;src:url('/assets/companion/Nunito-Bold.ttf') format('truetype');font-weight:700 800;font-display:swap}
@font-face{font-family:Nunito;src:url('/assets/companion/Nunito-Black.ttf') format('truetype');font-weight:900;font-display:swap}
:root{font-family:Nunito,ui-rounded,system-ui,sans-serif}
html:has(.journey){scroll-snap-type:y proximity;scroll-padding-top:84px}
.journey{background:#fffdf4}.journey header{position:sticky;top:0;z-index:30;background:#fffdf4ee;backdrop-filter:blur(14px);max-width:none;height:84px;padding:14px 5%;border-bottom:1px solid #dce7e7}
.journey h1,.journey h2{font-weight:900;letter-spacing:-.045em}.journey h1{font-size:clamp(46px,6.3vw,88px);line-height:1.02;max-width:620px}.journey h2{font-size:clamp(34px,4.2vw,58px);line-height:1.08}.journey .lead{line-height:1.6;font-size:clamp(17px,1.6vw,21px)}
.chapter{position:relative;min-height:calc(100svh - 84px);scroll-snap-align:start;scroll-margin:0;isolation:isolate;display:flex;flex-direction:column;justify-content:center;overflow:clip;padding:44px 0 52px}.chapter-inner{width:min(1180px,88%);margin:auto;position:relative;z-index:2}.welcome-grid,.learning-grid,.inside-grid{display:grid;grid-template-columns:1.05fr 1fr;gap:64px;align-items:center}.chapter-copy{position:relative;z-index:2}.hello-chapter{background:#dff3ff}.welcome-stage{position:relative;height:460px}.welcome-stage .companion-anchor{position:absolute;left:50%;top:90px;transform:translateX(-50%);width:360px;height:360px}.companion-anchor{width:200px;height:200px;pointer-events:none}.speech{background:white;color:#183247;padding:14px 20px;border-radius:23px 23px 23px 4px;box-shadow:0 5px 0 #182a3e14;font-size:18px;font-weight:800;line-height:1.4;min-height:48px;position:relative;z-index:3}.speech:empty{visibility:hidden}.welcome-stage .speech{max-width:350px;position:absolute;left:0;top:4px;transform:rotate(-3deg)}
#companion{position:fixed;left:0;top:0;z-index:15;border:0;background:none;padding:0;line-height:0;width:250px;height:250px;will-change:transform;cursor:pointer;touch-action:manipulation}#companion canvas{width:100%;height:100%;position:relative;z-index:2}.companion-fallback{position:absolute;inset:14%;display:none}.companion-fallback img{width:100%;border-radius:25%}#companion.failed .companion-fallback{display:block}
.perch{position:absolute;bottom:20px;left:50%;transform:translateX(-50%);width:290px;height:68px;background:#456f73;clip-path:polygon(8% 30%,32% 0,80% 5%,100% 55%,86% 100%,0 100%);z-index:-1}.floating-word{position:absolute;padding:10px 21px;background:#ffda66;color:#233448;box-shadow:0 6px 0 #d4ac38;border-radius:20px;font-weight:900;font-size:24px;transform:rotate(-13deg);animation:wordFloat 4s ease-in-out infinite}.word-one{left:0;top:170px}.word-two{right:0;bottom:55px;transform:rotate(11deg);animation-delay:-2s}.small-spark{position:absolute;top:100px;right:10%;font-size:46px;color:#e49d1f}
.scenery{position:absolute;inset:auto 0 0;height:245px;overflow:hidden;z-index:0;pointer-events:none}.mountain{position:absolute;bottom:15px;width:550px;height:220px;background:#a2cdd5;clip-path:polygon(0 100%,22% 52%,38% 64%,58% 0,100% 100%)}.mountain-a{right:-100px}.mountain-b{left:-80px;transform:scale(.8);opacity:.6}.hill{position:absolute;width:80%;height:180px;border-radius:50% 60% 0 0;background:#88bc9e;bottom:-100px}.hill-a{left:-8%;transform:rotate(5deg)}.hill-b{right:-15%;background:#55958b;bottom:-115px;transform:rotate(-8deg)}.river{position:absolute;bottom:-90px;left:40%;width:80px;height:200px;border-radius:50%;background:#8ad0e4;transform:rotate(70deg)}.cloud-one{top:25px;right:4%;animation:cloudDrift 9s ease-in-out infinite alternate}.cloud-two{top:54%;right:35%;transform:scale(.6);opacity:.45;animation:cloudDrift 12s ease-in-out infinite alternate-reverse}
.action-row{display:flex;gap:14px;align-items:center;flex-wrap:wrap}.sunshine,.journey button.sunshine,.journey a.sunshine{background:#ffd45b;color:#24364b;box-shadow:0 6px 0 #dca338}.down-link{display:inline-block;margin-top:35px;font-weight:800;text-decoration:none}.down-link span:first-child{display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;background:#ffffffa1;border-radius:50%;margin-right:5px}.chapter-next{display:block;margin:24px auto 0;position:relative;z-index:3;font-weight:800;text-underline-offset:5px;font-size:15px}.quiet-control{border:1px solid #bed3da;background:#fff;border-radius:99px;min-height:40px;padding:7px 12px;font-size:13px;font-weight:800;color:#28465d;white-space:nowrap}.quiet-control[aria-pressed=true]{background:#d9f4e5;border-color:#93cbb2}.chapter-nav{position:fixed;right:16px;top:50%;transform:translateY(-50%);z-index:25;display:grid;gap:12px}.chapter-nav a{font-size:0;width:12px;height:12px;background:#375c7f44;border:2px solid #fff;border-radius:50%;box-shadow:0 0 0 1px #31547744}.chapter-nav a[aria-current=true]{background:#ef951d;transform:scale(1.25)}
.lesson-chapter{background:#fff6db}.learning-grid{gap:70px}.lesson-companion{display:flex;align-items:center;gap:2px;min-height:200px}.lesson-companion .companion-anchor{flex:none;width:200px;height:200px}.lesson-companion .speech{max-width:240px;font-size:16px}.journey .lesson-card{min-height:390px;border-color:#efdfb0;box-shadow:0 10px 0 #e8d9ad;padding:28px;display:flex;flex-direction:column;justify-content:center}.journey .lesson-card .word{color:#167768;font-weight:900}.journey .lesson-card .steps{width:100%}.journey .lesson-card .options{width:100%;grid-template-columns:repeat(3,1fr);gap:9px}.journey .lesson-card .option{padding:14px 8px}.journey .lesson-card .status{margin:10px 0}.journey .lesson-card .tiny-words{justify-content:center}.journey button.primary{font-weight:900}.journey button:active:not(:disabled){transform:translateY(3px);box-shadow:0 2px 0 #18324755}.journey button:disabled{cursor:default}
.play-chapter{background:#cdece9}.play-heading{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:50px}.play-heading h2{margin:8px 0 20px}.play-heading .lead{max-width:440px}.game-tabs{display:flex;gap:12px;margin:0 0 18px}.game-tabs button{border:2px solid #a5c8c4;border-radius:99px;background:#eafffa;color:#224e51;font-weight:900;padding:12px 20px;font-size:16px}.game-tabs .selected{background:#224f59;color:white;border-color:#224f59}.game-shell{display:grid;grid-template-columns:1.15fr 1fr;border:4px solid #fff8e7;border-radius:30px;overflow:hidden;box-shadow:0 10px 0 #87b9b566;min-height:370px;background:#fffdf4}.flight-scene{position:relative;min-height:365px;overflow:hidden;isolation:isolate;background:#6ba6b4}.flight-panorama{position:absolute;inset:0;background:url('/assets/companion/flight-world.png') 48% 50%/cover;transform:scale(1.1);transition:transform 1.5s ease;z-index:-2}.flight-scene.active .flight-panorama{animation:journeyPan 10s ease-in-out infinite alternate}.flight-scene .companion-anchor{position:absolute;width:195px;height:195px;top:24%;left:22%;transition:top .6s ease,left .6s ease}.flight-scene.boost .companion-anchor{top:8%;left:40%}.flight-scene.rest .companion-anchor{top:38%;left:25%}.flight-scene .speech{position:absolute;top:18px;left:22px;right:22px;font-size:15px;min-height:0;max-width:390px;background:#ffffffe8}.flight-trail{position:absolute;top:54%;left:0;width:100%;height:2px;background:linear-gradient(90deg,transparent,#fff8,transparent);opacity:0}.flight-scene.active .flight-trail{animation:windLine 1s linear infinite}.game-panel{padding:25px 28px;display:flex;flex-direction:column;justify-content:center;gap:12px;min-height:365px}.game-panel h3{font-size:24px;line-height:1.2;margin:0 0 5px;font-weight:900}.game-panel p{font-size:15px;line-height:1.5;margin:0}.game-panel .options{grid-template-columns:repeat(3,1fr);gap:8px}.game-panel .option{font-size:23px;padding:12px 8px;min-width:0}.warmup-words{display:flex;gap:8px}.warmup-words button{border:2px solid #d1e3df;border-radius:18px;background:#eff9ef;padding:10px 5px;flex:1;min-width:0;font-size:25px;font-weight:900;color:#20484e}.warmup-words small{display:block;font-size:12px;font-weight:700;overflow-wrap:anywhere}.game-word{font-size:35px;font-weight:900;color:#126a65;line-height:1.15;min-height:42px}.flight-meter{height:7px;background:#e2ebeb;border-radius:8px;overflow:hidden}.flight-meter i{display:block;height:100%;width:100%;background:#e6a325;transform-origin:left}.game-panel .primary{padding:13px 18px;font-size:16px}.teaser-note{font-size:12px;text-align:center;color:#365b5d;margin:18px 0 0}.word-tiles,.spelling-slots{display:flex;gap:8px;justify-content:center;min-height:58px}.word-tiles button,.spelling-slots span{font-weight:900;font-size:29px;min-width:48px;min-height:54px;border-radius:12px;display:grid;place-items:center;border:2px solid #adc9db;color:#183247;background:#eff7ff;box-shadow:0 4px 0 #adc9db}.word-tiles button:disabled{visibility:hidden}.spelling-slots span{border-style:dashed;background:#fff6d8;box-shadow:none}.spelling-slots span.filled{border-style:solid;background:#e1f3d6}.collected-spark{position:absolute;left:58%;top:34%;font-size:40px;color:#ffe26c;animation:sparkPop .8s ease-out forwards;pointer-events:none}
.inside-chapter{background:#e7e8ff}.inside-grid{grid-template-columns:1fr .8fr}.live-phone{margin:0;text-align:center}.phone-frame{position:relative;display:inline-block;height:min(62svh,570px);min-height:380px;border:9px solid #233447;border-radius:39px;box-shadow:20px 22px 0 #bcbee6;overflow:visible;background:#d3e4f5}.phone-frame>img{width:auto;height:100%;display:block;border-radius:29px}.phone-frame .companion-anchor{position:absolute;bottom:15%;left:-28%;width:190px;height:190px}.phone-glow{position:absolute;inset:27% 6% auto 6%;height:18%;border:3px solid #ffd24f;border-radius:28px;box-shadow:0 0 30px #ffd24f44;animation:trailGlow 4s ease-in-out infinite}.live-phone figcaption{margin-top:25px;font-size:12px;color:#4d557f}.inside-speech{margin-top:24px;max-width:390px;font-size:17px}.farewell-chapter{background:#173b53;color:white;text-align:center;min-height:calc(100svh - 84px)}.farewell-inner{max-width:750px}.farewell-inner h2{max-width:700px;margin:12px auto 18px}.farewell-inner .lead{color:#c6e4ef;margin:0 auto 25px}.farewell-inner .eyebrow{color:#a9e8d4}.farewell-inner .text-button{display:block;margin-top:25px;color:#d9e8ee}.farewell-inner .app-badges{justify-content:center;margin-top:26px}.farewell-perch{height:200px;position:relative;width:340px;max-width:100%;margin:auto}.farewell-perch .companion-anchor{margin:auto;width:200px;height:200px}.farewell-perch .speech{position:absolute;left:70%;top:5px;min-width:200px;font-size:14px;text-align:left}.journey .footer{scroll-snap-align:end}
@keyframes wordFloat{50%{translate:0 -10px}}@keyframes cloudDrift{to{translate:25px 0}}@keyframes journeyPan{to{transform:scale(1.2) translateX(-22px)}}@keyframes windLine{from{transform:translateX(50%);opacity:0}50%{opacity:.5}to{transform:translateX(-80%);opacity:0}}@keyframes trailGlow{50%{box-shadow:0 0 45px #ffd24f99}}@keyframes sparkPop{to{transform:translateY(-80px) scale(1.5);opacity:0}}
.journey.motion-off *{animation:none!important;transition:none!important}.journey.motion-off~*{scroll-behavior:auto}
@media(min-width:900px) and (min-height:760px){html:has(.journey){scroll-snap-type:y mandatory}.chapter{scroll-snap-stop:always}}
@media(max-width:800px){.journey header{height:72px;padding:10px 4%;gap:10px}.journey .brand{font-size:24px}.journey .brand img{width:35px;height:35px}.header-right{gap:9px}.header-right select{padding:8px 5px;font-size:13px;max-width:102px}.account-link{font-size:13px}.quiet-control{font-size:11px;padding:6px 9px}.chapter{min-height:calc(100svh - 72px);padding:32px 0}.chapter-inner{width:88%}.welcome-grid,.learning-grid,.inside-grid{grid-template-columns:1fr;gap:20px}.journey h1{font-size:clamp(43px,10vw,65px);max-width:540px;margin:14px 0 18px}.journey h2{font-size:35px}.journey .lead{font-size:17px;margin:12px 0 18px}.welcome-stage{height:280px;max-width:430px;width:100%;margin:auto}.welcome-stage .companion-anchor{width:250px;height:250px;top:25px}.welcome-stage .speech{font-size:15px;padding:10px 15px;max-width:240px;top:0;left:-8px}.welcome-stage .word-one{top:120px;font-size:20px;left:0}.welcome-stage .word-two{bottom:5px;font-size:20px}.perch{width:200px;height:40px;bottom:0}.down-link{margin-top:20px;font-size:14px}.action-row{gap:8px}.action-row .text-button{font-size:14px;padding:10px 0}.action-row .primary{padding:13px 22px}.scenery{height:150px}.chapter-nav{right:6px;gap:15px}.chapter-nav a{width:9px;height:9px}.lesson-companion{min-height:115px;max-width:450px}.lesson-companion .companion-anchor{width:125px;height:125px}.lesson-companion .speech{font-size:14px;max-width:250px}.journey .lesson-card{min-height:330px;padding:23px}.journey .lesson-card .word{font-size:54px;margin:15px 0 5px}.journey .lesson-card .meaning{font-size:22px;margin:8px 0 15px}.play-heading{grid-template-columns:1fr;gap:0}.play-heading h2{margin-bottom:0}.game-shell{grid-template-columns:1fr}.flight-scene{min-height:230px}.flight-scene .companion-anchor{width:145px;height:145px;left:30%;top:23%}.flight-scene .speech{font-size:13px;padding:10px 14px;top:13px;left:15px;right:15px}.game-panel{min-height:290px;padding:22px}.game-tabs{gap:8px}.game-tabs button{font-size:14px;padding:11px 16px}.phone-frame{height:460px;min-height:0;max-height:65svh}.inside-grid{gap:25px}.inside-speech{display:none}.phone-frame .companion-anchor{width:150px;height:150px;left:-18%}.farewell-perch .speech{position:relative;left:auto;top:auto;max-width:330px;font-size:14px;min-width:0;margin:auto}.farewell-perch{height:250px}.farewell-perch .companion-anchor{height:185px;width:185px}.farewell-inner .lead{margin:15px auto 25px}.journey .footer{padding-bottom:35px}html:has(.journey){scroll-padding-top:72px}}
@media(max-width:360px){.journey header .brand{gap:5px;font-size:21px}.journey header .brand img{width:30px;height:30px}.journey header .account-link{display:none}.journey .header-right{gap:6px}.game-tabs button{font-size:13px;padding:10px}.warmup-words small{font-size:10px}.word-tiles button,.spelling-slots span{min-width:41px}.chapter-inner{width:86%}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto;scroll-snap-type:none!important}.journey *{animation:none!important;transition:none!important}}

@media(max-width:800px){
  #sound-toggle{font-size:0;width:38px;min-width:38px;padding:0;position:relative}
  #sound-toggle::before{content:'♪';font-size:23px;line-height:1}
  #sound-toggle[aria-pressed=false]::after{content:'';position:absolute;width:23px;height:2px;background:#28465d;transform:rotate(-50deg);left:7px;top:19px}
  .play-chapter{padding:25px 0}.play-heading .eyebrow{display:none}.play-heading h2{font-size:31px;margin:0 0 6px}.play-heading .lead{font-size:15px;margin:4px 0 15px;line-height:1.45}
  .game-shell{border-width:3px}.flight-scene{min-height:175px}.flight-scene .companion-anchor{width:125px;height:125px;top:25%;left:28%}.flight-scene .speech{font-size:12px;padding:8px 13px}
  .game-panel{min-height:260px;padding:18px;gap:10px}.game-panel h3{font-size:22px}.game-panel p{font-size:14px}.game-tabs{margin-bottom:13px}.teaser-note{margin-top:12px;font-size:11px}.play-chapter .chapter-next{margin-top:13px;font-size:13px}
}

/* Both mini games live in a single phone-sized viewport. */
.game-phone{width:342px;max-width:100%;margin:0 auto;background:#233447;border:8px solid #233447;border-radius:37px;box-shadow:16px 18px 0 #87b9b566;overflow:hidden;position:relative;padding-top:15px}
.phone-speaker{position:absolute;top:3px;left:calc(50% - 26px);width:52px;height:5px;border-radius:10px;background:#132536;z-index:2}
.game-phone .game-shell{display:flex;flex-direction:column;border:0;border-radius:22px 22px 27px 27px;box-shadow:none;min-height:510px}
.game-phone .flight-scene{min-height:215px}
.game-phone .game-panel{min-height:295px;padding:20px;gap:10px}
.game-phone .flight-scene .companion-anchor{width:155px;height:155px;top:28%;left:25%}
.game-phone .flight-scene .speech{font-size:13px;padding:9px 13px;left:13px;right:13px;top:13px}
.game-phone .game-panel h3{font-size:23px}.game-phone .game-panel p{font-size:14px}.game-phone .game-word{font-size:31px}
@media(min-width:801px){.play-inner{display:grid;grid-template-columns:1fr 370px;gap:20px 70px;align-items:center}.play-heading{display:block;grid-column:1;grid-row:1;align-self:end}.play-heading .lead{max-width:470px}.game-tabs{grid-column:1;grid-row:2;align-self:start;flex-wrap:wrap}.game-phone{grid-column:2;grid-row:1 / 4}.teaser-note{grid-column:2;grid-row:4}.play-chapter h2{max-width:490px}}
@media(max-width:800px){.game-phone{width:320px;box-shadow:8px 10px 0 #87b9b566;border-width:7px}.game-phone .flight-scene{min-height:175px}.game-phone .game-panel{min-height:265px;padding:17px}.game-phone .game-shell{min-height:440px}.game-phone .flight-scene .companion-anchor{width:130px;height:130px;top:26%}.game-tabs{justify-content:center}.game-phone .word-tiles button,.game-phone .spelling-slots span{min-width:43px}}
/* Keep navigation inside the viewport's scroll bar and provide a real tap area. */
.chapter-nav{right:18px;gap:4px}.chapter-nav a{display:grid;place-items:center;width:28px;height:28px;border:0;border-radius:0;background:transparent;box-shadow:none;transform:none!important}.chapter-nav a::after{content:'';width:8px;height:8px;border:2px solid white;border-radius:50%;background:#375c7f66;box-shadow:0 0 0 1px #31547744}.chapter-nav a[aria-current=true]{background:transparent}.chapter-nav a[aria-current=true]::after{background:#ef951d;transform:scale(1.25)}

.phone-frame>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.phone-frame iframe{position:absolute;inset:0;width:100%;height:100%;border:0;border-radius:28px;background:#e7f4fc}.preview-open{position:absolute;inset:0;border:0;background:linear-gradient(transparent 45%,#173b5388);display:flex;align-items:flex-end;justify-content:center;padding:30px 18px;gap:10px;color:white;font:900 17px Nunito;cursor:pointer}.preview-open span{padding:12px;background:#1768cf;border-radius:18px;box-shadow:0 4px 0 #123e7c}.preview-open[hidden],.phone-frame iframe[hidden]{display:none}.phone-frame .companion-anchor{left:0;pointer-events:none}
@media(max-width:800px){.live-phone figcaption{margin:18px 0}}

/* Keep the screen at iPhone portrait proportions; bezels sit outside it.
   Short windows may scroll, but must never squash the phone or its content. */
.phone-frame,.game-phone{box-sizing:content-box;width:clamp(260px,calc((100svh - 250px) * 390 / 844),320px);max-width:calc(100% - 18px);height:auto;min-height:0;max-height:none;aspect-ratio:390 / 844;overflow:hidden;vertical-align:top}
.phone-frame iframe{width:390px;height:844px;transform:scale(var(--preview-scale,.8));transform-origin:0 0}
.phone-frame:has(iframe[data-ready=true])>img{visibility:hidden}
.game-phone{padding-top:0}
.game-phone .game-shell{position:absolute;inset:0;min-height:0;height:100%;overflow:auto}
.game-phone .flight-scene{flex:1 0 215px}
.game-phone .game-panel{flex-shrink:0}
.game-phone .phone-speaker{top:7px}
@media(max-width:800px){.chapter-nav{right:18px}.phone-frame,.game-phone{width:min(310px,calc(100% - 40px))}.phone-frame{box-shadow:10px 14px 0 #bcbee6}.game-phone .flight-scene{flex-basis:175px}}

.lesson-tabs{display:flex;gap:8px;flex-wrap:wrap;margin:0 0 16px}.lesson-tabs button{border:2px solid #dbc992;background:#fff9e9;border-radius:20px;color:#514922;font:800 14px Nunito;padding:12px 15px}.lesson-tabs button[aria-pressed=true]{background:#766329;color:white;border-color:#766329}.conversation-line{font-size:29px;font-weight:900;line-height:1.3;color:#167768;margin:15px 0}.speaker-name{font-size:13px;font-weight:900;color:#697e84}.conversation-options{display:grid;gap:12px}.conversation-options .option{font-size:18px}.option.try-again{border-color:#e9ad51;background:#fff0d5}

/* Word Flight is the app itself, mounted in the same device as the spelling teaser. */
.game-phone iframe{position:absolute;inset:0;width:390px;height:844px;border:0;background:#173b53;transform:scale(var(--preview-scale,.8));transform-origin:0 0;border-radius:28px}
.game-phone iframe[hidden],.game-phone[data-game=spelling] iframe,.game-phone[data-game=spelling] #flight-open{display:none}
.game-phone[data-game=flight]:has(iframe[data-ready=true]) .game-shell{visibility:hidden}
.game-phone[data-game=flight] #flight-open{z-index:3}
#flight-open[hidden]{display:none}

/* Discovery pass: clear learning outcomes around the actual app previews. */
.welcome-note{font-size:14px;color:#38566b;margin:20px 0 6px;line-height:1.5}.guidance-note{font-size:13px;color:#38566b;margin:0;line-height:1.5}.action-row .button{font-size:17px;line-height:1.35;text-align:center;max-width:390px}.action-row #meet-lundo{background:transparent;border:0;box-shadow:none;color:#184762;font-weight:800;font-family:inherit;padding:10px 0;text-decoration:underline;text-underline-offset:4px}
.learning-method{margin:28px 0 8px}.learning-method h3{font-size:19px;margin:0 0 16px;line-height:1.3}.learning-method ol{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:18px 20px}.learning-method li{display:flex;gap:10px;align-items:flex-start}.learning-method li>span{display:grid;place-items:center;flex:none;width:28px;height:28px;background:#f3dc90;color:#5b491d;font-size:13px;font-weight:900;border-radius:50%}.learning-method strong{font-size:16px}.learning-method p{font-size:13px;line-height:1.5;margin:4px 0 0;color:#5d614d}.learning-outcome{font-size:15px;line-height:1.5;color:#30565a;border-left:3px solid #2b9187;padding-left:14px;margin:20px 0 24px;max-width:465px}.learning-outcome strong{display:block;font-size:11px;letter-spacing:.06em;text-transform:uppercase;margin-bottom:5px}.learning-outcome span{display:block}.lesson-chapter .learning-outcome{border-color:#cda146;color:#5b512d}.lesson-companion{min-height:150px}.lesson-companion .companion-anchor{width:155px;height:155px}
.discovery-tabs{display:flex;flex-wrap:wrap;gap:8px;margin:24px 0 14px}.discovery-tabs button{border:2px solid #b8b9d8;background:#f5f4ff;border-radius:18px;color:#454774;padding:12px 17px;font:800 15px Nunito;min-height:46px}.discovery-tabs button[aria-pressed=true]{background:#484b7b;color:#fff;border-color:#484b7b}.inside-chapter .learning-outcome{border-color:#7774a8;color:#484e75}.lesson-dock{position:fixed;right:24px;bottom:24px;z-index:28;display:flex;align-items:center;gap:10px;background:#ffd45b;color:#24364b;text-decoration:none;font-weight:900;font-size:15px;padding:13px 20px;border:2px solid #fff4d3;border-radius:99px;box-shadow:0 4px 0 #bd8e32,0 8px 25px #173b5320}.lesson-dock[hidden]{display:none}.lesson-dock>span:first-child{font-size:24px}.journey .account-link{white-space:nowrap}.journey .chapter-nav a:focus-visible{outline:3px solid #183247;border-radius:6px}.journey button:focus-visible,.journey a:focus-visible{outline:3px solid #1768cf;outline-offset:4px}.farewell-inner .button{max-width:100%;white-space:normal;line-height:1.4}
@media(min-width:801px){.play-inner{grid-template-rows:auto auto auto auto;gap:8px 70px}.play-heading{grid-row:1}.game-outcome{grid-column:1;grid-row:2;align-self:start;margin:10px 0 18px}.game-tabs{grid-row:3;align-self:start}.game-phone{grid-row:1 / 5}.teaser-note{grid-row:5}.learning-grid{gap:60px}.journey .chapter-copy .lead{max-width:520px}}
@media(max-width:800px){.learning-method{margin:24px 0 4px}.learning-method ol{gap:16px 12px}.learning-method p{font-size:12px}.learning-method strong{font-size:15px}.learning-method h3{font-size:18px}.lesson-companion{min-height:105px}.lesson-companion .companion-anchor{width:110px;height:110px}.learning-outcome{font-size:14px;margin:14px 0 18px}.discovery-tabs{margin-top:20px;gap:6px}.discovery-tabs button{font-size:14px;padding:11px 14px}.action-row .button{font-size:17px;padding:15px 19px}.welcome-stage{margin-top:6px}.welcome-note{font-size:13px;margin-top:15px}.guidance-note{font-size:12px}.lesson-dock{right:18px;bottom:calc(16px + env(safe-area-inset-bottom));padding:10px 17px;font-size:14px}.inside-chapter{padding-bottom:94px}.farewell-chapter{padding-bottom:94px}.journey header{gap:6px}.journey .header-right{gap:7px}.journey .account-link{font-size:12px}.journey .brand{gap:6px}.game-outcome{margin:8px 0 16px}}
@media(max-width:360px){.journey header .account-link{display:inline}.journey header .brand{font-size:0;gap:0}.journey header .brand img{width:34px;height:34px}.journey header .header-right{gap:9px}.discovery-tabs button{padding:10px 12px;font-size:13px}}

/* The sprite has transparent padding: journey.js places its feet on these surfaces. */
.companion-anchor{position:relative}
.companion-stone{position:absolute;left:17%;width:66%;height:27px;bottom:-18px;background:linear-gradient(165deg,#749885 0 23%,#41696c 24% 65%,#294d58 66%);clip-path:polygon(12% 0,78% 0,100% 58%,88% 100%,6% 89%,0 42%)}
.welcome-stage .companion-stone{display:none}
.phone-frame{background:#e6f4fa}
.phone-frame>img{visibility:hidden}
#app-preview[data-screen="trail"]:not([data-landed]){pointer-events:none}
/* Idle spelling Lundo has a small rocky island; she never stands above open water. */
.flight-scene .companion-stone{height:38px;background:linear-gradient(165deg,#7da394 0 24%,#496d73 25% 62%,#2e525e 63%)}

.trail-actions{display:flex;align-items:center;gap:8px 16px;flex-wrap:wrap}.trail-actions .text-button{font-size:14px;padding:10px 0}.trail-actions button[hidden]{display:none}
.share-feedback{color:#184762;font-weight:700;overflow-wrap:anywhere}
