/* efecto — fallback sin WebGL: fondo de píxeles en CSS (el sitio sigue completo) */
html.no-webgl #voxels { display: none; }
html.no-webgl body::before { content: ""; position: fixed; inset: -2% 0; z-index: 0; pointer-events: none;
  background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='576' height='576'><rect x='72' y='528' width='24' height='24' fill='%23f1eee6' fill-opacity='0.12'/><rect x='48' y='48' width='24' height='24' fill='%233ce0b0' fill-opacity='0.18'/><rect x='432' y='216' width='24' height='24' fill='%233b5bff' fill-opacity='0.16'/><rect x='456' y='216' width='24' height='24' fill='%233b5bff' fill-opacity='0.09'/><rect x='408' y='264' width='24' height='24' fill='%23ff4f1f' fill-opacity='0.07'/><rect x='432' y='264' width='24' height='24' fill='%23ff4f1f' fill-opacity='0.04'/><rect x='144' y='0' width='24' height='24' fill='%233ce0b0' fill-opacity='0.20'/><rect x='168' y='0' width='24' height='24' fill='%233ce0b0' fill-opacity='0.11'/><rect x='312' y='120' width='24' height='24' fill='%233b5bff' fill-opacity='0.10'/><rect x='336' y='120' width='24' height='24' fill='%233b5bff' fill-opacity='0.06'/><rect x='48' y='72' width='24' height='24' fill='%233b5bff' fill-opacity='0.20'/><rect x='72' y='72' width='24' height='24' fill='%233b5bff' fill-opacity='0.11'/><rect x='0' y='144' width='24' height='24' fill='%23ff4f1f' fill-opacity='0.15'/><rect x='0' y='264' width='24' height='24' fill='%23ff4f1f' fill-opacity='0.27'/><rect x='336' y='528' width='24' height='24' fill='%23ff4f1f' fill-opacity='0.09'/><rect x='96' y='480' width='24' height='24' fill='%233b5bff' fill-opacity='0.19'/><rect x='240' y='480' width='24' height='24' fill='%23f1eee6' fill-opacity='0.18'/><rect x='264' y='480' width='24' height='24' fill='%23f1eee6' fill-opacity='0.10'/><rect x='144' y='360' width='24' height='24' fill='%23ff4f1f' fill-opacity='0.19'/><rect x='552' y='48' width='24' height='24' fill='%233b5bff' fill-opacity='0.21'/><rect x='0' y='48' width='24' height='24' fill='%233b5bff' fill-opacity='0.12'/><rect x='168' y='408' width='24' height='24' fill='%233ce0b0' fill-opacity='0.26'/><rect x='384' y='144' width='24' height='24' fill='%233ce0b0' fill-opacity='0.13'/><rect x='408' y='144' width='24' height='24' fill='%233ce0b0' fill-opacity='0.07'/><rect x='312' y='504' width='24' height='24' fill='%23f1eee6' fill-opacity='0.09'/><rect x='480' y='0' width='24' height='24' fill='%23f1eee6' fill-opacity='0.18'/><rect x='504' y='0' width='24' height='24' fill='%23f1eee6' fill-opacity='0.10'/><rect x='312' y='528' width='24' height='24' fill='%23ff4f1f' fill-opacity='0.19'/><rect x='0' y='192' width='24' height='24' fill='%23ff4f1f' fill-opacity='0.23'/><rect x='24' y='192' width='24' height='24' fill='%23ff4f1f' fill-opacity='0.13'/><rect x='528' y='528' width='24' height='24' fill='%233b5bff' fill-opacity='0.22'/><rect x='384' y='528' width='24' height='24' fill='%233b5bff' fill-opacity='0.19'/><rect x='480' y='192' width='24' height='24' fill='%23f1eee6' fill-opacity='0.21'/><rect x='192' y='0' width='24' height='24' fill='%23f1eee6' fill-opacity='0.16'/><rect x='216' y='0' width='24' height='24' fill='%23f1eee6' fill-opacity='0.09'/><rect x='432' y='312' width='24' height='24' fill='%23f1eee6' fill-opacity='0.26'/><rect x='192' y='240' width='24' height='24' fill='%233ce0b0' fill-opacity='0.23'/><rect x='216' y='240' width='24' height='24' fill='%233ce0b0' fill-opacity='0.13'/><rect x='336' y='168' width='24' height='24' fill='%233ce0b0' fill-opacity='0.07'/><rect x='192' y='336' width='24' height='24' fill='%23f1eee6' fill-opacity='0.17'/><rect x='432' y='336' width='24' height='24' fill='%233b5bff' fill-opacity='0.24'/><rect x='456' y='336' width='24' height='24' fill='%233b5bff' fill-opacity='0.13'/><rect x='168' y='144' width='24' height='24' fill='%233ce0b0' fill-opacity='0.15'/><rect x='192' y='144' width='24' height='24' fill='%233ce0b0' fill-opacity='0.08'/><rect x='552' y='552' width='24' height='24' fill='%23ff4f1f' fill-opacity='0.15'/><rect x='0' y='552' width='24' height='24' fill='%23ff4f1f' fill-opacity='0.08'/><rect x='144' y='144' width='24' height='24' fill='%23f1eee6' fill-opacity='0.17'/></svg>"), url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='384' height='384'><rect x='336' y='336' width='12' height='12' fill='%23c8ff2e' fill-opacity='0.14'/><rect x='348' y='336' width='12' height='12' fill='%23c8ff2e' fill-opacity='0.08'/><rect x='360' y='336' width='12' height='12' fill='%23f1eee6' fill-opacity='0.16'/><rect x='372' y='336' width='12' height='12' fill='%23f1eee6' fill-opacity='0.09'/><rect x='276' y='288' width='12' height='12' fill='%23c8ff2e' fill-opacity='0.13'/><rect x='192' y='132' width='12' height='12' fill='%23ff7ac8' fill-opacity='0.11'/><rect x='132' y='348' width='12' height='12' fill='%23ff7ac8' fill-opacity='0.22'/><rect x='0' y='288' width='12' height='12' fill='%23ff7ac8' fill-opacity='0.27'/><rect x='144' y='24' width='12' height='12' fill='%23ff7ac8' fill-opacity='0.13'/><rect x='132' y='288' width='12' height='12' fill='%23ff7ac8' fill-opacity='0.18'/><rect x='276' y='204' width='12' height='12' fill='%23f1eee6' fill-opacity='0.16'/><rect x='72' y='96' width='12' height='12' fill='%23f1eee6' fill-opacity='0.11'/><rect x='108' y='348' width='12' height='12' fill='%23ff7ac8' fill-opacity='0.15'/><rect x='120' y='348' width='12' height='12' fill='%23ff7ac8' fill-opacity='0.08'/><rect x='300' y='372' width='12' height='12' fill='%23f1eee6' fill-opacity='0.25'/><rect x='348' y='372' width='12' height='12' fill='%23f1eee6' fill-opacity='0.13'/><rect x='0' y='300' width='12' height='12' fill='%23c8ff2e' fill-opacity='0.15'/><rect x='12' y='300' width='12' height='12' fill='%23c8ff2e' fill-opacity='0.08'/><rect x='12' y='180' width='12' height='12' fill='%23ff7ac8' fill-opacity='0.16'/><rect x='0' y='96' width='12' height='12' fill='%23c8ff2e' fill-opacity='0.11'/><rect x='36' y='132' width='12' height='12' fill='%23f1eee6' fill-opacity='0.08'/><rect x='96' y='12' width='12' height='12' fill='%23c8ff2e' fill-opacity='0.09'/><rect x='204' y='24' width='12' height='12' fill='%233b5bff' fill-opacity='0.11'/><rect x='324' y='276' width='12' height='12' fill='%23ff7ac8' fill-opacity='0.18'/><rect x='336' y='276' width='12' height='12' fill='%23ff7ac8' fill-opacity='0.10'/><rect x='276' y='48' width='12' height='12' fill='%23ff7ac8' fill-opacity='0.16'/><rect x='288' y='48' width='12' height='12' fill='%23ff7ac8' fill-opacity='0.09'/><rect x='204' y='288' width='12' height='12' fill='%233b5bff' fill-opacity='0.16'/><rect x='216' y='288' width='12' height='12' fill='%233b5bff' fill-opacity='0.09'/><rect x='120' y='204' width='12' height='12' fill='%233b5bff' fill-opacity='0.09'/><rect x='132' y='204' width='12' height='12' fill='%233b5bff' fill-opacity='0.05'/><rect x='180' y='288' width='12' height='12' fill='%233b5bff' fill-opacity='0.14'/><rect x='204' y='240' width='12' height='12' fill='%23ff7ac8' fill-opacity='0.15'/><rect x='228' y='168' width='12' height='12' fill='%23ff7ac8' fill-opacity='0.19'/><rect x='240' y='168' width='12' height='12' fill='%23ff7ac8' fill-opacity='0.10'/><rect x='276' y='60' width='12' height='12' fill='%233b5bff' fill-opacity='0.15'/><rect x='288' y='60' width='12' height='12' fill='%233b5bff' fill-opacity='0.08'/><rect x='12' y='336' width='12' height='12' fill='%23ff7ac8' fill-opacity='0.17'/><rect x='24' y='336' width='12' height='12' fill='%23ff7ac8' fill-opacity='0.09'/><rect x='180' y='324' width='12' height='12' fill='%23f1eee6' fill-opacity='0.16'/><rect x='96' y='252' width='12' height='12' fill='%233b5bff' fill-opacity='0.12'/><rect x='12' y='216' width='12' height='12' fill='%23f1eee6' fill-opacity='0.23'/><rect x='60' y='288' width='12' height='12' fill='%233b5bff' fill-opacity='0.08'/><rect x='72' y='288' width='12' height='12' fill='%233b5bff' fill-opacity='0.04'/><rect x='312' y='144' width='12' height='12' fill='%23ff7ac8' fill-opacity='0.13'/><rect x='372' y='48' width='12' height='12' fill='%23c8ff2e' fill-opacity='0.18'/><rect x='252' y='168' width='12' height='12' fill='%233b5bff' fill-opacity='0.19'/><rect x='168' y='132' width='12' height='12' fill='%23ff7ac8' fill-opacity='0.14'/><rect x='288' y='264' width='12' height='12' fill='%23ff7ac8' fill-opacity='0.21'/><rect x='144' y='132' width='12' height='12' fill='%23f1eee6' fill-opacity='0.10'/><rect x='156' y='132' width='12' height='12' fill='%23f1eee6' fill-opacity='0.06'/><rect x='204' y='372' width='12' height='12' fill='%23f1eee6' fill-opacity='0.22'/><rect x='216' y='372' width='12' height='12' fill='%23f1eee6' fill-opacity='0.12'/><rect x='24' y='144' width='12' height='12' fill='%23c8ff2e' fill-opacity='0.17'/><rect x='276' y='228' width='12' height='12' fill='%23ff7ac8' fill-opacity='0.26'/><rect x='360' y='348' width='12' height='12' fill='%23ff7ac8' fill-opacity='0.16'/><rect x='288' y='300' width='12' height='12' fill='%23ff7ac8' fill-opacity='0.13'/><rect x='240' y='168' width='12' height='12' fill='%233b5bff' fill-opacity='0.25'/><rect x='252' y='168' width='12' height='12' fill='%233b5bff' fill-opacity='0.14'/><rect x='24' y='60' width='12' height='12' fill='%23ff7ac8' fill-opacity='0.09'/><rect x='36' y='60' width='12' height='12' fill='%23ff7ac8' fill-opacity='0.05'/><rect x='336' y='156' width='12' height='12' fill='%23ff7ac8' fill-opacity='0.27'/></svg>");
  background-size: 576px 576px, 384px 384px; background-position: 0 0, 120px 60px;
  -webkit-mask-image: radial-gradient(120% 90% at 70% 40%, #000 20%, rgba(0,0,0,.45) 70%, rgba(0,0,0,.2));
          mask-image: radial-gradient(120% 90% at 70% 40%, #000 20%, rgba(0,0,0,.45) 70%, rgba(0,0,0,.2));
  animation: efx-px-drift 90s steps(90) infinite; }
@keyframes efx-px-drift { to { background-position: -576px 576px, 120px 444px; } }
html.no-webgl .efx-rail { mix-blend-mode: normal; }
@media (prefers-reduced-motion: reduce) { html.no-webgl body::before { animation: none; } }
