.book-stage{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:70vh;padding:2rem 1rem;perspective:2500px;perspective-origin:50% 45%;cursor:grab;-moz-user-select:none;user-select:none;-webkit-user-select:none;touch-action:none}.book-stage.dragging{cursor:grabbing}.book-stage.completing{cursor:default}.book-glow{position:absolute;top:50%;left:50%;width:min(80vw,800px);height:min(60vh,600px);transform:translate(-50%,-50%);background:radial-gradient(ellipse at center,rgba(0,200,255,.06) 0%,transparent 70%);pointer-events:none;border-radius:50%;filter:blur(60px);animation:orb-pulse 4s ease-in-out infinite}.book{position:relative;width:min(90vw,760px);height:min(60vh,560px);display:flex;transform-style:preserve-3d;border-radius:4px 12px 12px 4px;box-shadow:0 20px 60px #0009,0 0 40px #00c8ff0d}.book:before{content:"";position:absolute;inset:0;background:linear-gradient(135deg,#001e3cf2,#000f23fa 50%,#000a19f2);border-radius:inherit;z-index:0}.book-spine{position:absolute;left:0;top:0;bottom:0;width:8px;background:linear-gradient(90deg,#00b4ff59,#0096dc26 50%,#001e3ce6);border-radius:4px 0 0 4px;z-index:20;box-shadow:2px 0 8px #00000080}.book-spread{position:relative;flex:1;z-index:10;overflow:visible;margin-left:8px}.page-stack{position:relative;width:100%;height:100%;perspective:1500px}.book-page{position:absolute;inset:0;transform-origin:left center;transform-style:preserve-3d;background:linear-gradient(135deg,#001932f7,#001226fa 50%,#000c1cf7);border-radius:0 8px 8px 0;border:1px solid rgba(0,180,220,.08);box-shadow:2px 0 20px #0006,inset 0 0 80px #00c8ff05;pointer-events:auto}.book-page:before{content:"";position:absolute;inset:0;z-index:5;background:linear-gradient(90deg,rgba(0,0,0,.7) 0%,rgba(0,0,0,.3) 30%,transparent 60%);border-radius:inherit;opacity:0;transition:opacity .15s;pointer-events:none}.book-page.folding:before{opacity:1}.page-front,.page-back{position:absolute;inset:0;backface-visibility:hidden;display:flex;align-items:center;justify-content:center;padding:2rem 2.5rem;border-radius:inherit}.page-back{transform:rotateY(180deg);background:linear-gradient(135deg,#001428f7,#000c1cfa)}.page-inner{width:100%;max-height:100%;overflow-y:auto;display:flex;flex-direction:column;gap:.6rem;scrollbar-width:thin;scrollbar-color:rgba(0,200,255,.15) transparent}.page-inner::-webkit-scrollbar{width:4px}.page-inner::-webkit-scrollbar-thumb{background:#00c8ff26;border-radius:2px}.page-number{font-family:JetBrains Mono,monospace;font-size:.7rem;color:#00c8ff4d;letter-spacing:.1em}.page-title{font-size:1.4rem;font-weight:700;color:#fff;text-decoration:none;display:flex;align-items:flex-start;gap:.5rem;line-height:1.4;text-shadow:0 0 15px rgba(0,200,255,.2);transition:color .3s}.page-title:hover{color:#00d4ff}.page-title-icon{color:#00d4ff;font-size:.7rem;margin-top:.4rem;flex-shrink:0}.page-date{font-family:JetBrains Mono,monospace;font-size:.7rem;color:#00c8ff59}.page-divider{border:none;height:1px;background:linear-gradient(90deg,rgba(0,200,255,.2),transparent);margin:.2rem 0}.page-desc{font-size:.92rem;line-height:1.75;color:#b4bed2cc;flex:1;display:-webkit-box;-webkit-line-clamp:8;-webkit-box-orient:vertical;overflow:hidden}.page-read-more{display:inline-flex;align-items:center;gap:.3rem;font-family:JetBrains Mono,monospace;font-size:.75rem;color:#00c8ff80;text-decoration:none;transition:all .3s;margin-top:auto;padding-top:.5rem}.page-read-more:hover{color:#00d4ff;text-shadow:0 0 10px rgba(0,200,255,.3)}.page-back-text{font-family:JetBrains Mono,monospace;font-size:.8rem;color:#00c8ff33;text-align:center;margin-top:40%}.book-indicator{margin-top:1.5rem;font-family:JetBrains Mono,monospace;font-size:.8rem;letter-spacing:.15em;color:#00c8ff80;display:flex;align-items:center;gap:.3rem}#book-current{color:#00d4ff;font-weight:700;min-width:1.5em;text-align:center}.book-hint{margin-top:.8rem;font-family:JetBrains Mono,monospace;font-size:.65rem;color:#00c8ff2e;letter-spacing:.2em;transition:opacity .5s}@media(max-width:640px){.book-stage{padding:1rem .3rem;min-height:60vh}.book{width:94vw;height:min(55vh,450px);border-radius:2px 8px 8px 2px}.book-spine{width:5px}.book-spread{margin-left:5px}.page-front,.page-back{padding:1.2rem}.page-title{font-size:1.1rem}.page-desc{font-size:.82rem;-webkit-line-clamp:5}}
