@keyframes join-backdrop-in{0%{opacity:0}to{opacity:1}}.join-backdrop-in{animation:join-backdrop-in 1s ease-out both}@keyframes join-arrive{0%{opacity:0;transform:translateY(16px) scale(.98);filter:blur(6px)}to{opacity:1;transform:none;filter:none}}.join-arrive{animation:join-arrive .56s cubic-bezier(.16,1,.3,1) 50ms both}@keyframes join-fade{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}.join-fade{animation:join-fade .22s cubic-bezier(.23,1,.32,1) both}@keyframes join-pop{0%{transform:scale(1)}40%{transform:scale(1.18)}to{transform:scale(1)}}.join-pop{animation:join-pop .48s cubic-bezier(.34,1.56,.64,1)}@keyframes join-preview{0%{opacity:0;transform:translateX(6px) scale(.97)}to{opacity:1;transform:translateX(0) scale(1)}}.join-preview{transform-origin:right center;animation:join-preview .16s cubic-bezier(.23,1,.32,1) both}@media (prefers-reduced-motion:reduce){.join-arrive,.join-backdrop-in,.join-fade,.join-pop,.join-preview{animation:none}}