@tailwind base;@tailwind components;@tailwind utilities;@layer utilities{@keyframes shimmer{0%{transform:translate(-100%)}to{transform:translate(100%)}}.animate-shimmer{animation:shimmer 2s infinite}.animate-fadeIn{animation:fadeIn .5s ease-in}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes fade-in{0%{opacity:0}to{opacity:1}}@keyframes slide-up{0%{opacity:0;transform:translateY(20px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}.animate-fade-in{animation:fade-in .2s ease-out}.animate-slide-up{animation:slide-up .3s ease-out}@keyframes pageFlip{0%{opacity:.5;transform:scale(.98)}50%{opacity:.7;transform:scale(.99)}to{opacity:1;transform:scale(1)}}.page-transition{animation:pageFlip .4s ease-out}@supports (backdrop-filter: blur(0)){.paper-texture{background-image:linear-gradient(90deg,rgba(0,0,0,.01) 1px,transparent 1px),linear-gradient(rgba(0,0,0,.01) 1px,transparent 1px);background-size:50px 50px,50px 50px}}.book-3d{transform-style:preserve-3d;perspective:2000px}.book-shadow-deep{box-shadow:0 20px 60px #0000004d,0 40px 100px #0003,inset 0 0 0 1px #ffffff1a}@keyframes imageShimmer{0%{background-position:-1000px 0}to{background-position:1000px 0}}.image-shimmer:after{content:"";position:absolute;top:0;left:0;width:100%;height:100%;background:linear-gradient(90deg,#fff0,#ffffff1a,#fff0);animation:imageShimmer 3s infinite;pointer-events:none}.page-curl{position:relative}.page-curl:after{content:"";position:absolute;bottom:0;right:0;width:0;height:0;border-style:solid;border-width:0 0 40px 40px;border-color:transparent transparent rgba(0,0,0,.1) transparent;transition:all .3s ease}.page-curl:hover:after{border-width:0 0 60px 60px}}
