.book-view-container{flex-direction:column;gap:2rem;padding:2rem 1rem;position:relative}.book-empty-state,.book-view-container{min-height:80vh}.book-container,.book-empty-state,.book-view-container{width:100%;display:flex;align-items:center;justify-content:center}.book-container{perspective:2000px;perspective-origin:50%;max-width:1200px;position:relative}.book{position:relative;transform-style:preserve-3d;transition:transform .6s ease}.book-spine{position:absolute;left:50%;top:0;bottom:0;width:40px;transform:translateX(-50%) rotateY(0deg);background:linear-gradient(to right,hsl(var(--primary)/.3),hsl(var(--primary)/.5),hsl(var(--primary)/.3));box-shadow:inset 0 0 10px rgba(0,0,0,.3),0 0 20px rgba(0,0,0,.2);z-index:1;border-radius:4px}.book-spread{display:flex}.book-page-wrapper,.book-spread{position:relative;transform-style:preserve-3d}.book-page-wrapper{width:400px;height:600px;cursor:pointer}.book-page-wrapper.left{transform-origin:right center;margin-right:20px}.book-page-wrapper.right{transform-origin:left center;margin-left:20px}.book-page-wrapper.static{transition:none}.book-page-wrapper.flipping{position:absolute;top:0;z-index:10;pointer-events:none}.book-page-wrapper.flipping.flip-forward{right:0;transform-origin:left center;animation:pageFlipForward .8s cubic-bezier(.645,.045,.355,1) forwards}.book-page-wrapper.flipping.flip-backward{left:0;transform-origin:right center;animation:pageFlipBackward .8s cubic-bezier(.645,.045,.355,1) forwards}.page-back,.page-front{position:absolute;width:100%;height:100%;backface-visibility:hidden;-webkit-backface-visibility:hidden}.page-front{transform:rotateY(0deg);z-index:2}.page-back{transform:rotateY(180deg)}@keyframes pageFlipForward{0%{transform:rotateY(0deg)}to{transform:rotateY(-180deg)}}@keyframes pageFlipBackward{0%{transform:rotateY(0deg)}to{transform:rotateY(180deg)}}.book-page-wrapper.static:hover{transform:scale(1.02)}.book-page-wrapper.left.static:hover{transform:scale(1.02) rotateY(-5deg)}.book-page-wrapper.right.static:hover{transform:scale(1.02) rotateY(5deg)}.book-page{width:100%;height:100%;position:absolute;backface-visibility:hidden;border-radius:4px;box-shadow:0 4px 8px rgba(0,0,0,.1),inset 0 0 100px rgba(0,0,0,.05)}.book-page-front{transform:rotateY(0deg)}.book-page-back{transform:rotateY(180deg)}.book-page-content{width:100%;height:100%;padding:3rem 2.5rem;background:linear-gradient(to right,hsl(var(--card)) 0,hsl(var(--card)/.98) 100%),repeating-linear-gradient(transparent,transparent 1.5rem,hsl(var(--muted)/.1) 1.5rem,hsl(var(--muted)/.1) calc(1.5rem + 1px));background-color:hsl(var(--card));border:1px solid hsl(var(--border)/.3);border-radius:4px;display:flex;flex-direction:column;position:relative;overflow:hidden}.book-page-content:before{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background-image:radial-gradient(circle at 20% 50%,transparent 0,hsl(var(--muted)/.03) 100%),radial-gradient(circle at 80% 80%,transparent 0,hsl(var(--muted)/.02) 100%);pointer-events:none;opacity:.5}.cover-page{display:flex;flex-direction:column;align-items:center;justify-content:center;background:linear-gradient(135deg,hsl(var(--primary)/.1),hsl(var(--primary)/.05));gap:2rem}.cover-title{font-size:3rem;font-weight:700;color:hsl(var(--primary));margin:0}.cover-subtitle,.cover-title{font-family:Georgia,Garamond,serif;text-align:center;font-style:italic}.cover-subtitle{font-size:1.25rem;color:hsl(var(--muted-foreground))}.cover-decoration{width:80%;height:2px;background:linear-gradient(to right,transparent,hsl(var(--primary)/.3),transparent);position:relative}.cover-decoration.bottom{margin-top:auto}.cover-ornament{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:40px;height:40px;border:2px solid hsl(var(--primary)/.3);border-radius:50%;background:hsl(var(--card))}.end-page{display:flex;align-items:center;justify-content:center}.end-decoration{text-align:center}.end-message{font-size:2.5rem;font-weight:600;color:hsl(var(--primary));margin:0}.end-message,.end-submessage{font-family:Georgia,Garamond,serif;font-style:italic}.end-submessage{font-size:1.25rem;color:hsl(var(--muted-foreground));margin-top:.5rem}.blank-page{display:flex;align-items:center;justify-content:center}.empty-message{text-align:center;color:hsl(var(--muted-foreground));font-style:italic}.page-header{margin-bottom:2rem;border-bottom:2px solid hsl(var(--border)/.2);padding-bottom:1rem}.page-title{font-family:Caveat,Brush Script MT,cursive;font-size:2rem;font-weight:600;color:hsl(var(--foreground));margin:0 0 .5rem;line-height:1.2}.page-date{font-family:Georgia,Garamond,serif;font-size:.875rem;color:hsl(var(--muted-foreground));font-style:italic;margin:0}.page-body{flex:1;overflow-y:auto;margin-bottom:1.5rem;scrollbar-width:thin;scrollbar-color:hsl(var(--muted)) transparent}.page-body::-webkit-scrollbar{width:6px}.page-body::-webkit-scrollbar-track{background:transparent}.page-body::-webkit-scrollbar-thumb{background:hsl(var(--muted));border-radius:3px}.page-text{font-family:Georgia,Garamond,serif;font-size:1rem;line-height:1.8;color:hsl(var(--foreground)/.9);white-space:pre-wrap;word-wrap:break-word;margin:0}.continuation-hint{font-style:italic;color:hsl(var(--muted-foreground));font-size:.9rem;margin-top:1rem;text-align:center}.page-footer{display:flex;flex-direction:column;gap:1rem;margin-top:auto}.page-topics{display:flex;flex-wrap:wrap;gap:.5rem}.topic-badge{font-size:.75rem;text-transform:capitalize}.page-meta{display:flex;justify-content:flex-end}.status-badge{font-size:.75rem}.page-number{text-align:center;font-family:Georgia,Garamond,serif;font-size:.875rem;color:hsl(var(--muted-foreground));font-style:italic;margin-top:.5rem}.nav-button-left,.nav-button-right{position:absolute;top:50%;transform:translateY(-50%);width:56px;height:56px;border-radius:50%;transition:all .3s ease;z-index:20;box-shadow:0 4px 12px rgba(0,0,0,.15)}.nav-button-left{left:-80px}.nav-button-right{right:-80px}.nav-button-left:hover:not(:disabled),.nav-button-right:hover:not(:disabled){transform:translateY(-50%) scale(1.1);box-shadow:0 6px 16px rgba(0,0,0,.2)}.nav-button-left:disabled,.nav-button-right:disabled{opacity:.3;cursor:not-allowed}.page-indicator{position:absolute;bottom:-60px;left:50%;transform:translateX(-50%);font-family:Georgia,Garamond,serif;font-size:1rem;color:hsl(var(--muted-foreground));font-style:italic;text-align:center}@media (max-width:1024px){.book-page-wrapper{width:350px;height:525px}.cover-title{font-size:2.5rem}.nav-button-left{left:-60px}.nav-button-right{right:-60px}}@media (max-width:768px){.book-view-container{padding:1rem .5rem;gap:1rem;min-height:90vh}.book-container.mobile{perspective:1500px}.book-container.mobile,.book-container.mobile .book-spread{width:100%;height:100%;display:flex;align-items:center;justify-content:center}.book-page-wrapper.mobile-page{width:85vw;height:75vh;max-width:450px;max-height:700px;margin:0;transform-origin:center center}.book-page-wrapper.mobile-page.flipping.flip-forward{transform-origin:left center;animation:pageFlipMobileForward .6s ease-in-out forwards}.book-page-wrapper.mobile-page.flipping.flip-backward{transform-origin:right center;animation:pageFlipMobileBackward .6s ease-in-out forwards}.book-page-wrapper.left,.book-spine{display:none}.book-page-content{padding:1.5rem 1.25rem}.cover-title{font-size:2.5rem}.page-title{font-size:1.75rem}.nav-button-left{left:5px}.nav-button-left,.nav-button-right{background:hsl(var(--background)/.8);width:44px;height:44px}.nav-button-right{right:5px}.page-indicator{bottom:-40px}}@media (max-width:480px){.book-page-wrapper.mobile-page{width:90vw;height:70vh}.book-page-content{padding:1.25rem 1rem}.page-text{font-size:.95rem;line-height:1.6}.nav-button-left,.nav-button-right{width:40px;height:40px}}@keyframes pageFlipMobileForward{0%{transform:rotateY(0deg)}to{transform:rotateY(-90deg);opacity:0}}@keyframes pageFlipMobileBackward{0%{transform:rotateY(0deg)}to{transform:rotateY(90deg);opacity:0}}