/* 1022 새 편집기 [소리] 더하기(edv2-sound.js) — 말소리 · 빈 곳 · 효과음 · 권장 소리 크기 · 타임라인 빗금 · 효과음 줄
 *  앱 색 변수만 · 글자 13px 이상 · 누르는 곳 44px(375px 도) · 375px 가로 넘침 없음 */
.ev2s { display: flex; flex-direction: column; gap: 6px; min-width: 0; }
.ev2s p { margin: 0; }
.ev2s-h4 { margin: 6px 0 0; font-size: 14px; font-weight: 600; color: var(--ink-2); }
.ev2s-range { display: grid; grid-template-columns: auto minmax(0, 1fr) auto; gap: 8px; align-items: center; min-width: 0; font-size: 14px; }
.ev2s-range label { font-size: 14px; color: var(--ink-2); }
.ev2s-range input[type=range] { width: 100%; min-width: 0; min-height: 44px; margin: 0; }
.ev2s-range output { font-size: 14px; font-variant-numeric: tabular-nums; min-width: 4.5ch; text-align: right; }
.ev2s-chk { display: flex; align-items: center; gap: 8px; min-height: 44px; font-size: 14px; cursor: pointer; flex-wrap: wrap; }
.ev2s-chk input { width: 20px; height: 20px; margin: 0; flex: none; }
.ev2s-gaprow { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; min-width: 0; font-size: 14px; }
.ev2s-gaprow .btn, .ev2s .btn { min-height: 44px; font-size: 14px; }
.ev2s-grow { flex: 1 1 auto; }
.ev2s-st:empty { display: none; }
.ev2s-picks, .ev2s-sfxl { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 6px; min-width: 0; }
.ev2s-pick { display: grid; grid-template-columns: 44px minmax(0, 1fr) auto; gap: 8px; align-items: center; padding: 4px 6px; border: 1px solid var(--line); border-radius: 10px; min-width: 0; }
.ev2s-ic { width: 44px; padding: 0 !important; }
.ev2s-pn { min-width: 0; font-size: 14px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.ev2s-pn .ev2-muted { font-size: 13px; }
.ev2s-uprow { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; }
.ev2s-up { display: inline-flex; align-items: center; justify-content: center; min-height: 44px; cursor: pointer; }
.ev2s-up:focus-within { outline: 3px solid var(--teal); outline-offset: 2px; }
.ev2s-sfx { display: flex; flex-direction: column; gap: 4px; padding: 6px; border: 1px solid var(--line); border-radius: 10px; min-width: 0; }
.ev2s-sfxh { display: flex; flex-wrap: wrap; align-items: center; gap: 6px; min-width: 0; }
.ev2s-at { font-size: 14px; font-variant-numeric: tabular-nums; color: var(--ink-2); }
.ev2s-sn { flex: 1 1 6em; min-width: 0; font-size: 14px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.ev2s .btn:focus-visible, .ev2s input:focus-visible { outline: 3px solid var(--teal); outline-offset: 2px; }
/* 타임라인 — 빈 곳 빗금(소리 줄 위 · 누르기는 줄로 = 그 자리로) · 효과음 줄 */
.ev2s-gapmk { position: absolute; top: 2px; bottom: 2px; z-index: 2; pointer-events: none; border-radius: 4px; border: 2px solid #b45309;
  background: repeating-linear-gradient(135deg, rgba(251, 191, 36, .9) 0 4px, rgba(251, 191, 36, .28) 4px 8px); box-sizing: border-box; }
.ev2s-gapmk.on { border-color: #111; box-shadow: 0 0 0 2px #fff inset; }
.ev2-blk.ev2s-sfxb { background: #1f6f8b; cursor: inherit; display: flex; align-items: center; pointer-events: none; }
@media (max-width: 520px) {
  .ev2s-pick { grid-template-columns: 44px minmax(0, 1fr); }
  .ev2s-pick > [data-ev2ssfxadd] { grid-column: 1 / -1; }
  .ev2s-sfxh .btn { flex: 1 1 auto; }
}
/* 1029 화면해설(edv2-narr.js) */
.ev2n-text { width: 100%; min-width: 0; box-sizing: border-box; font: inherit; font-size: 16px; line-height: 1.5; padding: 8px; border: 1px solid var(--line); border-radius: 8px; resize: vertical; background: var(--bg, #fff); color: inherit; }
.ev2n-ok { font-size: 14px; color: #166534; font-weight: 600; }
.ev2n-need { font-size: 14px; color: #92400e; }
.ev2-blk.ev2n-blk { background: #6d28d9; cursor: inherit; display: flex; align-items: center; pointer-events: none; overflow: hidden; white-space: nowrap; font-size: 12px; }
.ev2-blk.ev2n-blk.none { background: transparent; border: 1px dashed #6d28d9; color: #6d28d9; }
.ev2n select { min-height: 44px; font-size: 16px; max-width: 100%; }
.ev2n .btn { min-height: 44px; }
