@import url('https://fonts.googleapis.com/css2?family=Nunito:wght@400;600;700;800;900;1000&display=swap');
:root{font-family:Nunito,'Trebuchet MS',sans-serif;color:#32324e;background:#f7f7fc;font-synthesis:none}*{box-sizing:border-box}body{margin:0}button,a{-webkit-tap-highlight-color:transparent}button{font:inherit;cursor:pointer}button:focus-visible,a:focus-visible{outline:4px solid #fcba43;outline-offset:4px}button:disabled{cursor:default}button[hidden],[hidden]{display:none!important}header{height:98px;max-width:1320px;margin:auto;display:flex;align-items:center;justify-content:space-between;padding:0 42px}.brand{display:flex;align-items:center;gap:10px;text-decoration:none;font-size:39px;font-weight:1000;color:#7461d1}.brand>span{font-size:26px;color:#383554;line-height:1.15}.brand-light{color:#7c65d3}.brand small{display:block;font-size:9px;letter-spacing:2px;margin-top:6px;color:#9390a8}.header-right{display:flex;align-items:center;gap:24px}.age{font-size:14px;color:#777389;font-weight:700}.icon-button{width:46px;height:46px;border:1px solid #e7e3f1;border-radius:16px;background:white;font-size:24px;color:#7563c8}main{max-width:1320px;margin:auto;padding:25px 42px 0}.heading{display:flex;justify-content:space-between;align-items:center;margin-bottom:28px}.eyebrow{font-size:11px;font-weight:900;letter-spacing:1.7px;color:#9690aa}h1{font-size:clamp(24px,3vw,35px);letter-spacing:-1.1px;margin:8px 0 0;font-weight:1000}h1 span{font-size:27px}.star-total{display:flex;align-items:center;gap:10px;background:#fff;padding:12px 19px;border:1px solid #eeebf5;border-radius:18px}.star-total>span:first-child{font-size:28px;color:#f5bc3d}.star-total b{font-size:23px}.score-denom{font-size:14px;color:#8c869b}.game-shell{display:grid;grid-template-columns:300px 1fr;min-height:505px;border:1px solid #e7e2f2;border-radius:30px;background:white;overflow:hidden;box-shadow:0 16px 45px #59537609}.mission-panel{padding:32px 28px;display:flex;flex-direction:column;background:#fff;z-index:2}.chapter{display:flex;align-items:center;gap:8px;color:#8472bf;font-size:11px;font-weight:1000;letter-spacing:1px}.chapter>span:first-child{font-size:22px;background:#f2edfc;border-radius:10px;width:35px;height:35px;display:grid;place-items:center}.mission-count{font-size:11px;font-weight:900;letter-spacing:1.8px;color:#aaa2b7;margin-top:33px}h2{font-size:31px;line-height:1.18;letter-spacing:-.8px;font-weight:1000;margin:12px 0}#hint{color:#81798f;font-size:16px;line-height:1.7;margin:0 0 22px}.listen{align-self:flex-start;display:flex;align-items:center;gap:10px;border:0;background:#f2effa;padding:11px 15px;border-radius:12px;font-size:13px;font-weight:800;color:#7e69b9}.listen span{font-size:19px}#feedback{min-height:49px;margin-top:24px;font-size:14px;font-weight:800;color:#837a97;line-height:1.5}#feedback.good{color:#378167}#feedback.retry{color:#ab7633}.primary{background:#8170d7;color:#fff;border:0;box-shadow:0 5px 0 #6253b6;border-radius:16px;padding:16px 18px;font-size:17px;font-weight:900;display:flex;align-items:center;justify-content:space-between;gap:20px}.primary:hover{background:#7360ce;transform:translateY(-1px)}.mission-bottom{margin-top:auto;padding-top:26px;font-size:12px;color:#a298b1;display:flex;align-items:center;gap:7px}.mission-bottom span{color:#c0abd9;font-size:20px}.play-area{position:relative;min-height:505px;background:linear-gradient(#e8f3fd 0%,#eef6fa 70%,#e2efd9 100%);overflow:hidden;display:flex;flex-direction:column;justify-content:flex-end}.scene-label{position:absolute;top:22px;left:25px;z-index:1;display:flex;align-items:center;gap:8px;background:#ffffffc9;border:1px solid #fff;padding:8px 14px;border-radius:30px;font-size:12px;color:#6b897c;font-weight:800}.leaf{color:#7d9d5a;font-size:20px}#canvas-wrap{position:absolute;inset:0 0 70px}canvas{display:block;width:100%;height:100%;touch-action:pan-y}#webgl-error{position:absolute;inset:20%;padding:20px;background:white;border-radius:20px}.choices{display:flex;justify-content:center;gap:16px;position:relative;padding:10px 25px 0;z-index:2}.choice{min-width:120px;min-height:60px;background:#fff;border:3px solid #fff;box-shadow:0 5px 0 #c7d8c3;border-radius:18px;padding:12px 18px;color:#646176;font-weight:1000;font-size:18px;display:flex;align-items:center;justify-content:center;gap:9px;transition:transform .15s}.choice:hover:not(:disabled){transform:translateY(-5px);border-color:#b9a5ea}.choice.correct{background:#e1f8d9;border-color:#72b78c;color:#337556;box-shadow:0 5px 0 #78ab79}.choice.wrong{animation:shake .3s}.swatch{width:26px;height:26px;border-radius:50%;box-shadow:inset 0 -4px #0002}.scene-tip{text-align:center;font-size:12px;color:#80927a;font-weight:700;margin:15px 10px 18px}.journey{display:flex;align-items:center;justify-content:space-between;gap:25px;margin-top:27px;padding:19px 24px;border:1px solid #e9e5f2;border-radius:20px;background:#fff9}.journey-title{font-size:10px;letter-spacing:1.5px;font-weight:1000;color:#9b91ac}.progress{display:flex;align-items:center;gap:12px}.step{display:grid;place-items:center;width:30px;height:30px;background:#ece8f6;border-radius:50%;color:#bfb7d2;font-size:14px;font-weight:900}.step.current{border:2px solid #a38bdd;background:#f0eafb;color:#886bc3}.step.done{background:#fff0c9;color:#dda42d}.step:nth-child(3),.step:nth-child(6){margin-right:13px}#progress-text{font-size:12px;color:#9b90aa}footer{display:flex;justify-content:space-between;gap:15px;font-size:12px;color:#a79daf;padding:25px 5px}.celebration{position:absolute;inset:0;z-index:5;background:#f3f7edee;backdrop-filter:blur(8px);display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:25px}.celebration>span{font-size:75px}.celebration h2{font-size:32px}.celebration p{color:#7e7c8c;line-height:1.5}.big-stars{font-size:47px;color:#efb735;letter-spacing:12px}.celebration .primary{margin-top:12px}#count-caption{position:absolute;top:65px;left:0;right:0;text-align:center;font-size:15px;font-weight:800;color:#668376;z-index:1}@keyframes shake{25%{transform:translateX(-5px)}75%{transform:translateX(5px)}}@media(min-width:1450px){main{padding-top:40px}.game-shell,.play-area{min-height:570px}}@media(max-width:1000px){header{padding:0 25px}main{padding:15px 25px 0}.game-shell{grid-template-columns:260px 1fr}.mission-panel{padding:28px 22px}.choice{min-width:95px;padding:12px;font-size:16px}.choices{gap:10px}.journey{gap:12px}#progress-text{display:none}.progress{gap:8px}}@media(max-width:700px){header{height:77px;padding:0 20px}.brand{font-size:32px}.brand>span{font-size:22px}.brand small{font-size:8px;letter-spacing:1px}.age{display:none}.icon-button{height:42px;width:42px}main{padding:15px 14px 0}.heading{margin:0 5px 20px;gap:8px}h1{font-size:24px;letter-spacing:-.7px;max-width:235px}h1 span{font-size:20px}.eyebrow{font-size:9px;letter-spacing:1px}.star-total{padding:8px 12px;gap:6px;border-radius:14px}.score-denom{display:none}.game-shell{grid-template-columns:1fr;border-radius:24px}.mission-panel{padding:20px 22px;display:grid;grid-template-columns:1fr auto;column-gap:12px}.chapter{font-size:9px;letter-spacing:.8px}.chapter>span:first-child{width:25px;height:25px;font-size:18px}.mission-count{margin:0;align-self:center;text-align:right;font-size:9px;letter-spacing:.5px}.mission-panel h2{font-size:27px;margin:10px 0 5px}.listen{grid-column:2;grid-row:2;align-self:center;font-size:0;padding:8px 13px}.listen span{font-size:21px}#hint{grid-column:1/-1;font-size:14px;line-height:1.5;margin:0}#feedback{grid-column:1;min-height:0;margin:10px 0 0;font-size:13px;align-self:center}.mission-panel .primary{grid-column:2;padding:10px 15px;font-size:13px;gap:10px;margin-top:10px;border-radius:12px}.mission-panel .primary span{display:none}.mission-bottom{display:none}.play-area{min-height:355px}#canvas-wrap{bottom:65px}.scene-label{top:13px;left:15px;padding:4px 10px;font-size:10px}.leaf{font-size:16px}.choice{min-width:85px;min-height:54px;border-radius:15px;font-size:15px;padding:10px}.choices{padding:5px 12px 0;gap:12px}.scene-tip{font-size:11px;margin:13px 8px}.journey{margin-top:15px;padding:14px 12px;justify-content:center;flex-wrap:wrap;gap:10px}.journey-title{font-size:9px}.progress{gap:6px}.step{height:24px;width:24px;font-size:12px}.step:nth-child(3),.step:nth-child(6){margin-right:6px}footer{font-size:10px;padding:18px 5px;flex-wrap:wrap;justify-content:center}.celebration h2{font-size:26px}.celebration>span{font-size:50px}.celebration p{margin:6px}#count-caption{top:44px;font-size:12px}}@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}
