:root{--ink:#20233d;--muted:#7c8097;--line:#e7e8f0;--paper:#f7f8fc;--surface:#fff;--indigo:#5965e8;--indigo-dark:#414bc4;--coral:#e8755f;--green:#52a880;--yellow:#f3b84a;--shadow:0 10px 30px rgba(40,46,95,.06)}*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font-family:-apple-system,BlinkMacSystemFont,'Segoe UI','PingFang SC','Microsoft YaHei',sans-serif;font-size:14px}button,select{font:inherit;color:inherit;border:0;background:none;cursor:pointer}button:focus-visible,select:focus-visible{outline:3px solid rgba(89,101,232,.3);outline-offset:2px}.app-shell{display:flex;min-height:100vh}.sidebar{width:250px;background:#fff;border-right:1px solid var(--line);padding:27px 16px 20px;display:flex;flex-direction:column;flex-shrink:0}.brand{display:flex;align-items:center;gap:11px;padding:0 11px 27px}.brand-mark{width:34px;height:34px;border-radius:10px;background:var(--indigo);color:#fff;display:grid;place-items:center;font-weight:800;font-size:18px;box-shadow:0 5px 12px rgba(89,101,232,.27)}.brand strong{display:block;font-size:18px;letter-spacing:1px}.brand span{display:block;font-size:11px;color:#9da0b0;margin-top:3px}.profile-mini{display:flex;align-items:center;gap:9px;background:#f7f7fc;border:1px solid #ededf5;border-radius:12px;padding:10px 9px;margin:0 0 24px}.avatar{width:34px;height:34px;border-radius:50%;background:#ffe0d8;color:#b85b48;display:grid;place-items:center;font-weight:700;font-size:14px}.avatar.small{width:32px;height:32px}.profile-mini b{font-size:13px;display:block}.profile-mini span{font-size:11px;color:var(--muted);display:block;margin-top:3px}.icon-btn{margin-left:auto;color:#9b9fb2;font-size:16px}.nav{display:grid;gap:5px}.nav-item{height:43px;border-radius:10px;display:flex;align-items:center;gap:12px;padding:0 13px;color:#666b82;text-align:left;transition:.18s}.nav-item:hover{background:#f5f5fb;color:var(--indigo)}.nav-item.active{background:#eeefff;color:var(--indigo);font-weight:700}.nav-icon{font-size:18px;width:19px;text-align:center}.nav-item em{font-style:normal;font-size:11px;background:#e6e7ef;color:#7f8298;border-radius:9px;padding:2px 7px;margin-left:auto}.nav-item em.orange{background:#fff0e9;color:var(--coral)}.sidebar-bottom{margin-top:auto}.teacher-link{display:flex;align-items:center;gap:10px;border-top:1px solid var(--line);padding:19px 8px 17px;color:#676c83}.teacher-link>span:first-child{font-size:18px;color:var(--indigo)}.teacher-link b{display:block;font-size:12px}.teacher-link small{display:block;font-size:10px;color:#9b9eaf;margin-top:4px}.teacher-link>span:last-child{margin-left:auto;font-size:19px;color:#a7a9b7}.storage{padding:14px 9px 17px;border-bottom:1px solid var(--line)}.storage>div:first-child{display:flex;justify-content:space-between;font-size:11px;color:#85899c}.storage b{color:var(--indigo)}.progress{height:5px;background:#e8e9f2;border-radius:6px;margin:9px 0 6px;overflow:hidden}.progress i{display:block;width:68%;height:100%;background:var(--indigo);border-radius:5px}.storage small{font-size:10px;color:#a0a3b1}.settings{color:#8b8ea0;font-size:12px;padding:17px 9px 0}.main{flex:1;min-width:0}.topbar{height:72px;border-bottom:1px solid var(--line);background:rgba(255,255,255,.85);display:flex;align-items:center;justify-content:space-between;padding:0 clamp(24px,4vw,58px);position:sticky;top:0;z-index:5;backdrop-filter:blur(10px)}.breadcrumb{font-size:12px;color:#7d8193}.breadcrumb span{margin:0 9px;color:#c5c7d2}.top-actions{display:flex;align-items:center;gap:20px}.search{height:34px;border:1px solid var(--line);border-radius:8px;color:#9a9dae;display:flex;align-items:center;gap:8px;padding:0 10px;font-size:12px}.search kbd{font-size:10px;border:1px solid #e1e2e9;border-radius:4px;padding:2px 5px;color:#a7a9b6;margin-left:18px}.notification{font-size:19px;color:#777b91;position:relative}.notification i{position:absolute;width:6px;height:6px;background:var(--coral);border:2px solid #fff;border-radius:50%;right:-1px;top:0}.mobile-menu{display:none}.content{max-width:1400px;margin:0 auto;padding:40px clamp(24px,4vw,58px) 60px}.welcome-row,.view-title{display:flex;justify-content:space-between;align-items:flex-end;gap:25px;margin-bottom:29px}.eyebrow{font-size:11px;color:var(--indigo);font-weight:700;letter-spacing:1px;margin:0 0 9px}.welcome-row h1,.view-title h1{font-size:27px;letter-spacing:-.5px;margin:0 0 8px}.welcome-row h1 span{font-size:22px}.subhead{margin:0;color:var(--muted);font-size:13px}.primary-btn{background:var(--indigo);color:#fff;border-radius:9px;padding:12px 17px;font-weight:700;box-shadow:0 7px 15px rgba(89,101,232,.18);transition:.18s}.primary-btn:hover{background:var(--indigo-dark);transform:translateY(-1px)}.secondary-btn{border:1px solid #dcddea;border-radius:8px;background:#fff;padding:10px 14px;font-weight:600;font-size:12px}.secondary-btn:hover{border-color:var(--indigo);color:var(--indigo)}.stat-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-bottom:17px}.stat-card{background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:17px 18px 15px;box-shadow:var(--shadow)}.stat-card.focus{background:#f0f1ff;border-color:#dfe1ff}.stat-top{display:flex;justify-content:space-between;color:#777b92;font-size:12px}.stat-icon{color:#888ba0;font-size:19px}.stat-icon.blue{color:var(--indigo)}.stat-icon.green{color:var(--green)}.stat-icon.purple{color:#9b71d4}.stat-card>strong{font-size:29px;display:block;margin:13px 0 10px;letter-spacing:-1px}.stat-card>strong small{font-size:12px;font-weight:600;letter-spacing:0;margin-left:3px}.stat-foot{font-size:11px;color:#9a9dac}.stat-foot b{color:#676b83}.trend{font-weight:700;margin-right:4px}.trend.up{color:var(--green)}.grid-2{display:grid;grid-template-columns:1.3fr 1fr;gap:17px}.panel{background:#fff;border:1px solid var(--line);border-radius:12px;padding:21px 22px;box-shadow:var(--shadow)}.panel-head{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:20px}.panel h2{font-size:15px;margin:0 0 5px}.panel-head p{margin:0;color:#9b9eaf;font-size:11px}.panel-head select{border:1px solid var(--line);padding:6px 8px;border-radius:6px;color:#74788e;font-size:11px}.text-btn{font-size:12px;color:var(--indigo);font-weight:600}.chart{display:flex;height:181px}.y-labels{width:27px;display:flex;flex-direction:column;justify-content:space-between;color:#b5b7c2;font-size:10px;padding-bottom:22px}.chart-area{flex:1;position:relative}.gridline{height:1px;background:#f0f0f5;position:absolute;left:0;right:0}.g1{top:0}.g2{top:50%}.g3{top:100%}.chart svg{height:155px;width:100%;position:absolute;inset:0}.x-labels{position:absolute;bottom:0;left:0;right:0;display:flex;justify-content:space-between;color:#aeb0bd;font-size:10px}.legend{display:flex;align-items:center;gap:17px;border-top:1px solid #f0f0f5;padding-top:14px;margin-top:3px;font-size:10px;color:#9699aa}.legend b{margin-left:auto;color:#6f7388;font-weight:600}.dot{width:7px;height:7px;border-radius:50%;display:inline-block;margin-right:5px}.blue-dot{background:var(--indigo)}.coral-dot{background:var(--coral)}.subject-list{display:grid;gap:18px;margin:23px 0 26px}.subject-row{display:grid;grid-template-columns:125px 1fr 34px;align-items:center;gap:11px}.subject-name{font-size:12px}.subject-name small{display:block;color:#a1a4b3;font-size:10px;margin-top:4px}.subject-dot{display:inline-block;width:8px;height:8px;border-radius:50%;margin-right:7px}.chinese{background:var(--coral)}.math{background:var(--indigo)}.english{background:var(--green)}.bar{height:7px;background:#f0f0f5;border-radius:5px;overflow:hidden}.bar i{display:block;height:100%;border-radius:5px}.subject-row>b{font-size:12px;text-align:right}.focus-box{display:flex;align-items:center;gap:10px;background:#fff8ed;border-radius:9px;padding:11px 12px}.focus-box>span{font-size:18px;color:#e0a33d}.focus-box b{font-size:11px}.focus-box p{font-size:10px;color:#8c8b92;margin:3px 0 0}.round-arrow{margin-left:auto;width:23px;height:23px;border-radius:50%;background:#fff;color:#c19551}.bottom-grid{margin-top:17px}.review-list,.recent-list{display:grid;gap:7px}.review-item{display:flex;align-items:center;gap:10px;padding:10px 8px;text-align:left;border-radius:8px}.review-item:hover{background:#f8f8fc}.review-check{display:grid;place-items:center;width:20px;height:20px;border-radius:50%;background:var(--indigo);color:#fff;font-size:11px}.review-check.empty{background:#fff;border:1px solid #d9dbe6}.review-item b,.recent-item b{font-size:12px;display:block}.review-item small,.recent-item small{font-size:10px;color:#a0a3b1;display:block;margin-top:4px}.review-tag{margin-left:auto;background:#eef0ff;color:var(--indigo);font-size:10px;padding:4px 7px;border-radius:5px}.review-tag.urgent{background:#fff0e9;color:var(--coral)}.review-arrow{font-size:17px;color:#acafbc;margin-left:6px}.recent-item{display:flex;align-items:center;gap:10px;padding:7px 5px}.thumb{width:48px;height:42px;border-radius:6px;display:grid;place-items:center;text-align:center;font-size:9px;line-height:1.2;font-weight:700;flex-shrink:0}.math-thumb{background:#e9ebff;color:#545ec8}.cn-thumb{background:#fff0e7;color:#bd7057}.en-thumb{background:#e3f4eb;color:#478f70}.recent-item .status-dot{width:7px;height:7px;border-radius:50%;margin-left:auto}.status-dot.coral{background:var(--coral)}.status-dot.green{background:var(--green)}.status-dot.blue{background:var(--indigo)}.placeholder-view{display:none}.placeholder-view.active{display:block}.dashboard-view.hidden{display:none}.filter-row{display:flex;gap:8px;align-items:center;border-bottom:1px solid var(--line);padding-bottom:15px;margin-bottom:17px}.filter{font-size:12px;color:#818496;padding:8px 11px;border-radius:7px}.filter.active{background:#eeefff;color:var(--indigo);font-weight:700}.filter b{font-size:10px;margin-left:4px}.filter-search{margin-left:auto;border:1px solid var(--line);border-radius:7px;padding:8px 12px;color:#a0a3b1;font-size:11px;min-width:190px}.table-panel{background:#fff;border:1px solid var(--line);border-radius:10px;overflow:hidden}.table-head,.table-row{display:grid;grid-template-columns:2.2fr .8fr 1.4fr .9fr 1fr 30px;align-items:center;gap:12px;padding:14px 18px}.table-head{font-size:10px;color:#a1a4b2;background:#fafafd;border-bottom:1px solid var(--line)}.table-row{font-size:11px;border-bottom:1px solid #f0f1f5}.table-row:last-child{border:0}.question-cell{display:flex;align-items:center;gap:10px}.subject-pill{display:inline-flex;width:max-content;border-radius:4px;padding:4px 7px;font-size:10px}.math-pill{background:#e9ebff;color:#525ecb}.cn-pill{background:#fff0e7;color:#bd7057}.en-pill{background:#e3f4eb;color:#478f70}.state{font-size:10px}.state.waiting{color:var(--coral)}.state.mastered{color:var(--green)}.state.reviewing{color:var(--indigo)}.more{color:#9b9eaf;font-weight:700}.streak{background:#fff4dd;color:#ad7d2c;border-radius:8px;padding:10px 13px;font-size:11px}.practice-hero{background:#343d96;color:#fff;border-radius:12px;display:flex;align-items:center;padding:34px 40px;position:relative;overflow:hidden;margin-bottom:27px}.practice-count{width:165px;border-right:1px solid rgba(255,255,255,.2)}.practice-count strong{display:block;font-size:58px;line-height:1}.practice-count span{font-size:12px;opacity:.75}.practice-copy{padding-left:37px}.practice-copy h2{font-size:19px;margin:0 0 9px}.practice-copy p{font-size:12px;opacity:.72;margin:0 0 18px}.practice-copy .primary-btn{background:#fff;color:#404abf;box-shadow:none}.practice-orbit{font-size:145px;color:rgba(255,255,255,.08);position:absolute;right:45px;top:-14px}.section-label{font-size:12px;font-weight:700;margin-bottom:11px}.practice-subjects{display:grid;grid-template-columns:repeat(3,1fr);gap:13px}.practice-subjects button{background:#fff;border:1px solid var(--line);border-radius:10px;padding:18px;text-align:left;display:grid;grid-template-columns:16px 1fr 18px;align-items:center;column-gap:6px}.practice-subjects button:hover{border-color:var(--indigo)}.practice-subjects b{font-size:13px}.practice-subjects small{grid-column:2;font-size:10px;color:#9b9eaf;margin-top:4px}.practice-subjects button>span:last-child{grid-column:3;grid-row:1/3;font-size:20px;color:#a5a8b7}.knowledge-tabs{display:flex;background:#eeeff6;border-radius:7px;padding:3px}.knowledge-tabs button{padding:7px 14px;color:#85899c;font-size:11px;border-radius:5px}.knowledge-tabs button.active{background:#fff;color:var(--indigo);font-weight:700}.knowledge-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:17px}.knowledge-intro{background:#343d96;color:#fff;border-radius:12px;padding:31px}.big-symbol{font-size:33px;color:#aeb4ff}.knowledge-intro h2{font-size:20px;margin:30px 0 11px}.knowledge-intro p{font-size:12px;line-height:1.7;opacity:.75;max-width:280px}.knowledge-search{background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.17);border-radius:7px;padding:10px;color:rgba(255,255,255,.7);font-size:11px;margin-top:24px}.knowledge-list{background:#fff;border:1px solid var(--line);border-radius:12px;padding:20px}.knowledge-heading{font-size:12px;font-weight:700;padding-bottom:12px;border-bottom:1px solid var(--line)}.knowledge-heading span{font-size:10px;color:#a1a4b2;font-weight:400;float:right}.knowledge-list button{display:grid;grid-template-columns:1fr 60px;gap:5px;text-align:left;width:100%;padding:15px 4px;border-bottom:1px solid #f0f1f5}.knowledge-list button:last-child{border:0}.knowledge-list button:hover b{color:var(--indigo)}.knowledge-list b{font-size:12px}.knowledge-list small{font-size:10px;color:#a1a4b2}.knowledge-list i{grid-column:2;grid-row:1/3;align-self:center;font-style:normal;font-size:13px;color:var(--indigo);text-align:right}.report-card{background:#fff;border:1px solid var(--line);border-radius:12px;padding:30px 36px;display:flex;justify-content:space-between;align-items:center}.report-kicker{color:var(--indigo);font-size:10px;font-weight:700;letter-spacing:1px}.report-card h2{font-size:23px;max-width:550px;margin:14px 0 9px}.report-card h2 strong{color:var(--coral)}.report-card p{color:var(--muted);font-size:12px;margin:0 0 18px}.report-score{text-align:center;position:relative;padding:0 34px}.report-score strong{font-size:51px;color:var(--indigo);display:block;line-height:1}.report-score span{font-size:10px;color:#9a9dac}.score-ring{width:118px;height:118px;border:8px solid #eef0ff;border-top-color:var(--indigo);border-right-color:var(--indigo);border-radius:50%;position:absolute;inset:-16px -8px auto;transform:rotate(27deg);pointer-events:none}.report-points{display:grid;grid-template-columns:repeat(3,1fr);margin-top:17px;background:#fff;border:1px solid var(--line);border-radius:12px}.report-points div{padding:22px;text-align:center;border-right:1px solid var(--line)}.report-points div:last-child{border:0}.report-points b{display:block;font-size:25px;color:var(--indigo)}.report-points span{font-size:11px;color:#9b9eaf}.modal-backdrop{display:none;position:fixed;inset:0;background:rgba(26,29,58,.45);z-index:20;align-items:center;justify-content:center;padding:18px}.modal-backdrop.open{display:flex}.camera-modal{background:#fff;border-radius:16px;width:min(500px,100%);padding:27px;box-shadow:0 20px 60px rgba(20,24,65,.2);position:relative}.modal-close{position:absolute;right:19px;top:15px;font-size:26px;color:#9b9ead}.modal-head{display:flex;align-items:center;gap:12px;margin-bottom:24px}.modal-icon{width:39px;height:39px;display:grid;place-items:center;background:#eeefff;color:var(--indigo);border-radius:10px;font-size:21px}.modal-head h2{margin:0 0 5px;font-size:17px}.modal-head p{margin:0;color:#999cac;font-size:11px}.upload-zone{border:1px dashed #cdd0e4;border-radius:11px;text-align:center;padding:33px 20px}.upload-illustration{font-size:38px;color:#a6acef}.upload-zone h3{font-size:14px;margin:12px 0 6px}.upload-zone p{font-size:11px;color:#a0a3b2;margin:0 0 17px}.modal-tip{display:flex;gap:8px;align-items:center;background:#fff8ed;color:#b48635;font-size:10px;padding:10px 12px;border-radius:7px;margin-top:15px}.toast{position:fixed;bottom:26px;left:50%;transform:translate(-50%,20px);background:#262a48;color:#fff;padding:11px 17px;border-radius:8px;font-size:12px;opacity:0;pointer-events:none;transition:.25s;z-index:30}.toast.show{opacity:1;transform:translate(-50%,0)}@media(max-width:900px){.sidebar{width:210px}.stat-grid{grid-template-columns:repeat(2,1fr)}.grid-2{grid-template-columns:1fr}.topbar{padding:0 24px}.content{padding:30px 24px}.table-head,.table-row{grid-template-columns:2fr .7fr 1.2fr .8fr 28px}.table-head span:nth-child(5),.table-row>span:nth-child(5){display:none}}@media(max-width:680px){.sidebar{position:fixed;left:-260px;top:0;bottom:0;z-index:15;transition:.25s;box-shadow:10px 0 30px rgba(30,35,80,.12)}.sidebar.open{left:0}.mobile-menu{display:block;font-size:20px;color:#696d84}.breadcrumb{margin-left:10px}.topbar{height:62px;padding:0 16px}.search{width:34px;padding:0;justify-content:center;border:0}.search span,.search kbd{display:none}.top-actions{gap:12px}.content{padding:26px 16px 45px}.welcome-row,.view-title{align-items:flex-start;flex-direction:column;margin-bottom:23px}.welcome-row h1,.view-title h1{font-size:24px}.primary-btn{width:100%;padding:12px}.stat-grid{gap:9px}.stat-card{padding:13px}.stat-card>strong{font-size:25px;margin:10px 0 7px}.stat-foot{font-size:10px}.panel{padding:17px 14px}.panel-head{margin-bottom:15px}.legend{gap:8px;flex-wrap:wrap}.legend b{width:100%;margin:0}.subject-row{grid-template-columns:104px 1fr 30px}.bottom-grid{margin-top:12px}.filter-row{overflow:auto;padding-bottom:10px}.filter{white-space:nowrap}.filter-search{display:none}.table-panel{overflow-x:auto}.table-head,.table-row{min-width:620px}.practice-hero{padding:26px 20px;display:block}.practice-count{border:0;border-bottom:1px solid rgba(255,255,255,.2);padding-bottom:17px;width:auto}.practice-copy{padding:20px 0 0}.practice-copy h2{font-size:17px}.practice-orbit{right:14px;top:-10px;font-size:100px}.practice-subjects{grid-template-columns:1fr}.knowledge-grid{grid-template-columns:1fr}.knowledge-intro{padding:23px}.knowledge-intro h2{margin-top:18px}.report-card{padding:22px;display:block}.report-card h2{font-size:19px}.report-score{margin-top:35px}.report-points b{font-size:20px}.report-points div{padding:16px 8px}.report-points span{font-size:10px}}

.capture-image-tools{display:flex;justify-content:center;gap:8px;margin:0 0 10px}.capture-image-tools button{border:1px solid #dce6e2;border-radius:6px;background:#fff;padding:6px 10px;color:#267f75;font-size:11px}.capture-image-tools button:hover{background:#eef7f4}.history-capture-list{display:grid;gap:8px;max-height:55vh;overflow:auto}.history-capture-item{display:grid;gap:4px;text-align:left;padding:11px 12px;border:1px solid #dce6e2;border-radius:7px;background:#fff}.history-capture-item:hover{border-color:#267f75;background:#f4faf8}.history-capture-item span{font-size:10px;color:#71807e}.history-capture-item b{font-size:12px;font-weight:600;color:#243633;line-height:1.5}
/* Knowledge workbench. */
.knowledge-workbench{display:grid;grid-template-columns:248px minmax(350px,1fr) minmax(310px,.92fr);min-height:620px;background:#fff;border:1px solid var(--line);border-radius:10px;overflow:hidden;box-shadow:var(--shadow)}.knowledge-nav-pane,.knowledge-content-pane,.knowledge-chat-pane{min-width:0}.knowledge-nav-pane{background:#fbfbfe;border-right:1px solid var(--line);padding:18px 12px}.knowledge-pane-title{display:flex;align-items:center;gap:9px;padding:0 7px 20px}.pane-symbol,.library-icon{display:grid;place-items:center;width:30px;height:30px;background:#eef0ff;color:var(--indigo);border-radius:7px;font-size:15px}.knowledge-pane-title b{display:block;font-size:13px}.knowledge-pane-title small{display:block;color:#a0a3b1;font-size:10px;margin-top:3px}.knowledge-pane-title .icon-btn{margin-left:auto;font-size:22px;color:#9b9eb0}.knowledge-nav-group{margin:0 0 19px}.group-label{display:block;color:#a0a3b1;font-size:10px;font-weight:700;padding:0 8px 7px}.knowledge-tree-item{width:100%;display:flex;align-items:center;gap:9px;text-align:left;padding:9px 8px;border-radius:6px;color:#656a80}.knowledge-tree-item:hover{background:#f0f1fb}.knowledge-tree-item.active{background:#e9ebff;color:#414bc4}.knowledge-tree-item>span{width:16px;text-align:center;color:#858ab9;font-size:13px}.knowledge-tree-item.active>span{color:var(--indigo)}.knowledge-tree-item b{display:block;font-size:11px;font-weight:600}.knowledge-tree-item small{display:block;color:#a3a6b5;font-size:10px;margin-top:3px}.knowledge-tree-item.active small{color:#777fca}.knowledge-nav-group.shared{padding-top:2px;border-top:1px solid #ededf3}.knowledge-nav-group.shared .group-label{padding-top:15px}.knowledge-content-pane{border-right:1px solid var(--line);padding:22px 18px}.knowledge-content-head{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;padding:0 4px 18px}.knowledge-library-title{display:flex;gap:9px;align-items:center}.knowledge-library-title h2,.chat-context h2{font-size:15px;margin:0 0 4px}.knowledge-library-title p{font-size:10px;color:#a1a4b2;margin:0}.knowledge-head-actions{display:flex;align-items:center;gap:5px}.knowledge-icon-button,.knowledge-new{height:29px;border:1px solid var(--line);border-radius:6px;background:#fff;color:#747a91}.knowledge-icon-button{width:29px;font-size:16px}.knowledge-icon-button:hover,.knowledge-new:hover{color:var(--indigo);border-color:#c9cdf5}.knowledge-new{padding:0 8px;font-size:11px;color:var(--indigo);font-weight:700}.knowledge-toolbar{display:flex;align-items:center;gap:6px;padding:9px 4px;margin:0 -1px 9px;border-top:1px solid #f0f1f6;border-bottom:1px solid #f0f1f6}.knowledge-filter{font-size:10px;color:#85899b;padding:5px 6px;border-radius:4px}.knowledge-filter.active{background:#eeefff;color:var(--indigo);font-weight:700}.knowledge-filter b{font-size:9px;margin-left:2px}.knowledge-sort{font-size:10px;color:#a2a5b4;margin-left:auto;white-space:nowrap}.knowledge-topic-list{padding:0 2px}.topic-folder{display:flex;align-items:center;gap:6px;color:#72768b;padding:13px 6px 7px}.topic-folder>span{font-size:12px}.topic-folder b{font-size:11px}.topic-folder small{font-size:10px;color:#abb0bf;margin-left:auto}.topic-row{width:100%;display:grid;grid-template-columns:28px 1fr 40px;align-items:center;gap:9px;text-align:left;padding:11px 7px;border-radius:6px}.topic-row:hover{background:#f7f7fc}.topic-row.selected{background:#f0f1ff}.topic-icon{width:26px;height:26px;display:grid;place-items:center;border-radius:6px;font-size:13px;font-weight:800}.topic-icon.math{color:#535ecb;background:#e8eaff}.topic-icon.percent{color:#bf7058;background:#fff0e8}.topic-icon.geometry{color:#4c9976;background:#e5f5ec}.topic-row b{display:block;font-size:11px}.topic-row small{display:block;color:#a2a5b4;font-size:10px;margin-top:3px}.topic-progress{font-size:11px;color:var(--coral);font-weight:700;text-align:right}.topic-progress.good{color:var(--green)}.knowledge-chat-pane{display:flex;flex-direction:column;background:#fff;min-height:0}.chat-context{display:flex;align-items:center;gap:9px;padding:22px 20px 18px;border-bottom:1px solid #f0f1f5}.context-icon{display:grid;place-items:center;width:31px;height:31px;border-radius:7px;background:#e9ebff;color:var(--indigo);font-size:16px;font-weight:800}.chat-context>div>span{display:block;font-size:10px;color:#a2a5b2;margin-bottom:3px}.chat-context .icon-btn{margin-left:auto;color:#969aaa;font-weight:700}.chat-summary{padding:19px 20px;overflow:auto}.summary-label{font-size:10px;color:#9da1b0;font-weight:700;margin-bottom:10px}.mastery-score{display:grid;grid-template-columns:45px 1fr;gap:5px 10px;align-items:center;margin-bottom:20px}.mastery-score strong{font-size:21px;color:var(--indigo)}.mastery-bar{height:6px;border-radius:4px;background:#eceef6;overflow:hidden}.mastery-bar i{display:block;height:100%;background:var(--indigo);border-radius:4px}.mastery-score span{grid-column:2;color:#9ca0af;font-size:10px}.summary-divider{height:1px;background:#f0f1f5;margin:0 -2px 20px}.related-item{width:100%;display:flex;align-items:center;gap:9px;text-align:left;padding:8px 0}.related-item:hover b{color:var(--indigo)}.related-thumb{display:grid;place-items:center;width:35px;height:31px;border-radius:5px;background:#eef0ff;color:#5962c5;font-size:8px;line-height:1.05;font-weight:700}.related-item b{display:block;font-size:11px}.related-item small{display:block;color:#a3a6b5;font-size:10px;margin-top:3px}.related-item>span:last-child{margin-left:auto;color:#a9acb9;font-size:16px}.learning-tip{display:flex;gap:9px;margin-top:18px;padding:11px;background:#fff8ed;border:1px solid #fff0d7;border-radius:6px}.learning-tip>span{color:#d59b32;font-size:15px}.learning-tip b{font-size:10px;color:#9a6d23}.learning-tip p{font-size:10px;color:#9b8a69;line-height:1.55;margin:4px 0 0}.knowledge-chat-box{margin:auto 15px 15px;border:1px solid #dedfe9;border-radius:7px;background:#fff;padding:10px}.chat-placeholder{font-size:11px;color:#a3a6b3;min-height:29px}.chat-box-actions{display:flex;align-items:center;justify-content:space-between}.chat-box-actions button{width:24px;height:24px;color:#969aac;font-size:17px}.chat-box-actions .chat-send{border-radius:5px;background:var(--indigo);color:#fff;font-size:14px}.chat-box-actions .chat-send:hover{background:var(--indigo-dark)}
@media(max-width:1100px){.knowledge-workbench{grid-template-columns:210px minmax(330px,1fr)}.knowledge-chat-pane{grid-column:1/-1;min-height:330px;border-top:1px solid var(--line)}.chat-summary{display:grid;grid-template-columns:1fr 1fr;column-gap:22px}.mastery-score{margin-bottom:0}.summary-divider{display:none}.knowledge-chat-box{margin-top:18px}}
@media(max-width:680px){.knowledge-workbench{display:block;border-radius:8px}.knowledge-nav-pane{border-right:0;border-bottom:1px solid var(--line);padding:15px 10px}.knowledge-pane-title{padding-bottom:13px}.knowledge-nav-group{display:flex;gap:5px;margin:0 0 11px;overflow:auto}.group-label{width:74px;flex:0 0 74px;padding-top:9px}.knowledge-tree-item{min-width:170px;padding:7px}.knowledge-nav-group.shared{display:flex}.knowledge-content-pane{border-right:0;padding:17px 12px}.knowledge-new span{display:none}.knowledge-new{width:29px;padding:0;font-size:16px}.knowledge-topic-list{padding-bottom:3px}.knowledge-chat-pane{min-height:360px}.chat-context{padding:17px 15px}.chat-summary{display:block;padding:16px 15px}.mastery-score{margin-bottom:18px}.knowledge-chat-box{margin:12px}.topic-row{padding:10px 5px}}

/* Parent brand lockup. */
.brand-copy{display:flex;flex-direction:column;align-items:flex-start;line-height:1}
.brand-copy small{display:block;font-size:10px;color:#666b82;margin:0 0 3px;letter-spacing:.2px}
.brand-copy strong{display:block;font-size:18px;letter-spacing:1px;line-height:1.05}
.brand-copy span{display:block;font-size:11px;color:#9da0b0;margin-top:4px;line-height:1}

/* Full-screen capture and review workspace. */
.upload-zone[hidden],.analysis-result[hidden]{display:none!important}
.modal-backdrop{padding:0;align-items:stretch;justify-content:stretch;background:rgba(26,29,58,.58)}
.camera-modal{width:100%;height:100%;max-width:none;border-radius:0;padding:28px 34px 22px;display:flex;flex-direction:column;overflow:hidden}
.modal-close{right:28px;top:20px;width:36px;height:36px;border-radius:8px;font-size:27px;line-height:1}
.modal-head{flex:0 0 auto;max-width:1400px;width:100%;margin:0 auto 22px;padding-right:48px}
.upload-zone{flex:1;display:grid;place-content:center;min-height:0;max-width:1400px;width:100%;margin:0 auto;border-style:dashed}

/* Official mark: two mistake cards with a white completion check. */
.brand-mark{width:36px;height:36px;border-radius:10px;background:#4f60dc;position:relative;display:block;flex:none;overflow:hidden;box-shadow:0 5px 12px rgba(79,96,220,.27)}
.logo-card{position:absolute;width:15px;height:19px;border:2px solid #fff;border-radius:3px;background:#8793ee}
.logo-card::before,.logo-card::after{content:"";position:absolute;left:3px;right:3px;height:2px;border-radius:2px;background:rgba(255,255,255,.86)}
.logo-card::before{top:5px}.logo-card::after{top:10px;right:5px}
.logo-card-back{left:7px;top:7px;opacity:.78;transform:rotate(-13deg)}
.logo-card-front{left:13px;top:10px;z-index:2;background:#6273e6;transform:rotate(8deg)}
.logo-check{position:absolute;right:8px;bottom:7px;z-index:4;color:#fff;display:block;font-size:10px;font-weight:900;line-height:1;text-shadow:0 1px 2px rgba(25,32,100,.35);transform:rotate(8deg)}

/* Warm teal palette inspired by the reference; layout and interaction stay unchanged. */
:root{--ink:#182321;--muted:#6e7b78;--line:#e5ded5;--paper:#f7f4ee;--surface:#fffdfa;--indigo:#2d746e;--indigo-dark:#205d58;--coral:#e58f71;--green:#4d9b83;--yellow:#e8b879;--shadow:0 10px 30px rgba(46,69,65,.08)}
body{background:var(--paper);color:var(--ink)}
.sidebar,.topbar,.panel,.stat-card,.table-panel,.camera-modal,.mistake-detail,.auth-modal{background:var(--surface)}
.stat-card.focus{background:#edf5f0;border-color:#d5e5dc}
.nav-item.active{background:#e2f0eb;color:var(--indigo)}
.nav-item:hover{background:#edf5f1;color:var(--indigo)}
.profile-mini{background:#f2f5f1;border-color:#e6e8e1}
.practice-hero,.knowledge-intro{background:#286b65}
.knowledge-workbench{background:var(--surface)}
.knowledge-inline-search{width:120px;height:29px;border:1px solid var(--line);border-radius:6px;padding:0 8px;font-size:11px;color:var(--ink)}
.knowledge-nav-pane{background:#f5f7f2}
.knowledge-tree-item.active{background:#deeee8;color:#286b65}
.topic-row.selected{background:#e7f2ed}
.focus-box,.learning-tip{background:#fff4e8}
.modal-tip{background:#fff4e8;color:#a27339}
.math-thumb,.math-pill,.topic-icon.math,.related-thumb{background:#e2f0eb;color:#286b65}
.cn-thumb,.cn-pill,.topic-icon.percent{background:#fbe9df;color:#bd6d53}
.en-thumb,.en-pill,.topic-icon.geometry{background:#e5f3ea;color:#43866f}
.review-tag{background:#e2f0eb;color:#286b65}
.review-tag.urgent{background:#fbe9df;color:#bd6d53}
.streak{background:#fff0d5;color:#a8752f}
.auth-tabs{background:#eef3ef}
.analysis-result{flex:1;min-height:0;max-width:1400px;width:100%;margin:0 auto;display:grid;grid-template-columns:minmax(0,1.35fr) minmax(360px,.75fr);grid-template-rows:auto minmax(90px,auto) auto minmax(120px,auto) auto auto;column-gap:30px;overflow:hidden}
.analysis-title{grid-column:1/-1;display:flex;align-items:baseline;gap:10px;padding:0 0 14px;border-bottom:1px solid var(--line)}
.analysis-title b{font-size:18px}.analysis-title span{font-size:11px;color:var(--green)}
.question-preview{grid-column:1;grid-row:2/7;width:100%;height:100%;min-height:0;object-fit:contain;object-position:center;background:#f5f6fa;border:1px solid var(--line);border-radius:8px;padding:14px;display:block}
.analysis-result>label,.analysis-result>.analysis-fields{grid-column:2}
.analysis-result>label:nth-of-type(1){grid-row:2}.analysis-result>.analysis-fields{grid-row:3}.analysis-result>label:nth-of-type(2){grid-row:4}.analysis-result>label:nth-of-type(3){grid-row:5}
.analysis-result>label{display:flex;flex-direction:column;gap:6px;margin:0 0 12px;font-size:12px;color:#5f647b;font-weight:600}
.analysis-result textarea,.analysis-result input,.analysis-result select{width:100%;border:1px solid #dfe1eb;border-radius:6px;background:#fff;padding:9px 10px;font-size:13px;line-height:1.5;color:var(--ink);resize:vertical}
.analysis-fields{display:grid;grid-template-columns:120px 1fr;gap:12px;margin-bottom:12px}
.analysis-fields label{display:flex;flex-direction:column;gap:6px;font-size:12px;color:#5f647b;font-weight:600}
#confirm-save{grid-column:2;grid-row:6;justify-self:start;align-self:end;margin-top:2px}
.analysis-result+.modal-tip{max-width:1400px;width:100%;margin:14px auto 0}
@media(max-width:900px){.camera-modal{padding:22px 20px 16px}.analysis-result{display:flex;flex-direction:column;overflow:auto}.question-preview{order:0;width:100%;height:38vh;min-height:220px;flex:0 0 auto}.analysis-title{order:-1}.analysis-result>label,.analysis-result>.analysis-fields{width:100%}#confirm-save{align-self:flex-start}.analysis-result+.modal-tip{flex:0 0 auto}}
.knowledge-file-actions{display:flex;gap:8px;margin-top:12px}.knowledge-file-actions .secondary-btn{font-size:11px;padding:6px 9px;text-decoration:none}
@media(max-width:680px){.camera-modal{padding:17px 14px 12px}.modal-head{margin-bottom:14px}.modal-head h2{font-size:16px}.question-preview{height:31vh;min-height:170px;padding:8px}.analysis-fields{grid-template-columns:1fr 1fr;gap:8px}.analysis-result textarea,.analysis-result input,.analysis-result select{font-size:12px}.analysis-result+.modal-tip{font-size:10px;margin-top:9px}}
.table-row[data-mistake-id]{cursor:pointer}.table-row[data-mistake-id]:hover{background:#f7f8ff}
.empty-state{padding:42px 18px;text-align:center;color:#9ca0af;font-size:12px}
.profile-mini{width:100%;border:1px solid #ededf5;text-align:left;cursor:pointer}.auth-backdrop{position:fixed;inset:0;z-index:40;display:flex;align-items:center;justify-content:center;padding:20px;background:rgba(26,29,58,.48)}.auth-backdrop[hidden]{display:none}.auth-modal{position:relative;width:min(410px,100%);background:#fff;border-radius:14px;padding:28px;box-shadow:0 24px 70px rgba(20,24,65,.22)}.auth-close{position:absolute;right:16px;top:12px;font-size:25px;color:#9599ab}.auth-head{display:flex;align-items:center;gap:12px;margin-bottom:22px}.auth-mark{width:42px;height:42px}.auth-head h2{margin:0 0 5px;font-size:19px}.auth-head p{margin:0;color:#999cac;font-size:11px}.auth-tabs{display:flex;gap:4px;background:#f3f4fa;padding:3px;border-radius:7px;margin-bottom:18px}.auth-tabs button{flex:1;padding:8px;border-radius:5px;color:#85899c;font-size:12px}.auth-tabs button.active{background:#fff;color:var(--indigo);font-weight:700;box-shadow:0 1px 4px rgba(40,46,95,.08)}#auth-form{display:grid;gap:14px}#auth-form label{display:grid;gap:6px;font-size:12px;color:#5f647b;font-weight:600}#auth-form input{width:100%;border:1px solid #dfe1eb;border-radius:7px;padding:10px;font-size:13px;color:var(--ink)}#auth-form input:focus{outline:3px solid rgba(89,101,232,.18);border-color:var(--indigo)}.auth-message{min-height:18px;margin:0;color:var(--coral);font-size:11px}.auth-logout{width:100%;margin-top:12px;padding:9px;border:1px solid #e2e3ec;border-radius:7px;color:#74788d;font-size:12px}.auth-logout:hover{border-color:var(--coral);color:var(--coral)}
.detail-backdrop{position:fixed;inset:0;z-index:25;display:flex;align-items:center;justify-content:center;padding:24px;background:rgba(26,29,58,.48)}.detail-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:14px}.detail-actions #detail-delete{border-color:#efcbc7;color:#b24f45}
.detail-backdrop[hidden]{display:none}.mistake-detail{position:relative;width:min(760px,100%);max-height:90vh;overflow:auto;background:#fff;border-radius:14px;padding:30px;box-shadow:0 24px 70px rgba(20,24,65,.22)}
.detail-close{position:absolute;right:18px;top:14px;font-size:25px;color:#9599ab}.detail-kicker{font-size:11px;color:var(--indigo);font-weight:700}.mistake-detail h2{font-size:22px;margin:9px 35px 7px}.detail-meta{font-size:11px;color:#9b9eaf;padding-bottom:18px;border-bottom:1px solid var(--line)}
.detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:18px}.detail-grid>div{border:1px solid var(--line);border-radius:8px;padding:15px}.detail-grid h3{font-size:12px;margin:0 0 8px;color:#666b82}.detail-grid p{font-size:13px;line-height:1.7;margin:0;color:var(--ink);white-space:pre-wrap}
@media(max-width:680px){.detail-backdrop{padding:12px}.mistake-detail{padding:22px 16px}.detail-grid{grid-template-columns:1fr;gap:10px}}
.detail-backdrop{padding:16px;align-items:stretch}.mistake-detail{width:min(1180px,100%);height:calc(100vh - 32px);max-height:none;padding:38px 46px 46px;border-radius:16px}.mistake-detail h2{font-size:27px;line-height:1.35;max-width:920px}.detail-meta{font-size:12px;padding-bottom:20px}.detail-grid{grid-template-columns:minmax(0,1.05fr) minmax(0,1.35fr);gap:18px;margin-top:22px}.detail-grid>div{padding:20px 22px;min-height:150px;background:#fffdfb;border-color:#e5ddd3}.detail-grid h3{font-size:13px;margin-bottom:12px;color:#2d746e}.detail-grid p{font-size:15px;line-height:1.9;overflow-wrap:anywhere}.practice-tools{margin-top:24px;padding-top:24px}.practice-tool-head h3{font-size:18px}.practice-tool-head p{font-size:13px}.practice-result{padding:20px 22px}.practice-result ol{font-size:14px;line-height:2}.variant-feedback{font-size:14px;line-height:1.9}@media(max-width:680px){.detail-backdrop{padding:0}.mistake-detail{width:100%;height:100vh;border-radius:0;padding:26px 18px 34px}.mistake-detail h2{font-size:22px}.detail-grid{grid-template-columns:1fr;gap:12px}.detail-grid>div{padding:16px;min-height:0}.detail-grid p{font-size:14px;line-height:1.8}}
.top-actions>button{cursor:pointer}.top-popover{position:absolute;right:58px;top:61px;z-index:12;background:var(--surface);border:1px solid var(--line);border-radius:8px;padding:12px 15px;color:var(--muted);font-size:12px;box-shadow:var(--shadow)}
.practice-tool-head>div:last-child{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.practice-amount{display:inline-flex;align-items:center;gap:5px;color:#697b78;font-size:12px}.practice-amount select{height:34px;padding:0 25px 0 9px;border:1px solid #cdded8;border-radius:6px;background:#fff;color:#276e67;font:inherit}.variant-intro{margin:0 0 14px;color:#71827f;font-size:13px;line-height:1.6}.variant-list{display:grid;gap:12px}.variant-item{padding:15px;border:1px solid #dce8e4;border-radius:7px;background:#fbfdfc}.variant-question{margin:0 0 12px!important;font-size:15px;line-height:1.75}.variant-question b{display:inline-block;margin-right:9px;color:#267f75;font-size:12px}.variant-answer-row{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.variant-answer-input{min-width:160px;flex:1 1 180px;height:36px;padding:0 10px;border:1px solid #cdded8;border-radius:6px;background:#fff;color:var(--ink);font:inherit}.variant-feedback{margin-top:10px;padding-top:10px;border-top:1px solid #e3ece9}.answer-correct{color:#2e8a66}.answer-retry{color:#c45c4a}.socratic-step{margin:0 0 14px;font-size:15px;line-height:1.75}.socratic-complete{margin:13px 0 0;color:#4a7b74;font-size:13px}@media(max-width:680px){.practice-tool-head>div:last-child{width:100%}.practice-amount{margin-right:auto}.variant-answer-row>*{width:100%}.variant-answer-input{flex-basis:100%}}
.variant-result-head{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;margin-bottom:14px}.variant-result-head h4{margin:0 0 4px}.variant-result-head .variant-intro{margin:0}.variant-result-head .variant-intro b{color:#267f75}.variant-actions{display:flex;gap:8px;flex:0 0 auto}.variant-actions .secondary-btn{white-space:nowrap}@media(max-width:680px){.variant-result-head{flex-direction:column}.variant-actions{width:100%}.variant-actions .secondary-btn{flex:1;padding-left:8px;padding-right:8px}}
.brand-mark{background:#2d746e;box-shadow:0 5px 12px rgba(45,116,110,.25)}.logo-card{background:#79aaa4}.logo-card-front{background:#4a8e87}.logo-check{text-shadow:0 1px 2px rgba(20,78,73,.42)}
.teacher-link,.storage{width:100%;text-align:left;cursor:pointer}.teacher-link{background:transparent;border:0}.storage{background:transparent;border:0}.info-backdrop{position:fixed;inset:0;z-index:35;display:flex;align-items:center;justify-content:center;padding:20px;background:rgba(27,47,45,.42)}.info-backdrop[hidden]{display:none}.info-modal{position:relative;width:min(420px,100%);padding:28px;background:var(--surface);border:1px solid var(--line);border-radius:12px;box-shadow:0 22px 60px rgba(33,65,60,.2)}.info-modal h2{margin:0 0 18px;font-size:19px;color:var(--ink)}.info-modal p{margin:10px 0;font-size:13px;color:var(--muted)}.info-note{padding-top:10px;border-top:1px solid var(--line);font-size:11px!important}.storage-large{height:8px;margin:15px 0;background:#e4e9e5;border-radius:4px;overflow:hidden}.storage-large i{display:block;height:100%;background:var(--indigo);border-radius:4px}
.variant-socratic-result{margin-top:12px;padding:13px 14px;background:#f3faf7;border:1px solid #d4e8e1;border-radius:6px}.variant-socratic-result h4{margin:0 0 7px;color:#28786f;font-size:13px}
.socratic-history{display:grid;gap:9px;max-height:230px;overflow-y:auto;padding:2px 2px 2px 0}.socratic-message{max-width:88%;padding:9px 11px;border-radius:6px;font-size:13px;line-height:1.55}.socratic-message b{display:block;margin-bottom:3px;color:#3b766f;font-size:11px}.socratic-message p{margin:0}.socratic-message.assistant{justify-self:start;background:#fff;border:1px solid #d7e7e2;color:#294541}.socratic-message.user{justify-self:end;background:#dff1eb;color:#164e47}.socratic-message.user b{color:#276e67}.socratic-chat-form{display:flex;gap:8px;flex-wrap:wrap;margin-top:11px}.socratic-chat-input{height:36px;min-width:180px;flex:1 1 220px;padding:0 10px;border:1px solid #bcd9d1;border-radius:6px;background:#fff;color:var(--ink);font:inherit}.socratic-chat-form .secondary-btn{white-space:nowrap}@media(max-width:680px){.socratic-chat-form>*{width:100%}.socratic-message{max-width:96%}}
.practice-visual{display:flex;align-items:center;gap:14px;min-height:72px;margin:-2px 0 14px;padding:12px 14px;background:#f6fbfa;border:1px solid #d9eae5;border-radius:6px}.fraction-visual{justify-content:center;gap:18px}.fraction-value{display:grid;justify-items:center;min-width:34px;color:#246f68;font-size:18px;line-height:1}.fraction-value i{font-style:normal}.fraction-value b{display:block;width:34px;margin:4px 0 3px;border-top:1.5px solid currentColor}.fraction-visual>strong{color:#506a66;font-size:20px}.visual-equals{margin-left:3px;color:#6e817d;font-size:16px}.groups-visual{align-items:flex-start;flex-direction:column;gap:8px}.visual-groups{display:flex;gap:8px;flex-wrap:wrap}.visual-group{display:grid;grid-template-columns:repeat(3,8px);gap:4px;min-width:36px;padding:6px;border:1px solid #b9dcd4;border-radius:5px;background:#fff}.visual-group i{width:8px;height:8px;border-radius:50%;background:#e98263}.visual-caption{color:#4c716b;font-size:12px}.variant-item .practice-visual+ .variant-answer-row{margin-top:0}@media(max-width:680px){.fraction-visual{gap:12px}.practice-visual{padding:11px}.visual-groups{gap:6px}}
.objects-visual,.equal-parts-visual{align-items:flex-start;flex-direction:column;gap:8px}.object-groups,.equal-parts{display:flex;gap:9px;flex-wrap:wrap}.object-group{position:relative;display:flex;align-items:center;min-width:48px;min-height:52px;padding:15px 7px 7px;border:1px solid #b9dcd4;border-radius:5px;background:#fff}.object-group>em{position:absolute;top:3px;left:5px;color:#70908a;font-size:9px;font-style:normal}.object-items{display:grid;grid-template-columns:repeat(3,12px);gap:4px}.object-icon{position:relative;display:block;width:12px;height:12px}.pencil .object-icon{width:4px;height:13px;margin-left:4px;border-radius:2px;background:linear-gradient(90deg,#e97c59 0 34%,#ffd366 34% 68%,#4b9b96 68%)}.pencil .object-icon::after{position:absolute;bottom:-3px;left:0;content:'';border-left:2px solid transparent;border-right:2px solid transparent;border-top:3px solid #b68969}.apple .object-icon{border-radius:48% 48% 52% 52%;background:#e97159}.apple .object-icon::before{position:absolute;top:-3px;left:6px;width:2px;height:4px;background:#755b43;content:''}.apple .object-icon::after{position:absolute;top:-3px;left:7px;width:5px;height:3px;border-radius:5px 0 5px 0;background:#5f9d72;content:''}.book .object-icon{width:11px;height:13px;border-radius:1px 3px 3px 1px;background:#5798c1;box-shadow:inset 2px 0 #f3d36a}.book .object-icon::after{position:absolute;top:2px;right:2px;width:4px;height:1px;background:#d9edf1;box-shadow:0 3px #d9edf1;content:''}.balloon .object-icon{width:11px;height:13px;border-radius:50% 50% 48% 48%;background:#d875a1}.balloon .object-icon::after{position:absolute;bottom:-5px;left:5px;width:1px;height:5px;background:#8a7a76;content:''}.total-token{padding:4px 7px;border-radius:5px;background:#fff1d7;color:#9a643c;font-size:12px;font-weight:700}.visual-arrow{color:#4a756e;font-size:12px}.equal-part{display:grid;min-width:52px;padding:6px 8px;border:1px dashed #98c8bd;border-radius:5px;background:#fff;text-align:center}.equal-part b{color:#e07756;font-size:17px}.equal-part small{color:#69817b;font-size:10px}@media(max-width:680px){.object-groups,.equal-parts{gap:6px}.object-group{min-width:44px}.object-items{grid-template-columns:repeat(3,11px);gap:3px}}
.practice-geometry{width:min(100%,360px);margin:0 auto 14px;padding:5px 10px 8px;border:1px solid #cfe3dc;border-radius:5px;background:#fff}.practice-geometry svg{display:block;width:100%;height:152px;overflow:visible}.practice-geometry text{fill:#3f625d;font-family:'Microsoft YaHei',sans-serif;font-size:12px}.practice-geometry figcaption{padding-top:2px;color:#597771;font-size:12px;text-align:center}.geometry-shape{fill:#eaf6f1;stroke:#287b70;stroke-width:2.2}.geometry-measure{fill:none;stroke:#bb8240;stroke-width:1.4}.geometry-dash{fill:none;stroke:#bb8240;stroke-width:1.6;stroke-dasharray:5 4}.geometry-radius{stroke:#d66d58;stroke-width:2}.geometry-point{fill:#287b70}.geometry-angle{fill:none;stroke:#287b70;stroke-width:2.4;stroke-linecap:round}.geometry-arc{fill:none;stroke:#d66d58;stroke-width:2}@media(max-width:680px){.practice-geometry{width:100%;padding:4px}.practice-geometry svg{height:138px}}
#start-review{background:var(--indigo);color:#fff;box-shadow:0 7px 15px rgba(45,116,110,.2)}#start-review:hover{background:var(--indigo-dark)}

/* Let the knowledge workbench occupy the entire available learning workspace. */
body:has([data-panel="knowledge"].active) .content{max-width:none;margin:0;padding:0}
body:has([data-panel="knowledge"].active) .knowledge-workbench{width:100%;min-height:calc(100vh - 72px);grid-template-columns:minmax(250px,.78fr) minmax(480px,1.2fr) minmax(390px,1fr);border-width:0;border-radius:0;box-shadow:none}
body:has([data-panel="knowledge"].active) .knowledge-content-pane{padding:24px 20px}
body:has([data-panel="knowledge"].active) .knowledge-chat-pane{min-height:0}
@media(max-width:1100px){body:has([data-panel="knowledge"].active) .content{padding:0}body:has([data-panel="knowledge"].active) .knowledge-workbench{min-height:620px;grid-template-columns:210px minmax(330px,1fr)}}
@media(max-width:680px){body:has([data-panel="knowledge"].active) .content{padding:18px 12px 32px}body:has([data-panel="knowledge"].active) .knowledge-workbench{min-height:0;display:block}}

/* Knowledge library browsing: compact directory, spacious content and study pane. */
body:has([data-panel="knowledge"].active) .knowledge-workbench{grid-template-columns:minmax(188px,.55fr) minmax(520px,1.42fr) minmax(430px,1.18fr)}
body:has([data-panel="knowledge"].active) .knowledge-nav-pane{padding:18px 9px}
body:has([data-panel="knowledge"].active) .knowledge-pane-title{padding-left:5px;padding-right:5px}
body:has([data-panel="knowledge"].active) .knowledge-pane-title b{font-size:14px}
body:has([data-panel="knowledge"].active) .knowledge-pane-title small{font-size:11px}
body:has([data-panel="knowledge"].active) .knowledge-tree-item{padding:9px 7px;gap:7px}
body:has([data-panel="knowledge"].active) .knowledge-tree-item b{font-size:12px}
body:has([data-panel="knowledge"].active) .knowledge-tree-item small{font-size:11px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
body:has([data-panel="knowledge"].active) .group-label{padding-left:7px;font-size:11px}
body:has([data-panel="knowledge"].active) .knowledge-content-pane{padding:26px 26px}
body:has([data-panel="knowledge"].active) .knowledge-chat-pane{min-width:430px}
.knowledge-subscription-group{border-top:1px solid #e6ebe8;padding-top:3px;max-height:calc(100vh - 340px);overflow:auto}
.knowledge-subscription-group .group-label{padding-top:12px}
.knowledge-subscription-item.active,.knowledge-subscription-item:hover{background:#e3f0eb;color:#276b62}
.knowledge-library-profile{display:grid;grid-template-columns:58px minmax(0,1fr);gap:13px;align-items:center;padding:13px 8px 18px;margin:0 0 4px;border-bottom:1px solid #edf0ee}
.knowledge-library-profile.published{grid-template-columns:58px minmax(0,1fr) auto}
.knowledge-library-cover{display:grid;place-items:center;width:58px;height:58px;border:1px solid #d8e8e1;border-radius:8px;background:#dff3ea;color:#36786f;font-size:24px;box-shadow:inset 0 0 0 4px #f6fbf8}
.knowledge-library-profile h3{margin:0 0 5px;color:#273c3b;font-size:17px;line-height:1.35}
.knowledge-library-profile p,.knowledge-library-profile small{display:block;margin:0;color:#778b88;font-size:12px;line-height:1.55}
.knowledge-library-profile small{color:#a0afac;margin-top:3px}
.knowledge-profile-share{align-self:start;border:1px solid #bcd9d0;border-radius:6px;padding:7px 10px;color:#286b65;background:#fff;font-size:12px;font-weight:700}
.knowledge-profile-share:hover{background:#ecf7f2;border-color:#70aea0}
.knowledge-published-head{gap:6px;margin-top:6px}.knowledge-published-head small{margin-left:auto}.knowledge-published-head .knowledge-share{margin-left:6px}
[data-panel="knowledge"][data-knowledge-mode="published"] .knowledge-toolbar,[data-panel="knowledge"][data-knowledge-mode="subscribed"] .knowledge-toolbar,[data-panel="knowledge"][data-knowledge-mode="subscribed-items"] .knowledge-toolbar{margin-top:4px}
[data-panel="knowledge"][data-knowledge-mode="published"] .knowledge-head-actions .knowledge-new,[data-panel="knowledge"][data-knowledge-mode="subscribed"] .knowledge-head-actions .knowledge-new,[data-panel="knowledge"][data-knowledge-mode="subscribed-items"] .knowledge-head-actions .knowledge-new,[data-panel="knowledge"][data-knowledge-mode="plaza"] .knowledge-head-actions .knowledge-new{display:none}
.knowledge-plaza-tools{display:flex;gap:8px;padding:11px 5px 13px;border-bottom:1px solid #edf0ee}
.knowledge-plaza-tools input,.knowledge-plaza-tools select{height:34px;border:1px solid #dce5e1;border-radius:6px;background:#fff;color:var(--ink);font:inherit;font-size:12px;padding:0 9px}
.knowledge-plaza-tools input{min-width:0;flex:1}.knowledge-plaza-tools select{width:108px}
.knowledge-plaza-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(132px,1fr));gap:9px;padding:12px 2px}
.knowledge-plaza-card{display:flex;flex-direction:column;align-items:flex-start;gap:5px;min-height:132px;aspect-ratio:1;padding:10px;border:1px solid #dfe9e5;border-radius:6px;background:#fff}
.knowledge-plaza-card:hover{border-color:#a5cec1;background:#fbfefd}
.knowledge-plaza-card.mine{border-color:#9fcfc0;background:#f4fbf8}.knowledge-plaza-card h3 em{display:inline-block;margin-left:7px;border-radius:4px;background:#dff1ea;color:#287066;padding:2px 5px;font-size:10px;font-style:normal;font-weight:700;vertical-align:2px}
.knowledge-plaza-card-icon{display:grid;place-items:center;width:32px;height:32px;border-radius:6px;background:#e2f2ec;color:#34776c;font-size:14px;font-weight:800}
.knowledge-plaza-card-main{min-width:0;width:100%;flex:1}.knowledge-plaza-card h3{margin:0;color:#263f3b;font-size:12px;line-height:1.35;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.knowledge-plaza-card p,.knowledge-plaza-card small{display:block;margin:2px 0 0;color:#718783;font-size:10px;line-height:1.35;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.knowledge-plaza-card small{color:#9aa9a5}.knowledge-plaza-card .knowledge-share{align-self:stretch;width:100%;padding:5px;font-size:11px;text-align:center}
@media(max-width:680px){.knowledge-plaza-tools{gap:6px}.knowledge-plaza-tools select{width:92px}.knowledge-plaza-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.knowledge-plaza-card{min-height:132px;padding:10px}.knowledge-plaza-card-icon{width:32px;height:32px}.knowledge-plaza-card h3{font-size:12px}}
@media(max-width:1100px){body:has([data-panel="knowledge"].active) .knowledge-workbench{grid-template-columns:200px minmax(360px,1fr)}body:has([data-panel="knowledge"].active) .knowledge-chat-pane{min-width:0}}
@media(max-width:680px){body:has([data-panel="knowledge"].active) .knowledge-nav-pane{padding:15px 10px}.knowledge-subscription-group{max-height:none}.knowledge-library-profile{grid-template-columns:50px minmax(0,1fr);padding:10px 3px 14px}.knowledge-library-profile.published{grid-template-columns:50px minmax(0,1fr) auto}.knowledge-library-cover{width:50px;height:50px;font-size:20px}.knowledge-library-profile h3{font-size:16px}.knowledge-library-profile p,.knowledge-library-profile small{font-size:11px}}

/* Knowledge library actions: import first, then explicitly publish to shared content. */
.knowledge-entry{display:flex;align-items:center;gap:5px}.knowledge-entry .topic-row{flex:1}.knowledge-entry.is-shared .topic-row{background:#f0f8f4;box-shadow:inset 3px 0 #2d9b6b}.knowledge-share{flex:0 0 auto;border:1px solid #cfe2dc;border-radius:5px;padding:5px 7px;color:var(--indigo);font-size:10px;font-weight:700}.knowledge-share:hover{background:#e7f2ed}.knowledge-share.shared{border-color:#2d9b6b;background:#2d9b6b;color:#fff;opacity:1;cursor:default}.knowledge-share.unshare{border-color:#e5bbb7;color:#a0443d}.knowledge-share.unshare:hover{background:#fff1f0}.knowledge-share:disabled:not(.shared){opacity:.6;cursor:wait}.knowledge-item-detail{padding:10px 0;color:var(--muted)}.knowledge-item-detail b,.knowledge-item-detail small{display:block;font-size:11px}.knowledge-item-detail small{margin-top:4px;color:#a3a6b5}.knowledge-import-dialog{position:fixed;inset:0;z-index:45;display:grid;place-items:center;padding:18px;background:rgba(27,47,45,.42)}.knowledge-import-card{position:relative;width:min(560px,100%);max-height:min(680px,calc(100vh - 36px));overflow:auto;background:var(--surface);border:1px solid var(--line);border-radius:10px;padding:24px}.knowledge-import-card>.icon-btn{position:absolute;right:14px;top:10px;font-size:22px}.knowledge-import-card h2{margin:0 0 17px;font-size:18px}.knowledge-import-tabs{display:flex;gap:4px;padding:3px;background:#eef3ef;border-radius:7px}.knowledge-import-tabs button{flex:1;padding:8px;border-radius:5px;color:var(--muted);font-size:12px}.knowledge-import-tabs button.active{background:#fff;color:var(--indigo);font-weight:700;box-shadow:0 1px 4px rgba(40,46,95,.08)}.knowledge-import-body{margin-top:16px}.knowledge-source-list{display:grid;gap:7px}.knowledge-source-list button{display:grid;grid-template-columns:42px 1fr auto;gap:10px;align-items:center;width:100%;padding:11px;text-align:left;border:1px solid var(--line);border-radius:7px;background:#fff}.knowledge-source-list button:hover{border-color:#b9d7ce;background:#f7fbf8}.knowledge-source-list button>span{display:grid;place-items:center;min-height:30px;border-radius:5px;background:#e2f0eb;color:var(--indigo);font-size:10px;font-weight:700}.knowledge-source-list b,.knowledge-source-list small{display:block;font-size:11px}.knowledge-source-list small{margin-top:3px;color:var(--muted)}.knowledge-source-list i{font-style:normal;color:var(--indigo);font-size:11px;font-weight:700}.knowledge-file-picker{display:grid;gap:9px;padding:22px;border:1px dashed #bdd7ce;border-radius:8px;background:#f8fbf9;color:var(--ink);font-size:12px}.knowledge-file-picker input{font-size:12px}.knowledge-file-picker small{color:var(--muted);font-size:11px;line-height:1.5}.knowledge-import-body>.primary-btn{margin-top:14px;width:100%}@media(max-width:680px){.knowledge-entry .topic-row{grid-template-columns:28px minmax(0,1fr) 36px}.knowledge-share{padding:5px}.knowledge-import-card{padding:20px 16px}.knowledge-source-list button{grid-template-columns:36px minmax(0,1fr) auto}}
.knowledge-edit{flex:0 0 auto;border:1px solid #b8d8ce;border-radius:5px;padding:7px 9px;color:#286b65;background:#fff;font-size:12px;font-weight:700}.knowledge-edit:hover{border-color:#579c8a;background:#edf8f3}@media(max-width:680px){.knowledge-edit{padding:7px;font-size:12px}}
.knowledge-toolbar{display:flex;align-items:center;justify-content:space-between}.knowledge-library-count{color:#718783;font-size:13px;font-weight:700}
.knowledge-chat-box{display:block}.knowledge-chat-box textarea{display:block;width:100%;min-height:58px;resize:vertical;border:0;background:transparent;padding:2px 0;color:var(--ink);font:inherit;line-height:1.55;outline:0}.knowledge-chat-box textarea::placeholder{color:#989eaf}.chat-box-actions>span{color:#969aac;font-size:12px}.knowledge-chat-history{margin-top:18px}.knowledge-chat-message{margin:10px 0;padding:11px 12px;border-radius:7px;font-size:13px;line-height:1.6}.knowledge-chat-message b{display:block;font-size:12px;margin-bottom:4px}.knowledge-chat-message p{margin:0}.knowledge-chat-message.user{background:#edf8f3;color:#285e55}.knowledge-chat-message.assistant{background:#f4f5fb;color:var(--ink)}.learning-answer p{margin:0 0 8px}.learning-answer h4{margin:12px 0 6px;font-size:13px;color:var(--ink)}.learning-answer h4:first-child{margin-top:0}.learning-answer hr{border:0;border-top:1px solid #dfe1ec;margin:10px 0}.learning-answer-gap{height:6px}.learning-answer-bullet{position:relative;padding-left:14px;margin:5px 0}.learning-answer-bullet::before{content:'•';position:absolute;left:2px;color:var(--indigo)}.math-fraction{display:inline-grid;grid-template-rows:auto auto;vertical-align:middle;min-width:20px;margin:0 3px;text-align:center;line-height:1.05}.math-fraction i{font-style:normal;padding:0 3px}.math-fraction i:first-child{border-bottom:1px solid currentColor}.chat-send:disabled{opacity:.6;cursor:wait}
.knowledge-chat-controls{display:flex;gap:8px;margin-bottom:8px}.knowledge-chat-controls label{display:flex;align-items:center;gap:4px;color:#77808e;font-size:11px}.knowledge-chat-controls select{max-width:142px;height:26px;border:1px solid #dce4df;border-radius:5px;background:#fff;padding:0 5px;color:#286b65;font-size:11px}@media(max-width:680px){.knowledge-chat-controls{gap:5px}.knowledge-chat-controls label{font-size:10px}.knowledge-chat-controls select{max-width:118px;font-size:10px}}
.topic-row.is-folder .topic-icon{background:#fff0d5;color:#a8752f}.topic-row.is-folder .topic-progress{color:#a8752f}.knowledge-create-note{margin:-7px 0 16px;color:var(--muted);font-size:12px}.knowledge-create-types{display:grid;grid-template-columns:1fr 1fr;gap:9px}.knowledge-create-types button{display:grid;grid-template-columns:28px 1fr;gap:2px 9px;align-items:center;text-align:left;padding:12px;border:1px solid var(--line);border-radius:7px;background:#fff}.knowledge-create-types button:hover,.knowledge-create-types button.active{border-color:#86b7a7;background:#f2faf6}.knowledge-create-types span{grid-row:1/3;display:grid;place-items:center;width:27px;height:27px;border-radius:5px;background:#e2f0eb;color:#286b65}.knowledge-create-types button:nth-child(2) span{background:#fff0d5;color:#a8752f}.knowledge-create-types b{font-size:12px}.knowledge-create-types small{font-size:10px;color:var(--muted)}.knowledge-create-name{display:grid;gap:7px;margin:18px 0 14px;color:var(--ink);font-size:12px;font-weight:700}.knowledge-create-name input{width:100%;height:36px;border:1px solid var(--line);border-radius:6px;padding:0 10px;color:var(--ink);font:inherit;font-weight:400}.knowledge-create-name input:focus{outline:2px solid rgba(45,116,110,.2);border-color:#70a99d}.knowledge-create-dialog .primary-btn{width:100%}@media(max-width:680px){.knowledge-create-types{grid-template-columns:1fr}.knowledge-create-types button{min-height:56px}}

/* Reading-first type scale for children and parents in the knowledge workspace. */
.knowledge-pane-title b{font-size:16px}.knowledge-pane-title small{font-size:12px;line-height:1.5}.group-label{font-size:12px}.knowledge-tree-item{padding:11px 9px}.knowledge-tree-item>span{font-size:16px}.knowledge-tree-item b{font-size:13px}.knowledge-tree-item small{font-size:12px;line-height:1.45}.knowledge-library-title h2,.chat-context h2{font-size:19px}.knowledge-library-title p{font-size:13px;line-height:1.5}.knowledge-icon-button,.knowledge-new{height:34px;font-size:14px}.knowledge-icon-button{width:34px}.knowledge-new{padding:0 11px}.knowledge-inline-search{height:34px;font-size:13px}.knowledge-toolbar{padding:11px 4px;margin-bottom:11px}.knowledge-filter{font-size:13px;padding:7px 8px}.knowledge-filter b{font-size:11px}.knowledge-sort{font-size:12px}.topic-folder{padding:15px 6px 9px}.topic-folder b{font-size:13px}.topic-folder small{font-size:12px}.topic-row{grid-template-columns:34px minmax(0,1fr) 58px;gap:11px;padding:13px 8px}.topic-icon{width:30px;height:30px;font-size:15px}.topic-row b{font-size:14px;line-height:1.45}.topic-row small{font-size:12px;line-height:1.45;margin-top:4px}.topic-progress{font-size:13px}.knowledge-share{padding:7px 9px;font-size:12px}.chat-context{padding:24px 22px 20px}.chat-context>div>span,.summary-label{font-size:12px}.mastery-score{grid-template-columns:55px 1fr;gap:7px 12px}.mastery-score strong{font-size:26px}.mastery-score span{font-size:13px;line-height:1.6}.knowledge-item-detail{padding:13px 0}.knowledge-item-detail b,.knowledge-item-detail small{font-size:13px;line-height:1.55}.related-item{padding:10px 0}.related-item b{font-size:13px;line-height:1.45}.related-item small{font-size:12px;line-height:1.45}.learning-tip{padding:14px}.learning-tip b{font-size:13px}.learning-tip p{font-size:12px;line-height:1.65}.chat-placeholder{font-size:13px;line-height:1.5}.knowledge-create-note{font-size:13px;line-height:1.55}.knowledge-create-types b{font-size:14px}.knowledge-create-types small{font-size:12px;line-height:1.4}.knowledge-create-name{font-size:13px}.knowledge-create-name input{height:40px;font-size:14px}.knowledge-import-card h2{font-size:21px}.knowledge-import-tabs button,.knowledge-file-picker{font-size:14px}.knowledge-file-picker small{font-size:12px}.knowledge-source-list b{font-size:13px}.knowledge-source-list small,.knowledge-source-list i{font-size:12px}.knowledge-source-list button{padding:13px}
@media(max-width:680px){.knowledge-pane-title b{font-size:15px}.knowledge-tree-item b{font-size:13px}.knowledge-tree-item small{font-size:12px}.knowledge-library-title h2,.chat-context h2{font-size:18px}.knowledge-library-title p{font-size:12px}.topic-row{grid-template-columns:32px minmax(0,1fr) 48px;padding:12px 6px}.topic-row b{font-size:14px}.topic-row small{font-size:12px}.topic-progress{font-size:12px}.knowledge-share{font-size:12px;padding:7px}.knowledge-filter{font-size:12px}.mastery-score span{font-size:13px}}

/* Site-wide accessible type scale: supporting copy stays legible for children and parents. */
.brand span,.profile-mini span,.nav-item em,.teacher-link small,.storage small,.storage>div:first-child,.breadcrumb,.search,.search kbd,.eyebrow,.secondary-btn,.stat-top,.stat-card>strong small,.stat-foot,.panel-head p,.panel-head select,.text-btn,.y-labels,.x-labels,.legend,.subject-name,.subject-name small,.subject-row>b,.focus-box b,.focus-box p,.review-item b,.recent-item b,.review-item small,.recent-item small,.review-tag,.thumb,.filter b,.filter-search,.table-head,.table-row,.subject-pill,.state,.streak,.practice-count span,.practice-copy p,.section-label,.practice-subjects small,.knowledge-tabs button,.knowledge-intro p,.knowledge-search,.knowledge-heading,.knowledge-heading span,.knowledge-list b,.knowledge-list small,.report-kicker,.report-card p,.report-score span,.report-points span,.modal-head p,.upload-zone p,.modal-tip,.toast,.brand-copy small,.brand-copy span,.analysis-title span,.auth-head p,.auth-tabs button,#auth-form label,.auth-message,.auth-logout,.detail-kicker,.detail-meta,.info-note{font-size:13px;line-height:1.55}
.teacher-link b,.settings,.subhead,.primary-btn,.secondary-btn,.panel h2,.subject-name,.focus-box b,.review-item b,.recent-item b,.filter,.table-row,.streak,.practice-copy p,.section-label,.practice-subjects b,.knowledge-heading,.knowledge-list b,.report-card p,.report-score span,.modal-head p,.upload-zone p,.modal-tip,.auth-head p,.auth-tabs button,#auth-form label,.auth-message,.auth-logout,.detail-kicker,.detail-meta,.info-modal p{font-size:14px}
.filter-search{font-size:14px;min-height:38px}.panel-head select{font-size:13px;min-height:34px}.table-head{font-size:12px}.table-row{font-size:13px;line-height:1.5;padding-top:16px;padding-bottom:16px}.subject-pill,.state,.review-tag{font-size:12px}.review-item,.recent-item{padding-top:11px;padding-bottom:11px}.practice-subjects small,.knowledge-list small,.report-points span{font-size:13px}.report-kicker,.eyebrow{font-size:12px}.auth-message,.detail-kicker{font-size:13px}.info-note{font-size:12px!important}
@media(max-width:680px){.brand span,.profile-mini span,.nav-item em,.teacher-link small,.storage small,.storage>div:first-child,.breadcrumb,.search,.search kbd,.eyebrow,.secondary-btn,.stat-top,.stat-card>strong small,.stat-foot,.panel-head p,.panel-head select,.text-btn,.y-labels,.x-labels,.legend,.subject-name,.subject-name small,.subject-row>b,.focus-box b,.focus-box p,.review-item b,.recent-item b,.review-item small,.recent-item small,.review-tag,.thumb,.filter b,.filter-search,.table-head,.table-row,.subject-pill,.state,.streak,.practice-count span,.practice-copy p,.section-label,.practice-subjects small,.knowledge-tabs button,.knowledge-intro p,.knowledge-search,.knowledge-heading,.knowledge-heading span,.knowledge-list b,.knowledge-list small,.report-kicker,.report-card p,.report-score span,.report-points span,.modal-head p,.upload-zone p,.modal-tip,.toast,.brand-copy small,.brand-copy span,.analysis-title span,.auth-head p,.auth-tabs button,#auth-form label,.auth-message,.auth-logout,.detail-kicker,.detail-meta,.info-note{font-size:12px}.teacher-link b,.settings,.subhead,.primary-btn,.secondary-btn,.panel h2,.subject-name,.focus-box b,.review-item b,.recent-item b,.filter,.table-row,.streak,.practice-copy p,.section-label,.practice-subjects b,.knowledge-heading,.knowledge-list b,.report-card p,.report-score span,.modal-head p,.upload-zone p,.modal-tip,.auth-head p,.auth-tabs button,#auth-form label,.auth-message,.auth-logout,.detail-kicker,.detail-meta,.info-modal p{font-size:13px}.table-head{font-size:11px}.table-row{font-size:12px}.filter-search{font-size:13px}}

/* Keep the mastery number and label inside the circular score indicator. */
.report-score{width:112px;height:112px;flex:0 0 112px;display:flex;align-items:center;justify-content:center;flex-direction:column;padding:0;text-align:center;isolation:isolate}.report-score strong{display:block;margin:0;color:#2d746e;font-size:38px;line-height:1;letter-spacing:0;white-space:nowrap}.report-score span{display:block;margin-top:5px;color:#6f807c;font-size:12px;line-height:1.2;white-space:nowrap}.report-score .score-ring{position:absolute;inset:0;width:112px;height:112px;border-width:8px;transform:rotate(27deg);z-index:-1}@media(max-width:680px){.report-score{margin:30px auto 0}.report-score strong{font-size:36px}}

/* OCR review uses a dedicated workspace so the original and long AI output remain readable. */
.modal-backdrop:has(.analysis-result:not([hidden])){padding:18px}
.camera-modal:has(.analysis-result:not([hidden])){width:min(1540px,calc(100vw - 36px));height:min(920px,calc(100vh - 36px));max-height:none;padding:24px 28px 18px;display:flex;flex-direction:column;border-radius:12px}
.camera-modal:has(.analysis-result:not([hidden])) .modal-head{flex:0 0 auto;margin:0 42px 17px 0}
.analysis-result{max-width:none;min-height:0;margin:0;display:flex;flex-direction:column;overflow:hidden}
.analysis-title{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:0 0 14px;border-bottom:1px solid var(--line)}
.analysis-title b{display:block;font-size:18px;color:var(--ink)}
.analysis-title small{display:block;margin-top:3px;color:var(--muted);font-size:12px;font-weight:400}
.analysis-title span{flex:0 0 auto;color:#286b65;font-size:12px;font-weight:700}
.analysis-layout{flex:1;min-height:0;display:grid;grid-template-columns:minmax(420px,1.08fr) minmax(480px,.92fr);gap:22px;padding-top:18px}
.source-panel,.editor-panel{min-width:0;min-height:0;border:1px solid var(--line);border-radius:8px;background:#fff;overflow:hidden}
.source-panel{display:flex;flex-direction:column;background:#f7f9f8}
.analysis-panel-head{min-height:50px;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:0 16px;border-bottom:1px solid var(--line);background:#fff}
.analysis-panel-head b{font-size:14px;color:var(--ink)}
.analysis-panel-head span{color:var(--muted);font-size:12px}
.source-preview-stage{flex:1;min-height:0;padding:18px;display:grid;place-items:center;overflow:auto}
.question-preview{width:100%;height:100%;min-height:0;max-height:100%;object-fit:contain;object-position:center;background:#fff;border:1px solid #e0e6e3;border-radius:6px;padding:10px;display:block}
.editor-panel{display:flex;flex-direction:column}
.editor-fields{flex:1;min-height:0;padding:16px 18px 12px;overflow-y:auto;scrollbar-gutter:stable}
.question-fidelity-preview{margin:0 0 14px;border:1px solid #d6e0dc;border-radius:6px;background:#fff;overflow:hidden}.question-fidelity-head{display:flex;align-items:center;justify-content:space-between;gap:10px;min-height:36px;padding:0 11px;border-bottom:1px solid #dfe7e3;background:#f7f9f8}.question-fidelity-head b{font-size:13px;color:var(--ink)}.question-fidelity-head span{font-size:11px;color:var(--muted)}.question-worksheet{padding:18px 22px 20px;background:#fff;color:#27312f;font-family:'KaiTi','STKaiti','Microsoft YaHei',serif}.question-worksheet h3{margin:0 0 6px;font-size:18px;font-weight:700;letter-spacing:0}.worksheet-note{margin:0 0 14px;font-size:12px;color:#6c7774}.worksheet-list{display:grid;grid-template-columns:1fr 1fr;gap:15px 24px;margin:0;padding:0;list-style:none;counter-reset:worksheet}.worksheet-list>li{position:relative;min-height:112px;padding:9px 8px 8px 30px;border:1px solid #e7ece9;border-radius:4px;background:#fff}.worksheet-list>li::before{counter-increment:worksheet;content:counter(worksheet) '．';position:absolute;left:8px;top:9px;font-family:'Microsoft YaHei',sans-serif;font-size:13px;font-weight:700}.worksheet-visual{height:42px;display:flex;align-items:center;gap:9px;margin:0 0 11px}.worksheet-visual i{display:block;position:relative;flex:1;height:38px;border:1px dashed #aebdb8;border-radius:4px;background:#fcfdfc}.dot-groups i::after{content:'● ● ● ●';position:absolute;left:5px;top:8px;white-space:nowrap;font-family:Arial,sans-serif;font-size:12px;letter-spacing:1px;color:#475550}.cube-groups i::before{content:'□ □';position:absolute;left:7px;top:2px;white-space:nowrap;font-family:Arial,sans-serif;font-size:16px;letter-spacing:0;color:#475550}.cube-groups i::after{content:'□ □';position:absolute;left:7px;top:18px;white-space:nowrap;font-family:Arial,sans-serif;font-size:16px;letter-spacing:0;color:#475550}.balloon-groups{gap:12px}.balloon-groups i{flex:1;border:0;background:transparent}.balloon-groups i::before{content:'● ● ●';position:absolute;top:0;left:0;font-family:Arial,sans-serif;font-size:15px;color:#4f5a56}.balloon-groups i::after{content:'╲│╱';position:absolute;left:4px;top:17px;font-family:monospace;font-size:13px;color:#4f5a56}.pencil-story{position:relative;height:55px;margin:0 0 8px;padding:4px 0 0 4px;font-family:'Microsoft YaHei',sans-serif}.pencil-total{display:block;margin-left:34px;font-size:13px}.pencil-box{position:absolute;left:6px;top:22px;width:42px;height:26px;padding-top:2px;border:1px solid #788983;border-radius:2px;text-align:center;font-size:9px;line-height:10px}.pencil-brace{position:absolute;left:56px;top:26px;font-family:serif;font-size:34px;line-height:18px;transform:scaleX(2.8);transform-origin:left}.pencil-question{position:absolute;left:93px;top:41px;font-size:12px}.worksheet-equation{display:flex;align-items:center;gap:7px;min-height:31px;font-family:'Microsoft YaHei',sans-serif;font-size:17px}.worksheet-equation b{font-weight:500}.worksheet-equation em{font-size:12px;font-style:normal;color:#65716e}.answer-box{display:inline-flex;align-items:center;justify-content:center;width:32px;height:28px;border:1px solid #83938e;border-radius:2px;font-size:14px}.text-worksheet{min-height:170px}.worksheet-text{padding-top:10px;font-size:15px;line-height:1.8;white-space:normal}.ocr-proofread{border-top:1px solid #dfe7e3;background:#fff}.ocr-proofread summary{padding:9px 11px;color:#3f6560;font-size:12px;font-weight:700;cursor:pointer}.ocr-proofread[open] summary{border-bottom:1px solid #e4ebe7}.ocr-proofread>label{padding:10px 11px 0!important;margin:0!important}
.editor-fields>label,.analysis-fields label{display:flex;flex-direction:column;gap:7px;margin:0 0 14px;color:#4c5b58;font-size:13px;font-weight:700}
.analysis-fields{display:grid;grid-template-columns:154px minmax(0,1fr);gap:14px;margin:0}
.analysis-result textarea,.analysis-result select{width:100%;border:1px solid #d6e0dc;border-radius:6px;background:#fff;padding:10px 11px;color:var(--ink);font:inherit;font-size:14px;font-weight:400;line-height:1.65;resize:vertical}
.analysis-result select{height:44px;line-height:1.2;cursor:pointer}
.analysis-result textarea:focus,.analysis-result select:focus{outline:3px solid rgba(45,116,110,.16);border-color:#4d9385}
.editor-actions{flex:0 0 auto;display:flex;justify-content:flex-end;gap:10px;padding:14px 18px;border-top:1px solid var(--line);background:#fff}
.editor-actions .primary-btn{width:auto;min-width:130px;padding:11px 17px;background:#286b65;box-shadow:0 7px 15px rgba(45,116,110,.18)}
.editor-actions .primary-btn:hover{background:#1f5d57}
.analysis-workspace{display:grid;gap:14px}.analysis-scope{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 13px;border:1px solid #dce6e1;border-radius:6px;background:#f8fbf9}.analysis-scope b,.analysis-suggestion b{font-size:13px;color:#243633}.analysis-scope p,.analysis-suggestion p{margin:4px 0 0;color:#65736f;font-size:12px;line-height:1.55}.analysis-confidence{flex:0 0 auto;padding:5px 8px;border-radius:4px;background:#e5f3ec;color:#286b65;font-size:11px;font-weight:700;white-space:nowrap}.analysis-confidence.needs-review{background:#fff1df;color:#9a6824}.analysis-suggestion{padding:12px 13px;border-left:3px solid #d8a54c;background:#fffaf0}.analysis-workspace .analysis-fields{margin:0}.analysis-workspace>label{margin:0}.editor-actions #mark-review{border-color:#dbb97d;color:#8b6126}
.analysis-evidence{padding:12px 13px;border:1px solid #dce7e3;border-radius:6px;background:#fff}.analysis-evidence-head{display:flex;justify-content:space-between;gap:10px;align-items:baseline}.analysis-evidence-head b{font-size:13px;color:#243633}.analysis-evidence-head span{font-size:11px;color:#82918c}.analysis-evidence-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-top:9px}.analysis-evidence-item{display:grid;gap:3px;min-width:0;padding:8px 9px;border-radius:5px;background:#f6faf8}.analysis-evidence-item b{font-size:11px;color:#526762}.analysis-evidence-item span{font-size:12px;line-height:1.5;overflow-wrap:anywhere;word-break:break-word}.analysis-evidence-item.ready{background:#eef8f3}.analysis-evidence-item.warning{background:#fff6e8}.analysis-evidence-item.warning span{color:#9a6824}.analysis-evidence-item.muted{background:#f5f6f6}.analysis-evidence-item.muted span{color:#7a8985}
.detail-scan{display:block;width:100%;max-height:420px;object-fit:contain;object-position:left top;border:1px solid #e1e7e4;border-radius:5px;background:#fff}
.mistake-detail .detail-grid{grid-template-columns:minmax(380px,.95fr) minmax(420px,1.05fr);align-items:stretch;gap:18px}
.mistake-detail .detail-grid>div:first-child{grid-column:1;grid-row:1 / span 3;min-height:520px;display:flex;flex-direction:column}
.mistake-detail .detail-grid>div:first-child #detail-ocr{flex:1;min-height:0;display:flex;align-items:flex-start;justify-content:center;overflow:auto}
.mistake-detail .detail-grid>div:not(:first-child){grid-column:2;min-height:0}
.mistake-detail .detail-grid>div:not(:first-child) p{overflow-wrap:anywhere;word-break:break-word}
.mistake-detail .detail-grid>div:first-child .detail-scan{width:100%;height:auto;max-height:calc(100vh - 250px);object-fit:contain;object-position:center top}
@media(max-width:900px){.mistake-detail .detail-grid{grid-template-columns:minmax(300px,.9fr) minmax(320px,1.1fr);gap:14px}.mistake-detail .detail-grid>div:first-child{min-height:420px}}
@media(max-width:680px){.mistake-detail .detail-grid{grid-template-columns:1fr}.mistake-detail .detail-grid>div:first-child{grid-column:1;grid-row:auto;min-height:0}.mistake-detail .detail-grid>div:not(:first-child){grid-column:1}.mistake-detail .detail-grid>div:first-child .detail-scan{max-height:62vh}}
#confirm-ocr{display:none!important}label:has(#confirm-ocr){display:none!important}
.analysis-result+.modal-tip{flex:0 0 auto;max-width:none;margin:14px 0 0;padding:9px 12px}
@media(max-width:1050px){.camera-modal:has(.analysis-result:not([hidden])){width:min(960px,calc(100vw - 28px));height:calc(100vh - 28px);padding:20px}.analysis-layout{grid-template-columns:minmax(330px,.9fr) minmax(410px,1.1fr);gap:16px}.analysis-panel-head span{display:none}.editor-fields{padding:14px}.analysis-fields{grid-template-columns:130px minmax(0,1fr)}}
@media(max-width:760px){.modal-backdrop:has(.analysis-result:not([hidden])){padding:0}.camera-modal:has(.analysis-result:not([hidden])){width:100%;height:100vh;border-radius:0;padding:18px 14px 12px}.camera-modal:has(.analysis-result:not([hidden])) .modal-head{margin-bottom:12px}.analysis-title{align-items:flex-start}.analysis-title small{max-width:240px}.analysis-title span{font-size:11px;text-align:right}.analysis-layout{display:flex;flex-direction:column;overflow:auto;padding-top:12px}.source-panel{flex:0 0 42vh;min-height:260px}.editor-panel{flex:0 0 auto;overflow:visible}.editor-fields{overflow:visible}.editor-actions{position:sticky;bottom:0}.analysis-fields{grid-template-columns:1fr}.analysis-result+.modal-tip{display:none}.question-preview{padding:6px}}

/* Once OCR results are available, use the whole desktop viewport as a review workspace. */
@media(min-width:761px){
  .modal-backdrop:has(.analysis-result:not([hidden])){padding:0}
  .camera-modal:has(.analysis-result:not([hidden])){width:100vw;height:100vh;border-radius:0;padding:26px clamp(24px,2.5vw,48px) 18px}
}

/* Count-preserving redraw for the supported picture-calculation worksheet. */
.cube-groups i::before{content:'□ □ □';left:5px;top:1px;font-size:13px}.cube-groups i::after{content:'□ □ □';left:5px;top:20px;font-size:13px}.balloon-groups i::before{content:'● ● ●\A ● ● ●';top:0;left:0;white-space:pre;font-size:12px;line-height:11px}.balloon-groups i::after{left:5px;top:22px;font-size:12px}

/* Material routing and correction evidence. */
.billing-backdrop[hidden]{display:none!important}.billing-close{position:absolute;z-index:2;right:14px;top:12px;width:36px;height:36px;border:0;border-radius:6px;background:#fff;color:#697a91;font-size:26px;line-height:1;cursor:pointer;pointer-events:auto}.billing-close:hover{background:#edf6f3;color:#267f75}.billing-preview-note{grid-column:1/-1;padding:10px 12px;border:1px solid #dce8e4;border-radius:6px;background:#f8fbfa;color:#6a7e79;font-size:12px}.billing-plan button:disabled{border-color:#d9e2df;background:#f6f8f7;color:#899791;cursor:default}
.membership-trigger{width:100%;display:flex;align-items:center;gap:9px;padding:12px 9px 14px;border-bottom:1px solid var(--line);text-align:left}.membership-trigger>span{color:#267f75;font-size:18px}.membership-trigger b{display:block;font-size:12px}.membership-trigger small{display:block;margin-top:3px;color:#82918d;font-size:10px}.membership-trigger i{margin-left:auto;color:#92a39f;font-size:18px;font-style:normal}.billing-backdrop{position:fixed;inset:0;z-index:50;display:grid;place-items:center;padding:20px;background:rgba(30,47,43,.4)}.billing-modal{position:relative;width:min(850px,100%);max-height:calc(100vh - 40px);overflow:auto;padding:30px;background:#fff;border:1px solid #dbe8e3;border-radius:10px;box-shadow:0 24px 70px rgba(24,45,40,.24)}.billing-modal header>p{margin:0 0 7px;color:#267f75;font-size:12px;font-weight:700}.billing-modal h2{margin:0;font-size:23px}.billing-balance{display:flex;align-items:center;gap:14px;flex-wrap:wrap;margin:20px 0;padding:14px 16px;background:#eef7f4;border:1px solid #d5eae2;border-radius:7px;color:#526965;font-size:12px}.billing-balance strong{font-size:25px;color:#267f75}.billing-plans{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.billing-plan{position:relative;padding:18px;border:1px solid #dce7e3;border-radius:8px;background:#fff}.billing-plan.recommended{border-color:#267f75;box-shadow:0 6px 18px rgba(38,127,117,.1)}.billing-plan .tag{position:absolute;right:10px;top:10px;padding:3px 6px;border-radius:4px;background:#e5f3ee;color:#267f75;font-size:10px;font-weight:700}.billing-plan h3{margin:0 0 8px;font-size:16px}.billing-price{margin:0;color:#267f75;font-size:27px;font-weight:800}.billing-price small{font-size:12px;font-weight:500}.billing-plan p{min-height:38px;margin:9px 0 15px;color:#71837f;font-size:11px;line-height:1.55}.billing-plan button{width:100%;padding:10px;border:1px solid #267f75;border-radius:6px;background:#fff;color:#267f75;font-weight:700}.billing-plan.recommended button{background:#267f75;color:#fff}.billing-note{margin:17px 0 0;color:#7a8c88;font-size:11px;line-height:1.6}.billing-orders{margin-top:18px}.billing-orders h3{margin:0 0 8px;font-size:13px}.billing-order{padding:10px 12px;background:#fafcfb;border:1px solid #e4ece9;border-radius:6px;color:#5f716d;font-size:12px}.billing-order b{color:#314945}@media(max-width:680px){.billing-backdrop{padding:0}.billing-modal{height:100vh;max-height:none;border-radius:0;padding:24px 18px}.billing-plans{grid-template-columns:1fr}.billing-modal h2{font-size:20px}}
.profile-mini.account-summary{width:100%;align-items:flex-start;margin-bottom:24px;text-align:left;transition:border-color .18s,background .18s}.profile-mini.account-summary:hover{border-color:#c9ded7;background:#f4f8f6}.account-copy{min-width:0;flex:1}.profile-mini .account-copy b{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.profile-mini .account-copy small{display:block;margin-top:6px;padding-top:6px;border-top:1px solid #e7eeeb;color:#267f75;font-size:10px;line-height:1.2}.profile-mini .account-arrow{margin-top:7px;font-size:20px;color:#76908a}.billing-account{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin:18px 0 -8px;color:#60736f}.billing-account-avatar{width:31px;height:31px;display:grid;place-items:center;border-radius:50%;background:#ffe4dc;color:#ba6757;font-size:13px;font-weight:700}.billing-account-copy{min-width:90px}.billing-account b,.billing-account span{display:block}.billing-account b{font-size:13px;color:#314945}.billing-account-copy>span{margin-top:3px;font-size:11px;color:#7d8e8a}.billing-account-actions{display:flex;gap:6px;margin-left:auto}.billing-account-actions button{border:1px solid #d7e5e0;border-radius:5px;background:#fff;padding:6px 8px;color:#38756d;font-size:11px;white-space:nowrap}.billing-account-actions button:hover{border-color:#267f75;background:#edf7f3}.billing-preview-result{display:flex;gap:8px;align-items:flex-start;padding:11px 12px;border:1px solid #d5e7e1;border-radius:6px;background:#f5faf8;color:#607671;font-size:12px;line-height:1.55}.billing-preview-result b{color:#276c63;white-space:nowrap}@media(max-width:680px){.billing-account{align-items:flex-start}.billing-account-actions{width:100%;margin-left:0}.billing-account-actions button{flex:1;padding:8px 5px;font-size:10px}}
.profile-mini .avatar{display:grid;place-items:center;margin-top:0;line-height:1;text-align:center}
.billing-account .billing-account-avatar{display:grid;place-items:center;margin:0;line-height:1;text-align:center}
.knowledge-mistake-content{margin:8px 0;color:#526965;font-size:12px;line-height:1.55}
.knowledge-image-thumb{display:block;width:100%;max-width:264px;height:148px;margin:13px 0 2px;overflow:hidden;border:1px solid #dce6e2;border-radius:7px;background:#f3f7f5}.knowledge-image-thumb img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .18s ease}.knowledge-image-thumb:hover img{transform:scale(1.025)}.knowledge-image-thumb:focus-visible{outline:3px solid rgba(45,116,110,.25);outline-offset:2px}@media(max-width:680px){.knowledge-image-thumb{max-width:none;height:166px}}
.knowledge-move{flex:0 0 auto;border:1px solid #d7e5e0;border-radius:5px;padding:5px 7px;color:#527a72;font-size:10px;font-weight:700}.knowledge-move:hover{border-color:#2d746e;background:#eef7f3}.knowledge-breadcrumb{display:flex;align-items:center;gap:5px;overflow:auto;padding:7px 5px 10px;color:#7b8d88;font-size:11px;white-space:nowrap}.knowledge-breadcrumb button{color:#2d746e;font-size:11px}.knowledge-breadcrumb button:hover{text-decoration:underline}.knowledge-breadcrumb span{color:#abb8b4}.knowledge-create-name select{width:100%;height:38px;border:1px solid var(--line);border-radius:6px;padding:0 9px;background:#fff;color:var(--ink);font:inherit;font-weight:400}@media(max-width:680px){.knowledge-move{padding:5px;font-size:10px}.knowledge-entry{gap:3px}.knowledge-breadcrumb{font-size:10px}}
.material-type-picker{display:grid;grid-template-columns:minmax(0,1fr) minmax(142px,46%);gap:12px;align-items:center;width:100%;max-width:420px;min-height:58px;margin:0 auto 9px;padding:8px 10px 8px 13px;border:1px solid #dce7e3;border-radius:8px;background:#fff;color:#40534f;font-size:12px;text-align:left}.material-type-picker .picker-copy{display:grid;gap:3px;min-width:0}.material-type-picker .picker-copy b{color:#294640;font-size:13px;line-height:1.2}.material-type-picker .picker-copy small{color:#81918c;font-size:10px;font-weight:400;line-height:1.3}.material-type-picker select{width:100%;min-width:0;border:1px solid #e0ebe7;background:#f7fbf9;border-radius:6px;padding:7px 28px 7px 9px;color:#286b65;font-size:12px;font-weight:700}.correction-proof{display:grid;grid-template-columns:1fr 1fr 180px;gap:12px;margin-top:15px}.correction-proof label{display:flex;flex-direction:column;gap:6px;color:#4c5b58;font-size:12px;font-weight:700}.correction-proof textarea,.correction-proof select{width:100%;border:1px solid #d6e0dc;border-radius:6px;background:#fff;padding:8px 9px;color:var(--ink);font:inherit;font-size:13px;line-height:1.5;resize:vertical}.correction-proof select{height:38px;resize:none}@media(max-width:680px){.correction-proof{grid-template-columns:1fr}.material-type-picker{max-width:none}}

/* Keep knowledge-card fields vertically aligned in the compact editor dialog. */
.knowledge-create-dialog .knowledge-import-card{display:flex;flex-direction:column;gap:0;padding:26px 28px 24px}
.knowledge-card-editor{display:grid;grid-template-columns:minmax(0,1fr);gap:16px;margin:2px 0 20px}
.knowledge-editor-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;margin:0 30px 18px 0}.knowledge-editor-heading h2{margin:0 0 5px}.knowledge-editor-heading p{margin:0;color:var(--muted);font-size:12px;line-height:1.5}.knowledge-ai-generate{flex:0 0 auto;min-height:36px;border-color:#75a99d;color:#286b65;white-space:nowrap}.knowledge-ai-generate:hover{background:#eef8f4}.knowledge-ai-generate:disabled{opacity:.65;cursor:wait}
.knowledge-card-editor label{display:grid;grid-template-columns:minmax(0,1fr);gap:7px;margin:0;color:var(--ink);font-size:13px;font-weight:700;line-height:1.35}
.knowledge-card-editor input,.knowledge-card-editor textarea,.knowledge-create-name textarea{display:block;width:100%;min-width:0;border:1px solid var(--line);border-radius:6px;background:#fff;padding:9px 10px;color:var(--ink);font:inherit;font-size:14px;font-weight:400;line-height:1.5;outline:0;resize:vertical}
.knowledge-card-editor input{height:40px}
.knowledge-card-editor textarea{min-height:76px}
.knowledge-card-editor textarea[name=example],.knowledge-card-editor textarea[name=notes]{min-height:112px}
.knowledge-card-editor input:focus,.knowledge-card-editor textarea:focus,.knowledge-create-name textarea:focus{border-color:#70a99d;box-shadow:0 0 0 3px rgba(45,116,110,.12)}
.knowledge-create-dialog .knowledge-card-editor+.primary-btn{margin-top:0;min-height:44px}
@media(max-width:680px){.knowledge-create-dialog .knowledge-import-card{padding:22px 18px 18px}.knowledge-editor-heading{flex-direction:column;margin-right:28px}.knowledge-ai-generate{width:100%}.knowledge-card-editor{gap:14px}.knowledge-card-editor textarea{min-height:72px}}
.detail-backdrop{padding:0;align-items:stretch;justify-content:stretch}
.mistake-detail{width:100vw;height:100vh;max-width:none;max-height:none;border-radius:0;padding:clamp(28px,4vh,56px) clamp(28px,6vw,110px) 56px;box-shadow:none}
.mistake-detail h2{max-width:none}
@media(max-width:680px){.mistake-detail{width:100%;height:100%;padding:26px 18px 34px}}
/* Keep one scrollbar for the full-screen detail view. The backdrop owns scrolling;
   the dialog itself grows with its content instead of creating a nested scrollbar. */
.detail-backdrop{overflow:auto;align-items:flex-start}
.mistake-detail{height:auto;min-height:100vh;overflow:visible}
@media(max-width:680px){.mistake-detail{min-height:100vh;height:auto}}
/* Narrow screens: allow long OCR/AI text and action rows to shrink without horizontal overflow. */
@media(max-width:680px){
  .mistake-detail,.mistake-detail *,.camera-modal,.camera-modal *{min-width:0}
  .mistake-detail h2{font-size:21px;line-height:1.35;padding-right:28px;overflow-wrap:anywhere}
  .detail-meta{overflow-wrap:anywhere}
  .detail-grid>div{min-width:0}
  .detail-grid p{overflow-wrap:anywhere;word-break:break-word;white-space:pre-wrap}
  .detail-actions,.practice-tool-head,.editor-actions{display:flex;flex-wrap:wrap;gap:8px}
  .detail-actions .secondary-btn,.practice-tool-head button,.editor-actions button{flex:1 1 130px;min-width:0;white-space:normal}
  .analysis-title{gap:8px;flex-wrap:wrap}
  .analysis-title>div{min-width:0;flex:1 1 220px}
  .analysis-title small{display:block;overflow-wrap:anywhere}
  .analysis-mode{max-width:100%;white-space:normal;overflow-wrap:anywhere}
  .analysis-layout,.analysis-workspace,.analysis-fields,.editor-fields{min-width:0}
  .analysis-result textarea,.analysis-result select{max-width:100%;min-width:0;white-space:pre-wrap;overflow-wrap:anywhere;word-break:break-word}
  .question-chat-head span{overflow-wrap:anywhere}
  .question-chat-form{min-width:0}
  .question-chat-form textarea{min-width:0;width:100%}
  .question-chat-form button{min-width:64px;padding-left:9px;padding-right:9px;white-space:nowrap}
  .paper-review{padding:12px}
  .paper-review-head{align-items:flex-start;flex-direction:column}
  .paper-question select{float:none;display:block;max-width:100%;margin-top:8px}
  .paper-question small{display:block;overflow-wrap:anywhere;word-break:break-word}
  .analysis-evidence-grid{grid-template-columns:1fr}
  .analysis-evidence-head{align-items:flex-start;flex-direction:column;gap:2px}
}
/* The detail backdrop is the only scroll container while it is open. */
body.detail-open{overflow:hidden}
.table-row[hidden]{display:none!important}
/* Keep correction-proof fields aligned at every desktop width. */
.correction-proof{grid-template-columns:minmax(0,1fr) minmax(0,1fr) minmax(220px,.62fr);align-items:start}
.correction-proof label{min-width:0}
.correction-proof textarea,.correction-proof select{min-height:78px}
.correction-proof textarea{resize:vertical}
.correction-proof select{height:78px}
.proof-feedback{margin:10px 0 0;padding:10px 12px;border-radius:6px;font-size:12px;line-height:1.5}
.proof-retry{background:#fdf3f0;color:#a8442e;border:1px solid #f0d5cc}
.paper-review{margin-top:14px;border:1px solid #d8e4df;border-radius:8px;background:#fbfdfc;padding:16px}.paper-review-head{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:12px}.paper-review-head b{font-size:16px}.paper-review-head span{font-size:12px;color:#68756f}.paper-review-list{display:grid;gap:10px;max-height:430px;overflow:auto}.paper-question{border:1px solid #e6ebe8;border-left:4px solid #d9a22e;border-radius:6px;padding:12px;background:#fff}.paper-question.suspect{border-left-color:#d96355}.paper-question.skip{opacity:.55}.paper-question label{display:inline-flex;align-items:center;gap:7px;font-size:13px}.paper-question select{float:right;height:30px;border:1px solid #d6e0dc;border-radius:5px;padding:0 7px;background:#fff}.paper-question p{margin:8px 0 4px;line-height:1.6;font-size:13px}.paper-question small{color:#68756f}.paper-question details{margin-top:8px;font-size:12px;color:#68756f}.paper-question details p{font-size:12px}.paper-review>button{margin-top:14px}.paper-review+.editor-panel{display:none!important}
.review-task-ready{border-left:3px solid #4f9a83}.review-task-ready .review-tag{max-width:110px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.review-workflow-note{font-size:12px;color:#68756f;margin-top:8px}

/* Capture review readability pass: keep the scan compact and give AI review the working space. */
@media(min-width:761px){
  .analysis-layout{grid-template-columns:minmax(260px,.62fr) minmax(0,1.38fr);gap:20px}
  .source-preview-stage{padding:16px}
  .question-preview{width:auto;height:auto;max-width:74%;max-height:74%;padding:7px;cursor:zoom-in;box-shadow:0 2px 8px rgba(36,54,51,.06)}
  .editor-fields{padding:18px 22px 16px}
  .analysis-workspace{gap:16px}
  .analysis-workspace .analysis-scope{padding:14px 15px}
  .analysis-workspace .analysis-fields{gap:16px}
  .analysis-workspace>label{gap:8px}
  .analysis-result textarea,.analysis-result select{font-size:16px;line-height:1.8;padding:12px 13px;white-space:pre-wrap;overflow-wrap:anywhere}
  #confirm-knowledge{min-height:86px}
  #confirm-explanation{min-height:220px}
  #confirm-reason{min-height:140px}
  .analysis-suggestion{padding:14px 15px}
  .analysis-scope p,.analysis-suggestion p{font-size:14px;line-height:1.8;overflow-wrap:anywhere}
}
@media(max-width:1050px) and (min-width:761px){
  .analysis-layout{grid-template-columns:minmax(220px,.55fr) minmax(0,1.45fr)}
  .question-preview{max-width:80%;max-height:70%}
  .analysis-result textarea,.analysis-result select{font-size:15px}
}
@media(max-width:760px){
  .question-preview{cursor:zoom-in;max-width:92%;max-height:92%;width:auto;height:auto}
  .analysis-result textarea{white-space:pre-wrap;overflow-wrap:anywhere;line-height:1.75}
}
/* AI 解析应完整展开，错因判断保持紧凑，避免用户反复拖动文本框滚动条。 */
#confirm-explanation{min-height:220px;overflow-y:hidden;resize:none}
#confirm-reason{min-height:64px;max-height:110px;overflow-y:hidden;resize:vertical}
.capture-image-lightbox{position:fixed;inset:0;z-index:40;display:flex;align-items:center;justify-content:center;padding:32px;background:rgba(20,28,26,.76);cursor:zoom-out}
.capture-image-lightbox[hidden]{display:none}
.capture-image-lightbox img{display:block;max-width:94vw;max-height:92vh;width:auto;height:auto;object-fit:contain;background:#fff;border:8px solid #fff;border-radius:4px;box-shadow:0 20px 60px rgba(0,0,0,.28);cursor:default}
.capture-image-lightbox button{position:absolute;right:22px;top:16px;width:42px;height:42px;border:0;border-radius:50%;background:rgba(255,255,255,.94);color:#2d4c47;font-size:28px;line-height:1;cursor:pointer}
.capture-image-lightbox button:hover{background:#fff;color:#1f5d57}
@media(max-width:680px){.capture-image-lightbox{padding:18px}.capture-image-lightbox img{max-width:94vw;max-height:86vh}.capture-image-lightbox button{right:12px;top:10px}}
.auth-modal .register-only[hidden]{display:none!important}
.question-analysis-chat{display:grid;gap:10px;padding:13px 14px;border:1px solid #d7e3df;border-radius:6px;background:#fbfdfc}
.analysis-evidence{padding:12px 13px;border:1px solid #d7e3df;border-radius:6px;background:#f8fbf9}.analysis-evidence-head{display:flex;justify-content:space-between;gap:10px;align-items:flex-start}.analysis-evidence-head b{font-size:13px;color:#294640}.analysis-evidence-head span{font-size:11px;color:#7b8986;text-align:right;overflow-wrap:anywhere}.analysis-evidence-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin-top:10px}.analysis-evidence-item{display:grid;gap:4px;min-width:0;padding:8px 9px;border-radius:5px;background:#fff;border:1px solid #e2ece8}.analysis-evidence-item b{font-size:11px;color:#71807e}.analysis-evidence-item span{font-size:12px;line-height:1.45;overflow-wrap:anywhere;word-break:break-word}.analysis-evidence-item.ready{border-color:#c9e4d8}.analysis-evidence-item.ready span{color:#286b65}.analysis-evidence-item.warning{border-color:#efd6a8;background:#fffaf1}.analysis-evidence-item.warning span{color:#9a6824}.analysis-evidence-item.muted span{color:#899692}.analysis-evidence .analysis-evidence-grid+div{margin-top:8px}@media(max-width:680px){.analysis-evidence-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.analysis-evidence-head{flex-direction:column}.analysis-evidence-head span{text-align:left}}
.question-chat-head{display:flex;align-items:baseline;justify-content:space-between;gap:12px}.question-chat-head b{font-size:14px;color:#263633}.question-chat-head span{font-size:12px;color:#7b8986}
.question-chat-messages{display:grid;gap:10px;min-height:360px;max-height:none;overflow:visible;align-content:start;padding:12px;background:#f1f6f4;border-radius:5px}.question-chat-message{display:grid;grid-template-columns:32px minmax(0,1fr);gap:10px;margin:0;padding:12px 14px;border-radius:5px;background:#fff;color:#344541;font-size:15px;line-height:1.85;overflow-wrap:anywhere;white-space:pre-wrap}.question-chat-message.user{background:#fff7e9}.question-chat-message b{color:#286b65}
.question-chat-form{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:stretch;gap:8px}.question-chat-form textarea{min-height:58px;max-height:110px;resize:vertical}.question-chat-form button,.question-chat-reparse{min-width:76px;padding:9px 13px;border:1px solid #286b65;border-radius:5px;background:#286b65;color:#fff;font:inherit;font-size:13px;font-weight:700;cursor:pointer}.question-chat-form button:disabled,.question-chat-reparse:disabled{opacity:.55;cursor:wait}.question-chat-reparse{justify-self:start;background:#fff;color:#286b65}
@media(max-width:680px){.question-analysis-chat{padding:11px}.question-chat-head{align-items:flex-start;flex-direction:column;gap:2px}.question-chat-form{grid-template-columns:1fr auto}.question-chat-messages{min-height:300px;max-height:none;overflow:visible;padding:9px}.question-chat-message{grid-template-columns:26px minmax(0,1fr);gap:7px;padding:10px;font-size:14px}}
.mistake-pagination{display:flex;align-items:center;justify-content:center;gap:16px;padding:14px;color:var(--muted);font-size:12px}.mistake-pagination[hidden]{display:none}.mistake-pagination button{min-height:36px;padding:0 13px;border:1px solid var(--line);border-radius:6px;background:#fff;color:var(--ink)}.mistake-pagination button:disabled{cursor:not-allowed;opacity:.45}.mistake-pagination button:not(:disabled):hover{border-color:var(--indigo);color:var(--indigo)}
@media(max-width:680px){.mistake-pagination{gap:9px;flex-wrap:wrap;padding:12px 8px}.mistake-pagination span{width:100%;text-align:center;order:-1}}

/* Recognition evidence panel */
.analysis-evidence{padding:12px 13px;border:1px solid #dce7e3;border-radius:6px;background:#fff}.analysis-evidence-head{display:flex;justify-content:space-between;gap:10px;align-items:flex-start}.analysis-evidence-head b{font-size:13px;color:#294640}.analysis-evidence-head span{font-size:11px;color:#9a6824;text-align:right;overflow-wrap:anywhere}.analysis-evidence-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin-top:10px}.analysis-evidence-grid div{padding:8px;border-radius:5px;background:#f6faf8}.analysis-evidence-grid small,.analysis-evidence-grid strong{display:block}.analysis-evidence-grid small{font-size:10px;color:#7b8986}.analysis-evidence-grid strong{margin-top:4px;font-size:13px;color:#286b65}.analysis-equations{margin:10px 0 0;padding:9px;background:#f8f7f1;border-radius:5px;white-space:pre-wrap;overflow-wrap:anywhere;font:inherit;font-size:12px;color:#4f5d58}.analysis-handwriting{margin:9px 0 0;font-size:12px;line-height:1.6;overflow-wrap:anywhere;color:#5c6d68}
@media(max-width:680px){.analysis-evidence-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.analysis-evidence-head{flex-direction:column}.analysis-evidence-head span{text-align:left}}
.capture-crop-modal .info-modal { width: min(92vw, 760px); }
.crop-stage { position: relative; max-height: 58vh; overflow: auto; background: #14201f; display: grid; place-items: center; padding: 12px; }
.crop-stage img { display: block; max-width: 100%; max-height: 54vh; object-fit: contain; user-select: none; }
.crop-box { position: absolute; left: 10%; top: 10%; width: 80%; height: 80%; min-width: 32px; min-height: 32px; border: 2px solid #f4c95d; background: rgb(244 201 93 / 12%); box-shadow: 0 0 0 9999px rgb(0 0 0 / 38%); cursor: move; touch-action: none; }
.crop-box i { position: absolute; width: 22px; height: 22px; border: 3px solid #fff; background: #f4c95d; border-radius: 50%; box-shadow: 0 1px 5px rgb(0 0 0 / 35%); z-index: 2; touch-action: none; }
.crop-box i[data-crop-handle="nw"] { left: -11px; top: -11px; cursor: nwse-resize; }
.crop-box i[data-crop-handle="ne"] { right: -11px; top: -11px; cursor: nesw-resize; }
.crop-box i[data-crop-handle="sw"] { left: -11px; bottom: -11px; cursor: nesw-resize; }
.crop-box i[data-crop-handle="se"] { right: -11px; bottom: -11px; cursor: nwse-resize; }
.capture-image-tools [data-capture-action="crop"], .capture-image-tools [data-capture-action="reanalyze"] { color: #267f75; }
.capture-angle-control { display: inline-flex; align-items: center; gap: 4px; color: #52635f; font-size: 11px; }
.capture-angle-control input { width: 56px; min-height: 30px; border: 1px solid #dce6e2; border-radius: 5px; padding: 3px 5px; color: #243633; }
@media (max-width: 640px) { .capture-image-tools { flex-wrap: wrap; } .capture-image-tools button, .capture-angle-control { min-height: 36px; } .crop-stage { max-height: 52vh; } }
