/* Shared voice settings panel (used by every app's Grown-ups view). */
.voice-set { margin: 18px 0 8px; padding-top: 12px; border-top: 2px dashed #e9ecef; display: flex; flex-direction: column; gap: 10px; text-align: left; }
.voice-set h3 { margin: 0; }
.vs-label { font-weight: 700; font-size: 1rem; }
.vs-select {
  width: 100%; min-height: 52px; padding: 10px 14px; font: inherit; font-size: 1rem; font-weight: 600;
  color: var(--ink, #2b2d42); background: #fff; border: 3px solid #ffcc33; border-radius: 18px;
}
.vs-val { font-weight: 400; color: #495057; }
.vs-range { width: 100%; min-height: 48px; accent-color: #4dabf7; }
.vs-check { display: flex; align-items: center; gap: 10px; min-height: 48px; font-size: 1rem; }
.vs-check input { width: 28px; height: 28px; accent-color: #51cf66; }
.btn-test {
  min-height: 52px; border: 0; border-radius: 22px; background: #4dabf7; color: #fff;
  font: inherit; font-size: 1.1rem; font-weight: 700; box-shadow: 0 6px 0 rgba(0,0,0,.15); touch-action: manipulation;
}
.btn-test:active { transform: translateY(3px); box-shadow: 0 3px 0 rgba(0,0,0,.15); }
.vs-now { margin: 0; font-size: .95rem; color: #495057; }
.vs-tip { margin: 0; padding: 10px 12px; background: #fff9db; border-radius: 12px; font-size: .95rem; line-height: 1.4; }
