Create a well-documented Python 3 program that generates a balanced k-d tree using the median of each dimension as a splitting plane for a given set of points in n-dimensional space. Your program must include a function that constructs the k-d tree from a list of input points, a method for searching the k-d tree to find the closest point to a given query point, and an example use-case demonstrating how the program can be used. Your program should also include clear and concise documentation and maintain a consistent coding style throughout.
This prompt doesn't seem malicious.