/* ── Prevent horizontal overflow globally ────────────── */
html,body{overflow-x:hidden !important;max-width:100vw !important}

/* ── Hide verbose exam sections ─────────────────────── */
.mn-exam-clean main > section { display: none !important; }
.mn-exam-clean > .fixed.bottom-0.inset-x-0.z-30 { display: none !important; }

/* ── When checklist is open: show Pre-Exam Guide as fullscreen overlay ── */
.mn-cl-open main > section {
  display: none !important;
}
.mn-cl-open main {
  position: fixed !important;
  inset: 0 !important;
  z-index: 101 !important;
  background: #020617 !important;
  overflow-y: auto !important;
  -webkit-overflow-scrolling: touch;
  padding-top: 3rem !important;
  max-width: 100% !important;
}
.mn-cl-open main > section:nth-child(3) {
  display: block !important;
  border: none !important;
  border-radius: 0 !important;
  background: transparent !important;
  padding: .75rem !important;
  max-width: 32rem;
  margin: 0 auto;
}
.mn-cl-open main > .mn-exam-toolbar,
.mn-cl-open main > .flex.rounded-lg,
.mn-cl-open main > .space-y-4 {
  display: none !important;
}
.mn-cl-open > .fixed.bottom-0 { display: none !important; }

/* ── Overlay header (sticky, outside React) ──────────── */
.mn-checklist-header{
  position:fixed;top:0;left:0;right:0;z-index:102;
  background:rgba(2,6,23,.92);backdrop-filter:blur(12px);
  border-bottom:1px solid rgba(148,163,184,.1);
  padding:.55rem .75rem;display:flex;align-items:center;gap:.5rem;
  transform:translateY(-100%);transition:transform .2s ease;
}
.mn-checklist-header.visible{transform:translateY(0)}
.mn-checklist-header h2{flex:1;font-size:.9rem;font-weight:600;color:#f1f5f9;margin:0}
.mn-checklist-header .mn-cl-close{
  background:none;border:none;color:#94a3b8;cursor:pointer;
  padding:.35rem;border-radius:.35rem;display:flex;align-items:center;justify-content:center;
}
.mn-checklist-header .mn-cl-close:hover{color:#f1f5f9;background:rgba(255,255,255,.06)}

/* Uncheck All style */
.mn-et-uncheck{
  background:rgba(239,68,68,.12) !important;border-color:rgba(239,68,68,.25) !important;color:#fca5a5 !important;
}
.mn-et-uncheck:hover{background:rgba(239,68,68,.2) !important}

/* ── Compact toolbar ─────────────────────────────────── */
.mn-exam-toolbar{
  padding:6px;
  background:linear-gradient(135deg,#0f172a 0%,#1e1b4b 100%);
  border:1px solid rgba(99,102,241,.12);
  border-radius:14px;margin-bottom:10px;
  box-shadow:0 2px 12px rgba(0,0,0,.25);
  font-size:16px !important;
}
.mn-et-title-row{
  display:flex;align-items:center;gap:6px;margin-bottom:6px;
}
.mn-et-title{
  font-size:15px;font-weight:700;color:#e2e8f0;
  cursor:pointer;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;
  max-width:70vw;
}
.mn-et-title:active{opacity:.7}
.mn-et-title-edit{
  font-size:13px;color:#64748b;cursor:pointer;flex-shrink:0;
}
.mn-et-title-edit:active{color:#a5b4fc}
.mn-rename-input{
  width:100%;padding:10px 12px;border-radius:10px;
  border:1px solid rgba(100,116,139,.25);background:#1e293b;
  color:#f1f5f9;font-size:15px;outline:none;
  margin-bottom:14px;box-sizing:border-box;
}
.mn-rename-input:focus{border-color:#6366f1}
.mn-et-row{
  display:flex;align-items:center;gap:5px;
}
.mn-exam-toolbar .mn-et-btn{
  display:inline-flex;align-items:center;gap:4px;
  padding:7px 10px;border-radius:8px;border:none;
  font-size:11.5px !important;font-weight:600;cursor:pointer;
  transition:all .15s ease;white-space:nowrap;
  flex-shrink:0;
}
.mn-exam-toolbar .mn-et-btn:active{transform:scale(.96)}
.mn-exam-toolbar .mn-et-end{
  background:linear-gradient(135deg,#d97706,#b45309);color:#fff;
  box-shadow:0 1px 6px rgba(217,119,6,.25);
}
.mn-exam-toolbar .mn-et-end:hover{opacity:.9}
.mn-exam-toolbar .mn-et-end:disabled{opacity:.4;cursor:not-allowed;box-shadow:none}
.mn-exam-toolbar .mn-et-link{
  background:rgba(56,189,248,.08);border:1px solid rgba(56,189,248,.18);color:#7dd3fc;
}
.mn-exam-toolbar .mn-et-link:hover{background:rgba(56,189,248,.15)}
.mn-exam-toolbar .mn-et-cockpit{
  background:rgba(100,116,139,.08);border:1px solid rgba(100,116,139,.2);color:#94a3b8;
  padding:7px 8px !important;
}
.mn-exam-toolbar .mn-et-cockpit [data-mn-ck-state]{font-weight:700;color:#ef4444}
.mn-exam-toolbar .mn-et-cockpit.active{
  background:rgba(34,197,94,.12);border-color:rgba(34,197,94,.3);color:#86efac;
}
.mn-exam-toolbar .mn-et-cockpit.active [data-mn-ck-state]{color:#4ade80}
.mn-exam-toolbar .mn-et-reports{
  background:rgba(245,158,11,.06);border:1px solid rgba(245,158,11,.18);color:#fbbf24;
  padding:7px 8px !important;
}
.mn-exam-toolbar .mn-et-reports:hover{background:rgba(245,158,11,.12)}
.mn-exam-toolbar .mn-et-badge{
  display:inline-flex;align-items:center;justify-content:center;
  min-width:18px;height:18px;padding:0 5px;
  background:rgba(56,189,248,.15);border-radius:9999px;
  font-size:10px !important;font-weight:700;color:#7dd3fc;
}
.mn-exam-toolbar .mn-et-spacer{flex:1;min-width:0}

/* ── Ensure React tabs are tappable ──────────────────── */
.mn-exam-clean main > .flex.rounded-lg{
  position:relative;z-index:2;
}
.mn-exam-clean main > .flex.rounded-lg button{
  min-height:36px !important;
  padding-top:6px !important;padding-bottom:6px !important;
  font-size:13px !important;
}

/* ── Bottom action bar ───────────────────────────────── */
.mn-exam-bottom{
  position:fixed;bottom:0;inset-inline:0;z-index:50;
  background:rgba(2,6,23,.94);backdrop-filter:blur(14px);
  border-top:1px solid rgba(148,163,184,.1);
  padding:9px 12px calc(9px + env(safe-area-inset-bottom, 0px));
}
.mn-exam-bottom .mn-eb-inner{
  max-width:448px;margin:0 auto;display:flex;gap:10px;align-items:center;
}
.mn-exam-bottom .mn-eb-btn{
  flex:1;display:flex;align-items:center;justify-content:center;gap:6px;
  padding:11px 12px;border-radius:12px;border:none;
  font-size:14px !important;font-weight:600;cursor:pointer;transition:background .12s,opacity .12s;
}
.mn-exam-bottom .mn-eb-camera{background:linear-gradient(135deg,#6366f1,#8b5cf6);color:#fff}
.mn-exam-bottom .mn-eb-camera:hover{opacity:.9}
.mn-exam-bottom .mn-eb-camera.mn-eb-locked{opacity:.35;cursor:pointer}
.mn-exam-bottom .mn-eb-camera svg{width:18px;height:18px}
.mn-exam-bottom{font-size:16px !important}
.mn-exam-bottom .mn-eb-gallery{background:#1e293b;border:1px solid rgba(148,163,184,.18);color:#e2e8f0}
.mn-exam-bottom .mn-eb-gallery:hover{background:#334155}
.mn-exam-bottom .mn-eb-gallery.mn-eb-locked{opacity:.35;cursor:pointer}

/* ── Hide bottom bar when crop/edit modal is open ──────── */
body:has([data-testid="crop-modal"]) .mn-exam-bottom,
body:has(.mn-cam-overlay) .mn-exam-bottom{display:none !important}

/* ── In-app camera capture modal ───────────────────────── */
.mn-cam-overlay{
  position:fixed;inset:0;z-index:10003;
  background:rgba(0,0,0,.94);
  display:flex;align-items:center;justify-content:center;
  padding:12px;
}
.mn-cam-box{
  width:min(100%,520px);
  display:flex;flex-direction:column;gap:12px;
}
.mn-cam-stage{
  position:relative;overflow:hidden;
  border-radius:24px;
  background:#020617;
  border:1px solid rgba(99,102,241,.22);
  min-height:min(72dvh,640px);
  display:flex;align-items:center;justify-content:center;
  box-shadow:0 20px 60px rgba(0,0,0,.45);
}
.mn-cam-video{
  width:100%;height:100%;
  object-fit:cover;background:#000;
}
.mn-cam-loading{
  position:absolute;inset:0;
  display:flex;align-items:center;justify-content:center;
  color:#cbd5e1;font-size:14px;font-weight:600;
  background:linear-gradient(180deg,rgba(2,6,23,.78),rgba(2,6,23,.36));
}
.mn-cam-actions{
  display:flex;gap:10px;
}
.mn-cam-cancel,.mn-cam-shoot{
  flex:1;border:none;border-radius:16px;
  padding:14px 16px;font-size:15px;font-weight:700;
  cursor:pointer;transition:transform .12s,opacity .12s,background .12s;
}
.mn-cam-cancel{
  background:#1e293b;color:#e2e8f0;
  border:1px solid rgba(148,163,184,.18);
}
.mn-cam-shoot{
  background:linear-gradient(135deg,#6366f1,#8b5cf6);
  color:#fff;
}
.mn-cam-cancel:active,.mn-cam-shoot:active{transform:scale(.98)}
.mn-cam-shoot:disabled{opacity:.5;cursor:default}

/* ── Flash reminder modal ──────────────────────────────── */
.mn-flash-reminder{
  position:fixed;inset:0;z-index:10005;
  background:rgba(0,0,0,.7);backdrop-filter:blur(6px);
  display:flex;align-items:center;justify-content:center;
  padding:20px;
  animation:mnFrIn .2s ease-out;
}
@keyframes mnFrIn{from{opacity:0}to{opacity:1}}
.mn-fr-card{
  background:#1e293b;border-radius:20px;
  padding:28px 24px 22px;
  max-width:340px;width:100%;
  text-align:center;
  border:1px solid rgba(250,204,21,.25);
  box-shadow:0 20px 50px rgba(0,0,0,.5);
}
.mn-fr-icon{font-size:40px;margin-bottom:8px}
.mn-fr-title{
  font-size:17px;font-weight:700;color:#fbbf24;
  margin-bottom:8px;
}
.mn-fr-text{
  font-size:14px;color:#cbd5e1;line-height:1.5;
  margin-bottom:16px;
}
.mn-fr-text b{color:#fbbf24}
.mn-fr-check{
  display:flex;align-items:center;justify-content:center;gap:8px;
  font-size:13px;color:#94a3b8;cursor:pointer;
  margin-bottom:18px;
}
.mn-fr-check input{
  width:18px;height:18px;accent-color:#6366f1;cursor:pointer;
}
.mn-fr-ok{
  width:100%;border:none;border-radius:14px;
  padding:14px;font-size:15px;font-weight:700;
  background:linear-gradient(135deg,#6366f1,#8b5cf6);color:#fff;
  cursor:pointer;
  transition:transform .12s,opacity .12s;
}
.mn-fr-ok:active{transform:scale(.97)}

/* ── Push floating buttons above bottom bar on exam pages ── */
@media (max-width: 768px) {
  body.mn-exam-active [data-testid="readability-toggle"]{bottom:108px !important}
  body.mn-exam-active [data-testid="bandwidth-toggle"]{bottom:160px !important}
  body.mn-exam-active .mn-chat-fab{bottom:108px !important}
  body.mn-exam-active .mn-fab-collapse{bottom:76px !important}

  /* When Aa readability is ON, bottom bar is taller — push everything higher */
  body.mn-exam-active.mn-aa-active [data-testid="readability-toggle"]{bottom:132px !important}
  body.mn-exam-active.mn-aa-active [data-testid="bandwidth-toggle"]{bottom:184px !important}
  body.mn-exam-active.mn-aa-active .mn-chat-fab{bottom:132px !important}
  body.mn-exam-active.mn-aa-active .mn-fab-collapse{bottom:94px !important}
}

/* ── Checklist item enhancements ─────────────────────── */
.mn-cl-item-text{
  display:block;color:#e2e8f0;font-size:.85rem;line-height:1.5;
  padding:.4rem 0;word-break:break-word;
}
.mn-cl-edit-btn{
  position:absolute;top:.4rem;right:.3rem;
  background:rgba(255,255,255,.05);border:none;color:#64748b;cursor:pointer;
  font-size:.8rem;padding:.2rem .35rem;border-radius:.25rem;
  transition:color .12s,background .12s;line-height:1;
}
.mn-cl-edit-btn:hover{color:#e2e8f0;background:rgba(255,255,255,.1)}
.mn-cl-textarea-compact{
  font-size:.72rem !important;min-height:1.8rem !important;padding:.3rem .45rem !important;
}

/* Tooltip — appears below the element */
.mn-tooltip{position:relative}
.mn-tooltip::after{
  content:attr(data-tip);position:absolute;top:calc(100% + .4rem);left:0;
  background:#1e293b;color:#e2e8f0;
  border:1px solid rgba(148,163,184,.15);
  padding:.35rem .55rem;border-radius:.4rem;font-size:.7rem;font-weight:400;
  white-space:normal;width:max-content;max-width:min(12rem, 70vw);
  opacity:0;pointer-events:none;transition:opacity .15s;z-index:200;
  box-shadow:0 4px 12px rgba(0,0,0,.35);line-height:1.4;
}
.mn-tooltip:hover::after,.mn-tooltip:focus::after,.mn-tooltip:active::after{opacity:1}
/* Right-side buttons: align tooltip to right edge */
.mn-exam-toolbar .mn-et-cockpit.mn-tooltip::after{left:auto;right:0}

/* ── Question list items: fast touch ─────────────────── */
[data-testid="exam-question-list"] button[data-testid^="question-item-"]{
  touch-action:manipulation;
  -webkit-tap-highlight-color:transparent;
  user-select:none;-webkit-user-select:none;
  transition:border-color .15s, transform .1s, background .1s;
  position:relative;
}
[data-testid="exam-question-list"] button[data-testid^="question-item-"]:active{
  border-color:rgba(99,102,241,.5) !important;
  background:#1a2332 !important;
  transform:scale(.985);
}
button.mn-qi-loading[data-testid^="question-item-"]{
  pointer-events:none;opacity:.7;
}
button.mn-qi-loading[data-testid^="question-item-"]::after{
  content:"";display:block;width:14px;height:14px;
  border:2px solid rgba(99,102,241,.3);border-top-color:#818cf8;
  border-radius:50%;animation:mn-spin .6s linear infinite;
  position:absolute;right:14px;top:50%;margin-top:-7px;
}

/* ── Consensus badge gold override (applied via JS class) ── */
.mn-consensus-gold{
  border-color:rgba(250,204,21,.45) !important;
  background:rgba(250,204,21,.15) !important;
  color:#fcd34d !important;
}

/* ── Disputed badge: bright red, prominent ─────────────── */
.mn-badge-disputed{
  border-color:#dc2626 !important;
  background:rgba(239,68,68,.25) !important;
  color:#f87171 !important;
  font-weight:700 !important;
  text-shadow:0 0 6px rgba(239,68,68,.4);
  animation:mn-disputed-pulse 2s ease-in-out infinite;
}
@keyframes mn-disputed-pulse{
  0%,100%{box-shadow:0 0 4px rgba(239,68,68,.2)}
  50%{box-shadow:0 0 12px rgba(239,68,68,.5)}
}

/* ── Question type badges ──────────────────────────────── */
.mn-type-mcq{
  border-color:rgba(59,130,246,.45) !important;
  background:rgba(59,130,246,.15) !important;
  color:#60a5fa !important;
}
.mn-type-true-false{
  border-color:rgba(232,121,249,.45) !important;
  background:rgba(232,121,249,.15) !important;
  color:#e879f9 !important;
}
.mn-type-descriptive{
  border-color:rgba(45,212,191,.45) !important;
  background:rgba(45,212,191,.15) !important;
  color:#2dd4bf !important;
}

/* ── Stage badges ──────────────────────────────────────── */
.mn-stage-initial{
  border-color:rgba(56,189,248,.45) !important;
  background:rgba(56,189,248,.15) !important;
  color:#38bdf8 !important;
}
.mn-stage-debate{
  border-color:rgba(251,146,60,.45) !important;
  background:rgba(251,146,60,.15) !important;
  color:#fb923c !important;
}
.mn-stage-revision{
  border-color:rgba(167,139,250,.45) !important;
  background:rgba(167,139,250,.15) !important;
  color:#a78bfa !important;
}
.mn-stage-judge{
  border-color:rgba(240,171,252,.45) !important;
  background:rgba(240,171,252,.15) !important;
  color:#f0abfc !important;
}
.mn-stage-final{
  border-color:rgba(52,211,153,.45) !important;
  background:rgba(52,211,153,.15) !important;
  color:#34d399 !important;
}
.mn-stage-web-verify{
  border-color:rgba(251,191,36,.5) !important;
  background:rgba(251,191,36,.15) !important;
  color:#fbbf24 !important;
  text-shadow:0 0 6px rgba(251,191,36,.3);
  animation:mn-web-pulse 2.5s ease-in-out infinite;
}
@keyframes mn-web-pulse{
  0%,100%{box-shadow:0 0 4px rgba(251,191,36,.15)}
  50%{box-shadow:0 0 10px rgba(251,191,36,.35)}
}
.mn-stage-web-judge{
  border-color:rgba(244,114,182,.5) !important;
  background:rgba(244,114,182,.15) !important;
  color:#f472b6 !important;
}

/* ── Complete / Partial badges ─────────────────────────── */
.mn-badge-complete{
  border-color:rgba(52,211,153,.45) !important;
  background:rgba(52,211,153,.15) !important;
  color:#34d399 !important;
}
.mn-badge-partial{
  border-color:rgba(244,114,182,.45) !important;
  background:rgba(244,114,182,.15) !important;
  color:#f472b6 !important;
}

/* ── Solving live badge ────────────────────────────────── */
.mn-badge-solving{
  border-color:rgba(129,140,248,.45) !important;
  background:rgba(129,140,248,.15) !important;
  color:#818cf8 !important;
}

/* ── Question detail → modal overlay ─────────────────── */
[data-testid="question-detail-panel"]{
  position:fixed !important;
  inset:0 !important;
  z-index:200 !important;
  margin:0 !important;
  border:none !important;
  border-radius:0 !important;
  background:#020617 !important;
  overflow-y:auto !important;
  -webkit-overflow-scrolling:touch;
  padding:16px 16px calc(16px + env(safe-area-inset-bottom, 0px)) !important;
  animation:mn-modal-in .2s ease;
}
@keyframes mn-modal-in{
  from{opacity:0;transform:translateY(40px)}
  to{opacity:1;transform:translateY(0)}
}
@keyframes mn-spin{to{transform:rotate(360deg)}}
[data-testid="question-detail-panel"] > div:first-child{
  position:sticky;top:0;z-index:2;
  background:#020617;
  padding-bottom:10px;
  margin-bottom:4px;
  border-bottom:1px solid rgba(148,163,184,.1);
}
[data-testid="question-detail-panel"] > div:first-child button{
  min-width:60px;min-height:40px;
  font-size:13px !important;font-weight:600;
  border-radius:10px;
}
/* Hide floating buttons & bottom bar when question modal is open */
body:has([data-testid="question-detail-panel"]) .mn-exam-bottom,
body:has([data-testid="question-detail-panel"]) .mn-chat-fab,
body:has([data-testid="question-detail-panel"]) .mn-fab-collapse,
body:has([data-testid="question-detail-panel"]) [data-testid="readability-toggle"],
body:has([data-testid="question-detail-panel"]) [data-testid="bandwidth-toggle"]{
  display:none !important;
}

/* ── React panel: answer preview → blue tint (not green) to separate from correct-option green ── */
[data-testid="question-detail-panel"] .border-indigo-900\/40{
  border-color:rgba(59,130,246,.25) !important;
  background:linear-gradient(135deg,rgba(59,130,246,.08),rgba(99,102,241,.04)) !important;
}

/* ── Hide React Answers tab when compact overlay active ─ */
.mn-exam-clean [data-testid="answers-tab-panel"]{display:none !important}

/* ── Fix raw markdown rendering in answer previews ────── */
.whitespace-pre-wrap{word-break:break-word !important;overflow-wrap:break-word !important}
.mn-md-code{background:rgba(99,102,241,.12);padding:1px 5px;border-radius:4px;font-size:.88em;font-family:monospace}
.mn-md-pre{background:rgba(15,23,42,.8);border:1px solid rgba(100,116,139,.2);border-radius:8px;padding:10px 12px;font-size:.85em;font-family:monospace;overflow-x:auto;white-space:pre-wrap;word-break:break-word;margin:8px 0}
.mn-md-h1{display:block;font-size:1.2em;font-weight:700;margin:12px 0 6px;color:#f1f5f9}
.mn-md-h2{display:block;font-size:1.1em;font-weight:700;margin:10px 0 5px;color:#e2e8f0}
.mn-md-h3{display:block;font-size:1.02em;font-weight:600;margin:8px 0 4px;color:#cbd5e1}
.mn-md-h4{display:block;font-size:.95em;font-weight:600;margin:6px 0 3px;color:#94a3b8}
.mn-md-li{display:block;padding-left:14px;margin:3px 0;line-height:1.5}
.mn-qm-answer{
  word-break:break-word !important;overflow-wrap:break-word !important;
  hyphens:auto;max-width:100%;
}
.mn-qm-answer strong{color:#f1f5f9}
.mn-qm-answer em{color:#a5b4fc;font-style:italic}

/* ── Compact Answers overlay ──────────────────────────── */
.mn-compact-answers{padding:4px 0}
.mn-ans-row{
  background:#111827;border:1px solid rgba(148,163,184,.1);
  border-radius:12px;padding:10px 14px;margin-bottom:8px;cursor:pointer;
  transition:border-color .15s, transform .1s, background .1s;
  touch-action:manipulation;
  -webkit-tap-highlight-color:transparent;
  user-select:none;-webkit-user-select:none;
}
.mn-ans-row:hover{border-color:rgba(99,102,241,.35)}
.mn-ans-row:active,.mn-ans-row.mn-ans-pressed{
  border-color:rgba(99,102,241,.5);background:#1a2332;
  transform:scale(.985);
}
.mn-ans-row.mn-ans-loading{
  pointer-events:none;opacity:.7;
}
.mn-ans-row.mn-ans-loading::after{
  content:"";display:inline-block;width:14px;height:14px;
  border:2px solid rgba(99,102,241,.3);border-top-color:#818cf8;
  border-radius:50%;animation:mn-spin .6s linear infinite;
  position:absolute;right:14px;top:50%;margin-top:-7px;
}
.mn-ans-row{position:relative}
.mn-ans-head{display:flex;align-items:center;gap:4px;flex-wrap:nowrap;margin-bottom:4px}
.mn-ans-label{
  font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;
  color:#818cf8;
}
.mn-ans-badge{
  display:inline-block;font-size:10px;font-weight:600;
  padding:1px 6px;border-radius:9999px;border:1px solid;
}
.mn-ans-img-badge{
  border-color:rgba(56,189,248,.3);color:#38bdf8;font-size:11px;
  padding:0 4px;
}
.mn-ans-q{font-size:12px;color:#9ca3af;line-height:1.4;margin-bottom:6px}
.mn-ans-result{margin-top:4px}
.mn-ans-primary{display:flex;flex-wrap:wrap;align-items:center;gap:5px;margin-bottom:4px}
.mn-ans-chip{
  display:inline-flex;align-items:center;
  font-size:11px;font-weight:600;padding:3px 8px;border-radius:6px;
  line-height:1.3;
}
.mn-ans-consensus{
  background:rgba(250,204,21,.1);color:#fcd34d;
  border:1px solid rgba(250,204,21,.3);
  font-size:12px;font-weight:700;
}
.mn-ans-gpt{background:rgba(99,102,241,.12);color:#a5b4fc;border:1px solid rgba(99,102,241,.2)}
.mn-ans-secondary{
  display:flex;flex-wrap:wrap;gap:4px 10px;
  padding:4px 0 0;border-top:1px solid rgba(148,163,184,.06);
}
.mn-ans-model{font-size:10px;line-height:1.4;color:#9ca3af}
.mn-ans-mn{color:#6b7280;font-weight:600}
.mn-ans-mc{color:#d1d5db;font-weight:500}
.mn-ans-dissent-label{font-size:10px;font-weight:700;color:#f59e0b;margin-right:2px}
.mn-ans-dissent .mn-ans-mc{color:#fbbf24}
.mn-ans-arrow{color:#6b7280;font-size:10px;margin:0 2px;vertical-align:middle}
.mn-ans-ini{color:#6b7280;text-decoration:line-through;font-size:10px}
.mn-ans-dissent-choice{color:#fbbf24!important}
.mn-ans-model-count{font-size:11px;font-weight:600;color:#818cf8}
.mn-ans-desc-preview{font-size:11px;color:#9ca3af;line-height:1.5;margin:4px 0}
.mn-ans-preview{font-size:12px;color:#d1d5db;line-height:1.4}
.mn-ans-waiting{font-size:11px;color:#4b5563;font-style:italic}
.mn-ans-detail-link{
  font-size:11px;font-weight:600;color:#818cf8;cursor:pointer;
}
.mn-ans-empty{text-align:center;padding:32px 0;font-size:13px;color:#6b7280}

/* ── Custom Question Modal ────────────────────────────── */
.mn-q-modal{
  position:fixed;inset:0;z-index:200;
  background:#020617;overflow-y:auto;
  -webkit-overflow-scrolling:touch;
  animation:mn-modal-in .2s ease;
}
.mn-qm-header{
  position:sticky;top:0;z-index:2;background:#020617;
  display:flex;align-items:center;justify-content:space-between;
  padding:14px 16px 10px;border-bottom:1px solid rgba(148,163,184,.1);
}
.mn-qm-label{font-size:13px;font-weight:700;color:#818cf8;text-transform:uppercase;letter-spacing:.06em}
.mn-qm-type{font-size:11px;color:#6b7280;margin-top:2px}
.mn-qm-close{
  width:36px;height:36px;border-radius:8px;border:none;
  background:#1e293b;color:#94a3b8;font-size:16px;cursor:pointer;
  display:flex;align-items:center;justify-content:center;
}
.mn-qm-close:hover{background:#334155;color:#f1f5f9}
.mn-qm-body{padding:16px}
.mn-qm-text{font-size:14px;line-height:1.7;color:#e2e8f0;margin-bottom:16px}
.mn-qm-section{margin-bottom:16px}
.mn-qm-sh{
  font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.1em;
  color:#6b7280;margin-bottom:8px;
}
.mn-qm-choice{
  display:inline-block;font-size:20px;font-weight:800;
  color:#34d399;margin-bottom:8px;
}
.mn-qm-answer{
  font-size:13px;line-height:1.75;color:#d1d5db;
  padding:10px 12px;background:#111827;border-radius:10px;
  margin-bottom:8px;word-break:break-word;
}
.mn-qm-answer strong{color:#f1f5f9}
.mn-qm-answer em{color:#a5b4fc}
.mn-qm-stage{
  font-size:9px;font-weight:600;padding:1px 5px;border-radius:4px;
  background:rgba(99,102,241,.15);color:#a5b4fc;vertical-align:middle;
}
.mn-qm-achoice{
  font-size:12px;font-weight:800;color:#34d399;vertical-align:middle;
}
.mn-qm-changed-badge{
  font-size:9px;font-weight:600;color:#fb923c;background:rgba(251,146,60,.15);
  border:1px solid rgba(251,146,60,.3);border-radius:4px;padding:1px 5px;
  margin-left:6px;vertical-align:middle;text-transform:uppercase;letter-spacing:.4px;
}
.mn-qm-time{font-size:10px;color:#4b5563;vertical-align:middle}
.mn-qm-option{
  font-size:13px;line-height:1.6;color:#d1d5db;
  padding:8px 12px;background:#111827;border-radius:8px;margin-bottom:5px;
  border-left:3px solid transparent;transition:all .2s ease;
  position:relative;
}
.mn-qm-option .mn-qm-opt-label{
  font-weight:700;margin-right:4px;color:#9ca3af;
}
.mn-qm-opt-correct .mn-qm-opt-label{
  color:#34d399 !important;
}
.mn-qm-src{font-size:11px;color:#6b7280;padding:6px 10px;background:#111827;border-radius:8px;margin-bottom:4px}
.mn-qm-src-clickable{cursor:pointer;display:flex;align-items:center;gap:6px;transition:border-color .15s;border:1px solid transparent}
.mn-qm-src-clickable:hover,.mn-qm-src-clickable:active{border-color:rgba(99,102,241,.3);background:#1e293b}
.mn-qm-src-thumb{font-size:16px}
.mn-qm-src-name{color:#d1d5db;font-weight:500}
.mn-qm-src-view{margin-left:auto;color:#818cf8;font-weight:600;font-size:10px}
.mn-qm-src-row{display:flex;align-items:center;gap:6px;margin-bottom:4px}
.mn-qm-src-row .mn-qm-src{flex:1;margin-bottom:0}
.mn-qm-reextract{
  padding:4px 8px;border-radius:6px;border:1px solid rgba(251,191,36,.25);
  background:rgba(251,191,36,.08);color:#fbbf24;font-size:10px;font-weight:600;
  cursor:pointer;white-space:nowrap;flex-shrink:0;
}
.mn-qm-reextract:hover{background:rgba(251,191,36,.18)}
.mn-qm-reextract:disabled{opacity:.5;cursor:default}
.mn-qm-models{color:#4b5563;font-size:10px}
.mn-qm-empty{font-size:13px;color:#4b5563;font-style:italic;text-align:center;padding:24px 0}
.mn-qm-opt-correct{
  border:1px solid rgba(16,185,129,.45) !important;
  border-left:3px solid #10b981 !important;
  background:linear-gradient(90deg,rgba(16,185,129,.14) 0%,rgba(16,185,129,.06) 100%) !important;
  box-shadow:0 0 12px rgba(16,185,129,.08);
}
.mn-qm-opt-correct .mn-qm-opt-text{color:#e2e8f0;font-weight:500}
.mn-qm-opt-badge{
  display:inline-flex;align-items:center;gap:3px;
  background:rgba(16,185,129,.18);color:#34d399;
  font-size:9px;font-weight:700;text-transform:uppercase;letter-spacing:.5px;
  padding:2px 7px;border-radius:4px;margin-left:8px;vertical-align:middle;
  border:1px solid rgba(16,185,129,.25);
}
.mn-qm-opt-badge svg{width:10px;height:10px;fill:currentColor}
.mn-qm-opt-check{color:#34d399;font-weight:700;margin-left:4px;display:none}
.mn-qm-consensus-block{
  border:1px solid rgba(59,130,246,.3);border-radius:12px;padding:10px 12px;
  background:linear-gradient(135deg,rgba(59,130,246,.08) 0%,rgba(99,102,241,.04) 100%);
}
.mn-qm-consensus-block .mn-qm-sh{color:#60a5fa !important}
.mn-qm-consensus-block .mn-qm-choice{color:#93c5fd;font-weight:700}
.mn-qm-model-block{
  border:1px solid rgba(100,116,139,.15);border-radius:12px;
  padding:10px 12px;background:rgba(30,41,59,.5);margin-bottom:8px;
}
.mn-qm-model-header{
  display:flex;align-items:center;justify-content:space-between;
  margin-bottom:6px;padding-bottom:6px;border-bottom:1px solid rgba(100,116,139,.12);
}
.mn-qm-model-name{font-size:13px;font-weight:700;color:#e2e8f0}
.mn-qm-model-stage{margin-top:4px}
.mn-qm-stage-header{
  display:flex;align-items:center;gap:6px;margin-bottom:3px;
}
.mn-qm-stage-choice{
  font-size:11px;font-weight:700;color:#34d399;
  background:rgba(16,185,129,.1);padding:1px 5px;border-radius:4px;
}
.mn-qm-header-btns{display:flex;gap:8px;align-items:center}
.mn-qm-resolve{
  padding:6px 12px;border-radius:8px;border:1px solid rgba(99,102,241,.3);
  background:rgba(99,102,241,.1);color:#a5b4fc;font-size:12px;font-weight:600;
  cursor:pointer;white-space:nowrap;
}
.mn-qm-resolve:hover{background:rgba(99,102,241,.2)}
.mn-qm-resolve:disabled{opacity:.5;cursor:default}

/* ── Timing report ──────────────────── */
.mn-qm-timing{font-size:11px}
.mn-qm-timing-row{display:flex;align-items:center;gap:6px;padding:4px 8px;border-bottom:1px solid rgba(148,163,184,.06)}
.mn-qm-timing-model{flex:1;color:#9ca3af;font-weight:500;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.mn-qm-timing-stage{color:#4b5563;font-size:9px;width:50px;text-align:center}
.mn-qm-timing-val{color:#d1d5db;font-weight:700;font-variant-numeric:tabular-nums;width:60px;text-align:right}
.mn-qm-timing-stage-total{border-top:1px dashed rgba(148,163,184,.1);background:rgba(99,102,241,.04)}
.mn-qm-timing-stage-total .mn-qm-timing-model{color:#a5b4fc;font-weight:600;font-style:italic;font-size:10px}
.mn-qm-timing-stage-total .mn-qm-timing-val{color:#a5b4fc;font-size:10px}
.mn-qm-timing-total{border-top:1px solid rgba(148,163,184,.15);border-bottom:none;margin-top:4px;padding-top:6px}
.mn-qm-timing-total .mn-qm-timing-model{color:#818cf8;font-weight:700}
.mn-qm-timing-total .mn-qm-timing-val{color:#818cf8}

/* ── Image viewer ──────────────────── */
.mn-img-viewer{
  position:fixed;inset:0;z-index:300;background:rgba(0,0,0,.92);
  display:flex;flex-direction:column;animation:mn-modal-in .2s ease;
}
.mn-iv-header{display:flex;justify-content:flex-end;padding:12px 16px}
.mn-iv-body{flex:1;display:flex;align-items:center;justify-content:center;overflow:auto;padding:8px}
.mn-iv-img{max-width:100%;max-height:100%;object-fit:contain;border-radius:8px}

/* Hide floating buttons & bottom bar when custom question modal is open */
body:has(#mn-q-modal) .mn-exam-bottom,
body:has(#mn-q-modal) .mn-chat-fab,
body:has(#mn-q-modal) .mn-fab-collapse,
body:has(#mn-q-modal) [data-testid="readability-toggle"],
body:has(#mn-q-modal) [data-testid="bandwidth-toggle"]{
  display:none !important;
}

/* ── Fix React modals on mobile (End Exam, confirmations, etc.) ── */
.fixed.inset-0.z-50.backdrop-blur-sm,
.fixed.inset-0.z-50.items-center.justify-center,
.fixed.inset-0.z-50.items-end{
  overflow-y:auto !important;
  -webkit-overflow-scrolling:touch;
  padding:16px !important;
  box-sizing:border-box !important;
}
@media(max-height:500px){
  .fixed.inset-0.z-50.backdrop-blur-sm,
  .fixed.inset-0.z-50.items-center.justify-center,
  .fixed.inset-0.z-50.items-end{
    align-items:flex-start !important;
  }
}
.fixed.inset-0.z-50.backdrop-blur-sm > div,
.fixed.inset-0.z-50.items-center.justify-center > div,
.fixed.inset-0.z-50.items-end > div{
  max-height:calc(100vh - 32px) !important;
  max-height:calc(100dvh - 32px) !important;
  overflow-y:auto !important;
  -webkit-overflow-scrolling:touch;
  flex-shrink:0 !important;
  width:100% !important;
  max-width:min(92vw, 480px) !important;
}

/* ── Checklist blocked modal ─────────────────────────── */
.mn-blocked-overlay{
  position:fixed;inset:0;z-index:10001;
  background:rgba(0,0,0,.7);backdrop-filter:blur(4px);
  display:flex;align-items:center;justify-content:center;
  padding:16px;box-sizing:border-box;
}
.mn-blocked-box{
  background:#0f172a;border:1px solid rgba(245,158,11,.2);
  border-radius:18px;padding:28px 22px 22px;
  width:min(92vw,380px);text-align:center;
  box-shadow:0 12px 40px rgba(0,0,0,.6);
}
.mn-blocked-icon{font-size:36px;margin-bottom:10px}
.mn-blocked-title{
  font-size:17px;font-weight:700;color:#f1f5f9;margin:0 0 10px;
}
.mn-blocked-desc{
  font-size:13px;color:#94a3b8;margin:0 0 18px;line-height:1.55;
}
.mn-blocked-progress{margin-bottom:20px}
.mn-blocked-bar{
  height:6px;border-radius:3px;background:rgba(100,116,139,.2);
  overflow:hidden;margin-bottom:6px;
}
.mn-blocked-fill{
  height:100%;border-radius:3px;
  background:linear-gradient(90deg,#f59e0b,#d97706);
  transition:width .3s;
}
.mn-blocked-count{font-size:12px;color:#64748b;font-weight:500}
.mn-blocked-actions{display:flex;gap:10px}
.mn-blocked-btn{
  flex:1;padding:11px 0;border-radius:10px;
  font-size:14px;font-weight:600;border:none;cursor:pointer;
}
.mn-blocked-go{background:#f59e0b;color:#000}
.mn-blocked-go:active{background:#d97706}
.mn-blocked-close{background:rgba(100,116,139,.15);color:#94a3b8}
.mn-blocked-close:active{background:rgba(100,116,139,.25)}

/* ── Exam completed state ────────────────────────────── */
.mn-et-ended{
  background:rgba(34,197,94,.15) !important;
  color:#4ade80 !important;border:1px solid rgba(34,197,94,.25) !important;
  cursor:default !important;box-shadow:none !important;
}
.mn-exam-completed .mn-eb-inner{display:none !important}

/* ── Reports toolbar button ──────────────────────────── */
.mn-et-reports-badge{
  background:rgba(245,158,11,.8);color:#000;font-size:10px;font-weight:700;
  padding:1px 6px;border-radius:8px;margin-left:2px;
}

/* ── Answer row flag button & badge ─────────────────── */
.mn-ans-flag{
  background:none;border:none;color:#64748b;font-size:14px;
  cursor:pointer;padding:2px 6px;margin-left:auto;line-height:1;
  transition:color .15s;flex-shrink:0;
}
.mn-ans-flag:hover,.mn-ans-flag:active{color:#f59e0b}
.mn-ans-report-badge{
  font-size:10px;color:#f59e0b;font-weight:700;margin-left:4px;
}
/* ── Question modal report button ───────────────────── */
.mn-qm-report{
  background:none;border:1px solid rgba(245,158,11,.3);color:#f59e0b;
  font-size:14px;border-radius:8px;padding:4px 8px;cursor:pointer;
  transition:background .15s;
}
.mn-qm-report:hover{background:rgba(245,158,11,.1)}

/* ── Report quick-select modal ──────────────────────── */
.mn-rpm-overlay{
  position:fixed;inset:0;z-index:10002;
  background:rgba(0,0,0,.7);backdrop-filter:blur(4px);
  display:flex;align-items:flex-end;justify-content:center;
  padding:0;box-sizing:border-box;
}
@media(min-height:500px){
  .mn-rpm-overlay{align-items:center;padding:16px}
}
.mn-rpm-box{
  background:#0f172a;
  border:1px solid rgba(245,158,11,.25);
  border-radius:20px 20px 0 0;
  padding:20px 16px;width:100%;max-width:440px;
  max-height:calc(100dvh - 16px);overflow-y:auto;
  -webkit-overflow-scrolling:touch;
  box-shadow:0 -8px 40px rgba(0,0,0,.5);
}
@media(min-height:500px){
  .mn-rpm-box{border-radius:16px}
}
.mn-rpm-header{
  display:flex;align-items:center;justify-content:space-between;
  margin-bottom:14px;
}
.mn-rpm-title{font-size:16px;font-weight:700;color:#f1f5f9;margin:0}
.mn-rpm-close{
  background:none;border:none;color:#94a3b8;font-size:20px;
  cursor:pointer;padding:4px;
}
.mn-rpm-types{display:flex;flex-direction:column;gap:6px;margin-bottom:14px}
.mn-rpm-type-btn{
  display:flex;align-items:center;gap:12px;
  background:rgba(30,41,59,.6);border:1px solid rgba(100,116,139,.15);
  border-radius:12px;padding:10px 14px;cursor:pointer;
  text-align:left;transition:border-color .15s,background .15s;
  color:#e2e8f0;
}
.mn-rpm-type-btn:hover{border-color:rgba(245,158,11,.3);background:rgba(245,158,11,.04)}
.mn-rpm-type-btn.mn-rpm-selected{
  border-color:#f59e0b;background:rgba(245,158,11,.08);
}
.mn-rpm-type-icon{font-size:20px;flex-shrink:0;width:28px;text-align:center}
.mn-rpm-type-info{display:flex;flex-direction:column;min-width:0}
.mn-rpm-type-label{font-size:13px;font-weight:600;color:#f1f5f9}
.mn-rpm-type-desc{font-size:11px;color:#64748b;margin-top:1px}
.mn-rpm-note{
  width:100%;box-sizing:border-box;
  background:rgba(30,41,59,.6);border:1px solid rgba(100,116,139,.15);
  border-radius:10px;padding:10px 12px;
  font-size:13px;color:#e2e8f0;resize:none;
  min-height:48px;max-height:100px;
  margin-bottom:12px;
  font-family:inherit;
}
.mn-rpm-note::placeholder{color:#475569}
.mn-rpm-actions{display:flex;gap:10px}
.mn-rpm-cancel,.mn-rpm-submit{
  flex:1;padding:10px 0;border-radius:10px;
  font-size:14px;font-weight:600;border:none;cursor:pointer;
}
.mn-rpm-cancel{background:rgba(100,116,139,.15);color:#94a3b8}
.mn-rpm-submit{background:#f59e0b;color:#000}
.mn-rpm-submit:disabled{opacity:.4;cursor:not-allowed}

/* ── Reports viewer modal ───────────────────────────── */
.mn-rpv-overlay{
  position:fixed;inset:0;z-index:10002;
  background:rgba(0,0,0,.7);backdrop-filter:blur(4px);
  display:flex;align-items:flex-end;justify-content:center;
  padding:0;box-sizing:border-box;
}
@media(min-height:500px){
  .mn-rpv-overlay{align-items:center;padding:16px}
}
.mn-rpv-box{
  background:#0f172a;
  border:1px solid rgba(245,158,11,.25);
  border-radius:20px 20px 0 0;
  padding:20px 16px;width:100%;max-width:480px;
  max-height:calc(85dvh);overflow-y:auto;
  -webkit-overflow-scrolling:touch;
  box-shadow:0 -8px 40px rgba(0,0,0,.5);
}
@media(min-height:500px){
  .mn-rpv-box{border-radius:16px}
}
.mn-rpv-header{
  display:flex;align-items:center;justify-content:space-between;
  margin-bottom:14px;
}
.mn-rpv-title{font-size:16px;font-weight:700;color:#f1f5f9;margin:0}
.mn-rpv-close{background:none;border:none;color:#94a3b8;font-size:20px;cursor:pointer}
.mn-rpv-loading,.mn-rpv-empty{font-size:13px;color:#64748b;text-align:center;padding:20px 0}
.mn-rpv-card{
  background:rgba(30,41,59,.6);border:1px solid rgba(245,158,11,.15);
  border-radius:12px;padding:12px;margin-bottom:8px;
}
.mn-rpv-card.mn-rpv-resolved{opacity:.6;border-color:rgba(100,116,139,.1)}
.mn-rpv-card-head{
  display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-bottom:6px;
}
.mn-rpv-card-q{font-size:13px;font-weight:700;color:#e2e8f0}
.mn-rpv-card-type{font-size:12px;color:#f59e0b}
.mn-rpv-badge-open{
  font-size:10px;background:rgba(245,158,11,.15);color:#f59e0b;
  padding:2px 8px;border-radius:8px;font-weight:600;margin-left:auto;
}
.mn-rpv-badge-resolved{
  font-size:10px;background:rgba(34,197,94,.12);color:#22c55e;
  padding:2px 8px;border-radius:8px;font-weight:600;margin-left:auto;
}
.mn-rpv-card-note{
  font-size:12px;color:#cbd5e1;margin:4px 0 6px;line-height:1.4;
}
.mn-rpv-card-meta{
  display:flex;justify-content:space-between;
  font-size:11px;color:#475569;
}
.mn-rpv-card-resolve-info{
  font-size:11px;color:#22c55e;margin-top:6px;
  padding-top:6px;border-top:1px solid rgba(100,116,139,.1);
}
.mn-rpv-resolve-btn{
  width:100%;margin-top:8px;padding:8px;
  background:rgba(34,197,94,.1);border:1px solid rgba(34,197,94,.25);
  color:#22c55e;border-radius:8px;font-size:13px;font-weight:600;
  cursor:pointer;transition:background .15s;
}
.mn-rpv-resolve-btn:hover{background:rgba(34,197,94,.18)}

/* ── End Exam custom modal ────────────────────────────── */
.mn-eem-overlay{
  position:fixed;inset:0;z-index:10001;
  background:rgba(0,0,0,.7);backdrop-filter:blur(4px);
  display:flex;align-items:center;justify-content:center;
  padding:16px;box-sizing:border-box;
  overflow-y:auto;-webkit-overflow-scrolling:touch;
}
.mn-eem-box{
  background:#0f172a;border:1px solid rgba(99,102,241,.3);
  border-radius:16px;padding:24px 20px;
  width:min(92vw,400px);max-height:calc(100dvh - 32px);
  overflow-y:auto;box-shadow:0 12px 40px rgba(0,0,0,.6);
}
.mn-eem-title{
  font-size:18px;font-weight:700;color:#f1f5f9;margin:0 0 8px;
}
.mn-eem-desc{
  font-size:13px;color:#94a3b8;margin:0 0 16px;line-height:1.5;
}
.mn-eem-check-label{
  display:flex;align-items:center;gap:10px;cursor:pointer;
  padding:10px 12px;border-radius:10px;
  background:rgba(99,102,241,.08);border:1px solid rgba(99,102,241,.2);
  margin-bottom:8px;
}
.mn-eem-check-label input[type="checkbox"]{
  width:18px;height:18px;accent-color:#6366f1;flex-shrink:0;
  cursor:pointer;
}
.mn-eem-check-label span{
  font-size:14px;color:#e2e8f0;font-weight:500;
}
.mn-eem-hint{
  font-size:11px;color:#64748b;margin:0 0 20px;padding-left:2px;
}
.mn-eem-actions{
  display:flex;gap:10px;
}
.mn-eem-btn{
  flex:1;padding:10px 0;border-radius:10px;
  font-size:14px;font-weight:600;border:none;cursor:pointer;
  transition:opacity .15s;
}
.mn-eem-btn:disabled{opacity:.5;cursor:not-allowed}
.mn-eem-cancel{
  background:rgba(100,116,139,.15);color:#94a3b8;
}
.mn-eem-cancel:hover:not(:disabled){background:rgba(100,116,139,.25)}
.mn-eem-confirm{
  background:#6366f1;color:#fff;
}
.mn-eem-confirm:hover:not(:disabled){background:#4f46e5}

/* ── Multi-upload progress overlay ────────────────────── */
.mn-multi-upload-overlay{
  position:fixed;bottom:70px;left:50%;transform:translateX(-50%);
  z-index:9998;width:min(92vw,360px);pointer-events:none;
  transition:all .3s cubic-bezier(.4,0,.2,1);
}
.mn-multi-upload-overlay.mn-muo-minimized{
  transform:translateX(0);left:8px;bottom:80px;width:auto;
}
.mn-muo-box{
  background:rgba(15,23,42,.96);backdrop-filter:blur(12px);
  border:1px solid rgba(99,102,241,.35);border-radius:16px;
  padding:12px 14px;pointer-events:auto;
  box-shadow:0 8px 32px rgba(0,0,0,.55);
  transition:all .3s cubic-bezier(.4,0,.2,1);
}
.mn-muo-minimized .mn-muo-box{
  opacity:0;pointer-events:none;height:0;padding:0;overflow:hidden;
  transform:scale(.8) translateY(10px);
}
.mn-muo-header{
  display:flex;align-items:center;justify-content:space-between;margin-bottom:8px;
}
.mn-muo-title{
  font-size:13px;font-weight:700;color:#e2e8f0;
  display:flex;align-items:center;gap:6px;
}
.mn-muo-icon{
  display:inline-flex;align-items:center;justify-content:center;
  width:20px;height:20px;border-radius:6px;
  background:rgba(99,102,241,.2);color:#a5b4fc;font-size:12px;font-weight:800;
}
.mn-muo-collapse{
  width:28px;height:28px;border-radius:8px;border:none;
  background:rgba(255,255,255,.08);color:#94a3b8;
  font-size:18px;font-weight:700;line-height:1;
  cursor:pointer;display:flex;align-items:center;justify-content:center;
  -webkit-tap-highlight-color:transparent;
  transition:background .15s;
}
.mn-muo-collapse:active{background:rgba(255,255,255,.18)}
.mn-muo-body{
  transition:all .3s ease;
}
.mn-muo-bar-bg{
  height:5px;border-radius:3px;background:rgba(100,116,139,.25);overflow:hidden;
}
.mn-muo-bar{
  height:100%;border-radius:3px;width:0;
  background:linear-gradient(90deg,#6366f1,#a78bfa);
  transition:width .35s ease;
}
.mn-muo-status{
  margin-top:5px;font-size:11px;color:#94a3b8;
}
/* ── Collapsed pill ── */
.mn-muo-pill{
  display:none;pointer-events:auto;cursor:pointer;
  -webkit-tap-highlight-color:transparent;
  background:rgba(15,23,42,.95);backdrop-filter:blur(12px);
  border:1px solid rgba(99,102,241,.4);
  border-radius:20px;padding:8px 14px;
  box-shadow:0 4px 20px rgba(0,0,0,.5);
  align-items:center;gap:8px;
  font-size:12px;font-weight:700;color:#e2e8f0;
  transition:transform .15s ease,box-shadow .15s ease;
}
.mn-muo-pill:active{transform:scale(.95)}
.mn-muo-minimized .mn-muo-pill{display:inline-flex}
.mn-muo-pill-icon{
  display:inline-flex;align-items:center;justify-content:center;
  width:18px;height:18px;border-radius:5px;
  background:rgba(99,102,241,.25);color:#a5b4fc;font-size:11px;font-weight:800;
}
.mn-muo-pill-spinner{
  width:14px;height:14px;border-radius:50%;
  border:2px solid rgba(99,102,241,.2);
  border-top-color:#818cf8;
  animation:mn-pill-spin .8s linear infinite;
}
@keyframes mn-pill-spin{to{transform:rotate(360deg)}}

/* ── Self-heal toast ─────────────────────────────────── */
.mn-heal-toast{
  position:fixed;top:-80px;left:50%;transform:translateX(-50%);
  z-index:99999;width:min(92vw,380px);
  display:flex;align-items:center;gap:10px;
  background:rgba(15,23,42,.96);backdrop-filter:blur(12px);
  border:1px solid rgba(99,102,241,.4);border-radius:14px;
  padding:12px 16px;
  box-shadow:0 8px 32px rgba(0,0,0,.6);
  transition:top .4s cubic-bezier(.22,1,.36,1);
  pointer-events:auto;
}
.mn-heal-toast-show{top:16px}
.mn-heal-toast-ok{border-color:rgba(34,197,94,.5)}
.mn-heal-toast-err{border-color:rgba(239,68,68,.5)}
.mn-heal-toast-icon{font-size:22px;flex-shrink:0}
.mn-heal-toast-body{font-size:13px;color:#e2e8f0;line-height:1.4}
.mn-heal-toast-body strong{color:#fff;font-weight:600}

/* ── Report live notification toast ──────────────────── */
.mn-report-notif-new{
  border-color:rgba(239,68,68,.6) !important;
  box-shadow:0 4px 20px rgba(239,68,68,.25);
}
.mn-report-notif-resolved{
  border-color:rgba(34,197,94,.5) !important;
  box-shadow:0 4px 20px rgba(34,197,94,.2);
}

/* ── Report modal heal note ──────────────────────────── */
.mn-rpm-heal-note{
  font-size:12px;color:#a5b4fc;
  background:rgba(99,102,241,.1);border:1px solid rgba(99,102,241,.25);
  border-radius:8px;padding:8px 12px;margin:0 0 8px;
  line-height:1.5;
}

/* ── Coherence check notifications ───────────────────── */
.mn-coherence-started{
  border-color:rgba(99,102,241,.6) !important;
  box-shadow:0 4px 20px rgba(99,102,241,.25);
}
.mn-coherence-passed{
  border-color:rgba(34,197,94,.6) !important;
  box-shadow:0 4px 20px rgba(34,197,94,.3);
}
.mn-coherence-failed{
  border-color:rgba(251,146,60,.6) !important;
  box-shadow:0 4px 20px rgba(251,146,60,.3);
}
.mn-coherence-notif .mn-heal-toast-body em{
  color:#94a3b8;font-size:12px;
}

/* ── Coherence badge next to exam title ──────────────── */
.mn-et-coherence-badge{
  display:inline-flex;align-items:center;justify-content:center;
  width:22px;height:22px;border-radius:50%;
  font-size:13px;font-weight:700;
  margin-left:8px;vertical-align:middle;
  transition:all .3s ease;
}
.mn-coherence-hidden{display:none !important}
.mn-coherence-passed-badge{
  background:rgba(34,197,94,.15);color:#22c55e;
  border:1.5px solid rgba(34,197,94,.5);
  box-shadow:0 0 8px rgba(34,197,94,.3);
}
.mn-coherence-checking-badge{
  background:rgba(99,102,241,.15);color:#818cf8;
  border:1.5px solid rgba(99,102,241,.5);
  animation:mn-coherence-spin 1.2s linear infinite;
}
@keyframes mn-coherence-spin{
  from{transform:rotate(0deg)} to{transform:rotate(360deg)}
}
.mn-coherence-failed-badge{
  background:rgba(251,146,60,.15);color:#fb923c;
  border:1.5px solid rgba(251,146,60,.5);
  animation:mn-coherence-pulse 1.5s ease-in-out infinite;
}
@keyframes mn-coherence-pulse{
  0%,100%{opacity:1} 50%{opacity:.5}
}
.mn-coherence-stale-badge{
  background:rgba(148,163,184,.1);color:#64748b;
  border:1.5px solid rgba(148,163,184,.3);
  opacity:.5;
}

/* ── Delete question button (icon in header row) ────── */
.mn-qp-delete-btn{
  display:flex;align-items:center;justify-content:center;
  flex-shrink:0;
  width:32px;height:32px;border-radius:8px;
  background:rgba(239,68,68,.08);
  border:1px solid rgba(239,68,68,.22);
  color:#f87171;cursor:pointer;
  transition:all .18s ease;
  -webkit-tap-highlight-color:transparent;
  margin-left:4px;
}
.mn-qp-delete-btn svg{width:15px;height:15px;pointer-events:none}
.mn-qp-delete-btn:hover{background:rgba(239,68,68,.15);border-color:rgba(239,68,68,.35);color:#ef4444}
.mn-qp-delete-btn:active{background:rgba(239,68,68,.22);color:#ef4444;transform:scale(.92)}
.mn-qp-delete-btn:disabled{opacity:.25;cursor:default;pointer-events:none}

/* ── Delete confirmation dialog ──────────────────────── */
.mn-del-overlay{
  position:fixed;inset:0;z-index:100010;
  background:rgba(0,0,0,.7);backdrop-filter:blur(4px);
  display:flex;align-items:center;justify-content:center;
}
.mn-del-box{
  background:#1e293b;border:1px solid rgba(239,68,68,.3);
  border-radius:16px;padding:24px;max-width:340px;width:90%;
  text-align:center;
}
.mn-del-title{
  font-size:16px;font-weight:700;color:#f1f5f9;margin:0 0 8px;
}
.mn-del-msg{
  font-size:13px;color:#94a3b8;line-height:1.5;margin:0 0 20px;
}
.mn-del-btns{display:flex;gap:10px;justify-content:center}
.mn-del-cancel{
  padding:8px 20px;border-radius:8px;border:1px solid #334155;
  background:#0f172a;color:#94a3b8;font-size:13px;font-weight:600;cursor:pointer;
}
.mn-del-cancel:hover{background:#1e293b;color:#e2e8f0}
.mn-del-confirm{
  padding:8px 20px;border-radius:8px;border:1px solid rgba(239,68,68,.5);
  background:rgba(239,68,68,.15);color:#f87171;font-size:13px;font-weight:600;cursor:pointer;
}
.mn-del-confirm:hover{background:rgba(239,68,68,.3)}
.mn-del-confirm:disabled{opacity:.5;cursor:default}

/* ── Force React crop modal above upload overlay ──────── */
[data-testid="crop-modal"]{z-index:10000!important}
[data-testid="crop-modal"] ~ *{z-index:auto}

/* ── Image editor (rotate) modal ─────────────────────── */
.mn-ied-overlay{
  position:fixed;inset:0;z-index:100020;
  background:rgba(0,0,0,.95);
  display:flex;align-items:center;justify-content:center;
  padding:16px;
}
.mn-ied-box{
  width:100%;max-width:480px;
  display:flex;flex-direction:column;gap:14px;
}
.mn-ied-preview{
  display:flex;align-items:center;justify-content:center;
  overflow:hidden;border-radius:14px;
  background:#111827;
  max-height:58vh;min-height:200px;
}
.mn-ied-img{
  max-width:100%;max-height:58vh;
  object-fit:contain;
  transition:transform .25s ease;
}
.mn-ied-toolbar{
  display:flex;justify-content:center;gap:12px;
}
.mn-ied-btn{
  display:flex;align-items:center;justify-content:center;
  width:48px;height:48px;border-radius:14px;
  background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.12);
  color:#e2e8f0;cursor:pointer;
  transition:all .15s ease;
  -webkit-tap-highlight-color:transparent;
}
.mn-ied-btn:active{background:rgba(255,255,255,.18);transform:scale(.92)}
.mn-ied-actions{
  display:flex;gap:8px;
}
.mn-ied-cancel,.mn-ied-skip,.mn-ied-done{
  flex:1;padding:14px 8px;border-radius:12px;
  font-size:14px;font-weight:600;border:none;cursor:pointer;
  -webkit-tap-highlight-color:transparent;
  transition:all .15s ease;
}
.mn-ied-cancel{background:rgba(255,255,255,.08);color:#94a3b8}
.mn-ied-cancel:active{background:rgba(255,255,255,.15)}
.mn-ied-skip{background:rgba(99,102,241,.15);color:#a5b4fc;border:1px solid rgba(99,102,241,.3)}
.mn-ied-skip:active{background:rgba(99,102,241,.25)}
.mn-ied-done{
  background:linear-gradient(to right,#4f46e5,#3b82f6);
  color:#fff;
}
.mn-ied-done:active{opacity:.85;transform:scale(.97)}
.mn-ied-done:disabled{opacity:.5;cursor:default}

/* ── Debate journey stages ──────────────────────────── */
.mn-qm-stage-faded{
  opacity:.65;
  border-left:2px solid rgba(100,116,139,.2);
  padding-left:10px;margin-left:2px;
}
.mn-qm-stage-faded .mn-qm-stage{
  background:rgba(100,116,139,.15);color:#94a3b8;
}
.mn-qm-answer-summary{
  font-size:12.5px;color:#b0b8c4;
}
.mn-qm-stage-critique{
  border-left:2px solid rgba(251,146,60,.3);
  padding-left:10px;margin-left:2px;
  margin-bottom:4px;
}
.mn-qm-stage-critique .mn-qm-stage{
  background:rgba(251,146,60,.15);color:#fb923c;
}
.mn-qm-stage-critique .mn-qm-answer{
  font-size:12px;color:#d4a276;font-style:italic;
}
.mn-qm-stage-judge{
  border-left:2px solid rgba(240,171,252,.3);
  padding-left:10px;margin-left:2px;
}
.mn-qm-stage-judge .mn-qm-stage{
  background:rgba(240,171,252,.15);color:#f0abfc;
}
.mn-qm-stage-web{
  border-left:2px solid rgba(251,191,36,.3);
  padding-left:10px;margin-left:2px;
}
.mn-qm-stage-web .mn-qm-stage{
  background:rgba(251,191,36,.15);color:#fbbf24;
}

/* ── KaTeX in list items (compact, inline) ──────────── */
[data-testid="exam-question-list"] .katex{
  font-size:.9em;
  color:inherit;
}
[data-testid="exam-question-list"] .katex-display{
  display:inline !important;
  margin:0 !important;
  text-align:left !important;
}
[data-testid="exam-question-list"] .katex-display > .katex{
  display:inline !important;
}
.mn-ans-qtext .katex,
.mn-ans-preview .katex,
.mn-ans-chip .katex,
.mn-ans-mc .katex,
.mn-qm-achoice .katex,
.mn-qm-choice .katex{
  font-size:.95em;
  color:inherit;
}
.mn-ans-qtext .katex-display,
.mn-ans-preview .katex-display,
.mn-ans-chip .katex-display,
.mn-ans-mc .katex-display,
.mn-qm-achoice .katex-display,
.mn-qm-choice .katex-display{
  display:inline !important;
  margin:0 !important;
}
.mn-ans-qtext .katex-display > .katex,
.mn-ans-preview .katex-display > .katex,
.mn-ans-chip .katex-display > .katex,
.mn-ans-mc .katex-display > .katex,
.mn-qm-achoice .katex-display > .katex,
.mn-qm-choice .katex-display > .katex{
  display:inline !important;
}

/* KaTeX math rendering overrides for dark theme */
.mn-qm-answer .katex,
.mn-qm-text .katex,
.mn-qm-opt-text .katex,
.mn-ans-preview .katex,
.whitespace-pre-wrap .katex,
[data-testid="question-detail-panel"] .katex{
  font-size:1em;
  color:inherit;
}
.mn-qm-answer .katex-display,
.mn-qm-text .katex-display{
  margin:8px 0;
  overflow-x:auto;
  overflow-y:hidden;
  -webkit-overflow-scrolling:touch;
  padding:4px 0;
}
.katex .mathnormal,
.katex .mathit{
  color:inherit;
}
.katex-display > .katex{
  text-align:left;
}
