.learning-main{max-width:1480px;padding:22px 36px 48px}.reader-book-links{margin-left:auto;display:flex;gap:8px}.reader-book-links button,.lesson-neighbors button{font-size:12px;background:white}.lesson-heading{display:flex;justify-content:space-between;align-items:center;gap:24px;padding:22px 0 26px}.lesson-heading h1{font-size:30px;line-height:1.5;letter-spacing:.2px;margin:10px 0}.lesson-heading p{font-size:13px;color:#8190a3;margin:0}.lesson-neighbors{display:flex;gap:8px;flex-shrink:0}.lesson-tabs{display:flex;gap:6px;padding:7px;background:#edf1f7;width:fit-content;border-radius:11px;margin:0 0 24px}.lesson-tabs button{border:0;background:transparent;color:#78879b;padding:10px 24px;font-size:14px}.lesson-tabs button.active{background:white;color:#315f9a;box-shadow:0 2px 8px #1b3a6210;font-weight:650}.study-shell{grid-template-columns:minmax(0,1fr) 370px;gap:24px}.reading-controls{padding:18px 26px}.mode-tabs button{font-size:13px;padding:9px 14px}.reading-intro{padding:20px 34px 0;line-height:1.7}.story{line-height:2.5;min-height:280px;padding:24px 34px 32px}.word{padding:5px 7px;margin:2px 1px}.exercise-token{display:inline;line-height:2.5}.exercise-hint{color:#536378;font-size:.9em}.exercise-field{display:inline-flex;align-items:center;position:relative;vertical-align:baseline;margin:0 5px}.exercise-field .blank{width:var(--blank-width);padding:8px 28px 8px 10px;min-height:37px;background:white;font-size:.85em}.exercise-field .blank.correct{border-color:#76b69b;background:#f0faf5}.exercise-field .blank.wrong{border-color:#d5938c;background:#fff5f3}.field-result{position:absolute;right:9px;font-size:17px;font-weight:650;pointer-events:none}.correct+.field-result{color:#318568}.wrong+.field-result{color:#bd6259}.field-answer{display:inline-flex;align-items:center;color:#b26b62;font-size:11px;gap:4px;vertical-align:baseline}.answer-word{border:0;background:#fff0ed;color:#a95f56;padding:3px 5px;font-size:12px}.locked-words{text-align:center;padding:48px 14px;color:#93a1b5}.locked-words>span{display:block;color:#6688b2;font-size:37px;background:#eef3fb;border-radius:16px;width:68px;line-height:68px;margin:0 auto 20px}.locked-words h3{font-size:16px;font-weight:550;color:#526d91}.locked-words p{font-size:13px;line-height:1.9}.locked-words small{font-size:11px}.vocab-card .icon-button{font-size:11px;min-width:26px}.vocab-meaning{font-size:13px}.example-en{font-size:13px}.example-zh{font-size:12px}.reference-pane{background:white;border:1px solid var(--line);border-radius:13px;padding:26px}.reference-tools,.notebook-tools{display:flex;gap:12px;align-items:center;flex-wrap:wrap}.reference-tools .search{width:360px;max-width:100%}.reference-tools>span{font-size:13px;color:#7e91ac;margin-right:auto}.reference-tools button,.notebook-tools button{font-size:12px}.vocabulary-table{font-size:14px;min-width:720px}.vocabulary-table th{background:#f1f5fa;font-size:12px;padding:16px}.vocabulary-table td{padding:18px 16px}.table-word{border:0;background:transparent;padding:0;color:#315f9a;font-size:16px;font-weight:650}.vocabulary-table .mini-actions button{font-size:12px;padding:5px 8px}.memory-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;margin-top:22px}.memory-card{border:1px solid #e2e9f2;border-radius:12px;overflow:hidden;background:#fcfdff}.memory-card .vocab-card{border:0;border-bottom:1px solid #e8edf4;border-radius:0;margin:0;padding:22px;background:transparent}.memory-content{padding:4px 22px 22px}.memory-content p{font-size:13px;color:#73839a;line-height:1.9;overflow-wrap:anywhere}.memory-content b{color:#526d91;font-weight:550}.memory-content label{display:block;color:#617a9a;font-size:12px;margin-top:18px}.memory-content textarea{display:block;width:100%;margin:8px 0;min-height:78px;resize:vertical;font:13px/1.7 inherit}.memory-content button{font-size:12px}.note-status{color:#43806d;font-size:11px;margin-left:10px}.notebook-tools .search{width:320px}.notebook-tools select{max-width:220px}.book-card{padding:24px;margin:0}.book-foot{display:flex;gap:8px;align-items:center;flex-wrap:wrap;border-top:1px solid #e8edf5;padding-top:16px;margin-top:16px}.book-foot button{font-size:12px}.book-foot a{font-size:12px;color:#6381a8;margin-left:auto;text-decoration:none}.mistake-meta{font-size:12px;color:#9a7a77;line-height:1.8}.mistake-meta span{color:#648c7c;white-space:nowrap}.quiz-correct{color:#318568}.quiz-wrong{color:#b3655e;line-height:1.8}.memory-grid .empty{grid-column:1/-1}.reader-top>span:nth-child(2){font-size:12px}.reading-pane{overflow:visible}.reading-controls{border-radius:13px 13px 0 0}.word-list{max-height:calc(100dvh - 190px)}
@media(max-width:1100px) and (min-width:900px){.study-shell{grid-template-columns:minmax(0,1fr) 320px}.learning-main{padding:20px}.mode-tabs button{padding:9px 10px}.story{padding-left:24px;padding-right:24px}}
@media(max-width:899px){.study-shell{grid-template-columns:1fr}.learning-main{padding:20px}.lesson-heading h1{font-size:26px}.lesson-neighbors{flex-direction:column}.memory-grid{grid-template-columns:1fr}.reference-pane{padding:20px}.reader-top{flex-wrap:wrap;gap:10px}.reader-book-links button{padding:6px 9px}.story{line-height:2.55}.reference-tools{gap:8px}.reference-tools .search{flex:1;min-width:200px}.lesson-tabs button{padding:9px 20px}.word-list{min-height:200px}}
@media(max-width:550px){.learning-main{padding:14px 12px 32px}.reader-top>span:nth-child(2){display:none}.lesson-heading{padding:14px 8px 22px;align-items:flex-start}.lesson-heading h1{font-size:23px;margin:8px 0 12px}.lesson-heading p{font-size:11px;line-height:1.8}.lesson-neighbors{display:none}.lesson-tabs{margin-bottom:18px;width:100%;justify-content:space-between}.lesson-tabs button{font-size:13px;flex:1;padding:10px 12px}.reading-controls{padding:12px}.mode-tabs{gap:2px}.mode-tabs button{font-size:12px;padding:9px 10px}.reading-intro{padding:16px 20px 0;align-items:flex-start;gap:8px}.reading-intro>span{max-width:65%;font-size:11px}.story{padding:20px;min-height:300px}.exercise-field .blank{max-width:185px;font-size:.85em;padding-top:8px;padding-bottom:8px}.exercise-hint{font-size:.9em}.reference-pane{padding:16px}.reference-tools .search{width:100%;flex-basis:100%}.reference-tools>span{font-size:11px}.memory-card .vocab-card{padding:18px}.memory-content{padding:2px 18px 18px}.notebook-tools .search{width:100%}.notebook-tools select{width:100%;max-width:none}.book-card{padding:20px}.study-completion{padding:0 16px 20px;gap:14px}.study-completion>div{display:flex;flex-wrap:wrap;gap:4px}.field-answer{font-size:10px}.brand small{display:none}nav button{font-size:11px;padding:6px 5px}.reference-pane .table-wrap{margin-bottom:0}}
@media print{header,.reader-top,.lesson-neighbors,.lesson-tabs,.reference-tools,.notebook-tools,.book-foot,.mini-actions,.source-link,#toast,#word-popover,dialog,.memory-content button{display:none!important}body,main,.reference-pane{background:white;max-width:none;padding:0;border:0}.table-wrap{overflow:visible}.vocabulary-table{min-width:0}.memory-grid{grid-template-columns:repeat(2,1fr)}.vocab-card,.memory-card,tr{break-inside:avoid}.book-card{border:1px solid #ddd}.lesson-heading h1{font-size:22px}.vocabulary-table th,.vocabulary-table td{padding:9px}.vocabulary-table th:last-child,.vocabulary-table td:last-child{display:none}}
/* Recall gently; revealing an answer is an explicit action. */
.exercise-field{vertical-align:baseline}.exercise-field .blank{padding-right:38px}.answer-hint{position:absolute;right:5px;top:50%;transform:translateY(-50%);display:grid;place-items:center;border:0;border-radius:50%;width:29px;height:29px;padding:0;background:#edf3ff;color:#477bbb;font-size:18px;line-height:1;cursor:pointer}.answer-hint:hover{background:#dbe8ff;color:#23599b}.answer-hint:focus-visible{outline:2px solid #477bbb;outline-offset:2px}.field-result{position:static;display:inline;right:auto;font-size:11px;font-weight:500;color:#9c8660;white-space:nowrap;pointer-events:none}.exercise-field .blank.retry{border-color:#c2aa7b;background:#fffcf5}.exercise-field .blank.hinted{border-color:#b9c7dd;background:#f3f6fb}.field-result:empty{display:none}.exercise-token{position:relative}.exercise-field .blank.wrong{border-color:#c2aa7b;background:#fffcf5}.exercise-token .word{vertical-align:baseline}
/* Course directories: each numbered chapter opens its story directly. */
.course-banner{display:grid;grid-template-columns:1fr 260px;gap:36px;padding:34px 38px;background:linear-gradient(125deg,#edf3fc,#f6f8fc);border:1px solid #dfe8f5;border-radius:18px;margin:26px 0 34px}.course-banner h1{font-size:32px;margin:12px 0 14px;line-height:1.4}.course-banner-copy>p{color:#73859c;font-size:14px;line-height:1.8;max-width:720px}.course-banner-meta{display:flex;gap:18px;flex-wrap:wrap;font-size:12px;color:#748da9;margin-top:22px}.course-progress-card{border-left:1px solid #d9e3f1;padding-left:30px;display:flex;flex-direction:column;justify-content:center;gap:12px}.course-progress-card>span{font-size:12px;color:#8898ad}.course-progress-card strong{font-size:36px;font-weight:600;color:#365f92}.course-progress-card small{font-size:14px;color:#8c9db3;font-weight:400}.course-progress-card progress{width:100%;height:5px;accent-color:#4878b5}.continue-lesson{display:inline-block;text-decoration:none;color:white;background:#386ba9;border-radius:8px;padding:11px 16px;font-size:13px;text-align:center;margin-top:7px}.continue-lesson:hover{background:#2b598f}.lesson-directory-heading{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:22px}.lesson-directory-heading h2{margin:0 0 8px;font-size:23px}.lesson-directory-heading p{margin:0;color:#8895a7;font-size:13px}.lesson-directory-actions{display:flex;gap:8px}.lesson-directory-actions button{font-size:12px;padding:9px 14px}.lesson-directory-tools{display:flex;align-items:center;gap:18px;flex-wrap:wrap;padding:17px 0;border-top:1px solid #e2e8f1;border-bottom:1px solid #e2e8f1;margin-bottom:22px}.lesson-directory-tools input{width:330px;background:white;padding:12px 15px;font-size:13px}.lesson-filter-tabs{display:flex;gap:4px}.lesson-filter-tabs button{border:0;background:transparent;font-size:12px;color:#91a0b4;padding:8px 12px}.lesson-filter-tabs button.active{background:#eaf0f9;color:#3c649b}.lesson-directory-tools>span{margin-left:auto;color:#91a1b6;font-size:12px}.lesson-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.lesson-row{display:flex;gap:18px;align-items:center;background:white;border:1px solid #e2e8f1;border-radius:12px;padding:22px 20px;text-decoration:none;color:inherit;transition:border-color .15s,box-shadow .15s}.lesson-row:hover{border-color:#97b3d8;box-shadow:0 5px 18px #315b8f0b}.lesson-row-number{display:grid;place-items:center;width:48px;height:52px;background:#edf3fc;border-radius:10px;font-size:20px;color:#7390b4;font-weight:550;flex-shrink:0}.lesson-row-copy{min-width:0;flex:1}.lesson-row-kicker{font-size:10px;letter-spacing:1px;color:#91a1b5}.lesson-row h3{margin:7px 0 10px;font-size:16px;line-height:1.65;font-weight:600;color:#334d6e;overflow-wrap:anywhere}.lesson-row-copy p{font-size:11px;margin:0;color:#93a1b2;line-height:1.8}.lesson-row-status{font-size:10px;white-space:nowrap;color:#98a6b8;align-self:flex-start;margin-top:4px}.lesson-row-status.done{color:#55977e}.lesson-row-status.ongoing{color:#4878b5}.lesson-row-arrow{font-size:18px;color:#96acc7}.lesson-list .empty{grid-column:1/-1}.directory-card small{letter-spacing:.5px}
@media(max-width:1000px){.lesson-list{grid-template-columns:1fr}.course-banner{grid-template-columns:1fr 220px;gap:20px;padding:28px}.lesson-directory-tools{gap:10px}.lesson-directory-tools input{width:290px}}
@media(max-width:650px){.course-banner{grid-template-columns:1fr;gap:22px;padding:24px;margin:22px 0 26px}.course-banner h1{font-size:27px}.course-banner-copy>p{font-size:13px}.course-progress-card{border-left:0;border-top:1px solid #d9e3f1;padding:18px 0 0;display:grid;grid-template-columns:1fr auto;gap:10px}.course-progress-card strong{grid-column:2;grid-row:1;font-size:26px}.course-progress-card progress{grid-column:1/-1}.continue-lesson{grid-column:1/-1}.lesson-directory-heading{flex-wrap:wrap;gap:16px}.lesson-directory-heading p{font-size:12px}.lesson-directory-actions{width:100%}.lesson-directory-tools input{width:100%}.lesson-filter-tabs button{font-size:11px;padding:8px 10px}.lesson-row{gap:12px;padding:18px 14px}.lesson-row-number{width:38px;height:44px;font-size:17px}.lesson-row h3{font-size:15px;margin-top:5px}.lesson-row-status{font-size:9px}.lesson-row-arrow{display:none}.course-banner-meta{font-size:11px;gap:10px}.lesson-directory-heading h2{font-size:21px}}
.zone-course-intro{margin:0 0 22px}.zone-course-intro h2{font-size:22px;margin:0 0 10px}.zone-course-intro p{font-size:13px;line-height:1.8;color:#8c99ac;margin:0}.zone-course-grid .directory-card{padding:30px;border-radius:14px;position:relative;background:linear-gradient(135deg,#fff,#f9fbff)}.zone-course-grid .directory-card h2{margin-top:14px;font-size:24px}.zone-course-grid .directory-card small{display:inline-block;background:#edf3fb;border-radius:20px;padding:5px 10px;color:#6e8fb4;font-size:11px}.zone-course-grid .directory-card-foot{margin-top:24px}.zone-course-grid .directory-card-foot span{font-size:19px;color:#567dab;font-weight:550}@media(max-width:650px){.zone-course-grid .directory-card{padding:24px}.zone-course-grid .directory-card h2{font-size:21px}}

.locked-words{text-align:left;padding:20px 0 16px;color:var(--muted)}.recall-empty-head{display:flex;align-items:center;gap:12px}.recall-empty-head>span{display:grid;place-items:center;width:44px;height:44px;flex:0 0 44px;border-radius:12px;background:var(--zone-soft,#f1ecfa);color:var(--zone,#7956b7);font-size:20px;font-weight:650}.locked-words .recall-empty-head small{font-size:10px;color:var(--muted);letter-spacing:.5px}.locked-words .recall-empty-head h3{font-size:16px;font-weight:650;color:var(--ink);margin:5px 0 0}.locked-words>p{font-size:12px;line-height:1.8;margin:16px 0;color:var(--muted)}.recall-empty-progress{display:flex;align-items:center;justify-content:space-between;padding:14px 16px;border:1px solid var(--line);border-radius:12px;background:#fafbfd;font-size:12px}.recall-empty-progress strong{font-size:23px;color:var(--zone,#7956b7)}.recall-empty-progress strong small{font-size:11px;font-weight:400;color:var(--muted)}.recall-empty-tip{display:flex;flex-direction:column;gap:5px;border-top:1px solid var(--line);margin-top:18px;padding-top:14px;font-size:11px;line-height:1.8}.recall-empty-tip b{color:var(--ink);font-weight:600}.recall-empty-tip span{color:var(--muted)}

.recall-waiting{padding:22px 0 12px}.recall-preview{padding:20px;border:1px dashed var(--line);border-radius:16px;background:linear-gradient(145deg,#fafbfe,#f5f4fa);margin:0 6px 24px;position:relative}.recall-preview-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}.recall-preview-top span{color:var(--zone,#7956b7);font-size:24px;font-weight:700;opacity:.65}.recall-preview-top i{font-style:normal;font-size:10px;color:#9992a5;background:white;border:1px solid #e7e3ef;border-radius:20px;padding:5px 9px}.recall-placeholder{height:7px;background:#e7e6ee;border-radius:10px;width:88%;margin:9px 0}.recall-placeholder-word{height:13px;width:48%;background:#d9d7e5}.recall-placeholder-meaning{width:65%;margin-top:13px}.recall-preview-example{padding:10px 12px;margin-top:20px;border-radius:9px;background:#ffffffb8}.recall-preview-example .recall-placeholder:last-child{width:64%}.recall-waiting-copy{text-align:center;padding:0 8px}.recall-waiting-copy h3{font-size:16px;color:var(--ink);line-height:1.6;margin:0 0 10px;font-weight:650}.recall-waiting-copy p{font-size:12px;line-height:1.9;color:var(--muted);margin:0}.recall-waiting-steps{display:grid;gap:10px;margin:20px 0;padding:15px 16px;border:1px solid var(--line);border-radius:12px}.recall-waiting-steps>div{display:flex;align-items:center;gap:10px;font-size:12px;color:var(--ink)}.recall-waiting-steps b{width:22px;height:22px;display:grid;place-items:center;border-radius:50%;background:var(--zone-soft,#f1ecfa);color:var(--zone,#7956b7);font-size:10px}.recall-waiting .recall-waiting-note{font-size:11px;line-height:1.8;color:var(--muted);text-align:center;margin:0 8px}@media(max-width:650px){.recall-waiting{padding-top:12px}.recall-preview{max-width:280px;margin:0 auto 20px}}

.story .exercise-field .blank.wrong,.story .exercise-field .blank.retry{border:2px solid #dc4b57!important;background:#fff2f3!important;color:#9e2938!important;box-shadow:0 0 0 2px #dc4b5710!important}.field-result[data-status="wrong"],.field-result[data-status="retry"]{color:#dc4b57!important}.answer-shake{animation:answer-shake .36s ease-in-out}@keyframes answer-shake{0%,100%{transform:translate(0,0)}20%{transform:translate(-5px,1px)}40%{transform:translate(5px,-1px)}60%{transform:translate(-4px,1px)}80%{transform:translate(3px,0)}}@media(prefers-reduced-motion:reduce){.answer-shake{animation:none}}
