/* Loading global — estrela grande + blur */
html.is-loading,
html.is-loading body {
  overflow: hidden;
}

.global-loader {
  position: fixed;
  inset: 0;
  z-index: 99999;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 24px;
  transition: opacity 0.35s ease, visibility 0.35s ease;
}

.global-loader.is-hidden {
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
}

.global-loader__backdrop {
  position: absolute;
  inset: 0;
  background: rgba(2, 6, 23, 0.22);
  backdrop-filter: blur(14px) saturate(125%);
  -webkit-backdrop-filter: blur(14px) saturate(125%);
}

.global-loader__modal {
  position: relative;
  z-index: 1;
  background: transparent;
  border: none;
  box-shadow: none;
  display: flex;
  align-items: center;
  justify-content: center;
  animation: global-loader-modal-in 0.4s cubic-bezier(0.22, 1, 0.36, 1);
}

.global-loader__star {
  display: block;
  width: 152px;
  height: 152px;
}

.global-loader__star path {
  stroke: #f97316;
  stroke-width: 1.2;
  stroke-linejoin: round;
  stroke-linecap: round;
  fill: #f97316;
  stroke-dasharray: 120;
  stroke-dashoffset: 120;
  fill-opacity: 0;
  animation:
    global-loader-trace 4s ease-in-out infinite,
    global-loader-fade-cycle 4s ease-in-out infinite;
}

@keyframes global-loader-trace {
  0% {
    stroke-dashoffset: 120;
    fill-opacity: 0;
  }
  60% {
    stroke-dashoffset: 0;
    fill-opacity: 0;
  }
  80% {
    fill-opacity: 1;
  }
  100% {
    stroke-dashoffset: 0;
    fill-opacity: 1;
    opacity: 1;
  }
}

@keyframes global-loader-fade-cycle {
  0%, 90% { opacity: 1; }
  100% { opacity: 0; }
}

@keyframes global-loader-modal-in {
  from {
    opacity: 0;
    transform: scale(0.92);
  }
  to {
    opacity: 1;
    transform: scale(1);
  }
}
