.article.exam-article { min-width:0; }
.exam-article .body { font-size: 18px; line-height: 1.85; }
.exam-article .body > h2 { margin-top: 36px; padding-bottom: 10px; border-bottom: 2px solid #d9e9e5; color: #20594f; }
.exam-article .body > p { white-space: pre-line; }
.exam-article .fig { margin: 22px auto; text-align: center; }
.exam-article .fig img { display: block; max-width: 100%; width: min(100%, 600px); height: auto; margin: auto; border-radius: 8px; }
.exam-article .fig figcaption { margin-top: 8px; font-size: 14px; line-height: 1.5; color: #53666a; }
.exam-article .answer { background: #f0f7f4; border: 1px solid #bfd5cd; border-radius: 8px; padding: 12px 16px; margin: 18px 0; }
.exam-article .answer summary { cursor: pointer; font-weight: 700; color: #20594f; }
.exam-article .quiz-prompt { font-size: 18px; }
.exam-written-question { margin: 24px 0 18px; }
.exam-question-heading { margin-bottom: 14px; }
.exam-parts { display: grid; gap: 14px; }
.exam-calculations, .exam-fill-parts { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.exam-part { min-width: 0; padding: 14px 16px; border: 1px solid #d3e1e5; border-radius: 8px; background: #fff; }
.exam-part > p { display: flex; align-items: baseline; gap: 10px; margin: 0 !important; line-height: 1.7; }
.exam-part-label { flex: 0 0 auto; color: #20594f; }
.exam-part > p > span { min-width: 0; overflow-wrap: anywhere; font-variant-numeric: tabular-nums; }
.exam-part-work { display: none; }
.exam-calculations .exam-part-work { display: block; margin: 12px 0 2px; }
.exam-part-work > span { display: block; height: 23px; border-bottom: 1px dotted #b7c9d0; }
.exam-answer-parts { display: grid; gap: 10px; margin-top: 12px; }
.exam-answer-parts p { margin: 0 !important; }
.article.exam-article .body details.answer { background:#f3f8f6; border:1px solid #bfd5cd; padding:16px 20px; margin:18px 0; color:#243e38; }
.article.exam-article .body details.answer summary { font-size:16px; color:#20594f; font-weight:700; }
.article.exam-article .body details.answer p,
.article.exam-article .body details.answer li { font-size:17px; line-height:2; color:#243e38; white-space:pre-line; }
.article.exam-article .body details.answer h3 { font-size:14px; font-weight:700; color:#46645c; margin:0 0 8px; }
.exam-answer-result,.exam-answer-solution,.exam-answer-rubric { margin-top:16px; }
.exam-answer-solution,.exam-answer-rubric { border-top:1px solid #d5e2dc; padding-top:16px; }
.article.exam-article .body details.answer ol,
.article.exam-article .body details.answer ul { margin:0; padding-left:24px; }
.article.exam-article .body details.answer li + li { margin-top:10px; }
.article.exam-article .body details.answer .exam-solution-parts { list-style:none; padding-left:0; }
.article.exam-article .body details.answer .exam-answer-result p { font-weight:600; }
.exam-answer-parts { margin-top:0; }
.exam-article .quiz-option-text { line-height:2; }
.exam-article .quiz-opt { font-size:17px; }
.exam-article .quiz-done .quiz-opt:not(.right):not(.wrong) { opacity:1; }
.exam-downloads { display:flex; flex-wrap:wrap; gap:10px; margin:20px 0; }
.exam-downloads a { display:inline-block; padding:10px 16px; border:1px solid #bfd5cd; border-radius:8px; background:#f0f7f4; color:#20594f; font-size:15px; font-weight:700; text-decoration:none; }
.exam-downloads a:hover { background:#dceee6; }
.exam-worked-calculation { max-width:100%; overflow-x:auto; padding:12px; margin:10px 0; border:1px solid #d5e2dc; border-radius:6px; background:#fff; font:15px/1.5 monospace; white-space:pre; }
@media (max-width:600px) { .exam-calculations, .exam-fill-parts { grid-template-columns: minmax(0, 1fr); } }
@media (max-width:600px) { .exam-article .body { font-size:17px; } .exam-article .quiz-opt { font-size:16px; } }
