.attempt-shell{max-width:860px;margin:2rem auto}.attempt-topline{display:flex;justify-content:space-between;gap:1rem;align-items:center;color:#42617b}.attempt-progress{height:.65rem;background:#dce5ec;border-radius:1rem;overflow:hidden;margin:1rem 0 1.5rem}.attempt-progress span{display:block;height:100%;background:#176b46}.attempt-question{background:white;padding:1.5rem;border-radius:8px;box-shadow:0 1px 3px rgba(0,0,0,.08)}.attempt-question h1{font-size:1.35rem;line-height:1.4}.attempt-answer{display:flex;gap:.75rem;align-items:flex-start;border:1px solid #ccd7df;border-radius:6px;padding:.9rem;margin:.65rem 0;cursor:pointer;font-weight:400}.attempt-answer:has(input:checked){border-color:#176b46;background:#eff8f3}.attempt-answer input{margin-top:.2rem}.attempt-answer.correct{border-color:#176b46;background:#dff5e7}.attempt-answer.incorrect{border-color:#9b2c2c;background:#fde2e2}.learning-feedback{padding:1rem;margin:1rem 0;border-radius:6px;background:#e8f2f8}.learning-feedback.error{background:#fde2e2}.attempt-actions{display:flex;gap:.65rem;justify-content:space-between;align-items:center;flex-wrap:wrap;margin-top:1.25rem}.attempt-actions .right{display:flex;gap:.65rem;flex-wrap:wrap}.attempt-result-score{text-align:center;background:white;border-radius:8px;padding:1.5rem;margin:1rem 0}.attempt-result-score strong{font-size:2.4rem;display:block;color:#176b46}.attempt-review{background:white;padding:1rem;border-radius:6px;margin:.8rem 0}.attempt-review.incorrect{border-left:5px solid #9b2c2c}.attempt-review.correct{border-left:5px solid #176b46}.attempt-meta{font-size:.9rem;color:#42617b}@media(max-width:850px){.attempt-shell{margin:1rem auto}.attempt-question{padding:1rem}.attempt-topline{align-items:flex-start;flex-direction:column}.attempt-actions{align-items:stretch}.attempt-actions .right{width:100%;justify-content:space-between}.attempt-actions button,.attempt-actions .button{flex:1;text-align:center}}
.attempt-controls{display:flex;justify-content:space-between;gap:.75rem;align-items:center;margin-bottom:1rem}.attempt-timer{font-weight:700;color:#173a5e}.attempt-confirm{border:2px solid #d89b23;background:#fff8df;border-radius:6px;padding:1rem}.mobile-attempt-control,.mobile-question-position{display:none}@media(max-width:850px){.attempt-topline{display:flex;flex-direction:row;justify-content:space-between;font-size:.9rem}.attempt-topline span:last-child{display:none}.attempt-controls{margin-bottom:.75rem}.attempt-controls button{padding:.45rem .6rem;font-size:.85rem}.attempt-timer{font-size:.85rem}.desktop-attempt-control{display:none!important}.mobile-attempt-control{display:inline-flex!important;align-items:center;justify-content:center;flex:0 0 44px!important;min-height:44px;font-size:2rem;line-height:1;padding:.15rem!important}.mobile-question-position{display:inline;font-weight:700;align-self:center}.attempt-actions{flex-wrap:nowrap}.attempt-actions .right{width:auto}.attempt-question h1{font-size:1.15rem}.attempt-answer{padding:.7rem;margin:.45rem 0}}
@media(max-width:700px){.attempt-shell{width:100%;max-width:none;margin:1rem 0}.attempt-topline{min-width:0;gap:.4rem;overflow-wrap:anywhere}.attempt-question{min-width:0;padding:.85rem;box-sizing:border-box}.attempt-question h1{overflow-wrap:anywhere}.attempt-answer{min-width:0;gap:.55rem;overflow-wrap:anywhere}.attempt-answer span{min-width:0;overflow-wrap:anywhere}.attempt-answer input{flex:0 0 auto}.attempt-controls{flex-wrap:wrap}.attempt-controls button{width:100%}.attempt-actions{flex-wrap:wrap;gap:.5rem}.attempt-actions>div,.attempt-actions .right{display:flex;width:100%;min-width:0}.attempt-actions button,.attempt-actions .button{min-width:0;overflow-wrap:anywhere}.attempt-question img{max-width:100%;height:auto}}
@media(max-width:700px){.attempt-controls{display:none!important}.attempt-controls:has([data-attempt-offline-prepare]){display:flex!important;flex-wrap:wrap}.attempt-controls:has([data-attempt-offline-prepare]) .attempt-timer,.attempt-controls:has([data-attempt-offline-prepare]) a,.attempt-controls:has([data-attempt-offline-prepare]) .desktop-finish-control{display:none!important}.attempt-controls [data-attempt-offline-prepare]{display:block!important;width:100%}.attempt-controls [data-attempt-offline-notice]{width:100%}.attempt-actions{display:grid!important;grid-template-columns:52px minmax(0,1fr) 52px!important;grid-template-rows:auto 52px;align-items:center;gap:.45rem;flex-wrap:nowrap!important}.attempt-actions>.mobile-test-meta{display:block!important;grid-column:1/-1;grid-row:1;width:auto;text-align:center;font-size:.75rem}.attempt-actions>div:first-child{display:block!important;grid-column:1;grid-row:2;width:auto}.attempt-actions>.right{display:block!important;grid-column:3;grid-row:2;width:auto}.mobile-finish-control{display:block!important;grid-column:2;grid-row:2;width:100%;height:52px;min-height:52px;padding:.4rem;white-space:nowrap;word-break:normal;overflow-wrap:normal;writing-mode:horizontal-tb}.attempt-actions .mobile-attempt-control{display:inline-flex!important;width:52px;min-width:52px;height:52px;min-height:52px;padding:0!important;line-height:1;writing-mode:horizontal-tb}.attempt-actions .right .mobile-attempt-control{float:right}.attempt-actions .desktop-attempt-control{display:none!important}}@media(max-width:700px){.attempt-progress{margin:.35rem 0}.attempt-question{padding:.7rem}}
.attempt-confirm-actions{display:flex;gap:.65rem;align-items:stretch;margin-top:1.25rem}.attempt-confirm-actions button{min-height:48px}.attempt-result-answers{list-style:none;margin:1rem 0 0;padding:0;display:grid;gap:.55rem}.attempt-result-answer{min-width:0;padding:.8rem .9rem;border:1px solid #ccd7df;border-radius:6px;overflow-wrap:anywhere}.attempt-result-answer.correct-answer{border-color:#176b46;border-left:5px solid #176b46;background:#dff5e7}.attempt-result-answer.selected-wrong-answer{border-color:#9b2c2c;border-left:5px solid #9b2c2c;background:#fde2e2}.answer-status{display:block;margin-top:.35rem;font-weight:700}.correct-answer-status{color:#176b46}.user-wrong-answer{color:#9b2c2c}@media(max-width:700px){.attempt-confirm-actions{display:grid!important;grid-template-columns:minmax(0,1fr)!important;gap:.75rem}.attempt-confirm-actions button{display:block!important;width:100%;min-width:0;min-height:52px;white-space:nowrap;word-break:normal;overflow-wrap:normal;writing-mode:horizontal-tb}.attempt-result-answer{min-width:0;overflow-wrap:anywhere}.attempt-result-answers{padding:0}}.question-prompt-stage{min-height:clamp(142px,18vh,190px);display:flex;align-items:flex-start}.question-prompt-stage h1{margin-top:0}.attempt-answer-list{display:grid;gap:.65rem}.attempt-answer{min-height:68px;box-sizing:border-box;align-items:center;margin:0}.attempt-answer span{min-width:0;overflow-wrap:anywhere}.attempt-answer small{grid-column:2}.attempt-answer:has(input:disabled){cursor:default}.learning-feedback-slot{min-height:4.25rem;display:flex;align-items:center}.learning-feedback{width:100%;margin:0}.form-help{margin-top:-.55rem;font-size:.9rem}@media(max-width:700px){.question-prompt-stage{min-height:clamp(130px,18vh,190px)}.attempt-answer{min-height:72px;padding:.75rem}.learning-feedback-slot{min-height:4.5rem}.attempt-answer-list{gap:.5rem}.learning-confirm-control{background:#176b46}.learning-confirm-control:disabled{opacity:.55}}

.question-code-badge{display:inline-block;margin:0 0 .45rem;padding:.18rem .45rem;border-radius:999px;background:#e1eaf1;color:#42617b;font-size:.78rem;font-weight:700}.question-prompt-stage>div{min-width:0;width:100%}.test-list-actions{display:flex;gap:.6rem;align-items:center;flex-wrap:wrap}@media(max-width:700px){.question-code-badge{margin-bottom:.35rem}.test-list-actions{display:grid;grid-template-columns:1fr}.test-list-actions .button{width:100%;box-sizing:border-box;text-align:center}}

/* Offline runner reuses the online learning surface and keeps its sync state compact. */
body.offline-runner{background:#fff;color:#172033}body.offline-runner .attempt-meta-block{margin-top:0}.offline-attempt-status{display:inline-block;margin:0 0 .55rem;padding:.18rem .45rem;border-radius:999px;background:#e1eaf1;color:#42617b;font-size:.78rem;font-weight:700}.offline-attempt-actions{justify-content:flex-end}.offline-attempt-actions button{min-height:44px}.offline-result{padding:1rem;margin-top:0}.offline-result h1,.offline-result p{color:#172033}@media(max-width:700px){body.offline-runner main.workspace-surface{min-height:100vh;padding:.7rem}.offline-attempt-status{margin-bottom:.35rem}.offline-attempt-actions{display:flex!important;gap:.5rem;flex-wrap:nowrap!important}.offline-attempt-actions button{flex:1;min-width:0;font-size:.9rem;padding:.55rem .4rem}.offline-result{padding:1rem}}