@property --glass-light{syntax:"<angle>";inherits:true;initial-value:0deg}
.cabinet-particles{position:absolute;inset:0 0 auto;height:var(--particle-field-height,100vh);z-index:-1;pointer-events:none;overflow:hidden;visibility:hidden;opacity:0;transition:opacity .6s;--glass-light:0deg}
.particles-enabled .cabinet-particles{visibility:visible;opacity:1}
body.particles-enabled{isolation:isolate}
.glass-drifter{position:absolute;left:var(--x);top:var(--y);width:var(--size);height:var(--size);will-change:transform;transition:opacity .55s ease}
.glass-bead{display:block;width:100%;height:100%;border-radius:50%;transform:translate(var(--push-x,0px),var(--push-y,0px)) rotate(var(--turn,0deg));transition:filter .7s;position:relative;background:radial-gradient(ellipse at 29% 19%,#e9f6ffba 0%,#9ed4ff38 11%,transparent 28%),radial-gradient(ellipse at 73% 82%,#b3deffb0 0%,#437cc558 13%,transparent 34%),radial-gradient(circle at 50% 47%,#020b1480 35%,#23569366 67%,#b7deff88 83%,#162b4580 96%);box-shadow:inset 1px 1px 2px #ddf1ff80,inset -1px -2px 3px #739dd877,0 10px 20px -12px #000a}
/* Broad softbox reflection plus a smaller reflected return, on the curved face. */
.glass-bead::before{content:'';position:absolute;inset:0;border-radius:inherit;
 background:radial-gradient(ellipse 19% 10% at 31% 16%,#fff 0 35%,#eef8ffe8 48%,#c6e6ff66 72%,transparent 100%),radial-gradient(ellipse 8% 15% at 13% 34%,#e9f8fff0 0 22%,#98ccff66 57%,transparent 100%),radial-gradient(ellipse 17% 11% at 75% 81%,#f2faffed 0 23%,#acd9ff99 48%,#609eff33 72%,transparent 100%),radial-gradient(ellipse 28% 12% at 52% 92%,#9fceff88,transparent 90%);
 transform:rotate(calc(var(--incidence,0deg) + var(--glass-light)));opacity:.95;
}
.glass-bead::after{content:'';position:absolute;inset:0;padding:1px;border-radius:inherit;background:conic-gradient(from -40deg,#fff 0deg,#d3eaffbb 22deg,transparent 65deg 150deg,#8ebaff88 170deg,#eef8ff 207deg,#a2cdff77 238deg,transparent 265deg 310deg,#fff);mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);mask-composite:exclude;opacity:.9;transition:opacity .5s;transform:rotate(calc(var(--incidence,0deg) + var(--glass-light)))}
.glass-drifter.is-near .glass-bead{filter:brightness(1.35)}
.glass-drifter.is-near .glass-bead::after{opacity:1}
.glass-drifter.is-distant{filter:blur(3px);opacity:.3}
.glass-drifter.is-behind-ui{opacity:0}
.cabinet-particles.is-paused .glass-drifter,.cabinet-particles.is-paused .glass-bead::after{animation-play-state:paused}
html[data-theme=light] .glass-bead{background:radial-gradient(ellipse at 28% 18%,#fff 0%,#fff9 17%,transparent 38%),radial-gradient(ellipse at 75% 82%,#fff 0%,#97badd66 23%,transparent 40%),radial-gradient(circle,#dceafa22 35%,#92b3cf77 77%,#527b9c55);box-shadow:inset 1px 1px 2px #fff,inset -1px -2px 3px #517da877,0 10px 20px -12px #42648966}
@keyframes glass-drift{
 0%{transform:translate3d(-18px,-22px,0)}
 35%{transform:translate3d(12px,-8px,0)}
 70%{transform:translate3d(-5px,20px,0)}
 100%{transform:translate3d(20px,32px,0)}
}
@keyframes glass-light-source{from{--glass-light:-18deg}to{--glass-light:24deg}}
.cabinet-particles.is-paused{animation-play-state:paused}
@media(max-width:760px){.glass-drifter{width:calc(var(--size)*.65);height:calc(var(--size)*.65)}.glass-drifter:nth-child(n+11){display:none}.particles-enabled .cabinet-particles{opacity:.65}}
@media(prefers-reduced-motion:reduce){.cabinet-particles,.glass-drifter,.glass-bead::after{animation:none;will-change:auto}.glass-bead,.glass-bead::after,.cabinet-particles{transition:none}}
