:root{--cream:#fff6e8;--card:#fffcf6;--sunk:#f6e7d0;--lavtint:#ede6fa;--peach:#ffe2c6;--ink:#2b2340;--muted:#5c5470;--teal:#1f7a7a;--teal-d:#145454;--marigold:#f4b63f;--marigold-d:#d49a25;--lavender:#b9a7e8;--lavender-d:#9784ce;--coral:#f26b5b;--coral-d:#cc4e3f;--wood:#e2b98a;--wood-top:#f3d6ae;--wood-side:#cfa173;--wood-dark:#b98a58;--wall:#e7ddf6;--wall-corner:#ddd0f0;--floor:#f2ddbf;--floor-plan:#fbebd3;--font-ui:"Quicksand","Nunito",system-ui,sans-serif;--font-target:"Noto Sans","Noto Sans Devanagari",sans-serif;--shadow-card:inset 0 2px 0 #fffffff2,inset 0 -4px 8px #2b23400d,0 16px 32px #2b23401a,0 2px 5px #2b23400f;--shadow-chip:inset 0 2px 0 #fff,0 3px 0 #e3d2b8,0 10px 18px #2b23401f;--shadow-tealButton:inset 0 2px 0 #ffffff4d,0 4px 0 #145454,0 10px 16px #1f7a7a47;--shadow-sunk:inset 0 3px 6px #2b234024,inset 0 -2px 0 #fffc}*{box-sizing:border-box}html{scroll-behavior:smooth}body{background:var(--cream);color:var(--ink);font:500 16px/1.6 var(--font-ui);margin:0}a{color:inherit;text-decoration:none}button,input{font:inherit}button{cursor:pointer}a:focus-visible,button:focus-visible,input:focus-visible{outline:3px solid var(--teal);outline-offset:5px}img{max-width:100%;display:block}.wrap{width:min(1180px,100% - 96px);margin:auto}.nav{justify-content:space-between;align-items:center;gap:25px;padding:30px 0;display:flex}.brand{letter-spacing:-1.5px;align-items:center;font-size:29px;font-weight:700;line-height:1;display:inline-flex}.brand-icon{background:var(--teal);color:#fff;width:39px;height:40px;box-shadow:inset 0 2px 0 #fff6,0 3px 0 var(--teal-d);border-radius:12px 12px 17px;place-items:center;margin-right:10px;display:grid;transform:rotate(-7deg)}.dot{color:var(--teal)}nav{gap:36px;font-size:14px;font-weight:700;display:flex}nav a:hover,.text-button:hover,.explore-link:hover{text-underline-offset:5px;text-decoration:underline}.hero{grid-template-columns:1fr 1fr;align-items:center;gap:35px;padding:65px 0 95px;display:grid}.eyebrow{letter-spacing:.14em;font-size:11px;font-weight:700}.tiny-star{color:var(--teal);margin-right:8px;font-size:20px}h1,h2,h3,p{margin-top:0}h1{letter-spacing:-3.5px;margin-bottom:26px;font-size:clamp(46px,5.1vw,68px);line-height:1.1}h2{letter-spacing:-1.8px;margin-bottom:22px;font-size:40px;line-height:1.18}h3{letter-spacing:-.6px;margin-bottom:12px;font-size:20px}.world{color:var(--teal);display:inline-block;position:relative}.world:after{content:"";background:var(--marigold);border-radius:50%;height:8px;position:absolute;bottom:-5px;left:0;right:-12px;transform:rotate(-3deg)}.intro{color:var(--muted);margin-bottom:30px;font-size:17px;line-height:1.8}.button{border:0;border-radius:999px;justify-content:center;align-items:center;gap:35px;min-height:54px;padding:16px 26px;font-size:15px;font-weight:700;transition:transform .15s;display:inline-flex}.primary{background:var(--teal);color:#fff;box-shadow:var(--shadow-tealButton)}.primary:hover{background:var(--teal-d);transform:translateY(-1px)}.primary:active{box-shadow:none;transform:translateY(3px)}.button span{font-size:22px}.micro{color:var(--muted);margin:17px 0 0;font-size:11px}.people{align-items:center;margin-top:36px;display:flex}.avatar{border:2px solid var(--cream);background:var(--lavtint);border-radius:50%;width:36px;height:36px;margin-left:-8px;overflow:hidden}.avatar:first-child{background:var(--peach);margin-left:0}.avatar img{width:44px;max-width:none;height:74px;position:relative;top:-1px;left:-6px}.people p{color:var(--muted);margin:0 0 0 12px;font-size:11px;line-height:1.5}.people strong{color:var(--ink)}.hero-art{padding:22px 0 70px;position:relative}.scene-shell{background:var(--card);box-shadow:var(--shadow-card);border-radius:28px;padding:12px;transform:rotate(3deg)}.scene-topline{letter-spacing:.08em;align-items:center;gap:8px;padding:9px 9px 18px;font-size:9px;font-weight:700;display:flex}.scene-topline>span:last-child{background:var(--lavtint);border-radius:8px;margin-left:auto;padding:2px 8px}.live-dot{background:var(--teal);border-radius:50%;width:7px;height:7px}.shop-scene{object-fit:cover;background:var(--lavtint);border-radius:17px;width:100%;height:300px}.scene-caption{align-items:center;gap:12px;padding:18px 7px 8px;display:flex}.scene-caption strong{font-size:15px;display:block}.scene-caption small{color:var(--muted);font-size:10px;display:block}.round-arrow{background:var(--marigold);border-radius:50%;place-items:center;width:35px;height:35px;font-size:24px;display:grid}.tag{letter-spacing:.07em;background:var(--lavtint);border-radius:20px;margin-left:auto;padding:6px 9px;font-size:8px;font-weight:700}.traveler{filter:drop-shadow(0 15px 8px #2b234017);width:132px;position:absolute;bottom:0;right:-22px}.floating-note{background:var(--card);box-shadow:var(--shadow-chip);border-radius:17px;padding:16px 23px;font-size:12px;line-height:1.5;position:absolute;bottom:23px;left:10px;transform:rotate(-5deg)}.floating-note>span{float:left;color:var(--teal);margin-right:13px;font-size:36px}.spark{color:var(--teal);z-index:2;font-size:39px;position:absolute}.spark-one{top:-23px;right:28px}.spark-two{color:var(--ink);font-size:26px;bottom:12px;right:128px}.ribbon{background:var(--sunk);letter-spacing:.12em;justify-content:center;align-items:center;gap:45px;padding:23px 24px;font-size:10px;font-weight:700;display:flex}.ribbon i{color:var(--teal);font-size:18px;font-style:normal}.how{padding-block:90px}.section-heading{text-align:center}.section-heading h2 span{color:var(--teal)}.section-heading>p:last-child{color:var(--muted);font-size:15px}.steps{grid-template-columns:repeat(3,1fr);gap:55px;margin-top:52px;display:grid}.steps article{padding:0 12px;position:relative}.step-number{color:var(--muted);font-size:12px;position:absolute;top:5px;right:20px}.step-icon{border-radius:21px;place-items:center;width:65px;height:65px;margin-bottom:24px;font-size:30px;font-weight:700;display:grid;transform:rotate(-5deg);box-shadow:inset 0 2px #fffb,0 4px #2b234015}.lavender{background:var(--lavtint)}.yellow{background:var(--marigold)}.mint{color:var(--teal-d);background:#d6e8de}.steps p{color:var(--muted);font-size:14px;line-height:1.8}.adventure{background:var(--lavtint);border-radius:32px;grid-template-columns:.85fr 1fr;align-items:center;gap:80px;padding:46px 60px;display:grid;box-shadow:inset 0 2px #fffc}.adventure-portrait{background:#dfd3f0;border-radius:50% 50% 42% 46%;place-items:center;height:300px;display:grid;position:relative}.adventure-portrait>img{height:285px}.hello{background:var(--card);box-shadow:var(--shadow-chip);border-radius:20px 20px 20px 2px;padding:10px 20px;font-size:14px;font-weight:700;position:absolute;top:18px;right:-12px;transform:rotate(7deg)}.portrait-star{color:var(--teal);font-size:45px;position:absolute;bottom:30px;left:5%}.adventure p:not(.eyebrow){color:var(--muted);max-width:440px;font-size:14px}.lesson-facts{flex-wrap:wrap;gap:15px;margin:25px 0;font-size:11px;font-weight:700;display:flex}.adventure .button{font-size:13px}.closing{text-align:center;padding-block:100px}.closing h2{font-size:48px}.footer{border-top:1px solid #2b23401a;justify-content:space-between;align-items:center;gap:20px;padding-block:30px;display:flex}.footer .brand{font-size:23px}.footer .brand-icon{border-radius:9px;width:29px;height:30px;font-size:24px}.footer p,.footer>a:last-child{color:var(--muted);margin:0;font-size:11px}.skip{z-index:10;background:var(--card);border-radius:10px;padding:12px;position:fixed;top:-100px;left:20px}.skip:focus{top:10px}.back-link{color:var(--muted);font-size:13px;font-weight:700}.auth-layout{grid-template-columns:1fr 1fr;align-items:center;gap:110px;padding-block:45px;display:grid}.auth-story h1{letter-spacing:-2px;font-size:47px}.auth-story>p:not(.eyebrow){color:var(--muted);font-size:15px}.auth-illustration{place-items:center;max-width:390px;height:310px;margin-top:25px;display:grid;position:relative}.auth-halo{background:var(--lavtint);border-radius:50%;width:270px;height:270px;position:absolute;bottom:0}.auth-illustration img{height:290px;position:relative;transform:rotate(-3deg)}.speech{background:var(--card);box-shadow:var(--shadow-chip);border-radius:20px 20px 20px 2px;padding:12px 20px;font-size:13px;font-weight:700;position:absolute;top:35px;right:5px;transform:rotate(6deg)}.auth-star{color:var(--teal);font-size:40px;position:absolute;top:90px;left:35px}.aside-caption{text-align:center;max-width:390px;margin-top:23px;font-size:12px!important}.auth-card{background:var(--card);box-shadow:var(--shadow-card);border-radius:30px;padding:35px 38px}.mini-mark{color:var(--teal);margin-bottom:13px;font-size:27px;display:block}.auth-card .eyebrow{font-size:9px}.auth-card h2{letter-spacing:-1.2px;margin-bottom:8px;font-size:30px}.auth-subtitle{color:var(--muted);margin-bottom:23px;font-size:12px}.auth-tabs{background:var(--sunk);border-radius:999px;margin-bottom:25px;padding:5px;display:flex}.auth-tabs button{width:50%;color:var(--muted);background:0 0;border:0;border-radius:999px;padding:9px;font-size:12px;font-weight:700}.auth-tabs button[aria-pressed=true]{background:var(--card);color:var(--ink);box-shadow:0 2px 4px #2b23401a}label{margin-bottom:7px;font-size:12px;font-weight:700;display:block}input{width:100%;color:var(--ink);background:#fffaf1;border:1px solid #d4cbbd;border-radius:13px;min-height:48px;margin-bottom:18px;padding:13px 14px;font-size:13px}input::placeholder{color:#73697b}.password-label{justify-content:space-between;align-items:baseline;gap:12px;display:flex}.text-button{color:var(--teal-d);background:0 0;border:0;padding:0;font-size:10px;font-weight:700}.password-field{position:relative}.password-field input{margin-bottom:5px;padding-right:60px}.password-field button{color:var(--teal-d);background:0 0;border:0;font-size:11px;font-weight:700;position:absolute;top:14px;right:12px}.field-help{color:var(--muted);margin:3px 0 0;font-size:10px}.submit{width:100%;margin-top:22px;font-size:13px}.submit span{margin-left:auto}#form-status{color:var(--teal-d);margin:18px 0 0;font-size:12px}#form-status:empty{display:none}.preview-note{color:var(--muted);background:var(--lavtint);border-radius:12px;margin:23px 0 18px;padding:12px;font-size:10px;line-height:1.7}.preview-note span{letter-spacing:.1em;margin-bottom:3px;font-size:8px;font-weight:700;display:block}.explore-link{text-align:center;color:var(--teal-d);font-size:11px;font-weight:700;display:block}.auth-footer{text-align:center;color:var(--muted);padding:30px;font-size:11px}@media (width<=1000px){.wrap{width:calc(100% - 56px)}nav{gap:22px}.hero{gap:25px}.hero h1{font-size:52px}.shop-scene{height:250px}.tag{display:none}.ribbon{gap:22px;font-size:9px}.auth-layout{gap:45px}.auth-story h1{font-size:39px}.auth-card{padding:28px}.adventure{gap:40px;padding:35px}.adventure h2{font-size:34px}.steps{gap:25px}}@media (width<=700px){.wrap{width:calc(100% - 40px)}.nav{gap:15px;padding-block:23px}.brand{font-size:25px}.brand-icon{width:32px;height:34px;font-size:27px}nav{font-size:13px}.nav-story{display:none}.hero{grid-template-columns:1fr;gap:42px;padding-block:40px 50px}.hero h1{letter-spacing:-2.8px;font-size:53px}.intro{font-size:15px}.hero-copy .eyebrow{font-size:9px}.people{margin-top:28px}.hero-art{margin:0 12px;padding-top:5px;padding-bottom:65px}.shop-scene{height:270px}.scene-topline{font-size:8px}.scene-caption strong{font-size:14px}.traveler{width:110px;right:-15px}.floating-note{padding:12px 15px;font-size:10px;bottom:18px;left:0}.spark-one{font-size:29px;top:-23px}.ribbon{flex-wrap:wrap;gap:10px 17px;padding:20px 15px;font-size:8px}.ribbon i:nth-of-type(2){display:none}.ribbon span{text-align:center;width:38%}.how{padding-block:55px}h2{font-size:32px}.section-heading>p:last-child{font-size:13px}.steps{grid-template-columns:1fr;gap:27px;margin-top:35px}.steps article{min-height:100px;padding-left:84px}.step-icon{width:59px;height:59px;position:absolute;top:4px;left:0}.step-number{font-size:10px;top:-7px;right:0}.steps h3{margin-bottom:7px;font-size:18px}.steps p{margin-bottom:0;font-size:13px}.adventure{grid-template-columns:1fr;gap:35px;padding:28px}.adventure-portrait{width:100%;max-width:300px;height:240px;margin:auto}.adventure-portrait>img{height:235px}.adventure h2{font-size:32px}.hello{font-size:12px;right:-3px}.lesson-facts{gap:10px;font-size:10px}.closing{padding-block:65px}.closing h2{font-size:37px}.footer{flex-wrap:wrap;padding-block:25px}.footer p{order:3;width:100%}.back-link{text-align:right;max-width:115px;font-size:10px}.auth-layout{grid-template-columns:1fr;gap:24px;padding-block:20px 0}.auth-story{text-align:center}.auth-story h1{margin-bottom:12px;font-size:33px}.auth-story>p:not(.eyebrow){font-size:13px}.auth-illustration,.aside-caption{display:none}.auth-card{padding:26px 24px}.auth-card h2{font-size:29px}.auth-footer{padding:25px}.mini-mark{display:none}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{transition:none!important}}.adventure .demo-context{border-left:3px solid var(--teal);margin-top:20px;padding-left:13px;font-size:12px}.steps h3{max-width:260px}.scroll-words{right:max(14px,env(safe-area-inset-right));bottom:max(24px,env(safe-area-inset-bottom));z-index:20;pointer-events:none;-webkit-user-select:none;user-select:none;width:0;height:0;position:fixed}.scroll-word{background:var(--card);width:max-content;min-width:72px;color:var(--ink);will-change:transform,opacity;border:1px solid #ffffffc7;border-radius:13px 13px 4px;grid-template-columns:15px auto;align-items:center;column-gap:5px;padding:6px 10px 6px 8px;display:grid;position:absolute;bottom:0;right:0;box-shadow:inset 0 2px #fffc,0 2px #2b234006,0 5px 12px #2b23400c}.scroll-word-arrow{color:var(--teal-d);grid-row:1/3;align-self:center;font-size:17px;line-height:1}.scroll-word-text{letter-spacing:0;font-size:14px;font-weight:700;line-height:1.5}.scroll-word small{letter-spacing:.04em;color:var(--muted);font-size:7px;font-weight:700;line-height:1.7}.scroll-word--1{background:var(--lavtint)}.scroll-word--2{background:#d6e8de}.scroll-word--3{background:#ffe7b4}@media (width<=700px){.scroll-words{right:8px;bottom:max(18px,env(safe-area-inset-bottom))}.scroll-word{border-radius:11px 11px 4px;column-gap:4px;min-width:64px;padding:5px 8px 5px 7px}.scroll-word-text{font-size:13px}.scroll-word-arrow{font-size:16px}.scroll-word small{font-size:7px}}@media (prefers-reduced-motion:reduce){.scroll-words{display:none}}@media (width>=701px){.scroll-word{border-radius:16px 16px 5px;grid-template-columns:18px auto;column-gap:6px;min-width:86px;padding:8px 13px 8px 10px}.scroll-word-text{font-size:16px}.scroll-word-arrow{font-size:20px}.scroll-word small{font-size:8px}}@media (width>=1440px){.scroll-word{min-width:96px;padding:9px 15px 9px 12px}.scroll-word-text{font-size:18px}.scroll-word-arrow{font-size:22px}}.adventure-transition{z-index:1000;isolation:isolate;pointer-events:auto;justify-content:center;align-items:center;display:flex;position:fixed;inset:0;overflow:hidden}.journey-backdrop{background:var(--cream);animation:.3s ease-out both journey-backdrop-in;position:absolute;inset:0}.journey-art{will-change:transform,opacity;flex:none;width:240px;height:240px;position:relative}.journey-globe{width:100%;height:100%}.journey-orbit{border:1px solid #1f7a7a30;border-radius:50%;position:absolute;inset:-15px;transform:rotate(-25deg)scaleY(.65)}.journey-spark{color:var(--marigold);font-size:32px;position:absolute}.journey-spark-one{top:-7px;right:0}.journey-spark-two{color:var(--teal);font-size:24px;bottom:9px;left:-13px}.journey-caption{text-align:center;padding:0 20px;font-size:17px;font-weight:700;animation:2.4s both journey-caption;position:absolute;top:calc(50% + 145px)}.journey-caption span{color:var(--muted);margin-top:5px;font-size:12px;font-weight:500;display:block}.adventure-arrival:after{content:"";background:var(--cream);z-index:1000;pointer-events:none;animation:.9s ease-out forwards journey-reveal;position:fixed;inset:0}@keyframes journey-backdrop-in{0%{opacity:0}to{opacity:1}}@keyframes journey-caption{0%,12%{opacity:0;transform:translateY(8px)}30%,55%{opacity:1;transform:translateY(0)}80%,to{opacity:0;transform:translateY(-6px)}}@keyframes journey-reveal{0%{opacity:1}to{opacity:0}}@media (prefers-reduced-motion:reduce){.adventure-transition,.adventure-arrival:after{display:none}}.adventure-arrival .auth-story{animation:1.1s cubic-bezier(.22,.61,.36,1) both auth-story-arrive}.adventure-arrival .auth-card{animation:1.2s cubic-bezier(.22,.61,.36,1) .15s both auth-card-arrive}.adventure-arrival .auth-card>*,.adventure-arrival .auth-card form{animation:.9s ease-out .35s both auth-detail-arrive}@keyframes auth-story-arrive{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}@keyframes auth-card-arrive{0%{opacity:0;transform:translateY(24px)scale(.98)}to{opacity:1;transform:translateY(0)scale(1)}}@keyframes auth-detail-arrive{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@media (prefers-reduced-motion:reduce){.adventure-arrival .auth-story,.adventure-arrival .auth-card,.adventure-arrival .auth-card>*,.adventure-arrival .auth-card form{animation:none}}.adventure-transition .journey-art{will-change:opacity;width:100%;height:100%;position:absolute;inset:0}.adventure-transition .journey-globe{width:100%;height:100%;display:block}.adventure-transition .journey-orbit,.adventure-transition .journey-spark{display:none}.adventure-arrival:after{background:var(--teal-d);animation:.8s ease-in-out forwards journey-reveal}.adventure-arrival .auth-story{animation-duration:.85s}.adventure-arrival .auth-card{animation-duration:.95s;animation-delay:50ms}.adventure-arrival .auth-card>*,.adventure-arrival .auth-card form{animation-delay:.15s}.adventure-arrival:after{display:none}.adventure-transition .journey-caption{letter-spacing:-.02em;color:var(--ink);margin:0;font-size:clamp(20px,2vw,28px);font-weight:700;line-height:1.4;animation:2.4s cubic-bezier(.4,0,.2,1) both journey-day-caption;left:20px;right:20px}@keyframes journey-day-caption{0%,8%{opacity:0;transform:translateY(6px)}20%,52%{opacity:1;transform:translateY(0)}68%,to{opacity:0;transform:translateY(-4px)}}html.adventure-transition-active,html.adventure-transition-active body{overflow:hidden!important}.auth-card input:focus{border-color:var(--teal);background:var(--card)}.auth-layout{align-items:start}.auth-story{padding-top:40px}.auth-name-row{opacity:0;grid-template-rows:0fr;transition:grid-template-rows .38s cubic-bezier(.22,.61,.36,1),opacity .25s;display:grid}.auth-name-row>div{min-height:0;margin-inline:-9px;padding-inline:9px;overflow:hidden}.auth-name-row.is-visible{opacity:1;grid-template-rows:1fr}.auth-card{min-height:720px}#password-help{min-height:17px}@media (width<=700px){.auth-story{padding-top:0}.auth-card{min-height:680px}}@media (prefers-reduced-motion:reduce){.auth-name-row{transition:none}}.auth-character{z-index:1;width:174px;height:290px;position:relative}.auth-character>img{width:174px;height:290px}.auth-held-pen{pointer-events:none;width:14px;height:48px;position:absolute;top:calc(21.5% - 24px);left:calc(83% - 7px);transform:rotate(-18deg)}.auth-held-pen svg{width:100%;height:100%;display:block;overflow:visible}.auth-held-pen.pen-in-flight{visibility:hidden}.auth-field-pen{transform-origin:0 0;z-index:40;pointer-events:none;-webkit-user-select:none;user-select:none;will-change:transform;width:16px;height:64px;position:fixed;top:0;left:0}.auth-field-pen[hidden]{display:none}.auth-field-pen svg{width:100%;height:100%;display:block;overflow:visible}.quest-viewport{border-radius:17px;position:relative;overflow:hidden}.quest-viewport .shop-scene{border-radius:0}.quest-overlay{background:var(--card);border:1px solid #ffffffc7;border-radius:15px;align-items:center;gap:10px;padding:12px 14px;display:flex;position:absolute;bottom:13px;left:13px;right:13px;box-shadow:0 5px 16px #2b23401a}.quest-marker{background:var(--marigold);border-radius:11px;flex-shrink:0;place-items:center;width:32px;height:32px;font-size:21px;display:grid}.quest-overlay small{color:var(--muted);letter-spacing:.12em;font-size:8px;font-weight:700;display:block}.quest-overlay strong{font-size:12px;line-height:1.5;display:block}.quest-overlay p{color:var(--muted);margin:3px 0 0;font-size:9px}@media (width<=700px){.quest-overlay{gap:8px;padding:10px;bottom:9px;left:9px;right:9px}.quest-overlay strong{font-size:10px}.quest-overlay p{font-size:8px}.quest-marker{width:26px;height:26px;font-size:17px}}.sr-only{clip:rect(0,0,0,0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.language-page{max-width:1020px;padding-block:38px 30px}.language-heading{text-align:center;margin-bottom:36px}.language-heading h1{letter-spacing:-2px;margin:16px 0 20px;font-size:clamp(36px,4vw,50px);line-height:1.15}.language-heading h1 span{color:var(--teal)}.language-heading>p:last-child{color:var(--muted);font-size:15px}.language-options{border:0;grid-template-columns:repeat(4,1fr);gap:18px;margin:0;padding:0;display:grid}.language-option{cursor:pointer;margin:0;position:relative}.language-option input{opacity:0;cursor:pointer;width:100%;height:100%;margin:0;position:absolute;inset:0}.language-card{background:var(--card);height:208px;box-shadow:var(--shadow-card);pointer-events:none;border:2px solid #0000;border-radius:24px;flex-direction:column;align-items:center;padding:20px 12px;transition:transform .18s,border-color .18s,background .18s;display:flex;position:relative}.language-option:hover .language-card{background:#fffaf0;transform:translateY(-3px)}.language-option input:checked+.language-card{border-color:var(--teal);background:#eef4e9}.language-option input:focus-visible+.language-card{outline:3px solid var(--teal);outline-offset:4px}.language-check{background:var(--teal);color:#fff;opacity:0;border-radius:50%;place-items:center;width:21px;height:21px;font-size:12px;display:grid;position:absolute;top:12px;right:13px}.language-option input:checked+.language-card .language-check{opacity:1}.language-flag{margin-bottom:10px;font-family:Apple Color Emoji,Segoe UI Emoji,sans-serif;font-size:43px;line-height:1.3}.language-native{font-family:var(--font-target);font-size:23px;font-weight:700;line-height:1.6}.language-english{color:var(--muted);font-size:11px;font-weight:500}.language-badge{background:var(--lavtint);color:var(--muted);border-radius:999px;margin-top:auto;padding:3px 10px;font-size:9px;font-weight:700}.language-badge.is-playable{background:var(--teal);color:#fff}.language-action{text-align:center;margin-top:30px}#language-status{color:var(--muted);min-height:22px;margin-bottom:18px;font-size:13px}.language-action .button{min-width:260px}.button:disabled{background:var(--sunk);color:var(--muted);box-shadow:none;cursor:default;transform:none}@media (width<=700px){.language-page{padding-top:22px}.language-heading h1{font-size:36px}.language-heading>p:last-child{font-size:13px}.language-options{grid-template-columns:repeat(2,1fr);gap:14px}.language-card{height:193px;padding:17px 10px}.language-flag{font-size:36px}.language-native{font-size:21px}.language-heading{margin-bottom:28px}.language-action .button{width:100%;min-width:0}.language-check{top:10px;right:10px}}.map-page{max-width:1100px;padding-top:30px}.map-heading{text-align:center;margin-bottom:28px}.map-heading h1{letter-spacing:-2px;margin-bottom:18px;font-size:clamp(36px,4vw,50px);line-height:1.15}.map-heading h1 span{color:var(--teal)}.map-heading>p:last-child{color:var(--muted);font-size:14px}.map-language{font-family:var(--font-target);align-items:center;gap:9px;font-size:16px;font-weight:700;display:flex}.map-language>span:first-child{font-size:25px}.map-language>span:last-child{font-family:var(--font-ui);color:var(--muted);margin-left:8px;font-size:10px;font-weight:600}.quest-map{background:#e5e9d6;border-radius:40px;height:900px;position:relative;overflow:hidden;box-shadow:inset 0 2px #ffffffa0,inset 0 -3px #ced7bb}.map-terrain{background:radial-gradient(at 15% 77%,#d1dfbd 0 12%,#0000 12.3%),radial-gradient(at 90% 63%,#d7e0bf 0 21%,#0000 21.3%),radial-gradient(at 30% 30%,#eae4cc 0 17%,#0000 17.3%),radial-gradient(at 55% 120%,#eee4c9 0 45%,#0000 45.3%);position:absolute;inset:0}.map-trail{width:100%;height:100%;position:absolute;inset:0}.map-level{z-index:2;text-align:center;flex-direction:column;align-items:center;width:290px;display:flex;position:absolute;transform:translate(-50%,-50%)}.map-level-one{top:82%;left:50%}.map-level-two{top:57%;left:76.25%}.map-level-three{top:32%;left:28.75%}.level-node{color:#fff;border:3px solid #ffffffb3;border-radius:29px;place-items:center;width:90px;height:90px;font-size:30px;font-weight:700;transition:transform .18s;display:grid;transform:rotate(-7deg)}.level-node svg{fill:none;stroke:currentColor;stroke-width:2px;stroke-linejoin:round;stroke-linecap:round;width:39px;height:39px}.level-node.playable{background:var(--teal);box-shadow:inset 0 3px 0 #ffffff40,0 7px 0 var(--teal-d),0 15px 23px #14545422}.level-node.playable:hover{transform:rotate(0)translateY(-4px)}.level-node.locked{color:#53564b;cursor:default;background:#b4b6a6;box-shadow:inset 0 3px #ffffff40,0 6px #959a88}.level-node.future{background:var(--lavender);color:var(--ink);box-shadow:0 6px 0 var(--lavender-d);cursor:default}.level-node.completed{background:var(--teal)}.level-callout{background:var(--card);letter-spacing:.08em;box-shadow:var(--shadow-chip);border-radius:999px;margin-bottom:14px;padding:7px 14px;font-size:9px;font-weight:700}.level-label{margin-top:20px}.level-label small{letter-spacing:.1em;color:var(--muted);font-size:9px;font-weight:700;display:block}.level-label strong{margin:3px 0;font-size:22px;font-weight:700;display:block}.level-label p{color:var(--muted);max-width:240px;margin:4px 0 0;font-size:11px;line-height:1.6}.level-label .button{gap:20px;min-height:43px;margin-top:15px;padding:10px 22px;font-size:12px}.map-tree{color:#5b8c77;text-shadow:0 6px #386a5750;font-size:80px;position:absolute;transform:rotate(-7deg)}.tree-one{top:65%;left:17%}.tree-two{opacity:.5;font-size:60px;top:26%;right:13%}.map-stone{background:#c5c1b1;border-radius:45% 60% 35% 40%;width:35px;height:20px;display:block;position:absolute;box-shadow:inset 0 4px #ffffff40,0 4px #b3b19f}.stone-one{top:87%;left:23%;transform:rotate(10deg)}.stone-two{width:22px;height:15px;top:76%;right:18%}.map-clouds{z-index:3;pointer-events:none;background:linear-gradient(to bottom,var(--card) 0%,#fffcf6f5 38%,#fffcf6a8 67%,#fffcf600 100%);height:390px;position:absolute;inset:0 0 auto}.cloud{background:#fffcf6;border-radius:999px;width:290px;height:100px;position:absolute;box-shadow:0 12px 28px #5c54700b}.cloud:before,.cloud:after{content:"";background:inherit;border-radius:50%;position:absolute}.cloud:before{width:125px;height:125px;bottom:5px;left:35px}.cloud:after{width:160px;height:160px;bottom:0;right:22px}.cloud-one{top:110px;left:-70px;transform:rotate(-5deg)}.cloud-two{top:70px;left:30%}.cloud-three{top:145px;right:-110px;transform:rotate(7deg)}.cloud-four{opacity:.7;top:-25px;left:15%}.cloud-caption{z-index:4;text-align:center;color:var(--muted);letter-spacing:.03em;font-size:12px;position:absolute;top:60px;left:20px;right:20px}.map-progress-note{text-align:center;color:var(--muted);margin:22px 0 35px;font-size:11px}@media (width<=700px){.map-page{width:calc(100% - 28px);padding-top:20px}.map-heading{padding-inline:12px}.map-heading h1{font-size:34px}.map-heading>p:last-child{font-size:12px}.map-language>span:last-child{display:none}.map-language{font-size:14px}.quest-map{border-radius:28px;height:850px}.map-level{width:210px}.map-level-two{left:69%}.map-level-three{left:31%}.level-node{border-radius:24px;width:72px;height:72px}.level-node svg{width:30px;height:30px}.level-label strong{font-size:19px}.level-label p{max-width:180px;font-size:10px}.level-label small{font-size:8px}.level-callout{padding:6px 10px;font-size:8px}.map-tree{font-size:58px}.tree-one{left:7%}.tree-two{right:7%}.map-clouds{height:370px}.cloud{width:210px}.cloud-two{top:85px;left:15%}.map-progress-note{padding-inline:14px;font-size:10px}}.map-level{transform:translate(-50%,-45px)}.map-level-one{top:76%}@media (width<=700px){.map-level{transform:translate(-50%,-36px)}}body:has(.quest-map) .nav{padding-block:19px}.map-page{padding-top:0}.quest-map{border-radius:30px;height:calc(100dvh - 132px)}.map-progress-note{margin:12px 0;font-size:10px}.map-level-one{text-align:left;background:#fffcf6e8;border:1px solid #ffffffb3;border-radius:26px;grid-template-columns:90px 1fr;align-items:center;gap:24px;width:390px;padding:18px 22px;display:grid;top:auto;bottom:28px;transform:translate(-50%);box-shadow:0 10px 24px #2b23400b}.map-level-one .level-label{margin-top:0}.map-level-one .level-label strong{white-space:nowrap;font-size:21px}.map-level-one .level-label .button{margin-top:10px}.map-level-two{top:45%}.map-level-three{top:18%}.map-clouds{height:40%;min-height:170px}.cloud-caption{font-size:10px;top:25px}@media (width<=700px){body:has(.quest-map) .nav{padding-block:16px}.quest-map{border-radius:24px;height:calc(100dvh - 116px)}.map-page{padding-top:0}.map-level-one{grid-template-columns:64px 1fr;gap:16px;width:calc(100% - 32px);max-width:370px;padding:16px;bottom:20px;transform:translate(-50%)}.map-level-one .level-node{border-radius:22px;width:64px;height:64px}.map-level-one .level-label strong{font-size:18px}.map-level-one .level-label .button{gap:12px;min-height:40px;padding:9px 15px;font-size:11px}.map-level-two{top:40%}.map-level-three{top:15%}.map-level-two .level-node,.map-level-three .level-node{border-radius:20px;width:58px;height:58px}.map-level-two .level-label,.map-level-three .level-label{margin-top:13px}.map-level-two .level-label p,.map-level-three .level-label p{max-width:150px}.map-progress-note{margin:10px 0;font-size:9px}}@media (height<=700px){.map-level-two{top:33%}.map-level-three{top:8%}.map-level-two .level-label p,.map-level-three .level-label{display:none}.map-level-two .level-node{border-radius:18px;width:52px;height:52px}.map-level-two .level-label{margin-top:10px}.map-level-two .level-label strong{font-size:16px}.map-level-one{padding-block:12px;bottom:15px}.cloud-caption{top:15px}}.language-resume{background:var(--lavtint);border-radius:24px;align-items:center;gap:16px;margin:0 0 28px;padding:20px 24px;display:flex;box-shadow:inset 0 2px #ffffffb3}.resume-flag{font-family:Apple Color Emoji,Segoe UI Emoji,sans-serif;font-size:36px}.language-resume strong{font-size:16px;line-height:1.4;display:block}.language-resume p{color:var(--muted);margin:4px 0 0;font-size:12px}.language-resume .button{gap:16px;min-height:46px;margin-left:auto;padding:12px 20px;font-size:12px}@media (width<=700px){.language-resume{flex-wrap:wrap;gap:12px;margin-bottom:22px;padding:18px}.resume-flag{font-size:30px}.language-resume strong{font-size:14px}.language-resume p{font-size:11px}.language-resume .button{width:100%;margin:4px 0 0}}.door-page{grid-template-columns:1fr 1fr;align-items:center;gap:70px;max-width:1050px;padding:30px 0 50px;display:grid}.door-story h1{letter-spacing:-2px;font-size:46px}.door-story>p:not(.eyebrow){color:var(--muted);max-width:340px;font-size:14px}.door-code{justify-content:center;gap:9px;display:flex}.door-code>:is(span,button){background:var(--sunk);width:42px;height:47px;color:var(--muted);font:700 26px/1.6 var(--font-target);border:2px solid #0000;border-radius:12px;place-items:center;display:grid;position:relative}.door-code .is-current{border-color:var(--marigold);background:var(--card)}.door-code .is-done{border-color:var(--teal);color:var(--teal-d);background:#d6e8de}.door-story .door-footnote{text-align:center;margin:15px auto 0;font-size:11px!important}.door-writing{background:var(--card);box-shadow:var(--shadow-card);border-radius:28px;padding:28px}.door-writing h2{letter-spacing:-1px;margin-bottom:10px;font-size:26px}.door-writing h2 span{font-family:var(--font-target);font-size:36px;line-height:1.6}.trace-instructions{color:var(--muted);margin-bottom:18px;font-size:12px}.trace-board{aspect-ratio:280/240;background:#f6efe2;border:1px solid #e3d6c2;border-radius:20px;width:100%;position:relative;overflow:hidden}.trace-board canvas{width:100%;height:100%;position:absolute;inset:0}#trace-target{opacity:.18;pointer-events:none}#trace-ink{touch-action:none;cursor:crosshair}#trace-ink:focus-visible{outline:3px solid var(--teal);outline-offset:-5px;border-radius:20px}.trace-actions{justify-content:space-between;align-items:center;gap:12px;margin-top:18px;display:flex}.trace-actions .button{gap:14px;min-height:44px;padding:10px 18px;font-size:12px}.trace-actions .text-button{font-size:11px}.trace-feedback{color:var(--teal-d);min-height:40px;margin:20px 0;font-size:12px;line-height:1.7}.trace-alternative{color:var(--muted);border-top:1px solid #e7dfd0;padding-top:12px;font-size:11px}.trace-alternative summary{cursor:pointer;font-weight:700}.trace-alternative form{padding-top:15px}.keyboard-code{font:700 30px/1.6 var(--font-target);color:var(--ink);letter-spacing:.1em;margin:4px 0 10px}.trace-alternative input{font-family:var(--font-target);font-size:26px}.trace-alternative .button{padding:10px 18px;font-size:12px}.trace-alternative #keyboard-help{font-size:10px}.door-success{text-align:center;padding:60px 0}.door-success-mark{width:75px;height:75px;color:var(--teal);background:#d6e8de;border-radius:50%;place-items:center;margin:0 auto 24px;font-size:36px;display:grid}.door-success p:not(.eyebrow){color:var(--muted);font-size:14px}.door-success .button{gap:18px;font-size:13px}.basic-unit-page{max-width:850px;padding:25px 0 50px}.basic-unit-heading h1{letter-spacing:-2px;margin-bottom:12px;font-size:45px}.basic-unit-heading>p:last-child{color:var(--muted);font-size:14px}.unit-open-badge{width:29px;height:29px;color:var(--teal);letter-spacing:0;vertical-align:middle;background:#d6e8de;border-radius:50%;place-items:center;margin-left:18px;font-size:18px;display:inline-grid}.basic-lessons{gap:15px;margin:28px 0 0;padding:0;list-style:none;display:grid}.basic-lesson{background:var(--card);box-shadow:var(--shadow-card);border-radius:23px;align-items:center;gap:20px;padding:22px 25px;display:flex}.basic-lesson.is-ready{border:2px solid var(--teal)}.basic-lesson-number{background:var(--sunk);border-radius:16px;flex-shrink:0;place-items:center;width:48px;height:48px;font-size:18px;font-weight:700;display:grid}.is-ready .basic-lesson-number{background:var(--teal);color:#fff}.basic-lesson small{letter-spacing:.1em;color:var(--muted);font-size:9px;font-weight:700}.basic-lesson h2{letter-spacing:-.6px;margin:2px 0 4px;font-size:20px}.basic-lesson p{color:var(--muted);margin:0;font-size:11px}.basic-lesson .button{white-space:nowrap;gap:16px;min-height:44px;margin-left:auto;padding:10px 20px;font-size:12px}.lesson-lock{background:var(--sunk);color:var(--muted);border:0;border-radius:12px;margin-left:auto;padding:10px 14px;font-size:14px}.door-page a,.door-page button,.basic-unit-page a{touch-action:manipulation}.trace-letter-heading .is-letter-accepted{color:var(--teal-d);text-shadow:0 0 9px #3b9a8f99,0 0 17px #f4b63f99;animation:1.05s both trace-letter-glow}.trace-board.is-letter-accepted{animation:1.05s both trace-board-glow}.door-code .is-earned{animation:.72s cubic-bezier(.2,.8,.25,1) both passcode-earned;box-shadow:0 0 0 4px #f4b63f38,0 8px 18px #1f7a7a35}.passcode-sparkles{pointer-events:none;position:absolute;inset:-15px}.passcode-sparkles i{color:var(--marigold);font:700 14px/1 var(--font-ui);animation:.85s ease-out both passcode-sparkle;position:absolute}.passcode-sparkles i:first-child{top:5px;left:-2px}.passcode-sparkles i:nth-child(2){color:var(--teal);top:-1px;right:-3px}.passcode-sparkles i:nth-child(3){animation-delay:.12s;bottom:0;right:2px}.door-confetti{z-index:8;pointer-events:none;width:1px;height:1px;position:absolute;top:43%;left:50%}.door-confetti i{background:var(--marigold);width:7px;height:12px;animation:door-confetti-burst 1.35s cubic-bezier(.2,.7,.2,1) var(--delay) both;border-radius:3px;position:absolute;box-shadow:inset 0 1px #fff8}.door-confetti i:nth-child(3n+2){background:var(--teal);width:9px;height:7px}.door-confetti i:nth-child(3n){background:#fff6d8}.unit-portal.is-final-highlight .portal-frame{box-shadow:inset 0 3px #fffdf6,0 0 0 7px #f4b63f55,0 0 28px #1f7a7a66}.unit-portal.is-final-celebration .portal-frame{animation:1.55s both portal-final-glow}@keyframes trace-letter-glow{0%,to{text-shadow:none}40%{text-shadow:0 0 10px #3b9a8f66}}@keyframes trace-board-glow{0%,to{box-shadow:none;border-color:#e3d6c2}40%{border-color:#77b7a9;box-shadow:0 0 0 4px #1f7a7a24,0 0 24px #f4b63f42}}@keyframes passcode-earned{0%,to{box-shadow:0 0 #1f7a7a00}40%{box-shadow:0 0 0 4px #1f7a7a20,0 3px 9px #1f7a7a20}}@keyframes passcode-sparkle{0%{opacity:0;transform:translateY(5px)scale(.4)rotate(-15deg)}45%{opacity:1;transform:translateY(-4px)scale(1.1)rotate(0)}to{opacity:0;transform:translateY(-12px)scale(.65)rotate(18deg)}}@keyframes door-confetti-burst{0%{opacity:0;transform:translate(0)rotate(0)scale(.5)}18%{opacity:1}to{opacity:0;transform:translate(var(--x),var(--y)) rotate(var(--r)) scale(.9)}}@keyframes portal-final-glow{0%,to{filter:none}35%{filter:drop-shadow(0 0 16px #f4b63f88)drop-shadow(0 0 9px #1f7a7a66)}}@media (width<=700px){.door-page{grid-template-columns:1fr;gap:26px;padding-top:10px}.door-story{text-align:center}.door-story h1{margin-bottom:15px;font-size:34px}.door-story>p:not(.eyebrow){max-width:none;font-size:12px}.door-code>:is(span,button){width:38px;height:43px;font-size:25px}.door-writing{padding:22px}.door-writing h2{font-size:24px}.trace-actions .button{gap:8px;font-size:11px}.basic-unit-heading h1{font-size:38px}.basic-lesson{flex-wrap:wrap;gap:12px;padding:17px 15px}.basic-lesson h2{font-size:18px}.basic-lesson-number{width:39px;height:42px;font-size:15px}.basic-lesson .button{width:100%;margin-left:0}.basic-lesson p{font-size:10px}.lesson-lock{padding:8px}.door-success{padding:35px 0}}.trace-tutorial-open{margin:-6px 0 12px;font-size:11px;display:block}.trace-board .writing-guide-overlay{pointer-events:none;width:100%;height:100%;position:absolute;inset:0;overflow:visible}.writing-guide-controls{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;margin-top:12px;display:flex}.writing-guide-controls>.text-button{min-height:30px;font-size:11px}.writing-stroke-buttons{gap:5px;display:flex}.writing-stroke-buttons button{background:var(--lavtint);color:var(--ink);border:1px solid #0000;border-radius:50%;place-items:center;width:29px;height:29px;padding:0;font-size:11px;font-weight:700;display:grid}.writing-stroke-buttons button[aria-pressed=true]{background:var(--marigold);border-color:var(--marigold-d)}.writing-tutorial{background:var(--card);width:min(440px,100% - 32px);max-height:calc(100dvh - 36px);color:var(--ink);box-shadow:var(--shadow-card);border:1px solid #fffc;border-radius:28px;padding:30px;overflow:auto}.writing-tutorial::backdrop{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#2b23405c}.tutorial-pencil{width:22px;height:80px;margin:0 auto 18px;transform:rotate(18deg)}.tutorial-pencil svg{width:100%;height:100%;display:block;overflow:visible}.writing-tutorial>.eyebrow{text-align:center;font-size:9px}.writing-tutorial h2{letter-spacing:-1px;text-align:center;margin-bottom:12px;font-size:29px}.writing-tutorial>p:not(.eyebrow){color:var(--muted);text-align:center;font-size:13px}.writing-tutorial ol{gap:18px;margin:25px 0;padding:0;list-style:none;display:grid}.writing-tutorial li{align-items:start;gap:13px;display:flex}.writing-tutorial li>span{background:var(--lavtint);width:30px;height:30px;color:var(--teal-d);border-radius:50%;flex-shrink:0;place-items:center;font-size:16px;font-weight:700;display:grid}.writing-tutorial li>.tutorial-dot{background:var(--marigold);color:var(--ink);font-size:13px}.writing-tutorial li strong{font-size:13px;display:block}.writing-tutorial li p{color:var(--muted);margin:4px 0 0;font-size:11px;line-height:1.7}.writing-tutorial>.button{gap:20px;width:100%;min-height:47px;padding:12px 20px;font-size:12px}.writing-tutorial>.text-button{margin:19px auto 0;font-size:11px;display:block}@media (width<=700px){.writing-tutorial{padding:23px}.tutorial-pencil{width:18px;height:65px;margin-bottom:13px}.writing-tutorial h2{font-size:26px}.writing-tutorial ol{gap:14px}.writing-guide-controls{gap:6px}.writing-stroke-buttons button{width:27px;height:27px}}.unit-portal{isolation:isolate;width:238px;margin:38px auto 26px;position:relative}.portal-frame{background:#e5d9bc;border:2px solid #fdf5df;border-radius:98px 98px 8px 8px;padding:10px 10px 0;position:relative;box-shadow:inset 0 3px #fffdf6,0 7px #cdbb96,0 16px 30px #2b23401a}.portal-opening{perspective:850px;background:#c8c9da;border-radius:85px 85px 3px 3px;height:270px;position:relative;overflow:hidden}.portal-world{background:var(--lavtint);transition:transform 1.4s cubic-bezier(.22,.61,.36,1) .25s;position:absolute;inset:0;transform:scale(1.12)}.portal-world img{object-fit:cover;object-position:63% center;width:100%;height:100%}.portal-sunlight{background:linear-gradient(135deg,#fff3c45c,#0000 70%);position:absolute;inset:0}.portal-panel{backface-visibility:hidden;background:linear-gradient(110deg,#40938a,#277d77 65%);border:2px solid #145454;width:50%;transition:transform 1.15s cubic-bezier(.35,0,.18,1) .28s;position:absolute;top:0;bottom:0;box-shadow:inset 3px 2px #ffffff38,inset -3px 0 #14545422}.portal-panel-left{transform-origin:0;border-radius:85px 0 0 3px;left:0}.portal-panel-right{transform-origin:100%;background:linear-gradient(110deg,#318b82,#216f6b);border-radius:0 85px 3px 0;right:0}.portal-window{background:linear-gradient(140deg,#fff6d8,#efe1b6);border:4px solid #e8c983;border-radius:27px 27px 7px 7px;height:62px;position:absolute;top:47px;left:20%;right:20%;box-shadow:inset 0 3px 5px #6d593d19}.portal-window:before{content:"";background:#d7b76e;width:3px;position:absolute;top:0;bottom:0;left:calc(50% - 1px)}.portal-window i{background:#d7b76e;height:3px;position:absolute;top:60%;left:0;right:0}.portal-inset{border:2px solid #ffffff21;border-radius:6px;position:absolute;inset:133px 18% 22px;box-shadow:inset 0 2px #14545440}.portal-pull{background:var(--marigold);border-radius:5px;width:5px;height:21px;position:absolute;top:128px;box-shadow:1px 2px #145454}.portal-panel-left .portal-pull{right:9px}.portal-panel-right .portal-pull{left:9px}.portal-plaque{z-index:4;background:var(--card);box-shadow:var(--shadow-chip);letter-spacing:.12em;white-space:nowrap;border:1px solid #fff;border-radius:999px;align-items:center;gap:9px;padding:7px 15px 7px 8px;font-size:10px;font-weight:700;display:flex;position:absolute;top:-18px;left:50%;transform:translate(-50%)}.portal-plaque span{background:var(--marigold);letter-spacing:0;border-radius:50%;place-items:center;width:23px;height:23px;font-size:9px;display:grid}.portal-lock{z-index:3;background:var(--marigold);border:2px solid #ffe6a1;border-radius:15px;place-items:center;width:42px;height:44px;display:grid;position:absolute;top:115px;left:calc(50% - 21px);box-shadow:0 4px #b98026,0 5px 12px #14545440}.portal-lock svg{width:23px;height:23px;stroke:var(--ink);stroke-width:1.8px;stroke-linecap:round;stroke-linejoin:round}.portal-lock svg rect{fill:#fff6e855}.portal-shackle{transform-origin:8px 10px;transition:transform .25s}.portal-threshold{background:#e5d9bc;border-radius:5px;height:12px;margin:0 -7px;box-shadow:inset 0 2px #fff8e3,0 5px #cdbb96}.portal-ground{z-index:-1;background:#2b23400c;border-radius:50%;height:22px;position:absolute;bottom:-20px;left:-22px;right:-22px}.portal-light{z-index:2;pointer-events:none;opacity:0;background:radial-gradient(at 50% 45%,#fff6d8bb,#0000 75%);position:absolute;inset:0}.portal-speck{color:var(--marigold);opacity:0;pointer-events:none;z-index:5;font-size:22px;position:absolute}.portal-speck-one{top:75px;left:-25px}.portal-speck-two{font-size:30px;top:40px;right:-20px}.portal-speck-three{font-size:17px;bottom:50px;right:-35px}.unit-portal.is-open .portal-panel-left{transform:rotateY(-106deg)}.unit-portal.is-open .portal-panel-right{transform:rotateY(106deg)}.unit-portal.is-open .portal-world{transform:scale(1)}.unit-portal.is-open .portal-shackle{transform:translateY(-3px)rotate(-18deg)}.unit-portal.is-open .portal-lock{animation:.65s cubic-bezier(.4,0,.2,1) forwards portal-lock-release}.unit-portal.is-open .portal-light{animation:1.5s .25s both portal-welcome-light}.unit-portal.is-open .portal-speck{animation:1.2s .4s both portal-sparkle}.unit-portal.is-open .portal-speck-two{animation-delay:.55s}.unit-portal.is-open .portal-speck-three{animation-delay:.7s}@keyframes portal-lock-release{0%,20%{opacity:1;transform:translateY(0)rotate(0)scale(1)}40%{opacity:1;transform:translateY(-7px)rotate(-8deg)scale(1.06)}to{opacity:0;transform:translateY(20px)rotate(12deg)scale(.7)}}@keyframes portal-welcome-light{0%{opacity:0}40%{opacity:.75}to{opacity:0}}@keyframes portal-sparkle{0%{opacity:0;transform:translateY(10px)scale(.4)rotate(-20deg)}40%{opacity:1;transform:translateY(-5px)scale(1)rotate(0)}to{opacity:0;transform:translateY(-24px)scale(.65)rotate(15deg)}}@keyframes portal-success-arrive{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@media (width<=700px){.unit-portal{width:172px;margin-top:30px;margin-bottom:24px}.portal-opening{height:190px}.portal-frame{border-radius:76px 76px 6px 6px;padding:7px 7px 0}.portal-panel-left{border-top-left-radius:70px}.portal-panel-right{border-top-right-radius:70px}.portal-window{border-width:3px;height:43px;top:34px}.portal-inset{top:99px;bottom:15px}.portal-pull{width:4px;height:17px;top:91px}.portal-lock{border-radius:12px;width:34px;height:36px;top:81px;left:calc(50% - 17px)}.portal-lock svg{width:20px;height:20px}.portal-plaque{gap:6px;padding:5px 11px 5px 6px;font-size:9px;top:-15px}.portal-plaque span{width:21px;height:21px}}@media (prefers-reduced-motion:reduce){.portal-panel,.portal-world,.portal-shackle{transition:none}.unit-portal.is-open .portal-lock,.unit-portal.is-open .portal-light,.unit-portal.is-open .portal-speck{opacity:0;animation:none}.door-writing-unlocked .door-success,.trace-letter-heading .is-letter-accepted,.trace-board.is-letter-accepted,.door-code .is-earned,.passcode-sparkles i,.unit-portal.is-final-celebration .portal-frame{animation:none}.trace-letter-heading .is-letter-accepted{text-shadow:0 0 7px #3b9a8f77,0 0 13px #f4b63f77}.trace-board.is-letter-accepted{border-color:#77b7a9;box-shadow:0 0 0 4px #1f7a7a24,0 0 20px #f4b63f35}.door-confetti{display:none}.passcode-sparkles i{opacity:.8}}body.is-map-screen{background:#b6d791;overflow:hidden}body.is-map-screen .map-page{width:100%;max-width:none;height:100%;margin:0;padding:0;position:fixed;inset:0}body.is-map-screen .quest-map{width:100%;height:100%;box-shadow:none;background:#c7dfa5;border-radius:0;position:absolute;inset:0}body.is-map-screen .map-terrain{pointer-events:none;background:0 0}.map-nature{width:100%;height:100%;display:block}body.is-map-screen .map-nav{z-index:10;pointer-events:none;width:100%;max-width:none;margin:0;padding:20px 28px;position:fixed;inset:0 0 auto}.map-nav>a{pointer-events:auto}.map-nav>.brand{background:var(--card);box-shadow:var(--shadow-chip);border-radius:999px;padding:12px 17px 12px 12px}.map-nav>.map-language{background:var(--card);box-shadow:var(--shadow-chip);border-radius:999px;padding:10px 18px}body.is-map-screen .map-progress-note{bottom:max(13px,env(safe-area-inset-bottom));z-index:4;pointer-events:none;background:#fffcf6e8;border-radius:999px;margin:0;padding:6px 12px;font-size:9px;position:absolute;left:22px}body.is-map-screen .map-level-one{bottom:max(45px,calc(env(safe-area-inset-bottom) + 26px));background:var(--card);border:2px solid #fffdf5;box-shadow:inset 0 2px #fff,0 8px #709a722b,0 18px 35px #294e3d1a}body.is-map-screen .map-level-two{top:43%;left:70%}body.is-map-screen .map-level-three{top:20%;left:34%}body.is-map-screen .map-level-two .level-label,body.is-map-screen .map-level-three .level-label{background:#fffcf6ed;border-radius:17px;padding:10px 16px;box-shadow:0 5px 12px #294e3d0a}body.is-map-screen .map-clouds{background:linear-gradient(#fffcf6 0%,#fffcf6f5 24%,#fffcf694 64%,#fffcf600 100%);height:36%;min-height:170px}body.is-map-screen .cloud-caption{top:104px}@media (width<=700px){body.is-map-screen .map-nav{padding:14px}.map-nav>.brand{padding:9px 13px 9px 9px;font-size:22px}.map-nav>.brand .brand-icon{width:29px;height:30px;margin-right:8px;font-size:24px}.map-nav>.map-language{padding:9px 13px;font-size:13px}.map-nav>.map-language>span:first-child{font-size:22px}body.is-map-screen .map-level-one{bottom:max(43px,calc(env(safe-area-inset-bottom) + 24px));max-width:350px}body.is-map-screen .map-level-two{width:190px;top:41%;left:68%}body.is-map-screen .map-level-three{width:175px;top:20%;left:28%}body.is-map-screen .map-level-two .level-label,body.is-map-screen .map-level-three .level-label{padding:9px 12px}body.is-map-screen .map-level-two .level-label strong{font-size:17px}body.is-map-screen .map-progress-note{left:50%;bottom:max(10px,env(safe-area-inset-bottom));white-space:nowrap;padding:5px 10px;font-size:8px;transform:translate(-50%)}body.is-map-screen .cloud-caption{font-size:9px;top:88px}}@media (height<=650px){body.is-map-screen .map-level-two{top:32%}body.is-map-screen .map-level-three{top:13%}body.is-map-screen .map-level-two .level-label{padding:6px 12px}body.is-map-screen .map-level-one{bottom:38px}body.is-map-screen .cloud-caption{display:none}}@media (width<=700px){.nature-stream{transform:translate(440px)}.nature-tree-0{transform:translate(610px,470px)scale(.8)}.nature-tree-1{transform:translate(675px,540px)scale(.6)}.nature-tree-2{transform:translate(590px,610px)scale(.65)}.nature-tree-6{transform:translate(950px,690px)scale(.75)}.nature-tree-7{transform:translate(1000px,750px)scale(.6)}.nature-tree-10{transform:translate(650px,345px)scale(.6)}.nature-tree-11{transform:translate(610px,830px)scale(.65)}.nature-flower-3,.nature-flower-4,.nature-flower-5{transform:translate(-400px)}}.journey-dusk-glow{pointer-events:none;opacity:0;background:radial-gradient(at 50% 43%,#ede6facc 0%,#f5e8ef88 38%,#fff6e800 76%);position:absolute;inset:0}.journey-cream-wash{background:var(--cream);opacity:0;pointer-events:none;position:absolute;inset:0}.adventure-transition .journey-caption{letter-spacing:-.015em;font-weight:600;animation:2.4s cubic-bezier(.4,0,.2,1) both journey-soft-caption}@keyframes journey-soft-caption{0%,8%{opacity:0;transform:translateY(5px)}22%,47%{opacity:1;transform:translateY(0)}65%,to{opacity:0;transform:translateY(-3px)}}.adventure-transition .journey-backdrop{background:radial-gradient(ellipse at 26% 14%,#fffaf1bb 0%,#fffaf100 44%),linear-gradient(180deg,#cde7ee 0%,#e1eff0 48%,var(--cream) 100%)}.journey-sky-clouds{pointer-events:none;position:absolute;inset:0;overflow:hidden}.sky-cloud{background:#fffcf6a6;border-radius:999px;width:170px;height:42px;animation:2.4s ease-in-out both journey-cloud-drift;position:absolute}.sky-cloud:before,.sky-cloud:after{content:"";background:inherit;border-radius:50%;position:absolute;bottom:9px}.sky-cloud:before{width:70px;height:70px;left:24px}.sky-cloud:after{width:92px;height:92px;right:22px}.sky-cloud-one{top:26%;left:12%;transform:scale(.85)}.sky-cloud-two{width:195px;animation-delay:-.2s;top:35%;right:9%}.sky-cloud-three{opacity:.65;animation-delay:-.4s;top:72%;left:24%;transform:scale(.65)}@keyframes journey-cloud-drift{0%{translate:12px}to{translate:-16px -4px}}@media (width<=700px){.sky-cloud-one{top:25%;left:-40px}.sky-cloud-two{top:64%;right:-65px}.sky-cloud-three{display:none}}@media (prefers-reduced-motion:reduce){.sky-cloud{animation:none}}.journey-sound{top:max(20px,env(safe-area-inset-top));right:max(20px,env(safe-area-inset-right));z-index:2;background:var(--card);color:var(--muted);box-shadow:var(--shadow-chip);border:1px solid #fffc;border-radius:999px;padding:9px 15px;font-size:11px;font-weight:700;position:absolute}.journey-sound:disabled{cursor:default;opacity:.7}.adventure-arrival .language-heading{animation:.85s cubic-bezier(.22,.61,.36,1) both auth-story-arrive}.adventure-arrival .language-options{animation:.95s cubic-bezier(.22,.61,.36,1) 50ms both auth-card-arrive}.adventure-arrival .language-action,.adventure-arrival .language-resume{animation:.9s ease-out .15s both auth-detail-arrive}@media (prefers-reduced-motion:reduce){.adventure-arrival .language-heading,.adventure-arrival .language-options,.adventure-arrival .language-action,.adventure-arrival .language-resume{animation:none}}.adventure-transition .journey-caption{animation:none}.auth-character>.auth-open-eyes{opacity:1;transition:opacity .12s}.auth-character>.auth-closed-eyes{opacity:0;pointer-events:none;transition:opacity .12s;position:absolute;inset:0}.auth-character.is-private>.auth-open-eyes{opacity:0}.auth-character.is-private>.auth-closed-eyes{opacity:1}@media (prefers-reduced-motion:reduce){.auth-character>.auth-open-eyes,.auth-character>.auth-closed-eyes{transition:none}}.nature-tree-pop{transform-origin:0 60px}.nature-flower-pop{transform-origin:0 15px}.unit-nav{z-index:10;pointer-events:none;width:100%;max-width:none;margin:0;padding:20px 28px;position:fixed;inset:0 0 auto}.unit-nav>.back-link{background:var(--card);box-shadow:var(--shadow-chip);border-radius:999px;max-width:none;padding:12px 18px}.basic-unit-page{padding-top:110px}body.is-tracing-screen{background:radial-gradient(ellipse at 22% 65%,#ede6fa7a,transparent 55%),var(--cream);overflow:hidden}body.is-tracing-screen .door-page{grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:center;gap:60px;width:min(1100px,100% - 56px);max-width:none;height:calc(100dvh - 114px);margin:0 auto;padding:0;position:fixed;inset:94px 0 20px}body.is-tracing-screen .door-story{text-align:center;min-height:0}body.is-tracing-screen .door-story h1{margin-bottom:16px;font-size:clamp(30px,3.4vw,44px)}body.is-tracing-screen .door-story>p:not(.eyebrow){margin-inline:auto;font-size:12px}body.is-tracing-screen .unit-portal{margin-top:30px;margin-bottom:25px}body.is-tracing-screen .door-writing{box-sizing:border-box;flex-direction:column;height:100%;min-height:0;max-height:740px;padding:22px;display:flex;overflow:hidden}body.is-tracing-screen .door-writing>.eyebrow{flex-shrink:0;margin:0 0 3px;font-size:9px;line-height:1.5}body.is-tracing-screen .door-writing h2{flex-shrink:0;margin:0 0 5px;font-size:23px;line-height:1.3}body.is-tracing-screen .door-writing h2 span{font-size:31px;line-height:1.5}body.is-tracing-screen .trace-instructions{flex-shrink:0;margin:0 0 6px;font-size:11px;line-height:1.5}body.is-tracing-screen .trace-tutorial-open{flex-shrink:0;align-self:flex-start;margin:0 0 8px;padding:0;line-height:1.5}body.is-tracing-screen .trace-board{aspect-ratio:auto;border-radius:17px;flex:auto;width:100%;min-height:0}body.is-tracing-screen .trace-board>canvas,body.is-tracing-screen .trace-board>.writing-guide-overlay{aspect-ratio:280/240;width:auto;max-width:100%;height:100%;inset:0 auto 0 50%;transform:translate(-50%)}body.is-tracing-screen .writing-guide-controls{flex-shrink:0;gap:6px;min-height:29px;margin-top:8px}body.is-tracing-screen .trace-actions{flex-shrink:0;gap:10px;margin-top:10px}body.is-tracing-screen .trace-actions .button{min-height:40px;padding:8px 17px}body.is-tracing-screen .trace-feedback{flex-shrink:0;min-height:33px;margin:10px 0;font-size:11px;line-height:1.5}body.is-tracing-screen .trace-alternative{flex-shrink:0;padding-top:8px;font-size:10px}body.is-tracing-screen .door-success{width:100%;margin:auto;padding:25px 0}:is(body.is-tracing-screen .door-writing:has(.trace-alternative[open]) .trace-board,body.is-tracing-screen .door-writing:has(.trace-alternative[open]) .writing-guide-controls,body.is-tracing-screen .door-writing:has(.trace-alternative[open]) .trace-actions){display:none}body.is-tracing-screen .door-writing:has(.trace-alternative[open]){overflow-y:auto}body.is-tracing-screen .door-writing:has(.trace-alternative[open]) .trace-feedback{order:10}@media (width<=700px){.unit-nav{padding:14px}.unit-nav>.back-link{padding:11px 14px;font-size:11px}.basic-unit-page{padding-top:90px}body.is-tracing-screen .door-page{grid-template-rows:58px minmax(0,1fr);grid-template-columns:1fr;gap:10px;width:calc(100% - 24px);height:calc(100dvh - 90px);inset:78px 0 12px}body.is-tracing-screen .door-story{text-align:left;height:58px;min-height:0;padding:0 0 0 68px;position:relative}body.is-tracing-screen .door-story h1,body.is-tracing-screen .door-story>p:not(.eyebrow){display:none}body.is-tracing-screen .door-story>.eyebrow{margin:0 0 4px;font-size:9px;line-height:1.5}body.is-tracing-screen .door-story .unit-portal{transform-origin:0 0;width:238px;margin:0;position:absolute;top:0;left:3px;transform:scale(.18)}body.is-tracing-screen .door-story .portal-opening{height:270px}body.is-tracing-screen .door-code{justify-content:flex-start;gap:7px}body.is-tracing-screen .door-code>:is(span,button){border-radius:10px;width:32px;height:35px;font-size:22px}body.is-tracing-screen .door-writing{border-radius:23px;max-height:none;padding:16px}body.is-tracing-screen .door-writing h2{font-size:21px;line-height:1.25}body.is-tracing-screen .door-writing h2 span{font-size:28px;line-height:1.4}body.is-tracing-screen .trace-instructions{font-size:10px}body.is-tracing-screen .trace-tutorial-open{margin-bottom:7px;font-size:10px}body.is-tracing-screen .writing-guide-controls{margin-top:6px}body.is-tracing-screen .writing-guide-controls>.text-button{font-size:10px}body.is-tracing-screen .trace-actions{margin-top:7px}body.is-tracing-screen .trace-actions .button{min-height:36px;padding:7px 14px}body.is-tracing-screen .trace-feedback{min-height:30px;margin:7px 0;font-size:10px}}@media (height<=650px) and (width>=701px){body.is-tracing-screen .door-page{gap:35px;height:calc(100dvh - 94px);inset:82px 0 12px}body.is-tracing-screen .door-story h1{margin-bottom:10px;font-size:28px}body.is-tracing-screen .door-story>p:not(.eyebrow){display:none}body.is-tracing-screen .unit-portal{zoom:.72;margin-block:26px 20px}body.is-tracing-screen .door-writing{padding:15px}body.is-tracing-screen .trace-instructions{display:none}body.is-tracing-screen .door-writing h2{font-size:20px}body.is-tracing-screen .trace-feedback{min-height:30px;margin:6px 0;font-size:10px}body.is-tracing-screen .trace-actions{margin-top:7px}}body.is-tracing-screen .trace-board{container-type:size}body.is-tracing-screen .trace-board>canvas,body.is-tracing-screen .trace-board>.writing-guide-overlay{aspect-ratio:280/240;width:min(100%,116.667cqh);height:auto;max-height:100%;top:50%;bottom:auto;left:50%;transform:translate(-50%,-50%)}.trace-letter-heading{flex-shrink:0;justify-content:space-between;align-items:center;gap:12px;display:flex}body.is-tracing-screen .trace-letter-heading h2{margin:0}.letter-speaker{background:var(--lavtint);width:39px;height:39px;color:var(--teal-d);border:1px solid #fffef9;border-radius:50%;flex-shrink:0;place-items:center;display:grid;box-shadow:inset 0 2px #fff,0 3px #d7cde8}.letter-speaker svg{stroke:currentColor;stroke-width:1.8px;stroke-linejoin:round;stroke-linecap:round;width:20px;height:20px}.letter-speaker:hover{background:#ded5f1}.letter-speaker.is-speaking{background:var(--teal);color:#fff;box-shadow:0 3px 0 var(--teal-d)}.letter-speaker.is-speaking .speaker-waves{animation:.8s ease-in-out infinite letter-speaking}.letter-pronunciation{color:var(--muted);flex-wrap:wrap;flex-shrink:0;align-items:baseline;gap:8px;margin:5px 0 9px;font-size:11px;line-height:1.5;display:flex}.letter-pronunciation strong{color:var(--teal-d);font-size:13px;font-weight:700}@keyframes letter-speaking{0%,to{opacity:.5}50%{opacity:1}}@media (width<=700px){.letter-speaker{width:34px;height:34px}.letter-speaker svg{width:18px;height:18px}.letter-pronunciation{gap:6px;margin:4px 0 7px;font-size:10px}.letter-pronunciation strong{font-size:12px}}@media (prefers-reduced-motion:reduce){.letter-speaker.is-speaking .speaker-waves{animation:none}}.trace-tools{flex-shrink:0;justify-content:space-between;align-items:center;gap:12px;margin:0 0 8px;display:flex}body.is-tracing-screen .trace-tools .trace-tutorial-open{margin:0}.demo-trace-skip{background:var(--lavtint);min-height:29px;color:var(--muted);cursor:pointer;border:1px solid #d9cce9;border-radius:999px;justify-content:center;align-items:center;gap:7px;padding:5px 10px;font-size:10px;font-weight:700;display:inline-flex}.demo-trace-skip:hover{color:var(--ink);background:#ded3ef}.writing-tutorial>.demo-trace-skip{width:fit-content;margin:17px auto 0;display:flex}.quest-preview-switch{background:var(--card);gap:6px;padding:12px 16px 0;display:flex}.quest-preview-switch button{background:var(--sunk);color:var(--muted);font:700 12px var(--font-ui);cursor:pointer;border:1px solid #0000;border-radius:999px;flex:1;padding:9px 12px;transition:background .2s,color .2s,box-shadow .2s}.quest-preview-switch button:hover{background:var(--lavtint);color:var(--ink)}.quest-preview-switch button[aria-pressed=true]{background:var(--teal);color:#fff;box-shadow:inset 0 2px 0 #ffffff30,0 2px 0 var(--teal-d)}.quest-preview-switch button:focus-visible{outline:3px solid var(--teal);outline-offset:3px}@media (width<=700px){.quest-preview-switch{padding:10px 12px 0}.quest-preview-switch button{font-size:11px}}.hero-art{padding-bottom:0}.preview-companions{justify-content:space-between;align-items:center;gap:18px;margin-top:38px;padding:0 12px;display:flex}.preview-companions .floating-note{flex:0 auto;position:relative;bottom:auto;left:auto}.preview-companions .traveler{flex:0 0 106px;width:106px;position:static}.hero-art .spark-two{bottom:18px;right:136px}.scene-caption>div{flex:1;min-width:0}.scene-caption small{margin-top:4px;line-height:1.6}@media (width<=700px){.preview-companions{gap:12px;margin-top:30px;padding:0}.preview-companions .traveler{flex-basis:88px;width:88px}.preview-companions .floating-note{padding:12px 14px}.hero-art .spark-two{bottom:0;right:102px}}.door-code button{cursor:pointer;transition:background .18s,border-color .18s,box-shadow .18s}.door-code button:hover{box-shadow:0 0 0 3px #1f7a7a18}.door-code button:focus-visible{outline:3px solid var(--teal);outline-offset:3px}.practice-notebook{border:5px solid #fffaf0;border-left:16px solid var(--teal);background:repeating-linear-gradient(#fffaf0 0 38px,#e2e5d5 38px 40px);border-radius:13px 25px 25px 13px;flex-direction:column;justify-content:center;gap:8px;width:min(80%,270px);height:240px;margin:24px auto 28px;display:flex;position:relative;transform:rotate(-5deg);box-shadow:0 8px #e2ceb0,0 15px 25px #2b234012}.practice-notebook>span{font:700 44px/1.6 var(--font-target);color:var(--teal)}.practice-notebook>i{color:var(--marigold);font-size:42px;font-style:normal;position:absolute;top:-16px;right:-14px}.door-success #practice-again{margin:20px auto 0;display:block}@media (width<=700px){body.is-tracing-screen .door-story{padding-left:0}.practice-notebook{display:none}}@media (height<=700px) and (width>=701px){.practice-notebook{height:150px;margin:16px auto}.practice-notebook>span{font-size:32px}}.writing-set-tabs{gap:6px;max-width:370px;margin:14px auto 18px;display:flex}.writing-set-tabs button{background:var(--card);min-width:0;color:var(--muted);font:700 11px var(--font-ui);cursor:pointer;border:1px solid #d9cebd;border-radius:13px;flex:1;padding:9px 6px}.writing-set-tabs button small{font:600 14px/1.7 var(--font-target);margin-top:3px;display:block}.writing-set-tabs button[aria-pressed=true]{border-color:var(--teal);color:var(--teal-d);background:#deece3;box-shadow:0 2px #b5cbbf}.writing-set-tabs button:hover{border-color:var(--teal)}.writing-set-tabs button:focus-visible{outline:3px solid var(--teal);outline-offset:3px}.letter-speaker:disabled{opacity:.38;cursor:default}.letter-pronunciation small{color:var(--muted);font-size:10px}@media (width<=700px){body.is-tracing-screen .door-page{grid-template-rows:116px minmax(0,1fr)}body.is-tracing-screen .door-story{height:116px}.writing-set-tabs{gap:5px;max-width:none;margin:4px 0 9px}.writing-set-tabs button{padding:4px;font-size:10px}.writing-set-tabs button small{margin:0;font-size:12px}body.is-tracing-screen .door-code>:is(span,button){width:31px;height:29px;font-size:20px}.letter-pronunciation{flex-wrap:wrap}.letter-pronunciation small{font-size:9px}}@media (height<=700px) and (width>=701px){.practice-notebook{height:110px;margin:10px auto}.practice-notebook>span{font-size:27px}.writing-set-tabs{margin:8px auto}}.door-code>.is-earned{transform-origin:50%;box-shadow:none;animation-duration:.6s;transform:none}.door-code>.is-earned .passcode-sparkles{background:0 0;border:0;border-radius:0;width:auto;height:auto;display:block;position:absolute;inset:-10px}.trace-letter-heading .is-letter-accepted{vertical-align:baseline;animation-duration:.6s}.trace-board.is-letter-accepted{animation-duration:.6s}.door-writing-unlocked .door-success{animation:.28s ease-out both practice-success-fade}@keyframes practice-success-fade{0%{opacity:0}to{opacity:1}}@media (prefers-reduced-motion:reduce){.door-writing-unlocked .door-success{animation:none}}.writing-set-tabs button:disabled{opacity:.5;cursor:not-allowed;background:var(--sunk);box-shadow:none;border-color:#d9cebd}.writing-set-tabs button:disabled:hover{border-color:#d9cebd}body.is-tracing-screen .door-story h1{letter-spacing:-1px;margin-bottom:12px;font-size:34px}body.is-tracing-screen .trace-feedback{min-height:20px;margin:8px 0}#practice-info-feedback:empty{display:none}.trace-board>.door-confetti{top:50%;left:50%}.trace-board .door-confetti i{animation-duration:.8s}.trace-effects-toggle{white-space:nowrap;background:var(--card);border:1px solid #d9cebd;border-radius:999px;min-height:28px;padding:5px 8px}.trace-effects-toggle[aria-pressed=false]{color:var(--muted);background:var(--sunk)}.trace-effects-toggle{transition:background .18s,border-color .18s,color .18s}.trace-effects-toggle:hover,.trace-effects-toggle[aria-pressed=false]:hover{color:var(--teal-d);background:#deece3;border-color:#a9c4b7;text-decoration:none}.lesson-settings{pointer-events:auto;color:#2b2340;font:600 14px/1.4 var(--font-ui,system-ui);text-align:left;letter-spacing:normal;position:relative}.lesson-settings>summary{cursor:pointer;white-space:nowrap;background:#fffaf0;border:1px solid #e6dcc6;border-radius:24px;justify-content:center;align-items:center;gap:8px;min-height:42px;padding:10px 16px;list-style:none;display:flex;box-shadow:0 3px #e3d2b866}.lesson-settings>summary::-webkit-details-marker{display:none}.lesson-settings>summary:focus-visible{outline-offset:4px;outline:3px solid #1f7a7a}.lesson-settings[open]>summary{background:#e0eee7}.lesson-settings .lesson-settings-panel{background:#fffaf0;border:1px solid #e6dcc6;border-radius:20px;width:300px;max-width:calc(100vw - 24px);max-height:calc(100dvh - 100px);padding:16px;position:absolute;top:calc(100% + 12px);right:0;overflow:auto;box-shadow:0 14px 40px #2b234030}.lesson-settings-panel>p{font:700 11px/1.4 var(--font-ui,system-ui);letter-spacing:.1em;text-transform:uppercase;color:#7a6f86;margin:0 0 12px}.lesson-settings .lesson-settings-row{font:600 13px/1.4 var(--font-ui,system-ui);border-top:1px solid #e6dcc6;justify-content:space-between;align-items:center;gap:16px;padding:10px 0;display:flex}.lesson-settings .lesson-settings-row>button{color:#195e5e;width:auto;min-width:48px;max-width:145px;height:auto;min-height:36px;font:700 12px/1.4 var(--font-ui,system-ui);box-shadow:none;background:#e0eee7;border:0;border-radius:18px;flex-shrink:0;justify-content:center;align-items:center;margin:0;padding:7px 12px;display:inline-flex;position:static;transform:none}.arrival-header,.masthead{z-index:30}.unit-nav{z-index:30;position:relative}.unit-nav>.lesson-settings{margin-left:12px}@media (width<=560px){.lesson-settings>summary{min-height:38px;padding:8px 12px;font-size:12px}.lesson-settings .lesson-settings-panel{position:fixed;top:76px;right:12px}.arrival-header-actions,.header-actions{gap:0}}.lesson-settings .lesson-settings-switch{font-size:0!important}.lesson-settings .lesson-settings-switch[aria-pressed=true]:after{content:"On";font-size:12px}.lesson-settings .lesson-settings-switch[aria-pressed=false]:after{content:"Off";font-size:12px}.lesson-settings .lesson-settings-switch[aria-pressed=false]{color:#655b73;background:#eee5d5}.lesson-settings>summary{width:42px;height:42px;padding:0;font-size:22px}.arrival-header-actions,.header-actions{gap:10px}.lesson-settings[open] .lesson-settings-panel{transform-origin:100% 0;animation:.18s ease-out both lesson-settings-open}@keyframes lesson-settings-open{0%{opacity:0;transform:translateY(-6px)scale(.97)}to{opacity:1;transform:translateY(0)scale(1)}}@media (prefers-reduced-motion:reduce){.lesson-settings[open] .lesson-settings-panel{animation:none}}body.is-journey-screen{background:#c7dfa5;overflow:hidden}body.is-journey-screen .map-page{width:100%;max-width:none;height:100dvh;margin:0;padding:0;position:fixed;inset:0}body.is-journey-screen .journey-nav{z-index:10;pointer-events:none;width:100%;max-width:none;padding:18px 25px;position:fixed;inset:0 0 auto}.journey-nav>a{pointer-events:auto}.journey-nav .map-language{gap:11px}.journey-nav .journey-language-names{flex-direction:column;gap:1px;line-height:1.3;display:flex}.journey-language-names strong{font-family:var(--font-target);font-size:17px;font-weight:700;line-height:1.5}.journey-language-names small{font-family:var(--font-ui);color:var(--muted);font-size:10px;font-weight:600}.journey-nav .journey-change-language{color:var(--muted);margin-left:8px;font-size:10px}body.is-journey-screen .quest-map.journey-map{width:100%;height:auto;box-shadow:none;background:0 0;border-radius:0;position:absolute;inset:100px 0 158px;overflow:visible}.journey-map .map-terrain{z-index:0;pointer-events:none;position:fixed;inset:0}.journey-map .map-trail{z-index:1}.journey-map .map-level{z-index:2;text-align:left;flex-direction:row;align-items:center;gap:15px;width:280px;display:flex;transform:translate(-50%,-50%)}.journey-map .level-node{border-radius:24px;flex-shrink:0;width:66px;height:66px;font-size:24px}.journey-map .level-label{background:#fffcf6ed;border-radius:17px;max-width:202px;margin:0;padding:11px 15px;box-shadow:inset 0 2px #fffc,0 5px 16px #294e3d0c}.journey-map .level-label strong{margin:4px 0 0;font-size:17px;line-height:1.3}.journey-map .level-label small{letter-spacing:.07em;font-size:8px;line-height:1.5}.journey-map .level-label p{display:none}.journey-map .level-node.locked{box-shadow:inset 0 3px #ffffff40,0 6px #959a88}.journey-map .is-current-quest .level-node{box-shadow:inset 0 3px 0 #ffffff40,0 6px 0 var(--teal-d),0 0 0 6px #f4b63f2e;border-color:#fff3be}.journey-current-quest{left:50%;bottom:max(37px,calc(env(safe-area-inset-bottom) + 25px));z-index:5;background:var(--card);border:2px solid #fffefa;border-radius:25px;justify-content:space-between;align-items:center;gap:25px;width:min(510px,100% - 40px);padding:18px 23px;display:flex;position:absolute;transform:translate(-50%);box-shadow:inset 0 2px #fff,0 6px #709a7224,0 15px 30px #294e3d1c}.journey-current-copy{min-width:0}.journey-current-copy>small{letter-spacing:.08em;color:var(--muted);font-size:8px;font-weight:700;display:block}.journey-current-copy>strong{margin:4px 0 6px;font-size:21px;line-height:1.3;display:block}.journey-basic-link{color:var(--teal-d);text-underline-offset:3px;font-size:10px;font-weight:700;text-decoration:underline;display:inline}.journey-current-quest>.button{white-space:nowrap;flex-shrink:0;gap:16px;min-height:44px;padding:11px 19px;font-size:12px}body.is-journey-screen .map-progress-note{bottom:max(8px,env(safe-area-inset-bottom));z-index:5;white-space:nowrap;pointer-events:none;background:#fffcf6c9;border-radius:999px;margin:0;padding:4px 10px;font-size:9px;position:absolute;left:50%;transform:translate(-50%)}@media (width<=700px){body.is-journey-screen .journey-nav{padding:13px}.journey-nav .map-language{gap:8px;padding:8px 12px}.journey-language-names strong{font-size:15px}.journey-language-names small{font-size:9px}body.is-journey-screen .quest-map.journey-map{inset:92px 0 153px}.journey-map .map-level{gap:10px;width:222px}.journey-map .journey-level-1,.journey-map .journey-level-3{left:32%!important}.journey-map .journey-level-2,.journey-map .journey-level-4{left:68%!important}.journey-map .level-node{border-radius:19px;width:52px;height:52px;font-size:20px}.journey-map .level-label{border-radius:14px;max-width:155px;padding:9px 11px}.journey-map .level-label strong{font-size:14px;line-height:1.35}.journey-map .level-label small{letter-spacing:.02em;font-size:7px}.journey-current-quest{width:calc(100% - 26px);bottom:max(35px,calc(env(safe-area-inset-bottom) + 22px));gap:12px;padding:15px 17px}.journey-current-copy>small{font-size:7px}.journey-current-copy>strong{max-width:185px;font-size:17px}.journey-basic-link{font-size:9px}.journey-current-quest>.button{gap:9px;min-height:40px;padding:10px 13px;font-size:11px}body.is-journey-screen .map-progress-note{text-overflow:ellipsis;max-width:calc(100% - 16px);font-size:7px;overflow:hidden}}@media (width<=380px){.journey-map .map-level{gap:8px;width:200px}.journey-map .level-label{max-width:140px}.journey-current-quest{gap:9px;padding:12px}.journey-current-copy>strong{font-size:15px}.journey-current-quest>.button{gap:6px;padding:9px 11px;font-size:10px}}@media (height<=560px) and (width>=701px){body.is-journey-screen .quest-map.journey-map{inset:88px 0 133px}.journey-map .level-node{border-radius:18px;width:48px;height:48px;font-size:18px}.journey-map .level-label{padding:7px 12px}.journey-map .level-label strong{font-size:14px}.journey-current-quest{padding:12px 18px}.journey-current-copy>strong{font-size:18px}}.journey-nav>.map-music{pointer-events:auto;background:var(--card);min-height:41px;color:var(--muted);box-shadow:var(--shadow-chip);cursor:pointer;border:1px solid #fffd;border-radius:999px;align-items:center;gap:8px;padding:10px 15px;font-size:11px;font-weight:700;display:flex;position:absolute;top:25px;left:50%;transform:translate(-50%)}.map-music svg{stroke:currentColor;stroke-width:1.8px;stroke-linecap:round;stroke-linejoin:round;width:18px;height:18px}.journey-nav>.map-music.is-playing{color:var(--teal-d);background:#edf4e8}.journey-nav>.map-music:hover{background:var(--lavtint)}@media (width<=700px){.journey-nav>.map-music{justify-content:center;width:36px;height:36px;min-height:0;padding:8px;top:22px}.map-music-label{display:none}}@media (width<=380px){.journey-nav>.brand{padding:8px 10px 8px 8px;font-size:19px}.journey-nav>.brand .brand-icon{width:25px;height:27px;margin-right:6px;font-size:22px}.journey-nav>.map-music{width:32px;height:32px;padding:6px;top:21px}}.nature-tree-wind{transform-origin:0 60px;animation:map-tree-breeze var(--wind-duration,8s) ease-in-out var(--wind-delay,0s) infinite}.nature-flower-wind{transform-origin:0 15px;animation:map-flower-breeze var(--wind-duration,6s) ease-in-out var(--wind-delay,0s) infinite}.nature-ripples{animation:4.5s ease-in-out infinite map-ripple-drift}.nature-river-current{animation:11s linear infinite map-river-flow}.nature-river-current-soft{animation-duration:15s;animation-delay:-6s}@keyframes map-tree-breeze{0%,to{transform:rotate(-2.7deg)skew(-.5deg)}40%{transform:rotate(3.8deg)skew(.8deg)}72%{transform:rotate(.6deg)skew(0)}}@keyframes map-flower-breeze{0%,to{transform:rotate(-8deg)}42%{transform:rotate(12deg)}75%{transform:rotate(1deg)}}@keyframes map-ripple-drift{0%,to{opacity:.5;transform:translate(0)}50%{opacity:1;transform:translate(7px,8px)}}@keyframes map-river-flow{0%{stroke-dashoffset:0}to{stroke-dashoffset:-502px}}.journey-map.is-nature-paused .nature-tree-wind,.journey-map.is-nature-paused .nature-flower-wind,.journey-map.is-nature-paused .nature-ripples,.journey-map.is-nature-paused .nature-river-current{animation-play-state:paused}@media (prefers-reduced-motion:reduce){.nature-tree-wind,.nature-flower-wind,.nature-ripples,.nature-river-current{animation:none;transform:none}}.journey-map .level-node.playable{transition:transform .26s cubic-bezier(.22,.61,.36,1),box-shadow .26s}.journey-map .level-node.playable:hover{transform:rotate(-3deg)translateY(-3px)}.journey-map .level-node.playable:active,.journey-map .level-node.playable.is-lesson-pressed{box-shadow:inset 0 2px 0 #ffffff40,0 2px 0 var(--teal-d),0 5px 10px #14545418;transform:rotate(-3deg)translateY(3px)scale(.97)}.journey-current-quest a.button.primary{transition:transform .24s cubic-bezier(.22,.61,.36,1),box-shadow .24s}.journey-current-quest a.button.primary:active,.journey-current-quest a.button.primary.is-lesson-pressed{transform:translateY(3px)scale(.98)}@media (prefers-reduced-motion:reduce){.journey-map .level-node.playable,.journey-current-quest a.button.primary{transition:none}.journey-map .level-node.playable:hover,.journey-map .level-node.playable:active,.journey-map .level-node.playable.is-lesson-pressed{transform:rotate(-7deg)}.journey-current-quest a.button.primary:active,.journey-current-quest a.button.primary.is-lesson-pressed{transform:none}}.journey-map .level-node{width:58px;height:58px}.door-success-actions{flex-direction:column;align-items:center;gap:14px;margin-top:6px;display:flex}@media (width<=700px){.journey-map .journey-level-5{left:32%!important}.journey-map .journey-level-6{left:68%!important}.journey-map .level-node{width:46px;height:46px}}.language-mode-layout{grid-template-columns:minmax(0,1fr) 325px;align-items:start;gap:28px;display:grid}.language-mode-layout .language-options{grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.language-mode-layout .language-card{border-radius:23px;height:184px;padding:17px 9px}.language-mode-layout .language-flag{margin-bottom:7px;font-size:36px}.language-mode-layout .language-native{font-size:21px}.language-mode-layout .language-english{text-align:center;font-size:10px}.language-mode-layout .language-badge{padding:3px 8px;font-size:8px}.play-mode-panel{background:var(--card);box-shadow:var(--shadow-card);border:1px solid #fffefa;border-radius:28px;min-height:382px;padding:25px 22px;position:sticky;top:25px}.mode-language{border-bottom:1px solid #e9dfce;align-items:center;gap:11px;margin-bottom:19px;padding-bottom:18px;display:flex}#mode-flag{font-family:Apple Color Emoji,Segoe UI Emoji,sans-serif;font-size:32px;line-height:1}#mode-native{font-family:var(--font-target);font-size:21px;font-weight:700;line-height:1.6;display:block}#mode-english{color:var(--muted);font-size:10px;display:block}.language-modes>.eyebrow{letter-spacing:.12em;margin-bottom:6px;font-size:8px}.language-modes>h2{letter-spacing:-.9px;margin-bottom:21px;font-size:24px;line-height:1.3}.play-mode-choice{text-align:left;width:100%;color:var(--ink);font:inherit;border:2px solid #0000;border-radius:20px;align-items:flex-start;gap:12px;margin-bottom:13px;padding:17px 14px;transition:transform .16s,border-color .16s,background .16s;display:flex;position:relative}.single-player-choice{background:#e5f0e6;border-color:#b9d9c5;box-shadow:inset 0 2px #ffffffd9,0 4px #cbdfcd}.single-player-choice:not(:disabled):hover{border-color:var(--teal);background:#dcece0;transform:translateY(-2px)}.single-player-choice:not(:disabled):active{box-shadow:none;transform:translateY(2px)}.play-mode-icon{background:var(--teal);color:#fff;border-radius:12px;flex-shrink:0;place-items:center;width:36px;height:38px;display:grid;box-shadow:inset 0 2px #fff3}.play-mode-icon svg{stroke:currentColor;stroke-width:1.8px;stroke-linecap:round;stroke-linejoin:round;width:25px;height:25px}.play-mode-copy{min-width:0;display:block}.play-mode-copy>strong{margin-bottom:5px;font-size:15px;line-height:1.5;display:block}.play-mode-copy>span:not(.mode-cta):not(.mode-soon){color:var(--muted);font-size:10px;line-height:1.7;display:block}.play-mode-copy>.mode-cta{color:var(--teal-d);margin-top:13px;font-size:11px;font-weight:700;line-height:1.5;display:block}.mode-cta>span{margin-left:5px}.multiplayer-choice{background:var(--lavtint);cursor:default;border-color:#dfd5f0}.multiplayer-choice .play-mode-icon{color:var(--muted);background:#d4c9e8;box-shadow:inset 0 2px #ffffff60}.mode-soon{background:var(--card);color:var(--muted);border-radius:999px;margin-top:11px;padding:4px 9px;font-size:8px;font-weight:700;line-height:1.5;display:inline-block!important}.mode-lock{color:var(--muted);position:absolute;top:15px;right:12px}.mode-lock svg{stroke:currentColor;stroke-width:1.5px;stroke-linejoin:round;stroke-linecap:round;width:15px;height:15px}.play-mode-choice:disabled{cursor:default;transform:none}.single-player-choice:disabled{box-shadow:none;background:#f0ebdf;border-color:#e3dbce}.single-player-choice:disabled .play-mode-icon{color:var(--ink);background:#c4c0b1}.single-player-choice:disabled .mode-cta{color:var(--muted)}.mode-selection-note{color:var(--muted);margin:18px 0 0;font-size:10px;line-height:1.7}.language-mode-page{max-width:1020px}.language-mode-layout{display:block}.language-mode-layout .language-options{gap:18px}html.language-selection-screen{scrollbar-gutter:stable}body.play-mode-open{top:var(--play-mode-scroll-top,0px);position:fixed;left:0;right:0;overflow:hidden}.play-mode-dialog{background:var(--card);width:min(420px,100% - 32px);max-width:420px;height:max-content;min-height:0;max-height:calc(100dvh - 40px);color:var(--ink);overscroll-behavior:contain;border:1px solid #fffefa;border-radius:28px;margin:auto;padding:28px;position:fixed;inset:0;overflow:auto;box-shadow:inset 0 2px #fff,0 24px 65px #2b234033}.play-mode-dialog:not([open]){display:none}.play-mode-dialog::backdrop{-webkit-backdrop-filter:blur(7px);background:#2b234047;animation:.24s ease-out both play-mode-backdrop-in}.mode-close{background:var(--sunk);width:32px;height:32px;color:var(--muted);cursor:pointer;border:0;border-radius:50%;place-items:center;display:grid;position:absolute;top:17px;right:17px}.mode-close:hover{background:var(--lavtint);color:var(--ink)}.mode-close svg{stroke:currentColor;stroke-width:1.8px;stroke-linecap:round;width:16px;height:16px}.play-mode-dialog .mode-language{padding-right:35px}.play-mode-dialog .language-modes{display:block}.play-mode-dialog .play-mode-choice{gap:14px;padding:19px 16px}.play-mode-dialog .play-mode-copy>strong{font-size:17px}.play-mode-dialog .play-mode-copy>span:not(.mode-cta):not(.mode-soon){font-size:11px}@keyframes play-mode-backdrop-in{0%{-webkit-backdrop-filter:blur();background:#2b234000}to{-webkit-backdrop-filter:blur(7px);background:#2b234047}}@media (width<=700px){.language-mode-layout .language-options{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.language-mode-layout .language-card{height:177px}.play-mode-dialog{padding:25px 21px}.play-mode-dialog .play-mode-choice{padding:17px 14px}.language-mode-layout .language-native{font-size:22px}}@media (prefers-reduced-motion:reduce){.play-mode-choice{transition:none}.play-mode-dialog::backdrop{animation:none}}.mode-letter-particles{pointer-events:none;-webkit-user-select:none;user-select:none;background:0 0;border:0;width:100vw;max-width:none;height:100dvh;max-height:none;margin:0;padding:0;position:fixed;inset:0;overflow:hidden}.mode-letter-particles::backdrop{display:none}.mode-letter{background:var(--card);min-width:27px;min-height:30px;color:var(--teal-d);font-family:var(--font-target);pointer-events:none;will-change:transform,opacity;border:1px solid #ffffffd9;border-radius:12px;place-items:center;padding:2px 5px;font-weight:700;line-height:1.6;display:grid;position:absolute;box-shadow:inset 0 2px #ffffffd9,0 4px #2b23400a,0 8px 20px #2b234012}.mode-letter-1{background:var(--lavtint);color:var(--ink)}.mode-letter-2{color:var(--ink);background:#ffe7b4}.mode-letter-3{background:#d6e8de}@media (width<=600px){.mode-letter{border-radius:8px;min-width:23px;min-height:26px;padding:1px 4px}}@media (prefers-reduced-motion:reduce){.mode-letter-particles{display:none}}.language-mode-layout .language-option:hover .language-card,.language-mode-layout .language-option:active .language-card{transform:none}.language-mode-layout .language-card{transition:background-color .2s,border-color .2s,box-shadow .2s}@media (hover:hover){.language-mode-layout .language-option:hover .language-card{background:#e9f2e8;border-color:#73a89b;transform:none;box-shadow:inset 0 2px #fff,0 0 0 3px #1f7a7a12,0 12px 24px #1454541c}.language-mode-layout .language-option:hover .language-native{color:var(--teal-d)}.language-mode-layout .language-option input:checked:hover+.language-card{border-color:var(--teal);background:#dcecdf}}.language-mode-layout .language-option:active .language-card{border-color:var(--teal);background:#dcecdf;transform:none}@media (prefers-reduced-motion:reduce){.language-mode-layout .language-card{transition:none}}
