/* 试卷记录增强：考试记录、错题本、口令弹窗。颜色与试卷页保持一致。 */
:root{
  --ps-brand:#0f766e;
  --ps-brand-2:#14b8a6;
  --ps-soft:#ecfdf5;
  --ps-ink:#1f2937;
  --ps-ink-2:#4b5563;
  --ps-ink-3:#6b7280;
  --ps-line:#e5e7eb;
  --ps-bad:#b91c1c;
  --ps-bad-bg:#fef2f2;
}

.ps-panel{
  background:#fff;border:1px solid var(--ps-line);border-radius:14px;
  padding:20px 22px 18px;margin:18px 0 0;
  box-shadow:0 10px 30px -24px rgba(15,23,42,.35);
}
.ps-head{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-bottom:14px}
.ps-head h2{margin:0;font-size:18px;color:var(--ps-ink)}
.ps-status{display:inline-flex;align-items:center;gap:6px;font-size:12.5px;color:var(--ps-ink-3)}
.ps-status i{width:7px;height:7px;border-radius:50%;background:#9ca3af;display:inline-block}
.ps-status.on i{background:#16a34a;box-shadow:0 0 0 3px rgba(22,163,74,.12)}
.ps-status.off i{background:#f59e0b;box-shadow:0 0 0 3px rgba(245,158,11,.12)}
.ps-error{
  background:var(--ps-bad-bg);color:var(--ps-bad);border:1px solid #fecaca;
  border-radius:9px;padding:9px 12px;font-size:13.5px;margin-bottom:12px;
}
.ps-resume{
  background:#f0fdfa;border:1px solid #ccfbf1;color:var(--ps-brand);
  border-radius:9px;padding:9px 12px;font-size:13.5px;margin-bottom:12px;
}
.ps-resume-bar{
  display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;
  background:#f0fdfa;border:1px solid #ccfbf1;border-radius:10px;
  padding:10px 14px;margin:14px 0 0;font-size:13.5px;color:var(--ps-brand);
}

.ps-stats{display:grid;gap:10px;grid-template-columns:repeat(2,minmax(0,1fr));margin-bottom:14px}
@media(min-width:560px){.ps-stats{grid-template-columns:repeat(4,minmax(0,1fr))}}
.ps-stats > div{border:1px solid var(--ps-line);border-radius:10px;padding:10px 12px;background:#fcfdfd}
.ps-stats b{display:block;font-size:20px;line-height:1.2;color:var(--ps-ink)}
.ps-stats span{font-size:12.5px;color:var(--ps-ink-3)}

.ps-actions{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:16px}
.ps-btn{
  border:1px solid #cfe3e0;background:#fff;color:var(--ps-brand);
  border-radius:8px;padding:7px 13px;font-size:13.5px;font-weight:600;
  cursor:pointer;font-family:inherit;transition:.16s;text-decoration:none;display:inline-block;
}
.ps-btn:hover{background:var(--ps-soft)}
.ps-btn:disabled{opacity:.45;cursor:not-allowed}
.ps-btn-main{background:var(--ps-brand);border-color:var(--ps-brand);color:#fff}
.ps-btn-main:hover{background:#0b5c56}
.ps-btn-danger{color:var(--ps-bad);border-color:#fecaca}
.ps-btn-danger:hover{background:var(--ps-bad-bg)}

.ps-history-title{font-size:13px;font-weight:700;color:var(--ps-ink-2);margin-bottom:8px}
.ps-list{list-style:none;margin:0;padding:0;max-height:320px;overflow:auto}
.ps-item{
  display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;
  border-top:1px solid #f1f5f3;padding:9px 2px;font-size:13.5px;
}
.ps-item:first-child{border-top:0}
.ps-item-main{display:flex;align-items:center;gap:8px;min-width:0}
.ps-when{color:var(--ps-ink-2);white-space:nowrap}
.ps-tag{font-size:11.5px;background:#f3f4f6;color:var(--ps-ink-3);border-radius:5px;padding:1px 7px}
.ps-tag.wrong{background:var(--ps-soft);color:var(--ps-brand)}
.ps-item-side{display:flex;align-items:baseline;gap:8px;flex-wrap:wrap}
.ps-item-side b{color:var(--ps-brand);font-size:15px;white-space:nowrap}
.ps-item-side span{color:var(--ps-ink-3);font-size:12.5px}
.ps-empty{color:var(--ps-ink-3);font-size:13.5px;padding:6px 2px}
.ps-save-note{margin:12px 0 0;font-size:13px;color:#15803d}
.ps-save-note.bad{color:var(--ps-bad)}

.ps-empty-card{
  background:#fff;border:1px solid var(--ps-line);border-radius:14px;
  padding:30px 22px;text-align:center;margin:18px 0;
}
.ps-empty-card h2{margin:0 0 8px;font-size:20px;color:var(--ps-ink)}
.ps-empty-card p{margin:0 0 16px;color:var(--ps-ink-3);font-size:14px}

/* 首页：每张卡片下的成绩行 */
.card-status{
  margin-top:10px;padding-top:10px;border-top:1px dashed #e5e7eb;
  font-size:12.5px;color:var(--ps-ink-3);min-height:18px;
}
.card-status b{color:var(--ps-brand);font-weight:700}

/* 首页：记录服务状态条 */
.ps-service{
  background:#fff;border:1px solid var(--ps-line);border-radius:12px;
  padding:13px 16px;margin:18px 0 0;
  display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;
  font-size:13.5px;color:var(--ps-ink-2);
}
.ps-service b{color:var(--ps-ink);margin-right:6px}
.ps-service .ps-status{margin-left:2px}
.ps-service-actions{display:flex;gap:8px;flex-wrap:wrap}

/* 口令弹窗 */
.ps-overlay{
  position:fixed;inset:0;z-index:100;background:rgba(15,23,42,.45);
  display:flex;align-items:center;justify-content:center;padding:20px;
  backdrop-filter:blur(2px);
}
.ps-modal{
  width:100%;max-width:380px;background:#fff;border-radius:14px;
  padding:22px 22px 18px;box-shadow:0 24px 60px -20px rgba(15,23,42,.5);
}
.ps-modal h3{margin:0 0 8px;font-size:18px;color:var(--ps-ink)}
.ps-modal p{margin:0 0 14px;font-size:13.5px;color:var(--ps-ink-3);line-height:1.6}
.ps-modal input{
  width:100%;border:1px solid #cbd5d1;border-radius:9px;padding:10px 12px;
  font-size:15px;font-family:inherit;color:var(--ps-ink);outline:none;
}
.ps-modal input:focus{border-color:var(--ps-brand-2);box-shadow:0 0 0 3px rgba(20,184,166,.15)}
.ps-modal-err{min-height:20px;margin-top:7px;font-size:12.5px;color:var(--ps-bad)}
.ps-modal-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:6px}

/* 手机端工具栏：进度条独占一行，三个按钮换到下一行，避免挤在一起 */
@media(max-width:560px){
  .toolbar .wrap{flex-wrap:wrap}
  .toolbar .meter{flex:1 0 100%;order:-1}
}

@media print{
  .ps-panel,.ps-service,.card-status,.ps-overlay,.ps-resume,.ps-resume-bar{display:none!important}
}
