/* ui-play-v2.css — 새 판(v2) 참여 화면: 구역·쪽 넘기기·유형별 입력·투표 결과·바닥글·강조색. split from ui.css (RULE-code-19) */

/* ─── 새 판(v2) 참여 화면 — 구역 머리 · 결과 화면 제목 ─── */
.sv-section { margin: 28px 0 12px; }
.sv-section:first-child { margin-top: 0; }
.sv-section__title { margin: 0 0 4px; font-size: calc(20px * var(--sv-scale, 1)); font-weight: 700; color: var(--sv-ink); }
.sv-section__desc { margin: 0; color: var(--sv-ink-soft); font-size: calc(14px * var(--sv-scale, 1)); line-height: 1.6; }
.sv-done__title { margin: 0; font-size: calc(22px * var(--sv-scale, 1)); font-weight: 700; color: var(--sv-ink); }

/* 쪽 넘기기(카드형·구역) — 지금 쪽이 아닌 것은 감춘다 */
.sv-step-off { display: none !important; }
.sv-stepnav { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin: 16px 0; }
.sv-stepnav__pos { color: var(--sv-ink-soft); font-size: calc(14px * var(--sv-scale, 1)); }
.sv-stepnav .sv-btn[hidden] { display: none; }
.sv-stepnav .sv-btn:disabled { opacity: .4; cursor: default; }

