/* jp-xzt-quiz 样式 */
.jpxzt-wrap {
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", "Hiragino Sans", "Noto Sans JP", Meiryo, sans-serif;
  max-width: 1000px;
  margin: 0 auto;
  padding: 16px;
  line-height: 1.7;
  color: #222;
}
.jpxzt-wrap .muted { color: #999; font-size: 12px; font-weight: normal; }
.jpxzt-login { border: 1px solid #eee; border-radius: 10px; padding: 24px; text-align: center; background: #fafafa; }
.jpxzt-login h3 { margin-top: 0; }
.jpxzt-tabs { display: flex; gap: 8px; margin-bottom: 18px; border-bottom: 2px solid #eee; padding-bottom: 0; }
.jpxzt-tab { background: none; border: none; padding: 10px 18px; cursor: pointer; font-size: 15px; color: #555; border-bottom: 3px solid transparent; margin-bottom: -2px; }
.jpxzt-tab:hover { color: #0073aa; }
.jpxzt-tab.is-active { color: #0073aa; border-bottom-color: #0073aa; font-weight: 600; }
.jpxzt-panel { }
.jpxzt-loading { color: #888; padding: 20px 0; }
.jpxzt-err { color: #c0392b; }

/* 题集卡 */
.jpxzt-setgrid { display: grid; grid-template-columns: repeat(auto-fill, minmax(300px, 1fr)); gap: 12px; margin-top: 12px; }
.jpxzt-setcard { border: 1px solid #e3e6ea; border-radius: 10px; padding: 14px 16px; background: #fff; box-shadow: 0 1px 2px rgba(0,0,0,.04); display: flex; flex-direction: column; }
.jpxzt-setname { font-weight: 700; font-size: 15px; margin-bottom: 4px; }
.jpxzt-setmeta { color: #777; font-size: 13px; margin-bottom: 10px; }
.jpxzt-setmeta .muted { margin-left: 6px; }
.jpxzt-setopts { display: flex; gap: 10px; align-items: center; flex-wrap: wrap; margin-top: auto; }
.jpxzt-setopts label { font-size: 12px; color: #555; }
.jpxzt-setopts select, .jpxzt-setopts .button { font-size: 13px; }

/* 考试头部 */
.jpxzt-examhead { position: sticky; top: 0; background: #f7f9fb; border: 1px solid #e3e6ea; border-radius: 10px; padding: 12px 14px; margin-bottom: 16px; z-index: 20; display: flex; gap: 14px; align-items: center; flex-wrap: wrap; }
.jpxzt-examhead .jpxzt-title { font-weight: 700; }
.jpxzt-examhead .jpxzt-mode { background: #eef3fa; color: #0073aa; border-radius: 20px; padding: 2px 10px; font-size: 12px; }
.jpxzt-examhead .jpxzt-timer { font-variant-numeric: tabular-nums; }
.jpxzt-examhead .jpxzt-timer .tmr { font-size: 16px; }
.jpxzt-examhead .jpxzt-count { }
.jpxzt-examhead button { margin-left: auto; }
@media (max-width:600px){ .jpxzt-examhead button { margin-left: 0; } }

/* 题目 */
.jpxzt-qlist { display: flex; flex-direction: column; gap: 12px; }
.jpxzt-q { border: 1px solid #e3e6ea; border-radius: 10px; padding: 14px 16px; background: #fff; }
.jpxzt-qhead { display: flex; justify-content: space-between; align-items: center; margin-bottom: 6px; color: #888; font-size: 12px; }
.jpxzt-qno { font-weight: 600; color: #666; }
.jpxzt-qtext { font-size: 16px; margin-bottom: 10px; line-height: 1.8; }
.jpxzt-opts { display: flex; flex-direction: column; gap: 6px; }
.jpxzt-opt { display: flex; gap: 6px; align-items: flex-start; border: 1px solid #edf0f2; border-radius: 8px; padding: 7px 10px; cursor: pointer; transition: .12s; }
.jpxzt-opt:hover { background: #f5f8fa; border-color: #cbd7e0; }
.jpxzt-opt input[type=radio] { margin-top: 4px; flex: none; }
.jpxzt-opthead { font-weight: 700; color: #0073aa; flex: none; }

/* 结果/批改 */
.jpxzt-q.review .jpxzt-opt { cursor: default; }
.jpxzt-q.review .jpxzt-opt.correct-mark { background: #e7f6ec; border-color: #7fc79a; }
.jpxzt-q.review .jpxzt-opt.wrong-mark { background: #fdecec; border-color: #e47c7c; }
.jpxzt-q.review.right { border-color: #7fc79a; border-left: 5px solid #2e9e57; }
.jpxzt-q.review.wrong { border-color: #e2a6a6; border-left: 5px solid #d9534f; }
.jpxzt-q.review.blank { border-left: 5px solid #d0a328; }
.st { font-weight: 700; }
.st.ok { color: #2e9e57; }
.st.bad { color: #d9534f; }
.st.na { color: #d0a328; }
.tag { margin-left: 6px; font-size: 12px; padding: 0 6px; border-radius: 4px; font-weight: 700; }
.tag.right-tag { color: #2e9e57; }
.tag.wrong-tag { color: #d9534f; }
.jpxzt-answer { margin-top: 10px; padding: 8px 10px; background: #fafbfc; border-radius: 6px; font-size: 14px; border: 1px dashed #dfe3e6; }
.jpxzt-answer .c { color: #1a7f37; }

/* 统计 */
.jpxzt-reshead h3 { margin: 0 0 10px; }
.jpxzt-reshead h3 .muted { font-weight: normal; }
.jpxzt-stats { display: flex; gap: 12px; flex-wrap: wrap; margin-bottom: 8px; }
.jpxzt-stats .stat { border: 1px solid #e3e6ea; border-radius: 10px; padding: 10px 18px; text-align: center; background: #fff; min-width: 70px; }
.jpxzt-stats .stat em { display: block; font-size: 24px; font-style: normal; font-weight: 800; }
.jpxzt-stats .stat span { font-size: 12px; color: #888; }
.jpxzt-stats .stat.ok em { color: #2e9e57; }
.jpxzt-stats .stat.bad em { color: #d9534f; }
.jpxzt-stats .stat.na em { color: #d0a328; }
.jpxzt-stats .stat.rate em { color: #0073aa; }
.jpxzt-resbtns { display: flex; gap: 10px; margin: 12px 0; flex-wrap: wrap; }

/* 历史 */
.jpxzt-hist { width: 100%; border-collapse: collapse; font-size: 14px; }
.jpxzt-hist th, .jpxzt-hist td { border: 1px solid #e6e9ed; padding: 7px 9px; text-align: left; }
.jpxzt-hist thead th { background: #f7f9fb; }
.jpxzt-hist tr:nth-child(even) td { background: #fbfcfd; }
.jpxzt-detailbox { margin-top: 18px; border-top: 2px dashed #d5dbe1; padding-top: 14px; }
.jpxzt-detailhead { display: flex; align-items: baseline; gap: 14px; flex-wrap: wrap; }
.jpxzt-detailhead p { color: #666; }
