/* ==========================================================================
   App Page Loader
   Animasi loading full-screen — HANYA dipakai di index.ejs (landing page).
   Latar belakang: hitam | Teks & animasi: putih
   Bar geser bolak-balik 5x (kanan 1, kiri 2, kanan 3, kiri 4, kanan 5),
   total durasi 5 x 1.2s = 6 detik, baru masuk ke halaman.
   ========================================================================== */

#app-page-loader {
  position: fixed;
  inset: 0;
  z-index: 999999;
  background: #000000;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: opacity 0.45s ease, visibility 0.45s ease;
}

#app-page-loader.app-page-loader--hidden {
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
}

#app-page-loader .app-page-loader__text {
  position: relative;
  width: 250px;
  height: 50px;
  line-height: 50px;
  text-align: center;
  font-family: helvetica, arial, sans-serif;
  text-transform: uppercase;
  font-weight: 900;
  letter-spacing: 0.2em;
  color: #ffffff;
  white-space: nowrap;
}

#app-page-loader .app-page-loader__text::before,
#app-page-loader .app-page-loader__text::after {
  content: "";
  display: block;
  width: 15px;
  height: 15px;
  background: #ffffff;
  position: absolute;
  animation: app-page-loader-bar 1.2s ease-in-out 5 alternate forwards;
}

#app-page-loader .app-page-loader__text::before {
  top: 0;
}

#app-page-loader .app-page-loader__text::after {
  bottom: 0;
}

@keyframes app-page-loader-bar {
  0%   { left: 0;    height: 30px; width: 15px; }
  50%  { height: 8px;  width: 40px; }
  100% { left: 235px; height: 30px; width: 15px; }
}

@media (max-width: 480px) {
  #app-page-loader .app-page-loader__text {
    transform: scale(0.8);
  }
}
