@keyframes modalBackdropFadeIn{0%{backdrop-filter:blur(0);background-color:rgba(0,0,0,0)}to{backdrop-filter:blur(4px);background-color:rgba(0,0,0,.6)}}@keyframes modalBackdropFadeOut{0%{backdrop-filter:blur(4px);background-color:rgba(0,0,0,.6)}to{backdrop-filter:blur(0);background-color:rgba(0,0,0,0)}}@keyframes modalContentFadeIn{0%{opacity:0;transform:scale(.95) translateY(10px)}to{opacity:1;transform:scale(1) translateY(0)}}@keyframes modalContentFadeOut{0%{opacity:1;transform:scale(1) translateY(0)}to{opacity:0;transform:scale(.95) translateY(10px)}}.modal-backdrop-enter{animation:modalBackdropFadeIn .3s cubic-bezier(.16,1,.3,1) forwards}.modal-backdrop-exit{animation:modalBackdropFadeOut .2s cubic-bezier(.16,1,.3,1) forwards}.modal-content-enter{animation:modalContentFadeIn .3s cubic-bezier(.16,1,.3,1) forwards}.modal-content-exit{animation:modalContentFadeOut .2s cubic-bezier(.16,1,.3,1) forwards}.modal-shadow-pulse{animation:shadowPulse 2s infinite}@keyframes shadowPulse{0%{box-shadow:0 10px 25px -5px rgba(99,135,242,.1),0 8px 10px -6px rgba(99,135,242,.06)}50%{box-shadow:0 15px 35px -5px rgba(99,135,242,.15),0 10px 15px -6px rgba(99,135,242,.1)}to{box-shadow:0 10px 25px -5px rgba(99,135,242,.1),0 8px 10px -6px rgba(99,135,242,.06)}}.modal-gradient-border{position:relative}.modal-gradient-border:before{content:"";position:absolute;inset:0;padding:1px;border-radius:inherit;background:linear-gradient(to bottom right,rgba(255,255,255,.4),rgba(99,135,242,.3),rgba(99,135,242,.1),transparent);-webkit-mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);-webkit-mask-composite:xor;mask-composite:exclude;pointer-events:none}@keyframes tabHoverPulse{0%{transform:scale(1);opacity:.7}50%{transform:scale(1.02);opacity:1}to{transform:scale(1);opacity:.7}}@keyframes tabIndicatorAppear{0%{opacity:0;width:0;transform:translateY(5px)}to{opacity:1;width:3rem;transform:translateY(0)}}.custom-tab-trigger:hover{animation:tabHoverPulse 1.5s infinite}.custom-tab-indicator{animation:tabIndicatorAppear .3s ease-out forwards}