/* كتاب السواعي: صفحة واحدة، بحركة على مرحلتين كي لا يقفز النص عند استبداله. */
.book { display: block; max-width: 720px; margin-right: auto; margin-left: auto; touch-action: pan-y; }
.book .page { min-height: calc(100dvh - 250px); border-radius: 10px; will-change: transform, opacity; backface-visibility: hidden; transform: translate3d(0,0,0); }
.book #right-page { display: none; }
.book.dragging .page { transform: translate3d(var(--drag-shift),0,0); opacity: .96; transition: none; }
.book.rebound .page { transition: transform 160ms cubic-bezier(.2,.8,.3,1), opacity 160ms ease; }
/* في الكتاب العربي: الانتقال للأمام يجعل الصفحة الحالية تخرج يمينًا والجديدة تدخل من اليسار. */
.book.turn-out-next .page { animation: page-out-next 150ms cubic-bezier(.42,0,1,1) both; }
.book.turn-in-next .page { animation: page-in-next 230ms cubic-bezier(0,.55,.3,1) both; }
.book.turn-out-prev .page { animation: page-out-prev 150ms cubic-bezier(.42,0,1,1) both; }
.book.turn-in-prev .page { animation: page-in-prev 230ms cubic-bezier(0,.55,.3,1) both; }
@keyframes page-out-next { from { opacity:1; transform:translate3d(var(--turn-start,0px),0,0); } to { opacity:0; transform:translate3d(105%,0,0); } }
@keyframes page-in-next { from { opacity:0; transform:translate3d(-16%,0,0); } to { opacity:1; transform:translate3d(0,0,0); } }
@keyframes page-out-prev { from { opacity:1; transform:translate3d(var(--turn-start,0px),0,0); } to { opacity:0; transform:translate3d(-105%,0,0); } }
@keyframes page-in-prev { from { opacity:0; transform:translate3d(16%,0,0); } to { opacity:1; transform:translate3d(0,0,0); } }
@media (prefers-reduced-motion: reduce) { .book.turn-out-next .page,.book.turn-in-next .page,.book.turn-out-prev .page,.book.turn-in-prev .page{animation:none} }
