.topic1-practice #questionCarouselBar { display:flex; flex-wrap:wrap; gap:8px; }
.topic1-practice #quizAssessmentionText { font-size:1.12rem; line-height:1.7; }
.topic1-practice #quizAssessmentionText > p { margin:0; }
.topic1-practice #quizInputContainer { margin-top:28px; margin-bottom:22px; }
.topic1-practice .t1-fields { display:grid; gap:18px; }
.topic1-practice .t1-field { display:flex; flex-direction:column; gap:8px; font-size:1rem; line-height:1.5; }
.topic1-practice .t1-field > span:first-child { font-weight:600; color:#233e5c; }
.topic1-practice input[type=text], .topic1-practice textarea, .topic1-practice select { font:inherit; color:#17324f; background:white; border:1px solid #bbcadb; border-radius:9px; padding:12px 14px; width:100%; box-sizing:border-box; }
.topic1-practice textarea { resize:vertical; line-height:1.65; }
.topic1-practice .t1-number { display:flex; align-items:center; gap:12px; }
.topic1-practice .t1-number input { max-width:300px; }
.topic1-practice .t1-options { border:0; margin:0; padding:0; display:grid; gap:12px; }
.topic1-practice .t1-choice { display:flex; align-items:flex-start; gap:12px; border:1px solid #d8e2ef; border-radius:10px; padding:14px 16px; cursor:pointer; line-height:1.6; background:#fff; }
.topic1-practice .t1-choice:has(input:checked) { border-color:#3669b1; background:#edf4ff; }
.topic1-practice input[type=radio],.topic1-practice input[type=checkbox] { accent-color:#285cb5; margin-top:5px; width:18px; height:18px; flex-shrink:0; }
.topic1-practice input:focus-visible,.topic1-practice textarea:focus-visible,.topic1-practice select:focus-visible,.topic1-practice button:focus-visible { outline:3px solid #5e88d2; outline-offset:3px; }
.topic1-practice .t1-error { color:#a32736; margin:10px 0 0; }
.topic1-practice .t1-spec { font-size:.85rem; color:#526c89; }
.topic1-practice #quizMarkSchemeDetails { font-size:1rem; line-height:1.7; }
.topic1-practice .t1-model { font-size:1.04rem; border-left:3px solid #4d73ad; padding-left:16px; }
.topic1-practice .t1-key,.topic1-practice #quizMarkSchemeDetails ol { padding-left:24px; }
.topic1-practice .t1-self-points { display:grid; gap:12px; }
.topic1-practice .t1-self-points label { display:flex; align-items:flex-start; gap:10px; }
.topic1-practice .t1-retry { border:1px solid #b7c8dd; border-radius:8px; padding:9px 14px; background:white; font:inherit; color:#274e7d; cursor:pointer; }
.topic1-practice .t1-check-status { font-size:.8rem; color:#50677e; margin-left:8px; }
.topic1-practice .q-carousel-dot.self-reviewed { background:#eeeaf8; border-color:#b4a5d5; color:#5b477b; }
.topic1-practice .t1-energy-account { margin:24px 0 0; padding:18px; background:#f5f7fa; border-radius:10px; }
.topic1-practice .t1-energy-account figcaption { font-size:.85rem; color:#53697f; margin-bottom:14px; }
.topic1-practice .t1-energy-account p { font-size:.85rem; margin-bottom:0; }
.topic1-practice .t1-band-label { font-size:.85rem; margin-top:12px; }
.topic1-practice .t1-energy-band { box-sizing:border-box; padding:0; margin:5px 0; height:18px; }
.topic1-practice .t1-input-band { background:#dbe5f3; }
.topic1-practice .t1-useful-band { background:#cce8dc; }
.topic1-practice .t1-loss-band { background:#f2dfbf; }
.t1-sr { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; }
@media(max-width:600px) { .topic1-practice .t1-choice{padding:12px;} .topic1-practice .t1-field {font-size:.96rem;} }
