/* Feedback 2.8.12: compact learning navigation and readable learning controls. */
#efLearningTools2812{position:fixed;right:12px;bottom:var(--ef-tools-bottom,calc(82px + env(safe-area-inset-bottom,0px)));z-index:900;max-width:calc(100vw - 24px);color:var(--text,#17243b)}
#efLearningTools2812[hidden]{display:none}
#efLearningTools2812>summary{cursor:pointer;list-style-position:inside;padding:10px 14px;border:1px solid var(--line,#ccd3df);border-radius:18px;background:var(--card,#fff);box-shadow:0 2px 12px #0002;font-weight:600}
#efLearningTools2812 .ef-tools-menu{position:absolute;bottom:calc(100% + 8px);right:0;display:grid;gap:8px;padding:10px;width:min(290px,calc(100vw - 44px));max-height:calc(70vh - 100px);overflow-y:auto;border:1px solid var(--line,#ccd3df);border-radius:14px;background:var(--card,#fff);box-shadow:0 4px 16px #0002}
#efLearningTools2812:not([open]) .ef-tools-menu{display:none}
#efLearningTools2812 .ef-tools-menu>button{position:static!important;bottom:auto!important;right:auto!important;width:100%;max-width:none!important;min-height:44px;white-space:normal;text-align:left;padding:9px 12px!important;border-radius:10px!important;box-sizing:border-box;font:inherit!important}
.lesson-filter-stack-v281{grid-template-columns:minmax(0,1.2fr) minmax(0,1fr)!important;gap:12px!important}
.lesson-filter-stack-v281 select,.lesson-filter-stack-v281 .custom-select-v23{width:100%;min-width:0}
.lesson-filter-stack-v281 .field-label{line-height:1.35}
.ef-topic-groups{display:grid;gap:10px;margin-top:10px}
.ef-topic-group{border:1px solid var(--line,#d8deea);border-radius:12px;padding:10px 12px}
.ef-topic-group summary{cursor:pointer;font-weight:650}
.ef-group-choice{display:flex;align-items:center;gap:8px;margin:10px 0;font-weight:600}
.ef-topic-group .topic-checks{max-height:none;overflow:visible}
.ef-mastery-groups{display:grid;align-items:start;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.ef-mastery-group{padding:12px;border:1px solid var(--line,#d8deea);border-radius:12px;min-width:0}
.ef-mastery-group summary{cursor:pointer;font-weight:600;min-height:30px}
.ef-mastery-group summary b{font-size:1.3rem;margin-right:8px}
.ef-mastery-concepts{display:grid;max-height:420px;overflow-y:auto;gap:8px;margin-top:12px}
.ef-mastery-concepts button{white-space:normal;text-align:left;overflow-wrap:anywhere}
.ef-results-table{overflow-x:auto;margin:16px 0}
.ef-results-table table{width:100%;border-collapse:collapse}
.ef-results-table th,.ef-results-table td{text-align:left;padding:10px 8px;border-bottom:1px solid var(--line,#e0e5ec);overflow-wrap:anywhere}
.ef-chinese-hint{background:var(--accent-soft,#eef2ff);border-radius:10px;padding:12px}
.fp-retrieval-card-v280 .input{margin:10px 0}
@media(max-width:680px){.lesson-filter-stack-v281{gap:8px!important}.lesson-filter-stack-v281 .field-label{font-size:.85rem}.lesson-filter-stack-v281 .custom-select-button-v23{padding:10px;gap:6px;font-size:.85rem}.ef-mastery-groups{gap:8px}}
@media(max-width:350px){.lesson-filter-stack-v281{grid-template-columns:1fr!important}.ef-mastery-groups{grid-template-columns:1fr}}
/* Nested cards must fit the available width on narrow phones. */
.dashboard-section .mastery-grid,.dashboard-section>.grid{grid-template-columns:repeat(auto-fit,minmax(min(260px,100%),1fr));min-width:0}
.dashboard-section .mastery-card,.dashboard-section .lesson-card{min-width:0}
.mastery-top>div{min-width:0;overflow-wrap:anywhere}
@media(max-width:350px){.mastery-top{flex-wrap:wrap}}

/* Theme/word-count chooser for spelling and context recall. */
.ef-vocab-test-setup{max-width:850px;margin-inline:auto}
.ef-vocab-theme-actions{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:10px;margin:22px 0 12px}
.ef-vocab-theme-actions .actions{margin:0;gap:8px}
.ef-vocab-theme-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(210px,100%),1fr));gap:10px;max-height:min(44vh,420px);overflow:auto;padding:3px}
.ef-vocab-theme-choice{display:flex;align-items:center;gap:10px;border:1px solid var(--line,#d8deea);border-radius:11px;padding:11px 12px;cursor:pointer;min-width:0}
.ef-vocab-theme-choice:has(input:checked){background:var(--accent-soft,#eff4ff);border-color:var(--accent,#667bea)}
.ef-vocab-theme-choice input{width:auto;flex:none;margin:0}
.ef-vocab-theme-choice span{flex:1;min-width:0;overflow-wrap:anywhere}
.ef-vocab-theme-choice small{color:var(--muted,#667085)}
.ef-vocab-word-count{display:block;margin:18px 0 8px;max-width:260px;font-weight:600}
.ef-vocab-word-count input{display:block;margin-top:7px}
.ef-vocab-test-setup #efVocabBegin{min-height:44px}
@media(max-width:680px){.ef-vocab-theme-grid{max-height:42vh;grid-template-columns:1fr}.ef-vocab-test-setup{padding:18px}}
