.navbar{background-color:var(--secondary-bg);padding:.8rem 2rem;display:flex;justify-content:space-between;align-items:center;box-shadow:0 2px 10px var(--shadow-color);position:sticky;top:0;z-index:1000;border-bottom:1px solid var(--border-color)}.navbar-brand{display:flex;align-items:center}.brand-logo{color:var(--text-primary);font-size:1.5rem;font-weight:700;text-decoration:none;transition:color .3s ease;display:flex;align-items:center;gap:.5rem}.brand-logo:hover{color:var(--accent-color)}.brand-logo i{font-size:1.8rem;color:var(--accent-color)}.navbar-links{display:flex;align-items:center;gap:1.5rem}.nav-link{color:var(--text-secondary);text-decoration:none;font-size:1rem;transition:all .3s ease;display:flex;align-items:center;gap:.5rem;padding:.5rem .8rem;border-radius:4px}.nav-link:hover{color:var(--text-primary);background-color:var(--hover-bg)}.nav-link i{font-size:1.1rem}.nav-button{padding:.6rem 1.2rem;border-radius:50px;font-size:.9rem;font-weight:500;cursor:pointer;transition:all .3s ease;text-decoration:none;display:flex;align-items:center;gap:.5rem}.nav-button.login{background-color:transparent;color:var(--text-primary);border:2px solid var(--accent-color)}.nav-button.login:hover{background-color:var(--accent-color);transform:translateY(-3px);box-shadow:0 5px 15px #4a90e24d}.nav-button.signup{background-color:var(--accent-color);color:#fff;border:none}.nav-button.signup:hover{background-color:#357abd;transform:translateY(-3px);box-shadow:0 5px 15px #4a90e24d}.nav-button.logout{background-color:transparent;color:var(--text-primary);border:2px solid var(--danger-color)}.nav-button.logout:hover{background-color:var(--danger-color);transform:translateY(-3px);box-shadow:0 5px 15px #dc35454d}@media (max-width: 768px){.navbar{padding:.8rem 1rem}.brand-logo{font-size:1.3rem}.navbar-links{gap:1rem}.nav-link{padding:.4rem .6rem;font-size:.9rem}.nav-button{padding:.5rem 1rem;font-size:.85rem}}@media (max-width: 576px){.navbar{flex-direction:column;padding:.8rem;gap:1rem}.navbar-brand{width:100%;justify-content:center}.navbar-links{width:100%;justify-content:center;flex-wrap:wrap}.nav-link,.nav-button{width:100%;justify-content:center}}@keyframes fadeIn{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.nav-link,.nav-button{animation:fadeIn .3s ease forwards;opacity:0}.nav-link:nth-child(1){animation-delay:.1s}.nav-link:nth-child(2){animation-delay:.2s}.nav-button:nth-child(1){animation-delay:.3s}.nav-button:nth-child(2){animation-delay:.4s}.assistant-chat-container{position:fixed;bottom:20px;right:20px;width:400px;height:600px;background-color:var(--card-bg);border-radius:12px;box-shadow:0 4px 12px var(--shadow-color);display:flex;flex-direction:column;z-index:9999;transition:all .3s ease;border:1px solid var(--border-color)}.assistant-chat-container.minimized{height:60px;cursor:pointer}.assistant-chat-header{padding:15px 20px;background-color:var(--secondary-bg);color:var(--text-primary);border-radius:12px 12px 0 0;display:flex;justify-content:space-between;align-items:center;cursor:pointer;border-bottom:1px solid var(--border-color);position:relative;z-index:10000}.header-left{display:flex;align-items:center;gap:10px}.header-left h2{margin:0;font-size:1.2rem;color:var(--text-primary)}.book-title-mini{font-size:.9rem;opacity:.8;display:none;color:var(--text-secondary)}.minimized .book-title-mini{display:inline}.header-right{display:flex;align-items:center;gap:10px}.minimize-button{background:none;border:none;color:var(--text-primary);font-size:1.2rem;cursor:pointer;padding:0 5px;transition:transform .3s ease;display:flex;align-items:center;justify-content:center;width:30px;height:30px;border-radius:50%}.minimize-button:hover{transform:scale(1.1);color:var(--accent-color);background-color:#4a90e21a}.close-button{background:none;border:none;color:var(--text-primary);font-size:1.5rem;cursor:pointer;padding:0;transition:all .3s ease;display:flex;align-items:center;justify-content:center;width:30px;height:30px;border-radius:50%}.close-button:hover{color:var(--danger-color);background-color:#dc35451a}.book-info-summary{padding:15px 20px;border-bottom:1px solid var(--border-color);background-color:var(--secondary-bg)}.book-info-summary h3{margin:0 0 5px;color:var(--text-primary)}.book-info-summary p{margin:5px 0;color:var(--text-secondary)}.language-selector{padding:15px 20px;border-bottom:1px solid var(--border-color);display:flex;align-items:center;gap:10px;background-color:var(--secondary-bg)}.language-selector label{color:var(--text-primary);font-size:.9rem}.language-selector select{padding:8px;border:1px solid var(--border-color);border-radius:4px;font-size:.9rem;background-color:var(--card-bg);color:var(--text-primary);cursor:pointer;transition:all .3s ease}.language-selector select:focus{outline:none;border-color:var(--accent-color);box-shadow:0 0 0 2px #4a90e233}.chat-content{flex:1;overflow-y:auto;padding:20px;background-color:var(--primary-bg)}.description-content{display:flex;flex-direction:column;gap:15px}.description-text{white-space:pre-wrap;line-height:1.6;color:var(--text-primary);font-size:.95rem}.description-actions{display:flex;justify-content:flex-end}.refresh-button,.retry-button{padding:8px 16px;background-color:var(--accent-color);color:#fff;border:none;border-radius:4px;cursor:pointer;transition:all .3s ease;font-weight:500}.refresh-button:hover,.retry-button:hover{background-color:#357abd;transform:translateY(-2px)}.refresh-button:disabled{background-color:var(--border-color);cursor:not-allowed;transform:none}.loading-spinner,.spinner{display:none}.error-message,.no-description{text-align:center;padding:20px;color:var(--text-secondary);display:flex;flex-direction:column;align-items:center;gap:10px}.error-message p,.no-description p{margin:0}.retry-button{background-color:var(--accent-color)}.retry-button:hover{background-color:#357abd}@media (max-width: 768px){.assistant-chat-container{width:100%;height:calc(100vh - 64px);bottom:0;right:0;border-radius:0;position:fixed;top:64px;left:0}.assistant-chat-container.minimized{height:60px;width:100%;top:auto;bottom:0}.assistant-chat-header{padding:12px 15px}.header-left h2{font-size:1.1rem}.minimize-button,.close-button{width:36px;height:36px;font-size:1.3rem}.book-info-summary,.language-selector{padding:12px 15px}.chat-content{padding:15px}}@media (max-width: 480px){.assistant-chat-container{top:56px;height:calc(100vh - 56px)}.assistant-chat-header{padding:10px 12px}.header-left h2{font-size:1rem}.minimize-button,.close-button{width:32px;height:32px;font-size:1.2rem}.book-info-summary h3{font-size:1rem}.book-info-summary p,.language-selector label,.language-selector select{font-size:.85rem}.description-text{font-size:.9rem}.refresh-button,.retry-button{padding:6px 12px;font-size:.85rem}}.auto-recommendations-section{background:var(--primary-bg);padding:2rem;border-radius:12px;box-shadow:0 4px 6px var(--shadow-color);margin-top:2rem;animation:fadeIn .5s ease-out}.section-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem}.section-header h2{color:var(--text-primary);margin:0;font-size:1.8rem;font-weight:600;position:relative;padding-bottom:.5rem}.section-header h2:after{content:"";position:absolute;bottom:0;left:0;width:50px;height:3px;background:var(--accent-color);border-radius:2px}.preferences-summary{background-color:var(--secondary-bg);padding:1.5rem;border-radius:.5rem;margin-bottom:1.5rem;border:1px solid var(--border-color)}.preferences-summary h3{color:var(--text-primary);font-size:1.2rem;margin-bottom:1rem}.preferences-details{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:1rem}.preferences-group{background-color:var(--card-bg);padding:1rem;border-radius:.5rem;border:1px solid var(--border-color)}.preferences-group h4{color:var(--accent-color);font-size:1rem;margin-bottom:.75rem}.preferences-group ul{list-style:none;padding:0;margin:0}.preferences-group li{color:var(--text-secondary);font-size:.9rem;padding:.25rem 0}.book-info strong{color:var(--text-primary);margin-right:.5rem}.book-actions{display:flex;gap:.8rem;margin-top:auto;flex-wrap:wrap;z-index:10;position:relative}.preview-button,.download-button,.assistant-button{padding:.6rem 1.2rem;border:none;border-radius:6px;cursor:pointer;text-decoration:none;font-size:.9rem;font-weight:500;transition:all .3s cubic-bezier(.4,0,.2,1);display:flex;align-items:center;gap:.5rem;position:relative;z-index:20}@media (max-width: 768px){.auto-recommendations-section{padding:1rem}.recommendations-grid{grid-template-columns:1fr}.recommendation-card{flex-direction:column}.book-thumbnail{width:100%;height:250px}.book-actions{flex-direction:column}.book-actions button,.book-actions a{width:100%}}::-webkit-scrollbar{width:8px}::-webkit-scrollbar-track{background:var(--primary-bg)}::-webkit-scrollbar-thumb{background:var(--border-color);border-radius:4px}::-webkit-scrollbar-thumb:hover{background:var(--hover-bg)}.recommendation-card{position:relative;overflow:hidden}.recommendation-card:before{content:"";position:absolute;top:0;left:0;width:100%;height:100%;background:linear-gradient(45deg,rgba(74,144,226,.1),transparent);opacity:0;transition:opacity .3s ease}.recommendation-card:hover:before{opacity:1}:root{--primary-bg: #121212;--secondary-bg: #1e1e1e;--card-bg: #2d2d2d;--text-primary: #ffffff;--text-secondary: #b3b3b3;--accent-color: #4a90e2;--success-color: #4caf50;--info-color: #17a2b8;--warning-color: #ffc107;--danger-color: #dc3545;--border-color: #404040;--shadow-color: rgba(0, 0, 0, .5);--hover-bg: #3a3a3a;--gradient-start: #4a90e2;--gradient-end: #357abd}body{margin:0;padding:0;background-color:var(--primary-bg);color:var(--text-primary);font-family:Roboto,sans-serif;overflow-x:hidden}.landing-page{min-height:100vh;display:flex;flex-direction:column}.hero-section{background:linear-gradient(135deg,var(--secondary-bg),var(--primary-bg));padding:6rem 2rem;text-align:center;position:relative;overflow:hidden;animation:fadeIn 1s ease-out}.hero-section:before{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background:url(https://images.unsplash.com/photo-1507842217343-583bb7270b66?ixlib=rb-1.2.1&auto=format&fit=crop&w=1350&q=80) center/cover;opacity:.1;z-index:0}.hero-content{position:relative;z-index:1;max-width:800px;margin:0 auto}.hero-title{font-size:3rem;margin-bottom:1.5rem;color:var(--text-primary);text-shadow:0 2px 4px rgba(0,0,0,.3);animation:slideDown .8s ease-out}.hero-subtitle{font-size:1.2rem;margin-bottom:2rem;color:var(--text-secondary);animation:slideUp .8s ease-out}.hero-buttons{display:flex;justify-content:center;gap:1rem;animation:fadeIn 1.2s ease-out}.hero-button{padding:.8rem 2rem;border-radius:50px;font-size:1rem;font-weight:500;text-decoration:none;transition:all .3s ease;display:flex;align-items:center;gap:.5rem}.hero-button.login{background-color:transparent;color:var(--text-primary);border:2px solid var(--accent-color)}.hero-button.login:hover{background-color:var(--accent-color);transform:translateY(-3px);box-shadow:0 5px 15px #4a90e24d}.hero-button.signup{background-color:var(--accent-color);color:#fff}.hero-button.signup:hover{background-color:#357abd;transform:translateY(-3px);box-shadow:0 5px 15px #4a90e24d}.main-content-section{padding:4rem 2rem;background-color:var(--primary-bg)}.features-section{max-width:1200px;margin:0 auto;animation:fadeIn 1s ease-out}.features-section h2{text-align:center;font-size:2.2rem;margin-bottom:3rem;color:var(--text-primary);position:relative;padding-bottom:1rem}.features-section h2:after{content:"";position:absolute;bottom:0;left:50%;transform:translate(-50%);width:80px;height:4px;background:linear-gradient(to right,var(--gradient-start),var(--gradient-end));border-radius:2px}.features-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:2rem}.feature-card{background-color:var(--card-bg);border-radius:12px;padding:2rem;text-align:center;transition:all .3s ease;border:1px solid var(--border-color);box-shadow:0 4px 6px var(--shadow-color);animation:fadeIn .8s ease-out}.feature-card:hover{transform:translateY(-10px);box-shadow:0 10px 20px var(--shadow-color);border-color:var(--accent-color)}.feature-card i{font-size:2.5rem;color:var(--accent-color);margin-bottom:1.5rem}.feature-card h3{font-size:1.5rem;margin-bottom:1rem;color:var(--text-primary)}.feature-card p{color:var(--text-secondary);line-height:1.6}.how-it-works-section{padding:4rem 2rem;background-color:var(--secondary-bg);margin-top:2rem}.how-it-works-section h2{text-align:center;font-size:2.2rem;margin-bottom:3rem;color:var(--text-primary);position:relative;padding-bottom:1rem}.how-it-works-section h2:after{content:"";position:absolute;bottom:0;left:50%;transform:translate(-50%);width:80px;height:4px;background:linear-gradient(to right,var(--gradient-start),var(--gradient-end));border-radius:2px}.steps-container{max-width:1000px;margin:0 auto;position:relative}.steps-container:before{content:"";position:absolute;top:0;bottom:0;left:50%;transform:translate(-50%);width:2px;background-color:var(--accent-color);z-index:1}.step{display:flex;align-items:center;margin-bottom:3rem;position:relative;z-index:2}.step:nth-child(2n){flex-direction:row-reverse}.step-number{width:60px;height:60px;background-color:var(--accent-color);color:#fff;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:1.5rem;font-weight:700;margin:0 2rem;flex-shrink:0;box-shadow:0 4px 8px #4a90e24d}.step-content{background-color:var(--card-bg);padding:1.5rem;border-radius:12px;flex:1;box-shadow:0 4px 6px var(--shadow-color);border:1px solid var(--border-color);transition:all .3s ease}.step-content:hover{transform:translateY(-5px);box-shadow:0 8px 15px var(--shadow-color);border-color:var(--accent-color)}.step-content h3{font-size:1.3rem;margin-bottom:.8rem;color:var(--text-primary)}.step-content p{color:var(--text-secondary);line-height:1.6}.personalization-section{padding:4rem 2rem;background-color:var(--primary-bg)}.personalization-section h2{text-align:center;font-size:2.2rem;margin-bottom:3rem;color:var(--text-primary);position:relative;padding-bottom:1rem}.personalization-section h2:after{content:"";position:absolute;bottom:0;left:50%;transform:translate(-50%);width:80px;height:4px;background:linear-gradient(to right,var(--gradient-start),var(--gradient-end));border-radius:2px}.personalization-content{max-width:1000px;margin:0 auto;display:grid;grid-template-columns:1fr 1fr;gap:2rem;align-items:center}.personalization-text{animation:slideRight .8s ease-out}.personalization-text h3{font-size:1.8rem;margin-bottom:1.5rem;color:var(--text-primary)}.personalization-text p{color:var(--text-secondary);line-height:1.8;margin-bottom:1.5rem}.personalization-image{animation:slideLeft .8s ease-out}.personalization-image img{width:100%;border-radius:12px;box-shadow:0 8px 20px var(--shadow-color)}.assistant-section{padding:4rem 2rem;background-color:var(--secondary-bg)}.assistant-section h2{text-align:center;font-size:2.2rem;margin-bottom:3rem;color:var(--text-primary);position:relative;padding-bottom:1rem}.assistant-section h2:after{content:"";position:absolute;bottom:0;left:50%;transform:translate(-50%);width:80px;height:4px;background:linear-gradient(to right,var(--gradient-start),var(--gradient-end));border-radius:2px}.assistant-content{max-width:1000px;margin:0 auto;display:grid;grid-template-columns:1fr 1fr;gap:2rem;align-items:center}.assistant-image{animation:slideRight .8s ease-out}.assistant-image img{width:100%;border-radius:12px;box-shadow:0 8px 20px var(--shadow-color)}.assistant-text{animation:slideLeft .8s ease-out}.assistant-text h3{font-size:1.8rem;margin-bottom:1.5rem;color:var(--text-primary)}.assistant-text p{color:var(--text-secondary);line-height:1.8;margin-bottom:1.5rem}.language-buttons{display:flex;flex-wrap:wrap;gap:.8rem;margin-top:1.5rem}.language-button{padding:.6rem 1.2rem;background-color:var(--card-bg);color:var(--text-primary);border:1px solid var(--border-color);border-radius:50px;font-size:.9rem;cursor:pointer;transition:all .3s ease}.language-button:hover{background-color:var(--accent-color);border-color:var(--accent-color);transform:translateY(-3px)}.cta-section{padding:5rem 2rem;background:linear-gradient(135deg,var(--secondary-bg),var(--primary-bg));text-align:center;position:relative;overflow:hidden}.cta-section:before{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background:url(https://images.unsplash.com/photo-1507842217343-583bb7270b66?ixlib=rb-1.2.1&auto=format&fit=crop&w=1350&q=80) center/cover;opacity:.05;z-index:0}.cta-content{position:relative;z-index:1;max-width:800px;margin:0 auto}.cta-title{font-size:2.5rem;margin-bottom:1.5rem;color:var(--text-primary)}.cta-subtitle{font-size:1.2rem;margin-bottom:2.5rem;color:var(--text-secondary)}.cta-button{padding:1rem 2.5rem;background-color:var(--accent-color);color:#fff;border:none;border-radius:50px;font-size:1.1rem;font-weight:500;cursor:pointer;transition:all .3s ease;text-decoration:none;display:inline-block}.cta-button:hover{background-color:#357abd;transform:translateY(-5px);box-shadow:0 8px 20px #4a90e266}.user-recommendations{max-width:1200px;margin:0 auto;animation:fadeIn 1s ease-out}.user-recommendations h2{text-align:center;font-size:2.2rem;margin-bottom:3rem;color:var(--text-primary);position:relative;padding-bottom:1rem}.user-recommendations h2:after{content:"";position:absolute;bottom:0;left:50%;transform:translate(-50%);width:80px;height:4px;background:linear-gradient(to right,var(--gradient-start),var(--gradient-end));border-radius:2px}.quote-container{text-align:center;margin-bottom:3rem;padding:2rem;background-color:var(--card-bg);border-radius:12px;box-shadow:0 4px 6px var(--shadow-color);border:1px solid var(--border-color);animation:fadeIn 1.2s ease-out}.quote-text{font-size:1.5rem;font-style:italic;color:var(--text-primary);margin-bottom:1rem;line-height:1.6}.quote-author{font-size:1rem;color:var(--accent-color);font-weight:500}.preview-modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background-color:#000c;display:flex;justify-content:center;align-items:center;z-index:9999;animation:fadeIn .3s ease-out}.preview-modal{background-color:var(--card-bg);border-radius:12px;width:90%;max-width:800px;max-height:90vh;overflow-y:auto;box-shadow:0 10px 25px var(--shadow-color);animation:slideUp .5s ease-out}.preview-modal-header{padding:1.5rem;border-bottom:1px solid var(--border-color);display:flex;justify-content:space-between;align-items:center;position:sticky;top:0;background-color:var(--card-bg);z-index:1}.preview-modal-header h3{margin:0;color:var(--text-primary);font-size:1.5rem}.preview-modal-header .close-button{background:none;border:none;color:var(--text-primary);font-size:1.8rem;cursor:pointer;padding:0;transition:all .3s ease}.preview-modal-header .close-button:hover{color:var(--danger-color);transform:scale(1.1)}.preview-actions{display:flex;gap:1rem;margin-top:1.5rem}.preview-button,.download-button{padding:.8rem 1.5rem;border:none;border-radius:6px;font-size:.9rem;font-weight:500;cursor:pointer;transition:all .3s ease;text-decoration:none;display:inline-flex;align-items:center;gap:.5rem}.preview-button{background-color:var(--accent-color);color:#fff}.preview-button:hover{background-color:#357abd;transform:translateY(-3px)}.download-button{background-color:var(--success-color);color:#fff}.download-button:hover{background-color:#3d8b40;transform:translateY(-3px)}.preview-description{margin-top:2rem;padding-top:2rem;border-top:1px solid var(--border-color)}.footer{background-color:var(--secondary-bg);padding:4rem 2rem 2rem;margin-top:auto}.footer-content{max-width:1200px;margin:0 auto;display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:2rem}.footer-section h3{color:var(--text-primary);margin-bottom:1.5rem;font-size:1.3rem}.footer-section p{color:var(--text-secondary);line-height:1.6;margin-bottom:1rem}.footer-section ul{list-style:none;padding:0;margin:0}.footer-section ul li{margin-bottom:.8rem}.footer-section ul li a{color:var(--text-secondary);text-decoration:none;transition:color .3s ease}.footer-section ul li a:hover{color:var(--accent-color)}.footer-bottom{text-align:center;margin-top:3rem;padding-top:2rem;border-top:1px solid var(--border-color);color:var(--text-secondary);font-size:.9rem}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideDown{0%{transform:translateY(-30px);opacity:0}to{transform:translateY(0);opacity:1}}@keyframes slideUp{0%{transform:translateY(30px);opacity:0}to{transform:translateY(0);opacity:1}}@keyframes slideLeft{0%{transform:translate(30px);opacity:0}to{transform:translate(0);opacity:1}}@keyframes slideRight{0%{transform:translate(-30px);opacity:0}to{transform:translate(0);opacity:1}}@media (max-width: 992px){.personalization-content,.assistant-content{grid-template-columns:1fr}.personalization-image,.assistant-image{order:-1}.steps-container:before{left:30px}.step,.step:nth-child(2n){flex-direction:row}.step-number{margin:0 1rem 0 0}}@media (max-width: 768px){.hero-title{font-size:2.5rem}.hero-subtitle{font-size:1rem}.hero-buttons{flex-direction:column;gap:1rem}.hero-button{width:100%;justify-content:center}.preview-book-info{flex-direction:column;align-items:center;text-align:center}.preview-book-thumbnail{width:150px;height:225px}.preview-actions{justify-content:center}}@media (max-width: 480px){.hero-title{font-size:2rem}.feature-card,.step-content{padding:1.5rem}.cta-title{font-size:2rem}.cta-button{width:100%}}.preferences-form{background:var(--card-bg);padding:2rem;border-radius:12px;box-shadow:0 4px 6px var(--shadow-color);border:1px solid var(--border-color);animation:fadeIn .5s ease-out}.preferences-form h2{color:var(--accent-color);margin-bottom:1.5rem;font-size:1.8rem;font-weight:600;position:relative;padding-bottom:.5rem}.preferences-form h2:after{content:"";position:absolute;bottom:0;left:0;width:50px;height:3px;background:var(--accent-color);border-radius:2px}.form-group{margin-bottom:1.25rem}.form-group label{display:block;margin-bottom:.5rem;color:var(--text-primary);font-weight:500;font-size:.95rem}.form-group input[type=text],.form-group input[type=number],.form-group select{width:100%;padding:.75rem;background-color:var(--primary-bg);border:1px solid var(--border-color);border-radius:6px;color:var(--text-primary);font-size:.95rem;transition:all .3s cubic-bezier(.4,0,.2,1)}.form-group input:focus,.form-group select:focus{outline:none;border-color:var(--accent-color);box-shadow:0 0 0 2px #4a90e240}.checkbox-group{display:flex;align-items:center;gap:.75rem;margin-top:1rem}.checkbox-group input[type=checkbox]{width:1.25rem;height:1.25rem;accent-color:var(--accent-color);cursor:pointer}.checkbox-group label{color:var(--text-primary);font-size:.95rem;cursor:pointer}.submit-button{width:100%;padding:.75rem;background-color:var(--accent-color);color:var(--text-primary);border:none;border-radius:6px;font-size:1rem;font-weight:500;cursor:pointer;transition:all .3s cubic-bezier(.4,0,.2,1);margin-top:1.5rem}.submit-button:hover{background-color:#357abd;transform:translateY(-2px);box-shadow:0 4px 8px #4a90e24d}.submit-button:disabled{background-color:var(--border-color);color:var(--text-secondary);cursor:not-allowed;transform:none;box-shadow:none}.preference-id{background-color:var(--primary-bg);color:var(--accent-color);padding:.75rem;border-radius:6px;margin-bottom:1.5rem;font-weight:500;text-align:center;border:1px solid var(--border-color)}.info-message{background-color:#4a90e21a;color:var(--text-primary);padding:.75rem;border-radius:6px;margin-bottom:1.5rem;border:1px solid var(--accent-color);font-size:.9rem}.info-message p{margin:0;display:flex;align-items:center;gap:.5rem}.loading-overlay{position:absolute;top:0;left:0;right:0;bottom:0;background-color:#1a1a1acc;display:flex;justify-content:center;align-items:center;border-radius:12px;z-index:10}@media (max-width: 768px){.preferences-form{padding:1.5rem}.form-group{margin-bottom:1rem}.submit-button{margin-top:1rem}}:root{--primary-bg: #1a1a1a;--secondary-bg: #2d2d2d;--card-bg: #2d2d2d;--text-primary: #ffffff;--text-secondary: #b3b3b3;--accent-color: #4a90e2;--success-color: #4caf50;--info-color: #17a2b8;--warning-color: #ffc107;--danger-color: #dc3545;--border-color: #404040;--shadow-color: rgba(0, 0, 0, .3)}.history-section{background:var(--primary-bg);padding:2rem;border-radius:12px;box-shadow:0 4px 6px var(--shadow-color);margin-top:2rem;animation:fadeIn .5s ease-out}.history-section h2{color:var(--text-primary);margin-bottom:1.5rem;font-size:1.8rem;font-weight:600;position:relative;padding-bottom:.5rem}.history-section h2:after{content:"";position:absolute;bottom:0;left:0;width:50px;height:3px;background:var(--accent-color);border-radius:2px}.history-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:1.5rem;padding:1rem 0}.history-card{display:flex;background:var(--card-bg);border-radius:12px;overflow:hidden;box-shadow:0 4px 6px var(--shadow-color);transition:all .3s cubic-bezier(.4,0,.2,1);border:1px solid var(--border-color)}.history-card:hover{transform:translateY(-8px);box-shadow:0 8px 15px var(--shadow-color);border-color:var(--accent-color)}.history-book-thumbnail{width:150px;height:200px;overflow:hidden;position:relative}.history-book-thumbnail:after{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background:linear-gradient(to right,rgba(0,0,0,.1),transparent)}.history-book-thumbnail img{width:100%;height:100%;object-fit:cover;transition:transform .3s ease}.history-card:hover .history-book-thumbnail img{transform:scale(1.05)}.history-book-info{flex:1;padding:1.2rem;display:flex;flex-direction:column}.history-book-info h3{margin:0 0 .8rem;color:var(--text-primary);font-size:1.2rem;font-weight:600;transition:color .3s ease}.history-card:hover .history-book-info h3{color:var(--accent-color)}.history-book-info p{margin:.3rem 0;color:var(--text-secondary);font-size:.9rem;line-height:1.4}.history-book-info .author{color:var(--text-primary);font-weight:500}.history-book-info .date{color:var(--text-secondary);font-size:.8rem;opacity:.8}.history-book-info .genre{color:var(--accent-color);font-size:.9rem;margin:0;font-weight:500}.history-book-info .year,.history-book-info .language{color:#888;font-size:.9rem;margin:0}.history-book-actions{display:flex;gap:.8rem;margin-top:1rem;flex-wrap:wrap}.preview-button,.download-button,.assistant-button,.delete-button{padding:.6rem 1.2rem;border:none;border-radius:6px;cursor:pointer;text-decoration:none;font-size:.9rem;font-weight:500;transition:all .3s cubic-bezier(.4,0,.2,1);display:flex;align-items:center;gap:.5rem}.delete-button{background-color:var(--danger-color);color:#fff}.delete-button:hover{background-color:#c82333;transform:translateY(-2px)}.no-history{text-align:center;padding:3rem;color:var(--text-secondary);background:var(--secondary-bg);border-radius:12px;font-size:1.1rem;animation:fadeIn .5s ease-out}.loader{width:8px;height:8px;border-radius:50%;display:block;margin:2rem auto;position:relative;background:var(--accent-color);box-shadow:-24px 0 var(--accent-color),24px 0 var(--accent-color);animation:dots 2s infinite linear}@keyframes dots{0%{background:var(--accent-color)}20%{background:var(--accent-color)}40%{background:var(--border-color)}60%{background:var(--border-color)}80%{background:var(--border-color)}to{background:var(--accent-color)}}.loading-spinner{display:none}.preview-modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background-color:#000c;display:flex;justify-content:center;align-items:center;z-index:1000;animation:fadeIn .3s ease-out}.preview-modal{background:var(--card-bg);border-radius:12px;width:90%;max-width:1200px;max-height:90vh;overflow:hidden;position:relative;display:flex;flex-direction:column;animation:slideIn .3s ease-out}@keyframes slideIn{0%{transform:translateY(20px);opacity:0}to{transform:translateY(0);opacity:1}}.preview-modal-header{padding:1rem 1.5rem;background:var(--secondary-bg);border-bottom:1px solid var(--border-color);display:flex;justify-content:space-between;align-items:center}.preview-modal-header h3{margin:0;color:var(--text-primary);font-size:1.3rem;font-weight:600}.close-button{background:none;border:none;font-size:1.5rem;color:var(--text-secondary);cursor:pointer;padding:.5rem;line-height:1;transition:all .3s ease;border-radius:50%}.close-button:hover{color:var(--text-primary);background:var(--border-color);transform:rotate(90deg)}.preview-modal-content{display:flex;flex-direction:column;height:calc(90vh - 60px);overflow:hidden}.preview-book-info{padding:1.5rem;display:flex;gap:1.5rem;background:var(--secondary-bg);border-bottom:1px solid var(--border-color)}.preview-book-thumbnail{width:150px;height:200px;object-fit:cover;border-radius:8px;box-shadow:0 4px 6px var(--shadow-color);transition:transform .3s ease}.preview-book-thumbnail:hover{transform:scale(1.05)}.preview-book-details p{margin:.8rem 0;color:var(--text-secondary)}.preview-iframe-container{flex:1;overflow:hidden;position:relative}.preview-iframe{width:100%;height:100%;border:none;background:var(--primary-bg)}@media (max-width: 768px){.history-grid{grid-template-columns:1fr}.history-card{flex-direction:column}.history-book-thumbnail{width:100%;height:250px}.history-book-actions{flex-direction:column}.history-book-actions button{width:100%}.preview-modal{width:95%;height:95vh}.preview-book-info{flex-direction:column;align-items:center;text-align:center}.preview-book-thumbnail{width:120px;height:160px}}.back-to-home{position:fixed;top:20px;left:20px;display:flex;align-items:center;gap:8px;padding:8px 16px;background-color:#4a90e2;color:#fff;text-decoration:none;border-radius:5px;font-weight:500;transition:all .3s ease;box-shadow:0 2px 4px #0000001a}.back-to-home:hover{background-color:#357abd;transform:translate(-5px)}.back-to-home i{font-size:1.1rem}@media (max-width: 768px){.back-to-home{top:10px;left:10px;padding:6px 12px;font-size:.9rem}}.user-detail-container{padding:1.5rem;background-color:#121212;border-radius:.5rem;margin-bottom:1.5rem}.user-detail-card{background-color:#1e1e1e;padding:1.5rem;border-radius:.5rem;box-shadow:0 4px 6px #0000001a;border:1px solid #2c2c2c}.user-detail-card h2{color:#007bff;margin-bottom:1.5rem;font-size:1.5rem;font-weight:600}.user-detail-item{display:flex;margin-bottom:1rem;padding:1rem;border-bottom:1px solid #2c2c2c;transition:all .3s ease}.user-detail-item:hover{background-color:#2c2c2c;border-radius:.25rem}.user-detail-item:last-child{border-bottom:none}.user-detail-item label{font-weight:600;width:150px;color:#007bff;font-size:.95rem}.user-detail-item span{color:#e0e0e0;font-size:.95rem}.user-detail-loading{text-align:center;padding:2rem;color:#e0e0e0}.user-detail-loading .spinner{width:3rem;height:3rem;border:4px solid #2c2c2c;border-top:4px solid #007bff;border-radius:50%;animation:spin 1s linear infinite;margin:0 auto 1rem}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.user-detail-error{text-align:center;padding:1.5rem;color:#ff6b6b;background-color:#2c2c2c;border-radius:.5rem;border:1px solid #ff6b6b}@media (max-width: 768px){.user-detail-container,.user-detail-card{padding:1rem}.user-detail-item{flex-direction:column;gap:.5rem}.user-detail-item label{width:100%}}*{margin:0;padding:0;box-sizing:border-box}body{margin:0;padding:0;background-color:var(--primary-bg);font-family:Roboto,sans-serif}.dashboard-container{min-height:100vh;width:100%;background-color:var(--primary-bg);color:var(--text-primary);display:flex;flex-direction:column}.dashboard-header{background-color:var(--secondary-bg)!important;box-shadow:0 2px 4px var(--shadow-color)!important;z-index:1400!important}.dashboard-title{color:var(--text-primary)!important;font-weight:600!important;margin-left:1rem!important;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.menu-button{color:var(--text-primary)!important;padding:8px!important}.user-avatar{background-color:var(--accent-color)!important;color:#fff!important;width:32px!important;height:32px!important;font-size:1rem!important}.user-name{color:var(--text-primary)!important;font-weight:500!important;margin-left:8px!important}.dashboard-drawer{width:280px!important;flex-shrink:0}.dashboard-drawer .MuiDrawer-paper{width:280px;background-color:var(--secondary-bg);border-right:1px solid var(--border-color);color:var(--text-primary);z-index:1300!important}.dashboard-drawer .MuiListItem-root{padding:1rem 1.5rem;transition:all .3s ease}.dashboard-drawer .MuiListItem-root:hover{background-color:var(--hover-bg)}.dashboard-drawer .MuiListItemIcon-root{color:var(--text-secondary);min-width:40px}.dashboard-drawer .MuiListItemText-primary{color:var(--text-primary);font-size:1rem;font-weight:500}.active-menu-item{background-color:var(--accent-color)!important}.active-menu-item .MuiListItemIcon-root,.active-menu-item .MuiListItemText-primary{color:#fff!important}.dashboard-content{flex-grow:1;padding:2rem;transition:margin .3s ease}.content-with-drawer{margin-left:280px}.content-wrapper{max-width:1200px;margin:0 auto;padding:1rem;background-color:var(--secondary-bg);border-radius:12px;box-shadow:0 4px 6px var(--shadow-color)}.loading-spinner{display:inline-block;width:30px;height:30px;border:3px solid var(--border-color);border-radius:50%;border-top-color:var(--accent-color);animation:spin 1s ease-in-out infinite}@keyframes spin{to{transform:rotate(360deg)}}.loading-container{display:flex;justify-content:center;align-items:center;padding:2rem}.loading-text{color:var(--text-secondary);margin-top:1rem;text-align:center}.book-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:1.5rem;padding:1rem 0}.book-card{display:flex;background:var(--card-bg);border-radius:12px;overflow:hidden;box-shadow:0 4px 6px var(--shadow-color);transition:all .3s cubic-bezier(.4,0,.2,1);border:1px solid var(--border-color)}.book-card:hover{transform:translateY(-8px);box-shadow:0 8px 15px var(--shadow-color);border-color:var(--accent-color)}.book-card:hover .book-thumbnail img{transform:scale(1.05)}.book-card:hover .book-info h3{color:var(--accent-color)}.preview-modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background-color:#000000b3;display:flex;justify-content:center;align-items:center;z-index:1000}.preview-modal{background:var(--secondary-bg);border-radius:12px;width:90%;max-width:800px;max-height:90vh;overflow-y:auto;box-shadow:0 8px 16px var(--shadow-color)}.preview-modal-header{padding:1.5rem;border-bottom:1px solid var(--border-color);display:flex;justify-content:space-between;align-items:center}.preview-modal-header h3{color:var(--text-primary);margin:0;font-size:1.4rem}.close-button{background:none;border:none;color:var(--text-secondary);font-size:1.5rem;cursor:pointer;padding:.5rem;transition:color .3s ease}.close-button:hover{color:var(--text-primary)}.preview-modal-content{padding:1.5rem}.preview-book-info{display:flex;gap:2rem;margin-bottom:2rem}.preview-book-thumbnail{width:200px;height:300px;object-fit:cover;border-radius:8px;box-shadow:0 4px 8px var(--shadow-color)}.preview-book-details{flex:1}.preview-book-details p{margin:.5rem 0;color:var(--text-secondary)}.preview-book-details strong{color:var(--text-primary);margin-right:.5rem}.preview-description{border-top:1px solid var(--border-color);padding-top:1.5rem}.preview-description h4{color:var(--text-primary);margin-bottom:1rem;font-size:1.2rem}.preview-description p{color:var(--text-secondary);line-height:1.6}@media (max-width: 620px){.dashboard-drawer{width:240px!important}.dashboard-drawer .MuiDrawer-paper{width:240px}.dashboard-content{margin-left:0!important;padding:.5rem}.content-wrapper{padding:.5rem}.user-name{display:none}.dashboard-header .MuiToolbar-root{min-height:56px;padding:0 8px}.menu-button{margin-right:8px;padding:12px!important;z-index:1500!important;position:relative}.MuiDrawer-root,.MuiDrawer-modal{z-index:1300!important}.dashboard-header .MuiIconButton-root{z-index:1500!important;position:relative}.book-grid{grid-template-columns:1fr}.book-card{flex-direction:column}.book-thumbnail{width:100%;height:250px}.preview-modal{width:95%;margin:10px}.preview-book-info{flex-direction:column;align-items:center;text-align:center}.preview-book-thumbnail{width:150px;height:225px}.preview-actions,.book-actions{flex-direction:column;gap:8px}.book-actions button{width:100%}}.recommendations-section{background:var(--primary-bg);padding:2rem;border-radius:12px;box-shadow:0 4px 6px var(--shadow-color);animation:fadeIn .5s ease-out}.recommendations-section h2{color:var(--text-primary);margin-bottom:1.5rem;font-size:1.8rem;font-weight:600;position:relative;padding-bottom:.5rem}.recommendations-section h2:after{content:"";position:absolute;bottom:0;left:0;width:50px;height:3px;background:var(--accent-color);border-radius:2px}.recommendations-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:1.5rem;padding:1rem 0}.recommendation-card{display:flex;background:var(--card-bg);border-radius:12px;overflow:hidden;box-shadow:0 4px 6px var(--shadow-color);transition:all .3s cubic-bezier(.4,0,.2,1);border:1px solid var(--border-color)}.recommendation-card:hover{transform:translateY(-8px);box-shadow:0 8px 15px var(--shadow-color);border-color:var(--accent-color)}.book-thumbnail{width:150px;height:200px;overflow:hidden;position:relative}.book-thumbnail:after{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background:linear-gradient(to right,rgba(0,0,0,.1),transparent)}.book-thumbnail img{width:100%;height:100%;object-fit:cover;transition:transform .3s ease}.recommendation-card:hover .book-thumbnail img{transform:scale(1.05)}.book-info{flex:1;padding:1.2rem;display:flex;flex-direction:column}.book-info h3{margin:0 0 .8rem;color:var(--text-primary);font-size:1.2rem;font-weight:600;transition:color .3s ease}.recommendation-card:hover .book-info h3{color:var(--accent-color)}.book-info p{margin:.3rem 0;color:var(--text-secondary);font-size:.9rem;line-height:1.4}.book-info .author{color:var(--text-primary);font-weight:500}.book-info .genre{color:var(--accent-color)}.book-actions{display:flex;gap:.8rem;margin-top:auto;flex-wrap:wrap}.preview-button,.download-button,.assistant-button{padding:.6rem 1.2rem;border:none;border-radius:6px;cursor:pointer;text-decoration:none;font-size:.9rem;font-weight:500;transition:all .3s cubic-bezier(.4,0,.2,1);display:flex;align-items:center;gap:.5rem}.preview-button{background-color:var(--success-color);color:#fff}.preview-button:hover{background-color:#3d8b40;transform:translateY(-2px)}.download-button{background-color:var(--info-color);color:#fff}.download-button:hover{background-color:#138496;transform:translateY(-2px)}.assistant-button{background-color:var(--accent-color);color:#fff}.assistant-button:hover{background-color:#357abd;transform:translateY(-2px)}.no-recommendations{text-align:center;padding:3rem;color:var(--text-secondary);background:var(--secondary-bg);border-radius:12px;font-size:1.1rem;animation:fadeIn .5s ease-out}@media (max-width: 768px){.recommendations-grid{grid-template-columns:1fr}.recommendation-card{flex-direction:column}.book-thumbnail{width:100%;height:250px}.book-actions{flex-direction:column}.book-actions button,.book-actions a{width:100%}}.random-books-section{padding:2rem;background-color:#f8f9fa}.random-books-section h2{text-align:center;color:#333;margin-bottom:2rem;font-size:2rem}.books-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:2rem;padding:1rem}.book-card{background:#fff;border-radius:10px;overflow:hidden;box-shadow:0 2px 4px #0000001a;transition:transform .3s ease}.book-card:hover{transform:translateY(-5px);box-shadow:0 4px 8px #0003}.book-thumbnail{width:100%;height:300px;object-fit:cover;border-bottom:1px solid #eee}.book-info{padding:1rem}.book-info h3{margin:0 0 .5rem;font-size:1.2rem;color:#333}.book-info .author{color:#666;margin:0 0 .5rem;font-size:.9rem}.book-info .genre{color:#888;margin:0 0 .5rem;font-size:.9rem}.book-info .year{color:#888;margin:0 0 1rem;font-size:.9rem}.book-actions{display:flex;gap:10px;margin-top:15px}.download-button,.assistant-button{padding:8px 16px;border:none;border-radius:4px;cursor:pointer;font-size:.9rem;transition:background-color .3s}.download-button{background-color:#28a745;color:#fff;text-decoration:none}.download-button:hover{background-color:#218838}.assistant-button{background-color:#6c757d;color:#fff}.assistant-button:hover{background-color:#5a6268}.preview-button{padding:.5rem 1rem;border-radius:5px;text-decoration:none;font-size:.9rem;transition:background-color .3s ease;background-color:#4a90e2;color:#fff}.preview-button:hover{background-color:#357abd}.loading-spinner{text-align:center;padding:2rem;color:#666;font-size:1.1rem}@media (max-width: 768px){.books-grid{grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:1rem}.book-thumbnail{height:250px}}.error-message{color:#dc3545;font-size:.875rem;margin-top:.25rem}.success-message{color:#28a745;font-size:.875rem;margin-top:.25rem}:root{--primary-bg: #121212;--secondary-bg: #1e1e1e;--card-bg: #2d2d2d;--text-primary: #ffffff;--text-secondary: #b3b3b3;--accent-color: #4a90e2;--success-color: #4caf50;--info-color: #17a2b8;--warning-color: #ffc107;--danger-color: #dc3545;--border-color: #404040;--shadow-color: rgba(0, 0, 0, .5);--hover-bg: #3a3a3a}.auth-container{min-height:100vh;display:flex;justify-content:center;align-items:center;background-color:var(--primary-bg);padding:2rem}.auth-card{background-color:var(--card-bg);padding:2rem;border-radius:12px;box-shadow:0 4px 6px var(--shadow-color);width:100%;max-width:400px;animation:fadeIn .5s ease-out}@keyframes fadeIn{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.auth-card h2{color:var(--text-primary);text-align:center;margin-bottom:2rem;font-size:1.8rem;font-weight:600}.form-group{margin-bottom:1.5rem}.form-group label{display:block;color:var(--text-primary);margin-bottom:.5rem;font-size:.9rem}.form-group input{width:100%;padding:.8rem;border:1px solid var(--border-color);border-radius:6px;background-color:var(--secondary-bg);color:var(--text-primary);font-size:1rem;transition:all .3s ease}.form-group input:focus{outline:none;border-color:var(--accent-color);box-shadow:0 0 0 2px #4a90e233}.auth-button{width:100%;padding:.8rem;background-color:var(--accent-color);color:#fff;border:none;border-radius:6px;font-size:1rem;font-weight:500;cursor:pointer;transition:all .3s ease}.auth-button:hover{background-color:#357abd;transform:translateY(-2px)}.auth-button:disabled{background-color:var(--border-color);cursor:not-allowed;transform:none}.auth-footer{margin-top:1.5rem;text-align:center;color:var(--text-secondary)}.auth-footer a{color:var(--accent-color);text-decoration:none;transition:color .3s ease}.auth-footer a:hover{color:#357abd}@media (max-width: 768px){.auth-container{padding:1rem}.auth-card{padding:1.5rem}}
