.nx-loader {
  position: fixed;
  inset: 0;
  z-index: 999999;
  background: #000;

  display: flex;
  align-items: center;
  justify-content: center;

  transform: translateY(0);
  transition: transform 0.9s ease-in-out;
}

.nx-loader-hide {
  transform: translateY(-100vh);
}

/* center stack */
.nx-loader-center {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 50px;
}

/* logo */
.nx-loader-logo {
  width: 56px;
  height: auto;
  display: block;
}

/* line */
.nx-loader-line {
  width: 140px;
  height: 4px;
  background: #1A1A1A;
  overflow: hidden;
}

.nx-loader-line-fill {
  display: block;
  height: 100%;
  width: 0%;
  background: #fff;
  transition: width 0.08s linear;
}