.block-loader{z-index:9998;pointer-events:all;-webkit-backdrop-filter:blur(2.5px);backdrop-filter:blur(2.5px);background:#0003;justify-content:center;align-items:center;width:100vw;height:100dvh;display:flex;position:fixed;top:0;left:0}.lds-ring,.lds-ring div{box-sizing:border-box}.lds-ring{width:80px;height:80px;display:inline-block;position:relative}.lds-ring div{box-sizing:border-box;border:8px solid #0000;border-top-color:#7065f0;border-radius:50%;width:64px;height:64px;margin:8px;animation:1.2s cubic-bezier(.5,0,.5,1) infinite lds-ring;display:block;position:absolute}.lds-ring div:first-child{animation-delay:-.45s}.lds-ring div:nth-child(2){animation-delay:-.3s}.lds-ring div:nth-child(3){animation-delay:-.15s}@keyframes lds-ring{0%{transform:rotate(0)}to{transform:rotate(360deg)}}
.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)}}
: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)}
