/* Question bank list from the API (admin/questions.html). Builds on exams.css (.qb-*), adds only what the live list needs. */
.qb-tabs{margin:0 0 16px}
.qb-filters .select:disabled{color:var(--ink-3);background:var(--paper-2);cursor:not-allowed}
.qb-filters .select[aria-busy="true"]{cursor:progress}
.qb-filters .qb-casc{display:contents}
.qb-filters .qb-sort{margin-left:auto}
.qb-src{display:flex;flex-direction:column;gap:6px;align-items:flex-start;max-width:240px;font-size:var(--t-12);color:var(--ink-2);line-height:1.4}
.qb-table tbody tr.qb-row{cursor:pointer}
.qb-table tbody tr.qb-row:hover td{background:var(--paper)}
.qb-meta .qb-ans{color:var(--ink-1)}
.qb-meta .qb-noans{color:var(--ink-3)}
.qb-foot{flex-wrap:wrap}
.qb-foot .pager{flex-wrap:wrap}
.qb-foot .select{height:34px;min-width:0;width:auto;padding-top:0;padding-bottom:0}
.qb-foot kbd{font:500 var(--t-12) var(--f-body);border:1px solid var(--line-2);border-bottom-width:2px;border-radius:4px;padding:0 4px;background:var(--sheet)}
.qb-keys{font-size:var(--t-12);color:var(--ink-3)}
.qb-range{font-variant-numeric:tabular-nums}
.qb-status{padding:0 16px}
.qb-status .alert{margin:16px 0}

/* skeleton rows while a page loads */
.qb-skel td{padding-top:16px;padding-bottom:16px}
.qb-skel .bar{display:block;height:10px;border-radius:5px;background:var(--paper-2);position:relative;overflow:hidden}
.qb-skel .bar+.bar{margin-top:10px}
.qb-skel .bar::after{content:"";position:absolute;inset:0;transform:translateX(-100%);background:linear-gradient(90deg,transparent,rgba(var(--brand-rgb),.06),transparent);animation:qb-shine 1.2s infinite}
@keyframes qb-shine{to{transform:translateX(100%)}}
@media (prefers-reduced-motion:reduce){.qb-skel .bar::after{animation:none}}
.qb-table[aria-busy="true"] tbody:not(.qb-skel-body){opacity:.55}

/* question drawer */
.qd-body{gap:16px}
.qd-stem{font-size:var(--t-16);line-height:1.6;color:var(--ink-1);white-space:pre-line;overflow-wrap:anywhere}
.qd-img{display:block;max-width:100%;height:auto;border:1px solid var(--line);border-radius:var(--r-md);background:#fff}
.qd-opts{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}
.qd-opts li{display:flex;gap:10px;align-items:flex-start;padding:10px 12px;border:1px solid var(--line);border-radius:var(--r-md);white-space:pre-line;overflow-wrap:anywhere}
.qd-opts .k{flex:none;width:24px;height:24px;border-radius:50%;display:grid;place-items:center;font:600 var(--t-12)/1 var(--f-display);background:var(--paper-2);color:var(--brand-900)}
.qd-opts li.is-answer{border-color:var(--success);background:var(--success-bg)}
.qd-opts li.is-answer .k{background:var(--success);color:#fff}
.qd-opts .ans-word{margin-left:auto;flex:none;display:inline-flex;gap:4px;align-items:center;font:600 var(--t-12)/1 var(--f-body);color:var(--success)}
.qd-answer{padding:10px 12px;border-radius:var(--r-md);background:var(--success-bg);color:var(--ink-1);white-space:pre-line;overflow-wrap:anywhere}
.qd-expl{white-space:pre-line;line-height:1.6;font-size:var(--t-14);overflow-wrap:anywhere}
.qd-sub{font:600 var(--t-14)/1.3 var(--f-display);color:var(--brand-900);margin:0}
.qd-facts{display:grid;grid-template-columns:max-content 1fr;gap:6px 14px;margin:0;font-size:var(--t-14)}
.qd-facts dt{color:var(--ink-2)}
.qd-facts dd{margin:0;overflow-wrap:anywhere}
.qd-facts .tag{margin:0 4px 4px 0}
.qb-filters .select.qb-sort{flex:0 1 220px}
