/* Shared CRT signal FX: boot/loading + branding only. */
.signal-fx-layer{
  position:fixed;
  z-index:10030;
  pointer-events:none;
  overflow:visible;
  isolation:isolate;
}
.signal-fx-copy{
  position:absolute!important;
  left:0!important;
  top:0!important;
  margin:0!important;
  pointer-events:none!important;
  opacity:0;
  overflow:hidden!important;
  transform-origin:center center!important;
}
.signal-fx-copy *{pointer-events:none!important}
.signal-fx-copy.fx-cyan{
  mix-blend-mode:screen;
  filter:brightness(1.24) saturate(1.16) drop-shadow(16px 0 rgba(67,230,208,.78));
}
.signal-fx-copy.fx-green{
  mix-blend-mode:screen;
  filter:brightness(1.16) saturate(1.12) drop-shadow(-16px 0 rgba(89,244,186,.66));
}
.signal-fx-copy.fx-red{
  mix-blend-mode:screen;
  filter:brightness(1.08) saturate(1.16) drop-shadow(10px 0 rgba(223,45,45,.56));
}

.boot-terminal.signal-stage-out,
.boot-welcome.signal-stage-out{
  opacity:0!important;
  transform:translateY(-5px) scale(.997)!important;
  filter:blur(3px);
  transition:
    opacity 780ms cubic-bezier(.4,0,.2,1),
    transform 780ms cubic-bezier(.4,0,.2,1),
    filter 780ms cubic-bezier(.4,0,.2,1)!important;
}

@media (prefers-reduced-motion: reduce){
  .signal-fx-layer{display:none!important}
}
