@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Noto+Sans+SC:wght@400;500;600;700&display=swap');
:root{--paper:#f5f6f2;--ink:#203d35;--muted:#7d8980;--green:#326451;--line:#dfe4dc;--lime:#d9ed9b}*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font:14px 'DM Sans','Noto Sans SC',sans-serif}button,a,input,select{font:inherit}button,a{ -webkit-tap-highlight-color:transparent}button{cursor:pointer}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid #a6c65a;outline-offset:3px}a{color:inherit;text-decoration:none}aside{width:244px;position:fixed;inset:0 auto 0 0;background:#fbfcf8;border-right:1px solid var(--line);padding:35px 23px;display:flex;flex-direction:column;z-index:5}.brand{display:flex;align-items:center;gap:12px;font-size:22px;font-weight:700;letter-spacing:-.6px}.logo{width:43px;height:47px;border:1px solid #355949;border-radius:13px;display:grid;place-items:center;font-family:Georgia;font-size:40px;font-weight:400}.brand small{display:block;font-size:9px;letter-spacing:1.6px;margin-top:5px;font-weight:500}.navlabel{font-size:9px;color:var(--muted);letter-spacing:1.5px;margin:51px 12px 16px}nav{display:grid;gap:8px}nav button{border:0;background:none;color:#718077;display:flex;align-items:center;gap:13px;text-align:left;padding:14px 15px;border-radius:8px;font-size:19px}nav button span{font-size:13px;flex:1}nav button small{font-size:9px;color:#91a087}nav button.active{background:var(--green);color:#fff}nav button.active small{color:#b7d0bd}.sidebar-bottom{margin-top:auto;padding:30px 10px 0}.tiny-pill{font-size:8px;letter-spacing:1.3px;color:#859080}.book-mini{margin-top:16px;background:#245b70;color:white;padding:20px 15px;width:125px;height:142px;box-shadow:4px 5px 0 #d3ded7;transform:rotate(-5deg);font-size:19px;font-weight:500;position:relative;overflow:hidden}.book-mini:after{content:'〰';position:absolute;right:7px;bottom:17px;font-size:75px;color:#d8edb8}.book-mini span{font-size:9px;display:block;margin-top:8px}.book-mini b{font-size:7px;position:absolute;bottom:9px}.sidebar-bottom p{font-size:11px;line-height:1.9;margin-top:20px}.sidebar-bottom p span{color:var(--muted);font-size:10px}.support{border-top:1px solid var(--line);padding-top:18px;margin-top:20px;font-size:11px;line-height:1.9}.support small{font-size:9px;color:var(--muted)}.shell{margin-left:244px}header{height:83px;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 46px;font-size:9px;letter-spacing:1.7px;color:#768479}.green-dot{display:inline-block;width:6px;height:6px;border-radius:50%;background:#719168;margin-right:8px}.header-actions{display:flex;align-items:center;gap:22px}.header-actions button{font-size:11px;background:none;border:1px solid var(--line);padding:9px 12px;border-radius:6px;letter-spacing:0;color:var(--green)}.avatar{border-radius:50%;background:#e3e9dc;width:30px;height:30px;display:grid;place-items:center;letter-spacing:0}main{max-width:1450px;margin:auto;padding:35px 46px 30px}.eyebrow{color:#7b897c;font-size:10px;letter-spacing:2px;font-weight:500}.title-row{display:flex;justify-content:space-between;align-items:center;margin-bottom:27px}h1{font-size:29px;letter-spacing:-1px;margin:10px 0 9px;font-weight:600}.subtle{color:var(--muted);font-size:12px;line-height:1.9}.date-chip{font-size:10px;border:1px solid var(--line);padding:8px 12px;border-radius:20px;color:#76836f}.hero{display:grid;grid-template-columns:1fr 1fr;background:#e9eddf;border-radius:13px;min-height:310px;overflow:hidden;border:1px solid #dce2d2}.hero-copy{padding:34px 37px;z-index:1}.pill{font-size:9px;letter-spacing:1px;padding:6px 9px;display:inline-block;border:1px solid #bac9ac;border-radius:4px}.hero h2{font-family:Georgia,'Noto Sans SC',serif;font-size:38px;line-height:1.28;letter-spacing:-1px;margin:19px 0 13px;font-weight:500}.hero h2 em{font-weight:400;color:#67884c}.hero p{font-size:12px;line-height:1.9;color:#70806a;max-width:330px}.primary,.secondary{border:0;background:var(--green);color:white;padding:12px 19px;border-radius:6px;font-size:12px;display:inline-flex;align-items:center;gap:22px}.secondary{background:#edf1e7;color:var(--green);border:1px solid #d3ddcc}.hero .primary{margin-top:12px}.hero-visual{position:relative;min-height:290px;background:radial-gradient(ellipse at 52% 60%,#fafcf2 0,transparent 68%)}.hero-visual canvas{width:100%;height:100%;position:absolute;inset:0}.visual-tag{position:absolute;top:25px;right:24px;font-size:8px;letter-spacing:1.4px;color:#799166}.visual-bottom{position:absolute;bottom:21px;left:25px;right:25px;display:flex;justify-content:space-between;font-family:Georgia;font-size:16px;color:#5b7658}.visual-bottom span:last-child{font:9px 'DM Sans';letter-spacing:1px}.stats{display:grid;grid-template-columns:repeat(3,1fr);margin:22px 0 30px;border:1px solid var(--line);border-radius:9px;background:#fafbf7;padding:18px 0}.stat{padding:0 24px;border-right:1px solid var(--line);display:flex;gap:15px;align-items:center}.stat:last-child{border:0}.stat-icon{background:#e9eee0;padding:11px;border-radius:8px;font-size:20px}.stat b{font-size:20px;font-weight:500}.stat small{font-size:10px;color:var(--muted);display:block;margin-top:4px}.stat b span{font-size:10px;color:#8a9587;font-weight:400;margin-left:7px}.section-head{display:flex;justify-content:space-between;align-items:center;margin:28px 0 17px}.section-head h2{font-size:19px;font-weight:600;margin:0}.section-head h2 small{font-size:10px;letter-spacing:1px;color:var(--muted);font-weight:400;margin-left:12px}.text-button{background:none;border:0;color:#66805a;font-size:11px}.course-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:17px}.course-card{background:#fcfdf9;border:1px solid var(--line);border-radius:10px;overflow:hidden;text-align:left;padding:0;color:var(--ink);transition:transform .2s,box-shadow .2s}.course-card:hover{transform:translateY(-4px);box-shadow:0 10px 25px #243d3310}.card-art{height:132px;position:relative;overflow:hidden;display:grid;place-items:center;background:#e7eddf}.card-art svg{width:85%;height:100%;overflow:visible}.card-art.blue{background:#e5edf0}.card-art.sand{background:#eee9dc}.card-art .chapter-number{position:absolute;top:14px;left:17px;font-size:9px;color:#789072;letter-spacing:1px}.card-body{padding:18px}.card-body .eyebrow{font-size:8px;letter-spacing:1.3px}.card-body h3{font-size:16px;margin:9px 0 6px;font-weight:500}.card-body p{font-size:11px;color:var(--muted);margin:0 0 19px}.card-meta{display:flex;justify-content:space-between;font-size:9px;color:#83927b;border-top:1px solid #e8ece2;padding-top:13px}.bottom-grid{display:grid;grid-template-columns:1.15fr 1fr;gap:20px}.word-preview,.daily{background:#fafbf7;border:1px solid var(--line);border-radius:10px;padding:23px}.word-large{font:30px Georgia;letter-spacing:-.5px}.phonetic{font-size:12px;color:#929d88;margin-left:9px}.sound{border:1px solid #d5dfca;color:#5f7c50;background:#eaf0e0;border-radius:50%;width:33px;height:33px}.word-top{display:flex;justify-content:space-between;align-items:center}.word-preview p,.daily p{font-size:12px;line-height:1.9;color:#77836e}.word-example{border-top:1px solid var(--line);padding-top:14px;font-size:12px;color:#5c7253}.daily{background:#edf0e5}.daily b{font-size:11px;font-weight:500;letter-spacing:1px}.daily h3{font-size:18px;margin:13px 0}.daily .text-button{padding:0}footer{max-width:1450px;margin:auto;padding:20px 46px 28px;display:flex;justify-content:space-between;font-size:8px;letter-spacing:1px;color:#9aa391}footer span{letter-spacing:0}.tabs{display:flex;gap:8px;flex-wrap:wrap;margin:22px 0}.tabs button{border:1px solid var(--line);background:#fcfdf8;color:#718165;padding:9px 15px;border-radius:30px;font-size:11px}.tabs button.active{background:var(--green);color:white}.lab-grid{display:grid;grid-template-columns:1.6fr 1fr;gap:22px}.panel{background:#fcfdf9;border:1px solid var(--line);border-radius:11px;padding:26px}.panel h3{font-size:18px;margin-top:0}.experiment{height:330px;width:100%;background:#edf1e6;border-radius:8px;display:block}.control{display:flex;align-items:center;gap:15px;margin:20px 0;font-size:12px}.control input{flex:1;accent-color:var(--green);min-width:30px}.control output{min-width:68px}.formula{background:#eaf0de;padding:20px;border-radius:8px;font-family:Georgia;font-size:29px;text-align:center;margin:20px 0}.explain{font-size:13px;line-height:2;color:#66785e}.en-line{font-size:14px;line-height:1.9;color:#405c46}.zh{color:#8a957e;font-size:12px;line-height:1.9}.notice{padding:13px 17px;border-left:3px solid #a9bd7e;background:#edf1e4;font-size:12px;line-height:1.9;margin:20px 0}.lesson-layout{display:grid;grid-template-columns:1.65fr 1fr;gap:22px}.lesson-steps{display:flex;gap:10px;flex-wrap:wrap;margin:20px 0}.lesson-steps span{padding:8px 13px;border-radius:30px;border:1px solid var(--line);font-size:10px}.vocab-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:17px}.vocab-card{background:#fcfdf8;border:1px solid var(--line);border-radius:9px;padding:22px}.vocab-card h3{font:25px Georgia;margin:5px 0 8px}.vocab-card .word-top{align-items:flex-start}.vocab-card p{font-size:12px;line-height:1.8;color:#6b7f60}.vocab-card .master{border:0;background:none;color:#8c9c7b;font-size:10px;padding:13px 0 0}.vocab-card.learned{border-color:#9cb17c}.search{width:100%;border:1px solid var(--line);border-radius:8px;padding:13px 17px;background:#fcfdf9;outline-color:#91a975}.quiz-option{display:block;width:100%;text-align:left;border:1px solid var(--line);border-radius:7px;background:#fcfdf9;padding:14px;margin:9px 0;color:var(--ink)}.quiz-option.selected{background:#edf2dd;border-color:#8ca86a}.feedback{padding:17px;border-radius:7px;background:#eaf0df;line-height:1.9;font-size:13px;margin:15px 0}.feedback.wrong{background:#f3e8df;color:#8e5945}.progressbar{height:5px;border-radius:5px;background:#dce4d1;overflow:hidden;margin:15px 0}.progressbar i{display:block;background:#65894f;height:100%}.empty{padding:35px;text-align:center;color:var(--muted)}#toast{position:fixed;bottom:25px;left:calc(50% + 100px);transform:translateX(-50%);background:#294b3a;color:white;padding:12px 22px;border-radius:7px;z-index:20;display:none;font-size:12px}.english .zh{display:none}.source-link{color:#65864e;text-decoration:underline;font-size:11px}.spin{animation:rotate 8s linear infinite;transform-origin:center}.bob{animation:bob 3s ease-in-out infinite}.slide{animation:slide 4s ease-in-out infinite}@keyframes rotate{to{transform:rotate(360deg)}}@keyframes bob{50%{transform:translateY(-13px)}}@keyframes slide{50%{transform:translateX(35px)}}@media(min-width:1600px){main{padding-top:45px}.hero{min-height:350px}.hero-copy{padding:43px}.card-art{height:155px}}@media(max-width:1100px){aside{width:200px;padding:29px 16px}.shell{margin-left:200px}main{padding:30px 26px}header{padding:0 26px}.brand{font-size:19px}.hero-copy{padding:27px}.hero h2{font-size:30px}.stat{padding:0 15px;gap:10px}.stat-icon{display:none}.vocab-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:760px){aside{position:sticky;top:0;width:100%;height:auto;padding:13px 18px;border-right:0;border-bottom:1px solid var(--line)}.brand{font-size:18px}.logo{width:32px;height:34px;font-size:28px}.brand small{font-size:7px}.navlabel,.sidebar-bottom{display:none}nav{display:flex;margin-top:13px;gap:4px;overflow:auto}nav button{padding:9px 10px;gap:6px;font-size:15px;white-space:nowrap}nav button span{font-size:10px}nav button small{display:none}.shell{margin:0}header{height:54px;padding:0 19px;font-size:7px;letter-spacing:.8px}.header-actions{gap:9px}.header-actions button{font-size:9px;padding:6px}.avatar{width:23px;height:23px}main{padding:25px 18px}.date-chip{display:none}h1{font-size:25px}.hero{grid-template-columns:1fr}.hero-copy{padding:28px}.hero h2{font-size:34px}.hero-visual{min-height:220px}.stats{margin-top:16px;padding:15px 0}.stat{padding:0 12px}.stat b{font-size:19px}.stat b span{display:none}.stat small{font-size:8px}.course-grid{grid-template-columns:1fr}.card-art{height:160px}.bottom-grid,.lab-grid,.lesson-layout{grid-template-columns:1fr}.vocab-grid{grid-template-columns:1fr}.section-head h2 small{display:none}footer{padding:15px 20px;gap:15px;font-size:7px}.experiment{height:260px}.panel{padding:20px}#toast{left:50%;width:max-content;max-width:90%}.title-row{margin-bottom:20px}}
@media(prefers-reduced-motion:reduce){.spin,.bob,.slide{animation:none}*{scroll-behavior:auto}}

.word-count{font-size:9px;opacity:.65;margin-left:4px}.vocab-card h3{overflow-wrap:anywhere;font-size:23px;line-height:1.3}.vocab-card .sound{flex-shrink:0;margin-left:10px}.vocab-card .phonetic{line-height:1.8;overflow-wrap:anywhere}
