CSR Renderização no lado do cliente
Quando a página inteira é montada por JavaScript no navegador — o servidor só entrega uma casca de HTML vazia.
Padrão clássico de React ou Vue: um HTML vazio, tipo <div id="app"></div>, vem do servidor, e então o JS roda e preenche tudo. Rápido depois do primeiro carregamento, lento no início.
O oposto do SSR. Frameworks modernos (Next.js, SvelteKit) misturam os dois — algumas páginas em SSR, outras em CSR.