@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Noto+Sans+SC:wght@400;500;600;700;800&display=swap');:root{--ink:#263d32;--green:#426d52;--muted:#829087;--line:#e9ede5;--cream:#f6f7f1}*{box-sizing:border-box}body{margin:0;background:var(--cream);color:var(--ink);font-family:'Noto Sans SC',sans-serif}.top{max-width:1050px;height:82px;padding:0 28px;margin:auto;display:flex;justify-content:space-between;align-items:center}.brand{display:flex;align-items:center;gap:12px;color:inherit;text-decoration:none}.brand-icon{display:grid;place-items:center;width:42px;height:42px;border-radius:14px;background:#e4eddc;color:#527b57;font-weight:800;font-size:20px}.brand b{display:block;font-size:15px}.brand small{display:block;font:600 9px 'DM Sans';letter-spacing:1.4px;color:#8b9a8c;margin-top:3px}.profile{display:flex;align-items:center;gap:11px;color:#78857b;font-size:12px}.profile b{background:white;border:1px solid var(--line);border-radius:22px;padding:9px 14px;color:#52705a}.hero{max-width:994px;min-height:310px;margin:8px auto 20px;border-radius:26px;background:#e9f0e1;position:relative;overflow:hidden;display:flex;padding:43px 52px}.hero-copy{max-width:490px;z-index:1}.pill{font-size:11px;color:#5e7d5e;background:#f6f8f1;border-radius:20px;padding:8px 13px}.hero h1{font-size:36px;line-height:1.42;letter-spacing:-1px;margin:18px 0 9px}.hero-copy>p{color:#68796d;font-size:13px;line-height:1.9;max-width:420px;margin:0}.primary{border:0;border-radius:11px;background:#426d52;color:#fff;font:600 13px 'Noto Sans SC';padding:13px 18px;margin-top:17px;cursor:pointer;box-shadow:0 5px 14px #315f4525}.primary span{margin-left:19px}.hero-foot{display:flex;align-items:center;gap:10px;margin-top:23px;color:#77877a;font-size:10px}.hero-foot i{width:3px;height:3px;border-radius:50%;background:#a2b09f}.hero-art{position:absolute;width:370px;height:300px;right:43px;bottom:0}.sun{position:absolute;right:84px;top:8px;width:106px;height:106px;background:#f6e5b5;border-radius:50%}.hill{position:absolute;bottom:-82px;width:340px;height:200px;border-radius:50%}.hill-back{right:-26px;background:#cdddc0}.hill-front{right:93px;bottom:-112px;background:#aec9a3}.book{position:absolute;right:111px;bottom:39px;font-size:103px;transform:rotate(-10deg);filter:drop-shadow(0 9px 4px #577c4830)}.sprout{position:absolute;right:24px;bottom:73px;font-size:49px}.sparkle{position:absolute;color:#d1a849}.s1{top:37px;right:38px;font-size:27px}.s2{top:124px;left:37px;font-size:22px}.stats{max-width:994px;margin:auto;display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.stats article{background:#fff;border:1px solid var(--line);border-radius:16px;padding:18px 20px;display:flex;gap:13px;align-items:center}.stat-icon{width:38px;height:38px;border-radius:12px;background:#f3f6ef;display:grid;place-items:center;font-size:18px}.stats small{color:#89968d;font-size:10px}.stats b{display:block;font:700 24px 'DM Sans';color:#456c52;margin-top:2px}.stats em{font:400 11px 'Noto Sans SC';color:#849087;font-style:normal}.stats p{font-size:10px;color:#89968d;margin:4px 0 0}.progress{height:4px;background:#edf1eb;border-radius:5px;margin-top:7px;overflow:hidden}.progress i,.skill-bar i{height:100%;display:block;border-radius:5px;background:#8daf7c}.section{max-width:994px;margin:16px auto 0;background:#fff;border:1px solid var(--line);border-radius:17px;padding:25px 28px}.section-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:18px}.overline{font:600 9px 'DM Sans';letter-spacing:1.5px;color:#89a184}.section h2{font-size:19px;margin:5px 0 0}.stage-tag,.level-tag{border-radius:18px;padding:8px 11px;background:#edf4e9;color:#66815e;font-size:10px}.journey{display:grid;grid-template-columns:repeat(3,1fr);gap:11px}.phase{border:1px solid var(--line);border-radius:13px;padding:15px;position:relative;display:flex;gap:10px;min-height:144px}.phase.active{border-color:#bdd1b4;background:#fbfdf9}.phase-marker{width:23px;height:23px;flex:none;border-radius:50%;display:grid;place-items:center;background:#eff3ed;color:#829184;font:600 11px 'DM Sans'}.phase.complete .phase-marker{background:#e5f0df;color:#598052}.phase.active .phase-marker{background:#507753;color:white}.phase small{font-size:9px;color:#89968d}.phase h3{font-size:14px;margin:5px 0}.phase p{font-size:10px;color:#859188;line-height:1.7;margin:0}.phase-foot{font-size:9px;color:#7d907f;margin-top:11px}.phase-emoji{position:absolute;right:12px;top:12px}.phase .progress{margin-top:10px}.daily{padding-bottom:22px}.level-tag{background:#f5f1e4;color:#a1864c}.tasks{display:grid;grid-template-columns:1fr 1fr;gap:10px}.tasks article{border:1px solid var(--line);border-radius:12px;padding:12px;display:flex;align-items:center;gap:11px;position:relative}.task-icon{width:37px;height:37px;border-radius:11px;display:grid;place-items:center;flex:none;font-size:18px}.gold{background:#fff3d8}.blue{background:#e9f2f8}.pink{background:#f8ece9}.green{background:#eaf2e4}.tasks small{font-size:9px;color:#89968d}.tasks h3{font-size:12px;margin:3px 0}.tasks p{font-size:9px;color:#89968d;margin:0}.done-mark{margin-left:auto;color:#83a67b}.full{width:100%;margin-top:15px}.growth{display:flex;align-items:center;justify-content:space-between;background:#f3f2e9}.growth h2{margin-top:7px}.growth p{font-size:11px;color:#829087}.skills{width:45%;display:grid;gap:9px}.skills>div{display:grid;grid-template-columns:65px 1fr 54px;gap:8px;align-items:center;font-size:9px;color:#77877b}.skills b{font-size:9px;color:#7d9277;font-weight:500}.skill-bar{height:4px;background:#e4e9df;border-radius:5px}.skill-bar i{background:#8bab79}footer{text-align:center;padding:20px;color:#839087;font-size:10px}footer span{color:#adb5ac}dialog{border:0;padding:0;border-radius:19px;width:min(560px,calc(100vw - 26px));max-height:88vh;color:var(--ink);box-shadow:0 24px 80px #1b302c3b}dialog::backdrop{background:#20372b77;backdrop-filter:blur(3px)}.lesson-scroll{padding:31px 35px;overflow:auto;max-height:88vh}.lesson-scroll h2{font-size:26px;margin:10px 0 15px}.x{position:absolute;right:16px;top:14px;border:0;border-radius:50%;width:30px;height:30px;background:#f0f3ed;color:#526558;font-size:20px;cursor:pointer}.story{background:#fbfaf4;border-radius:13px;padding:16px 19px}.story p{font-size:14px;line-height:2.05;margin:4px 0 13px}.story p:last-child{margin-bottom:4px}.question{margin-top:22px}.question>span{font-size:10px;color:#70906a}.question h3{font-size:16px;margin:8px 0}.question>p{font-size:11px;color:#829087;line-height:1.8}.question textarea{width:100%;height:92px;border:1px solid #dfe6db;border-radius:10px;padding:12px;font:12px 'Noto Sans SC';resize:vertical;outline-color:#91ae83}.feedback{margin-top:10px;padding:11px;border-radius:9px;background:#eff6e9;color:#577450;font-size:11px}@media(max-width:680px){.top{height:70px;padding:0 17px}.profile>span{display:none}.hero{margin:5px 12px 14px;padding:31px 24px;min-height:302px}.hero h1{font-size:30px}.hero-copy>p{font-size:11px;max-width:300px}.hero-art{right:-119px;opacity:.52;transform:scale(.82);transform-origin:bottom right}.hero-foot{gap:6px;font-size:8px}.stats{margin:0 12px;gap:7px}.stats article{padding:12px 9px;gap:7px;align-items:flex-start}.stat-icon{width:28px;height:28px;font-size:14px;border-radius:9px}.stats small{font-size:8px}.stats b{font-size:19px}.stats em{font-size:9px}.stats p{font-size:8px}.section{margin:13px 12px 0;padding:19px 16px}.section h2{font-size:17px}.section-head{gap:8px}.journey{grid-template-columns:1fr}.phase{min-height:unset;padding:13px}.phase p{font-size:10px}.phase-foot{margin-top:8px}.tasks{grid-template-columns:1fr}.tasks article{padding:11px}.growth{display:block}.skills{width:100%;margin-top:17px}.lesson-scroll{padding:27px 22px}.story p{font-size:13px}}
.tabbar{display:none}
@media(max-width:700px){body{padding-bottom:calc(70px + env(safe-area-inset-bottom))}.tabbar{position:fixed;z-index:20;left:0;right:0;bottom:0;height:calc(61px + env(safe-area-inset-bottom));padding:5px 12px env(safe-area-inset-bottom);background:#fff;border-top:1px solid #e9ede5;display:flex;justify-content:space-around;align-items:center;box-shadow:0 -5px 20px #263d3208}.tab{border:0;background:none;min-width:58px;display:flex;flex-direction:column;gap:2px;align-items:center;color:#909a92;padding:4px 10px}.tab span{font:24px/1 'DM Sans',sans-serif}.tab small{font:10px 'Noto Sans SC',sans-serif}.tab.active{color:#426d52}.tab.active span{transform:translateY(-1px)}footer{padding-bottom:12px}}
@media(max-width:700px){.tabbar{height:calc(66px + env(safe-area-inset-bottom));padding:4px 16px env(safe-area-inset-bottom);justify-content:space-between}.tab{min-width:54px;gap:3px}.tab span{font:25px/1 'DM Sans',sans-serif}.tab small{font-size:10px}.tab.add-tab{align-self:flex-start;margin-top:-13px;width:54px;height:54px;min-width:54px;border-radius:50%;background:#3478f6;color:white;box-shadow:0 4px 12px #3478f64a;padding:0}.tab.add-tab span{font:38px/1 'DM Sans',sans-serif}.tab.active:not(.add-tab) span{color:#3478f6}.tab.active:not(.add-tab) small{color:#3478f6}}
