body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;margin:0}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}.App{background-color:#f0f2f5;display:flex;flex-direction:column;min-height:100vh}.App-logo{height:40vmin;pointer-events:none}@media (prefers-reduced-motion:no-preference){.App-logo{animation:App-logo-spin 20s linear infinite}}.App-header{background-color:#282c34;color:#fff;padding:20px;text-align:center}.App-header h1{font-size:2rem;margin:0}.App-header p{font-size:1rem;margin:8px 0 0;opacity:.8}.App-main{display:flex;flex:1 1;flex-direction:column;padding:20px}.App-link{color:#61dafb}@keyframes App-logo-spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.loading-container{align-items:center;display:flex;flex-direction:column;height:100vh;justify-content:center}.loading-spinner{animation:spin 1s linear infinite;border:4px solid #0000001a;border-radius:50%;border-top-color:#4a6cf7;height:50px;margin-bottom:20px;width:50px}@keyframes spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.bookbot-icon-button{align-items:center;background:#fff;border:2px solid #4a6cf7;border-radius:50%;box-shadow:0 4px 12px #00000026;cursor:pointer;display:flex;height:60px;justify-content:center;left:20px;padding:8px;position:fixed;top:20px;transition:all .2s ease;width:60px;z-index:1000}.bookbot-icon-button:hover{border-color:#3a5ce5;box-shadow:0 6px 20px #4a6cf74d;transform:scale(1.1)}.bookbot-icon-button:active{transform:scale(.95)}.bookbot-icon-image{height:36px;object-fit:contain;width:36px}.loading-circle-container{animation:fadeIn .3s ease-in-out;background-color:#000c;border-radius:10px;box-shadow:0 0 20px #0009;flex-direction:column;left:50%;max-width:90%;padding:20px;position:fixed;top:50%;transform:translate(-50%,-50%);width:400px;z-index:1000}.loading-circle,.loading-circle-container{align-items:center;display:flex;justify-content:center}.loading-circle{height:100px;margin-bottom:16px;position:relative;width:100px}.loading-circle__background{stroke:#ffffff1a;fill:none;transition:stroke .3s ease}.loading-circle__progress{stroke:#3498db;stroke-linecap:round;transition:stroke-dashoffset .5s ease}.loading-circle__percentage{color:#fff;font-size:20px;font-weight:700;left:50%;position:absolute;top:50%;transform:translate(-50%,-50%);z-index:2}.loading-circle__text{color:#fff;font-size:14px;line-height:1.5;margin-top:10px;max-width:100%;text-align:center;white-space:pre-wrap}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.loading-circle-message{color:#555;font-family:Arial,sans-serif;font-size:16px;margin-top:15px}.loading-circle-message-top{color:#333;font-family:Arial,sans-serif;font-size:16px;font-weight:500;margin-bottom:15px;max-width:300px;text-align:center}.chat-container{background-color:#fff;border-radius:8px;box-shadow:0 2px 10px #0000001a;display:flex;flex-direction:column;height:calc(100vh - 140px);margin:0 auto;max-width:1000px;overflow:hidden;width:100%}.chat-header{background-color:#f8f9fa;border-bottom:1px solid #e0e0e0;justify-content:space-between;padding:15px 20px}.chat-header,.header-left{align-items:center;display:flex}.header-left{gap:12px}.home-button{align-items:center;background:none;border:2px solid #4a6cf7;border-radius:8px;color:#4a6cf7;cursor:pointer;display:flex;font-size:18px;height:40px;justify-content:center;transition:all .2s ease;width:40px}.home-button:hover{background-color:#4a6cf7;box-shadow:0 2px 8px #4a6cf74d;color:#fff;transform:translateY(-1px)}.home-button:active{transform:translateY(0)}.chat-header h2{color:#333;font-size:1.5rem;margin:0}.book-selector{background-color:#fff;border:1px solid #ced4da;border-radius:4px;font-size:.9rem;min-width:200px;padding:8px 12px}.book-info{background-color:#f8f9fa;border-bottom:1px solid #e0e0e0;display:flex;padding:20px}.book-cover{border-radius:4px;box-shadow:0 2px 5px #0000001a;flex-shrink:0;height:150px;max-height:150px;max-width:100px;width:100px}.book-details{flex:1 1;margin-left:20px}.book-details h3{color:#333;font-size:1.3rem;margin:0 0 5px}.book-details h4{color:#666;font-size:1rem;font-weight:400;margin:0 0 10px}.book-details p{color:#555;font-size:.9rem;line-height:1.5;margin:0}.messages-container{background-color:#f0f2f5;flex:1 1;gap:15px;overflow-y:auto;padding:20px}.message,.messages-container{display:flex;flex-direction:column}.message{max-width:80%}.user-message{align-self:flex-end}.bot-message{align-self:flex-start}.message-content{border-radius:18px;font-size:.95rem;line-height:1.5;padding:12px 16px;position:relative}.user-message .message-content{background-color:#0084ff;border-bottom-right-radius:4px;color:#fff}.bot-message .message-content{background-color:#e4e6eb;border-bottom-left-radius:4px;color:#050505}.message-timestamp{align-self:flex-end;color:#65676b;font-size:.75rem;margin-top:4px}.user-message .message-timestamp{margin-right:8px}.bot-message .message-timestamp{align-self:flex-start;margin-left:8px}.message-form{border-top:1px solid #e0e0e0;display:flex;padding:15px}.message-form input{border:1px solid #ced4da;border-radius:20px;flex:1 1;font-size:.95rem;padding:12px 16px}.message-form input:focus{border-color:#4a6cf7;outline:none}.message-form button{background-color:#4a6cf7;border:none;border-radius:20px;color:#fff;cursor:pointer;font-size:.95rem;margin-left:10px;padding:0 20px;transition:background-color .2s}.message-form button:hover{background-color:#3a5ce5}.message-form button:disabled{background-color:#c1c7d0;cursor:not-allowed}.typing-indicator{align-items:center;display:flex;justify-content:center;min-height:30px;min-width:40px}.typing-indicator span{animation:pulse 1.5s ease-in-out infinite;background-color:#8a8d91;border-radius:50%;display:inline-block;height:8px;margin:0 2px;width:8px}.typing-indicator span:first-child{animation-delay:.2s}.typing-indicator span:nth-child(2){animation-delay:.3s}.typing-indicator span:nth-child(3){animation-delay:.4s}@keyframes pulse{0%{opacity:.6;transform:scale(1)}50%{opacity:1;transform:scale(1.2)}to{opacity:.6;transform:scale(1)}}.markdown-content{font-size:.95rem;line-height:1.5}.markdown-content code{background-color:#00000014;border-radius:3px;font-family:monospace;font-size:.9em;padding:2px 4px}@media (max-width:768px){.chat-container{border-radius:0;box-shadow:none;height:calc(100vh - 120px)}.book-info{align-items:center;flex-direction:row;padding:10px}.book-cover{height:90px;min-width:60px;width:60px}.book-details{margin-left:12px;overflow:hidden}.book-details h3{font-size:1rem;margin-bottom:2px}.book-details h3,.book-details h4{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.book-details h4{font-size:.85rem;margin-bottom:4px}.book-details p{-webkit-line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box;font-size:.8rem;margin:0;overflow:hidden}.message{max-width:90%}}@media (max-width:480px){.chat-container{height:calc(100vh - 100px)}.book-info{padding:8px}.book-cover{height:75px;min-width:50px;width:50px}.book-details h3{font-size:.95rem}.book-details h4{font-size:.8rem}.book-details p{-webkit-line-clamp:2;font-size:.75rem}}.book-grid-container{margin:0 auto;max-width:1200px;padding:20px;width:100%}.controls-container{align-items:flex-end;display:flex;flex-wrap:wrap;gap:20px;margin-bottom:20px}.search-container{flex:1 1;min-width:300px;position:relative}.search-input{border:2px solid #e0e0e0;border-radius:8px;font-size:1rem;outline:none;padding:12px 40px 12px 16px;transition:border-color .2s;width:100%}.search-input:focus{border-color:#4a6cf7}.search-input::placeholder{color:#999}.clear-search-btn{align-items:center;background:none;border:none;border-radius:50%;color:#999;cursor:pointer;display:flex;font-size:20px;height:24px;justify-content:center;padding:0;position:absolute;right:12px;top:50%;transform:translateY(-50%);transition:background-color .2s,color .2s;width:24px}.clear-search-btn:hover{background-color:#f0f0f0;color:#666}.author-filter-header{align-items:center;border-bottom:1px solid #e0e0e0;display:flex;justify-content:space-between;margin-bottom:20px;padding-bottom:10px}.author-filter-header h2{color:#333;font-size:1.5rem;margin:0}.clear-filter-btn{background-color:#4a6cf7;border:none;border-radius:4px;color:#fff;cursor:pointer;font-size:.9rem;padding:8px 16px;transition:background-color .2s}.clear-filter-btn:hover{background-color:#3a5ce5}.sort-container{display:flex;flex-direction:column;gap:4px;min-width:180px}.sort-label{color:#666;font-size:.9rem;font-weight:500}.sort-select{background-color:#fff;border:2px solid #e0e0e0;border-radius:6px;cursor:pointer;font-size:.9rem;outline:none;padding:8px 12px;transition:border-color .2s}.sort-select:focus{border-color:#4a6cf7}.sort-select:hover{border-color:#ccc}.book-grid{grid-gap:30px;display:grid;gap:30px;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));margin-top:20px}.book-item{background-color:#fff;border-radius:8px;box-shadow:0 2px 10px #0000001a;cursor:pointer;display:flex;flex-direction:column;overflow:hidden;transition:transform .2s,box-shadow .2s}.book-item:hover{box-shadow:0 5px 15px #00000026;transform:translateY(-5px)}.book-cover-container{align-items:center;background-color:#f5f5f5;display:flex;height:250px;justify-content:center;overflow:hidden}.book-cover{height:100%;object-fit:cover;transition:transform .3s ease;width:100%}.book-item:hover .book-cover{transform:scale(1.05)}.book-details{display:flex;flex-direction:column;flex-grow:1;padding:15px}.book-title{-webkit-line-clamp:2;-webkit-box-orient:vertical;color:#333;display:-webkit-box;font-size:1rem;font-weight:600;line-height:1.3;margin:0 0 8px;overflow:hidden;text-overflow:ellipsis}.book-author{color:#666;cursor:pointer;font-size:.9rem;margin:0;transition:color .2s}.book-author:hover{color:#4a6cf7;text-decoration:underline}.error-message,.loading-message,.no-books-message{color:#666;font-size:1.1rem;padding:40px;text-align:center}.error-message{color:#d32f2f}@media (max-width:768px){.book-grid-container{padding:10px}.book-grid{gap:15px;grid-template-columns:repeat(auto-fill,minmax(130px,1fr))}.book-cover-container{height:160px}.book-details{padding:8px}.book-title{-webkit-line-clamp:1;font-size:.9rem;margin-bottom:4px}.book-author{font-size:.8rem}}@media (max-width:480px){.book-grid-container{padding:8px}.book-grid{gap:12px;grid-template-columns:repeat(auto-fill,minmax(100px,1fr))}.book-cover-container{height:140px}.book-details{padding:6px}.book-title{-webkit-line-clamp:1;font-size:.85rem}.book-author{font-size:.75rem}}.auth-container{align-items:center;background-color:#f5f7fa;display:flex;justify-content:center;min-height:100vh;padding:20px}.auth-card{background-color:#fff;border-radius:10px;box-shadow:0 6px 20px #0000001a;max-width:450px;padding:30px;width:100%}.auth-logo{margin-bottom:30px;text-align:center}.auth-logo h1{color:#333;font-size:32px;margin-bottom:5px}.auth-logo p{color:#666;font-size:16px}.auth-tabs{border-bottom:1px solid #e0e0e0;display:flex;margin-bottom:20px}.auth-tab{background:none;border:none;color:#666;cursor:pointer;flex:1 1;font-size:16px;font-weight:600;padding:15px;position:relative;transition:color .3s}.auth-tab.active{color:#4a6cf7}.auth-tab.active:after{background-color:#4a6cf7;bottom:-1px;content:"";height:3px;left:0;position:absolute;width:100%}.auth-content{margin-bottom:25px}.auth-form{gap:15px}.auth-form,.form-group{display:flex;flex-direction:column}.form-group{gap:5px}.form-group label{color:#333;font-size:14px;font-weight:600}.form-group input{border:1px solid #e0e0e0;border-radius:5px;font-size:16px;padding:12px 15px;transition:border-color .3s}.form-group input:focus{border-color:#4a6cf7;outline:none}.auth-button{background-color:#4a6cf7;border:none;border-radius:5px;color:#fff;cursor:pointer;font-size:16px;font-weight:600;padding:12px;transition:background-color .3s}.auth-button:hover{background-color:#3a5ce5}.auth-button:disabled{background-color:#a0aec0;cursor:not-allowed}.auth-divider{align-items:center;color:#666;display:flex;margin:20px 0}.auth-divider:after,.auth-divider:before{border-bottom:1px solid #e0e0e0;content:"";flex:1 1}.auth-divider span{font-size:14px;padding:0 10px}.social-login-buttons{display:flex;flex-direction:column;gap:10px}.social-button{align-items:center;border-radius:5px;cursor:pointer;display:flex;font-size:16px;font-weight:500;gap:10px;justify-content:center;padding:12px;transition:background-color .3s,border-color .3s}.social-button.google{background-color:#fff;border:1px solid #e0e0e0;color:#333}.social-button.google:hover{background-color:#f8f9fa;border-color:#d0d0d0}.social-button.github{background-color:#24292e;border:1px solid #24292e;color:#fff}.social-button.github:hover{background-color:#1c2024}.form-footer{margin-top:5px;text-align:center}.form-footer a{color:#4a6cf7;text-decoration:none}.form-footer a:hover{text-decoration:underline}.form-footer small{color:#666;font-size:12px}.auth-error{background-color:#fee2e2;color:#b91c1c}.auth-error,.auth-success{border-radius:5px;font-size:14px;padding:10px}.auth-success{background-color:#dcfce7;color:#166534}.auth-footer{align-items:center;display:flex;flex-direction:column;gap:10px;margin-top:30px;text-align:center}.tech-icons{gap:20px}.tech-icons,.tech-icons a{display:flex;justify-content:center}.tech-icons a{align-items:center;background-color:#f5f7fa;border-radius:50%;height:36px;transition:transform .2s,background-color .2s;width:36px}.tech-icons a:hover{background-color:#eef1f6;transform:translateY(-3px)}.tech-icon{height:24px;object-fit:contain;width:24px}.footer-text{color:#6b7280;font-size:14px}
/*# sourceMappingURL=main.6b61428a.css.map*/