#we-space-fx-root{
  position:fixed;
  inset:0;
  z-index:0;
  pointer-events:none;
  overflow:hidden;
}
#we-space-fx-canvas{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  display:block;
  z-index:1;
  pointer-events:none;
}
.we-space-fx-nebula{
  position:absolute;
  inset:-12%;
  z-index:0;
  overflow:hidden;
  pointer-events:none;
}
.we-nebula{
  position:absolute;
  display:block;
  border-radius:50%;
  filter:blur(104px);
  mix-blend-mode:screen;
  opacity:.15;
  will-change:transform,opacity;
}
.we-nebula-a{
  width:56vw;height:44vw;left:-18vw;top:3vh;
  background:radial-gradient(circle,rgba(0,199,255,.34),rgba(0,110,200,.10) 34%,transparent 72%);
  animation:weNebulaA 24s ease-in-out infinite;
}
.we-nebula-b{
  width:52vw;height:40vw;right:-16vw;top:18vh;
  background:radial-gradient(circle,rgba(255,255,255,.08),rgba(98,92,255,.18) 32%,transparent 72%);
  animation:weNebulaB 29s ease-in-out infinite;
}
.we-nebula-c{
  width:54vw;height:34vw;left:23vw;bottom:-18vw;
  background:radial-gradient(circle,rgba(0,199,255,.14),rgba(0,199,255,.04) 26%,transparent 72%);
  animation:weNebulaC 31s ease-in-out infinite;
}
.we-nebula-d{
  width:34vw;height:28vw;left:8vw;top:38vh;
  background:radial-gradient(circle,rgba(165,235,255,.16),rgba(0,199,255,.05) 34%,transparent 68%);
  filter:blur(82px);
  opacity:.09;
  animation:weNebulaD 18s ease-in-out infinite;
}
.we-nebula-e{
  width:36vw;height:24vw;right:10vw;bottom:8vh;
  background:radial-gradient(circle,rgba(255,255,255,.08),rgba(0,199,255,.05) 32%,transparent 72%);
  filter:blur(88px);
  opacity:.08;
  animation:weNebulaE 22s ease-in-out infinite;
}
@keyframes weNebulaA{50%{transform:translate(9vw,4vh) scale(1.09);opacity:.20}}
@keyframes weNebulaB{50%{transform:translate(-8vw,5vh) scale(.96);opacity:.18}}
@keyframes weNebulaC{50%{transform:translate(3vw,-8vh) scale(1.11);opacity:.19}}
@keyframes weNebulaD{50%{transform:translate(5vw,-2vh) scale(1.06);opacity:.15}}
@keyframes weNebulaE{50%{transform:translate(-4vw,4vh) scale(1.08);opacity:.13}}

/* Critical stacking fix:
   Space FX is ABOVE the opaque body background but BELOW all page content. */
body{position:relative}
body > main,
body > header,
body > footer,
body > .topbar,
body > .glass-menu,
body > .floating-signal,
body > dialog{
  position:relative;
  z-index:2;
}
body > .topbar{position:fixed;z-index:70}
body > .glass-menu{position:fixed;z-index:90}
body > .floating-signal{position:fixed;z-index:60}

@media(prefers-reduced-motion:reduce){
  .we-nebula{animation:none!important;opacity:.11}
}

.we-nebula-f{
  width:30vw;height:22vw;left:42vw;top:18vh;
  background:radial-gradient(circle,rgba(191,129,255,.11),rgba(120,84,255,.05) 30%,transparent 74%);
  filter:blur(92px);
  opacity:.07;
  animation:weNebulaF 26s ease-in-out infinite;
}
.we-nebula-g{
  width:28vw;height:24vw;right:30vw;top:58vh;
  background:radial-gradient(circle,rgba(120,255,213,.10),rgba(0,199,255,.04) 30%,transparent 74%);
  filter:blur(96px);
  opacity:.07;
  animation:weNebulaG 30s ease-in-out infinite;
}
@keyframes weNebulaF{50%{transform:translate(-5vw,3vh) scale(1.07);opacity:.1}}
@keyframes weNebulaG{50%{transform:translate(4vw,-4vh) scale(1.08);opacity:.09}}


