.route-debugger{position:fixed;bottom:20px;right:20px;z-index:9999;pointer-events:none}.route-debugger-content{background-color:#000000d9;border:2px solid #6B7E3D;border-radius:8px;padding:12px;font-family:Courier New,monospace;font-size:11px;color:#fff;min-width:250px;box-shadow:0 4px 12px #00000080}.route-debugger-title{font-weight:700;color:#6b7e3d;margin-bottom:8px;border-bottom:1px solid rgba(107,126,61,.3);padding-bottom:4px}.route-debugger-item{margin:4px 0;word-break:break-all}.route-debugger-item strong{color:#6b7e3d;margin-right:4px}.app-screen{min-height:100vh;position:relative}.header{display:flex;align-items:center;gap:12px;margin-top:8px;margin-bottom:12px}.logo-container{margin-right:8px}.book-logo{width:48px;height:48px;background:linear-gradient(135deg,#6b7e3d,#5a6b32);border-radius:8px}.header-content{flex:1}.header-title-row{display:flex;align-items:center;gap:12px}.brand-title{font-size:28px;font-weight:900;color:#fff;letter-spacing:1px;margin:0}.badge{background-color:#6b7e3d38;color:#6b7e3d;padding:4px 12px;border-radius:12px;font-size:12px;font-weight:600}.welcome-text{margin-top:4px;color:#ffffffb8;font-size:16px}.logout-button{margin-left:auto;background:transparent;border:1px solid rgba(255,255,255,.1);color:#ffffffb8;padding:8px 16px;border-radius:16px;cursor:pointer;font-size:16px;font-weight:800}.logout-button:hover{background:#ffffff0f}.search-section{margin-top:12px;margin-bottom:12px}.search-bar{background-color:#ffffff14;border-radius:12px;padding:16px;border:1px solid rgba(255,255,255,.1);cursor:pointer;user-select:none;-webkit-user-select:none}.search-placeholder{color:#ffffff80;font-size:15px;margin:0}.recommended-section{margin-bottom:16px}.section-header{font-size:20px;font-weight:800;color:#fff;letter-spacing:.5px;margin-bottom:12px}.books-row{display:flex;gap:24px;overflow-x:auto;padding:16px 0;scrollbar-width:thin}.books-row::-webkit-scrollbar{height:6px}.books-row::-webkit-scrollbar-track{background:#ffffff0d;border-radius:3px}.books-row::-webkit-scrollbar-thumb{background:#fff3;border-radius:3px}.book-card{width:160px;min-width:160px;background-color:#ffffff0f;border-radius:16px;padding:12px;display:flex;flex-direction:column;gap:12px;cursor:pointer;transition:transform .2s;user-select:none;-webkit-user-select:none;position:relative;z-index:10}.book-card:hover{transform:translateY(-2px);background-color:#ffffff17}.book-cover{width:100%;height:200px;border-radius:12px;background-color:#ffffff17;object-fit:cover}.book-card-title{font-size:15px;font-weight:800;color:#fff;margin:4px 0 0;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.book-card-author{font-size:12px;color:#ffffff80;margin:0;display:-webkit-box;-webkit-line-clamp:1;-webkit-box-orient:vertical;overflow:hidden}.actions-section{margin-bottom:16px}.action-row{padding:16px;border-radius:16px;background-color:#ffffff0f;display:flex;flex-direction:column;gap:4px;margin-bottom:12px;cursor:pointer;transition:background-color .2s;user-select:none;-webkit-user-select:none;position:relative;z-index:10}.action-row:hover{background-color:#ffffff17}.action-title{font-size:17px;font-weight:800;color:#fff;margin:0}.action-sub{font-size:14px;color:#ffffff80;margin:0}.feed-section{margin-top:12px;margin-bottom:12px}.feed-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.see-all{background:transparent;border:none;color:#6b7e3d;font-weight:600;cursor:pointer;font-size:14px;padding:4px 8px}.see-all:hover{opacity:.8}.composer{background-color:#ffffff0f;border-radius:20px;padding:16px;margin-bottom:16px}.composer-input{width:100%;background:transparent;border:none;color:#fff;font-size:16px;min-height:80px;margin-bottom:12px;font-family:inherit;resize:vertical}.composer-input::placeholder{color:#ffffff80}.selected-book{display:flex;justify-content:space-between;align-items:center;padding:12px;background-color:#6b7e3d1a;border-radius:8px;margin-bottom:12px}.remove-book{background:transparent;border:none;color:#6b7e3d;cursor:pointer;font-size:14px}.composer-actions{display:flex;justify-content:space-between;align-items:center;gap:12px}.attach-book-button{background:transparent;border:1px solid rgba(255,255,255,.1);color:#ffffffb8;padding:8px 16px;border-radius:16px;cursor:pointer;font-size:14px}.post-button{flex:1;background-color:#6b7e3d;border:none;color:#fff;padding:12px 24px;border-radius:16px;cursor:pointer;font-size:16px;font-weight:800;letter-spacing:.5px}.post-button:hover{opacity:.9}.post{background-color:#ffffff0f;border-radius:20px;padding:16px;margin-bottom:16px}.post-header{display:flex;align-items:center;margin-bottom:12px;gap:12px}.avatar{width:40px;height:40px;border-radius:20px;background-color:#ffffff1a}.post-header-info{flex:1}.post-author{font-size:16px;font-weight:800;color:#fff;margin:0}.post-time{font-size:12px;color:#ffffff80;margin:0}.post-text{margin-bottom:12px;line-height:22px;color:#ffffffb8}.attached-book{display:flex;gap:12px;padding:12px;background-color:#ffffff0d;border-radius:12px;margin-bottom:12px;cursor:pointer;transition:background-color .2s;user-select:none;-webkit-user-select:none;position:relative;z-index:10}.attached-book:hover{background-color:#ffffff14}.book-cover-small{width:60px;height:90px;border-radius:8px;background-color:#ffffff1a;object-fit:cover}.book-info{flex:1;display:flex;flex-direction:column;justify-content:center}.book-title{font-size:16px;font-weight:800;color:#fff;margin:0 0 4px}.pages-read{padding:12px;background-color:#6b7e3d1a;border-radius:8px;margin-bottom:12px}.pages-read p{margin:0;color:#ffffffb8;font-size:14px}.post-actions{display:flex;gap:16px;padding-top:12px;border-top:1px solid rgba(255,255,255,.1)}.action-button{background:transparent;border:none;color:#ffffffb8;cursor:pointer;font-size:14px;padding:8px 0}.action-button:hover{color:#6b7e3d}.comments-section{margin-top:16px;padding-top:16px;border-top:1px solid rgba(255,255,255,.1)}.comment-input-container{display:flex;gap:8px;margin-bottom:16px}.comment-input{flex:1;background:#ffffff0d;border:1px solid rgba(255,255,255,.1);border-radius:8px;padding:8px 12px;color:#fff;font-size:14px;font-family:inherit;resize:vertical;min-height:60px}.comment-input:focus{outline:none;border-color:#6b7e3d}.comment-input::placeholder{color:#fff6}.comment-submit-button{background:#6b7e3d;border:none;color:#fff;padding:8px 16px;border-radius:8px;cursor:pointer;font-size:14px;font-weight:600;height:fit-content;align-self:flex-end}.comment-submit-button:hover{background:#5a6b32}.comment-list{display:flex;flex-direction:column;gap:12px}.comment-item{background:#ffffff08;border-radius:8px;padding:12px}.comment-header{display:flex;align-items:center;gap:8px;margin-bottom:8px}.comment-author{font-size:14px;font-weight:700;color:#fff}.comment-time{font-size:12px;color:#ffffff80}.comment-text{margin:0;font-size:14px;line-height:1.5;color:#ffffffb8}.browse-page{min-height:100vh;position:relative}.background-container{position:relative;min-height:100vh}.library-background{position:fixed;top:0;left:0;right:0;bottom:0;background-color:#1a1a1a;z-index:0}.overlay{position:absolute;top:0;left:0;right:0;bottom:0;background-color:#000000d9;pointer-events:none}.container{position:relative;z-index:1;padding:16px 16px 32px;max-width:1200px;margin:0 auto}.center{display:flex;flex-direction:column;justify-content:center;align-items:center;min-height:100vh;position:relative;z-index:1}.loading-text{margin-top:16px;color:#ffffff80}.header{display:flex;align-items:center;gap:16px;margin-bottom:24px;flex-wrap:wrap}.back-button{background:transparent;border:1px solid rgba(255,255,255,.2);color:#fff;padding:8px 16px;border-radius:8px;cursor:pointer;font-size:14px;transition:all .2s}.back-button:hover{background:#ffffff1a;border-color:#6b7e3d}.brand-title{font-size:32px;font-weight:900;color:#fff;letter-spacing:1px;margin:0}.error-text{color:#ff6b6b;margin:16px 0}.retry-button{background:#6b7e3d;border:none;color:#fff;padding:12px 24px;border-radius:8px;cursor:pointer;font-size:16px;font-weight:600;margin-top:16px}.retry-button:hover{background:#5a6b32}.empty-state{text-align:center;padding:64px 24px;color:#ffffff80}.books-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:32px;padding:24px 0}.book-card{background:#ffffff0d;border-radius:12px;overflow:hidden;transition:transform .2s,box-shadow .2s;border:1px solid rgba(255,255,255,.1)}.book-card:hover{transform:translateY(-4px);box-shadow:0 8px 24px #0006;border-color:#6b7e3d}.book-cover{width:100%;height:300px;object-fit:cover;background:#ffffff1a}.book-card-content{padding:16px}.book-card-title{font-size:16px;font-weight:700;color:#fff;margin:0 0 8px;line-height:1.3;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.book-card-author{font-size:14px;color:#fff9;margin:0 0 8px}.book-card-price{font-size:16px;font-weight:700;color:#6b7e3d;margin:0}.library-page{min-height:100vh;background-color:#0b0c0f;color:#fff;padding:24px}.spinner{width:40px;height:40px;border:4px solid rgba(255,255,255,.1);border-top-color:#6b7e3d;border-radius:50%;animation:spin 1s linear infinite}.library-content{max-width:1200px;margin:0 auto}.reader-page{min-height:100vh;background-color:#0b0c0f;color:#fff;display:flex;flex-direction:column}.reader-header{padding:16px 24px;border-bottom:1px solid rgba(255,255,255,.1);display:flex;align-items:center;gap:16px;flex-wrap:wrap}.reader-back-button{background:transparent;border:1px solid rgba(255,255,255,.2);color:#fff;padding:8px 16px;border-radius:8px;cursor:pointer;font-size:14px;transition:all .2s}.reader-back-button:hover{background:#ffffff1a;border-color:#6b7e3d}.reader-title{font-size:20px;font-weight:700;color:#fff;margin:0;flex:1}.reader-chapter-info{font-size:14px;color:#fff9}.reader-controls{padding:16px 24px;display:flex;align-items:center;gap:16px;border-bottom:1px solid rgba(255,255,255,.1);flex-wrap:wrap}.reader-nav-button{background:#6b7e3d33;border:1px solid #6B7E3D;color:#6b7e3d;padding:10px 20px;border-radius:8px;cursor:pointer;font-size:14px;font-weight:600;transition:all .2s}.reader-nav-button:hover:not(:disabled){background:#6b7e3d;color:#fff}.reader-nav-button:disabled{opacity:.3;cursor:not-allowed}.reader-chapter-select{flex:1;min-width:200px;background:#ffffff0d;border:1px solid rgba(255,255,255,.2);color:#fff;padding:10px 16px;border-radius:8px;font-size:14px;cursor:pointer}.reader-chapter-select:focus{outline:none;border-color:#6b7e3d}.reader-content{flex:1;padding:32px;max-width:800px;margin:0 auto;width:100%}.reader-loading-content{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:400px;gap:16px}.reader-chapter{line-height:1.8}.reader-chapter-title{font-size:28px;font-weight:800;color:#6b7e3d;margin-bottom:24px;padding-bottom:16px;border-bottom:1px solid rgba(107,126,61,.3)}.reader-text{font-size:18px;color:#ffffffe6;white-space:pre-wrap;word-wrap:break-word}.reader-text p{margin-bottom:16px}.reader-text h1,.reader-text h2,.reader-text h3{color:#6b7e3d;margin-top:24px;margin-bottom:16px}.reader-footer{padding:24px;border-top:1px solid rgba(255,255,255,.1);display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap}.reader-progress{font-size:14px;color:#fff9;font-weight:600}.reader-loading,.reader-error{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:100vh;gap:24px;padding:32px}.reader-error h2{color:#ff6b6b;font-size:24px;margin:0}.reader-error p{color:#ffffffb3;font-size:16px;text-align:center;max-width:500px}.back-button{background:#6b7e3d;border:none;color:#fff;padding:12px 24px;border-radius:8px;cursor:pointer;font-size:16px;font-weight:600;transition:all .2s}.back-button:hover{background:#5a6b32}.spinner{width:40px;height:40px;border:3px solid rgba(107,126,61,.3);border-top-color:#6b7e3d;border-radius:50%;animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.not-found-page{min-height:100vh;background-color:#0b0c0f;color:#fff;padding:24px}.page-header{margin-bottom:32px}.page-title{font-size:32px;font-weight:900;color:#fff;letter-spacing:1px;margin:0 0 8px}.page-subtitle{font-size:16px;color:#ffffffb8;margin:0}.not-found-content{max-width:1200px;margin:0 auto}*{margin:0;padding:0;box-sizing:border-box}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:#0b0c0f;color:#fff;min-height:100vh}#root{min-height:100vh}
