
    :root{--ink:#182638;--muted:#63758a;--line:#dfe7ef;--soft:#f5f8fb;--blue:#245ed7;--blue-soft:#eaf1ff;--teal:#087f68;--teal-soft:#e5f7f1;--red:#c33b36;--red-soft:#fff0ef;--gold:#a86b08;--gold-soft:#fff6df}
    *{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:#fff;color:var(--ink);font:15px/1.65 -apple-system,BlinkMacSystemFont,"Segoe UI","PingFang SC","Microsoft YaHei",sans-serif}
    a{color:inherit;text-decoration:none}button,select{font:inherit}button{cursor:pointer}.shell{width:min(1180px,calc(100% - 32px));margin:auto}
    .top{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:18px 0;border-bottom:1px solid var(--line)}
    .brand{display:flex;align-items:center;gap:11px;font-weight:800}.mark{width:32px;height:32px;display:grid;place-items:center;border-radius:10px;background:linear-gradient(135deg,#245ed7,#0b967a);color:#fff;font-weight:900}.brand small{display:block;color:var(--muted);font-size:11px;font-weight:600;letter-spacing:.12em;margin-top:1px}
    .top-links{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}.top-links a{padding:7px 11px;border:1px solid var(--line);border-radius:8px;color:var(--muted);font-size:13px}.top-links a:hover{border-color:#a7bce5;color:var(--blue);background:var(--blue-soft)}
    .hero{padding:48px 0 28px;display:grid;grid-template-columns:minmax(0,1.4fr) minmax(260px,.8fr);gap:32px;align-items:end}.eyebrow{margin:0;color:var(--blue);font-size:12px;font-weight:850;letter-spacing:.2em}.hero h1{margin:10px 0 12px;font-family:"Noto Serif SC","Songti SC",serif;font-size:clamp(34px,5vw,62px);line-height:1.12;letter-spacing:-.04em}.hero p{max-width:700px;margin:0;color:var(--muted);font-size:16px}.hero-aside{border-left:3px solid var(--teal);padding:6px 0 6px 18px;color:var(--muted);font-size:13px}.hero-aside strong{display:block;color:var(--ink);font-size:18px;margin-bottom:3px}.stats{display:flex;gap:8px;flex-wrap:wrap;margin-top:22px}.stat{padding:7px 11px;border:1px solid var(--line);border-radius:999px;color:var(--muted);font-size:12px;background:#fff}.stat b{color:var(--blue);margin-right:4px}
    .controls{position:sticky;top:0;z-index:10;padding:14px 0;background:rgba(255,255,255,.96);border-top:1px solid var(--line);border-bottom:1px solid var(--line);backdrop-filter:blur(8px)}.control-row{display:flex;align-items:center;gap:9px;flex-wrap:wrap}.control-label{color:var(--muted);font-size:12px;font-weight:750}.select{min-height:38px;padding:7px 32px 7px 11px;border:1px solid var(--line);border-radius:8px;background:#fff;color:var(--ink);outline:none}.select:focus{border-color:var(--blue);box-shadow:0 0 0 3px var(--blue-soft)}.btn{min-height:38px;padding:7px 13px;border:1px solid var(--line);border-radius:8px;background:#fff;color:var(--ink);font-weight:750;font-size:13px}.btn:hover{border-color:#a7bce5;background:var(--blue-soft);color:var(--blue)}.btn.primary{border-color:var(--blue);background:var(--blue);color:#fff}.btn.primary:hover{background:#1749b0;color:#fff}.btn.active{border-color:var(--teal);background:var(--teal-soft);color:var(--teal)}.grow{flex:1}.progress{color:var(--muted);font-size:12px;white-space:nowrap}.progress b{color:var(--ink)}
    .notice{margin:22px 0 0;padding:12px 14px;border-left:3px solid var(--gold);background:var(--gold-soft);color:#76500d;font-size:13px}.notice[hidden]{display:none}
    .bank{padding:26px 0 68px}.unit-heading{display:flex;align-items:baseline;gap:11px;margin:32px 0 10px;padding-bottom:8px;border-bottom:1px solid var(--ink)}.unit-heading:first-child{margin-top:0}.unit-heading h2{margin:0;font-family:"Noto Serif SC","Songti SC",serif;font-size:24px}.unit-heading span{color:var(--muted);font-size:12px}.unit-heading a{margin-left:auto;color:var(--blue);font-size:12px;font-weight:750}.q{padding:18px 0 20px;border-bottom:1px solid var(--line)}.q-head{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-bottom:8px}.q-no{color:var(--blue);font:800 12px ui-monospace,SFMono-Regular,Consolas,monospace;letter-spacing:.05em}.pill{display:inline-flex;align-items:center;padding:2px 8px;border-radius:999px;background:var(--soft);color:var(--muted);font-size:11px;font-weight:750}.pill.difficulty-基础{background:#edf5ff;color:#245ed7}.pill.difficulty-进阶{background:#eaf8f2;color:#087f68}.pill.difficulty-挑战{background:#fff1e6;color:#a9530a}.q-stem{margin:0 0 12px;font-size:16px;font-weight:700;line-height:1.65}.options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;max-width:920px}.option{display:flex;align-items:flex-start;gap:9px;width:100%;padding:10px 12px;border:1px solid var(--line);border-radius:8px;background:#fff;text-align:left;color:var(--ink);line-height:1.55}.option:hover{border-color:#9eb9ed;background:var(--blue-soft)}.option.selected{border-color:var(--blue);background:var(--blue-soft);box-shadow:inset 0 0 0 1px var(--blue)}.option.correct{border-color:var(--teal);background:var(--teal-soft)}.option.wrong{border-color:var(--red);background:var(--red-soft)}.option-key{width:23px;height:23px;display:grid;place-items:center;flex:none;border-radius:6px;background:var(--soft);color:var(--muted);font:800 12px ui-monospace,SFMono-Regular,Consolas,monospace}.option.selected .option-key{background:var(--blue);color:#fff}.option.correct .option-key{background:var(--teal);color:#fff}.option.wrong .option-key{background:var(--red);color:#fff}.feedback{margin:11px 0 0;padding:11px 13px;border-left:3px solid var(--line);background:var(--soft);color:var(--muted);font-size:13px}.feedback.ok{border-left-color:var(--teal);background:var(--teal-soft);color:#16624f}.feedback.bad{border-left-color:var(--red);background:var(--red-soft);color:#87302d}.feedback strong{color:var(--ink)}.source{margin-top:5px;color:var(--muted);font-size:11px}
    .empty{padding:55px 0;text-align:center;color:var(--muted)}.empty strong{display:block;color:var(--ink);font-size:17px;margin-bottom:4px}.empty button{margin-top:13px}
    .result{display:flex;align-items:center;gap:24px;margin:18px 0 6px;padding:16px 0;border-bottom:1px solid var(--line)}.score{font:900 38px/1 ui-monospace,SFMono-Regular,Consolas,monospace;color:var(--blue)}.result p{margin:0;color:var(--muted);font-size:13px}.result b{color:var(--ink)}
    footer{padding:20px 0 40px;border-top:1px solid var(--line);color:var(--muted);font-size:12px;display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap}
    @media(max-width:760px){.hero{display:block;padding-top:34px}.hero-aside{margin-top:24px}.options{grid-template-columns:1fr}.top{align-items:flex-start}.top-links{display:none}.shell{width:min(100% - 24px,1180px)}.q-stem{font-size:15px}.result{align-items:flex-start;gap:14px}}

    @font-face{font-family:"ZCOOL XiaoWei";src:url("../fonts/Literature-XiaoWei-20260909.woff2") format("woff2");font-weight:400;font-display:swap}
    @font-face{font-family:"Noto Serif SC";src:url("../fonts/Literature-Serif-20260909.woff2") format("woff2");font-weight:400;font-display:swap}
    :root{--ink:#203a34;--muted:#69786e;--line:#dce4dd;--soft:#fafbf7;--blue:#315e4b;--blue-soft:#edf4ec;--teal:#315e4b;--teal-soft:#edf4ec;--red:#a84b3f;--red-soft:#fcf0ec;--gold:#8b6840}
    html{scroll-padding-top:150px}body{font:16px/1.85 "Noto Serif SC",serif;background:#fff}.shell{width:min(1180px,calc(100% - 64px))}button:focus-visible,a:focus-visible,select:focus-visible{outline:2px solid var(--blue);outline-offset:4px}.top{padding:22px 0}.brand{font:400 22px/1.5 "ZCOOL XiaoWei",serif;letter-spacing:.04em}.brand small{font:400 10px/1.4 "Noto Serif SC",serif}.mark{border-radius:2px;background:var(--blue);font-weight:400}.top-links{gap:20px}.top-links a{padding:0;border:0;border-radius:0}.hero{display:flex;align-items:end;justify-content:space-between;padding:44px 0 32px}.eyebrow{color:var(--gold);font-weight:400;letter-spacing:.25em}.hero h1{font:400 clamp(42px,5.5vw,68px)/1.25 "ZCOOL XiaoWei",serif;letter-spacing:.06em;margin:8px 0 0}.stats{gap:28px;margin:0}.stat{border:0;border-radius:0;padding:0;font-size:13px}.stat b{font:400 30px/1.2 "ZCOOL XiaoWei",serif;margin-right:7px}.controls{padding:15px 0}.select{min-width:0;max-width:100%;font-size:13px;border-radius:3px}.control-label{font-weight:400}#unitFilter{max-width:330px}.btn{border-radius:3px;font-weight:400}.btn:disabled{opacity:.45;cursor:default}.btn.primary:hover{background:#244d3b}.progress{font-size:12px}.bank{padding-top:24px}.unit-heading{gap:8px 14px;flex-wrap:wrap;padding-bottom:12px;margin-bottom:6px;border-bottom-color:var(--blue)}.unit-heading h2{font:400 30px/1.5 "ZCOOL XiaoWei",serif;overflow-wrap:anywhere}.unit-heading a{font-weight:400;white-space:nowrap}.q{padding:25px 0 27px;scroll-margin-top:160px}.q-head{gap:14px;margin-bottom:9px}.q-no{font:400 16px/1.5 "Noto Serif SC",serif;color:var(--gold)}.pill,.pill.difficulty-基础,.pill.difficulty-进阶,.pill.difficulty-挑战{background:none;border-radius:0;padding:0;font-size:12px;font-weight:400;color:var(--muted)}.pill.difficulty-挑战{color:var(--gold)}.q-stem{font-size:18px;line-height:1.9;font-weight:400;margin-bottom:16px;max-width:1020px}.options{max-width:none;gap:8px 24px}.option{border:1px solid transparent;border-bottom-color:var(--line);border-radius:2px;padding:11px 13px;font-size:15px;line-height:1.85;gap:12px;transition:background .16s,border-color .16s}.option:hover{background:var(--soft);border-color:var(--line)}.option.selected{box-shadow:none}.option-key{border-radius:0;background:none;color:var(--gold);font:400 13px/1.8 "Noto Serif SC",serif;width:18px;min-height:23px}.option.selected .option-key,.option.correct .option-key{background:none;color:var(--blue)}.option.wrong .option-key{background:none;color:var(--red)}.feedback,.feedback.ok,.feedback.bad{padding:10px 0 10px 16px;background:none;border-left-width:2px;font-size:14px;line-height:1.9;color:var(--muted);animation:reveal .2s ease-out}.feedback strong{font-weight:400;color:var(--blue)}.feedback.bad strong{color:var(--red)}.source{font-size:12px}.score{font:400 48px/1.1 "ZCOOL XiaoWei",serif}.result{padding:17px 0 23px;margin:0 0 24px}.empty strong{font-weight:400}footer{font-size:12px;padding:22px 0 36px}@keyframes reveal{from{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:none}}
    @media(max-width:760px){.shell{width:calc(100% - 32px)}.top{padding:16px 0}.brand{font-size:19px}.hero{padding:30px 0 24px;gap:18px}.hero h1{font-size:42px}.stats{gap:15px;padding-top:10px}.stat b{display:block;margin:0;font-size:25px}.controls{padding:11px 0}.control-row{gap:7px}.control-label{display:none}#unitFilter{width:100%;max-width:100%;flex:1 1 100%}.select{flex:1;min-width:0;font-size:12px}.grow{display:none}.btn{padding:6px 10px;font-size:12px}.progress{margin-left:auto}.unit-heading h2{width:100%;font-size:27px}.unit-heading span{flex:1}.unit-heading a{margin-left:0}.q{padding:22px 0}.q-stem{font-size:17px}.options{gap:6px}.option{font-size:14px;padding:10px}.score{font-size:40px}.source{overflow-wrap:anywhere}}
    @media(max-width:760px){#stageFilter,#difficultyFilter,#typeFilter{flex:1 1 calc(50% - 4px);min-width:120px}}
    .answer-missing{margin:9px 0;padding:9px 12px;border-left:2px solid var(--gold);background:var(--gold-soft);color:#76500d;font-size:13px}.teacher-answer-row{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin:8px 0 12px}.teacher-answer-row input{width:min(260px,100%);padding:8px 10px;border:1px solid var(--line);border-radius:2px;background:#fff;color:var(--ink)}.teacher-answer-row small{color:var(--muted)}.stage-compare{margin-top:10px;padding-top:10px;border-top:1px solid var(--line);color:var(--muted);font-size:13px}.stage-compare strong{color:var(--blue)}
    .teacher-teaching-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:14px}.teacher-teaching-actions .btn{min-height:34px}.teacher-answer-panel{display:none;margin-top:14px;padding:15px 16px;border-left:2px solid var(--teal);background:var(--soft);color:var(--muted);line-height:1.85}.teacher-answer-panel.show{display:block;animation:reveal .2s ease-out}.teacher-answer-panel h4{margin:0 0 5px;color:var(--blue);font-size:13px;font-weight:400}.teacher-answer-panel p{margin:0 0 12px}.teacher-answer-panel p:last-child{margin-bottom:0}.teacher-mode #stageLabel,.teacher-mode #stageFilter,.teacher-mode #submitBtn,.teacher-mode #resetBtn,.teacher-mode #wrongBtn{display:none}.teacher-mode #progressText{color:var(--teal)}.teacher-mode .options{display:grid}.teacher-mode .answer-field{display:none}.teacher-mode .q-stem{margin-bottom:4px}.teacher-mode .teacher-answer-row{margin-top:14px}
    .teacher-fullscreen{position:fixed;inset:0;z-index:100;background:#fff;display:none;flex-direction:column}.teacher-fullscreen.show{display:flex}.teacher-fs-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 22px;border-bottom:1px solid var(--line);flex-shrink:0}.teacher-fs-head strong{font:400 22px/1.35 "ZCOOL XiaoWei",serif;color:var(--ink)}.teacher-fs-actions{display:flex;gap:8px;flex-wrap:wrap}.teacher-fs-content{width:min(980px,calc(100% - 48px));margin:auto;flex:1;overflow:auto;padding:7vh 0 4vh}.teacher-fs-meta{color:var(--gold);font-size:13px;margin-bottom:16px}.teacher-fs-stem{font-size:clamp(24px,3.3vw,44px);line-height:1.7;color:var(--ink);margin-bottom:26px}.teacher-fs-steps{max-width:900px}.teacher-fs-step{padding:15px 0;border-top:1px solid var(--line);font-size:clamp(18px,2vw,28px);line-height:1.9;animation:reveal .22s ease-out}.teacher-fs-step strong{display:block;color:var(--blue);font-size:.58em;letter-spacing:.08em;margin-bottom:2px}.teacher-fs-nav{display:flex;align-items:center;justify-content:space-between;gap:12px;max-width:980px;margin:0 auto;padding:14px 0 22px;border-top:1px solid var(--line);width:min(980px,calc(100% - 48px))}.teacher-fs-nav span{color:var(--muted);font-size:13px}@media(max-width:760px){.teacher-fs-head{padding:12px 16px}.teacher-fs-head strong{font-size:18px}.teacher-fs-content,.teacher-fs-nav{width:calc(100% - 28px)}.teacher-fs-content{padding-top:5vh}.teacher-fs-stem{font-size:24px}.teacher-fs-step{font-size:18px}}
    .teacher-exercise-button{display:none}.teacher-exercise-button.ready{display:inline-flex}
    .exercise-import-dialog{width:min(680px,calc(100% - 28px));border:1px solid var(--line);border-radius:4px;background:#fff;color:var(--ink);padding:0;box-shadow:0 18px 55px rgba(24,38,56,.16)}
    .exercise-import-dialog::backdrop{background:rgba(24,38,56,.18)}.exercise-import-head{display:flex;align-items:center;justify-content:space-between;padding:17px 20px;border-bottom:1px solid var(--line)}.exercise-import-head h2{margin:0;font:400 25px/1.3 "ZCOOL XiaoWei",serif}.exercise-import-body{padding:20px}.exercise-import-body label{display:block;margin-bottom:13px;color:var(--muted);font-size:13px}.exercise-import-body input[type=file],.exercise-import-body input[type=text]{display:block;width:100%;margin-top:6px;padding:10px;border:1px solid var(--line);border-radius:3px;background:#fff;color:var(--ink)}.exercise-import-actions{display:flex;align-items:center;gap:9px;justify-content:flex-end;margin-top:18px}.exercise-import-status{margin-top:15px;padding:11px 13px;border-left:2px solid var(--teal);background:var(--soft);color:var(--muted);font-size:13px}.exercise-import-status:empty{display:none}.exercise-import-status.warn{border-left-color:var(--gold);background:var(--gold-soft)}.exercise-import-status.error{border-left-color:var(--red);background:var(--red-soft);color:var(--red)}.answer-field{display:block;width:min(100%,920px);margin:4px 0 10px;padding:10px 12px;border:1px solid var(--line);border-radius:2px;background:#fff;color:var(--ink);font:inherit;line-height:1.7;resize:vertical}.answer-field:focus{outline:2px solid var(--blue);outline-offset:2px}.question-image{display:block;max-width:min(100%,720px);max-height:420px;margin:8px 0 14px;object-fit:contain;object-position:left center}
    @media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{animation:none!important;transition:none!important}}
  
    .lesson-card-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:14px;margin:0 0 26px}.lesson-card{padding:16px 16px 14px;border:1px solid var(--line);background:#fff;min-width:0}.lesson-card-head{display:flex;justify-content:space-between;align-items:center;color:var(--blue);font-size:12px}.lesson-card-head b{font:700 18px ui-monospace,SFMono-Regular,Consolas,monospace}.lesson-card h2{margin:10px 0 2px;font:400 22px/1.45 "ZCOOL XiaoWei",serif;overflow-wrap:anywhere}.lesson-card small{color:var(--muted);font-size:12px}.lesson-card-links{display:flex;flex-wrap:wrap;gap:6px;margin-top:13px}.lesson-card-actions{display:flex;flex-wrap:wrap;gap:5px;width:100%;min-width:0}.lesson-card-actions .btn{padding:5px 8px;font-size:12px}.lesson-card-links>[data-unit-action=open]{flex:1}.teacher-mode .lesson-card{border-color:#b9cde9}.teacher-mode .lesson-card-actions{margin-top:4px}.lesson-push-revoke-actions{display:flex;flex:1 1 100%;min-width:0}.lesson-push-revoke-group{display:inline-flex;align-items:center;gap:4px;max-width:100%;min-width:0}.lesson-push-revoke-scope{min-height:32px;max-width:100%;min-width:0;padding:5px 24px 5px 8px;border:1px solid var(--line);border-radius:8px;background:#fff;color:var(--ink);font-size:12px}.lesson-push-revoke-group .btn{white-space:nowrap}.lesson-resource-list{margin-top:9px;border-top:1px solid var(--line)}.lesson-resource-list summary{padding:7px 0;color:var(--muted);font-size:12px;cursor:pointer}.lesson-resource-row{display:flex;align-items:center;justify-content:space-between;gap:8px;min-width:0;padding:7px 0;border-top:1px solid var(--line)}.lesson-resource-row>span{display:grid;min-width:0;flex:1}.lesson-resource-row strong,.lesson-resource-row small{overflow-wrap:anywhere}.lesson-resource-row .btn{flex:none;min-height:29px;padding:3px 7px;font-size:11px}@media(max-width:760px){.lesson-card-grid{grid-template-columns:1fr;gap:9px}.lesson-card{padding:12px}.lesson-card h2{font-size:19px}.lesson-card-links{gap:5px}.lesson-card-links .btn{font-size:11px;padding:5px 7px}.lesson-card-actions>.btn{flex:1 1 calc(50% - 3px)}.lesson-push-revoke-actions{flex-basis:100%}.lesson-push-revoke-group{width:100%}.lesson-push-revoke-scope{flex:1 1 auto}.lesson-push-revoke-group .btn{flex:0 0 auto}}
    [data-teacher-only]{display:none!important}.teacher-mode [data-teacher-only]{display:inline-flex!important}.lesson-teacher-activity{margin-top:14px;padding-top:11px;border-top:1px solid var(--line)}.lesson-teacher-activity>strong{display:block;margin-bottom:7px;color:var(--gold);font-size:12px;font-weight:400;letter-spacing:.08em}.lesson-resource-empty,.lesson-resource-summary{display:block;margin-top:8px;color:var(--muted);font-size:12px}.lesson-resource-list{display:grid;gap:6px;margin-top:9px}.lesson-resource-row{display:flex;justify-content:space-between;align-items:center;gap:8px;padding-top:7px;border-top:1px solid var(--line)}.lesson-resource-row>span{display:flex;align-items:center;gap:6px;min-width:0}.lesson-resource-row>span:first-child{display:grid;flex:1}.lesson-resource-row strong{font-size:12px;font-weight:400;overflow-wrap:anywhere}.lesson-resource-row .btn{min-height:29px;padding:3px 7px;font-size:11px}.exercise-view-nav{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 0;border-bottom:1px solid var(--line)}.exercise-view-nav[hidden]{display:none}.exercise-view-nav span{color:var(--muted);font-size:12px}.exercise-open #lessonCards{display:none}.formula-audit{margin:12px 0;padding:10px 0 4px;border-top:1px solid #e8caa8;border-bottom:1px solid #e8caa8;color:#76500d}.formula-audit>strong{display:block;margin-bottom:5px;font-weight:400}.formula-audit p{margin:4px 0;font-size:12px}.formula-audit b{color:var(--red);font-weight:400}.set-audit{margin-top:7px;color:#76500d;font-size:12px}.set-audit summary{cursor:pointer}.set-audit p{margin:6px 0;padding-left:9px;border-left:2px solid #e8caa8}.set-audit p small{display:block}.set-audit-ok{display:block;margin-top:5px;color:var(--teal)}
    .q,.q-stem,.option>span:last-child{min-width:0;max-width:100%}mjx-container[jax="SVG"]{display:inline-block!important;max-width:100%!important;overflow-x:auto!important;overflow-y:hidden!important;vertical-align:middle;box-sizing:border-box}mjx-container[jax="SVG"][display="true"]{display:block!important;width:100%!important}
    @media(max-width:760px){.top{flex-wrap:wrap}.top-links{display:flex;width:100%;justify-content:flex-start;overflow-x:auto;padding-bottom:2px}.lesson-card-grid{grid-template-columns:1fr}.lesson-resource-row{align-items:flex-start}.lesson-resource-row>span:last-child{flex-wrap:wrap;justify-content:flex-end}.exercise-view-nav{align-items:flex-start}}
