/* 模拟练习题库 · 北京 CPPM 城市站 */
.quiz-notice{border:1px solid #cfe0f2;background:#f2f8ff;border-left:4px solid #1668b3;
 border-radius:8px;padding:16px 20px;margin-bottom:22px}
.quiz-notice>strong{display:block;font-size:15px;color:#0b2b49;margin-bottom:6px}
.quiz-notice p strong{display:inline;font-weight:700;color:#0b2b49}
.quiz-notice p{margin:0;font-size:13.5px;line-height:1.85;color:#3d5573}
.quiz-notice--plain{border-color:#e2e8f1;background:#f8fafc;border-left-color:#8aa5c4;margin:0}
.quiz-app{background:#fff;border:1px solid #e4eaf3;border-radius:12px;padding:26px;
 box-shadow:0 6px 24px rgba(11,43,73,.05)}
.quiz-app-start{text-align:center;padding:18px 10px}
.quiz-app-start p{font-size:13.5px;color:#4a5b73;max-width:640px;margin:0 auto 10px;line-height:1.85}
.quiz-app-start .small{font-size:12.5px;color:#7a8aa0;margin-top:14px}
.quiz-app-start .btn{margin-top:10px}
.quiz-progress{display:flex;align-items:center;gap:14px;flex-wrap:wrap;margin-bottom:22px;
 font-size:13px;color:#0b2b49;font-weight:600}
.quiz-bar{flex:1;min-width:140px;height:7px;background:#eaf0f7;border-radius:20px;overflow:hidden}
.quiz-bar i{display:block;height:100%;width:10%;background:#1668b3;border-radius:20px;transition:width .25s}
.quiz-question h3{font-size:16.5px;line-height:1.75;margin:0 0 16px;color:#17263d}
.quiz-qmeta{display:inline-block;font-size:11.5px;color:#1668b3;background:#eaf3fd;
 border-radius:20px;padding:2px 10px;margin-bottom:10px}
.quiz-choices{list-style:none;padding:0;margin:0;display:grid;gap:9px}
.quiz-choices li{margin:0}
.quiz-choices label{display:flex;gap:11px;align-items:flex-start;border:1px solid #e0e7f0;
 border-radius:8px;padding:12px 14px;cursor:pointer;font-size:14px;line-height:1.7;
 transition:border-color .15s,background .15s}
.quiz-choices label:hover{border-color:#9dbfe4;background:#f7fbff}
.quiz-choices input{margin:3px 0 0;flex:0 0 auto}
.quiz-choices label.checked{border-color:#1668b3;background:#eff6ff}
.quiz-choice-key{font-weight:700;color:#1668b3;flex:0 0 18px}
.quiz-actions{display:flex;gap:10px;margin-top:22px;flex-wrap:wrap}
.quiz-hint{min-height:20px;color:#b4402c;margin:10px 0 0}
.quiz-result-head{display:flex;align-items:center;gap:20px;flex-wrap:wrap;padding-bottom:18px;
 border-bottom:1px solid #e9eef5;margin-bottom:18px}
.quiz-score{font-size:40px;font-weight:700;color:#1668b3;line-height:1}
.quiz-score small{font-size:15px;color:#7a8aa0;font-weight:400;margin-left:4px}
.quiz-result-head h3{margin:0 0 4px;font-size:18px}
.quiz-result-head p{margin:0;font-size:13px;color:#5c6d85}
.quiz-weak{background:#fff7ed;border:1px solid #f3dcbd;border-radius:8px;padding:12px 16px;
 font-size:13px;color:#8a5a17;margin-bottom:18px}
.quiz-review{margin-top:22px}
.quiz-review h4{font-size:15px;margin:0 0 12px}
.quiz-review-item{border-left:3px solid #dfe6ef;padding:10px 0 10px 14px;margin-bottom:14px}
.quiz-review-item.ok{border-left-color:#16855a}
.quiz-review-item.no{border-left-color:#c0392b}
.quiz-review-item p{margin:0 0 5px;font-size:13.5px;line-height:1.75}
.quiz-review-item .small{color:#6d7d94;font-size:12.5px;line-height:1.7}
.quiz-lead{margin-top:26px;border-top:1px solid #e9eef5;padding-top:22px}
.quiz-lead h4{font-size:16px;margin:0 0 6px}
.quiz-lead>p{font-size:13px;color:#5c6d85;margin:0 0 16px}
.quiz-form{display:grid;grid-template-columns:1fr 1fr;gap:12px 16px;max-width:640px}
.quiz-form label{font-size:12.5px;color:#4a5b73;display:block}
.quiz-form input,.quiz-form textarea{width:100%;margin-top:5px;border:1px solid #d8e1ee;
 border-radius:7px;padding:9px 11px;font-size:13.5px;font-family:inherit}
.quiz-form textarea{resize:vertical}
.quiz-form .full{grid-column:1/-1}
.quiz-form .agree{display:flex;gap:8px;align-items:flex-start;font-size:12.5px;color:#5c6d85}
.quiz-form .agree input{width:auto;margin:3px 0 0}
.quiz-form .hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.quiz-form button{justify-self:start}
.quiz-form-status{grid-column:1/-1;font-size:13px;min-height:20px}
.quiz-form-status.ok{color:#16855a}.quiz-form-status.err{color:#c0392b}
.quiz-tools{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin-bottom:18px;font-size:13px;color:#5c6d85}
.quiz-chip{display:inline-block;border:1px solid #dfe7f1;background:#fff;border-radius:20px;
 padding:5px 13px;font-size:12.5px;color:#3d5573}
.quiz-chip:hover{border-color:#1668b3;color:#1668b3}
.quiz-list{display:grid;gap:16px}
.quiz-card{background:#fff;border:1px solid #e4eaf3;border-radius:10px;padding:20px 22px}
.quiz-card-h{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-bottom:12px}
.quiz-no{font-size:12px;font-weight:700;color:#fff;background:#0b2b49;border-radius:5px;padding:3px 9px}
.quiz-badges{display:flex;gap:6px;flex-wrap:wrap}
.quiz-tag{font-size:11.5px;color:#1668b3;background:#eaf3fd;border-radius:20px;padding:2px 9px}
.quiz-tag--alt{color:#5c6d85;background:#f0f3f8}
.quiz-q{font-size:15.5px;line-height:1.8;margin:0 0 14px;color:#17263d}
.quiz-opts{list-style:none;padding:0;margin:0 0 14px;display:grid;gap:7px}
.quiz-opts li{display:flex;gap:10px;font-size:13.5px;line-height:1.75;color:#3d5573}
.quiz-opt-key{flex:0 0 20px;font-weight:700;color:#1668b3}
.quiz-answer{border-top:1px dashed #e2e8f1;padding-top:12px}
.quiz-answer summary{cursor:pointer;font-size:13px;color:#1668b3;font-weight:600;list-style:none}
.quiz-answer summary::-webkit-details-marker{display:none}
.quiz-answer summary:before{content:'▸ ';display:inline-block}
.quiz-answer[open] summary:before{content:'▾ '}
.quiz-answer-body{margin-top:12px;background:#f8fafc;border-radius:8px;padding:12px 16px}
.quiz-answer-body p{margin:0 0 8px;font-size:13px;line-height:1.85;color:#4a5b73}
.quiz-answer-body p:last-child{margin-bottom:0}
.quiz-correct-key{display:inline-block;min-width:22px;text-align:center;background:#1668b3;color:#fff;
 border-radius:4px;padding:0 5px;margin-right:4px;font-weight:700}
.quiz-empty{text-align:center;color:#6d7d94;padding:40px 10px;font-size:14px}
@media(max-width:640px){
 .quiz-app{padding:18px}.quiz-form{grid-template-columns:1fr}
 .quiz-card{padding:16px}.quiz-score{font-size:34px}
}
