/**
 * Accueil connexion — fond noir, accents fraise / vert, rendu sobre.
 */

.sf-landing-body {
  background: #000000;
}

.sf-landing-atmos {
  position: fixed;
  inset: 0;
  z-index: 0;
  pointer-events: none;
  overflow: hidden;
  background: #000000;
}

.sf-landing-blob {
  position: absolute;
  border-radius: 0;
  filter: blur(100px);
  will-change: transform, opacity;
}

/* Halo central — une seule masse de couleur, pas de « bande » */
.sf-landing-blob--core {
  width: min(140vw, 720px);
  height: min(140vw, 720px);
  left: 50%;
  top: 42%;
  transform: translate(-50%, -50%);
  background: radial-gradient(
    circle at 45% 42%,
    rgba(220, 38, 38, 0.38) 0%,
    rgba(136, 19, 55, 0.14) 42%,
    transparent 68%
  );
  animation: sf-landing-breathe 10s ease-in-out infinite;
}

.sf-landing-blob--mint {
  width: min(55vw, 320px);
  height: min(55vw, 320px);
  right: 6%;
  top: 18%;
  background: radial-gradient(
    circle,
    rgba(20, 184, 166, 0.18) 0%,
    transparent 70%
  );
  animation: sf-landing-drift 18s ease-in-out infinite;
}

.sf-landing-blob--depth {
  width: min(90vw, 480px);
  height: min(90vw, 480px);
  left: 8%;
  bottom: 5%;
  background: radial-gradient(
    circle,
    rgba(127, 29, 29, 0.12) 0%,
    transparent 65%
  );
  animation: sf-landing-depth 14s ease-in-out infinite 3s;
}

@keyframes sf-landing-depth {
  0%,
  100% {
    opacity: 0.45;
    transform: scale(1);
  }
  50% {
    opacity: 0.7;
    transform: scale(1.07);
  }
}

@keyframes sf-landing-breathe {
  0%,
  100% {
    opacity: 0.55;
    transform: translate(-50%, -50%) scale(1);
  }
  50% {
    opacity: 0.85;
    transform: translate(-50%, -50%) scale(1.06);
  }
}

@keyframes sf-landing-drift {
  0%,
  100% {
    opacity: 0.5;
    transform: translate(0, 0) scale(1);
  }
  50% {
    opacity: 0.75;
    transform: translate(-5%, 6%) scale(1.08);
  }
}

/* Texture « pépins » — plein écran, sans masque (évite la bande grise au centre). */
.sf-landing-seeds {
  position: absolute;
  inset: 0;
  opacity: 0.34;
  background-image: radial-gradient(
      rgba(15, 15, 15, 0.95) 1.2px,
      transparent 1.2px
    ),
    radial-gradient(rgba(24, 24, 24, 0.9) 1px, transparent 1px);
  background-size: 24px 24px, 18px 18px;
  background-position: 0 0, 12px 8px;
}

.sf-landing-vignette {
  position: absolute;
  inset: 0;
  background: radial-gradient(
    ellipse 100% 80% at 50% 50%,
    transparent 0%,
    rgba(0, 0, 0, 0.25) 55%,
    rgba(0, 0, 0, 0.85) 100%
  );
}

.sf-landing-panel {
  position: relative;
  border-radius: 0;
  background: linear-gradient(
    165deg,
    rgba(24, 24, 27, 0.92) 0%,
    rgba(12, 12, 14, 0.97) 100%
  );
  border: 1px solid rgba(255, 255, 255, 0.08);
  box-shadow: 0 0 0 1px rgba(0, 0, 0, 0.45),
    0 32px 64px -12px rgba(0, 0, 0, 0.75),
    inset 0 1px 0 rgba(255, 255, 255, 0.07),
    inset 0 0 80px -50px rgba(244, 63, 94, 0.06),
    0 0 100px -48px rgba(220, 38, 38, 0.18);
  backdrop-filter: blur(24px);
  -webkit-backdrop-filter: blur(24px);
}

.sf-landing-panel::after {
  content: '';
  position: absolute;
  inset: 1px;
  z-index: 0;
  border-radius: 0;
  pointer-events: none;
  box-shadow: inset 0 0 0 1px rgba(20, 184, 166, 0.08);
  opacity: 0.9;
}

.sf-landing-panel > * {
  position: relative;
  z-index: 1;
}

/* Logo mascotte : léger relief — halo réduit (surcharge .sf-nav-logo-mark de app.css). */
.sf-landing-logo-mark.sf-nav-logo-mark {
  width: 6rem;
  height: 6rem;
  object-fit: contain;
  filter: drop-shadow(0 0 8px rgba(244, 63, 94, 0.12)) drop-shadow(0 4px 12px rgba(0, 0, 0, 0.4));
}

.sf-landing-logo-mark {
  width: 6rem;
  height: 6rem;
  object-fit: contain;
}

.sf-landing-title {
  color: #fafafa;
  letter-spacing: -0.03em;
  text-shadow: 0 1px 0 rgba(0, 0, 0, 0.4);
}

.sf-landing-title span {
  color: #fb7185;
  font-weight: 600;
}

/* Bouton Discord : arrondi forcé (thème Tailwind radius=0) + aucune lueur / ombre au survol */
a.sf-landing-btn-discord,
.sf-landing-btn-discord {
  border-radius: 0.875rem !important;
  box-shadow: none !important;
  filter: none !important;
  -webkit-tap-highlight-color: transparent;
  transition: background-color 0.15s ease, color 0.15s ease;
}

.sf-landing-btn-discord:focus:not(:focus-visible) {
  outline: none;
}

.sf-landing-btn-discord:hover,
.sf-landing-btn-discord:focus,
.sf-landing-btn-discord:focus-visible,
.sf-landing-btn-discord:active {
  box-shadow: none !important;
  filter: none !important;
  text-shadow: none !important;
}

.sf-landing-btn-discord:focus-visible {
  outline: 2px solid rgba(255, 255, 255, 0.4);
  outline-offset: 3px;
}

@media (prefers-reduced-motion: reduce) {
  .sf-landing-blob--core,
  .sf-landing-blob--mint,
  .sf-landing-blob--depth {
    animation: none !important;
  }

  .sf-landing-blob--core {
    transform: translate(-50%, -50%);
  }

  .sf-landing-blob--mint,
  .sf-landing-blob--depth {
    transform: none;
  }

}
