.page-texture-canvas{position:relative}.page-texture-canvas:after{content:"";position:absolute;inset:0;pointer-events:none;background-image:repeating-linear-gradient(0deg,rgba(0,0,0,.045),transparent 2px,transparent 6px,rgba(0,0,0,.045) 8px),repeating-linear-gradient(90deg,rgba(0,0,0,.045),transparent 2px,transparent 6px,rgba(0,0,0,.045) 8px);background-size:8px 8px}.page-texture-linen{position:relative}.page-texture-linen:after{content:"";position:absolute;inset:0;pointer-events:none;background-image:repeating-linear-gradient(0deg,rgba(0,0,0,.035),transparent 1px,transparent 3px,rgba(0,0,0,.035) 4px),repeating-linear-gradient(90deg,rgba(0,0,0,.015),transparent 1px,transparent 11px,rgba(0,0,0,.015) 12px),repeating-linear-gradient(0deg,rgba(0,0,0,.012),rgba(0,0,0,.012) 26px,transparent 0,transparent 90px)}.page-vignette{box-shadow:inset 0 0 60px rgba(0,0,0,.06),inset 0 0 120px rgba(0,0,0,.04)}.page-shadow-left{box-shadow:inset -2px 0 8px rgba(0,0,0,.1),inset -4px 0 12px rgba(0,0,0,.05)}.page-shadow-right{box-shadow:inset 2px 0 8px rgba(0,0,0,.1),inset 4px 0 12px rgba(0,0,0,.05)}.page-embossed{box-shadow:inset 1px 1px 0 rgba(255,255,255,.5),inset -1px -1px 0 rgba(0,0,0,.1)}.page-curl-shadow{box-shadow:0 2px 8px rgba(0,0,0,.15),0 4px 16px rgba(0,0,0,.1),0 8px 32px rgba(0,0,0,.05)}.page-glow{box-shadow:0 0 20px rgba(255,255,255,.3),0 0 40px rgba(255,255,255,.15)}.page-pattern-dots{background-image:radial-gradient(circle,rgba(0,0,0,.1) 1.5px,transparent 0);background-size:24px 24px}.page-pattern-grid{background-image:linear-gradient(rgba(0,0,0,.07) 1px,transparent 0),linear-gradient(90deg,rgba(0,0,0,.07) 1px,transparent 0);background-size:24px 24px}.page-pattern-lines{background-image:repeating-linear-gradient(0deg,transparent,transparent 30px,rgba(0,0,0,.14) 0,rgba(0,0,0,.14) 33px)}.page-with-texture{position:relative;overflow:hidden}.page-with-texture:before{content:"";position:absolute;inset:0;pointer-events:none;z-index:1;background-image:repeating-linear-gradient(0deg,rgba(0,0,0,.012),transparent 1px,transparent 3px,rgba(0,0,0,.012) 4px),repeating-linear-gradient(90deg,rgba(0,0,0,.012),transparent 1px,transparent 3px,rgba(0,0,0,.012) 4px);background-size:4px 4px}.page-tint-sepia{background-color:#f4f1ea}.page-tint-cream{background-color:#fffef7}.page-tint-vintage{background-color:#f8f6f0}.page-tint-warm{background-color:#fff9f0}.page-tint-cool{background-color:#f7f9fc}.page-corner-fold{position:relative}.page-corner-fold:after{content:"";position:absolute;top:0;right:0;width:40px;height:40px;background:linear-gradient(135deg,transparent,transparent 50%,rgba(0,0,0,.03) 0,rgba(0,0,0,.05));pointer-events:none}.book-shadow{box-shadow:0 30px 60px rgba(0,0,0,.12),0 12px 24px rgba(0,0,0,.08),0 4px 8px rgba(0,0,0,.04)}.page-stack-left{position:relative}.page-stack-left:before{content:"";position:absolute;left:-20px;top:1px;bottom:1px;width:22px;background:linear-gradient(270deg,#ffffff 0,#f4f4f4 3px,#e8e8e8 6px,#dcdcdc 9px,#d2d2d2 12px,#c8c8c8 15px,#bfbfbf 18px,#acacac 22px);border-radius:3px 0 0 3px;box-shadow:-6px 0 12px rgba(0,0,0,.1),-3px 0 6px rgba(0,0,0,.06),inset 1px 0 0 rgba(255,255,255,.5);pointer-events:none;z-index:-1}.page-stack-left-top{top:-10px;background:linear-gradient(0deg,#ffffff 0,#f2f2f2 2px,#e4e4e4 4px,#d8d8d8 6px,#cccccc 8px,#c4c4c4 10px,#c0c0c0 12px);border-radius:2px 0 0 0;box-shadow:0 -4px 8px rgba(0,0,0,.08)}.page-stack-left-bottom,.page-stack-left-top{position:absolute;left:4px;right:0;height:12px;pointer-events:none;z-index:-1}.page-stack-left-bottom{bottom:-10px;background:linear-gradient(180deg,#ffffff 0,#f2f2f2 2px,#e4e4e4 4px,#d8d8d8 6px,#cccccc 8px,#c4c4c4 10px,#c0c0c0 12px);border-radius:0 0 0 2px;box-shadow:0 4px 8px rgba(0,0,0,.08)}.page-stack-right{position:relative}.page-stack-right:after{content:"";position:absolute;right:-20px;top:1px;bottom:1px;width:22px;background:linear-gradient(90deg,#ffffff 0,#f4f4f4 3px,#e8e8e8 6px,#dcdcdc 9px,#d2d2d2 12px,#c8c8c8 15px,#bfbfbf 18px,#acacac 22px);border-radius:0 3px 3px 0;box-shadow:6px 0 12px rgba(0,0,0,.1),3px 0 6px rgba(0,0,0,.06),inset -1px 0 0 rgba(255,255,255,.5);pointer-events:none;z-index:-1}.page-stack-right-top{top:-10px;background:linear-gradient(0deg,#ffffff 0,#f2f2f2 2px,#e4e4e4 4px,#d8d8d8 6px,#cccccc 8px,#c4c4c4 10px,#c0c0c0 12px);border-radius:0 2px 0 0;box-shadow:0 -4px 8px rgba(0,0,0,.08)}.page-stack-right-bottom,.page-stack-right-top{position:absolute;left:0;right:4px;height:12px;pointer-events:none;z-index:-1}.page-stack-right-bottom{bottom:-10px;background:linear-gradient(180deg,#ffffff 0,#f2f2f2 2px,#e4e4e4 4px,#d8d8d8 6px,#cccccc 8px,#c4c4c4 10px,#c0c0c0 12px);border-radius:0 0 2px 0;box-shadow:0 4px 8px rgba(0,0,0,.08)}.page-stack-full-left{position:relative}.page-stack-full-left:before{content:"";position:absolute;left:-10px;top:-6px;bottom:-6px;width:12px;background:linear-gradient(270deg,#ffffff 0,#e8e8e8 .5px,#fafafa 1px,#e2e2e2 1.5px,#f5f5f5 2px,#dcdcdc 2.5px,#f0f0f0 3px,#d6d6d6 3.5px,#ebebeb 4px,#d0d0d0 4.5px,#e6e6e6 5px,#cacaca 5.5px,#e0e0e0 6px,#c5c5c5 7px,#c0c0c0 8px,#bbbbbb 10px,#b5b5b5 12px);border-radius:2px 0 0 2px;box-shadow:-3px 0 6px rgba(0,0,0,.08);z-index:-1}.page-stack-full-right{position:relative}.page-stack-full-right:after{content:"";position:absolute;right:-10px;top:-6px;bottom:-6px;width:12px;background:linear-gradient(90deg,#ffffff 0,#e8e8e8 .5px,#fafafa 1px,#e2e2e2 1.5px,#f5f5f5 2px,#dcdcdc 2.5px,#f0f0f0 3px,#d6d6d6 3.5px,#ebebeb 4px,#d0d0d0 4.5px,#e6e6e6 5px,#cacaca 5.5px,#e0e0e0 6px,#c5c5c5 7px,#c0c0c0 8px,#bbbbbb 10px,#b5b5b5 12px);border-radius:0 2px 2px 0;box-shadow:3px 0 6px rgba(0,0,0,.08);z-index:-1}.magazine-page-left{position:relative;box-shadow:0 8px 24px rgba(0,0,0,.07),0 4px 12px rgba(0,0,0,.05),0 2px 6px rgba(0,0,0,.03)}.magazine-page-left:before{content:"";position:absolute;left:-12px;top:1px;bottom:1px;width:14px;background:linear-gradient(270deg,#ffffff 0,#f2f2f2 2px,#e4e4e4 4px,#d8d8d8 7px,#cccccc 10px,#c0c0c0 12px,#bbbbbb 14px);border-radius:2px 0 0 2px;box-shadow:-4px 0 8px rgba(0,0,0,.08),-2px 0 4px rgba(0,0,0,.05),inset 1px 0 0 rgba(255,255,255,.5);pointer-events:none;z-index:1}.magazine-page-right{position:relative;box-shadow:0 8px 24px rgba(0,0,0,.07),0 4px 12px rgba(0,0,0,.05),0 2px 6px rgba(0,0,0,.03)}.magazine-page-right:after{content:"";position:absolute;right:-38px;top:2px;bottom:2px;width:42px;background:linear-gradient(90deg,#ffffff 0,#f4f4f4 4px,#e8e8e8 8px,#dcdcdc 12px,#d0d0d0 16px,#c4c4c4 20px,#b8b8b8 25px,#ababab 30px,#9e9e9e 35px,#939393 38px,#8c8c8c 40px,#898989 42px);border-radius:0 3px 3px 0;box-shadow:4px 0 12px rgba(0,0,0,.08),2px 0 6px rgba(0,0,0,.06),1px 0 3px rgba(0,0,0,.04),inset -1px 0 2px rgba(255,255,255,.3);pointer-events:none;z-index:1}.spine-shadow-deep{background:linear-gradient(90deg,transparent 0,rgba(0,0,0,.04) 20%,rgba(0,0,0,.12) 45%,rgba(0,0,0,.18) 50%,rgba(0,0,0,.12) 55%,rgba(0,0,0,.04) 80%,transparent)}.spine-crease{background:linear-gradient(90deg,transparent 0,rgba(0,0,0,.08) 40%,rgba(0,0,0,.2) 50%,rgba(0,0,0,.08) 60%,transparent)}.spine-highlight{background:linear-gradient(90deg,transparent 0,rgba(255,255,255,.03) 35%,transparent 40%,transparent 60%,rgba(255,255,255,.03) 65%,transparent)}@keyframes fade-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.animate-fade-in{animation:fade-in .5s ease-out forwards}@keyframes gentle-pulse{0%,to{transform:scale(1)}50%{transform:scale(1.02)}}.animate-gentle-pulse{animation:gentle-pulse 2s ease-in-out infinite}