/** Pick 3 distinct positions in [1, 12] for the recovery-words confirmation * gate. Sorted ascending so they read naturally in the prompt. */ export function pickConfirmationPositions(): [number, number, number] { const positions = Array.from({ length: 12 }, (_, i) => i + 1); for (let i = positions.length - 1; i > 0; i--) { const j = Math.floor(Math.random() * (i + 1)); [positions[i], positions[j]] = [positions[j]!, positions[i]!]; } const picked = [positions[0]!, positions[1]!, positions[2]!] as const; return [...picked].sort((a, b) => a - b) as [number, number, number]; }