/* ============================================================================
   systemcheck.css — 시험 전 장비 점검 (스피커 · 마이크)
   ============================================================================ */

.sc-wrap{width:var(--ap-content);margin:0 auto;padding:var(--ap-s5) var(--ap-s4)}
.sc-hd{text-align:center;margin-bottom:var(--ap-s6)}
.sc-icon{font-size:40px;margin-bottom:var(--ap-s2)}
.sc-title{
  margin-bottom:var(--ap-s2);
  font-size:var(--ap-t-title2);line-height:var(--ap-t-title2-lh);letter-spacing:var(--ap-t-title2-ls);
  font-weight:700;color:var(--ap-label);
}
.sc-sub{font-size:var(--ap-t-subhead);color:var(--ap-label-3)}

.sc-card{
  margin-bottom:var(--ap-s4);padding:var(--ap-s5);
  background:var(--ap-surface);border:1px solid var(--ap-separator-soft);
  border-radius:var(--ap-r-lg);box-shadow:var(--ap-shadow-xs);
  transition:border-color var(--ap-dur-2) var(--ap-ease),background var(--ap-dur-2) var(--ap-ease);
}
.sc-card-ok{border-color:transparent!important;background:var(--ap-green-tint)}
.sc-card-err{border-color:transparent!important;background:var(--ap-red-tint)}
.sc-card-hd{
  display:flex;align-items:center;gap:var(--ap-s2);margin-bottom:var(--ap-s2);
  font-size:var(--ap-t-headline);font-weight:600;letter-spacing:-.012em;color:var(--ap-label);
}
.sc-card-icon{font-size:20px}
.sc-card-desc{margin-bottom:var(--ap-s3);font-size:var(--ap-t-footnote);line-height:1.6;color:var(--ap-label-3)}
.sc-btn{width:100%;justify-content:center;margin-bottom:var(--ap-s3)}

.sc-ok-msg{padding:var(--ap-s2) 0;font-size:var(--ap-t-subhead);font-weight:600;color:var(--ap-green)}
.sc-err-msg{margin-top:var(--ap-s2);font-size:var(--ap-t-footnote);color:var(--ap-red)}
.sc-playing-msg{
  display:flex;align-items:center;gap:var(--ap-s2);padding:var(--ap-s2) 0;
  font-size:var(--ap-t-footnote);color:var(--ap-label-3);
}
/* 재생 중 표시 — 아이콘이 부드럽게 맥동한다 */
.sc-spinner{display:inline-block;font-size:15px;color:var(--ap-blue);animation:scPulse 1.1s var(--ap-ease) infinite}
@keyframes scPulse{0%,100%{opacity:1}50%{opacity:.35}}

/* 카드 제목 옆 상태 아이콘 */
.scs-pass,.scs-fail,.scs-pend{
  display:inline-flex;align-items:center;justify-content:center;
  width:20px;height:20px;flex-shrink:0;border-radius:50%;
  font-size:11px;font-weight:700;line-height:1;
}
.scs-pass{background:var(--ap-green-tint);color:var(--ap-green)}
.scs-fail{background:var(--ap-red-tint);color:var(--ap-red)}
.scs-pend{background:var(--ap-fill);color:var(--ap-label-4);font-size:10px}
.sc-mic-status{margin-top:6px;min-height:20px;font-size:var(--ap-t-footnote);color:var(--ap-label-2)}

.sc-confirm-row{display:flex;gap:var(--ap-s2);margin-top:var(--ap-s3)}
.sc-confirm-y,.sc-confirm-n{
  flex:1;min-height:var(--ap-tap);padding:11px;border:none;border-radius:var(--ap-r-pill);
  font-family:inherit;font-size:var(--ap-t-footnote);font-weight:600;cursor:pointer;
  transition:background var(--ap-dur-1) var(--ap-ease),transform var(--ap-dur-1) var(--ap-ease-out);
}
.sc-confirm-y:active,.sc-confirm-n:active{transform:scale(.97)}
.sc-confirm-y{background:var(--ap-green);color:#fff}
.sc-confirm-y:hover{background:var(--ap-green-hover)}
.sc-confirm-n{background:var(--ap-red-tint);color:var(--ap-red)}
.sc-confirm-n:hover{background:var(--ap-red-tint-strong)}

.sc-help-link{color:var(--ap-blue-text);font-weight:600;cursor:pointer;text-decoration:underline}
.sc-pass{font-size:var(--ap-t-callout);font-weight:700;color:var(--ap-green)}
.sc-fail{font-size:var(--ap-t-callout);font-weight:700;color:var(--ap-red)}
.sc-pend{font-size:var(--ap-t-caption);color:var(--ap-label-3)}
.sc-footer{margin-top:var(--ap-s5);text-align:center}
.sc-skip-row{margin-top:var(--ap-s3)}

.btn-ghost{
  min-height:var(--ap-tap);padding:var(--ap-s2) var(--ap-s3);
  background:none;border:none;cursor:pointer;
  font-family:inherit;font-size:var(--ap-t-footnote);color:var(--ap-label-3);text-decoration:underline;
}
.btn-ghost:hover{color:var(--ap-label)}
.btn-tiny{
  margin-left:var(--ap-s2);padding:3px 10px;border-radius:var(--ap-r-pill);
  background:var(--ap-green-tint);border:none;color:var(--ap-green);
  font-family:inherit;font-size:var(--ap-t-caption2);font-weight:600;cursor:pointer;
}

/* ── 문제 해결 안내 ───────────────────────────────────────────────────── */
.sc-trouble-list{
  margin-bottom:var(--ap-s4);padding:var(--ap-s4);
  background:var(--ap-surface);border:1px solid var(--ap-separator-soft);border-radius:var(--ap-r-lg);
}
.sc-trouble-item{
  display:flex;align-items:flex-start;gap:var(--ap-s3);
  padding:var(--ap-s2) 0;border-bottom:1px solid var(--ap-separator-soft);
  font-size:var(--ap-t-subhead);line-height:1.5;color:var(--ap-label-2);
}
.sc-trouble-item:last-child{border-bottom:none}
.sc-step{
  width:24px;height:24px;flex-shrink:0;margin-top:1px;border-radius:50%;
  display:flex;align-items:center;justify-content:center;
  background:var(--ap-indigo);color:#fff;
  font-size:var(--ap-t-caption2);font-weight:600;
}
.sc-trouble-note{
  padding:12px;border-radius:var(--ap-r-md);background:var(--ap-fill);
  font-size:var(--ap-t-caption);line-height:1.6;color:var(--ap-label-3);
}
.sc-trouble-footer{margin-top:var(--ap-s4)}
