@import "https://fonts.googleapis.com/css2?family=Ma+Shan+Zheng&family=Noto+Sans+SC:wght@400;500;600;700;800&display=swap";:root{color:#28443b;font-synthesis:none;background:#fbfaf4;font-family:Noto Sans SC,sans-serif}*{box-sizing:border-box}body{background:radial-gradient(circle at 9% 2%,#f2f7e8 0,#0000 28%),#fbfaf4;margin:0}button,a{font:inherit}button{cursor:pointer}.app{min-height:100vh}header{z-index:10;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);background:#ffffffd1;border-bottom:1px solid #e4eadf;justify-content:space-between;align-items:center;height:82px;padding:0 max(28px,50vw - 610px);display:flex;position:sticky;top:0}.brand{cursor:pointer;align-items:center;gap:11px;display:flex}.brand>span{color:#fff;background:#376b55;border-radius:50% 50% 48% 52%;place-items:center;width:46px;height:46px;font-family:Ma Shan Zheng;font-size:26px;display:grid;box-shadow:inset 0 -4px #2b5946}.brand>div{font-size:20px;font-weight:800;line-height:1.15}.brand small,.profile small{letter-spacing:2px;color:#8ba096;margin-top:5px;font-size:10px;font-weight:500;display:block}nav{align-self:stretch;gap:28px;display:flex}nav button{color:#71887e;background:0 0;border:0;align-items:center;gap:8px;font-weight:600;display:flex;position:relative}nav svg{width:18px}nav button.active:after{content:"";background:#e0a852;border-radius:3px;height:3px;position:absolute;bottom:0;left:10px;right:10px}.profile{text-align:right;align-items:center;gap:12px;display:flex}.profile b{font-size:13px}.profile span{background:#f2d9bd;border:3px solid #fff;border-radius:50%;place-items:center;width:42px;height:42px;font-size:25px;display:grid;box-shadow:0 2px 10px #cad4cb}main{max-width:1220px;margin:auto;padding:28px 20px 64px}.welcome{background:linear-gradient(110deg,#eaf3de,#dcecd6);border-radius:28px;min-height:288px;padding:38px 46px;display:flex;position:relative;overflow:hidden}.welcome>div:first-child{z-index:2}.welcome p{color:#6a9274;align-items:center;gap:7px;font-size:13px;font-weight:700;display:flex}.welcome p svg{width:16px}.welcome h1{color:#315744;margin:12px 0 8px;font-family:Ma Shan Zheng;font-size:38px;font-weight:400;line-height:1.35}.welcome h1 em{color:#d4923a;font-style:normal}.welcome h3{color:#71877c;font-size:14px;font-weight:400}.streak{background:#ffffffc2;border-radius:14px;align-items:center;gap:12px;width:460px;height:56px;margin-top:22px;padding:9px 14px;display:flex;box-shadow:0 8px 20px #99ab9720}.streak>span{font-size:25px}.streak b{font-size:12px;display:block}.streak small{color:#84978e;font-size:10px}.streak strong{color:#d48e36;font-size:11px}.mini-progress{background:#e2e7dc;border-radius:8px;width:75px;height:6px}.mini-progress i,.progress i{background:#e7a34b;border-radius:10px;height:100%;display:block}.hero-art{background:radial-gradient(at bottom,#b7d4a5 0 30%,#0000 31%);width:53%;height:100%;position:absolute;top:0;right:0}.sun{color:#f5cb68;font-size:48px;position:absolute;top:25px;right:48px}.cloud{color:#fff;font-size:54px;position:absolute;top:42px;left:100px}.mom,.kid,.tree{filter:drop-shadow(0 12px 7px #55785c33);font-size:100px;position:absolute;bottom:28px}.mom{left:120px}.kid{font-size:75px;left:230px}.tree{font-size:112px;right:35px}.coins{color:#e3a23d;font-size:18px;line-height:9px;position:absolute;bottom:32px;left:70px}.grid{grid-template-columns:1fr 1fr;gap:20px;margin-top:20px;display:grid}.bank-card,.goal-card,.learn,.recent,.challenge{background:#fff;border:1px solid #e6e8df;border-radius:22px;padding:25px;box-shadow:0 8px 25px #4b6b5420}.section-title{justify-content:space-between;align-items:center;display:flex}.section-title>div{align-items:center;gap:13px;display:flex}.section-title h2{margin:0 0 3px;font-size:17px}.section-title p{color:#94a098;margin:0;font-size:11px}.section-title>button{color:#82938a;background:0 0;border:0;align-items:center;font-size:11px;display:flex}.section-title>button svg{width:14px}.icon{border-radius:13px;place-items:center;width:42px;height:42px;display:grid}.icon svg{width:20px}.icon.green{color:#377257;background:#e0f0e4}.icon.orange{color:#c98432;background:#fff0d8}.icon.purple{color:#815e98;background:#eee6f3}.icon.blue{color:#427181;background:#e3eff2}.balance{text-align:center;padding:15px 0 12px}.balance p{color:#88978f;font-size:11px}.balance p span{font-size:0}.balance h3{color:#2f654f;margin:0;font-size:38px}.balance h3 small{margin-right:6px;font-size:18px}.balance label{color:#609165;background:#eef7ec;border-radius:20px;align-items:center;gap:4px;padding:4px 9px;font-size:10px;display:inline-flex}.balance label svg{width:12px}.money-stats{border-top:1px dashed #dde4dd;border-bottom:1px dashed #dde4dd;grid-template-columns:1fr 1fr;padding:13px 0;display:grid}.money-stats>div{justify-content:center;align-items:center;gap:9px;display:flex}.money-stats>div+div{border-left:1px solid #e2e6e1}.dot{border-radius:50%;place-items:center;width:26px;height:26px;font-weight:700;display:grid}.dot.mint{color:#3e855f;background:#e0f2e8}.dot.coral{color:#ce704e;background:#ffebe1}.money-stats p{color:#8d9c94;margin:0;font-size:10px}.money-stats b{color:#4a6158;margin-top:2px;font-size:12px;display:block}.actions{grid-template-columns:1fr 1fr;gap:12px;margin-top:17px;display:grid}.actions button{color:#fff;background:#3b735b;border:0;border-radius:13px;height:48px;font-weight:700}.actions span{vertical-align:middle;background:#fff2;border-radius:50%;place-items:center;width:24px;height:24px;margin-right:8px;display:inline-grid}.actions svg{width:14px}.safe{text-align:center;color:#9ba7a0;margin:12px 0 0;font-size:9px}.safe svg{vertical-align:middle;width:11px}.goal-body{align-items:center;gap:22px;margin:25px 8px;display:flex}.gift{background:#f5eee0;border-radius:50%;place-items:center;width:120px;height:120px;display:grid;position:relative}.gift span{font-size:66px}.gift i{color:#fff;background:#e5a653;border-radius:30px;padding:4px 9px;font-size:9px;font-style:normal;position:absolute;bottom:1px;right:2px}.goal-info{flex:1}.goal-info>small{color:#a0aaa4;font-size:10px}.goal-info h3{margin:4px 0 18px;font-size:16px}.goal-numbers{justify-content:space-between;font-size:10px;display:flex}.goal-numbers b{color:#d3903a}.goal-numbers span{color:#9aa59e}.progress{background:#edf0e8;border-radius:20px;height:10px;margin:8px 0}.goal-info p{color:#8e9a92;font-size:10px}.goal-info p b{color:#d68e36}.mom-tip{background:#f7f1e5;border-radius:15px;align-items:center;gap:10px;padding:11px 14px;display:flex}.mom-tip>span{font-size:28px}.mom-tip div{flex:1}.mom-tip b{color:#b17936;font-size:10px}.mom-tip p{color:#7d776c;margin:2px 0;font-size:10px}.mom-tip svg{color:#e1a33f;fill:#e1a33f;width:17px}.learn{margin-top:20px}.lesson-list{grid-template-columns:repeat(3,1fr);gap:17px;margin-top:20px;display:grid}.lesson-list article{cursor:pointer;border:1px solid #e7e8e2;border-radius:16px;grid-template-columns:100px 1fr;min-height:130px;transition:all .2s;display:grid;overflow:hidden}.lesson-list article:hover{transform:translateY(-3px);box-shadow:0 10px 22px #60796820}.lesson-pic{place-items:center;font-size:54px;display:grid;position:relative}.lesson-pic.mint{background:#e0efdf}.lesson-pic.yellow{background:#f7eed4}.lesson-pic.blue{background:#e1edf0}.lesson-pic span{color:#60836c;background:#fff;border-radius:20px;padding:3px 7px;font-size:8px;position:absolute;top:9px;left:8px}.lesson-list article>div+div{padding:16px}.lesson-list small{color:#a2aca6;font-size:9px}.lesson-list h3{margin:4px 0;font-size:13px}.lesson-list p{color:#87968e;margin:0 0 8px;font-size:9px}.lesson-list button{color:#438060;background:0 0;border:0;padding:0;font-size:10px;font-weight:700}.lesson-list button svg,.challenge button svg{vertical-align:middle;width:12px}.bottom-grid{grid-template-columns:1.1fr .9fr;gap:20px;margin-top:20px;display:grid}.txs{margin-top:14px}.tx{border-bottom:1px dashed #e3e7e2;align-items:center;gap:12px;padding:10px 0;display:flex}.tx>span{background:#f3f5ed;border-radius:10px;place-items:center;width:34px;height:34px;display:grid}.tx>div{flex:1}.tx b,.tx small{font-size:11px;display:block}.tx small{color:#a0aaa5;margin-top:2px;font-size:9px}.tx strong{font-size:12px}.minus{color:#d67854}.challenge{color:#fff;background:linear-gradient(120deg,#395f50,#527b5d);position:relative;overflow:hidden}.challenge small{color:#e6c78c;font-weight:700}.challenge h2{margin:9px 0;font-family:Ma Shan Zheng;font-size:25px;font-weight:400;line-height:1.35}.challenge p{color:#d3dfd7;font-size:10px}.challenge button{color:#38604e;background:#fff;border:0;border-radius:10px;padding:9px 15px;font-size:10px;font-weight:700}.basket{font-size:76px;position:absolute;bottom:23px;right:35px;transform:rotate(-5deg)}.basket span,.basket i{font-size:35px;position:absolute;top:-15px}.basket span{left:8px}.basket i{right:4px}footer{color:#9aa69f;background:#fff;border-top:1px solid #e2e7df;justify-content:space-between;align-items:center;padding:28px max(28px,50vw - 590px);font-size:9px;display:flex}.overlay{z-index:30;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);background:#243d34aa;place-items:center;padding:18px;display:grid;position:fixed;inset:0}.modal{text-align:center;background:#fff;border-radius:24px;width:min(420px,100%);padding:28px;position:relative;box-shadow:0 30px 80px #0b211999}.close{background:#f1f4ee;border:0;border-radius:50%;width:32px;height:32px;position:absolute;top:16px;right:16px}.close svg{width:16px}.modal-icon{color:#fff;border-radius:18px;place-items:center;width:56px;height:56px;margin:auto;display:grid}.modal-icon.in{background:#3f765d}.modal-icon.out{background:#d3903c}.modal>small{color:#91a098;margin-top:12px;display:block}.modal h2{margin:4px 0}.modal>p{color:#85948c;font-size:12px}.modal label{text-align:left;margin-top:18px;font-size:11px;font-weight:600;display:block}.modal input{border:1px solid #dce3dc;border-radius:11px;outline:none;width:100%;height:44px;margin-top:7px;padding:0 12px}.amount-input{position:relative}.amount-input span{color:#698176;position:absolute;top:17px;left:13px}.amount-input input{padding-left:32px;font-size:22px}.chips{gap:8px;margin-top:9px;display:flex}.chips button{color:#5d776b;background:#f8faf6;border:1px solid #e0e5df;border-radius:8px;flex:1;padding:6px;font-size:11px}.confirm{color:#fff;background:#3d725a;border:0;border-radius:12px;width:100%;height:48px;margin-top:22px;font-weight:700}.confirm svg{vertical-align:middle;width:17px;margin-right:7px}.toast{color:#fff;z-index:40;background:#294e3e;border-radius:30px;padding:12px 20px;font-size:12px;position:fixed;bottom:30px;left:50%;transform:translate(-50%);box-shadow:0 10px 30px #203c3070}.toast svg{vertical-align:middle;width:16px;margin-right:7px}@media (width<=900px){nav,.profile>div{display:none}.welcome{padding:30px}.hero-art{opacity:.45;width:60%}.streak{width:100%}.grid,.bottom-grid,.lesson-list{grid-template-columns:1fr}.welcome h1{font-size:31px}.hero-art .mom{left:20px}.hero-art .kid{left:110px}.hero-art .tree{right:0}.goal-body{gap:12px}.gift{width:90px;height:90px}.gift span{font-size:48px}}@media (width<=520px){header{height:68px}.brand>div{font-size:16px}.welcome{min-height:350px;padding:25px}.welcome h3{max-width:65%}.streak{width:auto;position:absolute;bottom:20px;left:20px;right:20px}.mini-progress{display:none}.hero-art{width:100%}.mom{left:45%!important}.kid{left:68%!important}.tree{display:none}.lesson-list article{grid-template-columns:90px 1fr}.grid{gap:14px}.bank-card,.goal-card,.learn,.recent,.challenge{padding:18px}.bottom-grid{gap:14px}.basket{opacity:.4}footer{padding:22px;display:block}footer>div:last-child{margin-top:16px}}:root{color:#3c3739;background:#fff9fa}body{background:radial-gradient(circle at 12% 0,#fff0f4,#0000 30%),#fffafb}header{background:#fffafbe8;border-color:#f5dfe6}.brand>span{background:linear-gradient(145deg,#ff91b3,#f35386);box-shadow:inset 0 -4px #d83e70}.brand small,.profile small{color:#b99ca6}nav button{color:#a98c96}nav button.active{color:#ef5b89}nav button.active:after{background:#ff6e9a}.welcome{background:#fff1f4 url(/mom-bank-hero.png) 50%/cover no-repeat;box-shadow:0 18px 50px #ef9db626}.welcome h1{color:#353235}.welcome h1 em{color:#ef4f81}.welcome p{color:#dd648a}.welcome h3{color:#987d86}.hero-art{display:none}.streak{background:#ffffffdc;box-shadow:0 8px 20px #de8ca525}.mini-progress{background:#f5dfe6}.mini-progress i,.progress i{background:linear-gradient(90deg,#ff7fa6,#f34e83)}.bank-card,.goal-card,.learn,.recent,.challenge{border-color:#f4e1e7;box-shadow:0 10px 35px #dd8ca018}.icon.green,.icon.orange,.icon.purple,.icon.blue{color:#ed5a87;background:#fff0f4}.balance h3{color:#ef4f81}.balance label{color:#df6489;background:#fff0f4}.actions button{background:linear-gradient(135deg,#ff7ca4,#ef4e82);box-shadow:0 8px 18px #ef5b8930}.actions button+button{color:#df527d;background:#fff0f4}.goal-numbers b,.goal-info p b{color:#ef4f81}.mom-tip{background:#fff2f5}.mom-tip b{color:#df567f}.mom-tip svg{color:#ef6b94;fill:#ef6b94}.lesson-pic.mint,.lesson-pic.yellow,.lesson-pic.blue{background:#fff1f4}.lesson-pic span,.lesson-list button{color:#ec5885}.challenge{background:linear-gradient(120deg,#f384a6,#ed5b87)}.challenge button{color:#df4f7a}.plus{color:#ea5581}.progress{background:#f7e7ec}.overlay{background:#59313e99}.modal-icon.in,.modal-icon.out,.confirm{background:linear-gradient(135deg,#ff7ba3,#ed4b80)}.modal input:focus{border-color:#ef6a93;box-shadow:0 0 0 3px #f06b9418}.chips button{color:#dd557d;background:#fff5f7;border-color:#f6dfe6}.toast{background:#e9507e}@media (width<=520px){main{padding:14px 12px 90px}.welcome{background-position:60%;min-height:330px;padding:24px 22px}.welcome h1{max-width:65%;font-size:29px}.welcome h3{font-size:11px}.welcome>div:first-child>p{margin-top:20px}.bank-card{border-radius:26px}.balance{background:linear-gradient(135deg,#fff8fa,#fff0f4);border-radius:20px;margin-top:15px}.balance h3{font-size:42px}.actions button{height:54px}footer{display:none}}
