:root {
  --cuik-auth-guard-bg: #070810;
  --cuik-auth-guard-panel: rgba(20, 24, 42, 0.94);
  --cuik-auth-guard-text: #f7f8ff;
  --cuik-auth-guard-muted: #aeb5c8;
  --cuik-auth-guard-accent: #8b5cf6;
  --cuik-auth-guard-line: rgba(255, 255, 255, 0.12);
}

html.cuik-auth-pending,
html.cuik-auth-pending body {
  min-height: 100%;
  background: var(--cuik-auth-guard-bg);
}

html.cuik-auth-pending body {
  margin: 0;
  overflow: hidden;
}

html.cuik-auth-pending body > :not(#cuikAuthGuardOverlay):not(template):not(script) {
  visibility: hidden !important;
}

.cuik-auth-guard-overlay {
  position: fixed;
  inset: 0;
  z-index: 2147483646;
  display: grid;
  place-items: center;
  padding: 24px;
  color: var(--cuik-auth-guard-text);
  background:
    radial-gradient(circle at 18% 18%, rgba(139, 92, 246, 0.19), transparent 34%),
    radial-gradient(circle at 84% 78%, rgba(70, 211, 255, 0.10), transparent 31%),
    var(--cuik-auth-guard-bg);
  font-family: Inter, "Plus Jakarta Sans", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}

.cuik-auth-guard-card {
  width: min(430px, 100%);
  padding: 28px;
  border: 1px solid var(--cuik-auth-guard-line);
  border-radius: 20px;
  background: var(--cuik-auth-guard-panel);
  box-shadow: 0 28px 90px rgba(0, 0, 0, 0.46);
  text-align: center;
  backdrop-filter: blur(18px);
}

