:root{--purple:#7052dd;--deep:#302653;--muted:#847e9a;--line:#ece6f5;--cream:#fffaf5;--pink:#ff789d;--mint:#56cfb5;--gold:#ffca69;--blue:#68baff;--shadow:0 14px 40px rgba(74,52,113,.09);font-family:"Trebuchet MS","Arial Rounded MT Bold",ui-rounded,system-ui,-apple-system,sans-serif;color:var(--deep);background:var(--cream);font-synthesis:none}
*{box-sizing:border-box}body{margin:0;min-height:100vh;overflow-x:hidden;background:radial-gradient(circle at 5% 4%,#fff0da 0,transparent 30%),radial-gradient(circle at 100% 85%,#edebff 0,transparent 31%),var(--cream)}button,input,select{font:inherit}button{cursor:pointer;-webkit-tap-highlight-color:transparent}button:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid #56c4ec;outline-offset:3px}button:disabled{cursor:not-allowed;opacity:.55}img{max-width:100%;display:block}.decor{position:fixed;pointer-events:none;z-index:0;filter:blur(2px);opacity:.48}.decor-a{width:420px;height:420px;background:#ffe3ce;border-radius:50%;left:-230px;top:140px}.decor-b{width:360px;height:360px;background:#f8ddf2;border-radius:50%;right:-250px;bottom:-40px}.shell{position:relative;z-index:1;max-width:1536px;margin:auto;min-height:100vh;padding:0 30px}.topbar{display:flex;justify-content:space-between;align-items:center;height:98px;gap:16px}.brand{display:flex;align-items:center;gap:12px;text-align:left;background:none;border:none;padding:0;color:#3a2868}.brand-bloom{width:51px;height:51px;display:grid;place-items:center;border-radius:17px;background:#ffe28a;transform:rotate(-10deg);font-size:33px;color:#ff7598;box-shadow:0 8px 19px #fbc65d50}.brand-bloom::first-letter{transform:rotate(10deg)}.brand b{display:block;font-size:22px;letter-spacing:-1.1px;line-height:1.15}.brand small{display:block;font-size:12px;color:#9088a6;margin-top:5px;font-weight:700;letter-spacing:.25px}.top-actions{display:flex;align-items:center;gap:11px}.progress-pill{display:flex;align-items:center;gap:6px;background:#fff;border:1px solid #f4e4b9;border-radius:100px;padding:10px 17px;font-size:15px;box-shadow:0 5px 17px #ebcf8c38}.progress-pill strong{font-size:19px}.circle-btn{border:1px solid #eee6f2;background:#fff;display:grid;place-items:center;width:45px;height:45px;border-radius:15px;font-size:20px;box-shadow:0 6px 18px #5941890a;transition:transform .2s}.circle-btn:hover{transform:translateY(-2px)}.layout{display:grid;grid-template-columns:248px minmax(0,1fr);gap:24px;align-items:start}.sidebar{padding:23px 13px 18px;min-height:calc(100vh - 118px);border-radius:27px;background:#fff;box-shadow:0 10px 34px #62438c0b;border:1px solid #f3edf6}.side-caption,.eyebrow{font-size:11px;letter-spacing:2.1px;font-weight:900;color:#a39ab9}.side-caption{padding:0 14px;margin-bottom:22px}.side-nav{display:grid;gap:6px}.nav-item{display:flex;align-items:center;width:100%;gap:12px;padding:13px 12px;border:0;border-radius:15px;background:transparent;text-align:left;color:#67607d;font-size:14px;font-weight:800;transition:.2s}.nav-item:hover{background:#f9f6ff;transform:translateX(2px)}.nav-item.active{color:var(--purple);background:#f0ecff}.nav-emoji{width:35px;height:35px;display:grid;place-items:center;background:#f4f0fb;border-radius:12px;font-size:21px}.nav-item.active .nav-emoji{background:#fff;box-shadow:0 4px 12px #7052dd13}.side-note{border-radius:20px;background:linear-gradient(145deg,#f1eaff,#fff0fa);margin:36px 4px 0;padding:22px 16px;text-align:center;position:relative;overflow:hidden}.note-emoji{display:block;font-size:29px;margin-bottom:9px}.side-note b{font-size:13px}.side-note p{font-size:12px;color:#807297;line-height:1.55;margin:7px 0 5px}.sparkles{color:#a99ae5;font-size:16px;letter-spacing:10px}.main-panel{min-width:0;padding-bottom:75px}.page-top{display:flex;justify-content:space-between;align-items:end;gap:18px;margin:8px 0 21px}.page-top h1{font-size:clamp(28px,3vw,39px);letter-spacing:-1.8px;line-height:1.12;margin:6px 0 7px}.page-top p{margin:0;color:#817a94;font-size:15px;line-height:1.5}.mini-tag{display:inline-flex;gap:6px;align-items:center;background:#fff5dc;color:#a6711f;border-radius:100px;padding:7px 12px;font-size:12px;font-weight:900}.hero{position:relative;display:flex;min-height:340px;background:linear-gradient(116deg,#6d50d8 2%,#8664eb 58%,#a789f7 100%);border-radius:30px;overflow:hidden;box-shadow:0 19px 32px #7153d34d;isolation:isolate}.hero::before{content:"";position:absolute;width:380px;height:380px;border:36px solid #ffffff16;border-radius:50%;right:-90px;top:-125px}.hero::after{content:"";position:absolute;width:280px;height:280px;background:#fff2a818;border-radius:50%;left:37%;bottom:-205px}.hero-copy{position:relative;z-index:2;padding:39px 28px 38px 45px;width:60%;display:flex;flex-direction:column;align-items:flex-start}.hero-kicker{display:inline-flex;align-items:center;gap:8px;color:#fff;background:#ffffff30;border:1px solid #ffffff39;padding:7px 12px;border-radius:100px;font-size:12px;font-weight:900}.hero h2{color:#fff;font-size:clamp(29px,3.1vw,46px);letter-spacing:-1.8px;line-height:1.12;margin:19px 0 10px;max-width:490px}.hero p{color:#f6eaff;font-size:15px;line-height:1.5;margin:0 0 24px;max-width:440px}.hero-person{position:absolute;z-index:1;right:0;bottom:-30px;width:min(43%,360px);height:106%;object-fit:contain;object-position:bottom center;filter:drop-shadow(0 8px 8px #37206d40)}.hero-star{position:absolute;color:#ffe987;font-size:24px;z-index:2;pointer-events:none;animation:twinkle 3s ease-in-out infinite}.hero-star.s1{right:34%;top:27px}.hero-star.s2{right:8%;top:46px;animation-delay:1s}.hero-star.s3{right:39%;bottom:54px;animation-delay:.6s}.btn{border:0;display:inline-flex;align-items:center;justify-content:center;gap:9px;min-height:46px;padding:11px 19px;border-radius:14px;font-weight:900;font-size:14px;box-shadow:0 7px 0 #0000000c;transition:transform .16s,filter .16s}.btn:hover{transform:translateY(-2px);filter:saturate(1.06)}.btn:active{transform:translateY(1px)}.btn-primary{background:#6e50df;color:#fff}.btn-yellow{background:#ffe084;color:#53367e}.btn-white{background:#fff;color:#6850c8}.btn-pink{background:#ff7a9d;color:#fff}.btn-soft{background:#f3eefe;color:#6e54d3}.btn-mint{background:#31c5a7;color:#fff}.btn-outline{background:#fff;border:2px solid #e7dff2;color:#6e54d3;box-shadow:none}.section-title{display:flex;justify-content:space-between;align-items:center;margin:32px 2px 18px;gap:10px}.section-title h2{font-size:23px;margin:0;letter-spacing:-.7px}.section-title small{font-size:13px;color:#a095b2}.activity-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.activity-card{position:relative;display:flex;flex-direction:column;align-items:flex-start;border:1px solid #efeaf4;background:#fff;min-height:200px;padding:21px 20px 18px;border-radius:22px;box-shadow:var(--shadow);overflow:hidden;text-align:left;transition:transform .18s,box-shadow .18s}.activity-card:hover{transform:translateY(-5px);box-shadow:0 16px 34px #60428a1c}.activity-card::after{content:"";position:absolute;right:-29px;top:-36px;width:120px;height:120px;border-radius:50%;background:var(--wash,#f6edff)}.activity-icon{z-index:1;display:grid;place-items:center;width:59px;height:59px;font-size:31px;border-radius:19px;background:var(--wash,#f6edff);margin-bottom:17px}.activity-card b{font-size:18px;letter-spacing:-.5px}.activity-card p{font-size:12px;line-height:1.45;color:#8e879b;margin:7px 0 13px}.activity-arrow{margin-top:auto;font-size:12px;font-weight:900;color:var(--accent,var(--purple))}.bottom-grid{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(220px,1fr);gap:16px;margin-top:18px}.progress-card,.tip-card{border:1px solid #eee8f4;border-radius:22px;padding:20px;background:#fff;box-shadow:var(--shadow)}.progress-card h3,.tip-card h3{margin:0 0 7px;font-size:17px}.progress-card p,.tip-card p{margin:0;font-size:13px;line-height:1.55;color:#8c859e}.progress-meter{height:13px;background:#f0eafa;border-radius:15px;margin:16px 0 10px;overflow:hidden}.progress-fill{height:100%;background:linear-gradient(90deg,#9c79fc,#ff9caf);width:0;border-radius:15px;transition:width .4s}.progress-foot{display:flex;justify-content:space-between;color:#a299b0;font-size:12px;font-weight:900}.tip-card{background:#fff2d9;border-color:#ffead0;position:relative;overflow:hidden}.tip-card::after{content:"🌈";position:absolute;font-size:67px;right:13px;bottom:-18px;opacity:.42}.tip-card p{max-width:220px;color:#98784f}.game-top{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:2px 0 17px}.back-btn{border:0;background:#fff;border-radius:100px;padding:11px 15px;font-size:13px;color:#7a6d99;font-weight:900;box-shadow:0 5px 14px #5d4b840d}.round-pill{background:#fff;border:1px solid #ece5f3;border-radius:100px;padding:9px 14px;color:#7a6d99;font-weight:900;font-size:13px}.play-card{background:#fff;border:1px solid #efe7f6;border-radius:29px;min-height:485px;padding:27px;box-shadow:var(--shadow);position:relative;overflow:hidden}.play-head{text-align:center;max-width:610px;margin:0 auto 20px}.play-head h2{font-size:clamp(25px,2.7vw,34px);letter-spacing:-1.1px;margin:8px 0 6px}.play-head p{margin:0;color:#9189a5;font-size:14px;line-height:1.5}.step-dots{display:flex;justify-content:center;gap:7px;margin:18px 0}.step-dot{width:9px;height:9px;border-radius:50%;background:#ebe6f4}.step-dot.done{background:#59ceb3}.step-dot.current{background:#7858e4;width:27px;border-radius:10px}.game-scene{min-height:230px;display:flex;flex-direction:column;align-items:center;justify-content:center;position:relative}.big-letter{font-size:clamp(95px,12vw,155px);font-weight:900;line-height:1;color:#7052de;text-shadow:5px 8px 0 #e9e2ff;letter-spacing:-8px}.big-letter small{font-size:58px;color:#ba9bff;vertical-align:top;letter-spacing:-2px}.letter-caption{color:#a19bb0;font-weight:800;font-size:14px;margin-top:10px}.choice-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;max-width:580px;margin:16px auto}.choice{min-height:95px;border:2px solid #eee6f7;background:#fbf9ff;border-radius:18px;font-size:46px;color:#5d46b0;font-weight:900;box-shadow:0 5px 0 #efebf7;transition:.14s}.choice:hover{background:#f0e9ff;transform:translateY(-2px)}.choice.correct{border-color:#39c9a5;background:#ddfaef;color:#149b78;animation:pop .32s}.choice.wrong{border-color:#ff94a8;background:#fff0f2;color:#e36b83;animation:shake .22s}.prompt-actions{display:flex;justify-content:center;gap:10px;flex-wrap:wrap;margin:17px 0 0}.listen-btn{display:inline-flex;align-items:center;gap:9px;background:#fff4dc;color:#9d743c;border:1px solid #ffe4b5;border-radius:100px;padding:10px 17px;font-size:14px;font-weight:900}.scene-emoji{font-size:90px;filter:drop-shadow(0 8px 8px #9a85bb20);animation:bob 3s ease-in-out infinite}.answer-choices{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:13px;max-width:620px;margin:16px auto}.word-choice{min-height:65px;border:2px solid #ece6f5;background:#fff;border-radius:15px;font-size:25px;font-weight:900;color:#69559e;transition:.2s}.word-choice.correct{background:#defbf0;border-color:#4cc9ad;color:#16886e}.word-choice.wrong{background:#fff0f4;border-color:#ff9ab1;color:#dd6880}.train{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:7px;margin:16px auto 13px}.engine{width:105px;height:91px;border-radius:24px 28px 14px 14px;background:#f9b55e;display:grid;place-items:center;font-size:51px;position:relative;box-shadow:0 9px 0 #e69c44}.wagon{position:relative;border:3px dashed #c5b5f3;background:#f8f4ff;width:92px;height:91px;border-radius:20px;display:grid;place-items:center;color:#634ccc;font-size:51px;font-weight:900}.wagon.filled{border:3px solid #9e81f1;background:#eae1ff}.wagon::after,.engine::after{content:"";position:absolute;width:14px;height:14px;border-radius:50%;background:#7160b0;bottom:-10px;left:17px;box-shadow:44px 0 0 #7160b0}.letter-bank{display:flex;flex-wrap:wrap;justify-content:center;gap:10px;max-width:540px;margin:22px auto}.bank-tile{width:70px;height:70px;border-radius:18px;border:2px solid #e8dffa;background:#fff;color:#6953bb;font-size:39px;font-weight:900;box-shadow:0 6px 0 #eee7fa}.bank-tile:hover{transform:translateY(-2px)}.bank-tile:disabled{opacity:.32;transform:none}.target-chip{background:#eaf9f6;color:#188d7c;display:inline-flex;border-radius:100px;padding:10px 18px;font-size:22px;font-weight:900;letter-spacing:2px}.balloon-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));max-width:660px;gap:15px;margin:22px auto 35px}.balloon{--balloon:#ff8ca4;position:relative;display:grid;place-items:center;border:0;background:var(--balloon);height:145px;border-radius:52% 52% 47% 47%;font-size:55px;font-weight:900;color:#fff;text-shadow:0 2px 0 #00000014;box-shadow:inset -13px -8px 0 #00000012,inset 10px 10px 0 #ffffff32,0 14px 16px #72589d18;animation:bob 3s ease-in-out infinite}.balloon:nth-child(2){animation-delay:-1.3s}.balloon:nth-child(3){animation-delay:-.5s}.balloon:nth-child(4){animation-delay:-2s}.balloon::before{content:"";position:absolute;bottom:-9px;border-left:10px solid transparent;border-right:10px solid transparent;border-bottom:16px solid var(--balloon);transform:rotate(180deg)}.balloon::after{content:"";height:33px;width:1.5px;background:#b2a1c6;position:absolute;top:100%;left:50%;margin-top:7px}.balloon.popped{animation:pop-away .35s forwards}.balloon-shade{max-width:620px;text-align:center;margin:auto;color:#988eac;font-size:13px}.writing-controls{display:flex;flex-wrap:wrap;justify-content:center;gap:9px;margin-top:14px}.letters-strip{display:flex;gap:8px;flex-wrap:wrap;justify-content:center;margin-bottom:15px}.letter-chip{border:1px solid #e9e1f5;border-radius:13px;background:#fff;color:#7d64c5;padding:8px 13px;min-width:41px;font-size:17px;font-weight:900}.letter-chip.active{background:#7155dd;color:#fff;border-color:#7155dd}.writing-board{position:relative;width:min(100%,600px);height:270px;margin:auto;background:repeating-linear-gradient(to bottom,#fff 0,#fff 66px,#dceaf7 67px,#dceaf7 68px);border:3px solid #b6d3eb;border-radius:21px;overflow:hidden;box-shadow:0 7px 0 #ebf5ff;touch-action:none;user-select:none}.writing-board canvas{display:block;width:100%;height:100%;touch-action:none;cursor:crosshair}.writing-hint{font-size:12px;text-align:center;color:#a096b1;margin:15px 0 0}.read-card{max-width:650px;margin:20px auto;padding:28px;border:2px solid #dce8ff;background:#f9fcff;border-radius:24px;text-align:center}.read-card .story-emoji{font-size:66px;margin-bottom:14px}.read-card .story-text{font-size:clamp(29px,3.6vw,44px);font-weight:900;color:#614bc7;line-height:1.35}.read-card .story-text span{border-bottom:3px dotted #cfc0fa}.read-card .story-note{color:#998cae;margin:12px 0 0;font-size:13px}.result-scene{text-align:center;padding:28px 10px 16px}.result-emoji{font-size:90px;animation:pop .4s}.result-scene h2{font-size:37px;letter-spacing:-1.5px;margin:8px 0}.result-scene p{color:#9289a1;font-size:16px;line-height:1.5;max-width:420px;margin:0 auto 23px}.result-stars{font-size:46px;letter-spacing:12px;margin:15px 0 22px}.result-buttons{display:flex;justify-content:center;gap:11px;flex-wrap:wrap}.group-list{display:grid;gap:10px;margin-top:17px}.group-row{border:2px solid #eee8f4;background:#fff;padding:14px;display:flex;align-items:center;justify-content:space-between;gap:8px;border-radius:17px;text-align:left}.group-row.active{border-color:#af98ed;background:#f7f3ff}.group-row b{font-size:15px}.group-row small{display:block;color:#9286aa;margin-top:6px;letter-spacing:2px;font-weight:900}.group-row .row-badge{background:#f6effe;border-radius:100px;color:#8162d0;padding:8px 11px;font-size:11px;font-weight:900}.lesson-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:12px;margin-top:19px}.lesson-tile{min-height:129px;background:#fff;border:2px solid #eee7f8;border-radius:20px;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:6px;color:#674fbe;transition:transform .18s}.lesson-tile:hover{transform:translateY(-3px);border-color:#c4aeef}.lesson-tile strong{font-size:58px;line-height:1}.lesson-tile small{font-size:12px;color:#a59bb8;font-weight:900}.lesson-tile.active{border-color:#8d72e2;background:#f5f1ff}.lesson-details{display:grid;grid-template-columns:180px 1fr;align-items:center;gap:16px;padding:20px;background:#fff;border-radius:24px;margin:17px 0;border:1px solid #ede6f5}.lesson-giant{background:#f0eaff;border-radius:23px;padding:20px;text-align:center;color:#6e50d3;font-size:75px;font-weight:900}.lesson-giant small{font-size:37px;color:#b29bf0}.lesson-details h3{font-size:25px;margin:0 0 7px}.lesson-details p{color:#8d85a4;font-size:15px;margin:0 0 14px}.lesson-actions{display:flex;gap:10px;flex-wrap:wrap}.inline-miray{position:absolute;right:15px;bottom:0;height:155px;pointer-events:none;opacity:.95}.soft-banner{position:relative;background:#f0ebff;padding:22px 175px 22px 23px;border-radius:20px;margin:19px 0;min-height:153px;overflow:hidden}.soft-banner h3{margin:0 0 6px;font-size:19px}.soft-banner p{margin:0;color:#82749e;line-height:1.5;font-size:13px;max-width:460px}.soft-banner .btn{margin-top:14px}.toast{position:fixed;z-index:90;left:50%;bottom:38px;transform:translate(-50%,30px);background:#48366f;color:#fff;border-radius:18px;padding:14px 22px;font-size:14px;font-weight:900;box-shadow:0 15px 35px #34236335;opacity:0;pointer-events:none;transition:.25s;max-width:calc(100vw - 40px);text-align:center}.toast.show{opacity:1;transform:translate(-50%,0)}.celebration{position:fixed;inset:0;z-index:95;pointer-events:none;overflow:hidden}.confetti{position:absolute;top:-40px;display:block;width:13px;height:23px;border-radius:3px;animation:fall 1.65s ease-in forwards}.settings-dialog{width:min(480px,calc(100vw - 30px));border:0;border-radius:27px;padding:25px;box-shadow:0 25px 85px #2e235a52;color:var(--deep)}.settings-dialog::backdrop{background:#261f48a0;backdrop-filter:blur(5px)}.dialog-head{display:flex;justify-content:space-between;align-items:center}.dialog-head h2{font-size:28px;letter-spacing:-.9px;margin:6px 0}.settings-dialog p{font-size:13px;line-height:1.55;color:#8d86a0}.settings-dialog label{font-size:14px;font-weight:900;display:block;margin:21px 0 8px}.settings-dialog select{border:2px solid #e9e0f7;border-radius:15px;padding:12px;width:100%;color:#65519f;background:#faf8ff}.toggle-row{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:17px 0}.toggle-row label{margin:0}.toggle{background:#ede7fa;border:0;border-radius:100px;padding:9px 14px;font-size:13px;color:#7865a9;font-weight:900}.toggle.on{background:#d7f9ed;color:#238a70}.text-danger{background:transparent;border:0;color:#c96d7b;font-weight:800;font-size:13px;padding:10px 0;margin-top:10px}.mobile-nav{display:none}.empty-note{text-align:center;color:#9287a6;padding:30px}.footer-note{color:#a59db0;text-align:center;font-size:11px;margin:25px 0}.hearts{color:#ff7899;font-size:20px;letter-spacing:2px}.read-question{font-size:19px;font-weight:900;text-align:center;margin:17px auto}.badge-grid{display:flex;gap:9px;flex-wrap:wrap;margin:12px 0}.badge-item{background:#fff3d9;border-radius:13px;padding:9px 13px;color:#94703c;font-size:12px;font-weight:900}.badge-item.locked{background:#f5f3f9;color:#aaa3b6}.game-note{text-align:center;font-size:12px;color:#aa9bb8;margin:14px 0}.mode-intro{display:flex;justify-content:center;gap:14px;align-items:center;margin-top:15px}.mode-intro span{font-size:32px}.mode-intro p{font-size:14px;color:#9288a7;max-width:350px}.read-question .emoji{font-size:32px}.achievement{color:#8e7ab4;font-size:13px;margin:8px auto;text-align:center}
@keyframes bob{0%,100%{transform:translateY(0) rotate(-1deg)}50%{transform:translateY(-9px) rotate(1deg)}}@keyframes twinkle{0%,100%{opacity:.6;transform:scale(.9)}50%{opacity:1;transform:scale(1.2)}}@keyframes pop{from{transform:scale(.7)}75%{transform:scale(1.12)}to{transform:scale(1)}}@keyframes shake{0%,100%{transform:translateX(0)}30%{transform:translateX(-7px)}70%{transform:translateX(7px)}}@keyframes pop-away{to{opacity:0;transform:scale(1.5)}}@keyframes fall{to{transform:translateY(110vh) rotate(690deg);opacity:.2}}
@media (max-width:1140px){.shell{padding:0 20px}.layout{grid-template-columns:210px minmax(0,1fr);gap:16px}.sidebar{padding-left:9px;padding-right:9px}.nav-item{font-size:12px}.activity-grid{gap:11px}.activity-card{padding:17px}.hero-copy{padding-left:28px}.hero h2{font-size:36px}.hero-person{width:44%}}
@media (max-width:880px){.layout{display:block}.sidebar{display:none}.shell{padding:0 16px 88px}.topbar{height:78px}.brand b{font-size:19px}.hero{min-height:320px}.activity-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.activity-card{min-height:186px}.bottom-grid{grid-template-columns:1.4fr 1fr}.mobile-nav{display:flex;position:fixed;bottom:0;left:0;right:0;z-index:30;justify-content:space-around;gap:3px;padding:8px max(6px,env(safe-area-inset-left)) calc(7px + env(safe-area-inset-bottom));background:#ffffffed;backdrop-filter:blur(16px);border-top:1px solid #eee7f5;box-shadow:0 -7px 25px #5c45901a}.mobile-link{border:0;background:transparent;display:flex;align-items:center;flex-direction:column;gap:3px;min-width:58px;padding:4px 1px;color:#968bac;font-size:9px;font-weight:900}.mobile-link span{font-size:22px}.mobile-link.active{color:var(--purple)}.main-panel{padding-bottom:28px}}
@media (max-width:570px){.topbar{height:74px}.brand-bloom{width:42px;height:42px;border-radius:13px;font-size:27px}.brand b{font-size:17px}.brand small{font-size:10px}.top-actions{gap:6px}.circle-btn{width:38px;height:38px;font-size:17px;border-radius:12px}.progress-pill{padding:8px 9px;font-size:12px}.progress-pill strong{font-size:16px}.p-hide{display:none}.hero{min-height:330px;border-radius:24px}.hero-copy{width:76%;padding:27px 12px 27px 23px}.hero-kicker{font-size:10px}.hero h2{font-size:31px;max-width:260px}.hero p{font-size:12px;max-width:210px}.hero-person{height:68%;width:58%;right:-37px;bottom:-18px;opacity:.95}.hero-star.s1{right:20%;top:18px}.hero-star.s3{display:none}.hero .btn{position:relative;z-index:3;font-size:12px;padding:10px 13px;min-height:40px}.page-top{margin:7px 0 15px}.page-top h1{font-size:28px}.page-top p{font-size:13px}.section-title{margin-top:24px}.section-title h2{font-size:20px}.activity-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.activity-card{min-height:166px;padding:15px;border-radius:19px}.activity-icon{width:50px;height:50px;font-size:26px;border-radius:16px;margin-bottom:11px}.activity-card b{font-size:16px}.activity-card p{font-size:11px;margin:5px 0 12px}.bottom-grid{grid-template-columns:1fr}.play-card{padding:20px 13px;border-radius:21px;min-height:470px}.play-head h2{font-size:26px}.play-head p{font-size:12px}.game-scene{min-height:205px}.choice-grid{gap:7px}.choice{min-height:77px;font-size:37px;border-radius:14px}.answer-choices{gap:8px}.word-choice{font-size:21px;min-height:62px}.balloon-grid{gap:11px;margin:21px 6px 36px}.balloon{height:107px;font-size:41px}.lesson-grid{grid-template-columns:repeat(3,1fr);gap:9px}.lesson-tile{min-height:111px}.lesson-tile strong{font-size:51px}.lesson-details{grid-template-columns:95px 1fr;padding:12px;gap:12px}.lesson-giant{padding:13px;font-size:47px}.lesson-giant small{font-size:22px}.lesson-details h3{font-size:20px}.lesson-details p{font-size:12px}.lesson-details .btn{font-size:11px;padding:9px 10px;min-height:37px}.train{gap:5px}.engine{width:78px;height:75px;font-size:38px}.wagon{width:75px;height:75px;font-size:41px}.bank-tile{width:56px;height:59px;font-size:31px}.letter-bank{gap:7px}.writing-board{height:236px}.soft-banner{padding-right:122px}.inline-miray{height:136px;right:-13px}.read-card{padding:19px}.read-card .story-text{font-size:29px}.toast{bottom:88px}.result-scene h2{font-size:30px}.result-emoji{font-size:70px}}
@media (prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:.001ms!important;transition-duration:.001ms!important;scroll-behavior:auto!important}}
.voice-caption{position:fixed;z-index:85;left:50%;bottom:90px;transform:translateX(-50%);width:min(540px,calc(100vw - 28px));padding:13px 17px;border:2px solid #b8a2f3;border-radius:20px;background:#fffdf9;box-shadow:0 12px 35px #49356933;color:#44336e;pointer-events:none;text-align:center}
.voice-caption[hidden]{display:none}
.voice-caption strong{display:block;font-size:12px;letter-spacing:.2px;color:#8662ca;margin-bottom:5px}
.voice-caption span{display:block;font-size:16px;font-weight:800;line-height:1.4;max-height:5.6em;overflow:hidden}
.voice-pack-note{padding:12px 14px;background:#f0fff8;border:1px solid #a9e5ca;border-radius:15px;color:#387762!important}
@media(max-width:700px){.voice-caption{bottom:87px;border-radius:17px;padding:11px 13px}.voice-caption span{font-size:13px}}
.site-copyright small{display:block;margin-top:4px;font-size:10px;font-weight:500;color:#988ea8}

/* Large, self-dismissing first-launch greeting. No voice or external assets. */
.welcome-splash{position:fixed;inset:0;z-index:1000;display:grid;place-items:center;overflow:hidden;background:radial-gradient(circle at 14% 10%,#c4a5ff 0,transparent 34%),radial-gradient(circle at 87% 78%,#ff91bb 0,transparent 35%),linear-gradient(145deg,#6850cf 0%,#8963eb 53%,#af7be6 100%);color:#fff;text-align:center;isolation:isolate}
.welcome-splash::before,.welcome-splash::after{content:"";position:absolute;z-index:-1;border:2px solid #ffffff26;border-radius:50%;pointer-events:none}
.welcome-splash::before{width:620px;height:620px;top:-365px;right:-195px;box-shadow:0 0 0 55px #ffffff0a,0 0 0 120px #ffffff09}
.welcome-splash::after{width:430px;height:430px;bottom:-285px;left:-160px;box-shadow:0 0 0 48px #ffffff10}
.welcome-splash[hidden]{display:none!important}
.welcome-splash.is-leaving{opacity:0;visibility:hidden;pointer-events:none;transition:opacity .55s ease,visibility .55s ease}
.welcome-content{width:100%;height:100%;min-height:0;max-width:850px;padding:clamp(16px,3vh,38px) 16px max(18px,env(safe-area-inset-bottom));display:flex;flex-direction:column;align-items:center;justify-content:flex-start}
.welcome-kicker{font-size:clamp(11px,1.8vw,15px);font-weight:900;letter-spacing:2.3px;background:#ffffff20;border:1px solid #ffffff45;padding:9px 17px;border-radius:30px;margin:0 0 clamp(10px,1.8vh,18px)}
.welcome-content h1{font-size:clamp(28px,5.3vw,63px);line-height:1.05;letter-spacing:-2px;font-weight:900;text-shadow:0 5px 18px #35216d60;margin:0}
.welcome-subtitle{font-size:clamp(14px,2.4vw,22px);font-weight:800;color:#fff4c9;margin:9px 0 0}
.welcome-miray{display:block;min-height:0;flex:1 1 auto;width:min(78vw,590px);max-height:min(65vh,640px);object-fit:contain;object-position:center bottom;filter:drop-shadow(0 20px 25px #3822775a);animation:welcomeBob 2s ease-in-out infinite}
.welcome-bottom{width:100%;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:12px;margin-top:4px}
.welcome-loading{height:9px;display:flex;align-items:center;justify-content:center;gap:9px}
.welcome-loading i{width:9px;height:9px;background:#ffe9a7;border-radius:50%;animation:welcomePulse 1s ease-in-out infinite}
.welcome-loading i:nth-child(2){animation-delay:.14s}.welcome-loading i:nth-child(3){animation-delay:.28s}
.welcome-skip{border:2px solid #ffffffa8;background:#fff;color:#6c4bcc;min-height:43px;padding:9px 21px;border-radius:100px;font-weight:900;font-size:14px;box-shadow:0 7px 23px #3f287456}
.welcome-skip:hover{background:#fff4d9}
.welcome-spark{position:absolute;pointer-events:none;color:#ffecab;filter:drop-shadow(0 3px 5px #5533a05e);animation:twinkle 2.5s infinite}
.welcome-spark-a{left:11%;top:25%;font-size:46px}.welcome-spark-b{right:12%;top:35%;font-size:34px;animation-delay:.7s}.welcome-spark-c{right:24%;bottom:24%;font-size:51px;animation-delay:1.1s}
@keyframes welcomeBob{0%,100%{transform:translateY(0) rotate(-1deg)}50%{transform:translateY(-9px) rotate(1deg)}}
@keyframes welcomePulse{0%,100%{opacity:.4;transform:scale(.65)}50%{opacity:1;transform:scale(1.15)}}
@media(max-width:570px){.welcome-content{padding-top:max(26px,env(safe-area-inset-top))}.welcome-content h1{max-width:340px;letter-spacing:-1.2px}.welcome-miray{width:94vw;max-height:60dvh}.welcome-spark-a{top:22%;left:5%}.welcome-spark-b{right:4%;top:28%}.welcome-spark-c{right:7%;bottom:29%}}
