
:root{--ink:#203247;--muted:#65788b;--blue:#2d618d;--teal:#267b87;--bg:#f4f7fb;--line:#dce5ef;--nav:#192f44;--reading-size:17px}*{box-sizing:border-box}body{margin:0;color:var(--ink);background:var(--bg);font:14px "Microsoft YaHei UI","Microsoft YaHei","PingFang SC",sans-serif}button,input,textarea{font:inherit}button,a,input,textarea,summary{outline-offset:4px}button:focus-visible,a:focus-visible,summary:focus-visible{outline:2px solid var(--teal)}button{cursor:pointer;transition:background .15s,color .15s}button:disabled{opacity:.4;cursor:default}a{color:var(--blue)}h1,h2,h3,p{margin:0}h1,h2,h3{font-family:"Bahnschrift","DengXian","Microsoft YaHei",sans-serif}h1{font-size:34px;letter-spacing:-.7px;line-height:1.5;font-weight:650;margin:14px 0 12px}h2{font-size:21px;line-height:1.55;font-weight:650}h3{font-size:17px;line-height:1.8}small{font-size:12px}.mono,.week-no,.lesson-number,.timer,.eyebrow{font-family:"Cascadia Code","Consolas","Microsoft YaHei",monospace}.eyebrow{color:var(--teal);font-size:12px;letter-spacing:1px;font-weight:600}.muted{color:var(--muted);font-size:14px;line-height:1.9}.icon-button{display:inline-flex;align-items:center;justify-content:center;border:0;background:transparent;color:var(--muted);padding:7px;border-radius:6px}.icon-button:hover{background:#eaf0f7}.small-button{display:inline-flex;align-items:center;justify-content:center;gap:7px;border:1px solid var(--line);border-radius:6px;background:#fff;color:var(--ink);padding:8px 11px;font-size:13px;white-space:nowrap}.small-button:hover{background:#edf3f9}.primary-button{display:inline-flex;align-items:center;justify-content:center;gap:9px;border:1px solid #23527b;border-radius:7px;background:var(--blue);color:#fff;padding:12px 18px;font-size:14px;font-weight:600}.primary-button:hover{background:#214c70}.text-button{display:inline-flex;align-items:center;gap:7px;padding:6px 0;border:0;background:transparent;color:var(--blue);font-size:13px;text-decoration:none}.button-row{display:flex;gap:9px;flex-wrap:wrap}.pill{display:inline-flex;background:#e8f1fa;color:var(--blue);border:1px solid #cedeee;padding:4px 9px;border-radius:5px;font-size:12px}.pill.green{background:#eaf4ef;color:#2e7059;border-color:#d2e8dc}.pill.amber{background:#fff2dc;color:#96671e;border-color:#f2ddb4}.status-dot{display:inline-block;width:6px;height:6px;border-radius:50%;background:#3e8d76;flex-shrink:0}.amber-dot{background:#ba893e}
.study-shell{display:grid;grid-template-columns:266px minmax(0,1fr) 294px;grid-template-rows:76px minmax(0,1fr);height:100dvh;overflow:hidden}.study-shell.nav-hidden{grid-template-columns:minmax(0,1fr) 294px}.study-shell.notes-hidden{grid-template-columns:266px minmax(0,1fr)}.study-shell.nav-hidden.notes-hidden{grid-template-columns:minmax(0,1fr)}.topbar{grid-column:1/-1;display:flex;align-items:center;justify-content:space-between;padding:0 24px;border-bottom:1px solid var(--line);background:#fff;gap:22px;z-index:12}.brand{display:flex;align-items:center;gap:11px;flex-shrink:0}.brand-mark{display:grid;place-items:center;width:38px;height:42px;border:1px solid #b2cbdc;border-radius:8px;color:var(--blue);background:#ecf3f8}.brand strong{font-size:20px;font-family:"Bahnschrift",sans-serif;font-weight:650;letter-spacing:.5px}.brand strong span{font-size:17px;letter-spacing:1px}.brand small{display:block;font-size:10px;color:var(--muted);margin-top:4px;letter-spacing:1px}.top-context{display:flex;gap:9px;align-items:center;color:var(--muted);font-size:12px}.top-divider{height:12px;width:1px;background:var(--line);margin:0 4px}.header-actions{display:flex;gap:8px}.navigation{background:var(--nav);color:#c3d1de;display:flex;flex-direction:column;min-height:0;overflow:hidden}.nav-intro{padding:26px 24px 20px;border-bottom:1px solid #ffffff12}.nav-intro .eyebrow{color:#8cbbcd;font-size:11px}.nav-intro p{font-size:18px;line-height:1.7;margin:12px 0 18px;color:#c0ceda;font-weight:400}.nav-intro strong{font-weight:500;color:#fff}.progress-label{display:flex;justify-content:space-between;font-size:11px;color:#b1c5d7}.progress-track{height:3px;background:#ffffff18;margin:8px 0 11px;overflow:hidden}.progress-track span{display:block;height:100%;background:#83b8c9}.nav-intro>small{color:#8aa3b8;font-size:10px;font-family:"Consolas",monospace}.primary-nav{padding:15px 12px}.primary-nav button{display:flex;align-items:center;width:100%;gap:10px;padding:11px 12px;margin:2px 0;border:0;border-radius:5px;background:transparent;color:#b7c9d8;text-align:left;font-size:13px}.primary-nav button.active{color:#fff;background:#2a485f}.primary-nav button:hover{background:#ffffff0a;color:#fff}.nav-count{margin-left:auto;color:#9ebdce;font-size:11px}.nav-search{display:flex;align-items:center;gap:8px;margin:0 17px 12px;padding:9px;border:1px solid #ffffff19;border-radius:5px;color:#88a0b5}.nav-search input{min-width:0;width:100%;background:transparent;border:0;color:#e8f0f6;outline:0;font-size:12px}.nav-search input::placeholder{color:#88a0b5}.lesson-tree{overflow:auto;padding:0 10px 18px;flex:1;scrollbar-width:thin;scrollbar-color:#426079 transparent}.lesson-tree details>summary{display:flex;align-items:center;gap:8px;list-style:none;font-size:12px;padding:13px 8px;cursor:pointer;color:#b8cad8}.lesson-tree summary>span:nth-child(2){flex:1}.lesson-tree details:not([open]) summary>svg{transform:rotate(-90deg)}.week-no{color:#7796ae;font-size:10px}.tree-lesson{display:flex;align-items:flex-start;gap:9px;border:0;background:transparent;color:#a9bdcd;width:100%;text-align:left;padding:10px 8px 10px 12px;border-radius:5px;font-size:12px;line-height:1.75}.tree-lesson:hover{background:#ffffff09;color:#fff}.tree-lesson.selected{background:#304f67;color:#fff}.lesson-number{min-width:22px;font-size:10px;color:#82a0b6;line-height:21px}.lesson-number.done{color:#89c4ae}.tree-lesson>span:nth-child(2){flex:1}.tree-lesson small{font-size:9px;white-space:nowrap;opacity:.6;margin-top:3px}.nav-foot{padding:15px 22px;border-top:1px solid #ffffff12;display:flex;gap:9px;align-items:center;font-size:11px;color:#87a2b8}
.workspace{overflow:auto;scroll-behavior:smooth;min-width:0;scrollbar-width:thin;scrollbar-color:#becddd transparent}.workspace-toolbar{display:flex;align-items:center;justify-content:space-between;gap:15px;min-height:58px;padding:0 32px;border-bottom:1px solid #e5ecf4;background:#f8fafce8;position:sticky;top:0;z-index:5;backdrop-filter:blur(8px)}.breadcrumbs{display:flex;gap:9px;align-items:center;color:var(--muted);font-size:11px}.reading-tools{display:flex;align-items:center;gap:5px}.reading-tools button{background:transparent;border:0;padding:5px;color:var(--muted);font-size:11px;display:flex;align-items:center;gap:5px}.reading-tools .timer{background:#e9eff6;padding:6px 8px;border-radius:4px;color:var(--blue);margin-left:7px}.reading-tools .timer.running{background:#e4f1ed;color:#2f7761}.reading-column{max-width:920px;padding:34px 46px 24px;margin:auto}.reading-column.wide{max-width:1030px}.lesson-kicker{display:flex;align-items:center;gap:12px;color:var(--muted);font-size:11px;flex-wrap:wrap}.difficulty-dot{display:flex;gap:5px;align-items:center}.difficulty-dot::before{content:'';width:4px;height:4px;border-radius:50%;background:#c2944b}.suggested-date{margin-left:auto;font-family:"Consolas",monospace;color:#8391a1;font-size:10px}.lesson-lead{font-size:16px;color:#61778b;line-height:1.95;max-width:750px;margin:0 0 19px}.learning-facts{display:flex;align-items:center;gap:15px;padding-bottom:24px;font-size:11px;color:var(--muted);flex-wrap:wrap}.learning-facts>span{display:flex;align-items:center;gap:6px}.learning-facts .available{color:#397f6a;margin-left:auto}.course-blueprint{background:#eaf2f9;border:1px solid #d0dfed;border-radius:9px;padding:17px 20px;margin:5px 0 24px}.blueprint-label{font-size:12px;font-weight:600;color:#315f82;display:flex;justify-content:space-between;gap:10px}.blueprint-label small{font-weight:400;font-size:10px;color:#65809a}.blueprint-flow{display:flex;align-items:center;justify-content:space-between;margin-top:18px;gap:6px}.blueprint-flow>div{display:flex;align-items:center;gap:9px;flex:1}.blueprint-flow>div:last-child{flex:0 0 auto}.blueprint-flow button{border:1px solid #bccfe0;padding:10px 8px;border-radius:5px;background:#f9fcff;color:#2a587c;font-size:12px;white-space:nowrap;flex:1}.blueprint-flow button:hover{background:#d9e8f4}.blueprint-flow svg{color:#81a0b8;flex-shrink:0}.lesson-objectives{border-left:2px solid #84aebc;padding:1px 0 3px 16px;margin:26px 0}.lesson-objectives>.eyebrow{display:block;font-size:10px;margin-bottom:11px}.lesson-objectives>div{display:flex;align-items:center;gap:8px;font-size:13px;margin:10px 0;line-height:1.7}.lesson-objectives svg{color:#6b979e;flex-shrink:0}.agenda{display:grid;grid-template-columns:repeat(5,1fr);padding:19px 0 23px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);gap:10px;margin:27px 0}.agenda div{border-right:1px solid var(--line);padding-left:8px}.agenda div:last-child{border:0}.agenda strong{font-family:"Bahnschrift",sans-serif;display:block;font-size:23px;font-weight:500;color:#456783}.agenda strong small{font-size:10px;font-weight:400;color:#8393a3}.agenda div>span{display:block;font-size:10px;color:var(--muted);margin-top:5px}.recall-box{padding:18px 21px;border:1px solid #d2e4e6;background:#eff7f7;border-radius:7px;margin:27px 0}.recall-box>div{display:flex;align-items:center;gap:9px;color:#3c797e}.recall-box h2{font-size:16px}.recall-box>div>span{margin-left:auto;font-size:11px}.recall-box p{font-size:13px;color:#5d7b81;line-height:1.9;margin:10px 0}.recall-box .text-button{color:#2c777e}.section-jump{display:flex;gap:8px;flex-wrap:wrap;margin:28px 0 34px}.section-jump button{border:1px solid var(--line);border-radius:4px;background:transparent;font-size:11px;color:var(--muted);padding:8px}.section-jump button:hover{background:#e5eef7;color:var(--blue)}.lesson-section{margin:38px 0 46px;scroll-margin-top:80px}.section-heading{display:flex;align-items:center;gap:10px;margin-bottom:20px}.section-heading>span{font-family:"Consolas",monospace;font-size:17px;color:#7d99b1;display:flex;align-items:center}.section-heading h2{flex:1}.section-heading>small{color:#8193a4;font-size:11px;white-space:nowrap}.body-copy p{font-size:var(--reading-size);line-height:2.15;margin-bottom:19px;letter-spacing:.15px}.term{font:inherit;line-height:inherit;color:#276a8c;border:0;background:transparent;border-bottom:1px dashed #82a3ba;padding:0 1px;border-radius:0}.term:hover{background:#e3eef7}.callout{margin:22px 0;border:1px solid;border-radius:7px;padding:16px 18px;font-size:14px;line-height:1.95}.callout.key{display:flex;gap:11px;background:#eef4fb;border-color:#d1e1f0}.callout.key>svg{color:var(--blue);margin-top:4px;flex-shrink:0}.callout strong{font-size:12px}.callout p{margin-top:5px}.callout.key strong{color:var(--blue)}.callout.difficulty{background:#fff7e9;border-color:#edddbf}.callout.difficulty summary{display:flex;align-items:center;gap:9px;list-style:none;cursor:pointer;color:#956c2e}.callout.difficulty summary>svg:last-child{margin-left:auto}.callout.difficulty p{margin-top:11px;color:#6f6048}.callout.difficulty .term{color:#85632d;border-color:#b7a17d}.practice{display:flex;gap:11px;padding:16px 0 0;line-height:1.9;color:#637a8d;font-size:13px}.practice>svg{flex-shrink:0;color:#8099ac;margin-top:4px}.practice strong{font-size:12px;color:#42667e}.practice p{margin:5px 0}.quiz-section{border-top:1px solid var(--line);padding-top:32px;scroll-margin-top:80px}.question{padding:26px 0;border-bottom:1px solid var(--line)}.question h3{display:flex;gap:10px;font-size:15px;margin-bottom:14px;font-weight:500}.question h3>span{color:#86a0b5;font-family:"Consolas",monospace}.choices{display:grid;gap:8px}.choices button{display:flex;gap:11px;align-items:center;text-align:left;background:#fff;border:1px solid var(--line);border-radius:6px;padding:11px 13px;font-size:13px;line-height:1.8;color:#415c73}.choices button>span{font-family:"Consolas",monospace;font-size:11px;color:#8ca2b4;align-self:flex-start;margin-top:1px}.choices button>svg{margin-left:auto;flex-shrink:0}.choices button:hover{background:#eaf2f9}.choices button.correct{background:#edf7f1;border-color:#94c5ab;color:#2e7356}.choices button.incorrect{background:#fff2ed;border-color:#d9a990;color:#9c573b}.answer-explanation{padding:13px 16px;border-radius:6px;margin-top:12px;font-size:13px;line-height:1.9;background:#eef5f1;color:#4e7362}.answer-explanation.incorrect{background:#f8f0e9;color:#8b634b}.answer-explanation strong{font-size:11px}.answer-explanation p{margin-top:6px}.oral-section{margin:35px 0}.oral-section>p{font-size:16px;line-height:1.9}.oral-input{width:100%;min-height:105px;resize:vertical;background:#fff;border:1px solid var(--line);padding:13px;border-radius:6px;margin:17px 0 10px;line-height:1.9;color:var(--ink);font-size:14px}.rubric{background:#eaf1f8;border-radius:6px;padding:15px;margin-top:14px;font-size:13px;line-height:1.9}.rubric>p{color:var(--muted);font-size:12px;margin-bottom:10px}.rubric label{display:flex;align-items:flex-start;gap:9px;margin:9px 0}.rubric input{margin-top:5px;accent-color:var(--blue)}.summary-section{margin:35px 0;padding:27px 25px;border:1px solid #bcd2e1;border-radius:8px;background:#eaf2f8}.summary-section h2{margin:8px 0 16px}.summary-section>p{display:flex;gap:12px;font-size:14px;line-height:1.95;margin:11px 0}.summary-section>p>span{color:#7a9bb2;font-family:"Consolas",monospace}.summary-section>small{display:block;color:#647f93;line-height:1.8;margin-top:15px}.completion-row{display:flex;align-items:center;gap:17px;flex-wrap:wrap;margin-top:23px}.completion-row>span{font-size:12px;color:#51728b}.references-section{margin:38px 0}.references-section>h2{font-size:18px;margin-bottom:10px}.reference{display:flex;align-items:flex-start;gap:11px;padding:17px 0;border-bottom:1px solid var(--line);line-height:1.8;font-size:12px}.reference>svg{color:#829caf;flex-shrink:0;margin-top:3px}.reference>div{flex:1;min-width:0}.reference strong{font-size:12px;font-weight:500}.reference p{font-size:11px;color:var(--muted);margin-top:4px}.reference small{font-size:10px;color:#8a97a6;display:block;margin-top:5px}.reference .small-button{font-size:10px;padding:5px 7px;margin-top:3px}.lesson-pagination{display:flex;align-items:center;justify-content:space-between;border-top:1px solid var(--line);padding-top:24px;color:#8495a5;font-size:11px}.lesson-pagination button{display:flex;align-items:center;gap:9px;background:transparent;border:0;color:var(--blue);font-size:12px;padding:7px 0}.workspace-footer{display:flex;justify-content:space-between;gap:14px;padding:28px 35px;border-top:1px solid var(--line);margin-top:22px;font-size:10px;color:#8a9cac;line-height:1.7}.connection-banner{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin:16px 28px 0;padding:12px 15px;background:#fff3df;border:1px solid #eed7b3;border-radius:5px;color:#8e6b36;font-size:12px;line-height:1.7}.connection-banner>span{flex:1}.connection-banner>a,.connection-banner>button{font-size:12px;color:#806136;white-space:nowrap;background:transparent;border:0;text-decoration:underline}.planned-lesson{margin:30px 0;padding:24px;border:1px dashed #bbcddb;border-radius:8px;line-height:1.95}.planned-lesson>svg{color:#7495b0;margin-bottom:12px}.planned-lesson>h2{font-size:21px;margin-bottom:13px}.planned-lesson>p{color:var(--muted)}.planned-lesson>.primary-button{margin-top:23px}
.notes-panel{background:#fffdf5;border-left:1px solid #e7e3d4;display:flex;flex-direction:column;min-height:0;padding:21px 21px 18px}.notes-heading{display:flex;align-items:center;justify-content:space-between}.notes-heading>div{display:flex;gap:8px;align-items:center;color:#8b764f}.notes-heading h2{font-size:14px;font-weight:500}.notes-course{font-size:10px;color:#9c8b6b;border-bottom:1px solid #ece5d5;padding:16px 0 14px}.notes-course span{display:block;font-size:12px;color:#7e735d;line-height:1.8;margin-top:7px}.note-tip{display:flex;gap:8px;padding:16px 0;color:#a38e66;font-size:11px;line-height:1.85}.note-tip>svg{flex-shrink:0;margin-top:3px}.notebook{width:100%;min-height:160px;flex:1;resize:none;border:0;outline:0;background:repeating-linear-gradient(transparent,transparent 29px,#d9d2bc55 29px,#d9d2bc55 30px);color:#645b46;line-height:30px;font-size:13px;padding:0 2px}.notebook::placeholder{color:#b0a48a}.notes-save{display:flex;align-items:flex-start;gap:7px;color:#9a8b6b;font-size:10px;line-height:1.8;margin:15px 0 10px}.notes-save .status-dot{margin-top:5px}.note-prompts{border-top:1px solid #eae4d4;padding-top:16px;margin:10px 0 17px}.note-prompts>strong{font-size:11px;font-weight:400;color:#8e8063}.note-prompts>button{display:flex;gap:7px;text-align:left;border:0;background:transparent;color:#96896e;font-size:11px;padding:10px 0 0;line-height:1.7}.note-prompts>button>span{color:#b3a484}.notes-actions{display:flex;gap:10px;justify-content:space-between;border-top:1px solid #eae4d4;padding-top:15px}.notes-actions .small-button{background:#fffdf7;border-color:#e6ddc9;color:#887953;font-size:11px}.notes-panel>.text-button{color:#937a49}
.plan-banner{display:flex;gap:14px;padding:20px;background:#eaf1f8;border:1px solid #d0deea;border-radius:8px;margin:26px 0;color:#426681}.plan-banner svg{flex-shrink:0}.plan-banner strong{font-size:14px;font-weight:500}.plan-banner p{font-size:12px;line-height:1.9;margin-top:9px;color:#75899b}.phase{margin:33px 0 40px}.phase-heading{display:flex;gap:15px;align-items:flex-start;margin-bottom:18px}.phase-heading>span{display:grid;place-items:center;width:31px;height:35px;color:#fff;border-radius:5px;flex-shrink:0;font-family:"Bahnschrift",sans-serif;font-size:17px;margin-top:3px}.phase-heading small{color:#8b9bac;font-size:10px}.phase-heading h2{font-size:20px;margin:3px 0}.phase-heading p{font-size:12px;color:var(--muted);line-height:1.9}.plan-week{border:1px solid var(--line);border-radius:7px;margin:10px 0;overflow:hidden;background:#fff}.plan-week>summary{display:flex;align-items:center;gap:12px;list-style:none;cursor:pointer;background:#f8fafd;padding:15px;font-size:13px}.plan-week>summary>span{font-size:11px;color:#8397aa;white-space:nowrap}.plan-week>summary>strong{font-weight:500;flex:1}.plan-week>summary>svg{color:#8ba0b1}.plan-lesson{display:flex;gap:12px;align-items:center;text-align:left;background:#fff;border:0;border-top:1px solid #eaf0f6;width:100%;padding:13px 16px;color:#4b647c;font-size:12px}.plan-lesson:hover{background:#eef4fa}.plan-lesson .mono{font-size:10px;color:#99acbc}.plan-lesson>span:nth-child(2){flex:1}.plan-lesson>small{font-family:"Consolas",monospace;color:#97a8b6;font-size:10px;white-space:nowrap}.plan-lesson>em{font-size:10px;font-style:normal;white-space:nowrap}.plan-lesson>em.ready{color:#43896f}.plan-lesson>em.pending{color:#a2afba}.review-stats{display:grid;grid-template-columns:repeat(3,1fr);border:1px solid var(--line);border-radius:8px;background:#fff;padding:25px 15px;margin:28px 0}.review-stats>div{display:flex;flex-direction:column;gap:7px;align-items:center;border-right:1px solid var(--line)}.review-stats>div:last-child{border:0}.review-stats strong{font-family:"Bahnschrift",sans-serif;font-size:31px;font-weight:500;color:#4d7b9a}.review-stats span{font-size:11px;color:var(--muted)}.flash-card{padding:30px;border:1px solid #c3d6e6;background:#fff;border-radius:12px;margin:27px 0;box-shadow:0 10px 30px #244b7105}.card-meta{display:flex;justify-content:space-between;gap:12px;color:#8ba0b3;font-size:10px;margin-bottom:30px}.flash-card h2{font-size:24px;line-height:1.85;margin-bottom:24px}.flash-card>.primary-button{margin:14px 0 24px}.flash-card>.text-button{display:flex;margin-top:20px}.card-answer{font-size:16px;line-height:2;background:#eef5fa;border-radius:7px;padding:22px;margin:15px 0 25px}.ratings{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin-top:14px}.ratings button{border:1px solid var(--line);background:#f5f8fb;border-radius:5px;padding:11px 5px;font-size:12px;color:#44677f}.ratings button:first-child{background:#fff3eb;color:#9a684a}.ratings button:last-child{background:#edf6f1;color:#47795e}.ratings small{display:block;font-size:9px;color:#8ca1b1;margin-top:8px}.empty-state{border:1px dashed #c6d5e1;border-radius:9px;text-align:center;padding:43px 26px;margin:27px 0;color:#7995ac}.empty-state>svg{margin:0 auto 18px}.empty-state h2{color:#496b85;font-size:21px;margin-bottom:15px}.empty-state p{font-size:13px;color:#7e91a3;line-height:1.95;max-width:500px;margin:0 auto 22px}.empty-state>.small-button{margin-left:10px}.review-method{font-size:14px;line-height:2;color:var(--muted);margin:35px 0}.review-method h2{margin-bottom:15px;color:#41647f;font-size:18px}.review-method p{margin:15px 0}.wrong-card{padding:24px;border:1px solid var(--line);border-radius:8px;background:#fff;margin:22px 0}.wrong-card>div{display:flex;gap:13px;align-items:center;font-size:11px;color:#8b9eae}.wrong-card>h2{font-size:17px;line-height:1.9;margin:18px 0}.wrong-card>details{padding:14px;background:#f0f5fa;border-radius:5px;font-size:13px;color:#56758e;line-height:1.95;margin-bottom:12px}.wrong-card summary{cursor:pointer;font-size:12px}.wrong-card details p{margin:10px 0}.source-role{margin:30px 0;padding-bottom:26px;border-bottom:1px solid var(--line);font-size:14px;line-height:2;color:#5e768a}.source-role>h2{font-size:20px;color:#385b77;margin-bottom:16px}.source-role>p{margin:16px 0}.source-role>small{display:block;color:#91a3b3;font-size:10px;margin-top:7px}
.cylinder-lab{padding:23px;border:1px solid #b8d1e1;border-radius:9px;background:#f6fbfe;margin:36px 0}.cylinder-lab>p{font-size:12px;line-height:1.9;color:#708ba0}.lab-body{display:grid;grid-template-columns:1.25fr 1fr;gap:17px;align-items:center;margin:22px 0}.lab-body svg{width:100%;height:auto}.lab-controls{display:grid;gap:22px}.lab-controls label{display:block}.lab-controls label>span{display:flex;justify-content:space-between;font-size:11px;color:#6f8a9f}.lab-controls label strong{color:#336b8e;font-weight:500;font-family:"Consolas",monospace;font-size:12px}.lab-controls input{display:block;width:100%;accent-color:#4a8aa1;margin-top:13px}.lab-results{display:grid;grid-template-columns:1fr 1fr;gap:20px;border-top:1px solid #d4e3ed;padding-top:18px}.lab-results>div>span{display:block;font-size:11px;color:#6a8aa1}.lab-results strong{display:block;font-family:"Bahnschrift",sans-serif;font-size:27px;font-weight:500;color:#326d91;margin-top:7px}.lab-results strong small{font-size:12px;color:#8ca2b4}.lab-results>p{grid-column:1/-1;font-size:11px;line-height:1.9;color:#849aae}.modal-backdrop{position:fixed;inset:0;z-index:40;background:#122a405c;backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;padding:22px}.term-modal{position:relative;background:#fff;width:min(540px,100%);padding:34px;border-radius:12px;box-shadow:0 25px 85px #132a4122;max-height:85dvh;overflow:auto}.modal-close{position:absolute;right:14px;top:14px}.term-modal>h2{font-size:28px;margin:16px 0}.term-modal>p{font-size:16px;line-height:2;color:#526e86}.concept-example{background:#eef5fa;padding:18px;border-radius:7px;margin:23px 0;line-height:1.9;color:#4d7690;font-size:14px}.concept-example strong{font-size:12px}.concept-example p{margin-top:7px}.term-modal>small{display:block;font-size:11px;color:#91a3b1;line-height:1.9}.term-modal>.text-button{margin-top:20px}.toast{position:fixed;bottom:26px;left:50%;transform:translateX(-50%);z-index:60;max-width:calc(100% - 40px);padding:13px 22px;border-radius:7px;background:#203d55;box-shadow:0 8px 30px #213c5522;color:#fff;font-size:13px;line-height:1.8}.pdf-modal{width:min(1200px,98vw);height:92dvh;background:#fff;display:flex;flex-direction:column;border-radius:8px;overflow:hidden}.pdf-modal>header{display:flex;align-items:center;justify-content:space-between;padding:12px 20px;color:var(--muted);font-size:12px;gap:15px}.pdf-modal iframe{width:100%;flex:1;border:0;background:#dce5ef}
@media(min-width:1750px){.study-shell{grid-template-columns:280px minmax(0,1fr) 320px}.study-shell.nav-hidden{grid-template-columns:minmax(0,1fr) 320px}.study-shell.notes-hidden{grid-template-columns:280px minmax(0,1fr)}.reading-column{max-width:1000px;padding-top:44px}.notes-panel{padding-left:25px;padding-right:25px}}@media(max-width:1250px){.top-context{display:none}.study-shell{grid-template-columns:240px minmax(0,1fr) 260px}.study-shell.nav-hidden{grid-template-columns:minmax(0,1fr) 260px}.study-shell.notes-hidden{grid-template-columns:240px minmax(0,1fr)}.reading-column{padding:28px 30px}.workspace-toolbar{padding:0 24px}.notes-panel{padding:18px 16px}.course-blueprint{padding:15px}.blueprint-flow{gap:4px}.blueprint-flow>div{gap:4px}.blueprint-flow button{padding:9px 6px;font-size:11px}h1{font-size:29px}.agenda{gap:5px}.agenda div{padding-left:3px}}@media(max-width:1050px){.study-shell{grid-template-columns:240px minmax(0,1fr)}.study-shell.nav-hidden{grid-template-columns:minmax(0,1fr)}.notes-panel{position:fixed;right:0;top:76px;bottom:0;width:290px;z-index:15;box-shadow:-12px 0 36px #233e5915}.reading-column{max-width:850px}.breadcrumbs{font-size:10px}.learning-facts{gap:12px}.suggested-date{display:none}}@media(max-width:820px){.study-shell,.study-shell.notes-hidden{grid-template-columns:minmax(0,1fr);grid-template-rows:70px minmax(0,1fr)}.topbar{padding:0 15px;gap:12px}.brand{gap:9px}.brand-mark{height:34px;width:32px}.brand strong{font-size:18px}.brand strong span{font-size:15px}.brand small{font-size:8px;letter-spacing:.5px}.header-actions{gap:5px}.header-actions .small-button{padding:7px}.header-actions .small-button span{display:none}.navigation{position:fixed;left:0;top:70px;bottom:0;width:274px;z-index:18;box-shadow:12px 0 36px #233e5925}.notes-panel{top:70px;width:min(310px,90vw)}.workspace-toolbar{padding:0 17px;min-height:50px}.breadcrumbs{gap:4px;font-size:9px}.reading-tools{gap:2px}.reading-tools button{font-size:10px;padding:4px}.reading-tools .timer{margin-left:3px;padding:5px}.reading-column{padding:24px 21px}h1{font-size:27px;letter-spacing:-.5px}.lesson-lead{font-size:14px;line-height:1.95}.lesson-kicker{font-size:10px;gap:8px}.learning-facts{gap:10px;font-size:10px}.learning-facts .available{margin-left:0}.blueprint-flow{flex-wrap:wrap;justify-content:flex-start;gap:7px}.blueprint-flow>div{flex:0 0 auto;gap:7px}.blueprint-flow button{padding:8px 10px;font-size:11px}.blueprint-label{font-size:11px}.blueprint-label small{display:none}.agenda div>span{font-size:9px}.agenda strong{font-size:20px}.agenda strong small{font-size:8px}.body-copy p{font-size:calc(var(--reading-size) - 1px);line-height:2.1}.section-heading{gap:8px}.section-heading h2{font-size:19px}.section-heading>small{font-size:10px}.callout{padding:14px;font-size:13px}.summary-section{padding:23px 18px}.reference{gap:8px}.reference .small-button{font-size:9px;padding:5px}.workspace-footer{padding:23px 21px;font-size:9px;flex-direction:column}.plan-lesson{gap:9px;padding:12px;font-size:11px}.plan-lesson>small{display:none}.phase-heading h2{font-size:20px}.flash-card{padding:24px}.flash-card h2{font-size:21px}.ratings{grid-template-columns:repeat(2,1fr)}.plan-banner{padding:17px}.plan-banner strong{font-size:12px}.lab-body{grid-template-columns:1fr}.lab-body svg{max-width:400px;margin:auto}.lab-controls{gap:20px}.term-modal{padding:28px}.connection-banner{margin:12px 16px 0}.completion-row>.primary-button{font-size:13px}}@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}

@media(min-width:821px) and (max-width:1050px){
 .study-shell.nav-hidden:not(.notes-hidden){grid-template-columns:minmax(0,1fr) 280px}
 .study-shell.nav-hidden:not(.notes-hidden) .notes-panel{position:static;width:auto;box-shadow:none}
}
@media(max-width:820px){.header-actions .small-button span{display:inline;font-size:10px}}

/* Reading-focused palette: keep the study-room layout and learning data intact. */
:root {
  --ink: #1b2733;
  --muted: #435366;
  --blue: #214f78;
  --teal: #1e616d;
  --bg: #f6f8fb;
  --reading-size: 18px;
}

body { font-size: 15px; }
h1, h2, h3 {
  font-family: "Microsoft YaHei UI", "Microsoft YaHei", "PingFang SC", sans-serif;
  font-weight: 600;
  color: var(--ink);
}
.muted { font-size: 15px; }
.brand small, .top-context { font-size: 12px; }
.small-button, .text-button { font-size: 14px; }
.pill { font-size: 13px; }
.pill.green { color: #235c46; }
.pill.amber { color: #775015; }

/* Bright text on the existing navy navigation, rather than translucent labels. */
.navigation { color: #e1eaf3; }
.nav-intro .eyebrow { color: #b0d3df; font-size: 12px; }
.nav-intro p { color: #e1eaf3; }
.progress-label, .nav-intro > small, .nav-count, .nav-foot {
  color: #c1d2e1;
  font-size: 12px;
}
.primary-nav button { color: #e1eaf3; font-size: 14px; }
.nav-search { color: #c1d2e1; }
.nav-search input { font-size: 14px; }
.nav-search input::placeholder { color: #c1d2e1; opacity: 1; }
.lesson-tree details > summary { color: #e1eaf3; font-size: 14px; }
.week-no, .lesson-number { color: #c1d2e1; font-size: 12px; }
.lesson-number.done { color: #b0dfc9; }
.tree-lesson { color: #e1eaf3; font-size: 14px; line-height: 1.8; }
.tree-lesson small { color: #c1d2e1; font-size: 11px; opacity: 1; }
.tree-lesson.selected { color: #fff; }

/* Long-form content and its supporting explanations share a readable type scale. */
.breadcrumbs, .reading-tools button, .lesson-kicker,
.learning-facts, .suggested-date { color: var(--muted); font-size: 12px; }
.reading-tools button { min-width: 28px; min-height: 28px; }
.lesson-lead { color: #354658; font-size: 17px; line-height: 2; }
.learning-facts .available { color: #28634e; }
.body-copy p { color: var(--ink); font-size: var(--reading-size); line-height: 2; letter-spacing: .1px; }
.blueprint-label { color: var(--blue); font-size: 14px; }
.blueprint-label small { color: var(--muted); font-size: 12px; }
.blueprint-flow button { color: var(--blue); font-size: 13px; }
.lesson-objectives > .eyebrow { font-size: 12px; }
.lesson-objectives > div { font-size: 16px; line-height: 1.9; }
.agenda strong { color: #315573; }
.agenda strong small, .agenda div > span { color: var(--muted); font-size: 12px; }
.recall-box > div { color: #245c62; }
.recall-box h2 { font-size: 18px; }
.recall-box > div > span { font-size: 12px; }
.recall-box p { color: #304e54; font-size: 16px; }
.section-jump button { color: var(--muted); font-size: 13px; }
.section-heading > span { color: #466780; }
.section-heading > small { color: var(--muted); font-size: 12px; }
.term { color: #155777; border-bottom-color: #527e98; }
.callout { color: var(--ink); font-size: 17px; line-height: 2; }
.callout strong { font-size: 14px; font-weight: 600; }
.callout.difficulty summary { color: #714c17; font-weight: 600; }
.callout.difficulty p { color: #4b3e2b; }
.callout.difficulty .term { color: #714c17; }
.practice { color: #354b5e; font-size: 16px; }
.practice strong { color: var(--blue); font-size: 14px; }
.question h3 { font-size: 17px; font-weight: 600; }
.question h3 > span { color: #466780; }
.choices button { color: #253c50; font-size: 16px; }
.choices button > span { color: #4b6275; font-size: 13px; }
.choices button.correct { color: #20553d; }
.choices button.incorrect { color: #7d3c25; }
.answer-explanation { color: #2f5140; font-size: 16px; }
.answer-explanation.incorrect { color: #70462c; }
.answer-explanation strong { font-size: 14px; }
.oral-section > p { font-size: 18px; }
.oral-input { font-size: 16px; }
.oral-input::placeholder { color: #596879; opacity: 1; }
.rubric { font-size: 16px; }
.rubric > p { font-size: 15px; }
.summary-section > p { font-size: 17px; line-height: 2; }
.summary-section > p > span { color: #466780; }
.summary-section > small { color: #354b5e; font-size: 14px; }
.completion-row > span { color: #354b5e; font-size: 14px; }
.reference, .reference strong { font-size: 15px; }
.reference strong { font-weight: 600; }
.reference p { font-size: 14px; }
.reference small { color: var(--muted); font-size: 12px; }
.reference .small-button { font-size: 12px; }
.lesson-pagination { color: var(--muted); font-size: 13px; }
.lesson-pagination button { font-size: 14px; }
.workspace-footer { color: var(--muted); font-size: 12px; }
.connection-banner, .connection-banner > a, .connection-banner > button {
  color: #714c17;
  font-size: 14px;
}
.planned-lesson > p { font-size: 16px; }

/* Preserve the notebook's paper tint; deepen both ink and guidance text. */
.notes-heading > div { color: #51432c; }
.notes-heading h2 { color: #332d23; font-size: 17px; font-weight: 600; }
.notes-course { color: #62543d; font-size: 12px; }
.notes-course span { color: #3f372a; font-size: 14px; }
.note-tip { color: #62543d; font-size: 13px; }
.notebook { color: #292821; font-size: 16px; line-height: 32px; background: repeating-linear-gradient(transparent, transparent 31px, #d9d2bc55 31px, #d9d2bc55 32px); }
.notebook::placeholder { color: #6b6252; opacity: 1; }
.notes-save { color: #62543d; font-size: 12px; }
.note-prompts > strong { color: #51432c; font-size: 13px; font-weight: 600; }
.note-prompts > button { color: #51432c; font-size: 13px; }
.note-prompts > button > span { color: #6b6252; }
.notes-actions .small-button, .notes-panel > .text-button { color: #51432c; font-size: 13px; }

/* The same contrast applies when revisiting plans, concepts, and review cards. */
.plan-banner { color: #2d4d66; }
.plan-banner strong { font-size: 16px; }
.plan-banner p { color: var(--muted); font-size: 15px; }
.phase-heading small { color: var(--muted); font-size: 12px; }
.phase-heading p { font-size: 15px; }
.plan-week > summary { font-size: 15px; }
.plan-week > summary > span { color: var(--muted); font-size: 12px; }
.plan-lesson { color: #293f53; font-size: 15px; line-height: 1.8; }
.plan-lesson .mono, .plan-lesson > small { color: var(--muted); font-size: 12px; }
.plan-lesson > em { font-size: 12px; }
.plan-lesson > em.ready { color: #28634e; }
.plan-lesson > em.pending { color: #536171; }
.review-stats strong { color: #315573; }
.review-stats span, .card-meta { color: var(--muted); font-size: 13px; }
.card-answer { color: var(--ink); font-size: 18px; }
.ratings button { color: #2d4d66; font-size: 14px; }
.ratings button:first-child { color: #78482e; }
.ratings button:last-child { color: #2a593f; }
.ratings small { color: var(--muted); font-size: 12px; }
.empty-state { color: #466780; }
.empty-state p { color: var(--muted); font-size: 16px; }
.review-method, .source-role { color: #354b5e; font-size: 16px; }
.wrong-card > div { color: var(--muted); font-size: 13px; }
.wrong-card > details { color: #354b5e; font-size: 16px; }
.wrong-card summary { font-size: 14px; }
.source-role > small { color: var(--muted); font-size: 13px; }
.cylinder-lab > p { color: var(--muted); font-size: 15px; }
.lab-controls label > span, .lab-results > div > span { color: var(--muted); font-size: 14px; }
.lab-controls label strong { color: var(--blue); font-size: 14px; }
.lab-results strong small, .lab-results > p { color: var(--muted); font-size: 13px; }
.term-modal > p { color: var(--ink); font-size: 18px; }
.concept-example { color: #2d4d66; font-size: 16px; }
.concept-example strong { font-size: 14px; }
.term-modal > small { color: var(--muted); font-size: 14px; }
.pdf-modal > header { font-size: 14px; }

@media (max-width: 820px) {
  .brand small { font-size: 10px; letter-spacing: 0; }
  .brand strong { font-size: 17px; }
  .brand strong span { font-size: 15px; }
  .header-actions .small-button span { font-size: 12px; }
  .breadcrumbs { font-size: 11px; }
  .reading-tools button { font-size: 12px; }
  .lesson-lead { font-size: 17px; }
  .body-copy p { font-size: var(--reading-size); line-height: 2; }
  .section-heading { flex-wrap: wrap; }
  .section-heading h2 { min-width: 0; }
  .section-heading > small { font-size: 12px; }
  .blueprint-flow button { font-size: 13px; }
  .agenda { column-gap: 4px; }
  .agenda div > span { font-size: 11px; line-height: 1.7; }
  .agenda strong small { font-size: 11px; }
  .workspace-footer { font-size: 12px; }
  .lab-controls label > span { flex-wrap: wrap; gap: 6px; }
}

.public-notice{padding:12px 24px;background:#e8f3f4;border-bottom:1px solid #bcd7dc;color:#234b54;font-size:13px;line-height:1.8}.public-notice strong{margin-right:12px}.public-notice span{overflow-wrap:anywhere}@media(max-width:820px){.public-notice{padding:10px 16px;font-size:12px}}