@keyframes scan{0%{top:0%;opacity:0}10%{opacity:1}90%{opacity:1}to{top:100%;opacity:0}}@keyframes pulse-ring{0%{transform:scale(.8);opacity:.5}to{transform:scale(1.2);opacity:0}}.animate-scan{animation:scan 3s linear infinite}.animate-pulse-ring{animation:pulse-ring 2s cubic-bezier(.4,0,.6,1) infinite}.glass-panel{background:#ffffffb3;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border:1px solid rgba(255,255,255,.3)}.dark .glass-panel{background:#0f172acc;border:1px solid rgba(255,255,255,.1)}@keyframes shake{0%,to{transform:translate(0)}10%,30%,50%,70%,90%{transform:translate(-6px)}20%,40%,60%,80%{transform:translate(6px)}}.animate-shake{animation:shake .5s cubic-bezier(.36,.07,.19,.97) both}@keyframes fade-in{0%{opacity:0}to{opacity:1}}@keyframes fade-in-up{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes fade-in-down{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}.animate-fade-in{animation:fade-in .5s ease-out forwards}.animate-fade-in-up{animation:fade-in-up .5s ease-out forwards}.animate-fade-in-down{animation:fade-in-down .5s ease-out forwards}.custom-scrollbar::-webkit-scrollbar{width:6px}.custom-scrollbar::-webkit-scrollbar-track{background:transparent}.custom-scrollbar::-webkit-scrollbar-thumb{background:#6366f133;border-radius:10px}.custom-scrollbar::-webkit-scrollbar-thumb:hover{background:#6366f166}::-webkit-scrollbar{width:6px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:#6366f11a;border-radius:10px}::-webkit-scrollbar-thumb:hover{background:#6366f14d}