/* V0.1.3: broad frosted-light layer — deliberately atmospheric, not point-like */
.we-space-fx-milk{
  position:absolute;
  inset:-14%;
  z-index:2;
  overflow:hidden;
  pointer-events:none;
  mix-blend-mode:screen;
}
.we-milk-light{
  position:absolute;
  display:block;
  border-radius:48% 52% 45% 55% / 58% 43% 57% 42%;
  filter:blur(110px);
  opacity:.58;
  will-change:transform,opacity;
  transform:translate3d(0,0,0);
}
.we-milk-a{
  width:72vw;height:34vw;left:-28vw;top:12vh;
  background:radial-gradient(ellipse at 58% 52%,rgba(190,244,255,.16) 0%,rgba(0,199,255,.085) 24%,rgba(0,118,190,.035) 46%,transparent 72%);
  animation:weMilkA 28s ease-in-out infinite;
}
.we-milk-b{
  width:68vw;height:38vw;right:-31vw;top:30vh;
  background:radial-gradient(ellipse at 42% 48%,rgba(255,255,255,.11) 0%,rgba(139,121,255,.075) 27%,rgba(74,69,175,.028) 48%,transparent 73%);
  animation:weMilkB 34s ease-in-out infinite;
}
.we-milk-c{
  width:62vw;height:29vw;left:18vw;bottom:-13vw;
  background:radial-gradient(ellipse at 50% 42%,rgba(126,255,224,.09) 0%,rgba(0,199,255,.055) 29%,rgba(0,199,255,.018) 52%,transparent 74%);
  animation:weMilkC 37s ease-in-out infinite;
}
.we-milk-d{
  width:50vw;height:26vw;left:32vw;top:-12vw;
  background:radial-gradient(ellipse at 50% 65%,rgba(255,255,255,.085) 0%,rgba(146,225,255,.045) 32%,transparent 72%);
  animation:weMilkD 31s ease-in-out infinite;
}
@keyframes weMilkA{
  0%,100%{transform:translate3d(-2vw,1vh,0) scale(.98);opacity:.48}
  50%{transform:translate3d(12vw,5vh,0) scale(1.08);opacity:.72}
}
@keyframes weMilkB{
  0%,100%{transform:translate3d(3vw,-2vh,0) scale(1.02);opacity:.45}
  50%{transform:translate3d(-11vw,7vh,0) scale(1.10);opacity:.66}
}
@keyframes weMilkC{
  0%,100%{transform:translate3d(-4vw,4vh,0) scale(.96);opacity:.38}
  50%{transform:translate3d(7vw,-7vh,0) scale(1.10);opacity:.60}
}
@keyframes weMilkD{
  0%,100%{transform:translate3d(0,0,0) scale(.94);opacity:.28}
  50%{transform:translate3d(5vw,8vh,0) scale(1.12);opacity:.48}
}
@media(max-width:760px){
  .we-milk-a{width:120vw;height:70vw;left:-55vw;top:14vh}
  .we-milk-b{width:110vw;height:76vw;right:-60vw;top:38vh}
  .we-milk-c{width:105vw;height:62vw;left:0;bottom:-25vw}
  .we-milk-d{width:92vw;height:58vw;left:18vw;top:-20vw}
}
@media(prefers-reduced-motion:reduce){
  .we-milk-light{animation:none!important;opacity:.42}
}


/* V0.1.4: broad ambient fields, separate from pulsars/supernovas */
.we-milk-a{
  width:88vw;height:44vw;left:-38vw;top:8vh;
  background:radial-gradient(ellipse at 60% 50%,rgba(175,240,255,.15) 0%,rgba(0,199,255,.075) 28%,rgba(0,88,150,.028) 50%,transparent 76%);
}
.we-milk-b{
  width:82vw;height:46vw;right:-38vw;top:27vh;
  background:radial-gradient(ellipse at 42% 48%,rgba(255,255,255,.09) 0%,rgba(130,145,255,.055) 30%,rgba(57,71,135,.024) 53%,transparent 76%);
}
.we-milk-c{
  width:78vw;height:36vw;left:8vw;bottom:-16vw;
  background:radial-gradient(ellipse at 50% 42%,rgba(104,214,255,.075) 0%,rgba(0,116,200,.04) 33%,rgba(0,54,99,.018) 56%,transparent 77%);
}
.we-milk-d{
  width:68vw;height:32vw;left:22vw;top:-14vw;
  background:radial-gradient(ellipse at 50% 65%,rgba(235,244,250,.072) 0%,rgba(120,180,215,.035) 34%,transparent 76%);
}
.we-milk-e{
  width:72vw;height:34vw;left:-18vw;bottom:10vh;
  background:radial-gradient(ellipse at 56% 46%,rgba(92,135,190,.065) 0%,rgba(35,68,120,.035) 36%,transparent 76%);
  animation:weMilkE 42s ease-in-out infinite;
}
.we-milk-f{
  width:64vw;height:32vw;right:-12vw;top:2vh;
  background:radial-gradient(ellipse at 44% 52%,rgba(218,228,235,.05) 0%,rgba(92,126,160,.03) 36%,transparent 77%);
  animation:weMilkF 39s ease-in-out infinite;
}
@keyframes weMilkE{
  0%,100%{transform:translate3d(-3vw,1vh,0) scale(.98);opacity:.34}
  50%{transform:translate3d(9vw,-4vh,0) scale(1.08);opacity:.52}
}
@keyframes weMilkF{
  0%,100%{transform:translate3d(3vw,-2vh,0) scale(.96);opacity:.28}
  50%{transform:translate3d(-8vw,6vh,0) scale(1.09);opacity:.46}
}
@media(max-width:760px){
  .we-milk-e{width:125vw;height:72vw;left:-58vw;bottom:8vh}
  .we-milk-f{width:115vw;height:68vw;right:-55vw;top:4vh}
}
