@import "https://fonts.googleapis.com/css2?family=Baloo+2:wght@500;700;800&family=Ma+Shan+Zheng&family=Nunito:wght@500;700;900&display=swap";:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--ink:#2e2a20;--muted:#786f5c;--paper:#fff8df;--paper-line:#5884a62e;--paper-edge:#ead7a8;--wood:#d8a864;--wood-dark:#9e6837;--cream:#fffdf0;--green:#5e9f74;--green-dark:#376f4d;--blue:#4a8ec3;--red:#e86f5a;--yellow:#f4c34e;--pink:#f4a7ad;--shadow:#50321433;--soft-shadow:#5032141c;--radius:24px;--radius-sm:16px;--container:1180px;background:#f1d59b;font-family:Nunito,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 10% 8%,#fff8d2e6 0 120px,#0000 121px),radial-gradient(circle at 90% 18%,#71a4c452 0 180px,#0000 181px),linear-gradient(120deg,#f4dcaa 0%,#dfb36d 52%,#c99a55 100%);margin:0}body:before{z-index:-1;content:"";opacity:.28;pointer-events:none;background-image:linear-gradient(90deg,#65401e2e 1px,#0000 1px),linear-gradient(#ffffff1f 1px,#0000 1px);background-size:54px 54px;position:fixed;inset:0}button,input{font:inherit}button{min-height:44px;color:var(--ink);cursor:pointer;touch-action:manipulation;border:0;transition:transform .14s,box-shadow .14s,background .14s}button:hover:not(:disabled){transform:translateY(-2px)}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 #4a8ec340}.app-shell{width:min(var(--container), calc(100% - 28px));margin:0 auto;padding:28px 0 44px}.hero-panel{background:linear-gradient(var(--paper-line) 1px, transparent 1px) 0 54px / 100% 34px, radial-gradient(circle at 86% 18%, #f4c34e6b 0 78px, transparent 79px), linear-gradient(135deg, #fff9de 0%, #fff0bd 100%);min-height:260px;box-shadow:0 26px 60px var(--shadow), inset 0 0 0 2px #ffffff8c;border:4px solid #f6e7bc;border-radius:38px;grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:24px;padding:clamp(26px,5vw,56px);display:grid;position:relative;overflow:hidden}.hero-panel:before,.hero-panel:after{content:"";pointer-events:none;border-radius:999px;position:absolute}.hero-panel:before{background:repeating-linear-gradient(90deg,#f05f57 0 32px,#f4c34e 32px 64px,#5e9f74 64px 96px,#4a8ec3 96px 128px,#f4a7ad 128px 160px);width:300px;height:42px;bottom:24px;right:22px;transform:rotate(-7deg);box-shadow:0 12px 18px #5a371429}.hero-panel:after{filter:blur(8px);background:#3c251329;width:180px;height:16px;bottom:14px;right:70px}.hero-copy{z-index:1;position:relative}.eyebrow,.panel-heading p,.book-header p{color:var(--red);letter-spacing:.08em;text-transform:uppercase;margin:0 0 8px;font-family:"Baloo 2",Nunito,sans-serif;font-size:.82rem;font-weight:800}.hero-copy h1{letter-spacing:.02em;margin:0;font-family:Ma Shan Zheng,"Baloo 2",cursive;font-size:clamp(4rem,11vw,8.8rem);font-weight:400;line-height:.92}.hero-copy p:last-child{max-width:650px;color:var(--muted);margin:22px 0 0;font-size:clamp(1.06rem,2vw,1.3rem);font-weight:800}.island-badge{z-index:1;aspect-ratio:1;min-width:142px;box-shadow:0 16px 26px var(--soft-shadow), inset 0 -8px 0 #d8a8642e;background:linear-gradient(145deg,#fffdf0,#ffe39c);border:4px solid #9e683747;border-radius:32px 42px 34px 48px;place-items:center;padding:16px;display:grid;position:relative;transform:rotate(3deg)}.island-badge span,.island-badge small{color:var(--muted);letter-spacing:.06em;text-transform:uppercase;font-family:"Baloo 2",sans-serif;font-weight:800}.island-badge strong{font-family:"Baloo 2",sans-serif;font-size:3.6rem;line-height:.85}.mode-tabs{box-shadow:0 16px 32px var(--soft-shadow);background:#fffdf0c2;border:3px solid #9e68372e;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:#fffdf0;border-radius:18px;font-weight:900;box-shadow:inset 0 -4px #9e68371f}.mode-tabs button.active,.difficulty-row button.active{color:#fffdf0;background:linear-gradient(135deg, var(--green), var(--green-dark));box-shadow:0 10px 18px #376f4d38,inset 0 -4px #0000001f}.mode-tabs span{background:var(--yellow);min-width:24px;height:24px;color:var(--ink);border-radius:999px;place-items:center;margin-left:5px;display:inline-grid}.stats-ribbon{grid-template-columns:repeat(4,1fr);gap:14px;margin-bottom:24px;display:grid}.stats-ribbon div,.settings-panel,.study-panel,.mistake-book,.problem-card,.number-pad{box-shadow:0 18px 34px var(--soft-shadow);background:#fffdf0e0;border:3px solid #9e683729}.stats-ribbon div{text-align:center;border-radius:24px;padding:18px 14px}.stats-ribbon strong{font-family:"Baloo 2",sans-serif;font-size:clamp(2rem,5vw,3rem);line-height:.95;display:block}.stats-ribbon span{color:var(--muted);font-weight:900}.adventure-layout{grid-template-columns:minmax(0,1.15fr) minmax(320px,.8fr);align-items:start;gap:24px;display:grid}.practice-column,.side-column{gap:20px;display:grid}.challenge-map{box-shadow:0 14px 26px var(--soft-shadow);background:#fffdf0d6;border:3px solid #9e683729;border-radius:24px;gap:10px;padding:16px 18px;font-weight:900;display:grid}.challenge-map div{background:#9e683724;border-radius:999px;height:18px;padding:4px}.challenge-map i{border-radius:inherit;background:linear-gradient(90deg, var(--green), var(--blue), var(--yellow));height:100%;transition:width .24s;display:block}.problem-card{background:linear-gradient(var(--paper-line) 1px, transparent 1px) 0 74px / 100% 42px, linear-gradient(145deg, #fffdf0, #fff1c6);border-radius:34px;padding:clamp(24px,5vw,46px);position:relative;overflow:hidden}.problem-card:after{content:"";border:22px solid #f4a7ad47;border-radius:50%;width:190px;height:190px;position:absolute;top:-60px;right:-60px}.map-pin{color:#fffdf0;background:var(--red);border-radius:14px 18px 12px;padding:8px 14px;font-family:"Baloo 2",sans-serif;font-weight:900;display:inline-block;transform:rotate(-2deg)}.equation{z-index:1;flex-wrap:wrap;align-items:center;gap:clamp(10px,2vw,20px);margin-top:28px;font-family:"Baloo 2",sans-serif;font-size:clamp(4rem,11vw,8.4rem);font-weight:800;line-height:.9;display:flex;position:relative}.answer-window{min-width:clamp(118px,20vw,190px);min-height:clamp(92px,14vw,138px);color:var(--blue);background:#fffdf9;border:5px solid #4a8ec338;border-radius:22px;place-items:center;display:inline-grid;box-shadow:inset 0 -8px #4a8ec31a}.feedback{min-height:32px;color:var(--muted);margin:24px 0 0;font-size:1.18rem;font-weight:900}.number-pad{background:linear-gradient(145deg,#fffdf0eb,#ffefc2db);border-radius:30px;gap:14px;padding:18px;display:grid}.digit-grid{grid-template-columns:repeat(5,1fr);gap:12px;display:grid}.digit-grid button{min-height:76px;color:var(--ink);background:#fffdf9;border-radius:22px;font-family:"Baloo 2",sans-serif;font-size:2.35rem;font-weight:800;box-shadow:inset 0 -7px #9e683724,0 6px #9e68371f}.digit-grid button:nth-child(3n+1){color:var(--red)}.digit-grid button:nth-child(3n+2){color:var(--green-dark)}.digit-grid button:nth-child(3n){color:var(--blue)}.pad-actions,.difficulty-row,.switch-row,.operation-row{flex-wrap:wrap;gap:10px;display:flex}.primary,.secondary,.next-button,.mistake-item button{border-radius:18px;padding:12px 20px;font-weight:900}.primary,.next-button,.mistake-item button{color:#fffdf0;background:linear-gradient(135deg, var(--red), #cf5947);box-shadow:0 8px #91413038}.secondary{background:#fffdf9;box-shadow:inset 0 0 0 2px #9e683724,inset 0 -4px #9e68371a}.next-button{justify-self:end;width:fit-content}.settings-panel,.study-panel,.mistake-book{border-radius:30px;padding:22px}.panel-heading strong,.book-header h2{font-family:"Baloo 2",Nunito,sans-serif;font-size:1.75rem;line-height:1.1}.difficulty-row{margin:18px 0}.difficulty-row button{padding:11px 16px}.operation-row label,.switch-row label,.range-grid label{color:var(--muted);gap:7px;font-weight:900;display:grid}.operation-row label,.switch-row label{background:#ffffff85;border-radius:999px;grid-auto-flow:column;align-items:center;padding:10px 13px}input[type=checkbox]{accent-color:var(--green)}.range-grid{grid-template-columns:repeat(3,1fr);gap:10px;margin:16px 0;display:grid}.range-grid input{width:100%;min-height:46px;color:var(--ink);background:#fffdf9;border:2px solid #9e68372e;border-radius:16px;padding:8px 12px;font-weight:900}.study-notes{gap:12px;margin-top:16px;display:grid}.study-notes article{background:#ffffff85;border-radius:20px;padding:16px 16px 16px 62px;position:relative}.note-index{background:var(--yellow);border-radius:12px;place-items:center;width:34px;height:34px;font-family:"Baloo 2",sans-serif;font-weight:900;display:grid;position:absolute;top:16px;left:16px}.study-notes h3{margin:0 0 4px;font-family:"Baloo 2",sans-serif;font-size:1.2rem}.study-notes p{color:var(--muted);margin:0;font-weight:800}.book-header{justify-content:space-between;align-items:center;gap:16px;margin-bottom:18px;display:flex}.empty-state{text-align:center;place-items:center;min-height:340px;display:grid}.empty-state span{background:var(--green);color:#fffdf0;border-radius:28px;place-items:center;width:92px;height:92px;font-family:"Baloo 2",sans-serif;font-size:3.5rem;font-weight:900;display:grid;transform:rotate(-3deg)}.empty-state h2{margin:18px 0 4px;font-family:Ma Shan Zheng,cursive;font-size:clamp(2.4rem,6vw,4rem);font-weight:400}.empty-state p{max-width:480px;color:var(--muted);font-weight:800}.mistake-list{gap:12px;display:grid}.mistake-item{background:#ffffff8c;border-radius:22px;grid-template-columns:1fr auto auto;align-items:center;gap:12px;padding:15px;display:grid}.mistake-item strong{font-family:"Baloo 2",sans-serif;font-size:1.42rem}.mistake-item span{color:var(--muted);font-weight:900}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important}}@media (width<=900px){.hero-panel,.adventure-layout{grid-template-columns:1fr}.island-badge{justify-self:start}.stats-ribbon,.digit-grid,.range-grid{grid-template-columns:repeat(2,1fr)}.mistake-item{grid-template-columns:1fr}}@media (width<=560px){.app-shell{width:min(100% - 18px, var(--container));padding-top:12px}.hero-panel,.problem-card,.settings-panel,.study-panel,.mistake-book,.number-pad{border-radius:24px}.hero-panel:before{width:220px;bottom:14px;right:-18px}.mode-tabs,.stats-ribbon,.digit-grid,.range-grid{grid-template-columns:1fr}.equation{font-size:clamp(3.2rem,18vw,5.2rem)}}
