**ChannelLogo** — square channel avatar. Given `src`, shows the logo; otherwise generates a stable initials chip + color from `name` (mirrors ErsatzTV's `iptv/logos/gen`).

```jsx
<ChannelLogo name="Retro Cartoons" size={40} />
<ChannelLogo name="News 24" src="/logos/news24.png" />
```

Props: `name`, `src`, `size`, `radius`.
