/* FutureCrypt logo cloud — orbiting transparent crypto icons (nifty25-style) */
.fc-logo-cloud {
  isolation: isolate;
  position: relative;
  width: min(92vw, 34rem);
  height: min(92vw, 34rem);
  margin-inline: auto;
  mask-image: radial-gradient(circle at center, black 40%, rgba(0, 0, 0, 0.88) 66%, transparent 94%);
  -webkit-mask-image: radial-gradient(circle at center, black 40%, rgba(0, 0, 0, 0.88) 66%, transparent 94%);
}

.fc-logo-cloud-glow {
  pointer-events: none;
  position: absolute;
  inset: 18%;
  border-radius: 9999px;
  background: radial-gradient(circle, rgba(212, 175, 55, 0.18), transparent 70%);
  animation: fc-orb-pulse 10s ease-in-out infinite alternate;
}

.fc-orbit-ring {
  position: absolute;
  inset: 0;
  animation: fc-orbit-spin var(--orbit-duration, 100s) linear infinite;
}

.fc-orbit-ring-reverse {
  animation-name: fc-orbit-spin-reverse;
}

.fc-orbit-track {
  position: absolute;
  inset: 0;
  border-radius: 9999px;
  border: 1px solid rgba(255, 255, 255, 0.04);
}

.fc-orbit-item {
  position: absolute;
  left: 50%;
  top: 50%;
  width: 0;
  height: 0;
  transform:
    rotate(var(--orbit-angle, 0deg))
    translateY(calc(-1 * var(--orbit-radius, 8rem)))
    rotate(calc(-1 * var(--orbit-angle, 0deg)));
}

.fc-orbit-chip {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 2.25rem;
  height: 2.25rem;
  transform: translate(-50%, -50%);
  animation: fc-orbit-counter var(--orbit-duration, 100s) linear infinite;
  background: transparent;
  border: none;
  box-shadow: none;
  opacity: 0.38;
  transition: opacity 0.25s ease, filter 0.25s ease;
}

.fc-orbit-chip-md {
  width: 2.75rem;
  height: 2.75rem;
  opacity: 0.45;
}

.fc-orbit-ring-reverse .fc-orbit-chip {
  animation-name: fc-orbit-counter-reverse;
}

.fc-orbit-chip:hover {
  opacity: 0.9;
  filter: brightness(1.15);
}

.fc-orbit-logo {
  max-width: none;
  width: 70%;
  height: 70%;
  object-fit: contain;
  background: transparent;
  filter: drop-shadow(0 2px 8px rgba(0, 0, 0, 0.35));
}

.fc-orbit-core {
  position: absolute;
  left: 50%;
  top: 50%;
  z-index: 10;
  width: min(48%, 17rem);
  height: min(48%, 17rem);
  display: flex;
  align-items: center;
  justify-content: center;
  animation: fc-core-breathe 4.8s ease-in-out infinite;
  background: transparent;
  /* Soft circular falloff so the mark melts into the page */
  -webkit-mask-image: radial-gradient(circle at center, #000 52%, rgba(0,0,0,0.85) 68%, transparent 88%);
  mask-image: radial-gradient(circle at center, #000 52%, rgba(0,0,0,0.85) 68%, transparent 88%);
}

.fc-orbit-brand {
  position: relative;
  width: 100%;
  height: 100%;
  object-fit: contain;
  background: transparent !important;
  border: none;
  box-shadow: none;
  /* Soft glow fringe — no hard rectangle */
  filter:
    drop-shadow(0 0 22px rgba(212, 175, 55, 0.22))
    drop-shadow(0 14px 30px rgba(0, 0, 0, 0.4));
  mix-blend-mode: lighten;
  opacity: 0.97;
}

.fc-brand-soft {
  object-fit: contain;
  background: transparent;
  -webkit-mask-image: radial-gradient(circle at center, #000 50%, rgba(0,0,0,0.75) 72%, transparent 100%);
  mask-image: radial-gradient(circle at center, #000 50%, rgba(0,0,0,0.75) 72%, transparent 100%);
  filter: drop-shadow(0 0 12px rgba(212, 175, 55, 0.2));
  mix-blend-mode: normal;
  opacity: 0.95;
}

.fc-nav-logo {
  object-fit: contain;
  background: transparent;
  border-radius: 9999px;
  -webkit-mask-image: radial-gradient(circle at center, #000 58%, rgba(0,0,0,0.55) 82%, transparent 100%);
  mask-image: radial-gradient(circle at center, #000 58%, rgba(0,0,0,0.55) 82%, transparent 100%);
  mix-blend-mode: normal;
  opacity: 0.94;
  filter: drop-shadow(0 1px 4px rgba(0, 0, 0, 0.18));
}

@keyframes fc-orbit-spin {
  from { transform: rotate(0deg); }
  to { transform: rotate(360deg); }
}
@keyframes fc-orbit-spin-reverse {
  from { transform: rotate(0deg); }
  to { transform: rotate(-360deg); }
}
@keyframes fc-orbit-counter {
  from { transform: translate(-50%, -50%) rotate(0deg); }
  to { transform: translate(-50%, -50%) rotate(-360deg); }
}
@keyframes fc-orbit-counter-reverse {
  from { transform: translate(-50%, -50%) rotate(0deg); }
  to { transform: translate(-50%, -50%) rotate(360deg); }
}
@keyframes fc-core-breathe {
  0%, 100% { transform: translate(-50%, -50%) scale(1); }
  50% { transform: translate(-50%, -50%) scale(1.03); }
}
@keyframes fc-orb-pulse {
  from { opacity: 0.55; transform: scale(0.96); }
  to { opacity: 1; transform: scale(1.04); }
}

@media (prefers-reduced-motion: reduce) {
  .fc-orbit-ring,
  .fc-orbit-chip,
  .fc-orbit-core,
  .fc-logo-cloud-glow {
    animation: none !important;
  }
}

.fc-login-hero {
  background:
    radial-gradient(ellipse 80% 60% at 50% 40%, rgba(212, 175, 55, 0.08), transparent 60%),
    #050505;
}
