@keyframes shimmer {0%{transform:translateX(-100%)}100%{transform:translateX(100%)}}
@keyframes fade-in{0%{opacity:0;transform:translateY(-8px)}100%{opacity:1;transform:translateY(0)}}
@keyframes fade-in-up{0%{opacity:0;transform:translateY(16px)}100%{opacity:1;transform:translateY(0)}}
@keyframes pulse-dot{0%,100%{opacity:1}50%{opacity:.4}}
@keyframes slide-in-right{0%{opacity:0;transform:translateX(16px)}100%{opacity:1;transform:translateX(0)}}
@keyframes ping{75%,100%{transform:scale(2);opacity:0}}

.animate-fade-in{animation:fade-in .3s ease-out}
.animate-fade-in-up{animation:fade-in-up .4s ease-out}
.animate-slide-in-right{animation:slide-in-right .3s ease-out}
.animate-pulse-dot{animation:pulse-dot 2s ease-in-out infinite}

body{font-family:'Inter',sans-serif}
h1,h2,h3,h4,h5,h6,.font-headline-lg,.font-headline-md,.font-headline-sm,.font-display-lg,.font-display-sm{font-family:'Lexend',sans-serif}

::-webkit-scrollbar{width:6px;height:6px}
::-webkit-scrollbar-track{background:transparent}
::-webkit-scrollbar-thumb{background:#c5c6cd;border-radius:9999px}
::-webkit-scrollbar-thumb:hover{background:#75777d}

.glass-card{background:rgba(247,249,251,.8);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px)}
.sidebar-link{transition:all .2s ease;color:#fff}
body .text-on-surface-variant{color:rgb(183 183 183)}
.sidebar-link:hover,.sidebar-link.active{background:#0d1117;color:#00566a}
.sidebar-link.active{border-right:3px solid #00d2ff;font-weight:600}
