/* ================================================
   DISARM — Loading Screen
   Cinematic loading animation styles
   ================================================ */

/* ---- Loading Screen Container ---- */
.loading-screen {
  position: fixed;
  inset: 0;
  z-index: var(--z-loading, 300);
  display: flex;
  align-items: center;
  justify-content: center;
  background-color: #111111;
  overflow: hidden;
}

/* Curtain panels for reveal transition */
.loading-curtain {
  position: absolute;
  top: 0;
  width: 50%;
  height: 100%;
  background-color: #111111;
  z-index: 2;
  will-change: transform;
}

.loading-curtain--left {
  left: 0;
}

.loading-curtain--right {
  right: 0;
}

/* ---- Loading Content ---- */
.loading-content {
  position: relative;
  z-index: 3;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 28px;
  will-change: transform, opacity;
}

/* ---- Logo SVG ---- */
.loading-logo-svg {
  width: 72px;
  height: auto;
  overflow: visible;
}

/* Individual logo pieces — initial state set by GSAP */
.logo-piece {
  will-change: transform, opacity;
}

/* ---- Percentage Counter ---- */
.loading-counter {
  font-family: var(--font-primary, 'Anek Tamil', sans-serif);
  font-size: 13px;
  font-weight: 300;
  letter-spacing: 0.12em;
  color: rgba(158, 229, 222, 0.4);
  font-variant-numeric: tabular-nums;
  user-select: none;
  will-change: color;
}

/* ---- Glow effect (applied via GSAP) ---- */
.loading-logo-svg.has-glow {
  filter: drop-shadow(0 0 12px rgba(158, 229, 222, 0.3))
          drop-shadow(0 0 30px rgba(158, 229, 222, 0.1));
}

/* ---- Responsive ---- */
@media (max-width: 480px) {
  .loading-logo-svg {
    width: 56px;
  }

  .loading-counter {
    font-size: 11px;
  }

  .loading-content {
    gap: 22px;
  }
}
