/* Read-only question lookup; independent of practice sessions and learning history. */
.qx-modal[hidden],.qx-filters[hidden],.qx-back[hidden]{display:none!important}
.qx-modal{position:fixed;inset:0;z-index:10050;font-family:system-ui,-apple-system,"Microsoft Yahei",sans-serif;color:#172033}
.qx-open{overflow:hidden!important}
.qx-shade{position:absolute;inset:0;background:rgba(16,30,56,.45)}
.qx-dialog{position:absolute;inset:3vh max(12px,calc((100vw - 900px)/2));height:94vh;display:flex;flex-direction:column;overflow:hidden;background:#f8fafc;border-radius:18px;border:1px solid #dae3ee;box-shadow:0 20px 60px rgba(18,35,57,.25)}
.qx-toolbar{display:flex;gap:10px;align-items:center;padding:15px 19px;background:#fff;border-bottom:1px solid #e0e6ee}
.qx-toolbar h2{font-size:20px;line-height:1.4;margin:0;flex:1}
.qx-toolbar button{border:1px solid #d3ddec;background:#fff;border-radius:9px;padding:9px 11px;color:#23496f;cursor:pointer}
.qx-toolbar .qx-close{font-size:24px;line-height:1;min-width:40px;min-height:40px}
.qx-filters{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;padding:16px 19px;background:#fff;border-bottom:1px solid #e5eaf1}
.qx-filters label{font-size:12px;color:#4d5d70;font-weight:700;display:flex;flex-direction:column;gap:5px;min-width:0}
/* Avoid iOS Safari's focus zoom by keeping editable fields >=16px. */
.qx-filters select,.qx-filters input{font:inherit;font-size:16px;font-weight:500;color:#15223a;background:#fff;border:1px solid #cbd4df;border-radius:10px;padding:10px 9px;min-width:0;width:100%;height:44px}
.qx-filters .qx-search-label{grid-column:1/-1}
.qx-filters select:focus,.qx-filters input:focus{outline:2px solid #98bff4;outline-offset:1px}
.qx-content{padding:16px 19px;flex:1;overflow:auto;overscroll-behavior:contain}
.qx-summary{margin:0 0 12px;font-size:14px;color:#637186}
.qx-results{display:flex;flex-direction:column;gap:9px}
.qx-result{display:flex;flex-direction:column;gap:7px;text-align:left;padding:15px 16px;border:1px solid #d9e1eb;background:#fff;border-radius:12px;color:#1d293f;cursor:pointer;font:inherit;min-height:94px}
.qx-result:hover,.qx-result:focus-visible{border-color:#4586de;background:#f3f8ff}
.qx-result-line{font-size:12px;color:#3265a1;font-weight:650}
.qx-result strong{font-size:15px;font-weight:700;white-space:normal;overflow-wrap:anywhere;line-height:1.55}
.qx-result small{color:#707e91;font-size:12px}
.qx-empty{padding:26px 14px;color:#637186;text-align:center}
.qx-pagination{display:flex;align-items:center;justify-content:center;gap:18px;margin-top:16px;font-size:14px}
.qx-pagination button{border:1px solid #cbd7e8;border-radius:10px;padding:10px 16px;background:#fff;font-weight:650;cursor:pointer}
.qx-pagination button:disabled{opacity:.35;cursor:not-allowed}
.qx-detail{background:#fff;padding:20px;border-radius:14px;border:1px solid #dfe6f0;line-height:1.75}
.qx-detail h3{font-size:16px;margin:19px 0 8px;color:#1d314d}
.qx-detail .qx-meta{font-size:13px;font-weight:700;color:#2065bd}
.qx-source{font-size:12px;color:#68758a;margin:6px 0 16px}
.qx-question{font-size:18px;font-weight:600;overflow-wrap:anywhere;white-space:normal}
.qx-material,.qx-explanation,.qx-reference{font-size:15px;white-space:normal;overflow-wrap:anywhere}
.qx-material{border-left:4px solid #286bd8;padding:12px 14px;background:#f2f7ff;border-radius:8px}
.qx-options{display:flex;flex-direction:column;gap:9px}
.qx-option{display:flex;gap:12px;align-items:flex-start;padding:12px;border:1px solid #e0e6ee;border-radius:10px;overflow-wrap:anywhere;font-size:15px}
.qx-option>b{flex:0 0 32px;text-align:center;color:#1b65c4;background:#eff5ff;border-radius:7px}
.qx-option>div{flex:1;min-width:0}
.qx-answer{margin-top:22px;padding:14px 17px;background:#edf8f2;border:1px solid #b6deca;border-radius:12px}
.qx-answer h3:first-child{margin-top:0;color:#176444}
.qx-answer-text{font-size:17px;font-weight:700;color:#156242;overflow-wrap:anywhere}
.qx-image{display:block;max-width:100%;height:auto;object-fit:contain;margin:12px 0;border:1px solid #e1e7ef;border-radius:7px;background:#fff}
.qx-inline-image{max-width:100%;max-height:250px;vertical-align:middle}
.qx-detail .phonetic-underline{text-decoration:underline;text-underline-offset:3px}
body.ui2-practice-active .qx-open-more{display:none}
@media(max-width:620px){
  .qx-dialog{inset:0;height:100dvh;border-radius:0;border:0}
  .qx-toolbar{padding:12px}
  .qx-filters{grid-template-columns:repeat(2,minmax(0,1fr));padding:12px;gap:9px}
  .qx-filters label{font-size:12px}
  .qx-content{padding:12px}
  .qx-detail{padding:14px}
  .qx-result{padding:13px}
  .qx-question{font-size:16px}
}

/* Read-only original/corrected choice; initial state always original. */
.qx-version-bar{display:flex;align-items:center;gap:8px;margin:15px 0 6px;flex-wrap:wrap}
.qx-version-bar button{flex:1 1 130px;min-height:43px;padding:9px 14px;border:1px solid #bed0e4;border-radius:10px;background:#fff;color:#385676;font-size:15px;font-weight:700;cursor:pointer}
.qx-version-bar button.is-current{color:#fff;border-color:#2460c4;background:#2460c4}
.qx-version-bar button:focus-visible{outline:3px solid #89afea;outline-offset:2px}
.qx-version-note,.qx-version-single{font-size:13px;line-height:1.65;color:#526783;margin:3px 0 13px;overflow-wrap:anywhere}
.qx-version-note b{color:#243b62;font-weight:800}
.qx-audit-notice{border-left:3px solid #d3a350;background:#fffaf1;color:#78551b;font-size:13px;padding:8px 10px;line-height:1.6;border-radius:6px}
.qx-option--correct{border:2px solid #6db997;background:#eefbf3;box-shadow:0 0 0 1px rgba(20,132,76,.05)}
.qx-option--correct>b{color:#157046;background:#d8f4e5}
.qx-correct-tag{margin-left:auto;flex:0 0 auto;align-self:center;font-size:12px;color:#0e814f;font-weight:800;padding:3px 7px;border-radius:7px;background:#d3f4e3}
@media(max-width:620px){.qx-option--correct{flex-wrap:wrap}.qx-correct-tag{margin-left:44px}}

/* iOS focus zoom: override legacy/sitewide form typography, while retaining 12px labels. */
.qx-modal .qx-filters input.qx-query,
.qx-modal .qx-filters select { font-size:16px!important; }

/* Whole-passage lookup: preserve source question order and keep all answers visible. */
.qx-search-modes{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:0 0 14px}
.qx-search-modes button{border:1px solid #b9cce5;background:#fff;color:#385676;border-radius:10px;padding:11px;font:inherit;font-size:15px;font-weight:700;min-height:44px;cursor:pointer}
.qx-search-modes button.is-current{background:#2460c4;color:#fff;border-color:#2460c4}
.qx-search-modes button:focus-visible{outline:3px solid #89afea;outline-offset:2px}
.qx-passage-preview{font-size:13px;color:#5b687a;line-height:1.6;overflow-wrap:anywhere}
.qx-passage-detail .qx-material{white-space:pre-wrap;overflow-wrap:anywhere;line-height:1.8;margin:10px 0 14px}
.qx-passage-overview{border:1px solid #c5ddf6;background:#f4f8ff;border-radius:12px;margin:16px 0;padding:11px 13px}
.qx-passage-overview h3{margin:0 0 8px!important}
.qx-passage-overview>div{display:grid;grid-template-columns:repeat(auto-fit,minmax(135px,1fr));gap:8px}
.qx-passage-overview span{font-size:14px;color:#215583;overflow-wrap:anywhere}
.qx-passage-overview b{display:inline-block;min-width:22px;text-align:center;border-radius:6px;color:#fff;background:#3271bf}
.qx-passage-items{display:flex;flex-direction:column;gap:14px;margin:19px 0 0}
.qx-passage-question{border:1px solid #d9e4f2;border-radius:12px;padding:12px 15px;background:#fff;overflow-wrap:anywhere}
.qx-passage-question>h3{font-size:16px;color:#1c4e91;margin:0 0 10px}
.qx-passage-question>h3 small{font-weight:500;font-size:12px;color:#6b7888}
.qx-passage-question .qx-question{font-size:15px;font-weight:550;margin:8px 0 13px}
.qx-passage-question .qx-answer{margin-top:12px;padding:12px 14px;display:block}
.qx-passage-question .qx-answer-text{font-size:15px;margin-left:5px;white-space:normal}
.qx-passage-explanation{margin-top:10px;color:#425773;font-size:14px}
.qx-passage-explanation summary{cursor:pointer;color:#245caa;font-weight:650}
.qx-passage-detail .qx-image{max-height:65vh}
@media(max-width:620px){.qx-passage-question{padding:11px}.qx-passage-overview>div{grid-template-columns:repeat(2,minmax(0,1fr))}}
