:root {
  --bg-color: #0d0713;
}

* {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
  user-select: none;
}

body, html {
  width: 100%;
  height: 100%;
  overflow: hidden;
  background-color: var(--bg-color);
  touch-action: none;
}

/* Canvas 3D che occupa l'intero schermo senza elementi DOM sovrapposti */
#voxel-canvas {
  position: fixed;
  top: 0;
  left: 0;
  width: 100vw;
  height: 100vh; /* fallback per browser senza supporto dvh */
  height: 100dvh; /* esclude la barra URL mobile dall'altezza, niente crop del canvas */
  z-index: 1;
  display: block;
}

/* Proxy invisibile del form contatti (main.js, createFormProxy): unica eccezione al
   design zero-DOM. Cattura la digitazione reale (tastiera mobile, IME) mentre il testo
   viene disegnato sui cubi; i tap restano sempre al canvas (pointer-events:none), il
   contenuto resta invisibile (opacity quasi zero, colore trasparente). font-size:16px
   evita l'auto-zoom di iOS Safari al focus; le proprietà qui sotto sovrascrivono i reset
   globali (`*` in cima al file). */
#form-proxy {
  position: fixed;
  top: 0;
  left: 0;
  width: 40px;
  height: 40px;
  opacity: 0.01;
  z-index: 2;
  border: 0;
  padding: 0;
  resize: none;
  outline: none;
  font-size: 16px;
  user-select: text;
  touch-action: auto;
  pointer-events: none;
  color: transparent;
  caret-color: transparent;
  background: transparent;
}
