/* BUILD 9 — Nexo procedural de partículas */
#splash{
  position:fixed;inset:0;z-index:999;overflow:hidden;height:100dvh;
  background:
    radial-gradient(circle at 50% 43%,rgba(131,37,255,.23),transparent 28%),
    radial-gradient(circle at 44% 24%,rgba(231,67,255,.08),transparent 22%),
    #040308;
  transition:opacity .42s ease,filter .42s ease,transform .42s ease;
  letter-spacing:normal;
}
#splash.leaving{opacity:0;filter:blur(8px);transform:scale(1.025);pointer-events:none}
.splashInner{width:min(92vw,680px);display:flex;flex-direction:column;align-items:center;text-align:center;position:relative}
.splashField{width:min(88vw,560px)!important;height:min(66vw,410px)!important;margin:-18px auto -12px!important}
.splashKicker{font-size:11px;letter-spacing:.28em;color:#c98bff;font-weight:800}
.splashTitle{font-size:clamp(27px,7vw,48px);letter-spacing:.08em;font-weight:780;margin-top:2px;background:linear-gradient(90deg,#fff,#d8b5ff 45%,#9ee6ff);-webkit-background-clip:text;background-clip:text;color:transparent}
.splashSub{font-size:12px;color:#b2a7c5;margin-top:8px;letter-spacing:.08em}
.splashLine{width:min(260px,58vw);height:2px;background:#ffffff0c;border-radius:4px;overflow:hidden;margin-top:18px}.splashLine i{display:block;height:100%;width:42%;background:linear-gradient(90deg,transparent,#bd5cff,#64d8ff,transparent);animation:splashScan 1.15s ease-in-out infinite}
@keyframes splashScan{0%{transform:translateX(-120%)}100%{transform:translateX(280%)}}

/* A presença não possui fundo, borda, círculo ou imagem. */
.nexoPresence{
  position:relative;width:min(82vw,430px);height:min(60vw,320px);margin:0 auto;
  overflow:visible!important;background:transparent!important;border:0!important;box-shadow:none!important;
  filter:none!important;isolation:isolate;transform:translateZ(0)
}
.nexoPresence:before,.nexoPresence:after{display:none!important}
.nexoPresence img{display:none!important}
.nexoParticles{display:block;width:100%;height:100%;background:transparent;touch-action:none;cursor:grab;overflow:visible}
.nexoPresence.touched .nexoParticles{cursor:grabbing}
.nexoPresence.mini{width:84px!important;height:68px!important;min-width:84px!important;margin:-8px -8px -8px -10px!important;flex:0 0 84px}
.nexoPresence.mini .nexoParticles{opacity:.95}
.nexoPresence.authNexo{height:230px!important;width:min(78vw,360px)!important;margin:-34px auto -16px!important}
.nexoPresence.onboardNexo{height:190px!important;width:min(82vw,360px)!important;margin:-18px auto -8px!important}
.featureHero>.nexoPresence{min-height:240px}
.voiceStage .nexoPresence{width:min(94vw,620px)!important;height:min(76vw,460px)!important;margin:-16px auto -34px!important}
.immersivePreview .nexoPresence{width:min(92%,600px);height:360px;margin:12px auto 0}

/* Um pequeno halo de partículas pode invadir visualmente o card, sem formar bloco sobre texto. */
.voiceLaunch{position:relative;overflow:visible}.voiceLaunch>.nexoPresence{z-index:0}.voiceLaunch>div:not(.nexoPresence),.voiceLaunch>span{position:relative;z-index:1}

/* Evita que a nova entidade cubra textos no mobile: massa central em área dedicada, escapes transparentes apenas. */
@media(max-width:720px){
  .nexoPresence{width:100%;height:220px}
  .featureHero>.nexoPresence{height:210px!important;margin:-18px auto -24px}
  .voiceStage .nexoPresence{height:330px!important;margin:-20px auto -42px!important}
  .nexoPresence.authNexo{height:210px!important}
}
@media(prefers-reduced-motion:reduce){.splashLine i{animation:none}.nexoParticles{opacity:.88}}
