O que realmente muda quando um componente vira um Server Component?
Ele roda só no servidor, então nunca envia JavaScript para o navegador e pode falar com um banco de dados diretamente, mas não pode ter state, usar effects, ou anexar handlers. O trabalho real de design é traçar a fronteira: as folhas interativas ficam como client components, e tudo acima delas pode ser server. Marcar um componente com "use client" torna tudo que ele importa também client, e é assim que os bundles silenciosamente param de encolher.