.group:hover .group-hover\:animate-shake{animation:shake .35s linear}@keyframes shake{0%,to{transform:translate(0)}10%{transform:translate(-2px,1px) rotate(-1deg)}20%{transform:translate(1.5px,-1px) rotate(1deg)}30%{transform:translate(-1.5px,-1.5px) rotate(0deg)}40%{transform:translate(2px,1px) rotate(-.5deg)}50%{transform:translate(-1.5px,1px) rotate(.5deg)}60%{transform:translate(1px,-2px) rotate(-.5deg)}70%{transform:translate(-1px,1.5px) rotate(1deg)}80%{transform:translate(1.5px,1px) rotate(-1deg)}90%{transform:translate(-1px,-1px) rotate(.5deg)}}@keyframes shimmer{0%{transform:translateX(-100%)}to{transform:translateX(100%)}}:root{--color-primary:#af4c4c;--cursor-size:8px;--cursor-outline-size:40px}body{cursor:none}.cursor-dot{width:var(--cursor-size);height:var(--cursor-size);background-color:var(--color-primary);border-radius:50%;z-index:9999;will-change:transform}.cursor-circle,.cursor-dot{position:fixed;top:0;left:0;pointer-events:none;transform:translate(-50%,-50%)}.cursor-circle{width:var(--cursor-outline-size);height:var(--cursor-outline-size);border:2px solid var(--color-primary);border-radius:50%;z-index:9998;transition:width .1s,height .1s,background-color .1s;will-change:transform,width,height}a:hover~.cursor-dot,button:hover~.cursor-dot{transform:translate(-50%,-50%) scale(1.5);background-color:#ffffff}a:hover~.cursor-circle,button:hover~.cursor-circle{transform:translate(-50%,-50%) scale(.8);background-color:rgba(175,76,76,.2)}.book-card{transition:transform .2s}.book-card:hover{transform:scale(1.02)}.cursor-dot.clicking{transform:translate(-50%,-50%) scale(.7);transition:transform .1s}.book-card,a,button{cursor:none}