.tgx-conn{position:relative;display:flex;align-items:center}.tgx-conn .tgx-track{height:2px;width:100%;border-radius:2px;background:linear-gradient(90deg,#10b98100,#10b98180,#10b98100)}.tgx-conn .tgx-shuttle{position:absolute;left:0;right:0;top:50%;height:0;animation:tgxFlowShuttle 1.8s cubic-bezier(.45,0,.25,1) infinite}.tgx-conn .tgx-dot{position:absolute;left:0;top:-3.5px;width:7px;height:7px;border-radius:9999px;background:#10b981;box-shadow:0 0 10px 2px #10b981a6;animation:tgxFlowDot 1.8s cubic-bezier(.45,0,.25,1) infinite}.tgx-conn.tgx-delay .tgx-shuttle,.tgx-conn.tgx-delay .tgx-dot{animation-delay:.65s}@keyframes tgxFlowShuttle{0%{transform:translate(4%)}to{transform:translate(96%)}}@keyframes tgxFlowDot{0%{opacity:0;transform:scale(.6)}18%{opacity:1;transform:scale(1)}82%{opacity:1;transform:scale(1)}to{opacity:0;transform:scale(.6)}}@media(prefers-reduced-motion:reduce){.tgx-conn .tgx-shuttle{animation:none;transform:translate(50%)}.tgx-conn .tgx-dot{animation:none;opacity:.85}}.tgx-cursor{position:absolute;z-index:60;pointer-events:none;transition:left .5s cubic-bezier(.5,0,.2,1),top .5s cubic-bezier(.5,0,.2,1);filter:drop-shadow(0 2px 3px rgba(0,0,0,.4))}.tgx-click-ring{position:absolute;left:2px;top:2px;width:26px;height:26px;margin-left:-13px;margin-top:-13px;border-radius:9999px;background:#10b98159;animation:tgxClick .7s ease-out .5s infinite}@keyframes tgxClick{0%{transform:scale(.35);opacity:.6}to{transform:scale(1.7);opacity:0}}.tgx-modal-in{animation:tgxModalIn .4s cubic-bezier(.16,1,.3,1) both}@keyframes tgxModalIn{0%{opacity:0;transform:translateY(8px) scale(.97)}to{opacity:1;transform:translateY(0) scale(1)}}@media(prefers-reduced-motion:reduce){.tgx-cursor{transition:none}.tgx-click-ring{animation:none;opacity:0}.tgx-modal-in{animation:none}}.tgx-success-pop{animation:tgxSuccessPop .6s cubic-bezier(.34,1.56,.64,1) both}@keyframes tgxSuccessPop{0%{opacity:0;transform:scale(.3) rotate(-40deg)}60%{opacity:1;transform:scale(1.12) rotate(8deg)}to{opacity:1;transform:scale(1) rotate(0)}}.tgx-success-text{animation:tgxSuccessText .5s ease-out .35s both}@keyframes tgxSuccessText{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}@media(prefers-reduced-motion:reduce){.tgx-success-pop,.tgx-success-text{animation:none}}
