@tailwind base;@tailwind components;@tailwind utilities;@layer utilities{.min-h-screen{min-height:100dvh!important}.h-screen{height:100dvh!important}}.header-transition{transition:all .3s ease;height:80px}@media(min-width:768px){.header-transition{height:96px}}.header-transition.shrink{height:48px!important;box-shadow:0 4px 12px #00000014}@keyframes confetti{0%{transform:translateY(0) rotate(0);opacity:1}to{transform:translateY(100vh) rotate(720deg);opacity:0}}@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)}}.animate-confetti{animation:confetti linear forwards}.animate-fade-in{animation:fade-in .5s ease-out}.animate-slide-up{animation:slide-up .6s ease-out;animation-fill-mode:both}*:not(input):not(textarea):not(select):not(button){transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}input,textarea,select{font-size:16px!important;touch-action:auto!important;-webkit-user-select:text!important;user-select:text!important;pointer-events:auto!important;-webkit-tap-highlight-color:rgba(0,122,255,.2)!important}button{touch-action:manipulation!important;-webkit-tap-highlight-color:rgba(0,0,0,.05)!important;pointer-events:auto!important;cursor:pointer}div,section,aside,main{touch-action:auto}@keyframes vertical-cycle{0%,15%{transform:translateY(0)}20%,35%{transform:translateY(-2rem)}40%,55%{transform:translateY(-4rem)}60%,75%{transform:translateY(-6rem)}80%,95%{transform:translateY(-8rem)}to{transform:translateY(-10rem)}}.animate-vertical-cycle{animation:vertical-cycle 12s cubic-bezier(.76,0,.24,1) infinite}@keyframes hero-in{0%{transform:translateY(100%);opacity:0}to{transform:translateY(0);opacity:1}}@keyframes hero-out{0%{transform:translateY(0);opacity:1}to{transform:translateY(-100%);opacity:0}}.animate-hero-in{animation:hero-in .6s cubic-bezier(.23,1,.32,1) forwards}.animate-hero-out{animation:hero-out .6s cubic-bezier(.23,1,.32,1) forwards}@keyframes shimmer{0%{transform:translate(-100%)}to{transform:translate(100%)}}@keyframes pulse-glow{0%,to{box-shadow:0 0 #0ea5e900}50%{box-shadow:0 0 20px 2px #0ea5e94d}}.animate-shimmer{position:relative;overflow:hidden}.animate-shimmer:after{content:"";position:absolute;top:0;left:0;width:100%;height:100%;background:linear-gradient(90deg,#fff0,#fff3,#fff0);animation:shimmer 2s infinite}.animate-pulse-glow{animation:pulse-glow 3s ease-in-out infinite}
