Olá thelemaco, tudo bem?
Você cometeu apenas um pequeno equívoco na hora de definir a variável, veja que se colocamos o nome de calopsita para definir o elemento html, em todo momento que quisermos pegar o valor do campo iremos utilizar:
calopsita.value
Pois calopsita representa o nosso campo de texto, no caso como você colocou input.value o javascript não sabe o que é input, na verdade deveríamos fazer:
var input = document.querySelector("input");
Desa maneira input representa o campo e input.value o valor do campo :)
Conseguiu Compreender?
Abraços e Bons Estudos!