import { cn } from '@/lib/utils' interface Props { className?: string /** How many stacked rows to show. Default 3. */ rows?: number } /** * Single pulsing placeholder. * Rule: render only when zero SSE events AND zero graph nodes have arrived. * Disappears the moment any data lands — never re-shown for that query session. */ export function LoadingSkeleton({ className, rows = 3 }: Props) { return (