/* One physical sheet, with a readable front and back, crosses the book's fold. */
.book.turn-next .paper-right,.book.turn-next .paper-left,.book.turn-previous .paper-left{animation:none;transform:none;filter:none}
.book{perspective:2200px;perspective-origin:50% 45%}
.book.is-turning{cursor:progress}
.turn-sheet{position:absolute;top:0;bottom:0;width:50%;z-index:8;transform-style:preserve-3d;pointer-events:none;will-change:transform}
.turn-sheet-spread.turn-sheet-next{left:50%;transform-origin:left center}
.turn-sheet-spread.turn-sheet-previous{left:0;transform-origin:right center}
.turn-sheet-single{left:0;width:100%;transform-origin:left center}
.turn-face{position:absolute!important;inset:0;display:flex;flex-direction:column;min-width:0;box-sizing:border-box;color:#3d2c22;backface-visibility:hidden;-webkit-backface-visibility:hidden;overflow:hidden;box-shadow:0 2px 5px #40260b38}
.turn-face-front{transform:translateZ(.3px)}
.turn-face-back{transform:rotateY(180deg) translateZ(.3px)}
.turn-face .page-body{flex:1;min-height:0;pointer-events:none}
.turn-face .folio{position:absolute!important}
.turn-face .turn-face-shade{position:absolute!important;inset:0;z-index:4!important;pointer-events:none;background:linear-gradient(90deg,#41280e55,transparent 22%,#fff4d11c 65%,#41280e44);opacity:0;animation:turn-sheet-shading 720ms cubic-bezier(.32,.03,.28,1) both}
.turn-sheet-previous .turn-face-shade{background:linear-gradient(270deg,#41280e55,transparent 22%,#fff4d11c 65%,#41280e44)}
.turn-cast-shadow{position:absolute;top:0;bottom:0;z-index:6;pointer-events:none;width:50%;opacity:0;animation:turn-cast-shading 720ms cubic-bezier(.32,.03,.28,1) both;transform-origin:center}
.turn-cast-shadow-next{left:0;background:linear-gradient(270deg,#3e230d50,transparent 65%)}
.turn-cast-shadow-previous{left:50%;background:linear-gradient(90deg,#3e230d50,transparent 65%)}
@keyframes turn-sheet-shading{0%{opacity:0}35%{opacity:.55}53%{opacity:.9}75%{opacity:.45}100%{opacity:0}}
@keyframes turn-cast-shading{0%{opacity:0;transform:scaleX(.1)}45%{opacity:.75;transform:scaleX(.85)}70%{opacity:.45;transform:scaleX(1)}100%{opacity:0;transform:scaleX(.2)}}
@media(max-width:850px){.turn-cast-shadow{width:100%;left:0}.turn-sheet-single.turn-sheet-previous .turn-face-shade{background:linear-gradient(90deg,#41280e55,transparent 22%,#fff4d11c 65%,#41280e44)}}
@media(prefers-reduced-motion:reduce){.turn-sheet,.turn-cast-shadow{display:none}.turn-face-shade{animation:none!important}}
