/* ============================================================
   ASTRON — CAMPO DE ASTEROIDES · a camada da frente

   O segundo canvas do projeto: as rochas coladas na lente vivem
   ACIMA do texto (.world está em z-index 2; o palco sobe a 3 na
   travessia do asteroide; o menu está em 20+). O desfoque em
   bloco é o fora-de-foco de quem está perto demais — a metade
   barata e convincente da profundidade de campo.

   pointer-events: none — o canvas nunca rouba um clique.
   A opacidade é dirigida pelo campo.js: só existe no mundo claro.
   ============================================================ */

#campo-frente {
  position: fixed;
  inset: 0;
  z-index: 4;
  pointer-events: none;
  opacity: 0;

  /* SEM filter aqui — ele é ligado pelo campo.js só quando a
     camada aparece de fato.

     Um blur permanente numa camada fixa de tela cheia é a coisa
     mais cara desta página numa GPU integrada: o navegador
     mantém a camada rasterizada e reaplica o filtro mesmo com
     opacity 0, porque ele não sabe que pode pular. Numa Intel HD
     isso sozinho custava centenas de milissegundos em picos
     esparsos.

     A classe abaixo entra quando a opacidade sobe. */
}

#campo-frente.tem-blur {
  filter: blur(7px);
}