/**
 * `cn` — minimal className combiner for the design system.
 *
 * Joins truthy class fragments with a single space, dropping `false`,
 * `null`, `undefined` and empty strings. Deliberately dependency-free (no
 * `clsx`/`tailwind-merge`): the kit composes a small, controlled set of
 * classes, and conditional fragments cover every call site.
 *
 * @example
 * cn("px-2", isActive && "bg-primary", disabled && "opacity-50")
 */
export type ClassValue = string | false | null | undefined;

export function cn(...parts: ClassValue[]): string {
  return parts.filter(Boolean).join(" ");
}
