.nx-splash{
  position:fixed;inset:0;z-index:130;
  display:flex;align-items:center;justify-content:center;padding:24px 16px;
  background:var(--fundo);color:var(--ink);
  --sp-traco:#2B7168;--sp-latao:#C29B37;--sp-rosa:#C388A1;
  animation:nx-sp-surge .28s ease-out both;
}
[data-modo="escuro"] .nx-splash{--sp-traco:#58C0B0;--sp-latao:#D2B25A;--sp-rosa:#D9A3BA}

.nx-splash.nx-splash-saindo{
  will-change:transform;
  box-shadow:0 12px 40px rgba(0,0,0,.12);
  animation:nx-sp-cortina .9s cubic-bezier(.7,0,.2,1) .28s both;
}
.nx-splash.nx-splash-saindo .nx-splash-palco{
  opacity:0;transform:translateY(-18px);
  transition:opacity .5s ease-in,transform .65s cubic-bezier(.5,0,.8,.4);
}
.nx-splash-ativo .shot .foto,.nx-splash-ativo .shot .foto-espera{animation-play-state:paused}

.nx-splash::before{
  content:"";position:absolute;inset:0;pointer-events:none;
  background-image:
    linear-gradient(var(--linha) 1px,transparent 1px),
    linear-gradient(90deg,var(--linha) 1px,transparent 1px);
  background-size:24px 24px;background-position:center center;
  opacity:.42;
  -webkit-mask-image:radial-gradient(ellipse 46% 50% at 50% 42%,#000 0%,transparent 100%);
  mask-image:radial-gradient(ellipse 46% 50% at 50% 42%,#000 0%,transparent 100%);
  transform:translateZ(0);will-change:transform;
}

.nx-splash-palco{
  position:relative;width:100%;max-width:460px;
  contain:layout paint;will-change:transform,opacity;
  display:flex;flex-direction:column;align-items:center;text-align:center;
}

.nx-splash-desenho{width:100%;max-width:380px;height:auto;overflow:visible;display:block}
.nx-splash-desenho .tr{
  fill:none;stroke:var(--sp-traco);stroke-width:1.3;stroke-linecap:round;stroke-linejoin:round;
  stroke-dasharray:1;stroke-dashoffset:1;
  animation:nx-sp-traca 1.6s cubic-bezier(.6,.05,.3,1) forwards;
}
.nx-splash-desenho .tr.fino{stroke-width:.9;stroke:var(--muted)}
.nx-splash-desenho .tr.latao{stroke:var(--sp-latao);stroke-width:1.5}
.nx-splash-desenho .preenche{opacity:0;animation:nx-sp-surge 1s ease-out forwards}
.nx-splash-desenho .rosa{fill:var(--sp-rosa);fill-opacity:.22}
.nx-splash-desenho .rosa-leve{fill:var(--sp-rosa);fill-opacity:.12}
.nx-splash-desenho .dourado{fill:var(--sp-latao);fill-opacity:.2}
.nx-splash-desenho .teal-leve{fill:var(--sp-traco);fill-opacity:.1}
.nx-splash-desenho .botao{fill:var(--sp-traco)}
.nx-splash-desenho .luz{opacity:0;animation:nx-sp-luz 1.6s ease-out forwards}
.nx-splash-desenho .luz-centro{stop-color:var(--sp-latao);stop-opacity:.34}
.nx-splash-desenho .luz-borda{stop-color:var(--sp-latao);stop-opacity:0}
.nx-splash-desenho .cota{opacity:0;animation:nx-sp-surge .7s ease-out forwards}
.nx-splash-desenho .cota line{stroke:var(--muted);stroke-width:.7}
.nx-splash-desenho .cota text{fill:var(--muted);font-family:var(--fd);font-size:8px;letter-spacing:.06em}

.nx-splash-marca{margin-top:26px;display:flex;flex-direction:column;align-items:center;gap:12px}
.nx-splash-logo{display:block;height:34px;width:auto;overflow:visible;color:var(--ink)}
.nx-splash-logo .letra{
  fill:currentColor;fill-opacity:0;
  stroke:currentColor;stroke-width:.7;stroke-linejoin:round;paint-order:stroke;
  stroke-dasharray:1;stroke-dashoffset:1;
  animation:nx-sp-traca 1.3s cubic-bezier(.55,.1,.3,1) forwards,nx-sp-tinta .9s ease-in-out forwards,nx-sp-contorno .6s ease-out forwards;
}
.nx-splash-marca .nx-splash-letra{font-family:var(--fs);font-size:34px;letter-spacing:.14em;line-height:1;opacity:0;animation:nx-sp-sobe .6s ease-out forwards}
.nx-splash[data-variante="marca"] .nx-splash-marca{margin-top:0;gap:16px}
.nx-splash[data-variante="marca"] .nx-splash-logo{height:52px}
.nx-splash[data-variante="ambiente"] .nx-splash-logo{height:40px}
.nx-splash-regua{
  width:64px;height:1px;background:var(--sp-latao);transform:scaleX(0);transform-origin:center;
  animation:nx-sp-regua .9s cubic-bezier(.6,.05,.3,1) forwards;
}
.nx-splash-programa{
  font-family:var(--fd);font-weight:500;font-size:var(--t18);color:var(--ink);letter-spacing:.01em;
  opacity:0;animation:nx-sp-sobe .8s ease-out forwards;
}

.nx-splash-passos{
  list-style:none;margin:30px 0 0;padding:0;width:100%;
  display:grid;grid-template-columns:repeat(3,1fr);position:relative;
}
.nx-splash-passos::before,.nx-splash-passos::after{
  content:"";position:absolute;top:5px;left:16.66%;right:16.66%;height:1px;background:var(--linha-2);
}
.nx-splash-passos::after{
  background:var(--sp-traco);transform:scaleX(0);transform-origin:left;
  animation:nx-sp-regua 1.6s cubic-bezier(.5,0,.3,1) forwards;animation-delay:4.3s;
}
.nx-splash-passos li{
  position:relative;z-index:1;display:flex;flex-direction:column;align-items:center;gap:10px;
  font-family:var(--fb);font-size:var(--t12);line-height:1.35;color:var(--muted);
  transition:color .5s ease;
}
.nx-splash-passos li::before{
  content:"";width:11px;height:11px;border-radius:50%;box-sizing:border-box;
  background:var(--fundo);border:1px solid var(--linha-2);
  transition:background .5s ease,border-color .5s ease,transform .5s ease;
}
.nx-splash-passos li.feito{color:var(--ink)}
.nx-splash-passos li.feito::before{background:var(--sp-traco);border-color:var(--sp-traco);transform:scale(1.1)}
.nx-splash-passos li:last-child.feito::before{background:var(--sp-latao);border-color:var(--sp-latao)}

.nx-splash-status{
  margin-top:22px;min-height:18px;font-family:var(--fb);font-size:var(--t12);color:var(--muted);
  opacity:0;animation:nx-sp-surge .6s ease-out forwards;animation-delay:1.6s;
}
.nx-splash-status::after{
  content:"";display:inline-block;width:1.2em;text-align:left;
  animation:nx-sp-reticencias 1.2s steps(4,end) infinite;
}

@keyframes nx-sp-traca{to{stroke-dashoffset:0}}
@keyframes nx-sp-cortina{from{transform:translateY(0)}to{transform:translateY(-100%)}}
@keyframes nx-sp-tinta{to{fill-opacity:1}}
@keyframes nx-sp-contorno{to{stroke-opacity:0}}
@keyframes nx-sp-surge{from{opacity:0}to{opacity:1}}
@keyframes nx-sp-sobe{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}
@keyframes nx-sp-regua{to{transform:scaleX(1)}}
@keyframes nx-sp-luz{0%{opacity:0}60%{opacity:1}100%{opacity:.8}}
@keyframes nx-sp-reticencias{0%{content:""}25%{content:"."}50%{content:".."}75%{content:"..."}}

@media (max-width:480px){
  .nx-splash-desenho{max-width:300px}
  .nx-splash-logo{height:26px}
  .nx-splash[data-variante="marca"] .nx-splash-logo{height:36px}
  .nx-splash[data-variante="ambiente"] .nx-splash-logo{height:30px}
  .nx-splash-marca{margin-top:20px}
  .nx-splash-passos{margin-top:24px}
  .nx-splash-passos li{font-size:var(--t11)}
}

@media (prefers-reduced-motion:reduce){
  .nx-splash,.nx-splash.nx-splash-saindo,.nx-splash.nx-splash-saindo .nx-splash-palco{transition:none;transform:none}
  .nx-splash *,.nx-splash *::before,.nx-splash *::after,.nx-splash-passos::after{animation:none !important}
  .nx-splash-desenho .tr,.nx-splash-logo .letra{stroke-dashoffset:0}
  .nx-splash-logo .letra{fill-opacity:1;stroke-opacity:0}
  .nx-splash-desenho .preenche,.nx-splash-desenho .cota,.nx-splash-programa,.nx-splash-letra,.nx-splash-status{opacity:1}
  .nx-splash-desenho .luz{opacity:.8}
  .nx-splash-regua,.nx-splash-passos::after{transform:none}
}
