.ebook-view-link{position:relative;overflow:hidden;transition:all .3s cubic-bezier(.4,0,.2,1)}.ebook-view-link:hover{transform:translateY(-2px);box-shadow:0 8px 25px rgba(220,38,127,.4)!important}.btn-ripple{position:absolute;border-radius:50%;background:rgba(255,255,255,.3);transform:scale(0);pointer-events:none}.btn-ripple.ripple-animate{animation:ripple .6s linear}@keyframes ripple{to{transform:scale(4);opacity:0}}.modal-content{border-radius:0;box-shadow:0 20px 60px rgba(0,0,0,.3)}.bg-gradient-primary{background:linear-gradient(135deg,#dc3545 0%,#c82333 100%)}.modal-icon{width:40px;height:40px;background:rgba(255,255,255,.2);border-radius:50%;display:flex;align-items:center;justify-content:center}.loading-container{background:linear-gradient(135deg,#f8f9fa 0%,#e9ecef 100%);z-index:1050}.book-loader{perspective:1000px}.book{position:relative;width:60px;height:80px;transform-style:preserve-3d;animation:bookFlip 2s infinite ease-in-out}.page{position:absolute;width:100%;height:100%;background:linear-gradient(45deg,#fff 0%,#f8f9fa 100%);border:2px solid #dc3545;border-radius:4px;transform-origin:left center}.page:nth-child(1){animation:pageFlip1 2s infinite ease-in-out}.page:nth-child(2){animation:pageFlip2 2s infinite ease-in-out .2s}.page:nth-child(3){animation:pageFlip3 2s infinite ease-in-out .4s}@keyframes bookFlip{0%,100%{transform:rotateY(0deg)}50%{transform:rotateY(10deg)}}@keyframes pageFlip1{0%,100%{transform:rotateY(0deg)}50%{transform:rotateY(-180deg)}}@keyframes pageFlip2{0%,100%{transform:rotateY(0deg)}50%{transform:rotateY(-160deg)}}@keyframes pageFlip3{0%,100%{transform:rotateY(0deg)}50%{transform:rotateY(-140deg)}}.error-container{background:linear-gradient(135deg,#f8f9fa 0%,#e9ecef 100%);z-index:1050}.error-icon{width:100px;height:100px;background:linear-gradient(135deg,#fff3cd 0%,#ffeaa7 100%);border-radius:50%;display:flex;align-items:center;justify-content:center;animation:errorPulse 2s infinite ease-in-out}.error-icon i{font-size:3rem;animation:errorShake .5s infinite ease-in-out}@keyframes errorPulse{0%,100%{transform:scale(1)}50%{transform:scale(1.05)}}@keyframes errorShake{0%,100%{transform:translateX(0)}25%{transform:translateX(-2px)}75%{transform:translateX(2px)}}.max-width-400{max-width:400px;margin:0 auto}.progress-bar-animated{animation:progress-bar-stripes 1s linear infinite}#ebook-iframe{transition:opacity .5s ease-in-out;background:#fff}#ebook-iframe.d-none{opacity:0}.btn{transition:all .3s cubic-bezier(.4,0,.2,1)}.btn:hover{transform:translateY(-1px)}.btn-primary:hover{box-shadow:0 4px 15px rgba(220,53,69,.3)}.btn-success:hover{box-shadow:0 4px 15px rgba(40,167,69,.3)}.btn-outline-primary:hover{box-shadow:0 4px 15px rgba(220,53,69,.2)}.modal.fade .modal-dialog{transition:transform .4s cubic-bezier(.4,0,.2,1);transform:scale(.8) translateY(-50px)}.modal.show .modal-dialog{transform:scale(1) translateY(0)}@media(max-width:768px){.modal-header{padding:1rem}.modal-header .modal-title{font-size:1.1rem}.modal-footer{flex-direction:column;gap:1rem}.modal-footer .d-flex:last-child{justify-content:center;width:100%}.error-container p{font-size:1rem}.book{width:50px;height:70px}}.modal-body::-webkit-scrollbar{width:8px}.modal-body::-webkit-scrollbar-track{background:#f1f1f1;border-radius:4px}.modal-body::-webkit-scrollbar-thumb{background:linear-gradient(135deg,#dc3545,#c82333);border-radius:4px}.modal-body::-webkit-scrollbar-thumb:hover{background:linear-gradient(135deg,#c82333,#a71e2a)}.loading-container h4{animation:textGlow 2s ease-in-out infinite alternate}@keyframes textGlow{from{text-shadow:0 0 5px rgba(220,53,69,.3)}to{text-shadow:0 0 20px rgba(220,53,69,.6)}}