/* ═══════════════════════════════════════════════════════════
   loader.css — Full-screen loading screen (matched to web utama)
═══════════════════════════════════════════════════════════ */

#loader {
  position: fixed;
  inset: 0;
  z-index: 9999;
  background: #080810;
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
  transition: opacity 0.7s cubic-bezier(0.4,0,0.2,1);
}

#loader.done {
  opacity: 0;
  pointer-events: none;
}

/* Ambient pulse rings, centered behind the wordmark */
.loader-rings-bg {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  pointer-events: none;
}

.pulse-ring {
  position: absolute;
  top: 50%;
  left: 50%;
  border-radius: 50%;
  transform: translate(-50%, -50%);
  animation: ls-pulse-ring 2.4s ease-in-out infinite;
}

.pulse-ring-1 {
  width: 240px; height: 240px;
  border: 1px solid rgba(59,130,246,0.12);
}

.pulse-ring-2 {
  width: 180px; height: 180px;
  border: 1px solid rgba(6,182,212,0.08);
  animation-delay: 0.6s;
}

@keyframes ls-pulse-ring {
  0%, 100% { opacity: 0.3; transform: translate(-50%, -50%) scale(1); }
  50%      { opacity: 0.7; transform: translate(-50%, -50%) scale(1.06); }
}

.loader-inner {
  position: relative;
  z-index: 1;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 0;
}

/* Wordmark: matha + bot */
.loader-wordmark {
  margin-bottom: 2rem;
  line-height: 1;
  user-select: none;
}

.wm-matha {
  font-size: clamp(2.4rem, 9vw, 3.6rem);
  font-weight: 800;
  letter-spacing: -0.03em;
  color: #ffffff;
}

.wm-bot {
  font-size: clamp(2.4rem, 9vw, 3.6rem);
  font-weight: 800;
  letter-spacing: -0.03em;
  background: linear-gradient(135deg, #38BDF8 0%, #06B6D4 100%);
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
}

/* Progress bar */
.loader-bar-wrap {
  width: clamp(160px, 30vw, 220px);
  height: 2px;
  background: rgba(255,255,255,0.07);
  border-radius: 2px;
  overflow: hidden;
  margin-bottom: 0.85rem;
}

.loader-bar {
  height: 100%;
  width: 0%;
  background: linear-gradient(90deg, #3B82F6, #06B6D4);
  border-radius: 2px;
  box-shadow: 0 0 8px 1px rgba(59,130,246,0.55);
}

.loader-percent {
  font-size: 0.65rem;
  letter-spacing: 0.25em;
  color: rgba(255,255,255,0.35);
  text-transform: uppercase;
  font-variant-numeric: tabular-nums;
  transition: color 0.4s ease;
}

.loader-percent.ready {
  color: rgba(56,189,248,0.85);
}
