.lesson-question,.lesson-question-editor{min-width:0;margin:0;padding:1rem;border:1px solid #cbd8e8;border-radius:14px}
.lesson-question legend,.lesson-question-editor legend{padding:0 .35rem;font-weight:750}
.lesson-question__option,.lesson-question-editor__field{display:flex;align-items:center;gap:.65rem;min-height:44px;margin:.35rem 0}
.lesson-question__option input{inline-size:22px;block-size:22px;flex:none}
.lesson-question__grid-row,.lesson-question-editor__row{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:.75rem;padding:.4rem 0}
.lesson-question__fill{line-height:2.8}
.lesson-question__fill input,.lesson-question textarea,.lesson-question input[type=text],.lesson-question-editor input,.lesson-question-editor textarea,.lesson-question-editor select{min-height:44px;max-width:100%;font:inherit}
.lesson-question__submit{min-height:44px;margin-top:.75rem;padding:.55rem 1rem;touch-action:manipulation}
.lesson-question__feedback[hidden]{display:none}
@media(max-width:480px){.lesson-question__grid-row,.lesson-question-editor__row{grid-template-columns:1fr}.lesson-question__option{padding:.25rem 0}}

/* ===== YC-01: 4 tuong tac (trac nghiem, dien so/bieu thuc, dung/sai, ghep cap/keo-tha) =====
   Contract: .lesson-question[--multiple_choice|--fill_blank|--true_false|--matching|--drag_drop], __prompt, __option(.is-selected,.is-correct,.is-incorrect),
   __fill/__blank, __tf-options/__tf-choice, __match/__match-col/__match-item, __bank/__chip(.is-dragging,.is-placed), __dropzone(.is-over,.is-filled),
   __feedback(.is-correct,.is-incorrect,[data-state]), __submit, __hint; editor: .lesson-question-editor__(type,list,item,remove,add,hint) */
.lesson-question{background:#fff;color:#172033;overflow-wrap:anywhere;max-inline-size:100%}
.lesson-question__prompt{font-size:1.05rem;line-height:1.55;margin:.25rem 0 .75rem;font-weight:650}
.lesson-question__option{cursor:pointer;border:1px solid #d0d5dd;border-radius:10px;padding:.4rem .75rem;background:#fff}
.lesson-question__option:hover{background:#f5f8ff;border-color:#84adff}
.lesson-question__option:focus-within{outline:3px solid #155eef;outline-offset:2px}
.lesson-question__option.is-selected,.lesson-question__option:has(input:checked){background:#eff4ff;border-color:#155eef}
.lesson-question__option.is-correct{background:#ecfdf3;border-color:#12b76a}
.lesson-question__option.is-incorrect{background:#fef3f2;border-color:#f04438}
.lesson-question__fill input{inline-size:min(12rem,100%);padding:.25rem .6rem;border:2px solid #98a2b3;border-radius:8px;text-align:center;font-family:"Cambria Math","Times New Roman",serif;font-size:1.05rem}
.lesson-question__fill input:focus-visible{outline:3px solid #155eef;outline-offset:2px}
.lesson-question__fill input.is-correct{border-color:#12b76a;background:#ecfdf3}
.lesson-question__fill input.is-incorrect{border-color:#f04438;background:#fef3f2}
.lesson-question__hint{font-size:.85rem;color:#667085;margin:.25rem 0}
.lesson-question__tf-options{display:flex;gap:.5rem;flex-wrap:wrap}
.lesson-question__tf-choice{min-height:44px;min-inline-size:5.5rem;padding:.4rem 1rem;border:2px solid #d0d5dd;border-radius:10px;background:#fff;font-weight:750;touch-action:manipulation}
.lesson-question__tf-choice[aria-pressed="true"],.lesson-question__tf-choice.is-selected{border-color:#155eef;background:#eff4ff;color:#1849a9}
.lesson-question__tf-choice:focus-visible{outline:3px solid #155eef;outline-offset:2px}
.lesson-question__match{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem 1.5rem}
.lesson-question__match-col{display:grid;gap:.6rem;align-content:start;min-inline-size:0}
.lesson-question__match-item,.lesson-question__chip{min-height:44px;padding:.5rem .8rem;border:2px solid #b9cbe0;border-radius:10px;background:#fff;color:inherit;text-align:left;font:inherit;touch-action:manipulation}
.lesson-question__chip{cursor:grab;touch-action:none;user-select:none;-webkit-user-select:none}
.lesson-question__match-item:focus-visible,.lesson-question__chip:focus-visible,.lesson-question__dropzone:focus-visible{outline:3px solid #155eef;outline-offset:2px}
.lesson-question__match-item[aria-pressed="true"],.lesson-question__match-item.is-selected,.lesson-question__chip.is-selected{border-color:#155eef;background:#eff4ff}
.lesson-question__match-item.is-matched{border-color:#12b76a;background:#ecfdf3}
.lesson-question__match-item.is-wrong,.lesson-question__chip.is-incorrect{border-color:#f04438;background:#fef3f2}
.lesson-question__bank{display:flex;flex-wrap:wrap;gap:.5rem;padding:.6rem;margin:.6rem 0;border:1px dashed #98a2b3;border-radius:12px;background:#f8fafc;min-block-size:56px}
.lesson-question__chip.is-dragging{opacity:.55;cursor:grabbing;box-shadow:0 8px 18px rgba(16,24,40,.2)}
.lesson-question__chip.is-placed{background:#eff4ff}
.lesson-question__dropzone{min-block-size:48px;padding:.4rem .6rem;border:2px dashed #98a2b3;border-radius:10px;display:flex;align-items:center;gap:.4rem;flex-wrap:wrap;background:#fff}
.lesson-question__dropzone.is-over{border-color:#155eef;background:#eff4ff}
.lesson-question__dropzone.is-filled{border-style:solid;border-color:#84adff}
.lesson-question__feedback{margin-top:.75rem;padding:.7rem .9rem;border-radius:10px;background:#eff8ff;color:#175cd3;line-height:1.5}
.lesson-question__feedback.is-correct,.lesson-question__feedback[data-state="correct"]{background:#ecfdf3;color:#067647}
.lesson-question__feedback.is-incorrect,.lesson-question__feedback[data-state="incorrect"]{background:#fef3f2;color:#b42318}
.lesson-question__submit{border:0;border-radius:10px;background:#155eef;color:#fff;font-weight:800}
.lesson-question__submit:disabled{opacity:.55;cursor:not-allowed}
.lesson-question__submit:focus-visible{outline:3px solid #155eef;outline-offset:3px}
.lesson-question--invalid{border-color:#f04438}
.lesson-question-editor{background:#fff}
.lesson-question-editor__type{display:flex;flex-wrap:wrap;gap:.4rem;margin-bottom:.75rem}
.lesson-question-editor__list{display:grid;gap:.6rem;padding:0;margin:.5rem 0;list-style:none}
.lesson-question-editor__item{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:.5rem;align-items:center}
.lesson-question-editor__remove,.lesson-question-editor__add{min-height:44px;min-inline-size:44px;border:1px solid #d0d5dd;border-radius:9px;background:#fff;font-weight:700}
.lesson-question-editor__hint{font-size:.8rem;color:#667085}
.lesson-question-editor input,.lesson-question-editor textarea,.lesson-question-editor select{inline-size:100%;border:1px solid #d0d5dd;border-radius:8px;padding:.45rem .6rem}
.lesson-question-editor :focus-visible{outline:3px solid #155eef;outline-offset:2px}
@media(max-width:480px){.lesson-question__match{grid-template-columns:minmax(0,1fr)}.lesson-question{padding:.8rem}.lesson-question__tf-choice{flex:1}.lesson-question__fill input{inline-size:100%}}
@media(min-width:1200px){.lesson-question__prompt{font-size:1.25rem}.lesson-question__option,.lesson-question__match-item,.lesson-question__chip{font-size:1.1rem}}

/* ===== Pha B: markup thực tế của coder 2 (matching dùng chung cho ghép cặp và kéo-thả) ===== */
.lesson-question[hidden],.lesson-question__solution[hidden],.lesson-question__solution-body[hidden],.lesson-question__key[hidden]{display:none}
.lesson-question__actions{display:flex;flex-wrap:wrap;align-items:center;gap:.6rem;margin-top:.75rem}
.lesson-question__actions .lesson-question__submit{margin-top:0}
.lesson-question__skip{min-height:44px;padding:.55rem 1rem;border:1px solid #98a2b3;border-radius:10px;background:#fff;color:#344054;font-weight:700;touch-action:manipulation}
.lesson-question__skip:hover{background:#f2f4f7}
.lesson-question__skip:focus-visible{outline:3px solid #155eef;outline-offset:2px}
.lesson-question__unit{font-weight:650;color:#475467;margin-inline-start:.2rem}
.lesson-question__solution{margin-top:.75rem;padding:.8rem 1rem;border:1px solid #b2ddff;border-left:4px solid #2e90fa;border-radius:10px;background:#f5faff}
.lesson-question__solution>strong{display:block;margin-bottom:.35rem;color:#175cd3}
.lesson-question__solution-body{line-height:1.6;overflow-x:auto;max-inline-size:100%}
.lesson-question__key{margin:.6rem 0 0;padding:.5rem .8rem;border-radius:8px;background:#ecfdf3;color:#05603a;font-weight:650;line-height:1.5}
ul.lesson-question__key{list-style:none;display:grid;gap:.3rem}
.lesson-question__grid-row{border-radius:10px;border:1px solid transparent;padding:.4rem .6rem}
.lesson-question__grid-row[data-state="correct"]{background:#ecfdf3;border-color:#12b76a}
.lesson-question__grid-row[data-state="incorrect"]{background:#fef3f2;border-color:#f04438}
.lesson-question__grid-row[data-state="blank"]{background:#fffaeb;border-color:#f79009;border-style:dashed}
.lesson-question__grid-row .lesson-question__key{grid-column:1/-1;margin:.2rem 0 0}
.lesson-question__match-label{display:block;margin:0 0 .35rem;font-weight:750;color:#344054;font-size:.9rem}
.lesson-question__dropzone .lesson-question__chip{margin:0;min-block-size:36px;cursor:grab;max-inline-size:100%}
.lesson-question__feedback[data-state="partial"]{background:#fffaeb;color:#93370d}
.lesson-question__fill-template{line-height:2.4;margin:.4rem 0}
.lesson-question-editor__errors{margin:.5rem 0;padding:.6rem .8rem .6rem 1.8rem;border:1px solid #fda29b;border-radius:10px;background:#fef3f2;color:#b42318;line-height:1.5}
.lesson-question-editor__errors:empty{display:none}
.lesson-question-editor__preview{margin:.5rem 0;padding:.6rem .8rem;border:1px dashed #98a2b3;border-radius:10px;background:#f8fafc;min-block-size:44px;overflow-x:auto}
.lesson-question-editor--multiple_choice{border-color:#84adff}.lesson-question-editor--fill_blank{border-color:#f79009}.lesson-question-editor--true_false{border-color:#12b76a}.lesson-question-editor--matching{border-color:#9e77ed}
.lesson-question-editor[data-kind]{background:#fff}

/* Công thức */
.lesson-math,.mathtext{max-inline-size:100%;overflow-wrap:normal}
.lesson-math-inline{display:inline;white-space:nowrap}
.lesson-math-display{display:block;margin:.6rem 0;overflow-x:auto;overflow-y:hidden;text-align:center;padding-block:.2rem}
.lesson-math-display .katex-display{margin:0}
.lesson-math-invalid,.lesson-math-error{display:inline-block;padding:.1rem .45rem;border:1px solid #fda29b;border-radius:6px;background:#fef3f2;color:#b42318;font:.9em/1.4 Consolas,monospace;white-space:pre-wrap;overflow-wrap:anywhere}
.lesson-math-error{display:block;margin:.3rem 0;font-family:inherit}
.lesson-question .katex{font-size:1.1em}
@media(max-width:480px){.lesson-question__actions>button{flex:1 1 100%}.lesson-question__grid-row{grid-template-columns:1fr}}

/* Xem trước chỉ-đọc của câu hỏi trên canvas soạn slide (YC-50). Dấu ✓ chỉ có khi soạn. */
.qc{display:grid;gap:.5rem}
.qc-options,.qc-pairs{list-style:none;margin:0;padding:0;display:grid;gap:.4rem}
.qc-option,.qc-pair{display:flex;align-items:baseline;gap:.5rem;padding:.45rem .7rem;border:1px solid #d0d5dd;border-radius:10px;background:#fff}
.qc-letter{font-weight:700;min-inline-size:1.6rem}
.qc-text{flex:1 1 auto;min-inline-size:0}
.qc-tick{color:#12b76a;opacity:.55;font-weight:700}
.qc-option.is-correct{border-color:#a6f4c5;background:#f6fef9}
.qc-answer{color:#475467;font-size:.9em}
.qc-hint{margin:0;color:#667085;font-size:.9em}
.qc-input{display:inline-block;min-inline-size:10rem;padding:.4rem .7rem;border:1px dashed #98a2b3;border-radius:8px;color:#98a2b3}
.qc-empty{color:#98a2b3;font-style:italic}
