.question-card{min-width:0}.question-card[hidden],.question-card [hidden]{display:none!important}
.question-answer-surface{border:0;padding:0;margin:0;min-width:0}
.question-table th:not(:first-child),.question-table td:not(:first-child){width:auto}
.question-card .answer-correct,.exam-response select.answer-correct,.exam-response input[type=text].answer-correct,.exam-response span.answer-correct,.exam-response label:has(input.answer-correct){background:#dcf5e3!important;border-color:#258147!important;color:#155b30!important;box-shadow:inset 0 0 0 1px #258147!important}
.question-card .answer-wrong,.exam-response select.answer-wrong,.exam-response input[type=text].answer-wrong,.exam-response span.answer-wrong,.exam-response label:has(input.answer-wrong){background:#ffebe9!important;border-color:#c33a36!important;color:#8e211d!important;box-shadow:inset 0 0 0 1px #c33a36!important}
.question-card .answer-missing,.exam-response select.answer-missing,.exam-response input[type=text].answer-missing,.exam-response span.answer-missing,.exam-response label:has(input.answer-missing){background:#fff!important;border:2px dashed #258147!important;color:#155b30!important;box-shadow:none!important}
.question-card .answer-correct,.question-card .answer-wrong,.question-card .answer-missing,.exam-response select[class*=answer-],.exam-response input[type=text][class*=answer-],.exam-response span[class*=answer-],.exam-response label:has(input[class*=answer-]){outline:none!important}
/* Every option has the room the marked ones need (a frame round the radio or the checkbox), asking for an answer or showing it,
   so that a result takes the place of the editor without the options moving. */
.exam-response label:has(input[type=radio],input[type=checkbox]){display:inline-flex;align-items:center;gap:6px;padding:3px 8px;border:1px solid transparent;border-radius:8px}
.exam-response label:has(input.answer-missing){border-width:2px;padding:2px 7px}
.exam-response .question-correction{display:inline-block;margin-left:8px}
.question-card.question-solution button:disabled{opacity:1}.question-solution label{cursor:default}
.question-correction{display:block;padding:8px 12px;border-radius:8px;line-height:1.5;font-size:.9rem;overflow-wrap:anywhere}
.question-chips .question-correction{width:100%;box-sizing:border-box}
.question-order li{flex-wrap:wrap}.question-order li>.question-correction{flex-basis:100%;margin-left:36px}
.question-order-position{min-width:24px}.question-genotype>.question-correction{margin-top:8px}
.question-select{flex-wrap:wrap}.question-select>.question-correction{margin-left:auto}
.question-comment{border-top:1px solid #d5ded7;margin-top:16px;padding-top:16px}.question-comment p{line-height:1.7;margin-bottom:0}
.question-solution .question-hint,.question-solution .ai-test-instruction,.question-solution .question-handle,.question-solution [data-order-up],.question-solution [data-order-down],.question-solution .question-bank,.question-solution .question-allele-bank{display:none}
.question-solution .question-destination{border-style:solid}.question-solution .question-destination>button{cursor:default}
.question-solution .question-destination[data-show-label=false]>button{display:none}
.question-card.ai-test-review{margin:0;padding:24px}.question-card.ai-test-review>h2{padding:0}.question-card.ai-test-review>header{padding:0;background:none}.question-card.ai-test-review .ai-test-feedback{margin-top:20px}

.question-heading{display:flex;justify-content:space-between;gap:12px;font-size:.82rem;color:#66746c}.question-card h2{font-size:1.5rem;line-height:1.35;margin:14px 0}.question-prompt{font-size:1.05rem;line-height:1.7}.question-hint{font-size:.9rem;color:#66746c;line-height:1.6}
.question-bank{border:1px solid #d5ded7;border-radius:12px;padding:14px;background:#f6f8f3;margin:18px 0}.question-bank>strong{display:block;margin-bottom:10px}.question-chips{display:flex;flex-wrap:wrap;gap:8px;min-height:50px}.question-chip{min-height:48px;max-width:100%;padding:10px 14px;border:1px solid #9ab6a4;border-radius:8px;background:#fff;color:#244e40;font:inherit;cursor:grab;touch-action:none;user-select:none;overflow-wrap:anywhere}.question-chip[aria-pressed=true]{outline:3px solid #bd8b2a;outline-offset:2px}.question-bank>button{margin-top:12px}
.question-card button:focus-visible,.question-card input:focus-visible,.question-card select:focus-visible{outline:3px solid #bd8b2a;outline-offset:3px}.question-card button:disabled{cursor:default;opacity:.65}.question-category-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:12px}.question-destination{border:2px dashed #adc5b5;border-radius:10px;padding:12px;min-height:135px;min-width:0;background:#f8faf6}.question-destination>button{display:block;width:100%;min-height:44px;border:0;background:#eaf1e5;border-radius:6px;color:#244e40;padding:8px;font:inherit;font-weight:600;cursor:pointer}.question-destination .question-chips{margin-top:10px}.question-destination .question-chip{width:100%}.question-destination small{display:block;color:#66746c;font-size:.8rem}.question-destination:has([data-placement-item])>small{display:none}.question-bank>button{min-height:44px;padding:8px;border:1px solid #adc5b5;border-radius:6px;background:white;cursor:pointer}
.question-table-scroll{overflow:auto;max-width:100%;margin:18px 0}.question-table{width:100%;border-collapse:collapse;table-layout:fixed;min-width:340px}.question-table td,.question-table th{border:1px solid #d5ded7;padding:9px;vertical-align:middle;overflow-wrap:anywhere}.question-table th{background:#eef4e9;text-align:center}.question-table .question-destination{min-height:125px;padding:8px}.question-process{display:flex;align-items:center;gap:14px}.question-process .question-destination{flex:1}.question-process-arrow{font-size:1.8rem;color:#27604a}.question-gap-text{display:flex;gap:12px;align-items:center;flex-wrap:wrap;line-height:1.8}.question-gap-text .question-destination{min-width:150px;max-width:240px}
.question-order{list-style:none;padding:0;display:grid;gap:10px}.question-order li{display:flex;align-items:center;gap:8px;min-height:60px;border:1px solid #d5ded7;padding:8px;border-radius:10px;background:white}.question-order li>span{flex:1;min-width:0;overflow-wrap:anywhere}.question-order button{min-height:44px;min-width:44px;border:1px solid #c7d8cc;border-radius:6px;background:#f3f7f0;font:inherit;cursor:pointer}.question-handle{touch-action:none;user-select:none;cursor:grab!important;font-size:1.4rem!important}.question-drop-active{outline:3px solid #bd8b2a;background:#fff4d7!important}.question-drag-ghost{position:fixed;pointer-events:none;z-index:10000;transform:translate(12px,12px);max-width:240px;padding:12px;border:2px solid #bd8b2a;border-radius:8px;background:#fff7e4;box-shadow:0 6px 20px #183c352f}
.question-true-false-table{display:table;width:100%;min-width:0}.question-true-false-table .question-truth-column{width:48px}.question-true-false-table th:first-child{text-align:left}.question-true-false-table th[scope=row]{font-weight:400;background:white;line-height:1.6}.question-true-false-table td{padding:4px;text-align:center}.question-true-false-table label{display:flex;align-items:center;justify-content:center;min-height:48px;width:100%;border:1px solid transparent;border-radius:8px;box-sizing:border-box;cursor:pointer}.question-true-false-table input{width:20px;height:20px;margin:0}.question-true-false-table abbr{text-decoration:none}.question-solution .question-true-false-table label{cursor:default}

.question-genetics{display:grid;gap:20px}.question-genetics-step{border:1px solid #d5ded7;padding:16px;border-radius:12px}.question-genetics-step h3{margin:0 0 12px;font-size:1.05rem}.question-allele-bank{display:flex;flex-wrap:wrap;gap:10px;align-items:center;margin:16px 0}.question-allele-bank small{color:#66746c;font-size:.8rem}.question-parents{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:12px}.question-genotype{text-align:center}.question-genotype>small{display:block;margin-bottom:8px;color:#66746c;font-weight:400}.question-allele-slots{display:flex;justify-content:center;gap:6px}.question-allele-slot{width:48px;min-height:48px;border:2px dashed #adc5b5;border-radius:8px;background:#f1f6eb;color:#244e40;font-size:1.25rem;font-weight:700;cursor:pointer}.question-punnett td{text-align:center}.question-punnett td>small{font-size:.7rem;color:#66746c}.question-select{display:flex;justify-content:space-between;align-items:center;gap:12px;min-height:55px;margin:8px 0}.question-select select{width:160px;max-width:50%;min-height:48px;border:1px solid #adc5b5;border-radius:8px;padding:8px;background:white;font:inherit}.question-card .ai-test-feedback dl{margin:12px 0;display:grid;gap:6px}.question-card .ai-test-feedback dt{font-weight:600}.question-card .ai-test-feedback dd{margin:0 0 10px;line-height:1.6}.question-card .ai-test-feedback>strong{display:block;margin-bottom:10px}

.question-solution .question-destination>small{display:none}
.question-gap-text .question-destination{display:inline-flex;align-items:center;width:auto;min-width:130px;max-width:100%;min-height:44px;padding:4px 8px;cursor:pointer;background:#fff}
.question-gap-text .question-destination .question-chips{margin-top:0;min-height:0}
.question-gap-text .question-destination .question-chip{width:auto}
.question-gap-text .question-destination:focus-visible{outline:2px solid #244e40;outline-offset:2px}
.question-solution .question-gap-text .question-destination{cursor:default;border:0;padding:0;min-width:0;min-height:0;background:none}
.question-heading .question-revision{color:#a4372b;font-weight:600}
.question-solution .question-revision{display:none}
.question-solution .question-gap-text .question-destination:has(.answer-wrong,.answer-missing){border:2px solid #c33a36;padding:4px 8px;min-height:44px;background:#fff}
.question-gap-text{display:block}
.question-gap-text>.question-destination{vertical-align:middle;margin:2px 6px}
.question-heading .question-dev-id{margin-left:auto;font-size:.75rem;color:#66746c;background:#eef1ec;border-radius:4px;padding:1px 6px;user-select:all}

.question-destination-label{display:block;margin-bottom:10px}
.question-process-transition{display:flex;flex-direction:column;align-items:center;gap:4px}
.question-process-arrow{display:inline-block}
