@keyframes ui-fade-in{0%{opacity:0}to{opacity:1}}@keyframes ui-fade-out{0%{opacity:1}to{opacity:0}}@keyframes ui-scale-in{0%{opacity:0;transform:scale(.97)}to{opacity:1;transform:scale(1)}}@keyframes ui-scale-out{0%{opacity:1;transform:scale(1)}to{opacity:0;transform:scale(.98)}}@keyframes ui-pop-in{0%{opacity:0;transform:scale(.96)}to{opacity:1;transform:scale(1)}}@keyframes ui-pop-out{0%{opacity:1;transform:scale(1)}to{opacity:0;transform:scale(.97)}}@keyframes ui-slide-in-right{0%{transform:translate(100%)}to{transform:translate(0,0)}}@keyframes ui-slide-out-right{0%{transform:translate(0,0)}to{transform:translate(100%)}}@keyframes ui-slide-in-left{0%{transform:translate(-100%)}to{transform:translate(0,0)}}@keyframes ui-slide-out-left{0%{transform:translate(0,0)}to{transform:translate(-100%)}}@keyframes ui-slide-in-bottom{0%{transform:translateY(100%)}to{transform:translate(0,0)}}@keyframes ui-slide-out-bottom{0%{transform:translate(0,0)}to{transform:translateY(100%)}}@keyframes ui-shimmer{0%{background-position:100% 0}to{background-position:-100% 0}}.ui-shimmer{background-color:var(--bg-sunken);background-image:linear-gradient(90deg, var(--bg-sunken) 0%, var(--surface-hover) 35%, var(--surface-active) 50%, var(--surface-hover) 65%, var(--bg-sunken) 100%);background-repeat:no-repeat;background-size:200% 100%;animation:1.6s linear infinite ui-shimmer}@media (prefers-reduced-motion:reduce){.ui-shimmer{background-image:none;animation:none}}@keyframes ui-shake{0%,to{transform:translate(0,0)}20%{transform:translate(-5px)}40%{transform:translate(4px)}60%{transform:translate(-3px)}80%{transform:translate(2px)}}
