:root{--pink:#ffe8f0;--pink-strong:#ed8fb0;--cream:#fffaf4;--lav:#eee7ff;--ink:#594b58;--muted:#917d8d;--shadow:0 8px 22px rgba(175,120,148,.14);font-family:Chalkboard SE,PingFang SC,Microsoft YaHei,sans-serif;color:var(--ink);background:#fff1f5}*{box-sizing:border-box}body{margin:0;min-width:700px;min-height:100vh;background:radial-gradient(circle at 85% 10%,#eee6ff 0 12%,transparent 31%),radial-gradient(circle at 12% 90%,#ffe1c9 0 11%,transparent 28%),#fff4f6}button{font:inherit;color:inherit;cursor:pointer}.app-shell{height:100vh;min-height:600px;display:flex;overflow:hidden}.sidebar{width:20%;min-width:168px;padding:18px 12px;display:flex;flex-direction:column;align-items:stretch;gap:7px;background:#fff7fad9;border-right:2px solid #f5dce8;overflow-y:auto}.logo{text-align:center;font-family:Ma Shan Zheng,cursive;font-size:32px;color:#bb7091;padding:4px 0 14px}.logo span{display:block;font-size:19px}.nav-item{border:0;border-radius:22px;background:transparent;padding:9px 4px;min-height:55px;display:flex;flex-direction:column;align-items:center;justify-content:center;line-height:1.15;transition:.15s}.nav-item b{font-size:23px}.nav-item span{font-size:14px;font-weight:800}.nav-item.active{color:#a4486e;background:linear-gradient(135deg,#ffe0ec,#f3e8ff);box-shadow:0 4px #eab8cd;transform:translateY(-2px)}.side-points{margin-top:auto;text-align:center;border-radius:18px;background:#fff1ba;padding:9px 3px;color:#9b6a21;font-weight:800}.content{width:80%;overflow-y:auto;padding:26px 34px 45px}.section-title{display:flex;align-items:flex-start;justify-content:space-between;margin-bottom:18px}.section-title h1{font-family:Ma Shan Zheng,PingFang SC,cursive;font-size:37px;margin:0;color:#a54f72}.section-title p{margin:4px 0 0;color:var(--muted);font-size:17px}.card{background:#ffffffe6;border:1px solid #f7dfe9;border-radius:25px;box-shadow:var(--shadow);padding:21px 25px;margin-bottom:18px}.card h2{margin:0 0 13px;color:#a85578;font-size:23px}.card h3{margin:7px 0}.two-cols{display:grid;grid-template-columns:1fr 1fr;gap:18px}.pinyin-group{margin:10px 0 17px}.pinyin-group h3{color:#806582}.sound-card,.word-chip,.number-row button{background:#f9eefa;border:2px solid #eed4ed;border-radius:16px;color:#714b68;padding:8px 12px;margin:4px;font-size:22px;font-weight:800;min-width:48px}.sound-card:active,.primary:active{transform:translateY(2px)}.tip{padding:7px 10px;margin:5px 0;border-radius:12px;background:#fff7df}.practice-row{margin-bottom:19px}.quiz-card{border-top:1px dashed #ead6e2;padding:13px 0}.quiz-card h3{font-size:18px;margin:0 0 7px}.answers{display:flex;flex-wrap:wrap;gap:8px}.answers button,.inline-btn{border:2px solid #e5d5f3;background:#f5efff;border-radius:15px;padding:8px 14px;font-weight:800;font-size:17px}.answers button.right{background:#dff5d7;border-color:#9ad386}.answers button.wrong{background:#ffe0e1;border-color:#e89ba3}.primary{border:0;border-radius:18px;padding:13px 22px;margin-top:14px;background:linear-gradient(135deg,#f191b4,#ca96dc);color:#fff;box-shadow:0 5px #b87ca1;font-weight:800;font-size:18px}.success{color:#46955f;font-weight:800}.poem-tabs{display:flex;overflow-x:auto;gap:8px;padding:2px 2px 12px}.poem-tabs button{white-space:nowrap;border:0;background:#f2edfb;border-radius:16px;padding:10px 15px;font-weight:800}.poem-tabs .selected{background:#f5cfe0;color:#934362}.poem-detail{display:grid;grid-template-columns:170px 1fr;gap:25px}.poem-art{border-radius:22px;background:linear-gradient(160deg,#f7ebff,#fde5e9);min-height:175px;display:flex;justify-content:center;align-items:center;font-size:66px}.poem-line{margin:4px 0;font-family:Ma Shan Zheng,cursive;font-size:25px}.clickable{cursor:pointer}.meaning{background:#fff9e8;padding:11px;border-radius:13px;line-height:1.5}.word-grid{display:flex;flex-wrap:wrap;margin-bottom:17px}.word-chip{font-size:26px}.word-chip.selected{background:#f5cfe0;border-color:#d98dab}.word-detail{display:grid;grid-template-columns:150px 1fr;align-items:center;gap:25px}.word-icon{font-size:95px;text-align:center;background:#fff7df;border-radius:50%;padding:16px}.big-word{font-size:73px;line-height:1;color:#b1567e;font-family:Ma Shan Zheng,cursive}.big-word span{font-family:Nunito,sans-serif;font-size:19px;color:#856577}.sentence{font-size:20px}.strokes{padding:10px;background:#f3effe;border-radius:12px}.number-row{display:flex;flex-wrap:wrap}.number-row button{width:45px;padding:8px 2px;background:#fff4dc;border-color:#f0dca5}.shape-row{display:flex;justify-content:space-around}.shape-row span{display:flex;flex-direction:column;align-items:center;font-size:57px;color:#a779ae}.shape-row small{font-size:14px;color:var(--ink)}.english-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-bottom:18px}.english-card{border:2px solid #ead9f6;border-radius:24px;background:#fff;padding:15px 8px;display:flex;flex-direction:column;align-items:center;gap:4px;box-shadow:var(--shadow)}.english-card span{font-size:49px}.english-card b{font-size:22px;color:#ad5679}.english-card em{font-size:15px;color:#6f6074}.english-card small{color:#9b8a9b}.picture{font-size:70px;margin:0 0 10px}.task{display:flex;justify-content:space-between;padding:10px 0;border-bottom:1px dashed #e9dce5;font-weight:800}.done{color:#4c9b65}.todo{color:#bf91a5}.bonus{text-align:center;color:#9a6c22;background:#fff4c8;border-radius:14px;padding:9px}.stat{font-size:33px;color:#a95378;margin:14px 0;font-weight:800}.stat small{display:block;font-size:15px;color:var(--muted)}.calendar{display:grid;grid-template-columns:repeat(7,1fr);gap:8px}.calendar span{min-height:43px;border-radius:12px;background:#faf2f7;text-align:center;padding:7px;font-weight:800;position:relative}.calendar span.starred{background:#fff3b7;color:#8f6824}.calendar span b{display:block;font-size:13px}.calendar span.future{opacity:.4}.pet-stage{text-align:center;background:linear-gradient(135deg,#f0e9ff,#ffebdf)}.pet-face{font-size:105px}.pet-bubble{display:inline-block;background:#fff;border-radius:18px;padding:11px 17px;font-weight:800}.animal-choices,.shop{display:flex;gap:11px;flex-wrap:wrap}.animal-choices button,.shop button{border:2px solid #e8d6f2;border-radius:17px;background:#fff;padding:9px 13px;font-weight:800}.animal-choices span{font-size:29px;display:block}.animal-choices .selected{background:#ffe1ec;border-color:#e293b2}.shop{display:block}.shop button{margin:5px}.shop b{color:#a47023}.reward-hero{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-bottom:18px}.reward-hero div{background:linear-gradient(135deg,#fff2b8,#ffe2ef);border-radius:25px;padding:20px;text-align:center;font-size:27px}.reward-hero b{font-size:46px;color:#a95474}.reward-hero span{display:block;font-size:15px;color:#756270}.reward-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:13px}.reward-item{text-align:center;border-radius:20px;padding:13px;background:#faf4fe}.reward-item span{font-size:52px}.reward-item h3,.reward-item p{margin:5px}.reward-item button{border:0;border-radius:12px;background:#e98eaf;color:#fff;padding:7px 15px;font-weight:800}.reward-item button:disabled{background:#c8bdc5}.audio-guide{border:0;border-radius:20px;background:#fff1b8;color:#8b6724;padding:10px 14px;font-weight:800;font-size:16px;box-shadow:0 4px #e5c36d}.audio-guide span{font-size:23px;vertical-align:middle;margin-right:4px}.child-game{min-height:430px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;background:linear-gradient(150deg,#fffdf8,#f6efff)}.step-dots{display:flex;gap:10px;margin-bottom:18px}.step-dots i{width:15px;height:15px;border-radius:50%;background:#eaddeb}.step-dots i.filled{background:#f3a4be;box-shadow:0 2px #c77d9b}.game-hint{font-size:22px;font-weight:800;color:#96728a;margin:0 0 12px}.big-speaker{width:116px;height:116px;border:0;border-radius:50%;background:linear-gradient(145deg,#ffb4ca,#d9a6ed);box-shadow:0 7px #b77c9e,0 12px 20px #dfbdd0;color:#fff;font-size:57px;margin:7px 0 24px}.big-speaker:active{transform:translateY(5px);box-shadow:0 2px #b77c9e}.picture-options,.image-options{width:min(620px,100%);display:flex;justify-content:center;gap:15px;flex-wrap:wrap}.picture-options button{flex:1;min-width:120px;min-height:85px;border:3px solid #e6d7f2;border-radius:24px;background:#fff;font-size:35px;font-weight:800;color:#8c5875;box-shadow:0 5px #dfd0e6}.image-options button{width:125px;min-height:125px;border:3px solid #f0d5e2;border-radius:28px;background:#fff;font-size:72px;box-shadow:0 5px #e3c4d2}.picture-prompt{font-size:62px;min-height:90px;letter-spacing:5px;margin:0 0 18px}.gentle-feedback{min-height:32px;color:#43935a;font-size:23px;font-weight:800;margin:22px 0 0}.gentle-feedback.retry{color:#a17487}.finish-card{min-height:350px;text-align:center;display:flex;flex-direction:column;align-items:center;justify-content:center;background:linear-gradient(145deg,#fff5bb,#ffe0ee)}.finish-card span{font-size:96px}.finish-card h2{font-size:34px}.finish-card p{font-size:21px}.learn-more{background:#fff9fc;border:2px dashed #e7cfe0;border-radius:20px;padding:13px 18px;margin:18px 0;color:#896a7b}.learn-more summary{cursor:pointer;font-size:17px;font-weight:800}.learn-more .pinyin-group{margin-top:14px}.logo{border:0;background:transparent;cursor:pointer}.exit-parent{border:0;border-radius:16px;background:#fff1b8;color:#84611e;padding:9px 5px;font-weight:800;font-size:13px;box-shadow:0 3px #e4c46f}.today-games{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}.today-game{min-height:175px;border:3px solid #f2d6e4;border-radius:30px;background:linear-gradient(155deg,#fff,#fff0f5);box-shadow:0 7px #e5bfd0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px}.today-game span{font-size:59px}.today-game b{color:#a45276;font-size:22px}.today-game small{color:#8d7583;font-size:14px}.today-game.complete{background:linear-gradient(155deg,#fff8ca,#fff0f5)}.home-pet{display:flex;justify-content:space-between;align-items:center;padding:24px 38px;background:linear-gradient(135deg,#eae4ff,#ffe7ed)}.home-pet p{margin:0;color:#8b7185;font-weight:800}.home-pet h2{margin:5px 0 12px}.home-pet button{border:0;border-radius:15px;background:#fff;padding:9px 15px;font-weight:800;color:#965172}.home-pet>span{font-size:108px}.pet-reward{height:88px;display:flex;align-items:center;justify-content:center;gap:12px;animation:pet-celebrate 1.1s ease-in-out infinite}.pet-reward span{font-size:63px}.pet-reward i{font-style:normal;font-size:48px;animation:carrot-nibble .55s ease-in-out infinite alternate}.today-game span{display:flex;align-items:center;justify-content:center;min-height:68px;font-weight:900;letter-spacing:1px}.nav-item b{min-height:28px;display:flex;align-items:center;justify-content:center}@keyframes pet-celebrate{50%{transform:translateY(-10px) scale(1.08)}}@keyframes carrot-nibble{to{transform:translate(-17px) rotate(-15deg) scale(.78)}}@media (max-width:850px){body{min-width:0}.app-shell{min-height:0}.sidebar{min-width:118px;padding:10px 5px}.logo{font-size:24px}.logo span{font-size:15px}.nav-item{padding:6px 2px}.nav-item b{font-size:19px}.nav-item span{font-size:11px}.content{padding:18px}.section-title h1{font-size:30px}.two-cols,.english-grid{grid-template-columns:1fr 1fr}.poem-detail,.word-detail{grid-template-columns:110px 1fr}.poem-art{min-height:120px}.reward-grid{grid-template-columns:repeat(2,1fr)}.child-game{min-height:340px}.image-options button{width:92px;min-height:92px;font-size:53px}.picture-options button{min-height:70px;font-size:27px}.audio-guide b{display:none}.today-games{gap:10px}.today-game{min-height:155px}.today-game span{font-size:49px}.today-game b{font-size:17px}.today-game small{font-size:12px}.home-pet>span{font-size:75px}}.pet-scene{position:relative;width:300px;min-height:165px;margin:0 auto;display:flex;flex-direction:column;align-items:center;justify-content:center}.pet-scene .pet-face{position:relative;z-index:2}.pet-decor{position:absolute;top:4px;z-index:3;display:flex;gap:3px;font-size:38px}.pet-food{position:absolute;bottom:0;display:flex;align-items:center;justify-content:center;max-width:290px;flex-wrap:wrap;gap:1px;font-size:29px}.pet-food b{font-size:15px;color:#9c647b}.flying-food{position:absolute;top:-6px;z-index:5;font-size:54px;animation:feed-pet 1.6s ease-in forwards}.flying-decor{position:absolute;top:-30px;z-index:5;font-size:58px;animation:wear-decor 1.6s ease-out forwards}.pet-scene .pet-face.eating{animation:happy-eat .45s ease-in-out infinite alternate}.pet-scene .pet-face.celebrating{animation:happy-celebrate .4s ease-in-out infinite alternate}@keyframes feed-pet{0%{opacity:0;transform:translate(90px,-35px) rotate(20deg) scale(.7)}25%{opacity:1}65%{opacity:1;transform:translateY(60px) rotate(-15deg) scale(1.15)}to{opacity:0;transform:translateY(68px) scale(.25)}}@keyframes wear-decor{0%{opacity:0;transform:translate(-90px,-45px) rotate(-30deg) scale(.5)}25%{opacity:1}65%{opacity:1;transform:translateY(42px) rotate(8deg) scale(1.15)}to{opacity:0;transform:translateY(44px) scale(.85)}}@keyframes happy-eat{to{transform:translateY(-9px) rotate(-4deg) scale(1.08)}}@keyframes happy-celebrate{to{transform:translateY(-8px) rotate(5deg) scale(1.1)}}.treasure-box{background:linear-gradient(135deg,#fff8d9,#f7ebff)}.treasure-heading{display:flex;align-items:center;justify-content:space-between}.treasure-heading h2{margin-bottom:3px}.treasure-heading p{margin:0;color:var(--muted);font-weight:800}.treasure-heading>span{font-size:54px}.treasure-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-top:13px}.treasure{min-height:115px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;border-radius:20px;background:#fff;border:2px solid #f1d59b;box-shadow:0 4px #ead9ad;color:#9b6475}.treasure span{font-size:47px}.treasure b{font-size:14px}.treasure.locked{background:#ffffff8c;border-style:dashed;border-color:#dccfdc;box-shadow:none;color:#aa9daa;filter:saturate(.45)}.reward-modal{position:fixed;z-index:20;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;padding:18px;background:#5b364c6b}.reward-celebration{position:relative;overflow:hidden;width:min(440px,92vw);padding:31px 26px 25px;border:4px solid #fff1a9;border-radius:31px;background:radial-gradient(circle at 50% 7%,#fff9c8,#ffe6f0 58%,#eee4ff);text-align:center;box-shadow:0 18px 50px #552a4859;animation:reward-pop .42s cubic-bezier(.2,1.45,.45,1)}.celebration-icon{font-size:104px;line-height:1.05;animation:treasure-bounce .75s ease-in-out infinite alternate}.reward-celebration h2{margin:10px 0 3px;color:#a64b73;font-size:28px}.reward-celebration p{margin:0;color:#76586d;font-size:22px;font-weight:800}.burst{position:absolute;font-size:30px;font-style:normal;animation:burst-float 1.3s ease-in-out infinite alternate}.burst-one{top:25px;left:35px}.burst-two{right:35px;top:48px;animation-delay:.25s}.burst-three{left:65px;bottom:38px;animation-delay:.48s}@keyframes reward-pop{0%{opacity:0;transform:scale(.55) rotate(-8deg)}to{opacity:1;transform:scale(1) rotate(0)}}@keyframes treasure-bounce{to{transform:translateY(-10px) rotate(7deg) scale(1.1)}}@keyframes burst-float{to{transform:translateY(-13px) rotate(18deg) scale(1.15)}}.reward-count{display:inline-flex;align-items:center;justify-content:center;min-width:29px;height:29px;margin-left:-8px;vertical-align:top;border-radius:50%;background:#f196b7;color:#fff;font-size:14px!important;box-shadow:0 2px #b96b8b}.poem-line.heard{color:#438a57;background:#e8f6df;border-radius:12px;padding:4px 8px;width:fit-content}.poem-progress{margin:13px 0 0;color:#9a7185;font-weight:800}.poem-finish.locked{background:#c8bcca;box-shadow:0 5px #a897a8}.poem-finish.learned{background:#80af7e;box-shadow:0 5px #5d905d}.poem-shelf{margin:-6px 0 17px;padding:10px 16px;border-radius:16px;background:#fff3c3;color:#866724;font-size:18px;font-weight:800;text-align:center}.poem-switch{display:flex;align-items:center;justify-content:center;gap:24px;margin:-6px 0 20px}.poem-switch button{min-width:145px;border:0;border-radius:22px;padding:13px 17px;background:linear-gradient(135deg,#ffe4ee,#eee6ff);color:#945370;font-size:20px;font-weight:800;box-shadow:0 5px #d7b1c6}.poem-switch button span{margin:0 7px}.poem-switch button:active{transform:translateY(3px);box-shadow:0 2px #d7b1c6}.poem-switch b{min-width:68px;text-align:center;color:#997888}.theme-pills{display:flex;gap:8px;overflow-x:auto;padding:2px 2px 14px}.theme-pills button{white-space:nowrap;border:2px solid #ead8f1;border-radius:18px;background:#fff;padding:9px 14px;color:#87677b;font-weight:800}.theme-pills button.active{background:#ffe0ec;border-color:#e994b6;color:#a34c72}.word-game{min-height:500px}.word-picture{border:0;border-radius:32px;padding:15px 35px;margin:0 0 8px;background:linear-gradient(145deg,#fff3c9,#ffe3ee);display:flex;align-items:center;gap:24px;box-shadow:0 7px #e8c4d2}.word-picture span{font-size:94px}.word-picture b{font-family:Chalkboard SE,PingFang SC,sans-serif;color:#ad5278;font-size:100px;line-height:1}.word-clue{min-height:26px;margin:3px 0 8px;color:#967085;font-size:21px;font-weight:800}.word-game .big-speaker{width:83px;height:83px;margin:4px 0 17px;font-size:41px}.word-options button{font-size:48px;min-height:100px}.word-game .pet-reward{margin-top:8px}.english-teach-card{min-width:320px;border:3px solid #f0d6e6;border-radius:30px;padding:18px 34px;background:linear-gradient(145deg,#fffdf7,#ffe8f0);display:flex;flex-direction:column;align-items:center;gap:4px;box-shadow:0 7px #e5c5d4}.english-teach-card span{font-size:92px}.english-teach-card b{color:#a65075;font-size:34px}.english-teach-card em{color:#706172;font-size:21px;font-style:normal}.english-teach-card small{color:#9a7d8e;font-weight:800}.profile-gate{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:24px;background:radial-gradient(circle at 80% 15%,#ebe2ff 0 14%,transparent 35%),#fff3f6}.profile-card{width:min(460px,100%);text-align:center;padding:35px;border-radius:32px;background:#fffdfb;box-shadow:0 15px 35px #af78942e}.profile-card>span{font-size:65px}.profile-card h1{color:#a57;font-size:27px}.profile-card p{color:#837080;line-height:1.5}.profile-card input{display:block;width:100%;margin:12px 0;border:2px solid #edd7e4;border-radius:15px;padding:14px;font-size:18px;background:#fffafd}.profile-card button{width:100%;border:0;border-radius:16px;padding:14px;background:linear-gradient(135deg,#f191b4,#ca96dc);color:#fff;font-size:18px;font-weight:800}.profile-card button:disabled{opacity:.6}.profile-card a{display:inline-block;margin-top:18px;color:#9b6080;cursor:pointer;font-weight:800}.form-error{color:#bf5570!important;font-weight:800}
