:root{--bg:#f6f7fb;--card:#fff;--ink:#172033;--muted:#667085;--line:#e5e7eb;--accent:#f59e0b;--green:#16a34a;--red:#dc2626}
*{box-sizing:border-box} body{margin:0;font-family:Inter,system-ui,Arial,sans-serif;background:var(--bg);color:var(--ink)}
.wrap{max-width:980px;margin:0 auto;padding:24px}.center{max-width:620px;margin:5vh auto}.card{background:var(--card);border:1px solid var(--line);border-radius:18px;padding:24px;box-shadow:0 8px 30px rgba(16,24,40,.06);margin-bottom:18px}
h1,h2,h3{margin-top:0}.muted{color:var(--muted)}.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:14px}.row{display:flex;gap:12px;flex-wrap:wrap;align-items:center}
input,select,textarea{width:100%;padding:12px 14px;border:1px solid #cfd4dc;border-radius:10px;font:inherit;background:#fff}label{font-weight:700;display:block;margin:12px 0 6px}.btn{display:inline-block;border:0;border-radius:10px;padding:12px 18px;font-weight:800;cursor:pointer;background:#111827;color:#fff;text-decoration:none}.btn.alt{background:#fff;color:#111827;border:1px solid #d0d5dd}.btn.warn{background:var(--accent)}.btn.red{background:var(--red)}.btn.green{background:var(--green)}
.option{display:block;width:100%;text-align:left;padding:14px;border:2px solid #e5e7eb;border-radius:12px;background:#fff;margin:10px 0;cursor:pointer;font-weight:700}.option.selected{border-color:#111827;background:#f3f4f6}.option:disabled{cursor:not-allowed;opacity:.8}
.timer{font-size:42px;font-weight:900;text-align:center;margin:12px}.rank{font-size:46px;font-weight:900}.pill{display:inline-block;padding:7px 10px;border-radius:999px;background:#f3f4f6;font-weight:800}.flash{background:#fff7ed;border:1px solid #fed7aa;padding:12px;border-radius:10px;margin-bottom:12px}.topbar{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:18px}.qimg{max-width:100%;border-radius:12px;border:1px solid var(--line)}table{width:100%;border-collapse:collapse}th,td{padding:10px;border-bottom:1px solid var(--line);text-align:left;vertical-align:top}.bigstat{font-size:28px;font-weight:900}.ok{color:var(--green)}.bad{color:var(--red)}

/* Rich DOCX / mathematical content */
.question-rich{font-family:"Cambria Math","STIX Two Math","Times New Roman",serif;font-size:1.28rem;font-weight:600;line-height:1.65;margin:18px 0;overflow-wrap:anywhere}
.preview-rich{font-size:1.1rem;font-weight:500;margin:10px 0}
.option-rich,.preview-option{font-family:"Cambria Math","STIX Two Math","Times New Roman",serif;line-height:1.55}
.preview-option{padding:8px 12px;margin:6px 0;background:#fafafa;border-radius:10px}
.option{display:flex;align-items:flex-start;gap:10px;text-align:left}
.opt-letter{flex:0 0 24px;font-weight:800}
.option-rich{display:block;flex:1;min-width:0}
.word-math{font-family:"Cambria Math","STIX Two Math","Times New Roman",serif;font-size:1.08em;vertical-align:middle;margin:0 .08em}
math[display="block"]{display:block;margin:.55em 0;overflow-x:auto;overflow-y:hidden}
.inline-docx-img{max-width:100%;height:auto;vertical-align:middle;margin:.2rem .25rem;border-radius:4px}
.docx-line{display:inline}
.math-fallback{font-family:"Cambria Math","Times New Roman",serif;font-style:italic}
.import-question{border-top:1px solid #e9e9e9;padding:18px 0}
@media(max-width:640px){.question-rich{font-size:1.12rem}.preview-rich{font-size:1rem}.word-math{font-size:1.02em}}
.result-answer{padding:12px 14px;margin:10px 0;border:1px solid #e5e7eb;border-radius:12px;background:#fafafa;font-family:"Cambria Math","STIX Two Math","Times New Roman",serif}
.correct-answer{border-color:#b7e4c7;background:#f1fff5}
.result-answer>div{margin-top:6px;font-size:1.05rem}
