      html, body {
        margin: 0; padding: 0;
        width: 100%; height: 100%;
        overflow: hidden;
        background-color: #000;
      }

      /* Betrouwbare HTML/CSS Joypad overlay voor mobiel */
      #mobile-joypad {
        position: absolute;
        bottom: 30px;
        left: 30px;
        width: 120px;
        height: 120px;
        z-index: 9999;
        background: rgba(255, 255, 255, 0.2);
        border: 2px solid rgba(255, 255, 255, 0.4);
        border-radius: 50%;
        touch-action: none;
      }

      #joypad-knob {
        position: absolute;
        top: 40px;
        left: 40px;
        width: 40px;
        height: 40px;
        background: rgba(255, 255, 255, 0.8);
        border-radius: 50%;
        box-shadow: 0 4px 10px rgba(0,0,0,0.3);
      }

      /* Verberg de joypad op desktop */
      @media (pointer: fine) {
        #mobile-joypad { display: none; }
      }



/* De achtergrond van de pop-up (gedimd) */
.modal-overlay {
  display: none; /* Standaard verborgen */
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: rgba(0, 0, 0, 0.6);
  z-index: 999999;
  justify-content: center;
  align-items: center;
  font-family: sans-serif;
}
/* Wanneer de modal actief wordt gemaakt door JS */
.modal-overlay.active {
  display: flex; /* Wordt zichtbaar en centreert de content */
}
/* De Help-knop stijlen */
#faq-open-btn {
  position: fixed;
  top: 20px;
  right: 20px;
  /* Extreem hoge z-index, hoger dan alles van A-Frame */
  z-index: 9999999 !important;

  /* Dwingt hardware-rendering op mobiel (breekt door A-Frame heen) */
  transform: translateZ(0);
  -webkit-transform: translateZ(0);

  /* Zorgt dat aanrakingen ALTIJD geregistreerd worden */
  pointer-events: auto !important;

  /* Jouw styling */
  padding: 10px 15px;
  background-color: rgba(0, 0, 0, 0.7);
  color: white;
  border: 1px solid white;
  border-radius: 5px;
  cursor: pointer;
  font-family: sans-serif;

  /* Voorkomt dat de telefoon de tekst selecteert bij lang indrukken */
  -webkit-user-select: none;
  user-select: none;
}
/* Het witte venster zelf */
.modal-content {
  background: white;
  padding: 30px;
  border-radius: 8px;
  max-width: 400px;
  width: 80%;
  position: relative;
  box-shadow: 0 4px 15px rgba(0,0,0,0.3);
}

/* Sluitknop (kruisje) */
#faq-close-btn {
  position: absolute;
  top: 10px; right: 15px;
  background: none; border: none;
  font-size: 24px; cursor: pointer;
}

/* --- RESPONSIVE LOGICA --- */

/* Standaard verbergen we de mobiele instructie */
.mobile-only { display: none; }
.desktop-only { display: block; }

/* Als het scherm kleiner is dan 768px (Mobiel/Tablet) */
@media (max-width: 768px) {
  .desktop-only { display: none; }
  .mobile-only { display: block; }
}
/* De animatie met een ingebouwde vertraging van bijvoorbeeld 0.2 seconden */
.zoom-effect {
  /* animation: naam | duur | versnelling | vertraging | vulmodus */
  animation: zoomIn 0.8s cubic-bezier(0.175, 0.885, 0.32, 1.275) 0.2s both;
}

@keyframes zoomIn {
  from {
    opacity: 0;
    transform: scale(0.7); /* Start iets kleiner */
  }
  to {
    opacity: 1;
    transform: scale(1);   /* Eindig op ware grootte */
  }
}
