/* Búho de arranque (index.html). Vive aquí y no en línea: Vite procesa los
   estilos en línea de index.html con crypto.hash (Node >= 20.19) y el Node de
   Render es anterior. Los archivos de /public se copian tal cual. */
      /* Fondo oscuro desde el primer pintado: el loader es transparente sus
         primeros 300 ms y, sin esto, se veía el blanco por defecto. */
      html, body { background: #0d0d0d; }
      #boot-loader {
        position: fixed; inset: 0;
        display: flex; align-items: center; justify-content: center;
        /* Mismo fondo que --background de la app (0 0% 5%): la app es siempre
           oscura, así que no hay variante clara — evita el destello blanco. */
        background: #0d0d0d; color: #ffffff;
        /* Aparece hasta los 300 ms: si la app carga rápido, nunca se ve */
        opacity: 0; animation: boot-in .25s ease-out .3s forwards;
      }
      #boot-loader svg { width: 160px; height: auto; }
      @keyframes boot-in { to { opacity: 1; } }
      @media (prefers-reduced-motion: reduce) {
        #boot-loader { animation: none; opacity: 1; }
      }
    

/* Animación del SVG (antes dentro del propio <svg>) */
.nebu-loader mask path{fill:none;stroke:#fff;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:1 2;stroke-dashoffset:1;animation:var(--nebu-loader-duration,1.8s) linear infinite}@keyframes nl-k0{0%,28.54%{stroke-dashoffset:1.2}28.56%{stroke-dashoffset:1}36.88%,85.2%{stroke-dashoffset:0}93.12%{stroke-dashoffset:-1}93.14%,100%{stroke-dashoffset:-1.2}}.nebu-loader .nl-s0{animation-name:nl-k0}@keyframes nl-k1{0%,28.33%{stroke-dashoffset:1.2}28.35%{stroke-dashoffset:1}36.84%,85.0%{stroke-dashoffset:0}93.08%{stroke-dashoffset:-1}93.10%,100%{stroke-dashoffset:-1.2}}.nebu-loader .nl-s1{animation-name:nl-k1}@keyframes nl-k2{0%,28.54%{stroke-dashoffset:1.2}28.56%{stroke-dashoffset:1}28.86%,85.2%{stroke-dashoffset:0}85.49%{stroke-dashoffset:-1}85.51%,100%{stroke-dashoffset:-1.2}}.nebu-loader .nl-s2{animation-name:nl-k2}@keyframes nl-k3{0%,10.51%{stroke-dashoffset:1.2}10.53%{stroke-dashoffset:1}28.86%,68.02%{stroke-dashoffset:0}85.49%{stroke-dashoffset:-1}85.51%,100%{stroke-dashoffset:-1.2}}.nebu-loader .nl-s3{animation-name:nl-k3}@keyframes nl-k4{0%,15.95%{stroke-dashoffset:1.2}15.97%{stroke-dashoffset:1}28.56%,73.21%{stroke-dashoffset:0}85.2%{stroke-dashoffset:-1}85.22%,100%{stroke-dashoffset:-1.2}}.nebu-loader .nl-s4{animation-name:nl-k4}@keyframes nl-k5{0%,28.33%{stroke-dashoffset:1.2}28.35%{stroke-dashoffset:1}28.67%,85.0%{stroke-dashoffset:0}85.3%{stroke-dashoffset:-1}85.32%,100%{stroke-dashoffset:-1.2}}.nebu-loader .nl-s5{animation-name:nl-k5}@keyframes nl-k6{0%,10.51%{stroke-dashoffset:1.2}10.53%{stroke-dashoffset:1}28.67%,68.02%{stroke-dashoffset:0}85.3%{stroke-dashoffset:-1}85.32%,100%{stroke-dashoffset:-1.2}}.nebu-loader .nl-s6{animation-name:nl-k6}@keyframes nl-k7{0%,28.21%{stroke-dashoffset:1.2}28.23%{stroke-dashoffset:1}28.35%,84.89%{stroke-dashoffset:0}85.0%{stroke-dashoffset:-1}85.02%,100%{stroke-dashoffset:-1.2}}.nebu-loader .nl-s7{animation-name:nl-k7}@keyframes nl-k8{0%,28.21%{stroke-dashoffset:1.2}28.23%{stroke-dashoffset:1}28.87%,84.89%{stroke-dashoffset:0}85.49%{stroke-dashoffset:-1}85.51%,100%{stroke-dashoffset:-1.2}}.nebu-loader .nl-s8{animation-name:nl-k8}@keyframes nl-k9{0%,16.07%{stroke-dashoffset:1.2}16.09%{stroke-dashoffset:1}28.23%,73.32%{stroke-dashoffset:0}84.89%{stroke-dashoffset:-1}84.91%,100%{stroke-dashoffset:-1.2}}.nebu-loader .nl-s9{animation-name:nl-k9}@keyframes nl-k10{0%,28.85%{stroke-dashoffset:1.2}28.87%{stroke-dashoffset:1}29.06%,85.49%{stroke-dashoffset:0}85.67%{stroke-dashoffset:-1}85.69%,100%{stroke-dashoffset:-1.2}}.nebu-loader .nl-s10{animation-name:nl-k10}@keyframes nl-k11{0%,28.85%{stroke-dashoffset:1.2}28.87%{stroke-dashoffset:1}29.06%,85.49%{stroke-dashoffset:0}85.67%{stroke-dashoffset:-1}85.69%,100%{stroke-dashoffset:-1.2}}.nebu-loader .nl-s11{animation-name:nl-k11}@keyframes nl-k12{0%,28.88%{stroke-dashoffset:1.2}28.9%{stroke-dashoffset:1}40.88%,85.52%{stroke-dashoffset:0}96.94%{stroke-dashoffset:-1}96.96%,100%{stroke-dashoffset:-1.2}}.nebu-loader .nl-s12{animation-name:nl-k12}@keyframes nl-k13{0%,29.01%{stroke-dashoffset:1.2}29.03%{stroke-dashoffset:1}41.05%,85.65%{stroke-dashoffset:0}97.1%{stroke-dashoffset:-1}97.12%,100%{stroke-dashoffset:-1.2}}.nebu-loader .nl-s13{animation-name:nl-k13}@keyframes nl-k14{0%,9.37%{stroke-dashoffset:1.2}9.39%{stroke-dashoffset:1}16.09%,66.94%{stroke-dashoffset:0}73.32%{stroke-dashoffset:-1}73.34%,100%{stroke-dashoffset:-1.2}}.nebu-loader .nl-s14{animation-name:nl-k14}@keyframes nl-k15{0%,16.07%{stroke-dashoffset:1.2}16.09%{stroke-dashoffset:1}29.03%,73.32%{stroke-dashoffset:0}85.65%{stroke-dashoffset:-1}85.67%,100%{stroke-dashoffset:-1.2}}.nebu-loader .nl-s15{animation-name:nl-k15}@keyframes nl-k16{0%,15.95%{stroke-dashoffset:1.2}15.97%{stroke-dashoffset:1}28.9%,73.21%{stroke-dashoffset:0}85.52%{stroke-dashoffset:-1}85.54%,100%{stroke-dashoffset:-1.2}}.nebu-loader .nl-s16{animation-name:nl-k16}@keyframes nl-k17{0%,9.51%{stroke-dashoffset:1.2}9.53%{stroke-dashoffset:1}15.97%,67.08%{stroke-dashoffset:0}73.21%{stroke-dashoffset:-1}73.23%,100%{stroke-dashoffset:-1.2}}.nebu-loader .nl-s17{animation-name:nl-k17}@keyframes nl-k18{0%,9.51%{stroke-dashoffset:1.2}9.53%{stroke-dashoffset:1}10.53%,67.08%{stroke-dashoffset:0}68.02%{stroke-dashoffset:-1}68.04%,100%{stroke-dashoffset:-1.2}}.nebu-loader .nl-s18{animation-name:nl-k18}@keyframes nl-k19{0%,9.37%{stroke-dashoffset:1.2}9.39%{stroke-dashoffset:1}9.53%,66.94%{stroke-dashoffset:0}67.08%{stroke-dashoffset:-1}67.10%,100%{stroke-dashoffset:-1.2}}.nebu-loader .nl-s19{animation-name:nl-k19}@keyframes nl-k20{0%,3.98%{stroke-dashoffset:1.2}4.0%{stroke-dashoffset:1}9.39%,61.81%{stroke-dashoffset:0}66.94%{stroke-dashoffset:-1}66.96%,100%{stroke-dashoffset:-1.2}}.nebu-loader .nl-s20{animation-name:nl-k20}@keyframes nl-k21{0%,3.98%{stroke-dashoffset:1.2}4.0%{stroke-dashoffset:1}12.34%,61.81%{stroke-dashoffset:0}69.75%{stroke-dashoffset:-1}69.77%,100%{stroke-dashoffset:-1.2}}.nebu-loader .nl-s21{animation-name:nl-k21}@keyframes nl-k22{0%,3.98%{stroke-dashoffset:1.2}4.0%{stroke-dashoffset:1}12.07%,61.81%{stroke-dashoffset:0}69.5%{stroke-dashoffset:-1}69.52%,100%{stroke-dashoffset:-1.2}}.nebu-loader .nl-s22{animation-name:nl-k22}@keyframes nl-k23{0%,28.88%{stroke-dashoffset:1.2}28.9%{stroke-dashoffset:1}41.97%,85.52%{stroke-dashoffset:0}97.98%{stroke-dashoffset:-1}98.00%,100%{stroke-dashoffset:-1.2}}.nebu-loader .nl-s23{animation-name:nl-k23}@keyframes nl-k24{0%,29.01%{stroke-dashoffset:1.2}29.03%{stroke-dashoffset:1}42.0%,85.65%{stroke-dashoffset:0}98.0%{stroke-dashoffset:-1}98.02%,100%{stroke-dashoffset:-1.2}}.nebu-loader .nl-s24{animation-name:nl-k24}@keyframes nl-k25{0%{stroke-dashoffset:1}4.0%,58.0%{stroke-dashoffset:0}61.81%{stroke-dashoffset:-1}61.83%,100%{stroke-dashoffset:-1.2}}.nebu-loader .nl-s25{animation-name:nl-k25}@keyframes nl-k26{0%,30.22%{stroke-dashoffset:1.2}30.24%{stroke-dashoffset:1}42.0%,86.8%{stroke-dashoffset:0}98.0%{stroke-dashoffset:-1}98.02%,100%{stroke-dashoffset:-1.2}}.nebu-loader .nl-s26{animation-name:nl-k26}@keyframes nl-k27{0%,30.22%{stroke-dashoffset:1.2}30.24%{stroke-dashoffset:1}42.0%,86.8%{stroke-dashoffset:0}98.0%{stroke-dashoffset:-1}98.02%,100%{stroke-dashoffset:-1.2}}.nebu-loader .nl-s27{animation-name:nl-k27}@media (prefers-reduced-motion:reduce){.nebu-loader mask path{animation:none!important;stroke-dashoffset:0}.nebu-loader{animation:nebu-loader-pulse 2s ease-in-out infinite}@keyframes nebu-loader-pulse{50%{opacity:.45}}}
