@tailwind base;@tailwind components;@tailwind utilities;@layer base{body{@apply font-sans antialiased bg-slate-50 text-slate-900;scroll-behavior:smooth;background-image:radial-gradient(#cbd5e1 .5px,transparent .5px);background-size:24px 24px}}@layer components{.glass-card{background:#ffffffbf;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border:1px solid rgba(255,255,255,.4)}.reveal{opacity:0;transition:opacity .8s cubic-bezier(.4,0,.2,1),transform .8s cubic-bezier(.34,1.56,.64,1)}.reveal.active{opacity:1;transform:translateY(0) scale(1)}.reveal-up{transform:translateY(60px) scale(.95)}.btn-shimmer{position:relative;overflow:hidden}.btn-shimmer:after{content:"";position:absolute;top:-50%;left:-50%;width:200%;height:200%;background:linear-gradient(45deg,transparent,rgba(255,255,255,.2),transparent);transform:rotate(45deg);transition:.7s;opacity:0}.btn-shimmer:hover:after{left:100%;opacity:1}}@keyframes fade-in{0%{opacity:0;filter:blur(4px)}to{opacity:1;filter:blur(0)}}@keyframes scale-in{0%{opacity:0;transform:scale(.92) translateY(10px)}to{opacity:1;transform:scale(1) translateY(0)}}@keyframes float-y{0%,to{transform:translateY(0) rotate(0)}50%{transform:translateY(-15px) rotate(1.5deg)}}.animate-fade-in{animation:fade-in .5s cubic-bezier(.4,0,.2,1) forwards}.animate-scale-in{animation:scale-in .5s cubic-bezier(.175,.885,.32,1.275) forwards}.animate-float-slow{animation:float-y 6s ease-in-out infinite}.grain-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:url(https://grainy-gradients.vercel.app/noise.svg);opacity:.03;pointer-events:none;z-index:9999}
