.exam-wrap{max-width:1000px;margin:0 auto;padding:12px 16px}
.exam-title{margin:6px 0 10px;font-size:22px;color:#0f172a}
.exam-desc{color:#475569;margin:6px 0 12px}

.exam-toolbar{display:flex;gap:10px;align-items:center;flex-wrap:wrap}
.exam-field{display:flex;gap:8px;align-items:center}
.exam-label{color:#334155;font-weight:600}
.exam-select{padding:8px 10px;border:1px solid #e5e7eb;border-radius:10px;background:#fff}
.exam-toggle{display:flex;gap:6px;align-items:center}
.exam-hint{font-size:12px;color:#64748b}
.exam-btn{padding:8px 12px;border:1px solid #e5e7eb;border-radius:10px;background:#fff;cursor:pointer}
.exam-btn.ghost{background:#f8fafc}
.exam-btn:hover{box-shadow:0 6px 16px rgba(0,0,0,.06)}
.exam-spacer{flex:1}

.exam-area{margin-top:12px}
.exam-empty,.exam-error,.exam-gate{padding:16px;border:1px dashed #e5e7eb;border-radius:12px;background:#f8fafc;color:#334155}
.exam-gate .exam-btn{margin-top:8px}

.ex-card{border:1px solid #e5e7eb;border-radius:14px;padding:14px;background:#fff}
.ex-meta{margin-bottom:6px;color:#475569}
.badge{display:inline-block;background:#eef2ff;border:1px solid #e5e7eb;border-radius:999px;padding:3px 8px;margin-right:4px}
.sep{margin:0 6px;color:#94a3b8}
.muted{color:#94a3b8}

.ex-stem{font-size:16px;color:#111827;margin:10px 0 12px;line-height:1.5}
.ex-choices{list-style:none;margin:0;padding:0;display:grid;gap:8px}
.ex-choices li{display:block}
.ex-choices .ex-choice{width:100%;text-align:left;padding:10px;border:1px solid #e5e7eb;border-radius:10px;background:#fff;cursor:pointer}
.ex-choices .ex-choice.ok{border-color:#16a34a;background:#f0fdf4}
.ex-choices .ex-choice.no{border-color:#ef4444;background:#fef2f2}

.ex-choices.radio .ex-radio{display:flex;gap:8px;align-items:flex-start;padding:8px 10px;border:1px solid #e5e7eb;border-radius:10px;background:#fff}
.ex-choices.radio input[type=radio]{margin-top:2px}

.ex-explain{margin-top:12px;padding:10px;border:1px solid #e5e7eb;border-radius:10px;background:#f8fafc}
.ex-verdict{font-weight:700;margin-bottom:6px}
.ex-ref{margin-top:6px;color:#64748b}

.ex-actions{display:flex;gap:10px;align-items:center;margin-top:12px}
.ex-progress{color:#64748b;margin-bottom:8px}

.ex-result h2{margin:8px 0 12px}
.table-wrap{overflow:auto}
.ex-table{width:100%;border-collapse:collapse}
.ex-table th,.ex-table td{border:1px solid #e5e7eb;padding:8px;text-align:left;font-size:14px}
.ex-table tr.ok{background:#f0fdf4}
.ex-table tr.no{background:#fff7ed}

@media (max-width:640px){
  .exam-toolbar{gap:8px}
  .exam-select{padding:7px 10px}
  .ex-choices{gap:6px}
}

.ex-table td.stem .q-stem{white-space:normal;line-height:1.5;max-width:640px}
.ex-table details.q-choices{margin-top:6px}
.ex-table .choice-list{margin:6px 0 0 0;padding-left:18px}