:root{--ink:#16484b;--teal:#087c83;--cream:#fff9e8;--yellow:#ffd250}*{box-sizing:border-box}[hidden]{display:none!important}body{margin:0;color:var(--ink);font:16px/1.5 'Arial Rounded MT Bold',Arial,sans-serif;background:#e9f8f5;min-height:100vh;overflow-x:hidden}body:before{content:'';position:fixed;z-index:-2;inset:0;background:linear-gradient(#d7f3f5 0%,#f1fbef 80%)}button,input{font:inherit}button{cursor:pointer}button:focus-visible,a:focus-visible,input:focus-visible,.map-scroll:focus-visible{outline:3px solid #005b91;outline-offset:5px}header{max-width:1240px;margin:auto;display:flex;align-items:center;gap:20px;padding:24px 32px;position:relative;z-index:1}header img{width:155px;height:auto}header>span{font-weight:bold;border-left:1px solid #a4c9c7;padding-left:20px}header button{margin-left:auto;background:#ffffffb0;border:1px solid #b3d9d1;border-radius:20px;padding:8px 18px;color:var(--ink)}main{max-width:1180px;margin:auto;padding:35px 32px 20px}h1{font-size:clamp(34px,4vw,54px);line-height:1.12;letter-spacing:-1.8px;margin:16px 0}h2{line-height:1.2;font-size:28px;margin:14px 0}p{color:#527475}.eyebrow{font-size:12px;letter-spacing:2px;font-weight:bold;color:#187d7c}.signin{display:grid;grid-template-columns:1.2fr 1fr;gap:85px;align-items:center}.intro>p{max-width:420px;font-size:18px}.login-card{background:var(--cream);border:3px solid white;border-radius:30px;padding:36px;box-shadow:0 12px 0 #b5ded5,0 20px 45px #287b7320}.badge{display:inline-block;background:#fff0b9;color:#816313;border-radius:10px;padding:7px 12px;font-size:11px;font-weight:bold;letter-spacing:1.5px}.login-card h2{font-size:32px;margin-top:24px}.login-card label{display:block;font-weight:bold;margin:24px 0 9px}.login-card input{width:100%;background:white;border:2px solid #c8dfd7;border-radius:13px;padding:15px 16px;color:var(--ink)}.primary{display:flex;justify-content:center;gap:20px;width:100%;border:0;border-bottom:5px solid #d49e1c;border-radius:14px;background:var(--yellow);padding:15px 24px;color:#4c420e;font-weight:bold;margin-top:18px}.primary:hover{background:#ffdd75}.help{display:flex;align-items:center;gap:14px;border-top:1px solid #dfe6d6;margin-top:23px;padding-top:16px;font-size:14px}.help>span{width:34px;height:34px;border:2px solid #9cc9bc;border-radius:50%;display:grid;place-items:center;font-weight:bold;flex:none}.help p{margin:0}.preview{background:none;border:0;color:var(--teal);font-weight:bold;padding:18px 0 10px;text-align:left}.demo-note{display:block;color:#71807b;font-size:11px}.mascot-scene{position:relative;height:270px;max-width:410px}.mascot-scene img{height:240px;position:absolute;left:40px;bottom:0;object-fit:contain;filter:drop-shadow(0 12px 0 #75bcb432)}.sun{position:absolute;left:40px;bottom:0;background:#c5e8ba;width:270px;height:190px;border-radius:50%}.bubble{position:absolute;top:25px;right:0;background:white;padding:12px 20px;border-radius:20px 20px 20px 0;transform:rotate(5deg);font-weight:bold}.cloud{position:fixed;z-index:-1;background:#ffffffb0;width:210px;height:58px;border-radius:100px}.cloud:before,.cloud:after{content:'';position:absolute;background:inherit;border-radius:100%;width:90px;height:90px;bottom:0;left:30px}.cloud:after{left:105px;width:70px;height:70px}.cloud-one{top:130px;right:-60px}.cloud-two{top:72%;left:-90px}.page-title{text-align:center;margin:20px 0 38px}.page-title h1{font-size:42px}.year-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:26px}.year-card{text-align:left;padding:0;overflow:hidden;background:var(--cream);border:3px solid white;border-radius:25px;color:var(--ink);box-shadow:0 9px 0 #afd7cc;transition:transform .15s}.year-card:hover{transform:translateY(-5px)}.card-scene{height:190px;position:relative;overflow:hidden;background:#b9e9e0}.year-two .card-scene{background:#d0e9fa}.year-three .card-scene{background:#eadcf7}.hill{position:absolute;border-radius:50% 50% 0 0;width:340px;height:180px;bottom:-100px;transform:rotate(-12deg)}.hill-a{background:#60bdae;left:-110px;bottom:-70px}.hill-b{background:#95d59a;right:-110px}.year-two .hill-a{background:#79b6d6}.year-two .hill-b{background:#adcfdc}.year-three .hill-a{background:#b092d0}.year-three .hill-b{background:#d1b5dc}.scene-sun{position:absolute;right:35px;top:28px;width:53px;height:53px;border-radius:50%;background:#ffdb7a;box-shadow:0 0 0 9px #ffffff40}.scene-symbol{position:absolute;font-size:90px;left:35px;top:30px;color:#fff7d1;text-shadow:0 5px 0 #39877d30}.year-copy{padding:25px}.year-kicker{font-size:10px;letter-spacing:1.5px;color:#688d84;font-weight:bold}.year-copy h2{font-size:38px;margin:9px 0}.year-copy p{font-size:15px}.card-cta{display:flex;justify-content:space-between;align-items:center;border-top:1px solid #dfebda;padding-top:17px;font-size:14px;font-weight:bold;color:#147e77}.preview-notice{text-align:center;font-size:12px;margin-top:28px}.back{border:0;background:none;color:var(--teal);padding:0;font-weight:bold}.map-heading{display:flex;justify-content:space-between;align-items:center;margin-top:24px;gap:20px}.map-heading h1{font-size:42px}.star-pill{background:#fff4c9;border:2px solid white;border-radius:22px;padding:10px 18px;color:#b57b11;font-size:24px;white-space:nowrap}.star-pill span{font-size:13px;font-weight:bold;vertical-align:middle;color:#756126}.scroll-hint{font-size:13px;margin-top:25px}.map-scroll{overflow-x:auto;border:4px solid white;border-radius:25px;background:#c9eceb;box-shadow:0 9px 0 #afd7cc;scrollbar-color:#58a99d #e2f5e9;scrollbar-width:thin}.world{width:1900px;height:470px;position:relative;background:linear-gradient(#c5eded 0%,#e3f3d4 55%,#b5dca3 55%,#9dd38f 100%);overflow:hidden}.mountain{position:absolute;background:#b4d7c1;width:500px;height:300px;clip-path:polygon(0 100%,45% 0,100% 100%);top:-70px}.mountain-one{left:300px}.mountain-two{left:1100px;background:#b4d7ca;width:650px}.road{position:absolute;inset:0;width:1900px;height:430px;overflow:visible}.road path{stroke:#fff5d2;stroke-width:28;fill:none;stroke-linecap:round;filter:drop-shadow(0 5px 0 #83ba83)}.checkpoint{position:absolute;transform:translate(-50%,-50%);border:0;background:none;display:flex;flex-direction:column;align-items:center;width:120px;color:#275c4b}.node-icon{height:65px;width:65px;border-radius:50%;display:grid;place-items:center;background:#e9f1d8;border:5px solid white;box-shadow:0 6px 0 #7eab70;font-size:28px;font-weight:bold}.node-icon svg{width:22px;height:25px;stroke:#7c9a75;fill:none;stroke-width:2;stroke-linejoin:round}.ready .node-icon{background:var(--yellow);border-color:#fff8d4;box-shadow:0 6px 0 #c59116;color:#66500f}.checkpoint strong{margin-top:11px;background:#ffffffc4;padding:3px 11px;border-radius:12px;font-size:14px}.node-stars{color:#5c805a;letter-spacing:3px;font-size:20px}.boss-node .node-icon{background:#8d65af;border-radius:18px;color:white;box-shadow:0 6px 0 #644782}.stage{position:absolute;bottom:18px;color:#306449;font-size:14px;letter-spacing:1px;font-weight:bold;text-align:center}.stage span{display:block;font-size:11px;letter-spacing:0;font-weight:normal}.foundation{left:170px}.developing{left:740px}.advanced{left:1310px}.boss-stage{left:1785px}.map-bottom{display:flex;align-items:center;gap:16px;justify-content:center;margin-top:25px}.map-bottom img{width:70px;height:70px;object-fit:contain}.map-bottom p{font-size:14px}.map-bottom strong{color:var(--ink)}footer{text-align:center;padding:25px;font-size:12px;color:#6d8981}dialog{max-width:430px;width:calc(100% - 32px);border:3px solid white;border-radius:25px;background:var(--cream);padding:35px;color:var(--ink);box-shadow:0 12px 35px #174a4a40}dialog::backdrop{background:#16484b70}.close{position:absolute;right:15px;top:8px;border:0;background:none;font-size:28px;color:var(--ink)}#login-message{font-size:13px}#login-message:empty{display:none}@media(max-width:760px){header{padding:20px;gap:12px}header img{width:125px}header>span{font-size:12px;padding-left:12px}main{padding:18px 20px}.signin{grid-template-columns:1fr;gap:20px}.intro h1{font-size:36px}.intro>p{font-size:16px}.mascot-scene{height:145px}.mascot-scene img{height:150px;left:25px}.sun{height:100px;width:190px;left:5px}.bubble{right:40px;top:10px;font-size:13px}.login-card{padding:26px}.year-grid{grid-template-columns:1fr;gap:23px}.year-card{display:grid;grid-template-columns:115px 1fr;border-radius:20px}.card-scene{height:100%;min-height:180px}.year-copy{padding:18px}.year-copy h2{font-size:30px}.scene-symbol{font-size:60px;left:20px;top:55px}.scene-sun{width:32px;height:32px;right:15px;top:20px}.page-title h1,.map-heading h1{font-size:32px}.map-heading{align-items:flex-start;flex-direction:column;gap:0}.map-heading p{margin-bottom:12px}.star-pill{font-size:18px;padding:7px 14px}.world{height:470px}.page-title{margin-top:5px}.map-bottom{justify-content:flex-start}.map-scroll{margin-left:-5px;margin-right:-5px}footer{font-size:11px}}@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}
/* Illustrated adventure world: shared artwork, no animation runtime. */
:root{--ink:#253e52;--cream:#fffbed;--yellow:#ffcd38;--teal:#186b88}body:before{background:linear-gradient(180deg,#dff6ff22,#eaf8d945),url('assets/adventure-world.webp') center center/cover no-repeat}.cloud{display:none}header{max-width:1260px;margin:18px auto 0;padding:15px 24px;background:#fffef2ed;border:2px solid #fff;border-radius:22px;box-shadow:0 5px 0 #526b5420;backdrop-filter:blur(8px)}header>span{border-color:#dfd6b0}main{padding-top:30px;min-height:calc(100vh - 160px)}.signin{gap:60px;min-height:640px}.intro{position:relative}.intro>.eyebrow,.intro>h1,.intro>p{position:relative;z-index:1}.intro>.eyebrow{background:#fff8db;padding:8px 14px;border-radius:30px;letter-spacing:1px;box-shadow:0 3px 0 #ceb97c55}.intro h1{color:#234868;text-shadow:0 2px 0 white,0 0 22px #ffffff;max-width:570px;font-size:clamp(36px,4.2vw,56px)}.intro>p{color:#294955;background:#fffff1df;border-radius:16px;padding:12px 18px;max-width:450px;font-size:16px}.mascot-scene{height:320px;max-width:480px}.mascot-scene img{height:325px;width:325px;left:35px;filter:drop-shadow(0 15px 12px #24471530)}.sun{display:none}.bubble{top:58px;right:0;color:#805715;background:#fff7d5;border:3px solid white;box-shadow:0 5px 0 #d7b365;border-radius:22px 22px 22px 4px}.login-card{background:linear-gradient(145deg,#fffef4,#fff4d8);border:4px solid #fffdf0;box-shadow:0 8px 0 #b58138,0 13px 0 #fff3c575,0 20px 45px #27493535;position:relative}.badge{background:#f8df8f;color:#72501e;border:1px solid #e9c461}.login-card input{border-color:#deca92;box-shadow:inset 0 3px 6px #a78b4e12}.primary{background:linear-gradient(#ffe16a,#ffc834);border:2px solid #fff0a0;border-bottom:5px solid #c48b22;box-shadow:0 4px 0 #e5c47855;color:#654714}.help{border-color:#e8dcb9}.help>span{border-color:#d5b56e;color:#9b7429}.page-title{background:#fffdf1ed;border:3px solid white;border-radius:28px;max-width:720px;margin:0 auto 35px;padding:21px 24px;box-shadow:0 6px 0 #aa976f44}.page-title h1{font-size:40px;margin:12px 0}.page-title p{margin-bottom:0}.year-grid{gap:28px}.year-card{border:4px solid #fff9dc;border-radius:27px;box-shadow:0 8px 0 #aa7a3b,0 15px 24px #344c382f;background:linear-gradient(#fffef3,#fff4d8)}.card-scene{height:205px;background-image:url('assets/adventure-world.webp')!important;background-size:auto 340px;background-position:4% 20%;border-bottom:4px solid #ebc16d}.year-two .card-scene{background-position:52% 20%}.year-three .card-scene{background-position:98% 25%}.hill,.scene-sun{display:none}.scene-symbol{left:22px;top:auto;bottom:14px;font-size:34px;width:62px;height:62px;display:grid;place-items:center;background:linear-gradient(#ffe881,#ffc438);color:#8e641a;border:4px solid #fff6cc;border-radius:18px;box-shadow:0 5px 0 #b88428;text-shadow:none}.year-copy{padding:25px}.year-kicker{color:#a07430}.year-copy h2{color:#31516a}.card-cta{border-color:#e9d9ad;color:#7b5a25}.card-cta b{width:31px;height:31px;display:grid;place-items:center;background:#ffd852;border-radius:50%;color:#725017}.preview-notice{display:table;margin:28px auto 0;background:#fffef2ec;border-radius:20px;padding:8px 16px;color:#596858}.back{background:#fffbed;border:2px solid white;border-radius:15px;padding:9px 16px;box-shadow:0 3px 0 #a98d5466}.map-heading{background:#fffdf0ed;padding:18px 26px;border:3px solid white;border-radius:24px;box-shadow:0 5px 0 #aa976f44}.map-heading h1{margin:9px 0;font-size:38px}.map-heading p{margin:5px 0}.star-pill{background:linear-gradient(#fff5be,#ffde77);border-color:#fffbed;color:#cb8b1d}.scroll-hint{display:table;background:#fffbeded;padding:5px 12px;border-radius:12px;color:#4c6053}.map-scroll{border-color:#fff5d0;box-shadow:0 8px 0 #a17b43,0 18px 25px #31473625;background:#94bf56}.world{background:linear-gradient(#ffffff05,#fffac925),url('assets/adventure-world.webp') center/1900px 1070px no-repeat}.mountain{display:none}.road path{stroke:#ffe9ad;stroke-width:34;filter:drop-shadow(0 4px 0 #c49951)}.checkpoint{color:#594829}.node-icon{width:74px;height:74px;background:linear-gradient(#fffbed,#e7dbb4);border-color:#fff8dd;box-shadow:0 6px 0 #a98b54,0 10px 12px #35552a30}.node-icon svg{stroke:#9a8967}.ready .node-icon{background:linear-gradient(#ffe984,#ffc02d);border-color:#fff3aa;box-shadow:0 6px 0 #b77d20,0 0 0 7px #fff5b544;color:#79541b}.checkpoint strong{background:#fff8d9;border:2px solid #fff3c2;box-shadow:0 3px 0 #a98951;border-radius:9px;margin-top:13px}.node-stars{color:#805c1c;text-shadow:0 1px 0 #fff9d8}.boss-node .node-icon{background:linear-gradient(#b184d3,#7955a7);border-color:#eee0ff;box-shadow:0 6px 0 #5c3c79}.stage{bottom:18px;padding:8px 20px;background:linear-gradient(#b58243,#916035);color:#fff9e6;border:2px solid #e7bc76;border-radius:11px;box-shadow:0 4px 0 #654727;font-size:12px}.stage span{color:#ffe2a9}.foundation{left:150px}.developing{left:720px}.advanced{left:1290px}.boss-stage{left:1750px}.map-bottom{display:table;margin:28px auto 0;background:#fffdf0ed;border:3px solid white;border-radius:22px;padding:8px 20px;max-width:540px}.map-bottom img{float:left;width:80px;height:80px;margin-right:15px}.map-bottom p{margin:13px 0}footer{color:#405744;background:#fffef0dd;margin:24px auto 0;padding:12px 20px;max-width:550px;border-radius:25px 25px 0 0}dialog{border:4px solid #fff7db;box-shadow:0 8px 0 #a47a39,0 20px 60px #19362a55}dialog::backdrop{background:#16364b8c;backdrop-filter:blur(5px)}
@media(max-width:760px){body:before{background-position:45% center}header{margin:12px 12px 0;padding:13px 12px;gap:10px;border-radius:17px}header img{width:103px}header>span{padding-left:10px;font-size:11px;line-height:1.5}header button{padding:6px 9px;font-size:11px;white-space:nowrap}main{padding:25px 20px 15px}.signin{min-height:0;gap:22px}.intro>.eyebrow{font-size:10px;padding:7px 10px}.intro h1{font-size:35px;letter-spacing:-1px;margin:17px 0 10px}.intro>p{font-size:14px;padding:9px 13px;max-width:260px}.mascot-scene{height:178px;margin-top:-20px}.mascot-scene img{height:220px;width:220px;left:auto;right:0;bottom:-15px}.bubble{left:0;right:auto;top:80px;font-size:12px;padding:9px 13px}.login-card{padding:25px;border-radius:25px}.login-card h2{font-size:28px}.login-card>p{font-size:14px}.login-card label{margin-top:20px}.page-title{padding:17px 15px;margin-bottom:26px}.page-title h1{font-size:29px;letter-spacing:-1px}.page-title p{font-size:14px}.year-card{grid-template-columns:120px 1fr;border-radius:22px}.card-scene{min-height:195px;height:100%;background-size:auto 300px;border-bottom:0;border-right:3px solid #ebc16d}.scene-symbol{left:22px;bottom:20px;width:55px;height:55px;font-size:29px}.year-copy{padding:18px 16px}.year-kicker{font-size:9px;letter-spacing:1px}.year-copy p{font-size:13px}.card-cta{font-size:12px;gap:8px;padding-top:13px}.card-cta b{width:25px;height:25px;flex:none}.map-heading{padding:17px 18px}.map-heading h1{font-size:31px}.map-heading p{font-size:14px}.star-pill{margin-top:12px}.map-bottom{padding:10px 12px}.map-bottom img{width:62px;height:62px;margin-right:10px}.map-bottom p{font-size:12px;margin:4px 0}.preview-notice{font-size:11px}.scroll-hint{font-size:11px}.world{height:470px}footer{font-size:10px;margin-top:12px}}
.quiz-panel{max-width:820px;margin:22px auto;background:#fffdf1f7;border:4px solid #fff6d4;border-radius:26px;padding:30px;box-shadow:0 7px 0 #ac7c3d,0 18px 35px #294b3326}.quiz-panel h1{font-size:34px}.quiz-panel h2{font-size:24px}.quiz-progress{display:flex;gap:18px;align-items:center;font-weight:bold;font-size:14px}.quiz-progress progress{flex:1;height:12px;accent-color:#e5ac24}.quiz-panel blockquote{margin:20px 0;padding:18px;border-radius:14px;background:#e7f2f5;white-space:pre-line;color:#254958}.answer-choice{width:100%;display:flex;gap:14px;text-align:left;align-items:center;border:2px solid #ddcda1;border-radius:13px;background:white;padding:14px 16px;color:var(--ink);margin:10px 0}.answer-choice[aria-pressed=true]{border-color:#297ea2;background:#e5f4fb;box-shadow:0 0 0 2px #297ea230}.answer-choice:disabled{cursor:default;opacity:1}.answer-choice.right{border-color:#268349;background:#edf9ed}.answer-choice.wrong{border-color:#c34e40;background:#fff0e9}.choice-letter{display:grid;place-items:center;width:30px;height:30px;border-radius:10px;background:#fff0bd;flex:none;font-weight:bold}.picture-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.picture-grid .answer-choice{flex-direction:column;margin:0}.picture-grid svg{width:110px;height:100px}.match-row{display:grid;grid-template-columns:1fr 1.4fr;align-items:center;gap:15px;margin:12px 0}.match-row label{font-weight:bold}.match-row select{font:inherit;color:var(--ink);padding:12px 8px;background:#fff;border:2px solid #d5c292;border-radius:12px;width:100%}.token-bank,.ordered-words{display:flex;flex-wrap:wrap;gap:10px;min-height:62px;padding:13px;border:2px dashed #ceb976;border-radius:14px;margin:12px 0}.ordered-words{background:#ecf5f4;border-color:#80b1b8}.word-token{font:inherit;border:2px solid #e6c565;border-bottom:4px solid #b7923e;padding:9px 15px;background:#ffe9a7;border-radius:10px;color:#5d4826}.word-token:disabled{opacity:.5}.word-hint{font-size:13px}#answer-feedback{background:#edf6ed;border:2px solid #b2d5ac;padding:18px;border-radius:14px;margin-top:20px}#answer-feedback.incorrect{background:#fff2e4;border-color:#e2b581}#answer-feedback p{color:var(--ink);margin:7px 0}.review-item{border-top:1px solid #dcd2b5;padding:18px 0}.review-item p{margin:5px 0}.review-item.correct>strong{color:#237245}.review-item.incorrect>strong{color:#ab4c32}.result-stars{font-size:45px;color:#b97814;letter-spacing:8px}.result-metrics{display:flex;flex-wrap:wrap;gap:12px}.result-metrics span{padding:12px;background:#fff0c7;border-radius:12px}.skill-row{display:flex;justify-content:space-between;gap:12px;padding:12px 0;border-bottom:1px solid #e1d6b8}.result-actions{display:flex;align-items:center;gap:24px;flex-wrap:wrap;margin:22px 0}.result-actions .primary{width:auto;margin:0}.quiz-panel button:disabled{cursor:default}.quiz-panel #submit-answer:disabled{opacity:.55}.option-text{white-space:pre-line}@media(max-width:760px){.quiz-panel{padding:20px 16px;margin:20px -4px}.quiz-panel h1{font-size:27px}.quiz-panel h2{font-size:20px}.answer-choice{padding:12px}.match-row{grid-template-columns:1fr 1.3fr;gap:8px;font-size:14px}.result-metrics span{font-size:13px}.skill-row{font-size:13px}.picture-grid svg{width:95px;height:90px}}

header #sound-toggle{margin-left:auto;white-space:nowrap;font-size:13px;padding:8px 12px;border-color:#e0c98b;background:#fff4ce;color:#725521}header #exit{margin-left:0}@media(max-width:760px){header{flex-wrap:wrap}header>span{flex:1}header #sound-toggle{margin-left:auto;font-size:11px;padding:6px 10px}header #exit{font-size:11px}}
