.nspire-signup-active .js-canvas-wrapper,
.nspire-signup-active .js-canvas,
.nspire-signup-active .nspire-astro-hand,
.nspire-signup-active canvas.js-canvas {
  opacity:.18!important;
  filter:blur(12px) saturate(.7) brightness(.55)!important;
  transform:scale(.96)!important;
  transition:opacity .55s ease,filter .55s ease,transform .55s ease!important;
}

.nspire-signup-shell{
  position:fixed;
  inset:0;
  z-index:2147483200;
  display:grid;
  place-items:center;
  padding:clamp(14px,4vw,42px);
  background:radial-gradient(circle at 50% 42%,rgba(108,108,240,.22),transparent 42%),rgba(2,3,8,.76);
  -webkit-backdrop-filter:blur(8px) saturate(1.1);
  backdrop-filter:blur(8px) saturate(1.1);
  opacity:0;
  visibility:hidden;
  pointer-events:none;
  transition:opacity .22s ease,visibility .22s ease;
  font-family:"Azeret Mono","JetBrains Mono",monospace;
}

.nspire-signup-shell.is-open{
  opacity:1;
  visibility:visible;
  pointer-events:auto;
}

.nspire-signup-card{
  position:relative;
  width:min(92vw,430px);
  min-height:360px;
  color:#fff;
  filter:drop-shadow(0 30px 60px rgba(0,0,0,.62));
}

.nspire-signup-card header{
  position:relative;
  z-index:4;
  padding:20px 24px;
  border:1px solid rgba(237,237,246,.18);
  border-bottom:0;
  border-radius:18px 18px 0 0;
  background:linear-gradient(145deg,rgba(8,10,20,.96),rgba(14,16,28,.9));
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.05);
}

.nspire-signup-card h2{
  margin:0;
  color:#fff;
  font:900 clamp(1.35rem,5vw,2.15rem)/.96 "Space Grotesk","Arial Black",sans-serif;
  letter-spacing:0;
  text-transform:none;
}

.nspire-signup-card header p,
.nspire-guide-line{
  margin:7px 0 0;
  color:#b8f7e6;
  font:800 .82rem/1.35 Inter,system-ui,sans-serif;
}

.nspire-guide-line{
  min-height:2.7em;
  color:#e8f3ff;
}

.nspire-signup-close{
  position:absolute;
  top:12px;
  right:12px;
  z-index:6;
  min-width:42px;
  min-height:42px;
  border:1px solid rgba(255,255,255,.16);
  border-radius:999px;
  background:rgba(255,255,255,.08);
  color:#fff;
  cursor:pointer;
}

.nspire-signup-form{
  position:relative;
  min-height:225px;
}

.nspire-signup-step{
  position:absolute;
  left:50%;
  width:100%;
  height:76px;
  display:flex;
  overflow:hidden;
  border:1px solid rgba(237,237,246,.16);
  border-radius:0 0 18px 18px;
  background:#fff;
  box-shadow:0 20px 70px rgba(0,0,0,.35);
  transform:translate(-50%,0);
  transition:width .2s ease,margin-top .2s ease,transform .2s ease,opacity .2s ease;
}

.nspire-signup-step.is-folded{
  width:94%;
  margin-top:10px;
  z-index:1;
  opacity:.84;
  pointer-events:none;
}

.nspire-signup-step.is-folded + .is-folded{
  width:88%;
  margin-top:20px;
  z-index:0;
}

.nspire-signup-step.is-done{
  margin-top:-76px;
  opacity:0;
  pointer-events:none;
}

.nspire-signup-step input{
  width:80%;
  min-width:0;
  border:0;
  padding:0 18px;
  color:#151424;
  background:#fff;
  font:900 1rem/1 Inter,system-ui,sans-serif;
  text-transform:none;
}

.nspire-signup-step input::placeholder{
  color:#6c6cf0;
  opacity:.75;
}

.nspire-signup-step input:focus{
  outline:none;
}

.nspire-signup-next{
  width:20%;
  min-width:64px;
  border:0;
  background:linear-gradient(180deg,#dffcf3,#b8f7e6);
  color:#111827;
  font:950 1.15rem/1 "JetBrains Mono",monospace;
  cursor:pointer;
}

.nspire-signup-success{
  position:absolute;
  left:50%;
  width:100%;
  height:76px;
  display:grid;
  place-items:center;
  border-radius:0 0 18px 18px;
  background:linear-gradient(135deg,#5bc9a6,#6c6cf0);
  box-shadow:0 20px 70px rgba(0,0,0,.35);
  transform:translate(-50%,-76px);
  transition:transform .22s ease;
  pointer-events:none;
}

.nspire-signup-success.is-visible{
  transform:translate(-50%,0);
  pointer-events:auto;
}

.nspire-signup-success strong{
  color:#fff;
  font:950 .9rem/1 "JetBrains Mono",monospace;
  letter-spacing:.12em;
}

.nspire-signup-error{
  margin-top:92px;
  min-height:20px;
  color:#ffb4c6;
  font:800 .78rem/1.35 Inter,system-ui,sans-serif;
}

@media (max-width:520px){
  .nspire-signup-card{
    width:min(94vw,390px);
  }

  .nspire-signup-step{
    height:70px;
  }

  .nspire-signup-step input{
    padding:0 13px;
    font-size:.9rem;
  }

  .nspire-signup-next{
    min-width:58px;
  }
}
