.qtitle { font-size:1.05rem; font-weight:600; margin:0 0 18px; }
.choices { list-style:none; margin:0; padding:0; margin-top: 20px;}
.choices li {
    background: #fafbfc;
    background-color: #E7E9EB;
    display: block;
    position: relative;
    padding: 10px 10px 10px 50px;
    margin-bottom: 1px;
    cursor: pointer;
    font-size: 18px;
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;
    word-wrap: break-word;

}
.choices li:hover {
    background-color: #ddd;
}
.choices label { cursor:pointer; display:block; }
.choices input {
    margin-right: 10px;
    vertical-align: middle;
    position: absolute;
    top: 15px;
    left: 15px;
    height: 19px;
    width: 19px;
    background-color: #fff;
    border-radius: 50%;
}
 .choices input:checked {
    background-color: #2196F3;
}
.answerbutton {
  background-color:#04AA6D;
  padding:12px 30px !important;
  font-size:17px;
  border-radius: 5px;
}
.nav { margin-top:24px; display:flex; flex-wrap:wrap; gap:12px; align-items:center; justify-content:space-between; }
.nav .btns { display:flex; flex-wrap:wrap; gap:10px; align-items:center; }
.hint { margin-top:16px; font-size:.88rem; color:var(--muted); }
footer { margin-top:32px; font-size:.8rem; color:#888; text-align:center; }
.err { color:var(--bad); padding:16px; background:#fdecea; border:1px solid #f5c2c0; border-radius:8px; white-space:pre-wrap; word-break:break-word; }
.loading { color:var(--muted); }
a.btnlink { color:var(--accent); font-weight:600; text-decoration:none; cursor:pointer; border:0; background:none; font-size:inherit; font-family:inherit; padding:0; }
a.btnlink:hover { text-decoration:underline; }
.score { font-size:1.4rem; font-weight:700; margin:0 0 16px; }
.tag-ok { color:var(--ok); font-weight:600; }
.tag-bad { color:var(--bad); font-weight:600; }
.navtop { margin-bottom:16px; }
.legend { font-size:.85rem; color:var(--muted); margin:0 0 16px; padding:10px 12px; background:#f0f3f8; border-radius:6px; border:1px solid var(--border); }
.q-block { margin-bottom:22px; padding-bottom:20px; border-bottom:1px solid #eee; }
.q-block:last-of-type { border-bottom:0; margin-bottom:0; padding-bottom:0; }
.q-head { display:flex; align-items:center; gap:10px; flex-wrap:wrap; margin-bottom:8px; }
.q-title {
    font-weight: 600;
    font-size: 16px;
    margin-top: 1.2em;
    margin-bottom: 1.2em;
}
.opt-list { list-style:none; margin:0; padding:0; }
.opt-item {
    background-color: #f1f1f1;
    position: relative;
    padding: 10px 10px 10px 40px;
    margin-bottom: 1px;
    font-size: 18px;
    word-wrap: break-word;
}
.opt-item.opt-correct { 
background:#ddd; 
}
.opt-item.opt-user-wrong {
background:#f8d7da; 
}
.opt-tag { font-weight:700; margin-right:6px; color:var(--muted); }
.lbl-correct {
    background-color: rgba(0, 0, 0, 0.2);
    color: white;
    white-space: nowrap;
    position: absolute;
    right: 10px;
    top: 10px;
    padding: 0 10px;
 }
.lbl-wrong {     
    background-color: rgba(0, 0, 0, 0.2);
    color: white;
    white-space: nowrap;
    position: absolute;
    right: 10px;
    top: 10px;
    padding: 0 10px;
}
.lbl-wrongicon {
    font-size: 16px;
    color: #dc3545;
    font-weight: 800;
    padding-left: 10px;
 }

.opt-item i.fa-times:before {
    color: #d9534f;
    color: #dc3545;
    background: #dc3545;
    content: "\f00d";
    position: absolute;
    right: -25px;
}
i.fa-times {
    color: #d9534f;
    color: #dc3545;
}
.explains { margin-top:12px; font-size:.88rem; color:var(--muted); }
.quiz-timer-bar {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 8px 14px;
    margin-top: 24px;
    margin-bottom: 24px;
    margin-left: -32px;
    margin-right: -32px;
    padding: 16px 32px;
    background-color: #ffffcc;
}
.quiz-timer-bar strong { font-variant-numeric: tabular-nums; letter-spacing: .02em; }
#quizTimer { color:var(--accent); font-size:1.05rem; }
#quizTimer.warn { color:#c45c00; }
#quizTimer.bad { color:var(--bad); }
.time-banner { margin:0 0 14px; padding:12px 14px; border-radius:8px; background:#fff8e6; border:1px solid #e8d4a8; color:#6a5200; font-size:.9rem; }
.result-expired-wrap { text-align:center; }
.result-expired-wrap .navtop { margin-bottom:20px; }
.result-expired-wrap .btnlink { font-size:1.1rem; padding:10px 20px; border-radius:8px; background:var(--btn); color:#fff !important; }
.result-expired-wrap .btnlink:hover { filter:brightness(1.06); text-decoration:none; }
.result-summary { font-size:1rem; color:var(--text); margin:0 0 10px; line-height:1.55; }
.result-summary .pct { font-weight:700; color:var(--ok); }
/* 未选题：正确项行可无卡片边框，标签仍为「正确答案」+「未作答」 */
.opt-item.opt-plain {background-color: #ddd;}
.lbl-missed { margin-left:8px; font-size:.8rem; color:#999; font-weight:600; }