@import url('https://fonts.googleapis.com/css2?family=Nunito:wght@500;600;700;800;900&family=Outfit:wght@500;600;700;800&display=swap');
:root{--ink:#252f66;--muted:#7c85a7;--purple:#6753e9;--deep:#4232b6;--yellow:#ffdd6b;--line:#e6e8f5;--surface:#fff;--blue:#e5f2ff;--pink:#ffe8f2}*{box-sizing:border-box}body{margin:0;background:radial-gradient(ellipse at 15% 4%,#e8e5ff 0,transparent 45%),radial-gradient(ellipse at 95% 50%,#e0f3ff 0,transparent 42%),#f6f7fe;color:var(--ink);font:700 16px/1.5 'Nunito',sans-serif;min-height:100vh}body:before{content:'';position:fixed;inset:0;pointer-events:none;z-index:-1;background-image:radial-gradient(#6753e919 1px,transparent 1px);background-size:24px 24px}button,input,select{font:inherit}button,a{touch-action:manipulation;-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:disabled{cursor:default}button:focus-visible,a:focus-visible,input:focus-visible,summary:focus-visible{outline:3px solid #e6a92d;outline-offset:4px}button{color:inherit}a{color:var(--purple)}[hidden]{display:none!important}header{max-width:1160px;height:100px;margin:auto;display:flex;justify-content:space-between;align-items:center;padding:22px 35px;gap:20px}.brand{display:flex;align-items:center;gap:10px;text-decoration:none;color:var(--ink);font:800 25px 'Outfit',sans-serif}.brand-icon{background:var(--purple);color:#fff;width:44px;height:46px;display:grid;place-items:center;border-radius:15px;box-shadow:0 4px 0 #4434b7;position:relative;font-size:32px;transform:rotate(-5deg)}.brand-icon span{position:absolute;right:-6px;top:-10px;color:#ffcf4d;font-size:23px}.brand small{display:none}.header-note{color:#8992b3;font-size:13px}.text-btn{background:white;border:1px solid var(--line);border-radius:24px;padding:10px 17px;font-size:13px;font-weight:800}main{max-width:940px;margin:0 auto;padding:12px 28px 125px}h1,h2,h3{font-family:'Outfit',sans-serif;line-height:1.15;margin:0;font-weight:700;letter-spacing:-.7px}h1{font-size:42px}h2{font-size:29px}h3{font-size:26px}p{margin:10px 0 20px;color:var(--muted)}.tiny-label{font-size:11px;letter-spacing:2px;font-weight:900;color:#929abb;display:block;margin-bottom:10px}.primary{width:100%;background:var(--purple);border:0;border-bottom:5px solid var(--deep);border-radius:19px;color:white;padding:17px 22px;font-size:18px;font-weight:900;transition:transform .15s,filter .15s;min-height:60px;display:block;text-decoration:none;text-align:center}.primary:hover{filter:brightness(1.06);transform:translateY(-2px)}.primary:active{transform:translateY(3px);border-bottom-width:2px}.quiet{border:0;background:none;color:#838dae;text-decoration:none;padding:15px;font-size:14px;font-weight:800;display:block;margin:auto}.privacy-note{font-size:12px;color:#8b94b4;text-align:center;line-height:1.6;margin:13px 0}.back{border:1px solid #e0e4f3;background:#fff;width:43px;height:43px;border-radius:14px;font-size:32px;display:grid;place-items:center;line-height:1;box-shadow:0 3px 0 #e7eaf3}.arrival{max-width:760px;margin:auto;text-align:center}.arrival-title h1{font-size:54px;letter-spacing:-1.7px}.arrival-title em{font-style:normal;color:var(--purple)}.arrival-title .tiny-label{margin:10px 0 13px}.guide{display:flex;align-items:center;justify-content:center;gap:8px;position:relative;max-width:730px;margin:10px auto 18px;min-height:270px}.mascot{width:240px;height:285px;flex:0 0 240px;position:relative;border:0;background:none;padding:0;isolation:isolate;z-index:2;transform-origin:50% 90%;animation:mascot-breathe 3.8s ease-in-out infinite}.mascot img{position:relative;z-index:2;width:100%;height:100%;object-fit:contain;transform-origin:50% 80%;animation:mascot-sway 5s ease-in-out infinite;filter:drop-shadow(0 8px 6px #6c53e51a);user-select:none}.mascot-shadow{position:absolute;bottom:3px;left:30%;width:45%;height:13px;background:#483eb316;filter:blur(4px);border-radius:50%;z-index:0;animation:shadow-breathe 3.8s ease-in-out infinite}.magic-orbit{position:absolute;z-index:3;top:17%;right:8%;color:#ffcf4d;font-size:28px;animation:magic-sparkle 2.4s ease-in-out infinite;pointer-events:none}.speech{background:white;border:2px solid #e8eafa;box-shadow:0 7px 0 #e4e7f3;border-radius:25px;padding:23px 26px;text-align:left;position:relative;max-width:380px;flex:1;min-width:0}.speech:before{content:'';position:absolute;left:-10px;top:42%;width:18px;height:18px;background:white;border-bottom:2px solid #e8eafa;border-left:2px solid #e8eafa;transform:rotate(45deg)}.speaker{font-size:12px;font-weight:900;color:var(--purple);display:flex;gap:6px;align-items:center}.pink .speaker{color:#d14d94}.speaker-dot{width:5px;height:5px;background:currentColor;border-radius:50%}.speech p{font-size:20px;font-weight:800;color:var(--ink);line-height:1.45;margin:8px 0 5px;min-height:58px;white-space:normal}.voice{color:#9aa2be;background:none;border:0;font-size:12px;padding:7px 0 0;font-weight:800}.voice:hover{color:var(--purple)}.talking .mascot img{animation:talk-bounce .45s ease-in-out infinite alternate}.greeting .mascot img{animation:wave-hello .9s ease-in-out!important}.cheering .mascot img{animation:happy-jump .65s ease-in-out 3}.thinking .mascot img{animation:think-tilt 1.4s ease-in-out 2}.welcome-options{display:grid;grid-template-columns:repeat(3,1fr);gap:13px;max-width:730px;margin:0 auto}.option{display:flex;align-items:center;gap:15px;text-align:left;width:100%;padding:18px 20px;min-height:78px;background:white;border:2px solid #e7eafa;border-bottom:5px solid #e0e3f4;border-radius:19px;transition:transform .18s,border-color .18s;position:relative}.option:hover{transform:translateY(-3px);border-color:#c4baf9}.option:active{transform:translateY(2px)}.option strong{display:block;font-size:17px;font-weight:900}.option small{display:block;font-size:12px;color:var(--muted);margin-top:2px;font-weight:700}.option-icon{font-size:25px;width:46px;height:46px;flex:0 0 46px;border-radius:13px;background:#f2f0fc;display:grid;place-items:center}.option-next{margin-left:auto;color:#b4bad4;font-size:26px}.role-option{display:flex;flex-direction:column;gap:9px;align-items:center;text-align:center;padding:20px 10px}.role-option .option-next{display:none}.role-option .option-icon{width:53px;height:53px;background:#f2f0fc;font-size:30px}.role-option:nth-child(2) .option-icon{background:#fff4d6}.role-option:nth-child(3) .option-icon{background:#e6f4ff}.onboarding{max-width:650px;margin:auto}.journey-top{display:flex;align-items:center;gap:20px;font-size:13px;color:#929bbb}.setup-progress{height:10px;background:#e5e6f4;border-radius:30px;flex:1;overflow:hidden}.setup-progress span{display:block;height:100%;border-radius:30px;background:linear-gradient(90deg,#ae9cff,var(--purple));transition:width .3s}.guide.compact{min-height:170px;margin:15px auto;gap:0}.compact .mascot{width:150px;height:180px;flex-basis:150px}.compact .speech{padding:17px 21px;max-width:450px;border-radius:22px}.compact .speech p{font-size:17px;min-height:48px}.compact .magic-orbit{font-size:20px}.question-panel{max-width:560px;margin:auto}.question-panel>.tiny-label{text-align:center;font-size:10px}.question-panel h2{text-align:center;font-size:31px;margin-bottom:23px}.setup-options{display:grid;gap:10px}.option-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.option-grid .option{flex-direction:column;align-items:center;text-align:center;gap:9px;padding:15px;min-height:112px}.option-grid .option-next{display:none}.option-grid .option-icon{height:36px;flex-basis:36px;background:none;font-size:27px}label{display:block;font-weight:800;font-size:14px;margin:15px 0}input{display:block;margin-top:7px;background:white;border:2px solid #e2e5f5;border-radius:15px;padding:16px 18px;width:100%;color:var(--ink);font-size:18px}input::placeholder{color:#b4bad0}#formError{color:#b75b4b;font-size:13px}#nameForm .primary{margin-top:22px}.teacher-choices{display:grid;grid-template-columns:1fr 1fr;gap:18px}.teacher-card{border:2px solid #d6e7ff;border-bottom:6px solid #b5d2ff;border-radius:27px;background:linear-gradient(155deg,#eff8ff,#dfefff);padding:16px 12px 18px;text-align:center;position:relative;transition:.2s;overflow:hidden}.teacher-card.pink{border-color:#f7d1e7;border-bottom-color:#efb1d6;background:linear-gradient(155deg,#fff2f8,#ffe3ef)}.teacher-card:hover{transform:translateY(-5px)}.teacher-art{display:block;height:280px;position:relative}.teacher-art img{width:100%;height:100%;object-fit:contain;animation:mascot-breathe 4s ease-in-out infinite;transform-origin:50% 90%}.teacher-card.pink img{animation-delay:-1.5s}.teacher-card small{font-size:10px;letter-spacing:2px;color:#6d98cd}.teacher-card.pink small{color:#cd75a4}.teacher-card h3{font-size:33px;margin-top:4px}.teacher-subject{font-size:13px;display:block;color:#8090b2;margin:4px 0 15px}.teacher-pick{display:block;border-radius:12px;background:white;color:#5087d7;padding:11px;font-size:14px;font-weight:900;box-shadow:0 3px 0 #cbdff6}.pink .teacher-pick{color:#cc5797;box-shadow:0 3px 0 #f1c5df}.bottom-nav{position:fixed;bottom:20px;left:50%;transform:translateX(-50%);width:min(470px,calc(100% - 32px));height:77px;z-index:20;border-radius:23px;display:flex;align-items:center;background:#fffffff5;border:1px solid #e4e7f4;box-shadow:0 10px 40px #3e398f19;backdrop-filter:blur(14px);padding:8px}.bottom-nav button{background:none;border:0;flex:1;display:flex;align-items:center;flex-direction:column;gap:3px;border-radius:16px;font-size:11px;font-weight:900;color:#9aa2c2;height:59px;justify-content:center}.bottom-nav button span{font-size:24px;line-height:1}.bottom-nav .active{background:#f0edff;color:var(--purple)}.home{max-width:690px;margin:auto}.home-heading{display:flex;align-items:center;justify-content:space-between;gap:20px}.home-heading h1{font-size:38px;overflow-wrap:anywhere}.home-heading .tiny-label{font-size:10px;letter-spacing:1.4px}.star-counter{background:#fff5cd;border:1px solid #ffe6a2;box-shadow:0 3px 0 #f3e2a8;border-radius:30px;padding:8px 17px;color:#b98713;font-weight:900;font-size:20px;white-space:nowrap}.home-guide .guide{margin:0 auto;min-height:215px}.home-guide .mascot{height:230px;flex-basis:190px;width:190px}.home-guide .speech p{font-size:19px}.next-card{display:block;width:100%;background:linear-gradient(120deg,#7861ef,#5a48cc);border:0;border-bottom:6px solid #4434a8;border-radius:25px;padding:22px 24px 18px;text-align:left;color:white;box-shadow:0 15px 35px #6753e91c;transition:transform .2s}.next-card:hover{transform:translateY(-3px)}.next-top{display:flex;justify-content:space-between;align-items:center;font-size:12px;color:#dfd6ff}.subject-chip{font-size:9px;letter-spacing:1.5px;padding:5px 9px;background:#ffffff1e;border-radius:8px}.next-content{display:flex;gap:18px;align-items:center;margin:19px 0}.next-icon{font-size:40px;flex-shrink:0;width:65px;height:65px;display:grid;place-items:center;border-radius:19px;background:#ffffff15}.next-content small{font-size:10px;letter-spacing:1.5px;color:#d4c8ff}.next-content h2{font-size:29px;margin-top:5px}.next-cta{border-radius:13px;background:#ffdf79;color:#665023;padding:12px 15px;display:flex;align-items:center;justify-content:space-between;font-weight:900;font-size:15px;box-shadow:0 3px 0 #e8bf51}.next-cta span{font-size:11px}.home-quick{display:grid;grid-template-columns:1fr 1fr;gap:15px;margin:20px 0}.home-quick button{border:2px solid #e7e9f6;border-bottom:5px solid #e2e5f2;border-radius:20px;background:white;text-align:left;padding:17px 20px}.home-quick button>span{font-size:26px;display:block;margin-bottom:7px}.home-quick strong{display:block;font-size:17px}.home-quick small{display:block;font-size:11px;color:#9ba3be;margin-top:3px}.journey-status{display:flex;justify-content:space-between;flex-wrap:wrap;font-size:12px;color:#8c95b4;gap:9px;padding:4px}.journey-status b{color:var(--purple)}.progress-track{width:100%;height:8px;background:#e7e9f4;border-radius:10px;overflow:hidden}.progress-track i{display:block;height:100%;background:#a391f5;border-radius:10px}.mission-screen,.paper-screen,.profile-screen{max-width:650px;margin:auto}.screen-subtitle{font-size:14px}.surprise-btn{background:#fff1d2;border:1px solid #f5dfad;border-bottom:4px solid #efd79e;border-radius:14px;padding:12px 18px;color:#9e772e;margin:5px 0 24px;font-size:14px}.mission-path{display:grid;gap:13px}.path-item{display:flex;gap:13px;align-items:center;text-align:left;padding:18px;border:2px solid #e7e9f6;border-bottom:4px solid #dfe3f1;border-radius:19px;background:white;min-height:92px;width:100%;transition:.2s}.path-item:hover{transform:translateX(3px);border-color:#d5cdfb}.path-item.complete{background:#f5fcf5;border-color:#d9ecd9}.path-number{font-size:12px;font-weight:900;color:#a0a8c3;flex-shrink:0}.path-item.complete .path-number{color:#65a578}.path-icon{display:grid;place-items:center;width:48px;height:48px;border-radius:14px;background:#f1effa;font-size:27px;flex-shrink:0}.path-name{flex:1;min-width:0}.path-name strong{display:block;font-size:17px;line-height:1.25}.path-name small{display:block;color:#9da5be;font-size:11px;margin-top:6px}.complete .path-name small{color:#66a375}.path-play{display:grid;place-items:center;width:30px;height:30px;border-radius:50%;background:#f1edff;color:#8975e3;font-size:10px;flex-shrink:0}.lesson-intro{max-width:620px;margin:auto;text-align:center}.lesson-intro>.back{margin-bottom:8px}.big-icon{display:block;font-size:50px;margin:5px auto 13px}.lesson-intro h1{font-size:37px;max-width:500px;margin:auto}.lesson-intro .guide{margin:15px 0}.lesson-intro .speech p{font-size:17px}.lesson-intro .primary{max-width:420px;margin:auto}.play-screen{max-width:670px;margin:auto}.play-top{display:flex;align-items:center;justify-content:space-between}.question-progress{display:flex;gap:9px}.question-progress span{background:#e9eaf5;width:34px;height:34px;display:grid;place-items:center;border-radius:12px;color:#a5acc6;font-weight:900;font-size:13px}.question-progress .now{background:var(--purple);color:white;box-shadow:0 3px 0 var(--deep)}.question-progress .solved{background:#fff1bd;color:#cba034}.play-topic{font-size:28px}.play-screen .compact{margin:2px auto;min-height:150px}.play-screen .compact .mascot{height:155px;width:130px;flex-basis:130px}.exercise{background:white;border:2px solid #e6e9f5;border-bottom:6px solid #dfe3f2;border-radius:28px;padding:30px;text-align:center}.exercise h2{font-size:27px;line-height:1.35;margin:10px 0}.exercise .tiny-label{font-size:10px}.read-question{background:none;border:0;color:#9a92c6;font-size:12px;padding:8px 12px}.answer-options{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin:25px 0 12px}.answer-options button{border:2px solid #e3dffa;border-bottom:6px solid #d7d1f4;border-radius:20px;background:#f6f3ff;font:700 37px 'Outfit';padding:17px 5px;color:#7560c5;transition:.2s}.answer-options button:not(:disabled):hover{transform:translateY(-3px);background:#ebe4ff}.answer-options button.right{background:#e3f6dd;color:#589243;border-color:#b3d8a6;border-bottom-color:#98c38a;animation:pop .4s}.answer-options button.wrong{background:#fff1e5;color:#c68c66;border-color:#f0d7c2;opacity:.6;animation:shake .3s}.answer-status{font-size:14px;min-height:23px;margin:10px 0}.answer-status.success{color:#57934c}.answer-status.retry{color:#c68c66}.hint-button{border:0;background:none;color:#a69cbe;font-size:13px;padding:10px}.next-question{margin-top:12px}.play-footnote{font-size:12px;text-align:center;margin:17px}.celebration{position:relative;max-width:640px;margin:auto;text-align:center}.earned-stars{color:#ffd15b;text-shadow:0 4px 0 #e8a83d;font-size:47px;letter-spacing:10px;margin:20px 0;animation:pop .6s}.celebration h1{font-size:43px}.celebration .speech p{font-size:18px}.celebration .primary{max-width:430px;margin:auto}.confetti{position:absolute;inset:0;pointer-events:none;overflow:hidden;z-index:4}.confetti i{position:absolute;width:8px;height:14px;border-radius:2px;background:#b298fb;left:calc(var(--i)*5.5%);top:-20px;animation:confetti-fall 2.5s calc(var(--i)*.08s) ease-out both}.confetti i:nth-child(3n){background:#ffd768}.confetti i:nth-child(3n+1){background:#ffadca}.paper-screen .guide{margin-top:0}.paper-card{background:white;border:2px solid #e7e9f5;border-bottom:6px solid #dfe3f1;border-radius:25px;padding:28px;margin:10px 0 20px;text-align:center}.paper-icon{display:inline-grid;place-items:center;width:68px;height:80px;background:#f2efff;border:2px solid #e2dcfa;border-radius:12px;font-size:45px;color:#a393df;margin-bottom:17px}.paper-card p{font-size:14px;max-width:380px;margin:14px auto 23px}.paper-card .primary{max-width:440px;margin:15px auto}.download-link{display:block;font-size:14px;font-weight:900;padding:9px;text-decoration:none;color:#8b7bc4}.parent-area{border:1px solid var(--line);background:#f0f2fa;border-radius:16px;padding:17px;margin-top:22px;font-size:13px}.parent-area summary{cursor:pointer;color:#8a93b2;font-weight:800}.parent-area p{font-size:13px}.print-preview{max-width:640px;margin:auto}.profile-screen>.back{margin-bottom:25px}.profile-card{background:white;padding:25px;border:2px solid var(--line);border-radius:23px}.profile-card .option{margin:12px 0;border-bottom-width:2px}.profile-card>p{margin-top:5px}.profile-card h2{overflow-wrap:anywhere}#toast{position:fixed;bottom:110px;left:50%;transform:translate(-50%,20px);padding:13px 19px;background:var(--ink);color:white;border-radius:15px;max-width:90vw;opacity:0;pointer-events:none;z-index:40;transition:.25s;font-size:13px}#toast.visible{opacity:1;transform:translate(-50%,0)}#printArea{display:none}
@keyframes mascot-breathe{0%,100%{transform:translateY(0) scale(1)}50%{transform:translateY(-9px) scale(1.015)}}@keyframes mascot-sway{0%,100%{transform:rotate(-2deg)}50%{transform:rotate(2deg)}}@keyframes shadow-breathe{50%{transform:scale(.85);opacity:.65}}@keyframes magic-sparkle{0%,100%{transform:scale(.7) rotate(0);opacity:.3}50%{transform:scale(1.25) rotate(60deg);opacity:1}}@keyframes talk-bounce{from{transform:rotate(-2deg) translateY(0)}to{transform:rotate(2deg) translateY(-5px)}}@keyframes wave-hello{0%,100%{transform:rotate(0)}20%{transform:rotate(-9deg) translateY(-13px)}45%{transform:rotate(7deg) translateY(-7px)}70%{transform:rotate(-5deg)}}@keyframes happy-jump{0%,100%{transform:translateY(0) rotate(0)}45%{transform:translateY(-22px) rotate(-5deg)}75%{transform:translateY(-8px) rotate(5deg)}}@keyframes think-tilt{50%{transform:rotate(8deg)}}@keyframes pop{0%{transform:scale(.8)}60%{transform:scale(1.08)}100%{transform:scale(1)}}@keyframes shake{25%{transform:translateX(-6px)}75%{transform:translateX(6px)}}@keyframes confetti-fall{0%{transform:translateY(-30px) rotate(0);opacity:0}10%{opacity:1}100%{transform:translateY(650px) rotate(500deg);opacity:0}}
@media(min-width:1000px){body[data-screen=welcome] .arrival{padding-top:13px}.arrival .guide{margin:0 auto 18px;min-height:295px}.arrival .mascot{height:305px;width:270px;flex-basis:270px}.arrival .speech p{font-size:23px}.home{max-width:750px}.home-guide .mascot{height:255px;width:210px;flex-basis:210px}.next-card{padding:25px 30px}.next-content h2{font-size:32px}}
@media(max-width:650px){header{height:79px;padding:15px 21px}.brand{font-size:23px;gap:9px}.brand-icon{height:36px;width:35px;font-size:26px;border-radius:11px}.brand-icon span{font-size:19px;right:-5px;top:-8px}.header-note{display:none}.text-btn{font-size:11px;padding:9px 12px}main{padding:9px 20px 112px}h1{font-size:34px}.tiny-label{font-size:9px;letter-spacing:1.6px}.arrival-title h1{font-size:36px;letter-spacing:-1px}.arrival-title .tiny-label{font-size:8px;letter-spacing:1.4px;margin:7px 0 10px}.arrival .guide{min-height:222px;margin:13px -8px 14px;gap:0}.arrival .mascot{width:155px;height:215px;flex-basis:155px}.arrival .speech{margin-left:-8px;padding:15px;border-radius:20px;border-bottom-width:2px}.arrival .speech p{font-size:17px;min-height:100px;margin-bottom:0}.speech .speaker{font-size:10px}.voice{font-size:11px}.welcome-options{grid-template-columns:1fr;gap:10px}.role-option{flex-direction:row;align-items:center;text-align:left;padding:11px 15px;gap:13px;min-height:64px;border-radius:16px;border-bottom-width:4px}.role-option .option-icon{height:36px;width:40px;flex-basis:40px;font-size:24px;border-radius:10px}.role-option strong{font-size:16px}.role-option .option-next{display:block}.arrival .quiet{font-size:12px;padding:13px 5px 4px}.privacy-note{font-size:10px;margin-top:12px}.primary{font-size:17px;border-radius:16px;padding:15px;min-height:55px}.journey-top{gap:12px;font-size:11px}.back{height:38px;width:38px;font-size:29px;border-radius:12px}.setup-progress{height:8px}.guide.compact{min-height:150px;margin:10px -5px 15px;gap:0}.compact .mascot{height:155px;width:110px;flex-basis:110px}.compact .speech{padding:14px;border-radius:20px}.compact .speech p{font-size:15px;min-height:58px;margin-top:6px}.question-panel h2{font-size:27px;margin-bottom:20px}.question-panel>.tiny-label{font-size:8px;letter-spacing:1.5px}.option{min-height:73px;border-radius:16px;padding:13px 15px;gap:12px}.option strong{font-size:16px}.option small{font-size:11px}.option-icon{width:39px;height:39px;flex-basis:39px;font-size:24px}.option-grid .option{min-height:102px;padding:12px;gap:6px}.option-grid .option strong{font-size:14px}.setup-options{gap:10px}.teacher-choices{gap:12px;margin-top:5px}.teacher-card{padding:10px 8px 14px;border-radius:22px}.teacher-art{height:245px;margin:0 -15px}.teacher-card small{font-size:8px;letter-spacing:1.5px}.teacher-card h3{font-size:28px}.teacher-subject{font-size:11px;margin:4px 0 12px}.teacher-pick{padding:10px 4px;font-size:12px;border-radius:11px}.onboarding:has(.teacher-choices) .question-panel{margin-top:40px}.onboarding:has(.teacher-choices) h2{font-size:31px}.home-heading h1{font-size:31px}.home-heading .tiny-label{font-size:8px;letter-spacing:1.2px}.star-counter{font-size:16px;padding:7px 12px}.home-guide .guide{margin:3px -8px 8px;min-height:190px;gap:0}.home-guide .mascot{width:135px;height:185px;flex-basis:135px}.home-guide .speech{padding:14px;margin-left:-4px;border-radius:20px}.home-guide .speech p{font-size:16px;min-height:90px}.next-card{padding:18px 18px 15px;border-radius:22px}.next-content{margin:16px 0;gap:12px}.next-content small{font-size:8px;letter-spacing:1px}.next-content h2{font-size:23px}.next-icon{width:50px;height:50px;border-radius:15px;font-size:31px}.next-top{font-size:11px}.subject-chip{font-size:8px}.next-cta{font-size:14px;padding:11px 14px}.home-quick{gap:11px;margin:16px 0}.home-quick button{padding:14px 13px;border-radius:17px}.home-quick strong{font-size:15px}.home-quick small{font-size:9px}.home-quick button>span{font-size:23px;margin-bottom:7px}.journey-status{font-size:10px}.bottom-nav{bottom:12px;height:70px;padding:6px;border-radius:21px;width:calc(100% - 32px);max-width:450px}.bottom-nav button{height:55px;font-size:10px}.bottom-nav button span{font-size:22px}.screen-subtitle{font-size:13px}.surprise-btn{font-size:13px;padding:11px 15px}.path-item{gap:10px;padding:14px 12px;min-height:84px;border-radius:17px}.path-number{font-size:10px}.path-icon{height:40px;width:40px;font-size:23px;border-radius:12px}.path-name strong{font-size:15px}.path-name small{font-size:10px}.path-play{width:25px;height:25px;font-size:8px}.mission-path{gap:10px}.lesson-intro h1{font-size:31px}.big-icon{font-size:45px;margin-bottom:12px}.lesson-intro .guide{margin:18px -8px;gap:0;min-height:225px}.lesson-intro .mascot{height:210px;width:125px;flex-basis:125px}.lesson-intro .speech{padding:16px;margin-left:-5px;border-radius:20px}.lesson-intro .speech p{font-size:15px;min-height:100px}.play-screen .compact{margin:3px -6px;min-height:145px}.play-screen .compact .mascot{width:105px;height:145px;flex-basis:105px}.play-screen .compact .speech p{font-size:14px;min-height:44px}.question-progress span{width:29px;height:29px;border-radius:10px;font-size:11px}.play-topic{font-size:24px}.exercise{padding:23px 18px;border-radius:24px}.exercise h2{font-size:23px;line-height:1.4}.exercise .tiny-label{font-size:9px}.read-question{font-size:11px}.answer-options{gap:10px;margin-top:23px}.answer-options button{font-size:32px;padding:14px 5px;border-radius:16px}.answer-status{font-size:12px}.hint-button{font-size:12px}.play-footnote{font-size:10px}.earned-stars{font-size:40px}.celebration h1{font-size:35px}.celebration .guide{gap:0;margin:0 -6px;min-height:240px}.celebration .mascot{height:220px;width:140px;flex-basis:140px}.celebration .speech{padding:14px;margin-left:-5px}.celebration .speech p{font-size:15px;min-height:110px}.celebration>p{font-size:14px}.paper-card{padding:23px 20px}.paper-card h2{font-size:28px}.paper-card p{font-size:13px}.download-link{font-size:13px}.parent-area{padding:15px}.profile-card{padding:20px}.profile-card .option{padding:12px 10px}.profile-card .option strong{font-size:14px}.profile-card .option small{font-size:10px}}
@media(max-width:360px){main{padding-left:15px;padding-right:15px}.arrival .mascot{width:130px;flex-basis:130px}.arrival .speech p{font-size:16px}.teacher-art{height:210px}.next-content h2{font-size:21px}.option strong{font-size:14px}.speech p{overflow-wrap:anywhere}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
@media print{body{background:white;font:14px Arial;color:#000}body:before,header,#app,#toast{display:none!important}#printArea{display:block}.print-sheet{break-after:page;padding:12mm}.print-sheet:last-child{break-after:auto}.print-sheet h1{font:700 25px Arial;letter-spacing:0}.print-sheet h2{font:700 20px Arial}.print-sheet p{color:#222}.print-q{margin:30px 0;min-height:100px}.write-line{border-bottom:1px solid #aaa;height:28px}.print-meta{border-bottom:2px solid #333;padding-bottom:14px;margin-bottom:24px}.print-note{font-size:11px;color:#444}@page{size:A4;margin:10mm}}

.themed-paper{margin-bottom:24px}.worksheet-preview{display:block;width:100%;max-width:235px;margin:18px auto;border:1px solid #e6e8f5;border-radius:10px;box-shadow:0 8px 25px #252f6612}.themed-paper .primary{display:block;text-decoration:none;text-align:center}

@media print{*{-webkit-print-color-adjust:exact;print-color-adjust:exact}.print-sheet{padding:0 2mm}.print-hero{position:relative;height:48mm;border-radius:5mm;overflow:hidden;margin-bottom:5mm}.print-hero>img{position:absolute;width:100%;height:100%;object-fit:cover}.print-hero>div{position:relative;padding:5mm;max-width:66%;color:#183553}.print-hero strong{display:inline-block;padding:2mm 3mm;background:#1675c5;color:white;border-radius:2mm;font:700 12px Arial}.print-hero p{font:bold 9px Arial;color:#183553;margin:3mm 0}.print-hero h1{font:700 22px Arial;color:#183553}.print-meta{margin-bottom:4mm;border-bottom:1px solid #c3ddec;padding-bottom:2mm}.print-meta p{font-size:11px}.print-tip{background:#edf7ff;border-radius:3mm;padding:3mm;color:#183553;font-size:11px}.print-q{margin:4mm 0;padding:4mm;border:1px solid #c3ddec;border-radius:3mm;min-height:36mm;break-inside:avoid;color:#183553;font-size:12px}.print-num{display:inline-block;padding:1mm 2mm;background:#1675c5;color:white;border-radius:1mm;margin-right:2mm}.write-line{border-color:#d5e8ef;height:7mm}.print-note{padding:3mm;border-radius:3mm;background:#edf7ff;color:#183553;line-height:1.8}}
