@import "https://fonts.googleapis.com/css2?family=Baloo+2:wght@500;700;800&family=Ma+Shan+Zheng&family=ZCOOL+KuaiLe&display=swap";:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--ink:#312719;--muted:#77674c;--paper:#fff8df;--paper-deep:#f7e7b4;--wood:#c98f48;--wood-dark:#8a552c;--red:#e9644f;--blue:#4d90c2;--green:#609f71;--yellow:#f2be45;--pink:#ed91aa;--teal:#53b5a8;--cream:#fffdf1;--shadow:#4c2b1133;--soft-shadow:#4c2b111f;--radius:30px;--container:1180px;background:#e4b774;font-family:"Baloo 2",PingFang SC,Microsoft YaHei,sans-serif}*{box-sizing:border-box}body{min-width:320px;min-height:100vh;color:var(--ink);-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;background:radial-gradient(circle at 8% 10%,#fff8d6eb 0 130px,#0000 131px),radial-gradient(circle at 90% 16%,#4d90c23d 0 190px,#0000 191px),linear-gradient(125deg,#f4dca7 0%,#dfa960 48%,#b9783d 100%);margin:0}body:before{z-index:-1;content:"";opacity:.22;pointer-events:none;background-image:linear-gradient(90deg,#60391947 1px,#0000 1px),linear-gradient(#ffffff29 1px,#0000 1px);background-size:58px 58px;position:fixed;inset:0}button,input{font:inherit}button{min-height:44px;color:var(--ink);cursor:pointer;touch-action:manipulation;border:0;transition:transform .15s,box-shadow .15s,filter .15s}button:hover:not(:disabled){transform:translateY(-2px)rotate(-.4deg)}button:active:not(:disabled){transform:translateY(1px)}button:disabled{cursor:not-allowed;opacity:.55}button:focus-visible,input:focus-visible{outline-offset:3px;outline:4px solid #4d90c247}.app-shell{width:min(var(--container), calc(100% - 28px));margin:0 auto;padding:28px 0 44px}.hero-panel{min-height:250px;box-shadow:0 28px 70px var(--shadow), inset 0 0 0 2px #ffffff94;background:linear-gradient(#4c90c221 1px,#0000 1px) 0 54px/100% 34px,radial-gradient(circle at 82% 22%,#f2be4575 0 82px,#0000 83px),linear-gradient(135deg,#fff9df 0%,#ffe9a8 100%);border:4px solid #fff6cfeb;border-radius:42px;grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:22px;padding:clamp(26px,5vw,54px);display:grid;position:relative;overflow:hidden}.hero-panel:before{content:"";background:repeating-linear-gradient(90deg,#e9644f 0 34px,#f2be45 34px 68px,#609f71 68px 102px,#4d90c2 102px 136px,#ed91aa 136px 170px);border-radius:999px;width:min(360px,45vw);height:40px;position:absolute;bottom:22px;right:28px;transform:rotate(-7deg);box-shadow:0 14px 18px #47270e29}.hero-copy,.desk-toolbar{z-index:1;position:relative}.eyebrow,.panel-heading p,.book-header p{color:var(--red);letter-spacing:.1em;text-transform:uppercase;margin:0 0 8px;font-weight:800}.hero-copy h1{margin:0;font-family:Ma Shan Zheng,ZCOOL KuaiLe,cursive;font-size:clamp(4rem,11vw,8.2rem);font-weight:400;line-height:.9}.hero-copy p:last-child{max-width:680px;color:var(--muted);margin:20px 0 0;font-size:clamp(1.05rem,2vw,1.28rem);font-weight:800}.desk-toolbar{justify-items:end;gap:12px;display:grid}.sound-toggle,.primary,.secondary,.mode-tabs button,.difficulty-row button,.digit-grid button,.pad-actions button{box-shadow:inset 0 -5px 0 #4b2b1121, 0 9px 16px var(--soft-shadow);border-radius:18px;font-weight:900}.sound-toggle,.secondary{background:#fffdf1}.primary,.pad-submit{color:#fffdf1;background:linear-gradient(135deg, var(--green), #36724e)}.island-badge{aspect-ratio:1;min-width:138px;box-shadow:0 18px 28px var(--soft-shadow), inset 0 -10px 0 #c98f482b;background:linear-gradient(145deg,#fffdf1,#ffe09a);border:4px solid #8a552c38;border-radius:34px 44px 36px 48px;place-items:center;padding:14px;display:grid;transform:rotate(3deg)}.island-badge span,.island-badge small{color:var(--muted);font-size:.86rem;font-weight:900}.island-badge strong{font-size:3.5rem;line-height:.85}.mode-tabs{box-shadow:0 18px 34px var(--soft-shadow);background:#fffdf1c7;border:3px solid #8a552c2b;border-radius:30px;grid-template-columns:repeat(3,1fr);gap:12px;margin:20px 0;padding:12px;display:grid}.mode-tabs button,.difficulty-row button{background:#fffdf1}.mode-tabs button.active,.difficulty-row button.active{color:#fffdf1;background:linear-gradient(135deg,#4d90c2,#2f6f9d)}.mode-tabs span{background:var(--yellow);min-width:24px;height:24px;color:var(--ink);border-radius:999px;place-items:center;margin-left:4px;display:inline-grid}.context-page{gap:18px;display:grid}.context-header{box-shadow:0 18px 34px var(--soft-shadow);background:radial-gradient(circle at 94% 20%,#f2be453d 0 72px,#0000 73px),#fffdf1e0;border:3px solid #8a552c29;border-radius:28px;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:16px;padding:18px 20px;display:grid}.context-header h2{margin:0;font-family:ZCOOL KuaiLe,"Baloo 2",cursive;font-size:clamp(1.8rem,4vw,2.6rem);font-weight:400}.context-header span{color:var(--muted);font-weight:900}.context-pills{flex-wrap:wrap;justify-content:flex-end;gap:8px;display:flex}.context-pills span{min-height:36px;color:var(--ink);background:#fff3c1;border-radius:999px;align-items:center;padding:7px 12px;display:inline-flex;box-shadow:inset 0 -3px #8a552c1c}.context-today .context-header{border-color:#4d90c23d}.context-free .context-header{border-color:#609f713d}.context-review .context-header,.context-review-active .context-header{border-color:#e9644f3d}.context-report .context-header{border-color:#f2be4561}.training-layout,.free-layout{grid-template-columns:minmax(0,1.35fr) minmax(320px,.65fr);align-items:start;gap:22px;display:grid}.workbook-panel,.practice-column,.training-side,.side-column{gap:18px;display:grid}.goal-strip,.context-header,.problem-card,.number-pad,.sticker-board,.today-card,.settings-panel,.stats-ribbon div,.review-panel,.review-empty,.report-panel,.tool-note{box-shadow:0 18px 34px var(--soft-shadow);background:#fffdf1e6;border:3px solid #8a552c29}.goal-strip{border-radius:28px;grid-template-columns:minmax(0,1fr) 190px;align-items:center;gap:18px;padding:20px;display:grid}.goal-strip h2,.today-card h3,.report-panel h2,.review-panel h2,.review-empty h2{margin:0;font-family:ZCOOL KuaiLe,"Baloo 2",cursive;font-size:clamp(1.7rem,4vw,2.7rem);font-weight:400}.goal-strip span,.today-card p,.tool-note span,.report-panel p,.parent-card span{color:var(--muted);font-weight:800}.progress-pencil{background:#efd99b;border-radius:999px;height:26px;padding:5px;box-shadow:inset 0 2px 5px #55321329}.progress-pencil i{background:repeating-linear-gradient(90deg,#e9644f 0 26px,#f2be45 26px 52px,#609f71 52px 78px,#4d90c2 78px 104px);border-radius:999px;height:100%;transition:width .24s;display:block}.problem-card{background:linear-gradient(#4d90c221 1px,#0000 1px) 0 42px/100% 36px,linear-gradient(145deg,#fffdf1,#fff2c2);border-radius:36px;min-height:310px;padding:clamp(22px,4vw,42px);position:relative;overflow:hidden}.problem-card:after{content:"";background:linear-gradient(90deg, var(--pink), var(--red), var(--yellow));opacity:.72;border-radius:999px;width:220px;height:26px;position:absolute;bottom:26px;right:-40px;transform:rotate(-14deg)}.map-pin,.skill-chip{color:#fffdf1;background:var(--red);border-radius:999px;align-items:center;width:fit-content;min-height:34px;padding:6px 14px;font-weight:900;display:inline-flex}.skill-chip{color:var(--ink);background:var(--yellow);margin-left:8px}.equation{z-index:1;flex-wrap:wrap;justify-content:center;align-items:center;gap:clamp(10px,2vw,22px);margin:38px 0 20px;font-size:clamp(3rem,9vw,7rem);font-weight:900;line-height:1;display:flex;position:relative}.answer-window{min-width:clamp(92px,18vw,150px);min-height:clamp(86px,15vw,128px);color:var(--blue);background:#ffffffb8;border:5px dashed #4d90c28c;border-radius:26px;place-items:center;display:inline-grid}.feedback{z-index:1;min-height:32px;color:var(--muted);text-align:center;margin:0;font-size:1.15rem;font-weight:900;position:relative}.feedback-correct .answer-window{color:var(--green);border-color:#609f71c7;animation:.65s both answer-pop}.feedback-incorrect .answer-window{color:var(--red);border-color:#e9644fb8;animation:.46s both answer-shake}.stamp-burst{z-index:2;border:6px solid var(--red);width:104px;height:104px;color:var(--red);border-radius:50%;place-items:center;font-family:ZCOOL KuaiLe,cursive;font-size:1.5rem;animation:.72s cubic-bezier(.2,1.6,.35,1) both stamp-in;display:grid;position:absolute;top:28px;right:34px;transform:rotate(-14deg)}.eraser-swipe{z-index:2;color:#9d4055;background:#ffd7df;border-radius:16px;padding:10px 14px;font-weight:900;animation:.9s both eraser-swipe;position:absolute;bottom:30px;right:24px}.number-pad{border-radius:32px;padding:18px}.digit-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;display:grid}.digit-grid button{background:#fffdf1;min-height:clamp(58px,9vw,86px);font-size:clamp(1.45rem,3vw,2.3rem)}.digit-grid button:nth-child(3n+1){background:#ffe4a9}.digit-grid button:nth-child(3n+2){background:#dff0cc}.digit-grid button:nth-child(3n){background:#d8edf8}.digit-grid .pad-tool{background:#ffd8df;font-size:1.15rem}.digit-grid .pad-submit{background:linear-gradient(135deg, var(--green), #39774f);font-size:1.15rem}.pad-actions{grid-template-columns:1fr;margin-top:12px;display:grid}.sticker-board,.today-card,.settings-panel,.review-panel,.review-empty,.report-panel,.tool-note{border-radius:30px;padding:20px}.skill-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.skill-grid article{background:#ffffff80;border:2px solid #8a552c21;border-radius:16px;grid-template-columns:14px 1fr auto;align-items:center;gap:8px;padding:10px;display:grid}.skill-grid article.active{background:#fff1ce;border-color:#e9644f6b}.skill-grid span{border-radius:999px;width:14px;height:42px}.skill-grid strong,.skill-grid small,.tiny-stats span,.parent-card strong{font-weight:900}.today-card h3{font-size:2rem}.tiny-stats{grid-template-columns:repeat(3,1fr);gap:8px;margin-top:16px;display:grid}.tiny-stats span{text-align:center;background:#fff5cc;border-radius:14px;padding:10px}.stats-ribbon{grid-template-columns:repeat(4,1fr);gap:10px;display:grid}.stats-ribbon div{border-radius:22px;place-items:center;gap:2px;padding:14px;display:grid}.stats-ribbon strong{font-size:1.8rem;line-height:1}.settings-panel{gap:16px;display:grid}.difficulty-row,.operation-row,.switch-row{flex-wrap:wrap;gap:10px;display:flex}.operation-row label,.switch-row label{background:#fff6d2;border-radius:14px;align-items:center;gap:7px;padding:10px 12px;font-weight:900;display:inline-flex}.range-grid{grid-template-columns:repeat(3,1fr);gap:10px;display:grid}.range-grid label{gap:6px;font-weight:900;display:grid}.range-grid input{background:#fffdf1;border:2px solid #8a552c33;border-radius:14px;width:100%;padding:10px 12px}.review-panel,.review-empty,.report-panel{margin-top:4px}.book-header{justify-content:space-between;align-items:center;gap:16px;display:flex}.review-actions,.report-actions{flex-wrap:wrap;gap:10px;display:flex}.mistake-list{gap:10px;margin-top:18px;display:grid}.mistake-item{background:#fff4c7;border-radius:18px;gap:4px;padding:14px 16px;display:grid}.mistake-item strong{font-size:1.22rem}.mistake-item span{color:var(--muted);font-weight:800}.review-empty{text-align:center;place-items:center;min-height:340px;display:grid}.review-empty span{width:118px;height:118px;color:var(--blue);background:#fff2c2;border-radius:50%;place-items:center;font-size:4rem;font-weight:900;display:grid}.report-panel{text-align:center;background:radial-gradient(circle at 16% 16%,#609f712e 0 120px,#0000 121px),linear-gradient(145deg,#fffdf1,#ffedb3);justify-items:center;gap:18px;display:grid}.big-stamp{aspect-ratio:1;border:10px solid var(--red);width:min(220px,58vw);color:var(--red);border-radius:50%;place-items:center;font-family:ZCOOL KuaiLe,cursive;font-size:clamp(2.1rem,7vw,3.6rem);animation:.76s cubic-bezier(.2,1.6,.35,1) both stamp-in;display:grid;transform:rotate(-10deg)}.reward-row{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;width:100%;display:grid}.reward-row article,.parent-card{background:#ffffff94;border-radius:20px;gap:6px;padding:16px;display:grid}.reward-row span{color:var(--red);font-weight:900}.reward-row strong{font-size:1.12rem}.reward-row small{color:var(--muted);font-weight:800}.parent-card{text-align:left;width:min(680px,100%)}@keyframes answer-pop{0%{transform:scale(.92)}48%{transform:scale(1.08)rotate(-1deg)}to{transform:scale(1)}}@keyframes answer-shake{0%,to{transform:translate(0)}20%{transform:translate(-10px)}40%{transform:translate(8px)}60%{transform:translate(-6px)}80%{transform:translate(4px)}}@keyframes stamp-in{0%{opacity:0;transform:scale(1.8)rotate(-22deg)}55%{opacity:1;transform:scale(.9)rotate(-12deg)}to{opacity:1;transform:scale(1)rotate(-14deg)}}@keyframes eraser-swipe{0%{opacity:0;transform:translate(80px)rotate(8deg)}35%{opacity:1}to{opacity:1;transform:translate(-8px)rotate(-2deg)}}@media (width<=900px){.hero-panel,.training-layout,.free-layout,.goal-strip,.context-header{grid-template-columns:1fr}.desk-toolbar{justify-items:start}.hero-panel:before{opacity:.65;width:260px}.reward-row,.range-grid{grid-template-columns:1fr}.stats-ribbon{grid-template-columns:repeat(2,1fr)}.skill-grid{grid-template-columns:1fr}.context-pills{justify-content:flex-start}}@media (width<=620px){body{background:radial-gradient(circle at 18% 4%,#fff8d6f2 0 92px,#0000 93px),linear-gradient(#f4dca7 0%,#d79b54 100%)}.app-shell{width:min(100% - 14px, var(--container));padding:10px 0 28px}.hero-panel{border-width:3px;border-radius:26px;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:10px;min-height:0;padding:16px}.hero-panel:before{opacity:.45;width:210px;height:24px;bottom:12px;right:-72px}.hero-copy h1{white-space:nowrap;font-size:clamp(2.35rem,12vw,3rem)}.hero-copy p:last-child{display:none}.desk-toolbar{justify-items:end;gap:8px}.sound-toggle{border-radius:14px;min-height:38px;padding:0 12px;font-size:.9rem}.island-badge{border-width:3px;border-radius:22px 28px 22px 30px;min-width:78px;padding:8px}.island-badge strong{font-size:2rem}.island-badge span,.island-badge small{font-size:.68rem}.mode-tabs{z-index:20;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#fffdf1f0;border-radius:22px;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;margin:10px 0 0;padding:7px;position:sticky;top:8px}.mode-tabs button{border-radius:16px;min-height:48px;padding:4px 5px;font-size:.9rem;line-height:1.05}.mode-tabs span{min-width:20px;height:20px;margin-left:2px;font-size:.78rem}.context-page{gap:12px;margin-top:12px}.context-header{background:linear-gradient(90deg,#fffdf1f2,#fff3c1eb),#fffdf1eb;border-radius:24px;gap:10px;padding:14px}.context-header h2{font-size:clamp(1.65rem,8vw,2.25rem)}.context-header>div:first-child>span{margin-top:2px;font-size:.96rem;line-height:1.25;display:block}.context-pills{grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;display:grid}.context-pills span{justify-content:center;min-height:32px;padding:6px 8px;font-size:.9rem}.training-layout,.free-layout,.workbook-panel,.practice-column,.training-side,.side-column{gap:12px}.goal-strip{border-radius:24px;gap:10px;padding:14px}.goal-strip h2{font-size:clamp(1.45rem,7vw,2rem)}.goal-strip span{font-size:.94rem;line-height:1.25;display:block}.progress-pencil{height:20px;padding:4px}.problem-card{background:linear-gradient(#4d90c221 1px,#0000 1px) 0 34px/100% 30px,linear-gradient(145deg,#fffdf1,#fff2c2);border-radius:28px;min-height:224px;padding:16px}.problem-card:after{opacity:.45;width:190px;height:20px;bottom:14px;right:-82px}.map-pin,.skill-chip{min-height:30px;padding:5px 10px;font-size:.86rem}.skill-chip{margin-left:4px}.equation{justify-content:flex-start;gap:9px;margin:24px 0 14px;font-size:clamp(2.35rem,16vw,4.55rem)}.answer-window{border-width:4px;border-radius:20px;min-width:clamp(72px,24vw,98px);min-height:clamp(66px,20vw,86px)}.feedback{text-align:left;font-size:1rem;line-height:1.28}.stamp-burst{border-width:5px;width:76px;height:76px;font-size:1.12rem;top:16px;right:14px}.eraser-swipe{padding:8px 10px;font-size:.9rem;bottom:18px;right:12px}.number-pad{border-radius:26px;padding:12px}.digit-grid{gap:8px}.digit-grid button{border-radius:16px;min-height:clamp(54px,15vw,70px);font-size:clamp(1.32rem,7vw,2rem)}.digit-grid .pad-tool,.digit-grid .pad-submit{font-size:.95rem}.pad-actions{margin-top:8px}.sticker-board,.today-card,.settings-panel,.review-panel,.review-empty,.report-panel,.tool-note{border-radius:24px;padding:14px}.sticker-board{order:2}.skill-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.skill-grid article{grid-template-columns:10px 1fr;align-items:start;gap:6px;padding:9px}.skill-grid article small{grid-column:2;margin-top:-4px}.skill-grid span{width:10px;height:38px}.today-card h3{font-size:1.55rem}.tiny-stats,.stats-ribbon{grid-template-columns:repeat(3,minmax(0,1fr));gap:7px}.stats-ribbon div,.tiny-stats span{border-radius:14px;padding:9px 6px;font-size:.86rem}.stats-ribbon strong{font-size:1.35rem}.tool-note{gap:4px;display:grid}.tool-note strong{font-family:ZCOOL KuaiLe,"Baloo 2",cursive;font-size:1.55rem;font-weight:400}.difficulty-row button{flex:calc(50% - 6px);min-height:42px}.operation-row label,.switch-row label{flex:calc(50% - 6px);justify-content:center;padding:9px}.range-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.range-grid input{border-radius:12px;padding:9px 8px}.review-empty{min-height:260px}.review-empty span{width:88px;height:88px;font-size:3rem}.review-actions,.report-actions{grid-template-columns:1fr;display:grid}.mistake-list{gap:8px;margin-top:12px}.mistake-item{border-radius:16px;padding:12px}.report-panel{gap:12px}.big-stamp{border-width:8px;width:min(158px,48vw)}.reward-row{grid-template-columns:1fr;gap:8px}.reward-row article,.parent-card{text-align:left;border-radius:16px;padding:12px}.book-header{flex-direction:column;align-items:stretch}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:1ms!important;animation-duration:1ms!important}}