/* 문항마다 정답 알려 주기 */
.sv-q__check { margin-top: 12px; }
.sv-q__feedback { display: flex; flex-direction: column; gap: 4px; padding: 12px 14px; border-radius: 10px; font-size: calc(15px * var(--sv-scale, 1)); line-height: 1.6; }
.sv-q__feedback.is-right { background: #e9f8ef; color: #17633a; }
.sv-q__feedback.is-wrong { background: #fdecec; color: #9b1c1c; }
.sv-q__feedback div { color: var(--sv-ink); }

/* ─── 더한 유형(6단계) — 내려 고르기 · 척도 · 행렬 · 순위 ─── */
.sv-select { appearance: auto; }

.sv-scale { display: flex; flex-wrap: wrap; gap: 8px; }
.sv-scale__item { flex: 1 1 44px; max-width: 72px; cursor: pointer; }
.sv-scale__item input { position: absolute; opacity: 0; pointer-events: none; }
.sv-scale__item span { display: flex; align-items: center; justify-content: center; height: 44px; border: 1px solid var(--sv-line); border-radius: 10px; background: var(--sv-surface); font-weight: 600; color: var(--sv-ink-soft); }
.sv-scale__item:hover span { background: #f7f8fb; }
.sv-scale__item input:checked + span { border-color: var(--sv-brand); background: var(--sv-brand); color: #fff; }
.sv-scale__item input:focus-visible + span { outline: 2px solid var(--sv-brand); outline-offset: 2px; }
.sv-scale__ends { display: flex; justify-content: space-between; gap: 12px; margin-top: 6px; color: var(--sv-ink-soft); font-size: calc(13px * var(--sv-scale, 1)); }
.sv-scale--star .sv-scale__item { flex: 0 0 auto; }
.sv-scale--star .sv-scale__item span { width: 44px; border: 0; background: none; font-size: calc(28px * var(--sv-scale, 1)); color: #d5d9e2; }
.sv-scale--star .sv-scale__item.is-fill span,
.sv-scale--star .sv-scale__item input:checked + span { background: none; color: #f5b301; }

.sv-matrix-wrap { overflow-x: auto; }
.sv-matrix { width: 100%; border-collapse: collapse; font-size: calc(14px * var(--sv-scale, 1)); }
.sv-matrix th, .sv-matrix td { padding: 10px 8px; border-bottom: 1px solid var(--sv-line); text-align: center; }
.sv-matrix thead th { color: var(--sv-ink-soft); font-weight: 600; }
.sv-matrix tbody th { text-align: left; font-weight: 600; color: var(--sv-ink); }
.sv-matrix td label { display: flex; justify-content: center; cursor: pointer; }
.sv-matrix td input { width: 18px; height: 18px; accent-color: var(--sv-brand); }
.sv-matrix__col { display: none; }
@media (max-width: 640px) {
  /* 좁은 화면 — 표를 풀어 항목마다 선택지를 세로로 쌓는다 */
  .sv-matrix thead { display: none; }
  .sv-matrix, .sv-matrix tbody, .sv-matrix tr, .sv-matrix th, .sv-matrix td { display: block; }
  .sv-matrix tr { padding: 10px 0; border-bottom: 1px solid var(--sv-line); }
  .sv-matrix th, .sv-matrix td { padding: 4px 0; border: 0; text-align: left; }
  .sv-matrix td label { justify-content: flex-start; gap: 8px; }
  .sv-matrix__col { display: inline; }
}

.sv-rank { display: flex; flex-direction: column; gap: 8px; }
.sv-rank__item { width: 100%; background: var(--sv-surface); color: inherit; font: inherit; text-align: left; cursor: pointer; }
.sv-rank__num { flex: none; display: inline-flex; align-items: center; justify-content: center; width: 26px; height: 26px; border: 1px solid var(--sv-line); border-radius: 50%; font-size: calc(13px * var(--sv-scale, 1)); font-weight: 700; color: #fff; }
.sv-rank__item.is-on .sv-rank__num { border-color: var(--sv-brand); background: var(--sv-brand); }

/* ─── 7단계 — 정원(마감된 보기) · 제출 뒤 결과(투표) ─── */
.sv-opt.is-full { opacity: .5; cursor: not-allowed; }
.sv-opt__seat { margin-left: 6px; color: var(--sv-ink-soft); font-size: calc(13px * var(--sv-scale, 1)); }
.sv-votes { width: 100%; text-align: left; }
.sv-votes__head { margin: 0 0 12px; color: var(--sv-ink-soft); font-size: 14px; }
.sv-vote { margin-bottom: 16px; }
.sv-vote h3 { margin: 0 0 8px; font-size: 16px; }
.sv-vote__row { display: grid; grid-template-columns: minmax(80px, 30%) 1fr auto; align-items: center; gap: 8px; margin-bottom: 6px; font-size: 14px; }
.sv-vote__label { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.sv-vote__bar { height: 10px; border-radius: 6px; background: #eef0f5; overflow: hidden; }
.sv-vote__bar i { display: block; height: 100%; border-radius: 6px; background: var(--sv-brand); }
.sv-vote__num { color: var(--sv-ink-soft); font-size: 13px; white-space: nowrap; }

/* ─── 참여 화면 바닥글 (2026-10-07, 옛 www 바닥글) ─── */
.sv-footer { margin-top: 40px; padding: 32px 16px 40px; border-top: 1px solid var(--sv-line); background: #f7f8fa; color: var(--sv-ink-soft); font-size: 13px; }
.sv-footer__inner { width: min(100%, 760px); margin: 0 auto; }
.sv-footer p { margin: 0 0 4px; }
.sv-footer__logos { display: flex; flex-wrap: wrap; align-items: center; gap: 16px; margin-bottom: 12px !important; }
.sv-footer__logos img { display: block; height: 28px; width: auto; }
.sv-footer__links a { color: var(--sv-ink-soft); text-decoration: none; }
.sv-footer__links a:hover { text-decoration: underline; }
.sv-footer__links span { margin: 0 6px; color: var(--sv-line); }
.sv-footer__copy { margin-top: 10px !important; font-size: 12px; }

/* ─── 참여 화면 강조색 — 짙은 회색(문항 번호·제출·고른 보기 테두리·링크) (2026-10-07) ─── */
body.sv-body--play {
  --sv-brand: #3a3f47;
  --sv-brand-dark: #23272e;
  --sv-brand-soft: #f0f1f3;
}

