@keyframes dev-particles-veil{0%{transform:translate3d(-2%,-1%,0) scale(1)}50%{transform:translate3d(2%,2%,0) scale(1.06)}to{transform:translate3d(-1%,1%,0) scale(.98)}}@keyframes dev-particles-glow{0%{transform:translateZ(0) scale(.96);opacity:.45}50%{transform:translate3d(2%,-4%,0) scale(1.06);opacity:.75}to{transform:translate3d(-1%,2%,0) scale(1);opacity:.52}}@keyframes dev-particles-cursor-fall{0%{opacity:0;transform:translate3d(var(--dev-cursor-particle-start-x,0),var(--dev-cursor-particle-start-y,-6px),0) scale(.9)}18%{opacity:var(--dev-cursor-particle-opacity,.12)}48%{opacity:calc(var(--dev-cursor-particle-opacity, .12) * .78)}68%{opacity:calc(var(--dev-cursor-particle-opacity, .12) * .52)}to{opacity:0;transform:translate3d(var(--dev-cursor-particle-end-x,0),var(--dev-cursor-particle-end-y,20px),0) scale(.45)}}html[data-env=dev] .dev-particles-shell{overflow:hidden;isolation:isolate}html[data-env=dev] .dev-particles-shell:before{content:"";position:absolute;inset:-12%;background:radial-gradient(circle at 18% 22%,color-mix(in oklab,currentColor 10%,transparent),transparent 30%),radial-gradient(circle at 78% 18%,color-mix(in oklab,currentColor 8%,transparent),transparent 28%),radial-gradient(circle at 52% 84%,color-mix(in oklab,currentColor 6%,transparent),transparent 34%);animation:dev-particles-veil 24s ease-in-out infinite}html[data-env=dev] .dev-particles-shell:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(249,246,255,.02),rgba(248,245,255,0))}html[data-env=dev] .dev-particles-glow{position:absolute;border-radius:9999px;filter:blur(110px);animation:dev-particles-glow 20s ease-in-out infinite}html[data-env=dev] .dev-particles-glow-left{top:-8vh;left:-6vw;width:34vw;height:34vw;background:color-mix(in oklab,currentColor 11%,transparent)}html[data-env=dev] .dev-particles-glow-right{top:4vh;right:-8vw;width:28vw;height:28vw;background:color-mix(in oklab,currentColor 9%,transparent);animation-delay:-7s}html[data-env=dev] .dev-particles-glow-bottom{bottom:-14vh;left:26vw;width:40vw;height:40vw;background:color-mix(in oklab,currentColor 7%,transparent);animation-delay:-12s}html[data-env=dev] .dev-particles-canvas,html[data-env=dev] .dev-particles-canvas canvas,html[data-env=dev] .dev-particles-canvas>div{position:absolute!important;inset:0;width:100%!important;height:100%!important}html[data-env=dev] .dev-particles-canvas canvas{opacity:.32;filter:blur(.2px);mix-blend-mode:normal}html[data-env=dev] .dev-particles-cursor-cluster{position:absolute;width:34px;height:40px;transform:translate3d(-50%,-24%,0)}html[data-env=dev] .dev-particles-cursor-particle{position:absolute;left:50%;top:50%;width:var(--dev-cursor-particle-size,2.4px);height:var(--dev-cursor-particle-size,2.4px);border-radius:9999px;transform:translateZ(0);animation:dev-particles-cursor-fall var(--dev-cursor-particle-duration,1.28s) linear infinite;animation-delay:var(--dev-cursor-particle-delay,0s);background:radial-gradient(circle at 35% 35%,color-mix(in oklab,white 90%,currentColor 10%),color-mix(in oklab,white 26%,currentColor 74%) 48%,color-mix(in oklab,currentColor 28%,transparent) 80%,transparent 100%);box-shadow:0 0 10px color-mix(in oklab,currentColor 20%,white 80%),0 0 18px color-mix(in oklab,currentColor 14%,white 86%);filter:blur(.08px);opacity:0;will-change:transform,opacity}html[data-env=dev] .dev-particles-cursor-particle:before{content:"";position:absolute;inset:-4px;border-radius:inherit;background:radial-gradient(circle,color-mix(in oklab,currentColor 18%,transparent),transparent 58%,transparent 100%);filter:blur(4.5px);opacity:.66}html[data-env=dev] .dark .dev-particles-shell:before,html[data-env=dev].dark .dev-particles-shell:before{background:radial-gradient(circle at 18% 22%,color-mix(in oklab,currentColor 14%,transparent),transparent 30%),radial-gradient(circle at 78% 18%,color-mix(in oklab,currentColor 11%,transparent),transparent 28%),radial-gradient(circle at 52% 84%,color-mix(in oklab,currentColor 9%,transparent),transparent 34%)}html[data-env=dev] .dark .dev-particles-shell:after,html[data-env=dev].dark .dev-particles-shell:after{background:linear-gradient(180deg,rgba(18,11,25,.18),rgba(9,7,14,.06))}html[data-env=dev] .dark .dev-particles-glow-left,html[data-env=dev].dark .dev-particles-glow-left{background:color-mix(in oklab,currentColor 15%,transparent)}html[data-env=dev] .dark .dev-particles-glow-right,html[data-env=dev].dark .dev-particles-glow-right{background:color-mix(in oklab,currentColor 12%,transparent)}html[data-env=dev] .dark .dev-particles-glow-bottom,html[data-env=dev].dark .dev-particles-glow-bottom{background:color-mix(in oklab,currentColor 10%,transparent)}html[data-env=dev] .dark .dev-particles-canvas canvas,html[data-env=dev].dark .dev-particles-canvas canvas{opacity:.68;mix-blend-mode:screen}html[data-env=dev] .dark .dev-particles-cursor-particle,html[data-env=dev].dark .dev-particles-cursor-particle{background:radial-gradient(circle at 35% 35%,color-mix(in oklab,white 86%,currentColor 14%),color-mix(in oklab,white 22%,currentColor 78%) 48%,color-mix(in oklab,currentColor 40%,transparent) 80%,transparent 100%);box-shadow:0 0 12px color-mix(in oklab,currentColor 24%,white 76%),0 0 20px color-mix(in oklab,currentColor 16%,white 84%)}@media (prefers-reduced-motion:reduce){html[data-env=dev] .dev-particles-glow,html[data-env=dev] .dev-particles-shell:before{animation:none}html[data-env=dev] .dev-particles-foreground{display:none}}