.page-particle-transfer {
  position: fixed;
  inset: 0;
  z-index: 2147483637;
  display: block;
  width: 100%;
  height: 100%;
  pointer-events: none;
  contain: strict;
  mix-blend-mode: screen;
  filter: saturate(1.08) contrast(1.04) drop-shadow(0 0 7px rgba(111, 234, 255, 0.12));
}

html.page-particle-navigating {
  cursor: progress;
}

.page-particle-source.is-page-particle-departing {
  opacity: 0.08 !important;
  transform: scale(0.985) !important;
  filter: blur(2px) saturate(1.18) !important;
  transition: opacity 180ms ease, transform 420ms ease, filter 260ms ease !important;
}

body.page-particle-arriving::after {
  content: "";
  position: fixed;
  inset: 0;
  z-index: 2147483636;
  pointer-events: none;
  background: radial-gradient(circle at 64% 46%, rgba(111, 234, 255, 0.035), transparent 34rem);
  animation: page-particle-arrival-wash 820ms ease both;
}

@keyframes page-particle-arrival-wash {
  0% { opacity: 0.9; }
  70% { opacity: 0.42; }
  100% { opacity: 0; }
}

@media (max-width: 720px) {
  .page-particle-transfer {
    filter: saturate(1.02) contrast(1.02) drop-shadow(0 0 5px rgba(111, 234, 255, 0.08));
  }
}

@media (prefers-reduced-motion: reduce) {
  .page-particle-transfer,
  body.page-particle-arriving::after {
    display: none;
  }

  .page-particle-source.is-page-particle-departing {
    opacity: 1 !important;
    transform: none !important;
    filter: none !important;
    transition: none !important;
  }
}
