/* night-seal shared · v5-ultra · photosafe · original SIM · cache 20260912ns5 */
.night-seal{display:none;text-align:center;margin:.5rem 0 1rem;padding:1rem 1.1rem 1.2rem;border-radius:1rem;border:1px solid #5a6f96;background:#0c1628dd;position:relative;overflow:hidden;
  --ns-dpr:1;--ns-blur:4px;--ns-stage-max:22rem;--ns-stage-min-h:11.5rem;--ns-grain-scale:1;--ns-cloud-op:.85}
.night-seal.on{display:block}
.night-seal strong{display:block;font-size:1.05rem;margin-bottom:.35rem}
.ns-sim-label{margin:.25rem 0 0;font-size:.68rem;letter-spacing:.08em;text-transform:uppercase;color:#8aa0c0;font-weight:700}
.ns-stage{position:relative;width:min(100%,var(--ns-stage-max));margin:.4rem auto .2rem;min-height:var(--ns-stage-min-h);aspect-ratio:16/9;max-height:min(54vh,34rem);border-radius:.85rem;overflow:hidden;background:radial-gradient(ellipse at 50% 20%,#142038aa,#0a1220ee 70%)}
.ns-globe{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;z-index:0;opacity:.92}
.ns-fx{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;z-index:2;opacity:.85}
.ns-sky{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;z-index:1;opacity:.72}
.ns-clouds{opacity:var(--ns-cloud-op,.85)}
.ns-cloud{fill:#cfe6ff;opacity:.28}
.ns-cloud.soft{opacity:.16}
.ns-cloud.vol{fill:#d8ecff;opacity:.28}
.ns-ultra-only{visibility:hidden;opacity:0;pointer-events:none}
.ns-ultra-only.ns-crawler-cab,.ns-ultra-only.ns-crawler-rail,
.ns-rocket-band.ns-ultra-only,.ns-rocket-port.ns-ultra-only,
.ns-rocket-fin.ns-ultra-only,.ns-plume.ns-ultra-only{display:none}
.night-seal[data-quality="ultra"] .ns-ultra-only{visibility:visible;opacity:1;pointer-events:auto}
.night-seal[data-quality="ultra"] .ns-ultra-only.ns-crawler-cab,
.night-seal[data-quality="ultra"] .ns-ultra-only.ns-crawler-rail,
.night-seal[data-quality="ultra"] .ns-rocket-band.ns-ultra-only,
.night-seal[data-quality="ultra"] .ns-rocket-port.ns-ultra-only,
.night-seal[data-quality="ultra"] .ns-rocket-fin.ns-ultra-only,
.night-seal[data-quality="ultra"] .ns-plume.ns-ultra-only{display:block}
.night-seal[data-quality="ultra"] .ns-clouds-mid,
.night-seal[data-quality="ultra"] .ns-clouds-far{opacity:.9}
.night-seal[data-quality="ultra"] .hg-glass-shine{opacity:.55}
.night-seal[data-quality="ultra"] .hg-sand-pile{opacity:.55}
.night-seal[data-quality="ultra"] .hg-stream-ultra{opacity:1}
.night-seal[data-quality="ultra"]{--ns-stage-max:min(100%,60rem);--ns-stage-min-h:16rem;--ns-blur:10px;--ns-cloud-op:.95;border-color:#6a82b0;box-shadow:0 0 0 1px #9ad7ff22,0 12px 40px #0008}
.night-seal[data-quality="ultra"] .ns-stage{min-height:clamp(16rem,42vw,30rem);filter:saturate(1.08)}
.night-seal[data-quality="ultra"] .hourglass{width:96px;height:144px;filter:drop-shadow(0 3px 10px #000a) drop-shadow(0 0 var(--ns-blur) #6ec8ff33)}
.night-seal[data-quality="ultra"] .ns-crawler{width:6.4rem;height:2.5rem}
.night-seal[data-quality="ultra"] .ns-rocket{width:1.25rem;height:4.1rem;margin-left:-.62rem}
.night-seal[data-quality="standard"] .ns-stage{/* modest sharper than v4 */}

.hourglass-wrap{display:flex;flex-direction:column;align-items:center;gap:.35rem;margin:.35rem 0 .2rem;position:relative;z-index:3}
.hourglass{width:80px;height:120px;position:relative;filter:drop-shadow(0 2px 6px #0008)}
.hourglass svg{width:100%;height:100%;display:block}
.hg-glass{fill:#9ad7ff18;stroke:#9ad7ff;stroke-width:2;filter:drop-shadow(0 0 4px #6ec8ff66)}
.hg-frame{fill:none;stroke:#c9a87a;stroke-width:3.2;stroke-linejoin:round;filter:drop-shadow(0 1px 2px #0006)}
.hg-sand-top{fill:#e8c47a}
.hg-sand-bot{fill:#d4a84a}
.hg-stream{fill:#e8c47a;opacity:var(--hg-stream-op,.55)}
.hg-stream-ultra .hg-grain{animation:hgFall var(--hg-fall,1.05s) linear infinite}
@keyframes hgFall{0%{transform:translateY(0);opacity:.95}100%{transform:translateY(22px);opacity:.12}}
.hg-grain{animation:hgFall var(--hg-fall,1.05s) linear infinite;fill:#e8c47a}
.hg-grain:nth-child(2){animation-delay:.12s}
.hg-grain:nth-child(3){animation-delay:.24s}
.hg-grain:nth-child(4){animation-delay:.36s}
.hg-grain:nth-child(5){animation-delay:.48s}
.hg-grain:nth-child(6){animation-delay:.60s}
.hg-grain:nth-child(7){animation-delay:.72s}
.hg-grain:nth-child(8){animation-delay:.84s}
.hg-grain:nth-child(9){animation-delay:.96s}
.hg-grain:nth-child(10){animation-delay:1.08s}
.hg-grain:nth-child(11){animation-delay:.30s}
.hg-grain:nth-child(12){animation-delay:.66s}
/* pastel island sand (ultra stream) */
.hg-grain.pastel-0{fill:#e8c47a}.hg-grain.pastel-1{fill:#d4a84a}.hg-grain.pastel-2{fill:#9ad7ff}
.hg-grain.pastel-3{fill:#eef8ff}.hg-grain.pastel-4{fill:#baa8e8}.hg-grain.pastel-5{fill:#ffc6d2}
.hg-grain.pastel-6{fill:#a8dcbe}.hg-grain.pastel-7{fill:#ffdcaa}
.hourglass.hg-fast{--hg-fall:.85s}
.hourglass.hg-mid{--hg-fall:.95s}

/* orbital roller · launch cycle (~60s) — original SIM, no manufacturer marks */
.ns-roller-lane{position:absolute;left:0;right:0;bottom:0;height:4.6rem;z-index:1;pointer-events:none}
.night-seal[data-quality="ultra"] .ns-roller-lane{height:5.6rem}
.ns-crawler{position:absolute;bottom:.15rem;left:8%;width:5.2rem;height:2.1rem;animation:nsCrawl 60s linear infinite}
.ns-crawler-body{width:100%;height:1.15rem;border-radius:.28rem .28rem .2rem .2rem;background:linear-gradient(180deg,#6a7588,#3d4658);border:1px solid #9aabbf66;box-shadow:0 2px 6px #0007;position:relative}
.ns-crawler-body::before,.ns-crawler-body::after{content:"";position:absolute;bottom:-.42rem;width:.55rem;height:.55rem;border-radius:50%;background:#2a3140;border:2px solid #8a97a8;box-shadow:1.1rem 0 0 #2a3140,2.2rem 0 0 #2a3140,3.3rem 0 0 #2a3140}
.ns-crawler-body::before{left:.25rem}
.ns-crawler-body::after{left:.25rem;opacity:0;pointer-events:none}
.ns-crawler-cab{position:absolute;left:.2rem;top:-.55rem;width:1.1rem;height:.55rem;border-radius:.12rem;background:linear-gradient(180deg,#7a8799,#4a5568);border:1px solid #a8b4c466}
.ns-crawler-rail{position:absolute;left:8%;right:8%;top:.2rem;height:.12rem;background:#c5d2e455;border-radius:1px}
.ns-deck{position:absolute;left:12%;right:12%;top:-.15rem;height:.35rem;border-radius:.12rem;background:#4a5568;border:1px solid #a8b4c466}
.ns-rocket{position:absolute;left:50%;bottom:1.05rem;width:1.05rem;height:3.4rem;margin-left:-.52rem;transform-origin:50% 100%;animation:nsRocketCycle 60s linear infinite}
.ns-rocket-body{position:absolute;inset:0;border-radius:.45rem .45rem .18rem .18rem;background:linear-gradient(90deg,#d8e2ef 0%,#9eb0c8 45%,#c5d2e4 100%);border:1px solid #e8f0fa88;overflow:hidden}
.ns-rocket-nose{position:absolute;left:50%;top:-.55rem;width:.9rem;height:.7rem;margin-left:-.45rem;background:linear-gradient(180deg,#f0c878,#c9a050);clip-path:polygon(50% 0,100% 100%,0 100%);border:0}
.ns-rocket-fin{position:absolute;bottom:0;width:.42rem;height:.7rem;background:#7a8799;border:1px solid #aab6c666}
.ns-rocket-fin.l{left:-.32rem;clip-path:polygon(100% 0,100% 100%,0 100%)}
.ns-rocket-fin.r{right:-.32rem;clip-path:polygon(0 0,100% 100%,0 100%)}
.ns-rocket-fin.mid{bottom:.35rem;width:.28rem;height:.45rem;opacity:.75}
.ns-rocket-fin.mid.l{left:-.22rem}
.ns-rocket-fin.mid.r{right:-.22rem}
.ns-rocket-band{position:absolute;left:8%;right:8%;top:28%;height:.14rem;background:#6a758888;border-radius:1px}
.ns-rocket-port{position:absolute;left:50%;top:42%;width:.28rem;height:.28rem;margin-left:-.14rem;border-radius:50%;background:#9ad7ff55;border:1px solid #cfe6ff66;box-shadow:0 0 4px #9ad7ff44}
.ns-fuel{position:absolute;left:12%;right:12%;bottom:8%;height:0%;border-radius:.12rem;background:linear-gradient(180deg,#e8c47a,#d4a84a 60%,#c49040);box-shadow:0 0 8px #e8c47a55;animation:nsFuelFill 60s linear infinite}
.ns-plume{position:absolute;left:50%;bottom:-.15rem;width:.55rem;height:0;margin-left:-.275rem;background:radial-gradient(ellipse at top,#ffe7a8,#ff9a4a00);opacity:0;animation:nsPlume 60s linear infinite;border-radius:40%}
.ns-plume.soft{width:.9rem;margin-left:-.45rem;background:radial-gradient(ellipse at top,#ffe7a866,#ff9a4a00);filter:blur(2px);animation-name:nsPlumeSoft}
.ns-next-hint{position:absolute;left:-120%;bottom:1.05rem;width:1.05rem;height:3.4rem;opacity:0;animation:nsNextRocket 60s linear infinite}
.ns-next-hint .ns-rocket-body{position:absolute;inset:0;border-radius:.45rem .45rem .18rem .18rem;background:linear-gradient(90deg,#d8e2ef 0%,#9eb0c8 45%,#c5d2e4 100%);border:1px solid #e8f0fa88}

@keyframes nsFuelFill{0%,2%{height:0%;opacity:.9}28%{height:78%;opacity:1}48%,100%{height:78%;opacity:1}}
@keyframes nsCrawl{0%,30%{transform:translateX(0)}48%{transform:translateX(58%)}52%,100%{transform:translateX(58%)}}
@keyframes nsRocketCycle{
  0%,48%{transform:translateY(0) scale(1);opacity:1}
  52%{transform:translateY(-2.2rem) scale(.95);opacity:1}
  68%{transform:translateY(-7.5rem) scale(.55);opacity:.55}
  78%{transform:translateY(-10rem) scale(.2);opacity:0}
  79%{transform:translateY(0) scale(1);opacity:0}
  88%,100%{transform:translateY(0) scale(1);opacity:1}
}
@keyframes nsPlume{0%,48%{height:0;opacity:0}52%{height:1.1rem;opacity:.85}68%{height:1.6rem;opacity:.45}78%,100%{height:0;opacity:0}}
@keyframes nsPlumeSoft{0%,48%{height:0;opacity:0}52%{height:1.4rem;opacity:.55}68%{height:2.1rem;opacity:.28}78%,100%{height:0;opacity:0}}
@keyframes nsNextRocket{0%,78%{left:-120%;opacity:0}88%{left:50%;margin-left:-.52rem;opacity:1}100%{left:50%;margin-left:-.52rem;opacity:0}}
@keyframes nsCloudDrift{0%{transform:translateX(0)}100%{transform:translateX(6%)}}
@keyframes nsCloudDriftFar{0%{transform:translateX(0)}100%{transform:translateX(-4%)}}
.ns-clouds-base{animation:nsCloudDrift 60s ease-in-out infinite alternate}
.ns-clouds-mid{animation:nsCloudDrift 78s ease-in-out infinite alternate-reverse}
.ns-clouds-far{animation:nsCloudDriftFar 96s ease-in-out infinite alternate}


.ns-scale-chip{margin:.2rem auto 0;max-width:36rem;font-size:.62rem;letter-spacing:.04em;text-transform:uppercase;color:#7a90b0;font-weight:700;line-height:1.35;opacity:.92}
.night-seal[data-quality="ultra"] .ns-scale-chip{color:#9db0d0}
.night-seal[data-quality="ultra"] .ns-globe{opacity:1}
.night-seal[data-quality="standard"] .ns-globe{opacity:.88}
@media (prefers-reduced-motion:reduce){
  .ns-globe{opacity:.9}
}

/* Quality / Ultra confirm UI */
.ns-quality{margin:.55rem 0 .15rem;position:relative;z-index:5}
.ns-ultra-btn,.ns-ultra-off,.ns-ultra-confirm,.ns-ultra-cancel{
  font:inherit;font-size:.78rem;font-weight:700;letter-spacing:.02em;cursor:pointer;
  border-radius:.65rem;padding:.45rem .85rem;border:1px solid #5a6f96;background:#152238;color:#eef4ff;
  transition:background .2s ease,border-color .2s ease}
.ns-ultra-btn:hover,.ns-ultra-confirm:hover{background:#1c2e4a;border-color:#8aa0c0}
.ns-ultra-off,.ns-ultra-cancel{background:transparent;color:#9db0d0;margin-left:.35rem}
.ns-ultra-confirm{background:#2a4060;border-color:#9ad7ff88}
.ns-calm-note{margin:.4rem 0 0;font-size:.78rem;color:#9db0d0;line-height:1.4}
.ns-ultra-dialog{position:fixed;inset:0;z-index:120;display:flex;align-items:center;justify-content:center;padding:1rem;background:#070d18cc;backdrop-filter:blur(6px)}
.ns-ultra-dialog[hidden]{display:none!important}
.ns-ultra-card{width:min(100%,22rem);text-align:left;padding:1.15rem 1.1rem 1.2rem;border-radius:1rem;border:1px solid #3a5278;background:#0f1a2cee;box-shadow:0 18px 48px #000a;color:#c8d6ec}
.ns-ultra-card h3{margin:0 0 .55rem;font-size:1rem;color:#eef4ff}
.ns-ultra-card p{margin:0 0 .55rem;font-size:.84rem;line-height:1.45}
.ns-ultra-hint{font-size:.72rem!important;color:#8aa0c0!important}
.ns-ultra-actions{display:flex;flex-wrap:wrap;gap:.4rem;margin-top:.75rem}
.night-seal[data-quality="ultra"] .ns-ultra-btn{display:none}
.night-seal[data-quality="ultra"] .ns-ultra-off{display:inline-block}
.night-seal[data-quality="standard"] .ns-ultra-off{display:none}
.night-seal[data-calm="1"] .ns-ultra-btn{display:none}
.night-seal[data-calm="1"] .ns-ultra-off{display:none}

@media (prefers-reduced-motion:reduce){
  .hg-grain,.hg-stream-ultra .hg-grain{animation:none!important;opacity:0}
  .hg-stream{opacity:0}
  .ns-crawler,.ns-rocket,.ns-fuel,.ns-plume,.ns-next-hint,.ns-clouds-base,.ns-clouds-mid,.ns-clouds-far{animation:none!important}
  .ns-fuel{height:45%;opacity:.85}
  .ns-rocket{opacity:1;transform:none}
  .ns-plume{opacity:0;height:0}
  .ns-crawler{transform:translateX(20%)}
  .ns-fx{opacity:0!important}
  .night-seal[data-quality="ultra"]{/* ignore ultra motion even if flag set */}
  .night-seal[data-quality="ultra"] .ns-clouds-mid,
  .night-seal[data-quality="ultra"] .ns-clouds-far{opacity:.35}
}

/* members-door hide when sealed */
body.sealed .panel.slim,body.sealed .icons,body.sealed .drawer,body.sealed #signupPanel{display:none!important}
body.sealed #ap127Panel{display:none!important}
body.sealed .night-seal.on{display:block}

/* FoH / soft-launch kinship overlay */
.ns-foh-overlay{display:none;position:fixed;inset:0;z-index:80;background:#070d18f2;align-items:center;justify-content:center;padding:1.25rem;overflow:auto}
body.sealed .ns-foh-overlay{display:flex}
.ns-foh-card{width:min(100%,36rem);text-align:center;padding:1.25rem 1.15rem 1.35rem;border:1px solid #3a5278;border-radius:1.25rem;background:#0f1a2cee;backdrop-filter:blur(8px);box-shadow:0 18px 48px #000a}
.ns-foh-card .soft-keep{margin:.85rem 0 0;color:#9db0d0;font-size:.86rem;line-height:1.45}
.ns-foh-card .soft-keep strong{color:#eef4ff;font-size:inherit;display:inline}
.ns-foh-card .night-seal{margin:0;border:0;background:transparent;padding:.25rem 0 .5rem}
.ns-foh-card .night-seal[data-quality="ultra"]{box-shadow:none}
