Olá Izabella,
há vários problemas e alguns probleminhas em seu código.
Como disse antes, a indentação deve ser precisa, para que possa, por exemplo, enxergar quando uma instrução 'if', 'for', 'while' ou uma function terminam.
Talvez por conta disto você não tenha percebido a falta de uma chave que fechasse o 'else'. (O erro que o console indicava não era o </script>
em si, mas a existência de um </script>
com algo faltando antes (a chave do else).
Um outro problema que só será mostrado no console após corrigir este primeiro, é que a variável button não foi declarada. Como quis mudar o nome da variável para 'botão', a variável button que consta no evento 'button.onclick' ficou sem ser declarada. Ambas (botão e button) devem ser consideradas como uma coisa só, porque são uma coisa só, uma mesma variável.
(aqui um parênteses: não utilize nomes de variáveis ou de functions com acentos, cedilhas, ou outros caracteres inusuais. Assim você não correrá risco de usar caracteres inválidos, e nem se confundirá ao escrever novamente o nome da variável. Ela sempre será sem acento ou cedilha.)
Da mesma forma que 'button', 'input' também não foi declarado, porque você quis mudar o nome da variável que recebe o 'input' para 'caixinha', mas ao comparar o 'caixinha.value' escreveu 'input.value'.
Consertando isto, seu código funciona.
<meta charset="UTF-8">
<input/>
<button>Compare com o meu segredo</button>
<script>
var segredo = 50;
var caixinha = document.querySelector("input");
function verifica() {
if (caixinha.value == segredo) {
alert("vc acertou, iup");
} else {
alert("HA VC ERROU penah");
}
}
var botao = document.querySelector("button");
botao.onclick = verifica;
</script>
Mas relembro que ainda ficaram linhas de comando sem ponto e vírgula no final, espaços entre functions e (), e a já falada indentação, como boas práticas de programação.
Atenção, e bons estudos.