:root{font-family:"Microsoft YaHei","PingFang SC",system-ui,sans-serif;color:#263f37;background:#f7f6f2;font-synthesis:none;--green:#244f42;--lime:#e1ecae;--muted:#718078;--line:#e5e8df}*{box-sizing:border-box}body{margin:0}button,input,textarea{font:inherit}button,a,input,textarea,summary{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button{border:0}button:disabled{opacity:.55;cursor:default}a{color:inherit}button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible,summary:focus-visible{outline:3px solid #78914b;outline-offset:4px}h1,h2,h3,p{margin:0}h1{font-size:32px;line-height:1.4;letter-spacing:-1px}h2{font-size:20px}h3{font-size:18px}p{line-height:1.8}small{font-size:12px}.icon{width:22px;height:22px;flex-shrink:0;vertical-align:middle}.top{max-width:1120px;height:100px;margin:auto;display:flex;align-items:center;justify-content:space-between;padding:0 32px;border-bottom:1px solid var(--line)}.brand{display:flex;gap:12px;align-items:center;text-decoration:none;font-size:21px;font-weight:750;letter-spacing:1px}.brand small{display:block;font-size:11px;font-weight:400;letter-spacing:2px;color:var(--muted);margin-top:4px}.brandmark{width:43px;height:43px;border-radius:14px;background:var(--green);color:var(--lime);display:grid;place-items:center}.avatar{width:38px;height:38px;background:#eaece3;border-radius:50%;color:var(--green)}main{max-width:1060px;margin:auto;padding:36px 0 125px}.greeting{display:flex;justify-content:space-between;align-items:center;margin-bottom:27px}.eyebrow{font-size:12px;letter-spacing:1px;color:#718078;margin-bottom:9px}.greeting .muted{margin-top:8px}.muted{color:#6a7971;font-size:14px}.date-pill,.pill{display:inline-flex;border:1px solid var(--line);border-radius:30px;padding:6px 12px;font-size:11px;color:#65746b;white-space:nowrap}.hero{background:var(--green);color:white;position:relative;border-radius:26px;display:flex;overflow:hidden;padding:33px 38px;min-height:276px}.hero-copy{position:relative;z-index:1;flex:1}.hero h2{font-size:30px;font-weight:650;letter-spacing:-.5px;margin:21px 0 8px}.hero p{color:#d3e0d5;font-size:14px}.badge{display:inline-flex;align-items:center;gap:7px;font-size:12px;background:#ffffff12;color:#e4edc6;padding:6px 11px;border-radius:30px}.badge .icon{width:14px;height:14px}.hero-meta{display:flex;align-items:center;gap:12px;color:#c5d4c9;font-size:11px;margin:13px 0 22px}.hero-meta i{width:3px;height:3px;border-radius:50%;background:#9fb29c}.primary,.outline,.ghost{min-height:47px;display:inline-flex;align-items:center;justify-content:center;gap:9px;padding:12px 20px;border-radius:12px;font-size:14px;font-weight:600;transition:background .15s,transform .15s}.primary{background:var(--green);color:white}.primary:hover{background:#32654f}.primary:active{transform:translateY(1px)}.primary.light{color:#294835;background:var(--lime)}.primary.light:hover{background:#eff6cb}.primary.light .icon{width:18px;margin-left:28px}.outline{background:transparent;border:1px solid #d8dfd4;color:var(--green)}.outline:hover{background:#edf1e8}.ghost{background:#f2f3ec;color:var(--green)}.small{min-height:39px;padding:8px 13px;font-size:12px}.text-btn{display:inline-flex;align-items:center;justify-content:center;gap:5px;min-height:44px;padding:8px 0;color:#45634e;background:transparent;font-size:13px}.text-btn .icon{width:15px}.hero-art{width:290px;position:relative;flex-shrink:0}.orbit{position:absolute;right:-22px;top:-64px;width:300px;height:300px;border:1px solid #ffffff12;border-radius:50%}.orbit:after{content:"";position:absolute;inset:28px;border:1px solid #ffffff0b;border-radius:50%}.bubble{position:absolute;display:flex;align-items:center;justify-content:center;gap:7px}.bubble.big{background:#dfeaab;color:var(--green);width:135px;height:103px;border-radius:25px 25px 25px 5px;right:55px;top:27px;transform:rotate(-8deg);box-shadow:10px 16px 0 #133d3330}.bubble.big i{width:7px;height:22px;border-radius:8px;background:#42634a}.bubble.big i:nth-child(2),.bubble.big i:nth-child(4){height:42px}.bubble.big i:nth-child(3){height:59px}.bubble.little{width:70px;height:60px;border:2px solid #abc7b0;background:#719881;right:17px;top:112px;border-radius:19px 19px 5px 19px;transform:rotate(9deg)}.bubble.little .icon{width:32px;height:32px}.star{position:absolute;right:4px;top:11px;font-size:31px;color:#dfeab0}.art-caption{font-size:11px;letter-spacing:2px;position:absolute;right:58px;bottom:18px;color:#b4c8b6}.stats{display:grid;grid-template-columns:repeat(3,1fr);padding:26px 0;margin:20px 0 19px;border-bottom:1px solid var(--line)}.stats>div{display:flex;flex-direction:column;padding-left:28px;border-right:1px solid var(--line);gap:9px}.stats>div:first-child{padding-left:0}.stats>div:last-child{border:0}.stats strong{font-size:28px;font-weight:600}.stats strong small{font-weight:400;font-size:12px;color:var(--muted);margin-left:4px}.stats span{color:#718078;font-size:12px}.home-grid{display:grid;grid-template-columns:1.35fr 1fr;gap:25px}.section-title{display:flex;align-items:center;justify-content:space-between;margin:13px 0}.section-title h2{font-size:17px}.panel{border:1px solid var(--line);border-radius:18px;background:#fff;padding:24px}.rows{padding:0 22px}.lesson-row{display:flex;text-align:left;align-items:center;width:100%;gap:15px;min-height:100px;background:transparent;color:inherit;border-bottom:1px solid #edf0e8;padding:18px 0}.lesson-row:last-child{border:0}.lesson-icon{height:49px;width:49px;border-radius:15px;display:grid;place-items:center;flex-shrink:0}.color-0{background:#eef2df;color:#6c814d}.color-1{background:#f7eddf;color:#ae8555}.color-2{background:#e8f0ed;color:#588271}.row-copy{flex:1}.row-copy strong{display:block;font-size:15px;font-weight:600;line-height:1.6}.row-copy small{display:block;color:#7b847c;font-size:11px;margin-top:6px}.row-end{color:#869583}.row-end .icon{width:16px}.tip-card{background:#eef0e3;border-radius:18px;min-height:302px;padding:23px}.tip-icon{display:inline-grid;place-items:center;width:33px;height:33px;border-radius:50%;background:#e1e7cd;color:#688049;margin-bottom:13px}.tip-card h3{font-size:17px;margin-bottom:9px}.tip-card p{font-size:12px;color:#6d7868;line-height:1.9}.mini-formula{margin:17px 0 7px;background:#ffffff85;border-radius:10px;padding:12px 15px}.mini-formula strong{display:block;font-family:Georgia,serif;font-size:19px;font-weight:500}.mini-formula span{display:block;font-size:11px;color:#7b8374;margin-top:5px}.footnote{font-size:11px;text-align:center;color:#7a867d;margin:27px 0 0}.bottom{position:fixed;bottom:17px;left:50%;transform:translateX(-50%);display:flex;justify-content:space-around;background:#fffefbf5;backdrop-filter:blur(14px);border:1px solid #e4e7dd;border-radius:20px;padding:9px 15px;max-width:500px;width:calc(100% - 36px);box-shadow:0 8px 40px #334d3510;z-index:5}.bottom button{background:transparent;color:#899086;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;min-width:56px;min-height:45px;font-size:11px;position:relative}.bottom button.selected{color:var(--green);font-weight:700}.bottom button.selected:before{content:"";position:absolute;top:-1px;width:40px;height:29px;background:#edf1df;border-radius:10px;z-index:-1}.bottom .icon{width:21px;height:21px}.dot{height:6px;width:6px;border-radius:50%;background:#c59250;position:absolute;right:12px;top:2px}.review-banner{width:100%;padding:19px;border-radius:16px;margin-top:23px;display:flex;align-items:center;gap:12px;color:var(--green);background:#e8edda;font-size:14px}.review-banner .icon:last-child{margin-left:auto}.page-heading{margin-bottom:28px}.page-heading .muted{margin-top:10px}.note{display:flex;align-items:flex-start;gap:10px;font-size:13px;color:#62775d;line-height:1.9;padding:18px;background:#f0f3e7;border-radius:13px;margin:20px 0}.note .icon{width:18px;margin-top:2px}.search{display:block;font-size:12px;color:#6c7b70;margin-bottom:24px}.search input{display:block;margin-top:9px;border:1px solid #dbe2d5;background:#fff;border-radius:12px;padding:14px 16px;width:100%;font-size:16px;color:var(--green)}.formula-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:18px}.formula-card{padding:25px;border:1px solid var(--line);border-radius:18px;background:white}.formula-pattern{margin:16px 0;background:#eff2e6;padding:14px;border-radius:10px;font-size:18px;line-height:1.65;overflow-wrap:anywhere}.formula-card .en{font-family:Georgia,serif;font-size:22px;color:#345642}.formula-card>p:not(.en){font-size:13px;color:#798177;margin:5px 0 14px}details{font-size:13px;line-height:1.8;margin-top:17px;border-top:1px solid var(--line);padding-top:14px}summary{cursor:pointer;min-height:32px;color:#556d59}details p{margin:9px 0;color:#667362}details a{font-size:12px;color:#42684f;overflow-wrap:anywhere}.empty{text-align:center;padding:50px 24px}.empty-icon{display:inline-grid;place-items:center;width:65px;height:65px;background:#edf3df;border-radius:50%;color:#789450;margin-bottom:20px}.empty h2{margin-bottom:10px}.empty p{color:#788373;font-size:14px;margin-bottom:22px}.schedule{padding:15px 0;display:flex;justify-content:space-between;gap:18px;border-bottom:1px solid var(--line);font-size:14px}.schedule:last-child{border:0}.schedule small{color:#73806d}.setting{margin:20px 0}.setting h2{margin-bottom:10px;font-size:18px}.setting p{font-size:13px;color:#6e7c6f;margin-bottom:13px}.segmented{display:flex;gap:10px;margin-top:17px}.segmented button{padding:12px 20px;border-radius:10px;background:#f2f4eb;color:#62725d;min-height:44px}.segmented button.selected{background:#284e3e;color:white}.actions{display:flex;gap:10px;flex-wrap:wrap}.learning{max-width:760px;padding-top:22px}.exercise-top{display:flex;align-items:center;gap:15px;color:#6e7d71;font-size:12px;margin-bottom:12px}.exercise-top>span{flex:1;text-align:center}.step-track{display:flex;gap:8px;margin:0 0 25px}.step-track>span{flex:1;text-align:center;color:#687a6d}.step-track i{display:block;background:#e5e9dc;height:4px;border-radius:5px;margin-bottom:9px}.step-track .on i{background:#71965e}.step-track small{font-size:10px}.exercise{padding:32px}.exercise h1{font-size:27px;margin:18px 0 25px}.exercise .primary{width:100%;margin-top:20px}.lesson-formula{background:#eef2e3;border-radius:14px;padding:24px;margin:20px 0}.lesson-formula small{font-size:11px;color:#728066}.lesson-formula h2{font-size:26px;font-family:Georgia,serif;margin:10px 0;line-height:1.5;overflow-wrap:anywhere}.lesson-formula p{font-size:13px;color:#76816c}.example{padding:20px 0;border-bottom:1px solid var(--line)}.example strong{font-size:26px;font-family:Georgia,serif;display:block;line-height:1.5;color:#345c46}.example p{font-size:14px;color:#74806e;margin:8px 0 14px}.chunk-row{display:flex;flex-wrap:wrap;gap:10px}.chunk{padding:15px 17px;border-radius:12px;border:1px solid #dce4d3;background:#f4f5f0;color:#4b664e;text-align:left}.chunk strong{display:block;font-family:Georgia,serif;font-size:19px}.chunk span{display:block;font-size:11px;margin-top:7px}.chunk.chosen{background:#e6eccf;border-color:#a8bc84}.practice{background:#f8f9f3;border:0;border-radius:16px;margin:22px 0;padding:24px}.record-box{border:1px dashed #cfd9c4;border-radius:13px;padding:20px;margin-top:20px}.record-box h3{font-size:16px;margin-bottom:9px}.record-box .outline{margin-top:12px}audio{max-width:100%;width:100%;margin-top:10px}.prompt-card{display:flex;gap:16px;align-items:flex-start;background:#eef2e5;border-radius:14px;padding:23px;margin-bottom:21px}.prompt-card .icon{margin-top:4px}.prompt-card p{font-size:18px;font-weight:500}form{margin-top:20px}form label{display:block;font-size:13px;margin-bottom:9px}textarea{min-height:130px;width:100%;resize:vertical;border:1px solid #d7dfcf;border-radius:13px;padding:16px;font-size:19px;line-height:1.6;color:#274737;background:#fff}textarea::placeholder{font-size:14px;color:#9ba391}.error{font-size:13px;color:#a74633;margin-top:7px}.hint-actions{display:flex;justify-content:center;margin-top:14px}.feedback{border-radius:14px;padding:20px;margin-top:20px;background:#f7f0e0;color:#705b3c}.feedback.good{background:#edf3e0;color:#426734}.feedback h3{font-size:16px;margin-bottom:8px}.feedback p{font-size:13px}.feedback strong{display:block;font-family:Georgia,serif;font-size:20px;margin:7px 0}.complete{text-align:center;padding:20px 0}.complete-icon{display:inline-grid;place-items:center;width:80px;height:80px;border-radius:50%;background:#e4edc8;color:#517641;margin-bottom:23px}.complete-icon .icon{width:37px;height:37px}.complete h1{margin-bottom:15px}.complete>p{font-size:14px;color:#70806a}.completion-stats{display:flex;justify-content:center;gap:70px;margin:30px 0}.completion-stats>div{display:flex;flex-direction:column;gap:8px}.completion-stats strong{font-size:33px}.completion-stats span{font-size:12px;color:#738069}.complete .text-btn{margin-top:10px}.warning{padding:15px;background:#fff0d8;color:#845820;border-radius:12px;font-size:13px;margin-bottom:20px}#toast{position:fixed;bottom:105px;left:50%;transform:translate(-50%,10px);background:#263f37f5;color:white;border-radius:13px;padding:14px 20px;font-size:13px;line-height:1.7;width:max-content;max-width:calc(100% - 36px);z-index:20;opacity:0;pointer-events:none;transition:opacity .15s,transform .15s}#toast.show{opacity:1;transform:translate(-50%,0)}
@media(max-width:1120px){main{margin:0 32px}.learning{margin:auto;padding-left:24px;padding-right:24px}}
@media(max-width:650px){.top{height:82px;padding:0 22px}.brand{font-size:19px;gap:10px}.brand small{font-size:10px;letter-spacing:1.5px}.brandmark{height:38px;width:38px;border-radius:12px}.avatar{height:33px;width:33px;font-size:12px}main{margin:0;padding:27px 20px 118px}.greeting{margin-bottom:22px}.greeting h1{font-size:27px;letter-spacing:-.8px}.greeting .eyebrow{font-size:10px}.greeting .muted{font-size:12px}.date-pill{font-size:10px;padding:6px 8px;align-self:flex-start;margin-top:24px}.hero{padding:25px 23px;border-radius:22px;min-height:295px;display:block}.hero h2{font-size:25px;max-width:245px;line-height:1.5;margin-top:21px}.hero p{font-size:12px;max-width:220px}.hero .badge{font-size:10px}.hero-meta{font-size:10px;margin-bottom:26px}.hero .primary{width:100%;justify-content:space-between;padding:14px 17px;min-height:47px;position:relative}.hero-art{position:absolute;right:0;top:10px;width:85px;height:200px;opacity:.65;pointer-events:none}.orbit{width:190px;height:190px;right:-113px;top:0}.bubble.big{height:53px;width:64px;right:-8px;top:52px;border-radius:15px 15px 15px 3px;gap:4px}.bubble.big i{height:11px;width:4px}.bubble.big i:nth-child(2),.bubble.big i:nth-child(4){height:20px}.bubble.big i:nth-child(3){height:30px}.bubble.little{height:35px;width:39px;right:13px;top:123px;border-radius:11px 11px 3px 11px}.bubble.little .icon{width:20px}.star{font-size:19px;right:10px;top:20px}.art-caption{display:none}.stats{padding:22px 0;margin:5px 0 14px}.stats>div{padding-left:13px;gap:7px}.stats strong{font-size:24px}.stats strong small{font-size:10px;display:block;margin:4px 0 0}.stats span{font-size:10px}.home-grid{grid-template-columns:1fr;gap:13px}.section-title{margin:11px 0}.section-title h2{font-size:16px}.section-title .pill{font-size:10px}.section-title .text-btn{font-size:11px;min-height:33px}.rows{padding:0 17px}.lesson-row{min-height:90px;gap:12px}.lesson-icon{width:43px;height:43px;border-radius:13px}.row-copy strong{font-size:14px}.row-copy small{font-size:10px}.tip-card{min-height:0;padding:21px}.tip-icon{float:left;margin:0 12px 0 0}.tip-card h3{font-size:15px;padding-top:5px;margin-bottom:15px}.tip-card p{clear:both;font-size:12px}.mini-formula{margin-top:14px}.bottom{bottom:0;width:100%;max-width:none;border-radius:17px 17px 0 0;border-bottom:0;padding:9px 9px calc(8px + env(safe-area-inset-bottom));box-shadow:0 -3px 24px #334d3507}.bottom button{min-height:46px;min-width:50px;font-size:10px}.page-heading h1{font-size:27px}.page-heading .muted{font-size:12px}.formula-grid{grid-template-columns:1fr;gap:15px}.formula-card{padding:21px}.setting{padding:20px}.segmented button{flex:1;padding:12px 10px}.learning{padding:17px 16px 50px}.exercise{padding:23px 19px}.exercise h1{font-size:23px}.exercise-top{font-size:10px;gap:8px}.exercise-top .text-btn{font-size:12px}.lesson-formula{padding:18px}.lesson-formula h2{font-size:23px}.example strong{font-size:24px;overflow-wrap:anywhere}.prompt-card{padding:18px;gap:11px}.prompt-card p{font-size:16px}.chunk{padding:12px}.chunk strong{font-size:18px}.completion-stats{gap:60px}.footnote{font-size:10px}#toast{bottom:90px}.schedule{font-size:12px}.schedule small{font-size:10px;white-space:nowrap}}
@media(prefers-reduced-motion:reduce){*{transition:none!important;scroll-behavior:auto!important}}
