/* Upload bar + question review used under any "paste your MCQs" box. Colours come from the host page's own variables. */
.qw-import { margin: 0 0 12px; font: inherit; }
.qw-bar { display: flex; flex-wrap: wrap; align-items: center; gap: 10px 14px; }
.qw-file-input { position: absolute; width: 1px; height: 1px; opacity: 0; pointer-events: none; }
.qw-pick {
  display: inline-flex; align-items: center; gap: 8px; min-height: 44px; padding: 0 16px; border-radius: var(--radius-input); cursor: pointer;
  border: 1.5px solid var(--qw-accent, var(--accent, var(--border))); background: transparent; color: var(--qw-accent, var(--accent, var(--text)));
  font: 700 .95rem/1 inherit;
}
.qw-pick:hover { background: color-mix(in srgb, var(--qw-accent, var(--accent, var(--surface-hover))) 12%, transparent); }
.qw-pick:focus-visible, .qw-link:focus-visible, .qw-letter:focus-visible { outline: 3px solid var(--qw-accent, var(--accent, var(--border))); outline-offset: 2px; }
.qw-pick-icon { font-size: 1.1rem; line-height: 1; }
.qw-hint { color: var(--muted, var(--text-muted)); font-size: .88rem; flex: 1 1 240px; }
.qw-status { display: flex; flex-wrap: wrap; align-items: center; gap: 6px 14px; margin-top: 10px; padding: 0; font-size: .95rem; }
.qw-status:empty { display: none; }
.qw-status .qw-status-text { font-weight:600; }
.qw-ok .qw-status-text { color: var(--qw-ok, var(--text)); }
.qw-warn .qw-status-text { color: var(--qw-warn, var(--text)); }
.qw-err .qw-status-text { color: var(--qw-bad, var(--danger)); }
.qw-busy .qw-status-text { color: var(--muted, var(--text-muted)); }
.qw-link { background: none; border: 0; padding: 4px 2px; font: inherit; font-weight:600; color: var(--qw-accent, var(--accent, var(--text))); text-decoration: underline; text-underline-offset: 3px; cursor: pointer; }
.qw-note { margin: 8px 0 0; color: var(--muted, var(--text-muted)); font-size: .9rem; }
.qw-review { margin-top: 12px; border: 1px solid var(--soft-border, var(--line, var(--border))); border-radius: var(--radius-input); padding: 12px; max-height: 520px; overflow: auto; background: var(--card, var(--white, transparent)); }
.qw-review-controls { margin-bottom: 8px; }
.qw-check { display: inline-flex; align-items: center; gap: 8px; font-size: .9rem; cursor: pointer; }
.qw-list { list-style: none; margin: 0; padding: 0; display: grid; gap: 10px; }
.qw-q { border: 1px solid var(--soft-border, var(--line, var(--border))); border-left-width: 4px; border-radius: var(--radius-input); padding: 10px 12px; }
.qw-q-ok { border-left-color: var(--qw-ok, var(--border)); }
.qw-q-bad { border-left-color: var(--qw-bad, var(--danger)); }
.qw-q-head { display: flex; justify-content: space-between; gap: 8px; font-size: .78rem; font-weight:600; letter-spacing: .06em; text-transform: uppercase; color: var(--muted, var(--text-muted)); }
.qw-q-stem { margin: 6px 0; font-weight: 600; line-height: 1.45; white-space: pre-line; }
.qw-opts { list-style: none; margin: 0; padding: 0; display: grid; gap: 4px; font-size: .92rem; }
.qw-opt { padding: 4px 8px; border-radius:var(--radius-input); }
.qw-opt-correct { background: color-mix(in srgb, var(--qw-ok, var(--surface-hover)) 14%, transparent); }
.qw-tick { color: var(--qw-ok, var(--text)); font-weight:600; }
.qw-issues { margin: 8px 0 0; color: var(--qw-bad, var(--danger)); font-size: .86rem; font-weight:600; }
.qw-pickrow { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; margin-top: 8px; font-size: .88rem; }
.qw-letter { min-width: 40px; min-height: 40px; border-radius: var(--radius-input); border: 1.5px solid var(--qw-accent, var(--accent, var(--border))); background: transparent; color: inherit; font: 800 .95rem/1 inherit; cursor: pointer; }
.qw-letter:hover { background: var(--qw-accent, var(--accent, var(--surface-hover))); color: var(--text); }
textarea.qw-drop { outline: 3px dashed var(--qw-accent, var(--accent, var(--border))); outline-offset: 3px; }

.qw-tips { margin-top: 8px; font-size: .9rem; color: var(--muted, var(--text-muted)); }
.qw-tips summary { cursor: pointer; font-weight:600; color: var(--accent-text, var(--text)); width: fit-content; }
.qw-tips ul { margin: 8px 0 0; padding-left: 20px; display: grid; gap: 6px; line-height: 1.5; }
/* remove controls (one question, or every question that needs attention) */
.qw-q-head { position: relative; }
.qw-remove { margin-left: auto; min-height: 30px !important; width: 30px; padding: 0 !important; border-radius:50% !important; font-size: .8rem; line-height: 1; opacity: .55; transition: opacity .2s ease, transform .3s cubic-bezier(.34, 1.56, .64, 1); }
.qw-q:hover .qw-remove, .qw-remove:focus-visible { opacity: 1; transform: rotate(90deg); }
.qw-bulk { margin-left: auto; font-weight:600; }
.qw-review-controls { display: flex; flex-wrap: wrap; align-items: center; gap: 12px; }
.qw-q { animation: qw-q-in .35s cubic-bezier(.22, 1, .36, 1) both; }
@keyframes qw-q-in { from { opacity: 0; transform: translate3d(0, 8px, 0); } to { opacity: 1; transform: none; } }
@media (prefers-reduced-motion: reduce) { .qw-q { animation: none; } }
