@charset "UTF-8";
svg{width:20px;height:20px}.hero-kicker svg{width:14px;height:14px}.hero-art{height:auto}
.young-learner .question,.young-learner .practice-prompt{font-family:"PingFang SC",sans-serif;font-size:23px;line-height:2}.young-learner .btn{min-height:48px;font-size:13px}.young-learner .knowledge{font-size:16px;line-height:2}
:root{--ink:#203b3d;--muted:#778787;--green:#147d69;--green-dark:#0d5f50;--mint:#eaf5f0;--line:#e3eaea;--bg:#f5f8f9;--blue:#5277bb;--amber:#b77a29;--white:#fff;--red:#ba5252;--shadow:0 12px 40px #234d4710;font-family:"Avenir Next","PingFang SC","Microsoft YaHei",sans-serif;color:var(--ink);background:var(--bg);font-synthesis:none}*{box-sizing:border-box}body{margin:0;font-size:14px;line-height:1.65}button,input,select,textarea{font:inherit}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:disabled{cursor:default;opacity:.5}button,a{transition:background .15s,color .15s,box-shadow .15s}a{color:inherit;text-decoration:none}svg{display:block;flex-shrink:0}button:focus-visible,a:focus-visible,select:focus-visible,input:focus-visible,textarea:focus-visible{outline:3px solid #5c9ce6;outline-offset:3px}button{color:inherit}button svg{pointer-events:none}h1,h2,h3,p{margin:0}h1{font-size:29px;line-height:1.4;font-weight:650}h2{font-size:19px;line-height:1.5;font-weight:650}h3{font-size:16px;font-weight:650}p{color:var(--muted)}small{font-size:12px}.sidebar{position:fixed;inset:0 auto 0 0;width:220px;padding:37px 22px 22px;background:var(--white);border-right:1px solid var(--line);display:flex;flex-direction:column;z-index:30}.brand{display:flex;align-items:center;gap:12px;padding:0 12px 42px;font-family:"Songti SC","STSong",serif;font-size:29px;font-weight:700;line-height:1.25}.brand small{display:block;font-family:"PingFang SC",sans-serif;font-size:10px;letter-spacing:2px;color:var(--muted);font-weight:400;margin-top:6px}.brand-mark{display:grid;grid-template-columns:14px 14px;gap:4px;transform:rotate(-8deg)}.brand-mark i{width:14px;height:17px;border-radius:3px;background:var(--green)}.brand-mark i:nth-child(2){background:#95c7ae;border-radius:9px 3px 3px 3px}.brand-mark i:nth-child(3){background:#d8aa67}.brand-mark i:nth-child(4){height:13px}.nav-caption{font-size:10px;color:#98a4a4;padding:0 16px;margin-bottom:15px;letter-spacing:1px}.nav-item{display:flex;align-items:center;width:100%;gap:13px;margin-bottom:9px;padding:13px 16px;border:0;background:transparent;border-radius:11px;color:#7c8b8b;text-align:left;font-size:14px}.nav-item.active{color:var(--green);background:var(--mint);font-weight:650}.nav-item:hover{background:#f1f6f4}.nav-item svg{width:21px;height:21px}.nav-item .nav-count{font-size:10px;background:var(--green);color:#fff;line-height:19px;min-width:19px;border-radius:7px;text-align:center;margin-left:auto}.side-note{margin-top:auto;padding:30px 16px;color:#7c8f8b}.side-note strong{font-size:13px;font-weight:500;line-height:1.9}.side-note p{font-size:11px;margin-top:9px}.seed-icon{font-size:37px;line-height:1;color:#aacbbe;margin-bottom:16px}.design-link{display:flex;justify-content:space-between;border-top:1px solid var(--line);padding:20px 12px 9px;font-size:12px;color:#677f7a}.sidebar-foot{font-size:10px;color:#91a09b;display:flex;align-items:center;gap:6px;padding:8px 12px}.status-dot{width:5px;height:5px;border-radius:50%;background:#78ad96}.app-shell{margin-left:220px}.topbar{height:83px;border-bottom:1px solid var(--line);padding:0 44px;display:flex;align-items:center;justify-content:space-between;background:#ffffffb8}.breadcrumb{display:flex;gap:15px;font-size:12px;color:#98a4a4}.breadcrumb strong{font-weight:500;color:#55716b}.header-actions{display:flex;align-items:center;gap:18px}.grade-picker{display:flex;align-items:center;gap:9px;padding:8px 12px;background:#fff;border:1px solid var(--line);border-radius:9px;color:#48625d}.grade-picker svg{width:16px;height:16px}.grade-picker select{border:0;color:inherit;background:transparent;font-size:12px;max-width:105px}.icon-button{width:35px;height:35px;border:1px solid var(--line);display:grid;place-items:center;border-radius:50%;background:transparent;color:#6c8981}.icon-button svg{width:17px;height:17px}.avatar{width:36px;height:36px;background:#f3e6cf;color:#9b792f;border:3px solid #fff;border-radius:50%;font-family:"Songti SC",serif;font-weight:700}main{max-width:1440px;padding:35px 44px 30px;margin:auto;animation:reveal .3s ease-out}@keyframes reveal{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}.page-head{display:flex;align-items:center;justify-content:space-between;gap:15px;margin-bottom:27px}.page-head p{font-size:12px;margin-top:7px}.eyebrow{font-size:10px;font-weight:650;letter-spacing:1.8px;color:var(--green);margin-bottom:8px}.date-label{font-size:11px;color:#8c9b9a;text-align:right;white-space:nowrap}.date-label strong{display:block;color:#526e67;font-size:14px;font-weight:500}.dashboard-grid{display:grid;grid-template-columns:minmax(0,1fr) 310px;gap:25px}.left-stack,.right-stack{display:flex;flex-direction:column;gap:25px;min-width:0}.hero{position:relative;overflow:hidden;border-radius:21px;padding:27px 29px;background:#e6f2ec;min-height:221px;border:1px solid #dbece2}.hero-content{position:relative;z-index:2;max-width:72%}.hero-kicker{font-size:11px;color:#578b74;display:flex;align-items:center;gap:6px}.hero h2{font-family:"Songti SC","STSong",serif;font-size:27px;margin:12px 0 8px;color:#245845}.hero p{font-size:12px;color:#678777;max-width:320px}.hero-art{position:absolute;right:9px;bottom:6px;width:225px;opacity:.98;pointer-events:none}.button-row{display:flex;align-items:center;gap:13px;flex-wrap:wrap;margin-top:20px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:42px;border:0;padding:10px 18px;border-radius:9px;font-size:12px;font-weight:600;white-space:nowrap;background:var(--green);color:#fff}.btn:hover{background:var(--green-dark)}.btn svg{width:16px;height:16px}.btn.secondary{background:#fff;border:1px solid var(--line);color:#57726c}.btn.secondary:hover{background:#f2f7f4}.btn.soft{background:var(--mint);color:var(--green)}.btn.ghost{background:transparent;color:#5d806e;padding-left:2px;padding-right:2px}.btn.ghost:hover{color:var(--green-dark)}.btn.blue{background:#edf2fc;color:#5575ac}.btn.danger{background:#fbefed;color:var(--red)}.text-button{border:0;background:none;color:var(--green);font-size:11px;padding:6px 0;display:inline-flex;align-items:center;gap:5px;min-height:32px}.text-button svg{width:14px;height:14px}.section-heading{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:15px}.section-heading h2{font-size:16px}.subtle{font-size:11px;color:var(--muted)}.tool-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}.tool{background:var(--white);border:1px solid var(--line);border-radius:14px;min-height:112px;padding:16px 8px 13px;text-align:center}.tool:hover{border-color:#a6cbbb;box-shadow:0 5px 15px #2d5b4210;transform:translateY(-1px)}.tool .tool-icon{width:39px;height:39px;border-radius:12px;display:grid;place-items:center;margin:0 auto 9px}.tool svg{width:20px;height:20px}.tool strong{font-size:12px;font-weight:600}.tool small{display:block;color:#96a3a0;font-size:10px;margin-top:2px}.green{background:#eaf5ef;color:#358367}.blue{background:#edf1fa;color:#6985bd}.orange{background:#fcf1e3;color:#c6954c}.rose{background:#f8edef;color:#b9808c}.panel{background:var(--white);border:1px solid var(--line);border-radius:17px;padding:21px}.panel.unpadded{padding:0}.panel-top{padding:21px 21px 0}.task-row{display:flex;align-items:center;gap:13px;padding:17px 0;border-top:1px solid #edf1ef}.task-row:first-child{border-top:0}.task-icon{width:39px;height:39px;border-radius:11px;display:grid;place-items:center;flex-shrink:0}.task-icon svg{width:19px;height:19px}.task-info{flex:1;min-width:0}.task-info strong{display:block;font-size:12px;font-weight:600}.task-info p{font-size:10px;margin-top:3px}.tag{display:inline-flex;align-items:center;white-space:nowrap;border-radius:5px;padding:3px 7px;font-size:10px;line-height:1.6;font-weight:500;color:#80918a;background:#f0f5f2}.tag.amber{background:#fbf3e7;color:#ac843f}.tag.blue{background:#eef2fa;color:#7187af}.tag.red{background:#faefed;color:#b57465}.task-row .btn{min-height:32px;padding:6px 12px;font-size:11px}.task-list{padding:0 21px}.progress-panel{display:flex;align-items:center;gap:15px}.progress-ring{width:88px;height:88px;position:relative;flex-shrink:0}.progress-ring svg{width:100%;height:100%;transform:rotate(-90deg)}.ring-number{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;line-height:1.3}.ring-number strong{font-size:23px;font-weight:600}.ring-number span{font-size:9px;color:#98a5a0;margin-top:2px}.progress-panel h3{font-size:13px}.progress-panel p{font-size:10px;margin:4px 0 7px}.progress-caption{margin-top:17px;border-top:1px solid var(--line);padding-top:13px;display:flex;align-items:center;justify-content:space-between;font-size:10px;color:#8a9c94}.progress-caption b{color:#638372;font-weight:500}.week-days{display:grid;grid-template-columns:repeat(7,1fr);gap:5px;margin:17px 0 15px}.week-day{text-align:center;font-size:9px;color:#9ca9a5;min-width:0}.week-day>span{display:block;margin-bottom:6px}.week-day b{height:31px;width:28px;display:grid;place-items:center;margin:auto;border-radius:9px;font-size:11px;color:#5c756b;font-weight:500}.week-day.active b{background:var(--green);color:white}.week-day .day-dot{width:4px;height:4px;border-radius:50%;background:#b7d3c6;margin:5px auto 0;display:block}.week-day.active .day-dot{background:#347f63}.week-caption{font-size:10px;display:flex;justify-content:space-between;border-top:1px solid var(--line);padding-top:13px}.week-caption strong{color:var(--green);font-weight:500}.curve-panel{background:#f4f6fc;border-color:#e5e9f4}.curve-panel h3{font-size:13px;color:#5c74a4}.curve-panel p{font-size:10px;color:#8a97b1;margin-top:4px}.curve{width:100%;height:auto;margin:17px 0 9px}.legend{display:flex;gap:17px;font-size:9px;color:#8392aa;align-items:center}.legend span{display:flex;align-items:center;gap:5px}.legend i{width:13px;height:2px;background:#7391bf}.legend i.dashed{background:repeating-linear-gradient(90deg,#bac4d6 0 3px,transparent 3px 5px)}.curve-note{margin-top:13px!important;font-size:9px!important;line-height:1.7}.mistake-row{display:flex;gap:13px;align-items:center;padding:17px 21px;border-top:1px solid #edf1ef}.mistake-row:first-child{border-top:0}.math-icon{width:40px;height:42px;display:grid;place-items:center;border:1px solid #e2e9e5;background:#f7faf8;color:#739b83;border-radius:9px;font-family:"Songti SC",serif;font-size:21px;flex-shrink:0}.mistake-text{min-width:0;flex:1}.mistake-text strong{font-size:12px;display:block;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;font-weight:500}.mistake-text p{font-size:10px;margin-top:5px;display:flex;gap:7px;align-items:center;flex-wrap:wrap}.arrow-button{width:32px;height:32px;border:0;background:none;color:#a0b1ab;display:grid;place-items:center}.arrow-button:hover{background:var(--mint);border-radius:6px;color:var(--green)}.arrow-button svg{width:17px;height:17px}.app-footer{max-width:1440px;margin:auto;display:flex;justify-content:space-between;padding:2px 44px 25px;color:#a1afad;font-size:10px}.mobile-nav{display:none}.title-actions{display:flex;gap:10px}.tab-row{display:flex;gap:8px;overflow-x:auto;padding-bottom:4px;margin-bottom:18px}.pill{border:1px solid var(--line);background:#fff;border-radius:8px;padding:8px 17px;white-space:nowrap;font-size:12px;color:#7b8f87;min-height:38px}.pill.active{background:var(--green);color:#fff;border-color:var(--green)}.pill:hover{border-color:var(--green)}.filter-bar{display:flex;justify-content:space-between;gap:12px;align-items:center;margin:20px 0}.searchbox{display:flex;align-items:center;gap:8px;background:white;border:1px solid var(--line);border-radius:9px;padding:8px 12px;min-width:0;max-width:310px;width:100%}.searchbox svg{width:16px;height:16px;color:#8ea19a}.searchbox input{border:0;outline:none;min-width:0;width:100%;font-size:12px;background:none}.select{border:1px solid var(--line);background:#fff;border-radius:8px;padding:9px;color:#6f847c;font-size:12px}.stats-strip{display:grid;grid-template-columns:repeat(3,1fr);border:1px solid var(--line);border-radius:15px;overflow:hidden;background:#fff;margin-bottom:21px}.strip-stat{padding:18px 22px;display:flex;align-items:baseline;gap:9px;border-right:1px solid var(--line)}.strip-stat:last-child{border:0}.strip-stat b{font-size:25px;font-weight:600}.strip-stat span{font-size:11px;color:#86958f}.mistake-cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:17px}.mistake-card{background:#fff;border:1px solid var(--line);border-radius:15px;padding:20px}.card-meta{display:flex;align-items:center;gap:7px;margin-bottom:14px;flex-wrap:wrap}.card-meta .spacer{flex:1}.question{font-size:18px;line-height:1.85;font-family:"Songti SC","STSong",serif;margin:13px 0;color:#304c48;overflow-wrap:anywhere}.mistake-card .question{font-size:17px;min-height:63px}.card-bottom{display:flex;align-items:center;justify-content:space-between;border-top:1px solid var(--line);padding-top:12px;margin-top:15px;gap:12px}.card-bottom span{font-size:10px;color:#899b91}.card-bottom .btn{min-height:33px;font-size:11px;padding:7px 13px}.empty{padding:50px 20px;text-align:center;grid-column:1/-1;background:white;border:1px dashed #d4e3da;border-radius:17px}.empty svg{width:35px;height:35px;margin:0 auto 14px;color:#8fb7a0}.empty p{font-size:12px;margin:8px 0 17px}.info-band{padding:14px 18px;background:#eaf4ef;border-radius:12px;font-size:12px;color:#628271;display:flex;gap:12px;align-items:center;line-height:1.7;margin-bottom:23px}.info-band svg{width:19px;height:19px;color:#64937a}.info-band .text-button{margin-left:auto;white-space:nowrap}.learn-grid{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:24px}.lesson-feature{background:#fff;padding:28px;border:1px solid var(--line);border-radius:17px}.lesson-number{font-size:10px;color:var(--green);letter-spacing:1.3px;margin-bottom:10px}.lesson-feature h2{font-family:"Songti SC",serif;font-size:26px;margin-bottom:13px}.lesson-feature p{font-size:13px;line-height:1.9}.knowledge{border-left:3px solid #9ac0ad;padding:13px 17px;background:#f4f8f5;margin:21px 0;line-height:1.9;font-size:13px}.lesson-footer{margin-top:25px;border-top:1px solid var(--line);padding-top:16px;color:#91a197;font-size:10px}.tool-list-button{display:flex;align-items:center;gap:12px;width:100%;text-align:left;padding:17px 0;border:0;border-bottom:1px solid var(--line);background:transparent}.tool-list-button:last-child{border:0}.tool-list-button svg{width:21px;height:21px;color:#699580}.tool-list-button strong{font-size:12px;font-weight:500}.tool-list-button p{font-size:10px}.tool-list-button>span:last-child{margin-left:auto}.schedule-list{margin-top:17px}.schedule-row{display:flex;align-items:center;gap:14px;padding:19px 0;border-top:1px solid var(--line)}.schedule-date{min-width:49px;text-align:center;color:#758d80;font-size:10px}.schedule-date strong{font-size:23px;display:block;line-height:1.3;font-weight:500}.schedule-row .btn{min-height:35px;font-size:11px}.review-grid{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:23px}.stage-list{margin-top:17px}.stage-row{display:flex;gap:12px;padding:12px 0;border-top:1px solid var(--line);align-items:center}.stage-dot{width:25px;height:25px;border-radius:50%;background:var(--mint);color:var(--green);font-size:10px;display:grid;place-items:center}.stage-row strong{font-size:12px;font-weight:500}.stage-row p{font-size:10px}.profile-top{display:flex;align-items:center;gap:18px;margin-bottom:25px}.profile-avatar{width:65px;height:65px;border-radius:20px;background:#e5efe7;display:grid;place-items:center;color:#688c74;font-size:30px;font-family:"Songti SC",serif}.profile-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px}.stat-line{display:flex;align-items:center;justify-content:space-between;padding:15px 0;border-top:1px solid var(--line);font-size:12px}.stat-line strong{color:var(--green);font-weight:600}.data-action{display:flex;align-items:center;justify-content:space-between;gap:15px;margin:20px 0}.data-action h3{font-size:13px}.data-action p{font-size:11px;margin-top:4px}.report-bars{margin:24px 0}.bar-line{margin:18px 0}.bar-caption{display:flex;justify-content:space-between;font-size:11px;margin-bottom:7px;color:#758b80}.bar-track{height:7px;border-radius:5px;background:#edf3ef;overflow:hidden}.bar-fill{height:100%;border-radius:5px;background:#86b39e;min-width:0}.mini-note{font-size:11px;color:#95a39c;line-height:1.8}.banner-link{display:flex;justify-content:space-between;align-items:center;padding:22px;background:#eaf0fa;border-radius:14px;margin-top:22px;color:#607dac}.banner-link strong{font-size:13px}.banner-link p{font-size:10px;color:#879abd;margin-top:4px}dialog{border:0;padding:0;width:min(680px,calc(100vw - 30px));max-height:90dvh;border-radius:21px;box-shadow:0 25px 100px #102b3540;color:var(--ink);background:#fff}dialog::backdrop{background:#1c333554;backdrop-filter:blur(3px)}.dialog-head{display:flex;align-items:flex-start;justify-content:space-between;gap:15px;padding:25px 28px 17px;position:sticky;top:0;background:#fffffff2;backdrop-filter:blur(8px);z-index:10;border-bottom:1px solid #edf1ef}.dialog-head h2{font-size:19px}.dialog-head p{font-size:11px;margin-top:4px}.close-button{border:0;background:#f0f5f2;color:#739184;border-radius:50%;width:30px;height:30px;display:grid;place-items:center;flex-shrink:0}.close-button svg{width:17px;height:17px}.dialog-body{padding:25px 28px 28px}.field{display:block;margin-bottom:17px}.field>span{display:block;font-size:12px;font-weight:500;margin-bottom:7px}.field input:not([type=file]),.field select,.field textarea,.answer-input{width:100%;border:1px solid #dce6df;border-radius:9px;background:#fafcfb;padding:11px 13px;color:var(--ink);min-height:43px}.field textarea{min-height:82px;resize:vertical;font-size:13px}.field input[type=file]{max-width:100%;font-size:11px}.field small{display:block;font-size:10px;color:#8d9e94;margin-top:5px}.field-row{display:grid;grid-template-columns:1fr 1fr;gap:15px}.error-text{color:var(--red);font-size:12px;margin:10px 0;min-height:0}.capture-note{background:#f1f6f3;padding:13px 15px;border-radius:11px;font-size:11px;color:#748d7d;margin-bottom:20px;line-height:1.8}.photo-preview{max-width:100%;max-height:220px;object-fit:contain;border-radius:9px;margin:10px auto;display:block}.detail-facts{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:17px}.detail-question{padding:20px;background:#f7faf8;border:1px solid var(--line);border-radius:13px}.detail-question .question{margin:0}.detail-section{margin-top:25px}.detail-section h3{font-size:13px;margin-bottom:10px}.detail-section p{font-size:12px;line-height:1.9}.answer-box{background:#f0f6f2;padding:16px 18px;border-radius:11px;color:#587b63;font-size:13px;line-height:1.9;margin:17px 0}.answer-box strong{display:block;color:#3a6c4b;margin-bottom:5px}.answer-box.wrong{background:#fff4ef;color:#a66f5b}.answer-box.wrong strong{color:#b0775c}.locked-answer{padding:15px;text-align:center;font-size:11px;color:#8da092;border:1px dashed #d5e1d8;border-radius:10px;margin:18px 0}.path-steps{display:flex;margin-bottom:24px;gap:6px}.path-step{flex:1;border-top:3px solid #e3ece6;padding-top:9px;color:#a0afa5;font-size:10px}.path-step.active{border-color:var(--green);color:var(--green)}.path-step.done{border-color:#8fb9a0;color:#6c977b}.practice-meta{display:flex;gap:10px;align-items:center;font-size:11px;color:#8a9e90}.practice-prompt{font-family:"Songti SC",serif;font-size:22px;line-height:1.8;margin:25px 0;overflow-wrap:anywhere}.answer-row{display:flex;gap:10px;align-items:flex-end;margin:20px 0}.answer-row .field{flex:1;margin:0}.answer-row .btn{min-height:45px}.practice-hint{font-size:12px;color:#ae8959;background:#fcf5e9;padding:12px 16px;border-radius:9px;margin:16px 0}.feedback-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:9px;margin-top:17px}.feedback-button{min-height:83px;border:1px solid var(--line);background:#fff;border-radius:12px;padding:13px 6px;text-align:center}.feedback-button strong{display:block;font-size:12px;color:#557963}.feedback-button span{display:block;font-size:9px;color:#94a497;margin-top:4px}.feedback-button:hover{border-color:var(--green);background:#f2f8f3}.success-illustration{width:73px;height:73px;border-radius:50%;background:#e5f3e8;display:grid;place-items:center;margin:10px auto 20px;color:#5e9b70}.success-illustration svg{width:31px;height:31px}.complete{text-align:center;padding:5px 4px 15px}.complete h2{font-family:"Songti SC",serif;font-size:26px;margin-bottom:9px}.complete p{font-size:12px}.complete .button-row{justify-content:center}.result-stats{display:flex;justify-content:center;gap:35px;margin:27px 0}.result-stats b{display:block;font-size:25px;color:var(--green);line-height:1.2}.result-stats span{font-size:10px;color:#8d9e92}.export-code{font-size:11px;background:#f3f7f5;padding:15px;border-radius:10px;overflow-wrap:anywhere}.article p{margin-bottom:13px;font-size:13px;line-height:1.9}.article h3{margin:20px 0 8px;font-size:14px}.article ul{padding-left:20px;font-size:12px;color:#6d8378;line-height:1.9}.source-link{color:var(--green);text-decoration:underline}.mobile-only{display:none}#toast{position:fixed;bottom:30px;left:50%;transform:translate(-50%,20px);background:#244e43;color:#fff;border-radius:10px;padding:12px 20px;font-size:12px;opacity:0;pointer-events:none;transition:opacity .2s,transform .2s;z-index:100;max-width:90vw;text-align:center;box-shadow:var(--shadow)}#toast.show{opacity:1;transform:translate(-50%,0)}
@media(min-width:1600px){.dashboard-grid{grid-template-columns:minmax(0,1fr) 355px}.hero{min-height:247px;padding:32px}.hero h2{font-size:30px}.hero-art{width:257px;right:35px}.tool{min-height:120px}.task-row{padding:20px 0}.panel{padding:24px}}
@media(max-width:1190px){.sidebar{width:185px;padding:30px 14px 20px}.brand{padding-left:11px}.app-shell{margin-left:185px}.topbar{padding:0 28px}main{padding:28px}.dashboard-grid{grid-template-columns:minmax(0,1fr) 270px;gap:20px}.left-stack,.right-stack{gap:20px}.hero{padding:24px;min-height:222px}.hero-art{width:180px;right:-5px;bottom:0}.hero-content{max-width:82%}.hero h2{font-size:25px}.hero p{max-width:270px}.tool{padding-left:4px;padding-right:4px}.tool small{font-size:9px}.app-footer{padding:4px 28px 22px}.learn-grid,.review-grid{grid-template-columns:minmax(0,1fr) 260px;gap:20px}.panel{padding:18px}.progress-panel{gap:10px}.progress-ring{width:73px;height:73px}}
@media(max-width:1000px) and (min-width:761px){.sidebar{width:150px;padding-left:10px;padding-right:10px}.app-shell{margin-left:150px}.nav-item{gap:9px;padding-left:13px}.brand{padding-left:8px;font-size:25px;gap:10px}.brand-mark{grid-template-columns:11px 11px;gap:3px}.brand-mark i{width:11px;height:14px}.brand small{font-size:8px;letter-spacing:1px}.side-note{padding-left:12px;padding-right:5px}.dashboard-grid{grid-template-columns:1fr}.right-stack{display:grid;grid-template-columns:1fr 1fr}.curve-panel{grid-column:1/-1}.curve-panel .curve{max-width:400px;margin-left:auto;margin-right:auto}.hero-art{right:30px;width:225px}.hero-content{max-width:70%}.review-grid,.learn-grid{grid-template-columns:1fr}.profile-grid{grid-template-columns:1fr}}
@media(max-width:760px){body{font-size:13px}.sidebar{display:none}.app-shell{margin-left:0}.topbar{height:65px;padding:0 21px}.breadcrumb{font-size:11px;gap:9px}.header-actions{gap:11px}.grade-picker{padding:6px 7px}.grade-picker select{font-size:11px}.icon-button{display:none}.avatar{width:31px;height:31px}.topbar #grade-icon{display:none}main{padding:25px 19px 25px}.page-head{align-items:flex-start;margin-bottom:21px;gap:10px}.page-head h1{font-size:24px}.page-head p{font-size:11px;line-height:1.7;max-width:270px}.eyebrow{font-size:9px;margin-bottom:6px}.date-label{display:none}.dashboard-grid{grid-template-columns:1fr;gap:20px}.left-stack,.right-stack{gap:21px}.hero{min-height:209px;padding:23px 21px;border-radius:17px}.hero h2{font-size:25px;margin-top:13px}.hero p{font-size:11px;max-width:230px}.hero-art{width:155px;right:-13px;bottom:8px;opacity:.85}.hero-content{max-width:88%}.hero .button-row{gap:12px;margin-top:19px}.hero .btn{font-size:11px;padding:9px 13px;min-height:38px}.tool-grid{gap:8px}.tool{min-height:107px;padding:13px 3px 10px;border-radius:12px}.tool strong{font-size:11px}.tool small{font-size:8px}.tool .tool-icon{width:33px;height:33px;border-radius:10px;margin-bottom:8px}.tool svg{width:18px;height:18px}.section-heading h2{font-size:16px}.section-heading{margin-bottom:12px}.panel{padding:19px}.panel-top{padding:19px 17px 0}.task-list{padding:0 17px}.task-row{padding:16px 0;gap:10px}.task-info strong{font-size:11px}.task-info p{font-size:9px}.task-icon{width:34px;height:36px}.task-row .btn{font-size:10px;min-height:31px;padding:5px 10px}.mistake-row{padding:15px 17px;gap:10px}.mistake-text strong{font-size:11px}.mistake-text p{font-size:9px}.right-stack{display:grid;grid-template-columns:1fr}.progress-panel{gap:22px}.progress-ring{width:87px;height:87px}.progress-panel h3{font-size:14px}.progress-panel p{font-size:11px}.curve{max-height:160px}.mobile-nav{position:fixed;bottom:0;left:0;right:0;display:grid;grid-template-columns:repeat(5,1fr);background:#ffffffed;backdrop-filter:blur(16px);border-top:1px solid var(--line);padding:8px 8px calc(9px + env(safe-area-inset-bottom));z-index:25}.mobile-nav .nav-item{display:flex;flex-direction:column;gap:3px;justify-content:center;text-align:center;padding:6px 2px 3px;margin:0;font-size:9px;border-radius:7px;line-height:1.5}.mobile-nav .nav-item.active{background:transparent}.mobile-nav .nav-item svg{width:21px;height:21px}.mobile-nav .nav-count{display:none}.app-footer{padding:5px 20px 95px;font-size:9px}.title-actions{flex-shrink:0}.title-actions .btn{min-height:36px;padding:8px 11px;font-size:10px}.title-actions .btn svg{width:13px;height:13px}.title-actions .export-label{display:none}.stats-strip{margin-top:5px;margin-bottom:19px}.strip-stat{padding:13px 12px;display:block}.strip-stat b{font-size:22px}.strip-stat span{display:block;font-size:10px}.tab-row{gap:7px;margin-bottom:15px;margin-right:-19px;padding-right:19px}.pill{font-size:11px;padding:7px 15px;min-height:35px}.filter-bar{gap:9px;margin:16px 0}.searchbox{padding:8px 10px;flex:1}.searchbox input{font-size:11px}.select{font-size:10px;max-width:130px;padding:8px}.mistake-cards{grid-template-columns:1fr;gap:15px}.mistake-card{padding:18px}.mistake-card .question{min-height:auto;font-size:17px}.info-band{font-size:11px;align-items:flex-start;padding:13px 15px;gap:8px}.info-band .text-button{font-size:10px}.learn-grid,.review-grid,.profile-grid{grid-template-columns:1fr;gap:20px}.lesson-feature{padding:23px}.lesson-feature h2{font-size:23px}.schedule-row{gap:10px}.schedule-row .btn{min-height:34px;padding:7px 11px;font-size:10px}.schedule-row .task-info strong{font-size:12px}.dialog-head{padding:21px 21px 16px}.dialog-head h2{font-size:18px}.dialog-body{padding:21px}.field-row{gap:11px}.field>span{font-size:11px}.field input:not([type=file]),.field select,.field textarea{font-size:12px;padding:10px}.practice-prompt{font-size:20px;margin-top:20px}.answer-row{gap:8px}.answer-row .btn{padding-left:13px;padding-right:13px}.feedback-grid{gap:7px}.feedback-button strong{font-size:11px}.feedback-button span{font-size:8px}.complete h2{font-size:24px}.result-stats{gap:27px}.profile-top h1{font-size:25px}.data-action{gap:12px}.data-action .btn{font-size:11px;padding-left:12px;padding-right:12px}.mobile-only{display:block}.path-step{font-size:9px}.detail-question{padding:16px}#toast{bottom:94px}.app-footer span:first-child{max-width:48%}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
.task-row .btn,.card-bottom .btn,.schedule-row .btn{min-height:40px}.close-button{width:40px;height:40px}.task-info strong,.mistake-text strong{font-size:13px}.task-info p,.mistake-text p{font-size:11px}
@media(max-width:760px){.hero-art{width:132px;right:0;bottom:8px}.hero p{max-width:205px}.task-info strong,.mistake-text strong{font-size:12px}.task-info p,.mistake-text p{font-size:10px}.task-row .btn,.card-bottom .btn,.schedule-row .btn{min-height:40px}.tool strong{font-size:12px}.tool small{font-size:9px}.mobile-nav .nav-item{font-size:10px}.dialog-body .field>span{font-size:12px}.feedback-button{min-height:90px}}
@media print{.sidebar,.topbar,.mobile-nav,.app-footer,button,.filter-bar,.tab-row{display:none!important}.app-shell{margin:0}main{padding:10px}.mistake-cards{display:block}.mistake-card{break-inside:avoid;margin-bottom:20px}.question{font-size:18px}body{background:white}}
