.group:hover .group-hover\:animate-shake{animation:.35s linear shake}@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(0)}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:translate(-100%)}to{transform:translate(100%)}}
:root{--color-primary:#af4c4c;--cursor-size:8px;--cursor-outline-size:40px}.cursor-dot{width:var(--cursor-size);height:var(--cursor-size);background-color:var(--color-primary);pointer-events:none;z-index:9999;border-radius:50%;position:fixed;top:0;left:0;transform:translate(-50%,-50%)}.cursor-circle{width:var(--cursor-outline-size);height:var(--cursor-outline-size);border:2px solid var(--color-primary);pointer-events:none;z-index:9998;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);border-radius:50%;transition:width .1s,height .1s,background-color .1s;position:fixed;top:0;left:0;transform:translate(-50%,-50%)}.book-card{transition:transform .2s}.book-card:hover{transform:scale(1.02)}.cursor-dot.clicking{transition:transform .1s;transform:translate(-50%,-50%)scale(.7)}
