.sr-only{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.recall-stage{max-width:850px;margin:auto;padding:25px 35px}.recall-stage .exercise h2.root-test-prompt{font-size:40px;margin:32px 0 12px}.recall-ratings{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin:35px auto 20px;max-width:620px}.recall-ratings button{background:#fff;border:1px solid #dfe5ef;padding:18px 10px;border-radius:7px;display:flex;flex-direction:column;align-items:center;gap:9px}.recall-ratings button:hover{border-color:#90a6dc;background:#f5f7fe}.recall-ratings button strong{font-size:15px;font-weight:500;color:#5b7097}.recall-ratings button small{font-size:11px;color:#94a1b8}.recall-answer{max-width:620px;margin:24px auto;background:#f2f5fc;padding:20px 25px;text-align:left;border-radius:8px}.recall-answer h3{font:26px Georgia,serif;color:#435c8c;margin:0 0 12px}.recall-answer h3 small{font:12px 'Microsoft YaHei',sans-serif;color:#8393af;margin-left:12px}.recall-answer p{font-size:12px;line-height:1.9;margin:9px 0}.recall-result-bar{display:flex;align-items:center;justify-content:center;gap:20px;flex-wrap:wrap;color:#8d9cb6;font-size:11px;margin:20px 0}.listen-learning-stage{max-width:820px;margin:auto}.learn-cn-options{max-width:570px;display:grid;gap:10px;margin:22px auto 12px}.learn-cn-options button{text-align:left;display:flex;align-items:center;gap:18px;min-height:49px;color:#7487a6;font-size:13px;padding:13px 20px}.compact-answer{text-align:left;background:#f3f6fc;border-radius:7px;padding:18px 22px;margin:20px 0;color:#7d8daa;font-size:12px;line-height:1.9}.compact-answer>p{font-size:12px;line-height:1.9;margin:10px 0}.compact-answer strong{color:#516d9d;font-size:13px}.practice-action-row{display:flex;align-items:center;justify-content:center;gap:15px;flex-wrap:wrap;margin-top:18px}.expression-stage{max-width:820px;margin:auto}.expression-stage .exercise input{max-width:520px;font:18px/1.5 Georgia,serif}.expression-stage .exercise h2{font-size:30px;margin-top:24px}.writing-lab{display:grid;grid-template-columns:minmax(0,.95fr) minmax(0,1.05fr);gap:20px;align-items:start}.rewrite-editor{padding:25px}.rewrite-editor label{font-size:12px;color:#8392ac}.original-sentence{font:22px/1.7 Georgia,serif;color:#536e9a;margin:23px 0 8px}.original-translation{font-size:12px;color:#9ba6b8;margin:0 0 23px}#rewrite-answer{font:18px/1.7 Georgia,serif;min-height:115px;margin:12px 0;max-height:200px}.rewrite-editor .practice-action-row{justify-content:flex-start;gap:12px;margin-top:10px}.rewrite-editor .keyboard{margin-top:17px;font-size:10px}.rewrite-review-panel{padding:23px;min-height:400px}.plan-tabs{display:flex;gap:5px;flex-wrap:wrap;border-bottom:1px solid #e6ebf4;margin-bottom:22px;padding-bottom:15px}.plan-tabs button{border:0;background:transparent;border-radius:5px;color:#8b9ab3;font-size:12px;padding:8px 10px}.plan-tabs button.selected{background:#edf2ff;color:#4969b3}.plan-tabs kbd{margin-left:4px;font-size:9px}.rewrite-review-panel h3{font-size:14px;line-height:1.9;color:#5e759b;margin:16px 0}.rewrite-review-panel h4{font-size:12px;color:#8796af;font-weight:500;margin-top:20px}.rewrite-review-panel p{font-size:12px;line-height:1.9;color:#8998b1}.review-empty{padding:30px 0}.review-empty h3{font-size:15px;color:#677fa7}.review-empty p{font-size:12px;color:#98a6be;margin:14px 0 25px}.review-score-row{display:flex;align-items:center;gap:12px}.review-score-row strong{font-size:27px;color:#4f70b1;font-weight:500}.review-score-row span{font-size:9px;color:#a1acc0}.review-dimensions{display:grid;gap:6px}.review-dimensions details{background:#f7f9fd;border-radius:6px;padding:10px 12px}.review-dimensions summary{font-size:11px;color:#8495b1;cursor:pointer;list-style:none}.review-dimensions summary b{float:right;font-weight:500;color:#6a83b3}.review-dimensions p{font-size:11px;line-height:1.9;margin:9px 0 0}.rewrite-review-panel details>summary{font-size:11px;color:#8495b1;cursor:pointer}.service-error{font-size:12px!important;color:#b17b67!important;line-height:1.8!important;background:#fff6f1;border:1px solid #f1e0d5;border-radius:6px;padding:12px 15px;text-align:left}.loading-dot{width:14px;height:14px;border-radius:50%;background:#9aafe0;animation:pulse 1.1s ease-in-out infinite}@keyframes pulse{50%{opacity:.25}}body[data-practice=true] main{padding-top:24px}body[data-practice=true] .page-heading{margin-bottom:18px}body[data-practice=true] .page-heading h1{font-size:23px;margin:5px 0 6px}body[data-practice=true] .page-heading p{font-size:11px}body[data-practice=true] .tabs{margin-bottom:18px}body[data-practice=true] footer{padding-top:10px}body[data-practice=true] .keyboard{margin-top:14px}body[data-practice=true] .listen-learning-stage .audio{width:68px;height:68px;margin:17px 0 5px}.listen-learning-stage .exercise h2{font-size:30px;margin:17px 0 8px}body[data-practice=true] .recall-stage .eyebrow{letter-spacing:.5px;font-size:11px}body[data-practice=true] .recall-stage .exercise p{font-size:12px}.writing-lab .rewrite-english{font-size:20px!important}.compact-answer .plan-tabs{padding-bottom:10px;margin-bottom:14px}.writing-lab .notice{font-size:10px;line-height:1.8}.expression-stage .exercise input{width:100%;border-color:#dfe6f3}.rewrite-editor textarea:disabled{background:#f5f7fb;color:#8491a8}@media(max-width:1050px){.writing-lab{grid-template-columns:1fr}.rewrite-review-panel{min-height:0}.rewrite-editor .practice-action-row{justify-content:space-between}.rewrite-review-panel .review-empty{padding:12px 0}.writing-lab{gap:15px}}@media(max-width:760px){.recall-stage{padding:20px}.recall-ratings{gap:8px;margin-top:27px}.recall-ratings button{padding:14px 5px}.recall-ratings button strong{font-size:14px}.recall-ratings button small{font-size:9px}.recall-answer{padding:18px}.recall-answer h3{font-size:25px}.recall-answer h3 small{display:block;margin:10px 0 0}.recall-stage .exercise h2.root-test-prompt{font-size:30px;margin:25px 0 10px}.learn-cn-options button{padding:13px;font-size:12px;min-height:46px}.listen-learning-stage{padding:20px}.learn-cn-options{margin-top:17px}.rewrite-editor,.rewrite-review-panel{padding:20px}.plan-tabs button{font-size:11px;padding:8px}.practice-action-row{gap:10px}.practice-action-row .primary,.practice-action-row .secondary{font-size:11px}.expression-stage .exercise h2{font-size:25px}.original-sentence{font-size:21px}.writing-lab .rewrite-english{font-size:19px!important}}
.root-learning-layout .workspace,.practice-grid .workspace,.writing-lab .workspace{margin:0;width:100%}body[data-practice=true] .root-word-title{margin-top:15px}body[data-practice=true] .root-word-title h2{font-size:35px}body[data-practice=true] .root-learn-word .morphemes{margin:18px 0}body[data-practice=true] .root-learn-word .reveal{margin:14px 0;padding:16px 19px}body[data-practice=true] .root-learn-word .reveal p{margin:8px 0;font-size:12px;line-height:1.8}body[data-practice=true] .root-learn-word .video-link-row{margin-top:16px;padding-top:10px}body[data-practice=true] .back-link{margin-bottom:12px}body[data-practice=true] .root-learn-word{padding:23px 26px}

.practice-audio-bar{display:flex;align-items:center;justify-content:center;gap:14px;margin:4px 0 20px;padding:12px 16px;border:1px solid #e2e8dc;border-radius:14px;background:#f7faf5}.practice-audio-bar button{white-space:nowrap}.practice-audio-info{display:flex;flex-direction:column;text-align:left;gap:3px;font-size:13px}.practice-audio-info small{font-size:11px;color:#798778}.answer-audio-options{display:flex;flex-wrap:wrap;justify-content:center;gap:4px;margin:-8px 0 12px}.practice-audio-bar button:disabled{cursor:default;opacity:.5}.rewrite-editor .practice-audio-bar{justify-content:flex-start}@media(max-width:600px){.practice-audio-bar{gap:8px;padding:10px}.practice-audio-bar button{padding:9px 11px}.practice-audio-info{font-size:12px}.practice-audio-info small{font-size:10px}}

/* Keep the listening task and its controls together in the viewport. */
body[data-listening-active=true] .page-heading{margin-bottom:10px}
body[data-listening-active=true] .page-heading p,body[data-listening-active=true] .page-heading .eyebrow,body[data-listening-active=true] .page-heading .date{display:none}
body[data-listening-active=true] .course-toolbar{padding:10px 14px;margin-bottom:12px;gap:12px}
body[data-listening-active=true] .tabs{margin-bottom:12px}
body[data-listening-active=true] .practice-grid,body[data-listening-active=true] .listen-learning-stage{scroll-margin-top:14px}
body[data-listening-active=true] .listening-stage{min-height:0;padding:20px 24px}
body[data-listening-active=true] .exercise{padding-top:0}
body[data-listening-active=true] .progress{margin:12px 0}
body[data-listening-active=true] .practice-tools{margin:8px 0}
body[data-listening-active=true] .practice-audio-bar{margin:0 0 14px;padding:9px 12px}
body[data-listening-active=true] .exercise .question-title{margin:14px 0 8px;font-size:25px}
body[data-listening-active=true] .answers{margin:18px 0 10px;gap:10px;grid-template-columns:repeat(3,minmax(0,1fr))}
body[data-listening-active=true] .answers button{padding:14px 8px;font-size:13px}
body[data-listening-active=true] .reveal{margin:12px 0;padding:14px 18px}
body[data-listening-active=true] #listening-note{min-height:44px;height:44px;margin:8px 0}
body[data-listening-active=true] .keyboard{margin-top:12px}
@media(max-width:760px){body[data-listening-active=true] .listening-stage{padding:16px}body[data-listening-active=true] .practice-grid{gap:10px}body[data-listening-active=true] .previous-answer{padding:8px 12px}body[data-listening-active=true] .answers{grid-template-columns:1fr;margin-top:12px}body[data-listening-active=true] .answers button{padding:11px}body[data-listening-active=true] .practice-audio-info{font-size:11px}}

/* Dedicated listening session: navigation is replaced by an explicit exit. */
body[data-focus-listening=true]{overflow:hidden}
body[data-focus-listening=true]>aside,body[data-focus-listening=true] .app>header,body[data-focus-listening=true] footer{display:none}
body[data-focus-listening=true] .app{margin:0}
body[data-focus-listening=true] main#main{position:fixed;inset:0;overflow:auto;padding:82px 28px 22px;background:#f8f9fd}
.focus-session-bar{position:fixed;top:0;left:0;right:0;height:64px;padding:0 24px;display:flex;align-items:center;gap:22px;background:white;border-bottom:1px solid #e5e9f1;z-index:30}
.focus-session-bar strong{font-size:16px;color:#354563}.focus-session-bar>span{margin-left:auto;color:#8491a6;font-size:12px}
body[data-focus-listening=true] .page-heading,body[data-focus-listening=true] .course-toolbar,body[data-focus-listening=true] main>.tabs{display:none}
body[data-focus-listening=true] .practice-grid{max-width:1200px;margin:0 auto;grid-template-columns:210px minmax(0,1fr);align-items:start;gap:24px;scroll-margin-top:82px}
body[data-focus-listening=true] .previous-answer{position:static;min-height:0;padding:20px;background:#eef2fa;border-radius:10px}
body[data-focus-listening=true] .listening-stage{background:white;min-height:0;max-height:calc(100dvh - 108px);overflow:auto;padding:20px 28px}
body[data-focus-listening=true] .listen-learning-stage{max-height:calc(100dvh - 108px);overflow:auto;max-width:850px}
body[data-focus-listening=true] .setup-hero{max-width:800px;margin:40px auto;padding:30px}
body[data-focus-listening=true] .practice-tools{margin:8px 0}
body[data-focus-listening=true] .exercise .question-title{font-size:28px;margin-top:24px}
body[data-focus-listening=true] .answers{margin:25px 0 16px}
body[data-focus-listening=true] .previous-answer>strong{overflow-wrap:anywhere}
@media(max-width:760px){body[data-focus-listening=true] main#main{padding:74px 12px 12px}.focus-session-bar{height:58px;padding:0 12px;gap:12px}.focus-session-bar>span{font-size:10px}.focus-session-bar strong{font-size:14px}body[data-focus-listening=true] .practice-grid{display:flex;gap:10px;scroll-margin-top:74px}body[data-focus-listening=true] .previous-answer{padding:8px 12px}body[data-focus-listening=true] .previous-answer>strong{font-size:20px}body[data-focus-listening=true] .listening-stage{padding:14px;max-height:calc(100dvh - 180px)}body[data-focus-listening=true] .exercise .question-title{font-size:22px;margin:14px 0}body[data-focus-listening=true] .answers{margin:14px 0}body[data-focus-listening=true] .setup-hero{margin:0 auto;padding:22px}}

.universal-home{position:fixed;top:8px;right:18px;z-index:60;background:#fff!important;box-shadow:0 2px 10px #2034550a;min-height:36px}
.accumulation-stage{max-width:850px;margin:auto}.accumulation-stage .exercise h2{font-size:32px;margin:15px 0}.accumulation-stage label{display:block;margin:20px 0 10px;color:#657791;font-size:13px}.accumulation-stage input{display:block;width:100%;max-width:600px;margin:0 auto 18px;padding:13px 16px;font-size:18px;border:1px solid #dce3ef;border-radius:8px}.accumulation-alternatives{display:flex;flex-wrap:wrap;gap:10px}.accumulation-alternatives>span{background:white;border:1px solid #dce5f2;padding:8px 12px;border-radius:7px;color:#405f98}.accumulation-feedback{text-align:left}.accumulation-feedback h3{font-size:15px}.accumulation-feedback p{line-height:1.9}
@media(max-width:760px){.universal-home{top:5px;right:10px;font-size:11px;padding:6px 10px}.accumulation-stage{padding:18px}.accumulation-stage .exercise h2{font-size:26px}}

.transcript-tools{display:flex;justify-content:flex-end;margin:8px 0}.transcript-tools button{border:1px solid #dbe3f0;border-radius:20px;padding:8px 14px;background:#f7f9ff}.transcript-body{text-align:left}.transcript-body p{font:19px/1.8 Georgia,serif}.transcript-body small{color:#7a899f}

.root-pagination{display:flex;align-items:center;justify-content:center;gap:18px;margin:25px 0}.root-card>p{max-height:84px;overflow:auto}.family-words{max-height:52vh;overflow:auto}.root-selection>.chips{max-height:28vh;overflow:auto}

/* Compact memory hints stay subordinate to the word and definition. */
.root-memory{margin:8px 0 18px;text-align:left;color:#7b8790;background:none;border:0;padding:0;border-radius:0}
.root-memory .memory-cue{font-size:13px!important;line-height:1.7!important;font-weight:400!important;color:#78828c!important;margin:0!important;max-width:none}.memory-cue span{color:#8a949c}
.root-memory .memory-source{margin-top:4px;border:0;padding:0;font-size:12px;color:#869098}.memory-source>summary{display:list-item;cursor:pointer;width:fit-content;font-size:12px;color:#8b959e;padding:2px 0}.memory-source small{font-size:11px;color:#8a949c}.memory-note{white-space:pre-wrap;font-size:13px;line-height:1.8;padding:12px;background:#f7f8fa;border-radius:8px;margin-top:8px;overflow-wrap:anywhere}.memory-page-note{max-height:260px;overflow:auto}.memory-source details summary{cursor:pointer;font-size:12px;color:#87929c;margin-top:8px}.recall-answer .root-memory{text-align:left}

#practice-audio-status:empty{display:none}.root-example-line{margin:18px 0;color:#667388}.root-example-line p{font-size:16px;line-height:1.7}

p.root-memory.memory-cue{font-size:13px!important;line-height:1.7!important;font-weight:400!important;color:#78828c!important;margin:8px 0 18px!important;padding:0!important;border:0!important;background:none!important}

.backup-actions{display:flex;gap:10px;flex-wrap:wrap}#progress-status{line-height:1.8;overflow-wrap:anywhere}@media(max-width:600px){.backup-actions{width:100%}.backup-actions button{flex:1}.workspace>.section-heading{flex-wrap:wrap;gap:12px}.review-row{gap:10px}}
