/* AURIXA modern graphite loader — scoped only to nxv-loader */

.nxv-loader {
  min-height: 100dvh !important;
  padding: 18px 14px !important;
  display: flex !important;
  justify-content: center !important;
  align-items: center !important;
  color: #f3f5f8 !important;
  background:
    radial-gradient(circle at 50% 25%,
      rgba(189,216,184,.09),transparent 45%),
    linear-gradient(160deg,#0a1018,#17212b 55%,#090e15) !important;
}

.nxv-loader .nxv-ambient {
  opacity: .14 !important;
}

.nxv-loader .nxv-panel {
  box-sizing: border-box !important;
  position: relative !important;
  width: min(100%, 420px) !important;
  min-height: min(540px, calc(100dvh - 36px)) !important;
  padding: 26px 23px !important;
  border-radius: 27px !important;
  border: 1px solid rgba(225,234,238,.17) !important;
  background:
    linear-gradient(155deg,
      rgba(35,48,59,.97),
      rgba(14,22,31,.99)) !important;
  box-shadow:
    0 22px 65px rgba(0,0,0,.28),
    inset 0 1px rgba(255,255,255,.055) !important;
  display: flex !important;
  flex-direction: column !important;
  overflow: hidden !important;
}

.nxv-loader .nxv-header {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  padding: 0 0 19px !important;
  border-bottom: 1px solid rgba(230,238,244,.1) !important;
}

.nxv-loader .nxv-brand {
  color: #f5f7f8 !important;
  letter-spacing: 1.5px !important;
}

.nxv-loader .nxv-brand-dot {
  background: #cde5b4 !important;
  box-shadow: 0 0 12px rgba(205,229,180,.25) !important;
}

.nxv-loader .nxv-secure {
  color: #cde5b4 !important;
  border: 1px solid rgba(205,229,180,.27) !important;
  background: rgba(205,229,180,.07) !important;
}

.nxv-loader .nxv-logo-section,
.nxv-loader .nxv-stages {
  display: none !important;
}

.nxv-loader .nxv-copy {
  margin: auto 0 26px !important;
  padding: 30px 0 0 !important;
  text-align: center !important;
}

.nxv-loader .nxv-copy::before {
  content: "" !important;
  display: block !important;
  width: 106px !important;
  height: 106px !important;
  margin: 0 auto 30px !important;
  border-radius: 50% !important;
  border: 1px solid rgba(216,232,235,.18) !important;
  background:
    radial-gradient(circle,
      #d5edc4 0 5px,
      #21313a 6px 20px,
      transparent 21px),
    radial-gradient(circle,
      transparent 0 37px,
      rgba(201,225,220,.19) 38px 39px,
      transparent 40px),
    #16222d !important;
  box-shadow:
    0 0 0 11px rgba(220,235,230,.025),
    0 0 32px rgba(205,229,180,.09) !important;
}

.nxv-loader .nxv-copy > span {
  display: block !important;
  margin-bottom: 12px !important;
  color: #cde5b4 !important;
  letter-spacing: 2px !important;
  font-size: 10px !important;
}

.nxv-loader .nxv-copy h1 {
  margin: 0 0 12px !important;
  color: #fff !important;
  font-size: clamp(24px,6vw,31px) !important;
  line-height: 1.17 !important;
  letter-spacing: -1px !important;
}

.nxv-loader .nxv-copy p {
  color: #a9bac5 !important;
  font-size: 12px !important;
}

.nxv-loader .nxv-progress {
  padding: 18px !important;
  margin: 0 0 28px !important;
  border: 1px solid rgba(224,235,240,.12) !important;
  border-radius: 17px !important;
  background: rgba(5,12,20,.22) !important;
}

.nxv-loader .nxv-progress-top {
  display: flex !important;
  justify-content: space-between !important;
  align-items: center !important;
  margin-bottom: 14px !important;
}

.nxv-loader .nxv-progress-top span {
  color: #aabcc8 !important;
}

.nxv-loader .nxv-progress-top strong {
  color: #f7faf8 !important;
}

.nxv-loader .nxv-track {
  height: 6px !important;
  overflow: hidden !important;
  border-radius: 999px !important;
  background: rgba(234,240,243,.1) !important;
}

.nxv-loader .nxv-fill {
  height: 100% !important;
  border-radius: 999px !important;
  background: linear-gradient(
    90deg,#a7b9bb,#d8efbd
  ) !important;
  box-shadow: 0 0 15px rgba(216,239,189,.18) !important;
}

.nxv-loader .nxv-footer {
  display: flex !important;
  justify-content: space-between !important;
  margin-top: auto !important;
  padding-top: 18px !important;
  border-top: 1px solid rgba(230,238,244,.08) !important;
  color: #80909e !important;
  font-size: 9px !important;
}

@media (prefers-reduced-motion: reduce) {
  .nxv-loader *,
  .nxv-loader *::before,
  .nxv-loader *::after {
    animation: none !important;
  }
}
