.nqc-target-backdrop{position:fixed;inset:0;z-index:9000;display:grid;place-items:center;padding:22px;background:rgba(25,28,26,.52);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}
.nqc-target-shell{width:min(1120px,100%);max-height:calc(100dvh - 30px);overflow:auto;background:#fbfaf7;border:1px solid rgba(57,70,58,.18);border-radius:26px;box-shadow:0 28px 90px rgba(14,22,16,.3)}
.nqc-target-head{display:flex;justify-content:space-between;gap:22px;align-items:flex-start;padding:22px 24px 17px;border-bottom:1px solid #e7e6df}.nqc-target-head h2{margin:0 0 5px;font-size:22px}.nqc-target-head p{margin:0;color:#72786f;line-height:1.5}.nqc-target-stage{position:relative;margin:20px 24px;border:1px solid #dedfd8;border-radius:20px;overflow:hidden;background:#edece7;line-height:0;touch-action:none}.nqc-target-stage img{display:block;width:100%;height:auto;max-height:68dvh;object-fit:contain;margin:auto}.nqc-target-stage canvas{position:absolute;inset:0;width:100%;height:100%;cursor:crosshair;touch-action:none}.nqc-target-tip{position:absolute;left:14px;bottom:14px;padding:8px 12px;border-radius:999px;background:rgba(255,255,255,.86);color:#355f94;font-size:12px;font-weight:800;line-height:1.2;box-shadow:0 3px 12px rgba(0,0,0,.08);pointer-events:none}.nqc-target-actions{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:0 24px 24px}.nqc-target-tools{display:flex;gap:8px;flex-wrap:wrap}.nqc-target-actions>.primary-btn{min-width:190px;min-height:46px}.nqc-target-actions>.primary-btn:disabled{opacity:.45;cursor:not-allowed}
.nqc-native-question{overflow:hidden}.nqc-question-body{padding:22px}.nqc-question-text{font-family:"Noto Serif TC","PingFang TC",serif;font-size:clamp(19px,2vw,27px);line-height:1.75;font-weight:700;color:#262b27;white-space:pre-wrap}.nqc-native-figure{margin-top:22px;padding-top:20px;border-top:1px solid #e6e7e0}.nqc-native-subhead{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px}.nqc-native-subhead>strong{font-size:15px}.nqc-figure-tabs{display:flex;gap:5px;padding:3px;border-radius:12px;background:#f1f2ed}.nqc-tab{appearance:none;border:0;background:transparent;border-radius:9px;padding:7px 10px;font:inherit;font-size:12px;font-weight:800;color:#71786f;cursor:pointer}.nqc-tab.active{background:#fff;color:#3f6947;box-shadow:0 1px 5px rgba(26,35,27,.08)}.nqc-source-figure,.nqc-redraw-stage{display:grid;place-items:center;min-height:180px;border:1px solid #e2e4dc;border-radius:18px;background:#fff;overflow:hidden}.nqc-source-figure canvas{display:block;max-width:100%;width:auto;height:auto;max-height:520px}.nqc-redraw-wrap[hidden],.nqc-source-figure[hidden]{display:none!important}.nqc-redraw-loading{padding:34px;color:#747b73;font-weight:700}.nqc-figure-status{margin-top:8px;color:#7b8179;font-size:12px;line-height:1.45}.nqc-figure-failed:after{content:'題圖裁切失敗，請使用下方原始掃描對照。';display:block;padding:18px;color:#8a5e45;font-size:13px}
.nqc-answer-panel .recognition-row{align-items:flex-start}.nqc-answer-format{margin:0 15px 12px;padding:13px 15px;border:1px solid #dce5da;border-radius:14px;background:#f3f7f1}.nqc-format-label{margin-bottom:3px;color:#68806b;font-size:11px;font-weight:800;letter-spacing:.05em}.nqc-answer-format strong{font-family:"Noto Serif TC","PingFang TC",serif;font-size:17px;color:#304b35}.nqc-tuple{display:flex;align-items:flex-end;gap:6px;flex-wrap:wrap}.nqc-tuple label{display:grid;gap:4px}.nqc-tuple label span{font-size:11px;font-weight:800;color:#6e756e;text-align:center}.nqc-tuple input{width:82px;min-height:42px;padding:8px 9px;border:1px solid #d8dbd3;border-radius:11px;background:#fff;font:inherit;font-size:16px;font-weight:700;text-align:center;color:#273229}.nqc-tuple b{padding-bottom:11px;color:#81877f}.nqc-single-answer{width:min(100%,360px);min-height:44px;padding:9px 12px;border:1px solid #d8dbd3;border-radius:11px;background:#fff;font:inherit;font-size:16px;font-weight:700;color:#273229}.nqc-tuple input:focus,.nqc-single-answer:focus{outline:3px solid rgba(74,119,81,.13);border-color:#6f9474}.nqc-tuple input[readonly],.nqc-single-answer[readonly]{background:#f5f5f1;color:#626961}
.nqc-native-question+.panel .scan-photo{max-height:430px;object-fit:contain;background:#f2f2ee}.nqc-native-question+.panel .scan-text{font-size:12px;color:#7c8179}
@media(max-width:720px){.nqc-target-backdrop{padding:0;align-items:end}.nqc-target-shell{max-height:96dvh;border-radius:24px 24px 0 0}.nqc-target-head{padding:18px 16px 13px}.nqc-target-head h2{font-size:19px}.nqc-target-head p{font-size:13px}.nqc-target-stage{margin:12px}.nqc-target-stage img{max-height:65dvh}.nqc-target-actions{padding:0 12px calc(14px + env(safe-area-inset-bottom));display:grid;grid-template-columns:1fr}.nqc-target-actions>.primary-btn{width:100%;order:-1}.nqc-target-tools{display:grid;grid-template-columns:1fr 1fr 1fr}.nqc-target-tools button{padding-inline:8px}.nqc-question-body{padding:16px}.nqc-question-text{font-size:20px;line-height:1.7}.nqc-native-subhead{align-items:flex-start;flex-direction:column}.nqc-figure-tabs{width:100%}.nqc-tab{flex:1}.nqc-tuple{gap:4px}.nqc-tuple input{width:68px;font-size:15px}.nqc-answer-format{margin-inline:10px}}
@media(prefers-reduced-motion:reduce){.nqc-target-shell,.nqc-tab{scroll-behavior:auto;transition:none!important}}

/* Canonical Wrong Book problem-statement typography.
   Biology's 20px prompt size is the product standard: subject and renderer must not enlarge it and steal worksheet space. */
:root{--wb-problem-prompt-font-size:20px;--wb-problem-prompt-line-height:1.7}
.nqc-question-text,.ocrq-prompt-text,.ocrq-native-fallback .prompt,.paper-demo h4,.problem-text,.pf-review-paper h2,[data-wb-problem-prompt],.wb-problem-prompt{font-size:var(--wb-problem-prompt-font-size)!important;line-height:var(--wb-problem-prompt-line-height)!important;overflow-wrap:anywhere;word-break:normal}