.cuik-auth-guard-spinner {
  position: relative;
  width: 190px;
  height: 166px;
  margin: -4px auto 14px;
  border: 0;
  border-radius: 0;
  animation: cuik-auth-brain-float 3.2s ease-in-out infinite;
  isolation: isolate;
}
.cuik-brain-loader-aura {
  position:absolute; inset:20% 16%; border-radius:50%;
  background:radial-gradient(circle, color-mix(in srgb,var(--cuik-auth-guard-accent) 48%,transparent), transparent 68%);
  filter:blur(18px); animation:cuik-auth-brain-aura 2.4s ease-in-out infinite;
}
.cuik-brain-loader-svg { position:absolute; inset:0; width:100%; height:100%; filter:drop-shadow(0 18px 34px rgba(86,45,190,.38)); }
.cuik-brain-loader-body { transform-origin:120px 105px; animation:cuik-auth-brain-breathe 2.2s ease-in-out infinite; }
.cuik-brain-loader-divider,.cuik-brain-loader-lines { fill:none; stroke:rgba(255,255,255,.58); stroke-width:2; stroke-linecap:round; stroke-linejoin:round; }
.cuik-brain-loader-divider { stroke-width:2.4; opacity:.72; }
.cuik-brain-loader-nodes circle { fill:#fff; filter:drop-shadow(0 0 7px #4ee7ff); animation:cuik-auth-node-pulse 1.7s ease-in-out infinite; }
.cuik-brain-loader-nodes circle:nth-child(2){animation-delay:.25s}.cuik-brain-loader-nodes circle:nth-child(3){animation-delay:.5s}.cuik-brain-loader-nodes circle:nth-child(4){animation-delay:.75s}.cuik-brain-loader-nodes circle:nth-child(5){animation-delay:1s}
.cuik-brain-loader-spark { fill:#fff; transform-origin:119px 98px; animation:cuik-auth-spark 1.55s ease-in-out infinite; }
.cuik-brain-loader-orbit { position:absolute; inset:20px 8px; border:1px solid rgba(78,231,255,.22); border-radius:50%; animation:cuik-auth-orbit 6.4s linear infinite; }
.cuik-brain-loader-orbit.orbit-two { inset:34px 22px; transform:rotate(58deg); border-color:rgba(139,92,246,.34); animation-duration:8.2s; animation-direction:reverse; }
.cuik-brain-loader-orbit i { position:absolute; width:7px; height:7px; border-radius:50%; background:#4ee7ff; box-shadow:0 0 14px #4ee7ff; top:14%; left:14%; }
.cuik-brain-loader-orbit i:last-child { top:auto; left:auto; right:10%; bottom:18%; background:#a78bfa; box-shadow:0 0 14px #a78bfa; }
.cuik-auth-guard-card.is-error .cuik-auth-guard-spinner,
.cuik-auth-guard-card.is-forbidden .cuik-auth-guard-spinner {
  width:46px; height:46px; margin:0 auto 18px; animation:none; border:0; border-radius:50%; display:grid; place-items:center;
  background:rgba(255,209,102,.13); color:#ffd166; font-size:24px;
}
.cuik-auth-guard-card.is-error .cuik-auth-guard-spinner > *,
.cuik-auth-guard-card.is-forbidden .cuik-auth-guard-spinner > * { display:none!important; }
.cuik-auth-guard-card.is-error .cuik-auth-guard-spinner::before,
.cuik-auth-guard-card.is-forbidden .cuik-auth-guard-spinner::before { content:"!"; font-weight:900; }

.cuik-auth-guard-title {
  display: block;
  margin: 0;
  font-size: 18px;
  line-height: 1.35;
  letter-spacing: -0.2px;
}

.cuik-auth-guard-detail {
  margin: 9px 0 0;
  color: var(--cuik-auth-guard-muted);
  font-size: 13px;
  line-height: 1.6;
}

.cuik-auth-guard-action {
  margin-top: 18px;
  min-height: 42px;
  padding: 10px 16px;
  border: 0;
  border-radius: 12px;
  color: #fff;
  background: linear-gradient(135deg, #6d28d9, #9b5cf6);
  font: inherit;
  font-weight: 800;
  cursor: pointer;
  box-shadow: 0 12px 28px rgba(109, 40, 217, 0.28);
}

.cuik-auth-guard-action[hidden] {
  display: none !important;
}

@keyframes cuik-auth-brain-float { 0%,100%{transform:translateY(0)} 50%{transform:translateY(-7px)} }
@keyframes cuik-auth-brain-breathe { 0%,100%{transform:scale(.97)} 50%{transform:scale(1.025)} }
@keyframes cuik-auth-brain-aura { 0%,100%{opacity:.58;transform:scale(.9)} 50%{opacity:1;transform:scale(1.08)} }
@keyframes cuik-auth-node-pulse { 0%,100%{opacity:.45} 50%{opacity:1} }
@keyframes cuik-auth-spark { 0%,100%{transform:scale(.72) rotate(0);opacity:.65} 50%{transform:scale(1.18) rotate(45deg);opacity:1} }
@keyframes cuik-auth-orbit { to{transform:rotate(360deg)} }

html[data-theme="light"] .cuik-auth-guard-overlay,
html[data-cuik-theme="light"] .cuik-auth-guard-overlay { --cuik-auth-guard-bg:#f4f2fb; --cuik-auth-guard-panel:rgba(255,255,255,.94); --cuik-auth-guard-text:#171326; --cuik-auth-guard-muted:#655d75; --cuik-auth-guard-line:rgba(72,49,117,.16); }
@media (max-width:520px){ .cuik-auth-guard-card{padding:22px 18px}.cuik-auth-guard-spinner{width:154px;height:136px} }
@media (prefers-reduced-motion: reduce) {
  .cuik-auth-guard-spinner,.cuik-brain-loader-body,.cuik-brain-loader-aura,.cuik-brain-loader-orbit,.cuik-brain-loader-nodes circle,.cuik-brain-loader-spark { animation-duration:8s!important; }
}
