@import url('https://fonts.googleapis.com/css2?family=Nunito:wght@600;700;800;900&display=swap');
:root{--ink:#293c34;--green:#38765b;--muted:#7b857d;--cream:#f9f7f0;--line:#e7e8df}*{box-sizing:border-box}body{margin:0;background:var(--cream);color:var(--ink);font-family:Nunito,'PingFang SC','Microsoft YaHei',sans-serif}button,input,select{font:inherit}button,a,select{-webkit-tap-highlight-color:transparent}button{cursor:pointer;border:0;color:inherit;transition:transform .15s,background .15s}button:hover{transform:translateY(-2px)}button:disabled{cursor:default;opacity:.55;transform:none}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid #e9b94f;outline-offset:4px}header{max-width:1200px;margin:auto;padding:28px 40px;display:flex;justify-content:space-between;align-items:center}.brand{display:flex;align-items:center;gap:12px;text-decoration:none;color:var(--ink);font-weight:900;font-size:21px}.brand>span{font-size:35px}.brand small{display:block;font-size:9px;letter-spacing:2px;margin-top:4px;color:var(--muted)}.header-right{display:flex;gap:25px;align-items:center}.unit{font-size:12px;letter-spacing:1px;color:#7a827a}.star{background:#fff0c9;border:1px solid #efdfaf;border-radius:30px;padding:8px 18px;color:#946c18;font-weight:900}main{max-width:1120px;margin:auto;padding:0 0 30px}.hero{display:grid;grid-template-columns:1fr 1fr;min-height:370px;align-items:center;padding:22px 30px 35px}.eyebrow{font-size:10px;letter-spacing:2px;font-weight:900;color:#8b9987}h1{font-size:44px;line-height:1.45;margin:15px 0;font-weight:900;letter-spacing:-1px}h1 span{color:var(--green)}.hero p{color:var(--muted);line-height:1.9;font-size:14px}.primary{background:var(--green);color:white;padding:15px 25px;border-radius:13px;font-weight:800;box-shadow:0 5px 0 #28563e}.primary span{margin-left:30px}.tiny{font-size:11px;color:#929b90;margin:16px 0}.island{height:310px;position:relative;isolation:isolate}.rainbow{position:absolute;left:20%;top:25px;width:270px;height:200px;border-radius:160px 160px 0 0;border:26px solid #e89b85;border-bottom:0}.rainbow i{position:absolute;border-radius:160px 160px 0 0;border:22px solid #edc974;border-bottom:0;inset:0}.rainbow i:nth-child(2){inset:22px 22px 0;border-color:#b5c58c}.rainbow i:nth-child(3){inset:44px 44px 0;border-color:#8bbbc0}.rainbow i:nth-child(4){inset:66px 66px 0;border-color:#b6a7c7}.hill{position:absolute;bottom:0;left:10%;width:85%;height:95px;border-radius:50%;background:#dfe8d4;z-index:-1}.cloud{position:absolute;font-size:110px;color:white;filter:drop-shadow(0 5px 0 #eeeeea);line-height:1}.c1{top:125px;left:10%}.c2{top:120px;right:10%}.mascot{position:absolute;font-size:100px;bottom:0;left:41%;filter:drop-shadow(0 8px 0 #b9cdb2)}.floating{position:absolute;background:white;padding:12px 19px;border-radius:12px;box-shadow:0 6px 20px #40513e0b;font-weight:800}.f1{top:50px;left:2%;transform:rotate(-10deg)}.f1 b{color:#e9857b;padding-left:15px}.f2{bottom:12px;right:0;transform:rotate(-6deg);font-size:14px}.f3{top:72px;right:0;transform:rotate(9deg)}.f3 b{color:#88b8d7;padding-left:15px}.spark{position:absolute;color:#dbb65e;font-size:32px}.s1{right:25%;top:0}.s2{left:15%;bottom:50px}.dashboard{display:flex;align-items:center;background:white;border:1px solid var(--line);border-radius:20px;padding:24px 32px;gap:36px;box-shadow:0 5px 0 #eceee4}.dashboard>div:not(:last-child){min-width:140px}.dashboard strong{display:block;font-size:24px;font-weight:900}.dashboard span{color:var(--muted);font-size:12px}.progress-wrap{flex:1;border-left:1px solid var(--line);padding-left:30px}.progress-wrap span{display:flex;justify-content:space-between;gap:20px}.track{height:9px;border-radius:10px;background:#eff1e9;margin-top:12px;overflow:hidden}.track i{display:block;height:100%;background:linear-gradient(90deg,#e79e91,#edcf79,#94bb92,#9cb9d1);width:0;transition:width .4s}nav{display:flex;gap:10px;margin:32px 0 22px;overflow:auto;padding:4px 1px}nav button{padding:13px 23px;border-radius:12px;background:transparent;white-space:nowrap;color:#7c887d;font-weight:800}nav button.active{background:#e5ecdf;color:#416645}.workspace{background:#fff;border:1px solid var(--line);border-radius:24px;padding:28px 34px;min-height:360px}.section-head,.card-top{display:flex;justify-content:space-between;align-items:center;gap:20px}h2{font-size:21px;margin:0 0 8px}h2 span{font-size:10px;letter-spacing:2px;color:#a1a895;margin-left:12px}.section-head p,.muted{font-size:13px;color:var(--muted)}.pill{background:#f0f3e9;padding:7px 12px;border-radius:8px;font-size:11px;color:#7b9067}.card-top small{color:var(--muted)}.learning{display:grid;grid-template-columns:1fr 1fr;gap:35px;margin-top:24px}.word-main{display:flex;align-items:center;gap:25px;padding:15px}.word-emoji{font-size:72px;background:#f8f2e7;border-radius:28px;min-width:135px;height:135px;display:grid;place-items:center}.word-title{font-size:38px;font-weight:900;margin:0 0 5px;overflow-wrap:anywhere}.meaning{font-size:16px;color:#6c7a6c;margin:0}.audio-row{display:flex;gap:9px;flex-wrap:wrap;margin-top:20px}.soft,.sound{background:#eef3e9;padding:10px 14px;border-radius:11px;color:#547344;font-size:13px;font-weight:800}.sound{background:#e8f0eb;color:#347657}.example{padding:26px;background:#faf8f2;border-radius:18px;display:flex;flex-direction:column;justify-content:center}.example small{font-size:10px;letter-spacing:1px;color:#a2997f}.example p{font-size:21px;font-weight:800;line-height:1.5;margin:13px 0 8px}.example b{color:#52816b}.example .translation{font-size:13px;color:#8b8f7d;font-weight:400}.card-actions{display:flex;justify-content:space-between;align-items:center;margin-top:28px;gap:15px}.secondary{padding:12px 17px;background:#f3f4ef;border-radius:11px}.all-words{margin-top:36px}.section-head label{font-size:12px;color:var(--muted)}select{border:1px solid var(--line);border-radius:10px;padding:9px 14px;background:#fff;margin-left:10px;color:#64735e}.word-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:11px;margin-top:19px}.word-tile{background:#fff;border:1px solid var(--line);padding:17px 8px;border-radius:15px;text-align:center;position:relative}.word-tile.selected{border-color:#72a388;background:#eef5e9}.word-tile .emoji{display:block;font-size:27px;margin-bottom:9px}.word-tile strong{font-size:14px;display:block}.word-tile small{display:block;font-size:10px;color:#8c9586;margin-top:6px}.dot{position:absolute;right:8px;top:7px;color:#699568;font-size:12px}.quiz{text-align:center;padding:15px 0}.quiz h3{font-size:24px;margin:12px 0}.quiz .big-emoji{font-size:50px}.options{display:grid;grid-template-columns:repeat(2,1fr);gap:12px;max-width:590px;margin:22px auto}.option{border:2px solid #e7ebe2;background:#fff;padding:16px;border-radius:14px;font-weight:800}.option.correct{background:#e5f3e5;border-color:#74a46e}.option.wrong{background:#fff0e7;border-color:#e3a276}.answer{padding:14px;font-size:24px;letter-spacing:5px;border:2px solid #dce5d5;border-radius:12px;max-width:100%;width:400px;text-align:center;color:var(--ink);margin:14px 0}.feedback{min-height:32px;color:#568344;font-size:15px;line-height:1.7}.bad{color:#b4794f}.quiz-actions{display:flex;justify-content:center;gap:12px;flex-wrap:wrap}.session-progress{display:flex;align-items:center;gap:12px;color:var(--muted);font-size:12px}.session-progress .track{width:110px;margin:0}.session-progress i{background:#89aa78}.review-empty{text-align:center;padding:45px 0}.review-empty span{font-size:50px}.review-list{display:flex;gap:10px;flex-wrap:wrap;margin:20px 0}footer{text-align:center;color:#8a9583;padding:38px 0;font-size:13px;line-height:2}footer small{font-size:10px}details{max-width:650px;margin:16px auto}details p{font-size:12px;text-align:left}details button{padding:8px;border-radius:8px;background:#ecece4}#toast{position:fixed;bottom:25px;left:50%;transform:translateX(-50%);background:#294b38;color:white;border-radius:14px;padding:13px 24px;box-shadow:0 6px 25px #0002;display:none;z-index:20;max-width:90%;font-size:14px}.complete{font-size:60px}.hint{color:#9a8764;font-size:13px;min-height:22px}.saved-note{font-size:10px;color:#9a9c90} @media(max-width:900px){main{padding:0 24px}.hero{padding:20px 0}h1{font-size:35px}.dashboard{gap:20px;padding:22px}.dashboard>div:not(:last-child){min-width:100px}.word-grid{grid-template-columns:repeat(4,1fr)}.word-main{gap:15px;padding:0}.word-emoji{min-width:90px;height:100px;font-size:55px}.word-title{font-size:29px}.rainbow{left:16%;width:240px}.progress-wrap{padding-left:16px}.workspace{padding:24px}}@media(max-width:620px){header{padding:20px}.brand{font-size:17px}.brand>span{font-size:26px}.unit{display:none}.header-right{gap:5px}main{padding:0 17px}.hero{grid-template-columns:1fr;min-height:0;padding-bottom:22px}.hero>div:first-child{z-index:2}.hero h1{font-size:32px}.hero p{font-size:13px}.island{height:190px;margin-top:5px;max-width:380px;width:100%;justify-self:center}.rainbow{transform:scale(.7);transform-origin:top center;top:0;left:18%}.cloud{font-size:75px}.c1{top:65px}.c2{top:68px}.mascot{font-size:75px}.hill{height:60px}.floating{padding:8px 12px;font-size:12px}.f1{top:25px}.f3{top:30px}.f2{bottom:0}.dashboard{gap:12px;flex-wrap:wrap;padding:18px}.dashboard>div:not(:last-child){min-width:0;flex:1}.dashboard strong{font-size:20px}.dashboard span{font-size:10px}.progress-wrap{flex-basis:100%;padding:14px 0 0;border-left:0;border-top:1px solid var(--line)}nav{margin:24px 0 15px;gap:5px}nav button{padding:12px;font-size:13px}.workspace{padding:19px;min-height:0}.learning{grid-template-columns:1fr;gap:20px}.word-main{justify-content:center}.word-title{font-size:32px}.example{padding:20px}.example p{font-size:20px}.card-actions{flex-wrap:wrap;margin-top:20px}.primary{padding:13px 18px;font-size:14px}.card-actions>.primary{order:-1;width:100%}.word-grid{grid-template-columns:repeat(3,1fr);gap:8px}.section-head{align-items:start;flex-direction:column;gap:8px}h2{font-size:19px}.word-tile{padding:14px 5px}.word-tile strong{font-size:13px}.quiz h3{font-size:22px}.options{gap:9px}.option{padding:13px 8px;font-size:14px}.session-progress .track{width:65px}.card-top{gap:8px}.card-top h2{font-size:17px}.answer{font-size:22px;letter-spacing:3px}.hero .tiny{margin-bottom:0}}
@media(prefers-reduced-motion:reduce){*{transition:none!important}}

.typing-letter{transition:color .12s}.typing-letter.typed-correct{color:#d33f3f}
.read-type{margin-top:22px;padding:20px 24px;border-radius:16px;background:#fff8f4;border:1px solid #f1e4db}.read-type label{display:block;font-size:14px;font-weight:800;margin-bottom:12px}.read-type input{width:100%;max-width:480px;display:block;border:2px solid #e7ddd3;border-radius:11px;background:#fff;padding:12px 16px;color:var(--ink);font-size:24px;letter-spacing:4px;min-width:0}.read-type input[aria-invalid="true"]{border-color:#d99a75}.read-type input.typing-complete{border-color:#81ab80}.read-type p{margin:10px 0 0;font-size:12px;color:#797f70;line-height:1.7;min-height:21px}.read-type p.typing-error{color:#a45634}@media(max-width:620px){.read-type{padding:17px}.read-type input{font-size:22px;letter-spacing:3px}}

.word-study{min-width:0}.word-main>div:last-child{min-width:0}.read-type input::placeholder{font-size:14px;letter-spacing:0}
.word-title .typing-letter{font:inherit;letter-spacing:inherit;margin:0;color:inherit}.word-title .typing-letter.typed-correct{color:#d33f3f}

.chapter-section{margin:0 0 30px}.chapter-intro{scroll-margin-top:20px;margin:24px 0 18px}#chapters{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:10px;margin-top:18px}.chapter-card{border:2px solid #e6e9de;background:#fff;border-radius:17px;padding:16px 10px;text-align:left;min-width:0}.chapter-card.active{border-color:#44856a;background:#edf5e9;box-shadow:0 4px 0 #d9e5d2}.chapter-card strong,.chapter-card span,.chapter-card small{display:block}.chapter-card strong{font-size:17px;margin:10px 0 5px}.chapter-card span:not(.chapter-number){font-size:11px;color:#75826f}.chapter-card small{font-size:10px;margin-top:14px;color:#8a957d}.chapter-number{font-size:27px}.chapter-card .track i{background:#89aa78}.word-title{white-space:normal}.typing-letter{white-space:pre-wrap}.word-title{font-size:clamp(24px,3vw,38px)}@media(max-width:900px){#chapters{grid-template-columns:repeat(4,minmax(0,1fr))}}@media(max-width:620px){#chapters{grid-template-columns:repeat(2,minmax(0,1fr))}.chapter-card:last-child{grid-column:1/-1}.chapter-card{padding:12px 14px}.chapter-card .chapter-number{float:right}.chapter-card strong{margin-top:0}.chapter-section{margin-top:14px}.word-title{font-size:28px}}
