@tailwind base;@tailwind components;@tailwind utilities;@layer base{:root{--primary: #64748b;--primary-foreground: #f8fafc}*{@apply border-border;}body{@apply bg-slate-950 text-slate-100;}}@layer utilities{@keyframes shimmer-slide{to{transform:translate(calc(100cqw - 100%))}}@keyframes spin-around{0%{transform:translateZ(0) rotate(0)}15%,35%{transform:translateZ(0) rotate(90deg)}65%,85%{transform:translateZ(0) rotate(270deg)}to{transform:translateZ(0) rotate(360deg)}}@keyframes gradient{0%,to{background-position:0% 50%}50%{background-position:100% 50%}}.animate-shimmer-slide{animation:shimmer-slide var(--speed) ease-in-out infinite alternate}.animate-spin-around{animation:spin-around calc(var(--speed) * 2) infinite linear}.animate-gradient{animation:gradient 8s ease infinite;background-size:200% 200%}.animate-shimmer{animation:shimmer-slide var(--speed) ease-in-out infinite alternate}@keyframes fade-in{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes slide-up{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}@keyframes scale-in{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}.animate-fade-in{animation:fade-in .6s ease-out forwards}.animate-slide-up{animation:slide-up .8s ease-out forwards}.animate-scale-in{animation:scale-in .4s ease-out forwards}.animate-delay-100{animation-delay:.1s}.animate-delay-200{animation-delay:.2s}.animate-delay-300{animation-delay:.3s}.animate-delay-400{animation-delay:.4s}@keyframes shimmer{0%{transform:translate(-100%)}to{transform:translate(100%)}}.animate-shimmer{animation:shimmer 1.5s ease-in-out infinite}@keyframes grid{0%{transform:translateY(-50%)}to{transform:translateY(0)}}.animate-grid{animation:grid 15s linear infinite}@keyframes flicker{0%,to{opacity:1}50%{opacity:.3}}.animate-flicker{animation:flicker 2s ease-in-out infinite alternate}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-20px)}}.animate-float{animation:float 6s ease-in-out infinite}@keyframes gradient-x{0%,to{background-position:0% 50%}50%{background-position:100% 50%}}.animate-gradient{animation:gradient-x 4s ease infinite}.animate-gradient-slow{animation:gradient-x 8s ease infinite}.animate-gradient-fast{animation:gradient-x 2s ease infinite}@keyframes twinkle{0%,to{opacity:0;transform:scale(0)}50%{opacity:1;transform:scale(1)}}.animate-twinkle{animation:twinkle 1.5s ease-in-out infinite}@keyframes border-beam{to{offset-distance:100%}}.animate-border-beam{animation:border-beam calc(var(--duration) * 1s) infinite linear;offset-path:rect(0 auto auto 0 round calc(var(--size) * 1px))}@keyframes meteor{0%{transform:rotate(215deg) translate(0);opacity:1}70%{opacity:1}to{transform:rotate(215deg) translate(-500px);opacity:0}}.animate-meteor{animation:meteor linear infinite}@keyframes rippling{0%{transform:scale(0);opacity:1}to{transform:scale(4);opacity:0}}.animate-rippling{animation:rippling .6s linear}}
