.question-sprite{max-width:480px;margin:6px auto 8px;}
/* Test A picture questions: keep illustrations comfortably large while trimming the oversized source frame. */
#test:has(#testAAudioNote:not([hidden])) #questionCard .question-sprite{height:280px;aspect-ratio:auto;background-size:100% auto;margin:4px auto 6px;}
/* Reclaim vertical space in Test A without making answer targets cramped. */
#test:has(#testAAudioNote:not([hidden])) .choices{gap:6px;margin-top:12px;}
#test:has(#testAAudioNote:not([hidden])) .choice{padding:10px 12px;gap:8px;}
/* Any picture-based multiple-choice question uses the available width: A/B, then C/D. */
#questionCard:has(.question-sprite) .choices{grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;margin-top:10px;}
#questionCard:has(.question-sprite) .choice{padding:10px 12px;}
/* Test A shared-listening pairs Q17–18 and Q19–20 use the available width instead of stacking vertically. */
#test:has(#testAAudioNote:not([hidden])) #audioBar:not([hidden]) ~ #questionCard .grouped-questions{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;}
/* Keep the question workspace compact; long passages still expand naturally. */
#questionCard.card{padding:20px;}
.test-a-ko-instruction{margin-top:7px;padding:8px 11px;border-left:3px solid #7394d2;background:#f4f7fc;border-radius:8px;color:#44516a;font-size:.92rem;line-height:1.45;}
.test-a-ko-instruction strong{color:#294b85;margin-right:5px;}
.test-a-audio-note{margin-top:4px;color:#5f6f88;font-size:.82rem;line-height:1.4;}
.test-a-nav-hint{margin:10px 0 8px;padding:8px 12px;border-radius:10px;background:#eef4ff;border:1px solid #cfe0ff;color:#294b85;text-align:center;}
.test-a-nav-hint strong,.test-a-nav-hint span{display:block;line-height:1.35}.test-a-nav-hint span{margin-top:2px;font-size:.88rem;color:#5c6d86;}
.grouped-questions{display:grid;gap:12px;margin-top:12px}.grouped-question{padding:14px;border:1px solid #dfe5ef;border-radius:12px;background:#fafcff}.grouped-q-label{font-weight:800;color:#315fb5;margin-bottom:6px}.shared-passage{white-space:pre-line;line-height:1.65;padding:14px 16px;background:#f7f9fc;border:1px solid #e2e7ef;border-radius:12px;margin:7px 0 10px;font-size:1rem;}
@media(max-width:680px){.question-sprite{max-width:340px;margin:5px auto 7px}#test:has(#testAAudioNote:not([hidden])) #questionCard .question-sprite{height:205px;background-size:100% auto;margin:3px auto 5px}#test:has(#testAAudioNote:not([hidden])) .choices{gap:5px;margin-top:9px}#test:has(#testAAudioNote:not([hidden])) .choice{padding:9px 10px}#questionCard:has(.question-sprite) .choices{grid-template-columns:repeat(2,minmax(0,1fr));gap:5px}#questionCard:has(.question-sprite) .choice{padding:9px 8px}#test:has(#testAAudioNote:not([hidden])) #audioBar:not([hidden]) ~ #questionCard .grouped-questions{grid-template-columns:1fr}#questionCard.card{padding:16px}.test-a-ko-instruction{font-size:.88rem;padding:7px 9px}.grouped-question{padding:12px}.shared-passage{padding:12px;font-size:.96rem}.test-a-nav-hint{font-size:.92rem;margin:8px 0 7px;padding:7px 10px}}
