@import"https://fonts.googleapis.com/css2?family=Poppins:wght@600;700&display=swap";.tweet-category-modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#000000b3;display:flex;align-items:center;justify-content:center;z-index:2500}.tweet-category-modal{background:var(--color-background-elevated);border:1px solid var(--color-border);width:100%;max-width:400px;max-height:80vh;margin:20px;display:flex;flex-direction:column}.tweet-category-modal-header{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;border-bottom:1px solid var(--color-border)}.tweet-category-modal-header h3{margin:0;font-size:18px;font-weight:700;color:var(--color-text)}.tweet-category-modal-header .close-btn{width:36px;height:36px;display:flex;align-items:center;justify-content:center;color:var(--color-text-secondary);background:none;border:none;border-radius:0;cursor:pointer;transition:all var(--transition-fast)}.tweet-category-modal-header .close-btn svg{width:20px;height:20px}.tweet-category-modal-header .close-btn:hover{background:var(--color-hover);color:var(--color-text)}.tweet-category-modal-tweet{padding:12px 20px;border-bottom:1px solid var(--color-border);background:var(--color-background)}.tweet-category-modal-tweet .tweet-preview{margin:0;font-size:13px;color:var(--color-text-secondary);line-height:1.4}.tweet-category-search{padding:12px 20px;border-bottom:1px solid var(--color-border);position:relative}.tweet-category-search input{width:100%;padding:10px 36px 10px 12px;font-size:14px;color:var(--color-text);background:var(--color-background);border:1px solid var(--color-border);border-radius:0;outline:none;transition:border-color .2s}.tweet-category-search input:focus{border-color:var(--color-primary)}.tweet-category-search input::placeholder{color:var(--color-text-tertiary)}.tweet-category-search .clear-search{position:absolute;right:28px;top:50%;transform:translateY(-50%);width:24px;height:24px;display:flex;align-items:center;justify-content:center;font-size:18px;color:var(--color-text-secondary);background:none;border:none;cursor:pointer;border-radius:50%}.tweet-category-search .clear-search:hover{color:var(--color-text);background:var(--color-hover)}.tweet-category-modal-body{flex:1;overflow-y:auto;padding:16px 20px}.tweet-category-list{display:flex;flex-direction:column;gap:8px}.category-section-label{font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.5px;color:var(--color-text-secondary);padding:8px 0 4px;margin-top:4px}.category-section-label:first-child{margin-top:0;padding-top:0}.category-divider{height:1px;background:var(--color-border);margin:8px 0}.tweet-category-option{display:flex;align-items:center;gap:12px;padding:12px;background:var(--color-background);border:1px solid var(--color-border);cursor:pointer;transition:all .2s}.tweet-category-option:hover{border-color:var(--color-text-secondary)}.tweet-category-option.selected{border-color:var(--color-primary);background:#1d9bf01a}.tweet-category-option input[type=checkbox]{display:none}.tweet-category-option .tweet-category-color{width:16px;height:16px;flex-shrink:0}.tweet-category-option .tweet-category-name{flex:1;font-size:14px;color:var(--color-text)}.tweet-category-option .check-icon{width:18px;height:18px;color:var(--color-primary)}.tweet-category-modal-body .no-categories-msg,.tweet-category-modal-body .no-results-msg{text-align:center;color:var(--color-text-secondary);font-size:14px;padding:20px}.tweet-category-modal-footer{display:flex;gap:12px;justify-content:center;padding:16px 20px;border-top:1px solid var(--color-border)}.tweet-category-modal-footer .cancel-btn,.tweet-category-modal-footer .save-btn{padding:10px 24px;font-size:14px;font-weight:600;border:none;cursor:pointer;transition:all .2s ease;border-radius:0;box-sizing:border-box;height:40px}.tweet-category-modal-footer .cancel-btn{background:var(--color-background);color:var(--color-text);border:1px solid var(--color-border)}.tweet-category-modal-footer .cancel-btn:hover{background:var(--color-hover)}.tweet-category-modal-footer .save-btn{background:var(--color-primary);color:#fff}.tweet-category-modal-footer .save-btn:hover{background:#1a8cd8}.confirm-modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#000000b3;display:flex;align-items:center;justify-content:center;z-index:2500}.confirm-modal{background:var(--color-background-elevated);border:1px solid var(--color-border);padding:24px;width:100%;max-width:400px;margin:20px}.confirm-title{font-size:18px;font-weight:700;color:var(--color-text);margin:0 0 12px}.confirm-message{font-size:14px;color:var(--color-text-secondary);margin:0 0 24px;line-height:1.5}.confirm-actions{display:flex;gap:12px;justify-content:flex-end}.confirm-btn{padding:10px 20px;font-size:14px;font-weight:600;border:1px solid transparent;cursor:pointer;transition:all .2s ease;box-sizing:border-box}.cancel-btn{background:var(--color-background);color:var(--color-text);border:1px solid var(--color-border)}.cancel-btn:hover{background:var(--color-hover)}.destructive-btn{background:#f4212e;color:#fff}.destructive-btn:hover{background:#dc1d28}.primary-btn{background:var(--color-primary);color:#fff}.primary-btn:hover{background:#1a8cd8}.modal-overlay:has(.single-ai-modal){z-index:2500}.single-ai-modal{background:var(--color-background);border-radius:0;width:90%;max-width:500px;max-height:90vh;overflow-y:auto;border:1px solid var(--color-border)}.single-ai-modal .modal-header{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;border-bottom:1px solid var(--color-border)}.single-ai-modal .modal-header h2{display:flex;align-items:center;gap:10px;font-size:18px;font-weight:700;color:var(--color-text);margin:0}.single-ai-modal .modal-header h2 svg{width:22px;height:22px;stroke:#8b5cf6}.single-ai-modal .close-button{width:36px;height:36px;border-radius:0;background:none;border:none;color:var(--color-text-secondary);display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all var(--transition-fast)}.single-ai-modal .close-button svg{width:20px;height:20px}.single-ai-modal .close-button:hover{background:var(--color-hover);color:var(--color-text)}.modal-tabs .tab-button{flex:1;display:flex;align-items:center;justify-content:center;gap:8px;padding:12px 16px;background:none;border:none;border-bottom:2px solid transparent;color:var(--color-text-secondary);font-size:14px;font-weight:600;cursor:pointer;transition:all .2s}.modal-tabs .tab-button svg{width:16px;height:16px}.modal-tabs .tab-button:hover{background:var(--color-hover);color:var(--color-text)}.modal-tabs .tab-button.active{color:#8b5cf6;border-bottom-color:#8b5cf6}.modal-tabs .tab-button.active svg{stroke:#8b5cf6}.single-ai-modal .modal-body{padding:20px;display:flex;flex-direction:column;gap:16px}.tweet-preview{background:var(--color-background-elevated);border:1px solid var(--color-border);padding:12px 16px;border-radius:0}.tweet-preview .tweet-author{color:var(--color-text-secondary);font-size:13px;margin-bottom:8px}.tweet-preview p{color:var(--color-text);font-size:14px;line-height:1.4;margin:0}.current-categories,.suggestions-section{display:flex;flex-direction:column;gap:8px}.edit-categories-btn{background:none;border:none;cursor:pointer;padding:2px;color:var(--color-text-secondary);opacity:.6;transition:opacity .15s,color .15s;display:flex;align-items:center}.edit-categories-btn:hover{opacity:1;color:var(--color-primary)}.edit-categories-btn svg{width:14px;height:14px}.current-categories label,.suggestions-section label{font-size:12px;font-weight:600;color:var(--color-text-secondary);text-transform:uppercase;letter-spacing:.5px}.category-tags{display:flex;flex-wrap:wrap;gap:8px}.category-tag{display:inline-flex;align-items:center;gap:6px;padding:6px 12px;background:var(--color-background-elevated);border:1px solid var(--color-border);border-radius:0;font-size:13px;color:var(--color-text)}.category-tag .cat-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0}.category-tag.current{opacity:.7}.category-tag.suggested{background:#8b5cf61a;border-color:#8b5cf6}.single-ai-modal .config-error{display:flex;align-items:center;gap:10px;padding:12px 16px;background:#ff6b6b1a;border:1px solid var(--color-error, #ff6b6b);border-radius:0;color:var(--color-error, #ff6b6b);font-size:14px}.single-ai-modal .config-error .error-icon{font-size:18px}.single-ai-modal .model-section{display:flex;flex-direction:column;gap:8px}.single-ai-modal .model-section label{font-size:12px;font-weight:600;color:var(--color-text-secondary);text-transform:uppercase;letter-spacing:.5px}.single-ai-modal .model-select{padding:10px 12px;background:var(--color-background-elevated);border:1px solid var(--color-border);border-radius:0;color:var(--color-text);font-size:14px;cursor:pointer}.single-ai-modal .model-select:hover{border-color:#8b5cf6}.single-ai-modal .model-select:focus{outline:none;border-color:#8b5cf6}.single-ai-modal .model-select:disabled{opacity:.5;cursor:not-allowed}.run-ai-button{display:flex;align-items:center;justify-content:center;gap:8px;padding:10px 20px;background:linear-gradient(135deg,#8b5cf6,#6366f1);border:none;border-radius:0;color:#fff;font-weight:700;font-size:14px;cursor:pointer;transition:all .2s;height:40px;box-sizing:border-box}.run-ai-button:hover:not(:disabled){background:linear-gradient(135deg,#7c3aed,#4f46e5)}.run-ai-button:disabled{opacity:.5;cursor:not-allowed}.run-ai-button svg{width:16px;height:16px}.run-ai-button .spinner-small{width:16px;height:16px;border:2px solid rgba(255,255,255,.3);border-top-color:#fff;border-radius:50%;animation:spin .8s linear infinite}.suggestion-hint{margin:8px 0 0;font-size:12px;color:var(--color-text-secondary);line-height:1.4}.single-ai-modal .modal-footer{display:flex;justify-content:flex-end;align-items:center;gap:12px;padding:16px 20px;border-top:1px solid var(--color-border)}.single-ai-modal .cancel-button{padding:10px 20px;background:transparent;border:1px solid var(--color-border);border-radius:0;color:var(--color-text);font-weight:600;font-size:14px;cursor:pointer;transition:all .2s;height:40px;box-sizing:border-box}.single-ai-modal .cancel-button:hover{background:#ffffff1a}.single-ai-modal .accept-button{padding:10px 20px;background:#00ba7c;border:none;border-radius:0;color:#fff;font-weight:700;font-size:14px;cursor:pointer;transition:all .2s}.single-ai-modal .accept-button:hover{background:#00a36c}.run-ai-button.books{background:linear-gradient(135deg,#f59e0b,#d97706)}.run-ai-button.books:hover:not(:disabled){background:linear-gradient(135deg,#d97706,#b45309)}.single-ai-modal .accept-button.books{background:#f59e0b}.single-ai-modal .accept-button.books:hover{background:#d97706}.no-images-warning{display:flex;flex-direction:column;align-items:center;gap:12px;padding:24px;background:var(--color-background-elevated);border:1px dashed var(--color-border);text-align:center}.no-images-warning svg{width:48px;height:48px;stroke:var(--color-text-secondary);opacity:.5}.no-images-warning p{margin:0;color:var(--color-text-secondary);font-size:14px}.existing-books,.detected-books{display:flex;flex-direction:column;gap:8px}.existing-books label,.detected-books label{font-size:12px;font-weight:600;color:var(--color-text-secondary);text-transform:uppercase;letter-spacing:.5px}.books-list{display:flex;flex-direction:column;gap:8px}.book-item{padding:12px;background:var(--color-background-elevated);border:1px solid var(--color-border)}.book-item.existing{opacity:.7}.book-item.detected{border-color:#f59e0b;background:#f59e0b0d}.book-item .book-title{font-weight:600;color:var(--color-text);font-size:14px}.book-item .book-author{color:var(--color-text-secondary);font-size:13px;margin-top:2px}.book-item .book-description{color:var(--color-text-secondary);font-size:12px;margin-top:6px;line-height:1.4}.book-item .confidence{display:inline-block;margin-top:8px;padding:2px 8px;font-size:11px;font-weight:600;text-transform:uppercase;border-radius:0}.book-item .confidence.high{background:#00ba7c1a;color:#00ba7c}.book-item .confidence.medium{background:#f59e0b1a;color:#f59e0b}.book-item .confidence.low{background:#ef44441a;color:#ef4444}.tweet-modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#000c;display:flex;align-items:center;justify-content:center;z-index:2000;padding:var(--spacing-lg);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}body:has(.tweet-modal-overlay){overflow-y:hidden}.tweet-modal{background:var(--color-background);border:1px solid var(--color-border);border-radius:0;width:100%;max-width:600px;max-height:90vh;position:relative;display:flex;flex-direction:column}.modal-close-btn{position:absolute;top:var(--spacing-md);right:var(--spacing-md);width:36px;height:36px;border-radius:0;background:none;border:none;color:var(--color-text-secondary);display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all var(--transition-fast);z-index:100}.modal-close-btn:hover{background:var(--color-hover);color:var(--color-text)}.modal-close-btn svg{width:20px;height:20px}.modal-header{display:flex;gap:var(--spacing-md);padding:var(--spacing-lg);position:sticky;top:0;background:var(--color-background);z-index:10;border-bottom:1px solid var(--color-border)}.modal-avatar{width:48px;height:48px;border-radius:50%;overflow:hidden;flex-shrink:0;cursor:pointer;transition:opacity var(--transition-fast)}.modal-avatar:hover{opacity:.8}.modal-avatar img{width:100%;height:100%;object-fit:cover}.modal-user-info{flex:1;min-width:0}.modal-user-name-row{display:flex;align-items:center;gap:var(--spacing-xs);flex-wrap:wrap}.modal-user-name{font-weight:700;font-size:var(--font-size-lg);color:var(--color-text);text-decoration:none}.modal-user-name:hover{text-decoration:underline}.modal-user-name-row .verified-badge{width:20px;height:20px}.modal-user-handle{font-size:var(--font-size-md);color:var(--color-text-secondary);text-decoration:none}.modal-user-handle:hover{text-decoration:underline;color:var(--color-primary)}.modal-date{font-size:var(--font-size-md);color:var(--color-text-secondary);margin-top:4px}.modal-body{padding:var(--spacing-lg);overflow-y:auto;flex:1;min-height:0}.modal-tweet-text{font-size:20px;line-height:1.5;color:var(--color-text);word-wrap:break-word}.modal-tweet-text a{color:var(--color-primary);text-decoration:none}.modal-tweet-text a:hover{text-decoration:underline}.modal-article-title{font-size:24px;font-weight:700;line-height:1.3;color:var(--color-text);margin:0 0 12px}.modal-article-preview{font-size:18px;line-height:1.6;color:var(--color-text-secondary);word-wrap:break-word}.read-full-post-link{display:inline-block;margin-top:12px;font-size:14px;color:var(--color-primary);text-decoration:none;font-weight:500}.read-full-post-link:hover{text-decoration:underline}.modal-media{padding:0 var(--spacing-lg);display:flex;flex-direction:column;gap:var(--spacing-sm)}.modal-media-item{border-radius:0;overflow:hidden;background:var(--color-background-elevated)}.modal-media-item img,.modal-media-item video{width:100%;max-height:500px;object-fit:contain;cursor:pointer}.modal-video-item{position:relative;cursor:pointer}.modal-video-overlay{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column;align-items:center;justify-content:center;background:#0006;color:#fff;gap:var(--spacing-sm);transition:background-color .2s ease}.modal-video-item:hover .modal-video-overlay{background:#00000080}.modal-video-overlay svg{width:48px;height:48px;filter:drop-shadow(0 2px 4px rgba(0,0,0,.3))}.modal-video-overlay span{font-size:var(--font-size-sm);font-weight:500;text-shadow:0 1px 2px rgba(0,0,0,.5)}.modal-footer{display:flex;align-items:center;justify-content:center;padding:var(--spacing-lg);border-top:1px solid var(--color-border);margin-top:auto;position:sticky;bottom:0;background:var(--color-background);z-index:10;flex-shrink:0;position:relative}.modal-actions{display:flex;align-items:center;gap:var(--spacing-xs)}.modal-action-btn{width:34px;height:34px;display:flex;align-items:center;justify-content:center;background:transparent;border:none;border-radius:0;color:var(--color-text-secondary);cursor:pointer;transition:all var(--transition-fast)}.modal-action-btn svg{width:18px;height:18px}.modal-action-btn:hover{background:var(--color-background-hover)}.modal-action-btn.favorite-btn:hover{color:gold;background:#ffd7001a}.modal-action-btn.favorite-btn.active{color:gold}.modal-action-btn.favorite-btn.active svg{fill:gold;stroke:gold}.modal-action-btn.archive-btn:hover{color:#9b59b6;background:#9b59b61a}.modal-action-btn.archive-btn.active{color:#9b59b6}.modal-action-btn.archive-btn.active svg{fill:#9b59b6;stroke:#9b59b6}.modal-action-btn.ai-btn:hover{color:#8b5cf6;background:#8b5cf61a}.modal-action-btn.category-btn:hover{color:var(--color-primary);background:#1d9bf01a}.modal-action-btn.delete-btn:hover{color:#e74c3c;background:#e74c3c1a}.modal-action-btn.delete-btn:disabled{opacity:.5;cursor:not-allowed}.modal-action-btn.pattriq-btn .pattriq-icon{width:22px;height:22px;padding:3px;background:#fff;border-radius:5px}.modal-action-btn.pattriq-btn:hover{background:#1d9bf01a}.modal-action-btn.pattriq-sent{color:#22c55e}.modal-action-btn.pattriq-duplicate{color:#f59e0b}.modal-action-btn.pattriq-error{color:#ef4444}.modal-action-btn.pattriq-loading{opacity:.6}.modal-action-btn.twitter-btn:hover{color:var(--color-text);background:var(--color-background-hover)}.modal-open-x-btn{display:flex;align-items:center;gap:var(--spacing-sm);padding:10px 20px;background:var(--color-text);color:var(--color-background);border:none;border-radius:0;font-size:var(--font-size-sm);font-weight:700;cursor:pointer;transition:all var(--transition-fast);position:absolute;right:var(--spacing-lg)}.modal-open-x-btn:hover{background:var(--color-text-secondary)}.modal-open-x-btn svg{width:16px;height:16px}@media(max-width:600px){.tweet-modal-overlay{padding:0;align-items:flex-end}.tweet-modal{max-height:95vh;border-radius:0}.modal-tweet-text{font-size:18px}.modal-footer{flex-wrap:wrap;gap:var(--spacing-md)}.modal-stats{width:100%;justify-content:space-around}.modal-actions{width:100%;justify-content:center}}.book-info-modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000}.book-info-modal{background:var(--bg-primary, #1a1a1a);border:1px solid var(--border-color, #333);border-radius:8px;width:90%;max-width:500px;box-shadow:0 4px 12px #00000026;display:flex;flex-direction:column}.book-info-header{display:flex;justify-content:space-between;align-items:center;padding:16px;border-bottom:1px solid var(--border-color, #333)}.book-info-header h2{margin:0;font-size:18px;font-weight:700;color:var(--text-primary, #fff)}.close-btn{width:36px;height:36px;border-radius:0;background:none;border:none;color:var(--color-text-secondary);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all var(--transition-fast)}.close-btn:hover{background:var(--color-hover);color:var(--color-text)}.book-info-content{padding:20px;flex:1;overflow-y:auto}.input-group{margin-bottom:16px;display:flex;flex-direction:column}.input-group label{font-size:14px;font-weight:600;margin-bottom:6px;color:var(--text-primary, #fff)}.input-group input,.input-group textarea{padding:10px 12px;background:var(--bg-secondary, #262626);border:1px solid var(--border-color, #333);border-radius:4px;color:var(--text-primary, #fff);font-size:14px;font-family:inherit;transition:border-color .2s ease}.input-group input:focus,.input-group textarea:focus{outline:none;border-color:var(--accent-color, #1da1f2);box-shadow:0 0 0 3px #1da1f21a}.input-group textarea{resize:vertical;min-height:80px}.input-group small{font-size:12px;color:var(--text-secondary, #aaa);margin-top:4px}.preview-section{margin-top:16px;padding:12px;background:var(--bg-secondary, #262626);border-radius:4px;border-left:3px solid var(--accent-color, #1da1f2)}.preview-section h3{margin:0 0 8px;font-size:12px;font-weight:600;color:var(--text-secondary, #aaa);text-transform:uppercase;letter-spacing:.5px}.preview-text{margin:0;font-size:14px;color:var(--text-primary, #fff);line-height:1.4;font-style:italic}.book-info-actions{display:flex;justify-content:space-between;align-items:center;padding:12px 16px;border-top:1px solid var(--border-color, #333);gap:8px}.right-actions{display:flex;gap:8px}.btn-clear,.btn-cancel,.btn-save{padding:8px 16px;border-radius:4px;font-size:14px;font-weight:600;cursor:pointer;transition:all .2s ease;border:none}.btn-clear{background:transparent;color:var(--text-secondary, #aaa);border:1px solid var(--border-color, #333)}.btn-clear:hover:not(:disabled){background:var(--bg-secondary, #262626);color:var(--text-primary, #fff)}.btn-cancel{background:transparent;color:var(--text-secondary, #aaa);border:1px solid var(--border-color, #333)}.btn-cancel:hover:not(:disabled){background:var(--bg-secondary, #262626)}.btn-save{background:#22c55e;color:#fff}.btn-save:hover:not(:disabled){background:#16a34a}.btn-clear:disabled,.btn-cancel:disabled,.btn-save:disabled{opacity:.5;cursor:not-allowed}@media(max-width:600px){.book-info-modal{width:95%;max-width:none}.book-info-actions{flex-direction:column-reverse}.right-actions,.btn-save{width:100%}}.bookmark-card{break-inside:avoid;margin-bottom:var(--column-gap);display:inline-block;width:100%;transition:border-color var(--transition-fast);position:relative}.bookmark-card.has-category{border-left:3px solid var(--category-color, transparent)}.card-inner{width:100%;background:var(--color-background-elevated);border:1px solid var(--color-border);border-radius:0;overflow:hidden;display:flex;flex-direction:column;transition:border-color var(--transition-fast);cursor:pointer}.bookmark-card.has-category .card-inner{border-left:none}.card-inner:hover{border-color:var(--color-text-secondary)}.card-index{display:none}.card-header{display:flex;align-items:flex-start;gap:var(--spacing-md);padding:var(--spacing-md);padding-bottom:0}.user-avatar{flex-shrink:0;width:40px;height:40px;border-radius:50%;overflow:hidden;background:var(--color-background);cursor:pointer;transition:opacity var(--transition-fast)}.user-avatar:hover{opacity:.8}.user-avatar img{width:100%;height:100%;object-fit:cover}.user-info{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}.user-name-row{display:flex;align-items:center;gap:var(--spacing-xs);flex-wrap:wrap}.user-name{font-weight:700;font-size:var(--font-size-md);color:var(--color-text);word-break:break-word;text-decoration:none}.user-name:hover{text-decoration:underline}.verified-badge{width:18px;height:18px;flex-shrink:0}.user-handle{font-size:var(--font-size-md);color:var(--color-text-secondary);text-decoration:none}.user-handle:hover{text-decoration:underline;color:var(--color-primary)}.user-date-row{display:flex;align-items:center;margin-top:2px}.card-date{font-size:var(--font-size-sm);color:var(--color-text-secondary)}.card-date{font-size:var(--font-size-sm);color:var(--color-text-secondary);white-space:nowrap}.card-body{padding:var(--spacing-md);padding-top:var(--spacing-sm)}.tweet-text{font-size:var(--font-size-md);line-height:1.4;color:var(--color-text);word-wrap:break-word;white-space:pre-wrap}.tweet-link{color:var(--color-primary);word-break:break-all}.tweet-link:hover{text-decoration:underline}.tweet-mention{color:var(--color-primary)}.tweet-mention:hover{text-decoration:underline}.tweet-hashtag{color:var(--color-primary)}.tweet-hashtag:hover{text-decoration:underline}.show-more-button{margin-top:var(--spacing-sm);color:var(--color-primary);font-size:var(--font-size-md);font-weight:400}.show-more-button:hover{text-decoration:underline}.article-link-card{position:relative;display:flex;align-items:flex-start;gap:var(--spacing-md);padding:var(--spacing-md);background:var(--color-background);border:1px solid var(--color-border);border-radius:0}.article-icon{flex-shrink:0;width:48px;height:48px;display:flex;align-items:center;justify-content:center;background:var(--color-primary);border-radius:0;color:#fff}.article-icon svg{width:28px;height:28px}.article-info{flex:1;min-width:0;display:flex;flex-direction:column;gap:4px}.article-label{font-size:var(--font-size-sm);font-weight:700;color:var(--color-primary);text-transform:uppercase;letter-spacing:.5px}.article-custom-title{font-size:var(--font-size-md);font-weight:600;color:var(--color-text);line-height:1.3}.article-preview-text{font-size:var(--font-size-sm);color:var(--color-text-secondary);line-height:1.4;margin:4px 0 0;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;text-overflow:ellipsis}.article-image{width:100%;height:150px;object-fit:cover;border-radius:0;margin:8px 0 0;display:block}.article-url{font-size:var(--font-size-sm);color:var(--color-text-secondary);word-break:break-all;text-decoration:none}.article-url:hover{color:var(--color-primary);text-decoration:underline}.article-footer{display:flex;align-items:center;justify-content:space-between;gap:var(--spacing-sm);margin-top:4px}.article-hint{font-size:var(--font-size-xs);color:var(--color-text-secondary)}.article-edit-btn{position:absolute;top:var(--spacing-sm);right:var(--spacing-sm);display:flex;align-items:center;justify-content:center;width:28px;height:28px;padding:0;color:var(--color-text-secondary);background:var(--color-background);border:1px solid var(--color-border);border-radius:50%;cursor:pointer;transition:all var(--transition-fast);opacity:0}.article-link-card:hover .article-edit-btn{opacity:1}.article-edit-btn svg{width:14px;height:14px}.article-edit-btn:hover{color:var(--color-primary);border-color:var(--color-primary);background:#1d9bf01a}.card-media{display:grid;gap:2px;overflow:hidden;margin:0 var(--spacing-md);border-radius:0;border:1px solid var(--color-border)}.card-media.media-count-1{grid-template-columns:1fr}.card-media.media-count-2{grid-template-columns:1fr 1fr}.card-media.media-count-3{grid-template-columns:1fr 1fr;grid-template-rows:1fr 1fr}.card-media.media-count-3 .media-item:first-child{grid-row:span 2}.card-media.media-count-4{grid-template-columns:1fr 1fr;grid-template-rows:1fr 1fr}.media-item{aspect-ratio:16 / 9;overflow:hidden;background:var(--color-background);position:relative}.card-media.media-count-1 .media-item{aspect-ratio:auto;max-height:510px}.card-media.media-count-1 .media-item img{object-fit:contain;background:var(--color-background)}.media-item img{width:100%;height:100%;object-fit:cover;cursor:pointer;transition:opacity var(--transition-fast)}.media-item img:hover{opacity:.9}.media-item video{width:100%;height:100%;object-fit:cover}.media-item.media-error{display:flex;align-items:center;justify-content:center;color:var(--color-text-muted);font-size:var(--font-size-sm);aspect-ratio:16 / 9}.card-video-block{display:block;position:relative;margin:0 var(--spacing-md);overflow:hidden;text-decoration:none;cursor:pointer;min-height:160px;background:linear-gradient(135deg,#1a1a2e,#16213e,#0f3460);border-radius:0}.card-video-thumb{width:100%;height:200px;object-fit:cover;display:block}.card-video-overlay{position:absolute;top:0;left:0;right:0;bottom:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--spacing-xs);background:#0006;color:#fff;transition:background .2s ease;min-height:160px}.card-video-overlay svg{width:48px;height:48px}.card-video-overlay span{font-size:var(--font-size-sm);font-weight:600}.card-video-overlay-inline{min-height:0}.card-video-overlay-inline svg{width:36px;height:36px}.fullscreen-btn{position:absolute;bottom:var(--spacing-sm);right:var(--spacing-sm);width:32px;height:32px;display:flex;align-items:center;justify-content:center;background:#000000b3;border:none;color:#fff;cursor:pointer;transition:background .2s ease;opacity:0}.fullscreen-btn:hover{background:#000000e6}.fullscreen-btn svg{width:18px;height:18px}.media-more{position:absolute;bottom:var(--spacing-sm);right:var(--spacing-sm);background:#000000bf;color:#fff;padding:4px 8px;border-radius:0;font-size:var(--font-size-xs);font-weight:700}.card-footer{display:flex;align-items:center;justify-content:center;padding:var(--spacing-sm) var(--spacing-md);border-top:1px solid var(--color-border-subtle)}.card-stats{display:flex;width:50%;gap:clamp(4px,3%,16px);min-width:0;flex-shrink:0}.card-stats .stat{display:flex;align-items:center;gap:var(--spacing-xs);color:var(--color-text-secondary);font-size:var(--font-size-xs);cursor:default;transition:color var(--transition-fast)}.card-stats .stat svg{width:18px;height:18px;flex-shrink:0}.card-stats .stat:nth-child(1):hover{color:var(--color-reply)}.card-stats .stat:nth-child(2):hover{color:var(--color-retweet)}.card-stats .stat:nth-child(3):hover{color:var(--color-like)}.card-actions{display:flex;align-items:center;justify-content:center;gap:var(--spacing-xs)}.card-actions .modal-action-btn{width:34px;height:34px;display:flex;align-items:center;justify-content:center;background:transparent;border:none;border-radius:0;color:var(--color-text-secondary);cursor:pointer;transition:all var(--transition-fast)}.card-actions .modal-action-btn svg{width:18px;height:18px}.card-actions .modal-action-btn:hover{background:var(--color-background-hover)}.card-actions .modal-action-btn.favorite-btn:hover{color:gold;background:#ffd7001a}.card-actions .modal-action-btn.favorite-btn.active{color:gold}.card-actions .modal-action-btn.favorite-btn.active svg{fill:gold;stroke:gold}.card-actions .modal-action-btn.archive-btn:hover{color:#9b59b6;background:#9b59b61a}.card-actions .modal-action-btn.archive-btn.active{color:#9b59b6}.card-actions .modal-action-btn.archive-btn.active svg{fill:#9b59b6;stroke:#9b59b6}.card-actions .modal-action-btn.ai-btn:hover{color:#8b5cf6;background:#8b5cf61a}.card-actions .modal-action-btn.category-btn:hover{color:var(--color-primary);background:#1d9bf01a}.card-actions .modal-action-btn.delete-btn:hover{color:#e74c3c;background:#e74c3c1a}.card-actions .modal-action-btn.delete-btn:disabled{opacity:.5;cursor:not-allowed}.card-actions .modal-action-btn.pattriq-btn{padding:0}.card-actions .modal-action-btn.pattriq-btn .pattriq-icon{width:22px;height:22px;padding:3px;background:#fff;border-radius:5px;display:block;box-sizing:border-box}.card-actions .modal-action-btn.pattriq-btn:hover{background:#ffffff14}.card-actions .modal-action-btn.pattriq-sent{color:#22c55e}.card-actions .modal-action-btn.pattriq-duplicate{color:#f59e0b}.card-actions .modal-action-btn.pattriq-error{color:#e74c3c}.card-actions .modal-action-btn.pattriq-loading{opacity:.6;cursor:wait}.action-button{width:34px;height:34px;display:flex;align-items:center;justify-content:center;color:var(--color-text-secondary);background:transparent;border:none;border-radius:0;cursor:pointer;transition:all var(--transition-fast);opacity:1;flex-shrink:0}.action-button svg{width:18px;height:18px}.action-button:hover{background:var(--color-background-hover)}.action-button.delete-button:hover{color:#f4212e;background:#f4212e1a}.action-button.twitter-button:hover{color:var(--color-text);background:var(--color-background-hover)}.action-button.category-button:hover{color:var(--color-primary);background:#1d9bf01a}.action-button.ai-button:hover{color:#8b5cf6;background:#8b5cf61a}.action-button.favorite-button{color:var(--color-text-secondary)}.action-button.favorite-button:hover{color:gold;background:#ffd7001a}.action-button.favorite-button.active{color:gold}.action-button.favorite-button.active svg{fill:gold;stroke:gold}.action-button.archive-button{color:var(--color-text-secondary)}.action-button.archive-button:hover{color:#9b59b6;background:#9b59b61a}.action-button.archive-button.active{color:#9b59b6}.action-button.archive-button.active svg{fill:#9b59b6;stroke:#9b59b6}.category-dropdown{position:relative}.category-menu{position:absolute;bottom:100%;right:0;min-width:180px;max-height:240px;overflow-y:auto;background:var(--color-background);border:1px solid var(--color-border);border-radius:0;box-shadow:0 4px 12px #0000004d;padding:var(--spacing-xs);margin-bottom:var(--spacing-xs);z-index:100}.category-menu-item{display:flex;align-items:center;gap:var(--spacing-sm);width:100%;padding:var(--spacing-sm) var(--spacing-md);border-radius:0;color:var(--color-text);font-size:var(--font-size-sm);text-align:left;transition:background-color var(--transition-fast)}.category-menu-item:hover{background:var(--color-background-hover)}.category-menu-item.selected{background:#1d9bf01a}.category-menu-color{width:12px;height:12px;border-radius:50%;flex-shrink:0}.category-menu-name{flex:1}.check-icon{width:16px;height:16px;color:var(--color-primary)}.card-categories{display:flex;flex-wrap:wrap;gap:var(--spacing-xs);padding:0 var(--spacing-md);margin-top:var(--spacing-sm);margin-bottom:6px}.category-tag{font-size:11px;font-weight:600;padding:2px 8px;border-radius:4px;border:1px solid}.category-tag.clickable{cursor:pointer;transition:transform .15s,box-shadow .15s}.category-tag.clickable:hover{transform:translateY(-1px);box-shadow:0 2px 4px #0003}.open-twitter-button{display:none}@media(max-width:600px){.card-header{padding:var(--spacing-sm);padding-bottom:0}.card-body{padding:var(--spacing-sm);padding-top:var(--spacing-xs)}.user-avatar{width:32px;height:32px}.tweet-text{font-size:var(--font-size-sm)}.card-media{margin:0 var(--spacing-sm)}.card-footer{padding:var(--spacing-sm) var(--spacing-sm)}.card-stats{width:50%;gap:clamp(4px,3%,12px)}.card-stats .stat span{display:inline;font-size:12px}.card-stats .stat{padding:var(--spacing-xs);margin:calc(-1 * var(--spacing-xs))}.card-stats .stat svg{width:18px;height:18px}.card-actions{width:50%;gap:0}.action-button{width:25%;max-width:32px;height:32px}.action-button svg{width:16px;height:16px}.card-categories{padding:0 var(--spacing-sm)}}.detected-books-section{padding:var(--spacing-sm) var(--spacing-md);background:#8b5cf614;border-top:1px solid rgba(139,92,246,.2)}.detected-books-header{display:flex;align-items:center;gap:var(--spacing-xs);margin-bottom:var(--spacing-xs)}.detected-books-icon{font-size:14px}.detected-books-label{font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.5px;color:#8b5cf6}.detected-books-list{display:flex;flex-direction:column;gap:6px}.detected-book-item{display:flex;flex-direction:column;gap:2px;padding:var(--spacing-xs) var(--spacing-sm);background:#8b5cf61f;border-radius:0;border-left:2px solid #8b5cf6}.detected-book-title{font-size:13px;font-weight:600;color:var(--color-text-primary)}.detected-book-author{font-size:12px;color:var(--color-text-secondary);font-style:italic}.detected-book-description{font-size:11px;color:var(--color-text-tertiary);line-height:1.4;margin-top:2px}.book-detected-badge{position:absolute;top:8px;right:8px;background:#8b5cf6f2;color:#fff;padding:4px 8px;border-radius:0;display:flex;align-items:center;gap:4px;font-size:12px;font-weight:600;z-index:10;box-shadow:0 2px 8px #0000004d}.book-detected-badge svg{width:14px;height:14px;display:none}.card-media{position:relative}.view-mode-selector{display:flex;gap:4px;background:var(--color-background-elevated);border-radius:0;padding:4px;border:1px solid var(--color-border)}.view-mode-btn{display:flex;align-items:center;gap:6px;padding:8px 12px;background:transparent;border:none;border-radius:0;color:var(--color-text-secondary);cursor:pointer;font-size:13px;font-weight:500;transition:all .2s ease}.view-mode-btn:hover{background:var(--color-background);color:var(--color-text)}.view-mode-btn.active{background:#1d9bf0;color:#fff}.view-mode-btn svg{width:16px;height:16px}.view-mode-btn span{display:none}@media(min-width:1024px){.view-mode-btn span{display:inline}}.header{position:fixed;top:0;left:0;right:0;height:var(--header-height);background:var(--color-background);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-bottom:1px solid var(--color-border);z-index:1000}@media(max-width:768px){.header{height:var(--header-height)}}.header-content{max-width:1800px;height:100%;margin:0 auto;padding:0 var(--spacing-lg);display:flex;align-items:center;gap:var(--spacing-md)}.header-brand{display:flex;align-items:center;gap:var(--spacing-md);flex-shrink:0}.header-right{flex:1;display:flex;align-items:center;justify-content:flex-end;gap:var(--spacing-md);flex-wrap:nowrap}.logo{display:flex;align-items:center;gap:var(--spacing-sm);font-size:var(--font-size-lg);font-weight:700;color:var(--color-text);text-decoration:none}.logo:hover{text-decoration:none}.logo-icon{width:24px;height:24px;object-fit:contain}.logo-text{white-space:nowrap;font-size:20px;line-height:24px}@keyframes gradientShift{0%{background-position:0% 50%}50%{background-position:100% 50%}to{background-position:0% 50%}}.header .gradient-x{background:linear-gradient(90deg,red,#ff8000,#ff0,#0f0,#0ff,#0080ff,#8000ff,#f0f,red);background-size:400% 100%;-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;animation:gradientShift 6s linear infinite;font-weight:700}.bookmark-count{font-size:var(--font-size-sm);font-weight:600;color:var(--color-text-secondary);background:var(--color-background-elevated);padding:0 12px;border-radius:0;border:1px solid var(--color-border);height:34px;display:flex;align-items:center;box-sizing:border-box}.search-area{display:flex;align-items:center;gap:8px;flex:1;min-width:0;max-width:700px}.search-form{min-width:120px;flex:1}.search-input-wrapper{position:relative;display:flex;align-items:center;height:36px;width:100%;flex:1}.search-icon{position:absolute;left:var(--spacing-md);width:16px;height:16px;color:var(--color-text-secondary);stroke-width:2;pointer-events:none}.search-input{width:100%;height:100%;padding:0 var(--spacing-md)!important;padding-left:50px!important;padding-right:32px!important;background:var(--color-background-elevated);border:1px solid var(--color-border);border-radius:0!important;color:var(--color-text);font-size:var(--font-size-sm);transition:border-color var(--transition-fast),background-color var(--transition-fast)}.search-input::placeholder{color:var(--color-text-tertiary)}.search-input:focus{outline:none;border-color:var(--color-primary);background:var(--color-background)}.clear-search{position:absolute;right:8px;width:18px;height:18px;display:flex;align-items:center;justify-content:center;color:var(--color-background);background:var(--color-text-secondary);font-size:12px;font-weight:700;border-radius:0;transition:background-color var(--transition-fast)}.clear-search:hover{background:var(--color-text)}.header-controls{display:flex;align-items:center;gap:var(--spacing-sm);flex-shrink:0}.header-divider{width:1px;height:24px;background:var(--color-border);margin:0 var(--spacing-xs)}.filter-group{display:flex;align-items:center;gap:4px;background:var(--color-background-elevated);border:1px solid var(--color-border);border-radius:0;padding:3px;height:34px;box-sizing:border-box;position:relative}.icon-button{width:26px;height:26px;display:flex;align-items:center;justify-content:center;background:transparent;border:none;border-radius:0;color:var(--color-text-secondary);cursor:pointer;transition:all var(--transition-fast)}.icon-button svg{width:16px;height:16px}.icon-button:hover{background:var(--color-hover);color:var(--color-text)}.icon-button.active{background:var(--color-primary);color:#fff}.icon-button.active svg{stroke:#fff}.action-buttons-group{display:flex;align-items:center;gap:var(--spacing-sm);flex-shrink:0}.header .ai-button{display:flex;align-items:center;justify-content:center;width:34px;height:34px;padding:0;background:linear-gradient(135deg,#8b5cf6,#6366f1);border:none;border-radius:0;color:#fff;cursor:pointer;transition:all var(--transition-fast);position:relative}.header .ai-button svg{width:16px;height:16px;stroke:#fff}.header .ai-button:hover{background:linear-gradient(135deg,#7c3aed,#4f46e5)}.header .ai-button .ai-badge{position:absolute;top:-4px;right:-4px;width:16px;height:16px;background:#ef4444;border-radius:50%;font-size:11px;font-weight:700;display:flex;align-items:center;justify-content:center;color:#fff;box-shadow:0 2px 4px #0000004d;animation:pulse-badge 2s infinite}@keyframes pulse-badge{0%,to{transform:scale(1)}50%{transform:scale(1.1)}}.header .ai-button.has-pending{box-shadow:0 0 8px #ef444480}.vision-button{display:flex;align-items:center;justify-content:center;width:34px;height:34px;padding:0;background:linear-gradient(135deg,#ec4899,#db2777);border:none;border-radius:0;color:#fff;cursor:pointer;transition:all var(--transition-fast)}.vision-button svg{width:16px;height:16px;stroke:#fff}.vision-button:hover{background:linear-gradient(135deg,#db2777,#be185d)}.fetch-button{display:flex;align-items:center;justify-content:center;width:34px;height:34px;padding:0;background:linear-gradient(135deg,#00ba7c,#00a572);border:none;border-radius:0;color:#fff;cursor:pointer;transition:all var(--transition-fast)}.fetch-button svg{width:16px;height:16px;stroke:#fff}.fetch-button:hover:not(:disabled){background:linear-gradient(135deg,#00a572,#009466)}.fetch-button:disabled{opacity:.7;cursor:not-allowed;transform:none}.home-button{display:flex;align-items:center;justify-content:center;width:34px;height:34px;padding:0;background:#22c55e;border:none;border-radius:0;color:#fff;text-decoration:none;cursor:pointer;transition:background-color var(--transition-fast)}.home-button svg{width:16px;height:16px;stroke:#fff}.home-button:hover{background:#16a34a}.dashboard-button{display:flex;align-items:center;justify-content:center;width:34px;height:34px;padding:0;background:#ffc107;border:none;border-radius:0;color:#1a1a1a;text-decoration:none;cursor:pointer;transition:background-color var(--transition-fast),border-color var(--transition-fast)}.dashboard-button svg{width:16px;height:16px;stroke:#1a1a1a}.dashboard-button:hover{background:gold}.dashboard-button:hover svg{stroke:#1a1a1a}.help-button{display:flex;align-items:center;justify-content:center;width:34px;height:34px;padding:0;background:#6b7280;border:none;border-radius:0;color:#fff;text-decoration:none;cursor:pointer;transition:background-color var(--transition-fast)}.help-button svg{width:16px;height:16px;stroke:#fff}.help-button:hover{background:#4b5563}.header .logout-button{display:flex;align-items:center;justify-content:center;width:34px;height:34px;padding:0;background:#ef4444;border:none;border-radius:0;color:#fff;cursor:pointer;transition:background-color var(--transition-fast),border-color var(--transition-fast)}.header .logout-button svg{width:16px;height:16px;stroke:#fff}.header .logout-button:hover{background:#dc2626}.header .logout-button:hover svg{stroke:#fff}.extension-cta-button{display:inline-flex;align-items:center;justify-content:center;height:36px;padding:0 14px;background:#1d9bf0;color:#fff;border:none;border-radius:0;text-decoration:none;font-size:var(--font-size-sm);font-weight:600;white-space:nowrap;transition:background-color var(--transition-fast)}.extension-cta-button:hover{background:#1681c4;color:#fff}@media(max-width:900px){.header-content{gap:var(--spacing-md);padding:0 var(--spacing-md)}.logo-text{display:none}.search-form{max-width:280px}}.category-filter-wrapper{position:static}.category-filter-wrapper .icon-button{position:relative}.filter-badge{position:absolute;top:-4px;right:-4px;background:var(--color-primary);color:#fff;font-size:10px;font-weight:600;min-width:16px;height:16px;border-radius:50%;display:flex;align-items:center;justify-content:center;padding:0 4px}.category-filter-dropdown{position:absolute;top:calc(100% + 4px);right:-1px;left:-1px;background:var(--color-background);border:1px solid var(--color-border);border-radius:0;min-width:calc(100% + 2px);max-height:320px;overflow:hidden;display:flex;flex-direction:column;box-shadow:var(--shadow-md);z-index:1000}@media(max-width:768px){.category-filter-dropdown{position:fixed;top:calc(var(--header-height) + 8px);left:50%;transform:translate(-50%);right:auto;max-height:70vh;width:calc(100vw - 2 * var(--spacing-sm));max-width:none;z-index:1001}.category-filter-wrapper:before{content:"";display:none}.category-filter-wrapper:has(.category-filter-dropdown):before{content:"";display:block;position:fixed;top:0;right:0;bottom:0;left:0;background:#00000080;z-index:1000}}.category-filter-header{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;border-bottom:1px solid var(--color-border);font-size:13px;font-weight:600;color:var(--color-text)}.clear-filter-btn{background:none;border:none;color:var(--color-primary);font-size:12px;cursor:pointer;padding:4px 8px;margin:-4px -8px}.clear-filter-btn:hover{text-decoration:underline}.category-filter-list{overflow-y:auto;max-height:260px;padding:8px 0}.category-filter-item{display:flex;align-items:center;gap:10px;padding:8px 16px;cursor:pointer;transition:background var(--transition-fast)}.category-filter-item:hover{background:var(--color-hover)}.category-filter-item input[type=checkbox]{width:16px;height:16px;accent-color:var(--color-primary);cursor:pointer}.category-color-dot{width:10px;height:10px;border-radius:50%;flex-shrink:0}.category-filter-item .category-name{font-size:13px;color:var(--color-text);flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.no-categories{padding:16px;text-align:center;color:var(--color-text-tertiary);font-size:13px}.category-filter-divider{height:1px;background:var(--color-border);margin:4px 16px 8px}.no-category-item .category-color-dot{background:transparent!important}.category-filter-item input[type=checkbox]:disabled{opacity:.4;cursor:not-allowed}.category-filter-item input[type=checkbox]:disabled+.category-color-dot,.category-filter-item input[type=checkbox]:disabled~.category-name{opacity:.5}@media(max-width:768px){.header-content{padding:0 var(--spacing-sm);gap:var(--spacing-sm);display:grid;grid-template-columns:auto 1fr auto;align-items:center}.header-brand{order:1;justify-self:start}.bookmark-count{display:none}.header-right{display:contents}.search-form{order:2;width:100%;max-width:300px;justify-self:center}.header-divider,.desktop-only,.fetch-button,.logo-text{display:none}.mobile-menu-toggle{order:3;justify-self:end}.simple-header .extension-cta-button{display:none}}.mobile-menu-toggle{display:none;width:34px;height:34px;align-items:center;justify-content:center;background:var(--color-background-elevated);border:1px solid var(--color-border);color:var(--color-text);cursor:pointer;flex-shrink:0;transition:all var(--transition-fast)}.mobile-menu-toggle svg{width:20px;height:20px}.mobile-menu-toggle:hover{background:var(--color-hover)}@media(max-width:768px){.mobile-menu-toggle{display:flex}}.mobile-menu-inline{display:none}@media(max-width:768px){.mobile-menu-inline{display:block;order:2;width:100%;max-width:400px;justify-self:center}}.mobile-menu{display:none}.mobile-menu-controls,.mobile-menu-inline .mobile-menu-controls{display:flex;flex-wrap:wrap;gap:var(--spacing-sm);align-items:center;justify-content:center}.mobile-menu-controls .header-divider,.mobile-menu-inline .header-divider,.mobile-menu-controls .view-mode-selector,.mobile-menu-inline .view-mode-selector{display:none}.mobile-menu-controls .filter-group,.mobile-menu-inline .filter-group{flex-wrap:wrap;justify-content:center}.mobile-menu-controls .category-filter-dropdown,.mobile-menu-inline .category-filter-dropdown{position:fixed;top:calc(var(--header-height) + 8px);left:50%;transform:translate(-50%);max-height:70vh;width:calc(100vw - 2 * var(--spacing-sm));max-width:none;z-index:1001}.mobile-menu-controls .category-filter-wrapper:before,.mobile-menu-inline .category-filter-wrapper:before{content:"";display:none}.mobile-menu-controls .category-filter-wrapper:has(.category-filter-dropdown):before,.mobile-menu-inline .category-filter-wrapper:has(.category-filter-dropdown):before{content:"";display:block;position:fixed;top:0;right:0;bottom:0;left:0;background:#00000080;z-index:1000}@media(max-width:1180px){.bookmark-count{display:none}}@media(max-width:1050px){.logo-text{display:none}}.simple-header .logo-text{display:inline!important}.simple-header .header-content{display:flex!important;justify-content:space-between!important;align-items:center}.simple-header .header-brand{order:1;flex-shrink:0}.simple-header .header-right{order:2;display:flex!important;justify-content:flex-end;flex-shrink:0;gap:var(--spacing-sm)}@media(max-width:768px){.header:not(.simple-header) .search-area{order:2;justify-self:center;margin:0 auto;flex:0 1 100%;padding:0 16px;justify-content:center;gap:8px}.header:not(.simple-header) .search-form{min-width:0;flex:0 1 auto;width:100%;max-width:300px}}@media(max-width:500px){.search-form{max-width:140px}.header-content{padding:0 var(--spacing-sm);gap:var(--spacing-sm)}.header-right{gap:var(--spacing-xs)}.extension-cta-button{height:32px;padding:0 10px;font-size:12px}.filter-group{padding:2px;gap:2px;height:30px}.icon-button{width:22px;height:22px}.icon-button svg{width:12px;height:12px}.header .ai-button,.header .vision-button,.header .fetch-button,.header .dashboard-button,.header .home-button,.header .logout-button{width:30px;height:30px}.header .ai-button svg,.header .vision-button svg,.header .fetch-button svg,.header .dashboard-button svg,.header .home-button svg,.header .logout-button svg{width:14px;height:14px}.header-divider{margin:0}.mobile-menu-controls,.mobile-menu-inline .mobile-menu-controls,.action-buttons-group,.simple-header .header-right{gap:4px}.simple-header .extension-cta-button{display:none}.mobile-menu-toggle{width:30px;height:30px}.mobile-menu-toggle svg{width:16px;height:16px}.bookmark-count{display:none}}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#000000bf;display:flex;align-items:center;justify-content:center;z-index:2000;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.feedback-modal{max-width:500px;width:90%;background:var(--color-background);border-radius:0;border:1px solid var(--color-border);box-shadow:0 20px 60px #0000004d;display:flex;flex-direction:column}.feedback-modal .modal-header{display:flex;justify-content:space-between;align-items:center;padding:20px;border-bottom:1px solid var(--color-border)}.feedback-modal .modal-header h2{margin:0;font-size:18px;color:var(--color-text)}.feedback-modal .close-button{background:none;border:none;font-size:28px;color:var(--color-text);cursor:pointer;padding:0;width:32px;height:32px;display:flex;align-items:center;justify-content:center;transition:color .2s}.feedback-modal .close-button:hover{color:var(--color-primary)}.feedback-modal form{padding:20px}.feedback-modal .form-group{margin-bottom:16px}.feedback-modal label{display:block;margin-bottom:6px;font-weight:500;color:var(--color-text)}.feedback-modal .email-note{font-size:12px;font-weight:400;color:var(--color-text-secondary, rgba(255, 255, 255, .6));margin-left:4px}.feedback-modal input,.feedback-modal textarea{width:100%;padding:10px 12px;border:1px solid var(--color-border);border-radius:0;background:var(--color-input-bg);color:var(--color-text);font-size:14px;font-family:inherit;transition:border-color .2s;box-sizing:border-box}.feedback-modal input:focus,.feedback-modal textarea:focus{outline:none;border-color:var(--color-primary)}.feedback-modal input[readonly]{background:var(--color-disabled-background, rgba(128, 128, 128, .1));cursor:not-allowed;color:var(--color-text)}.feedback-modal input[readonly]::placeholder{color:var(--color-text-secondary, rgba(255, 255, 255, .5))}.feedback-modal textarea{resize:vertical;min-height:100px}.feedback-modal .modal-actions{display:flex;gap:12px;justify-content:flex-end;margin-top:20px}.feedback-modal .btn-cancel{padding:10px 20px;background:transparent;border:1px solid var(--color-border);border-radius:0;color:var(--color-text);cursor:pointer;font-size:14px;transition:background-color .2s}.feedback-modal .btn-cancel:hover{background:var(--color-hover)}.feedback-modal .btn-submit{padding:10px 20px;background:var(--color-primary);border:none;border-radius:0;color:#fff;cursor:pointer;font-size:14px;font-weight:500;transition:background-color .2s,opacity .2s}.feedback-modal .btn-submit:hover:not(:disabled){background:var(--color-primary-hover)}.feedback-modal .btn-submit:disabled{opacity:.6;cursor:not-allowed}.feedback-modal .error-message{color:var(--color-error);font-size:13px;margin-top:8px}.feedback-success{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:40px 20px;text-align:center}.feedback-success .success-icon{display:flex;align-items:center;justify-content:center;width:60px;height:60px;background:#10b981;color:#fff;border-radius:0;font-size:32px;margin-bottom:16px}.feedback-success p{color:var(--color-text);font-size:16px;margin:0}.account-modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background-color:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;padding:20px}.account-modal-content{background-color:var(--color-background);border-radius:0;max-width:700px;width:100%;max-height:90vh;display:flex;flex-direction:column;box-shadow:0 10px 40px #0000004d;border:1px solid var(--color-border)}.account-modal-header{display:flex;justify-content:space-between;align-items:center;padding:24px 10px 24px 24px;border-bottom:1px solid var(--color-border)}.account-modal-header h2{margin:0;font-size:24px;color:var(--color-text)}.account-email{margin:4px 0 0;font-size:13px;color:var(--color-text-secondary);font-weight:400}.close-button{background:none;border:none;font-size:28px;color:var(--color-text);cursor:pointer;padding:0;width:32px;height:32px;display:flex;align-items:center;justify-content:center;transition:color .2s}.close-button:hover{color:var(--color-primary)}.account-modal-body{overflow-y:auto;padding:24px;flex:1}.account-section{margin-bottom:32px}.account-section:last-child{margin-bottom:0}.account-section h3{margin:0 0 16px;font-size:18px;color:var(--color-text)}.account-card{background-color:var(--color-background-elevated);border:1px solid var(--color-border);border-radius:0;padding:16px;margin-bottom:16px}.subscription-info{display:flex;flex-direction:column;gap:12px}.info-row{display:flex;justify-content:space-between;align-items:center;padding:8px 0}.info-row .label{color:var(--color-text-secondary);font-weight:500}.info-row .value{color:var(--color-text);font-weight:600}.plan-badge{background-color:var(--color-primary);color:#fff;padding:4px 12px;border-radius:0;font-size:14px}.progress-bar{width:100%;height:6px;background-color:var(--color-background-hover);border-radius:0;overflow:hidden;margin:8px 0}.progress-fill{height:100%;background:linear-gradient(90deg,var(--color-primary),var(--color-accent));transition:width .3s ease}.usage-note{margin:8px 0 0;font-size:13px;color:var(--color-text-secondary)}.account-actions{display:flex;flex-direction:column;gap:0;border:1px solid var(--color-border);overflow:hidden}.action-group{background-color:var(--color-background-elevated);border-bottom:1px solid var(--color-border)}.action-group:last-child{border-bottom:none}.action-group.danger{background-color:#ef444414}.action-row{display:flex;align-items:center;gap:16px;padding:16px}.action-info{flex:1;min-width:0}.action-info h4{margin:0 0 4px;color:var(--color-text);font-size:15px;font-weight:600}.action-info p{margin:0;color:var(--color-text-secondary);font-size:13px;line-height:1.4}.action-button{background-color:var(--color-primary);color:#fff;border:none;padding:10px 16px;border-radius:0;cursor:pointer;font-weight:500;transition:all .2s;font-size:13px;white-space:nowrap;flex-shrink:0;min-width:120px;max-width:200px;text-align:center}.action-button:hover:not(:disabled){opacity:.85}.action-button:disabled{opacity:.45;cursor:not-allowed}.action-button.export-button{background-color:#10a981}.action-button.export-button:hover:not(:disabled){background-color:#059669}.action-button.cancel-button{background-color:var(--color-background-elevated);color:var(--color-text);border:1px solid var(--color-border)}.action-button.cancel-button:hover:not(:disabled){background-color:var(--color-border)}.action-button.delete-button{background-color:#ef4444}.action-button.delete-button:hover:not(:disabled){background-color:#dc2626}.account-message{background-color:var(--color-background-elevated);border:1px solid var(--color-border);border-radius:0;padding:12px 16px;margin-top:8px;margin-bottom:-8px;color:var(--color-text);font-size:14px}.payment-success-banner{display:flex;align-items:center;gap:12px;background:linear-gradient(135deg,#10b98126,#10b9810d);border:1px solid rgba(16,185,129,.3);padding:16px 20px;margin-bottom:24px}.payment-success-banner span{font-size:24px;flex-shrink:0}.payment-success-banner p{margin:0;color:#10b981;font-size:15px;font-weight:600}.account-modal-footer{display:flex;justify-content:flex-end;padding:0 20px 20px}.btn-close{padding:10px 20px;background:var(--color-primary);border:none;border-radius:0;color:#fff;cursor:pointer;font-size:14px;font-weight:500;transition:background-color .2s}.btn-close:hover{background:var(--color-primary-hover)}@media(max-width:600px){.account-modal-overlay{padding:10px}.account-modal-content{max-height:95vh}.account-modal-header{padding:16px}.account-modal-header h2{font-size:20px}.account-modal-body{padding:16px}.action-row{flex-direction:column;align-items:flex-start;gap:12px;padding:16px}.action-button{width:100%;text-align:center}}.partner-form{display:flex;flex-direction:column;gap:14px;padding:16px;border-top:1px solid var(--color-border);margin-top:4px}.partner-field{display:flex;flex-direction:column;gap:6px}.partner-field label{font-size:12px;font-weight:600;color:var(--color-text-secondary);text-transform:uppercase;letter-spacing:.05em}.partner-field input[type=text],.partner-field input[type=url]{background:var(--color-background);border:1px solid var(--color-border);border-radius:0;padding:8px 12px;color:var(--color-text);font-size:13px;width:100%;outline:none;transition:border-color .15s;box-sizing:border-box}.partner-field input:focus{border-color:var(--color-primary)}.partner-scopes{display:flex;flex-wrap:wrap;gap:8px}.scope-check{display:flex;align-items:center;gap:6px;font-size:12px;color:var(--color-text);background:var(--color-background-elevated);border:1px solid var(--color-border);border-radius:0;padding:5px 10px;cursor:pointer;transition:border-color .15s}.scope-check:hover{border-color:var(--color-primary)}.scope-check input[type=checkbox]{accent-color:#1d9bf0;cursor:pointer}.partner-error{color:#ef4444;font-size:13px;margin:4px 0 0}.partner-form-footer{display:flex;justify-content:flex-end}.partner-secret-box{padding:16px;background:#10b9810f;border-top:1px solid var(--color-border);display:flex;flex-direction:column;gap:10px}.partner-secret-warning{color:#f59e0b;font-size:13px;font-weight:600;margin:0}.partner-credential{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.cred-label{font-size:11px;font-weight:600;color:var(--color-text-secondary);text-transform:uppercase;letter-spacing:.05em;min-width:96px}.partner-credential code{flex:1;font-family:Menlo,Consolas,monospace;font-size:12px;color:#22c55e;background:var(--color-background);border:1px solid var(--color-border);padding:3px 8px;word-break:break-all}.copy-btn{background:#1d9bf0;color:#fff;border:none;border-radius:6px;padding:4px 10px;font-size:12px;font-weight:600;cursor:pointer;transition:background .15s;white-space:nowrap}.copy-btn:hover{background:#1a8cd8}.small-code{font-family:Menlo,Consolas,monospace;font-size:11px;color:var(--color-primary);background:var(--color-background);border:1px solid var(--color-border);padding:2px 6px}.partners-loading,.partners-empty{color:var(--color-text-secondary);font-size:13px;margin:0}.spinner-container{display:flex;align-items:center;justify-content:center}.spinner-container.spinner-default{width:60px;height:60px}.spinner-container.spinner-small{width:24px;height:24px}.spinner{position:relative;width:100%;height:100%}.spinner-ring{position:absolute;top:0;right:0;bottom:0;left:0;border-radius:50%;border:3px solid transparent;border-top-color:var(--color-primary);animation:spin 1s linear infinite}.spinner-container.spinner-small .spinner-ring{border-width:2px}.spinner-ring:nth-child(2){top:6px;right:6px;bottom:6px;left:6px;animation-delay:-.3s;border-top-color:var(--color-primary);opacity:.7}.spinner-ring:nth-child(3){top:12px;right:12px;bottom:12px;left:12px;animation-delay:-.6s;border-top-color:var(--color-primary);opacity:.4}.spinner-container.spinner-small .spinner-ring:nth-child(2){top:3px;right:3px;bottom:3px;left:3px}.spinner-container.spinner-small .spinner-ring:nth-child(3){display:none}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.import-status-modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#000000bf;display:flex;align-items:center;justify-content:center;z-index:2000;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.import-status-modal{max-width:700px;width:90%;max-height:80vh;background:var(--color-background);border-radius:0;border:1px solid var(--color-border);box-shadow:0 20px 60px #0000004d;display:flex;flex-direction:column}.import-status-modal-header{display:flex;justify-content:space-between;align-items:center;padding:20px 10px 20px 20px;border-bottom:1px solid var(--color-border)}.import-status-modal-header h2{margin:0;font-size:18px;color:var(--color-text)}.import-status-modal-header .btn-close{padding:8px 16px;background:var(--color-primary);border:none;border-radius:0;color:#fff;cursor:pointer;font-size:13px;font-weight:500;transition:background-color .2s}.import-status-modal-header .btn-close:hover{background:var(--color-primary-hover)}.import-status-modal-content{flex:1;overflow-y:auto;padding:20px}.import-status-modal-footer{padding:16px 20px;border-top:1px solid var(--color-border);display:flex;justify-content:flex-end}.import-status-modal-footer .close-button{padding:10px 20px;background:transparent;border:1px solid var(--color-border);border-radius:0;color:var(--color-text);cursor:pointer;font-size:14px;transition:background-color .2s}.import-status-modal-footer .close-button:hover{background:var(--color-hover)}.import-status-modal .job-selector{margin-bottom:16px}.import-status-modal .job-selector select{width:100%;padding:10px 12px;background:#2a2a2a;border:1px solid var(--color-border);border-radius:0;color:var(--color-text);font-size:14px;cursor:pointer}.import-status-modal .job-selector select option{background:#2a2a2a;color:var(--color-text);padding:8px}.import-status-modal .job-selector select:focus{outline:none;border-color:var(--color-primary)}.import-status-modal .job-detail{display:flex;flex-direction:column;gap:16px}.import-status-modal .job-header{display:flex;align-items:center;gap:12px}.import-status-modal .status-badge{display:inline-flex;align-items:center;gap:4px;padding:4px 10px;border-radius:0;font-size:13px;font-weight:500;text-transform:capitalize}.import-status-modal .status-badge.status-processing{background:#3b82f633;color:#60a5fa}.import-status-modal .status-badge.status-completed{background:#22c55e33;color:#4ade80}.import-status-modal .status-badge.status-failed{background:#ef444433;color:#f87171}.import-status-modal .status-badge.status-pending{background:#9ca3af33;color:#9ca3af}.import-status-modal .progress-section{display:flex;flex-direction:column;gap:8px}.import-status-modal .progress-header{display:flex;align-items:center;gap:8px;font-size:14px}.import-status-modal .phase-icon{font-size:18px}.import-status-modal .phase-label{color:var(--color-text);font-weight:500}.import-status-modal .phase-detail{color:var(--color-text-secondary);font-size:13px}.import-status-modal .progress-bar-container{height:12px;background:var(--color-background-elevated);border-radius:0;overflow:hidden;border:1px solid var(--color-border)}.import-status-modal .progress-bar{height:100%;background:linear-gradient(90deg,var(--color-primary),#1a8cd8);border-radius:0;transition:width .3s ease;min-width:2%}.import-status-modal .progress-bar.complete{background:#22c55e}.import-status-modal .progress-text{font-size:13px;color:var(--color-text-secondary);text-align:right}.import-status-modal .stats-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.import-status-modal .stat-card{background:var(--color-background-elevated);border:1px solid var(--color-border);border-radius:0;padding:12px 8px;text-align:center}.import-status-modal .stat-value{font-size:18px;font-weight:600;color:var(--color-text)}.import-status-modal .stat-label{font-size:11px;color:var(--color-text-secondary);margin-top:4px}.import-status-modal .timing-info{display:flex;flex-wrap:wrap;gap:12px;font-size:13px;color:var(--color-text-secondary)}.import-status-modal .timing-info .error{color:#f87171}.import-status-modal .error-message{padding:12px;background:#ef44441a;border:1px solid rgba(239,68,68,.3);border-radius:0;color:#f87171;font-size:14px}.import-status-modal .no-jobs{text-align:center;padding:40px 20px;color:var(--color-text-secondary)}.import-status-modal .no-jobs p{margin:4px 0}.import-status-modal .jobs-list{display:flex;flex-direction:column;gap:8px}.import-status-modal .job-row{display:flex;align-items:center;gap:12px;padding:12px;background:var(--color-input-bg);border-radius:0;cursor:pointer;transition:background .2s}.import-status-modal .job-row:hover{background:var(--color-hover)}.import-status-modal .status-dot{width:10px;height:10px;border-radius:50%;flex-shrink:0}.import-status-modal .status-dot.status-processing{background:#3b82f6;animation:pulse 1.5s ease-in-out infinite}.import-status-modal .status-dot.status-completed{background:#22c55e}.import-status-modal .status-dot.status-failed{background:#ef4444}.import-status-modal .status-dot.status-pending{background:#9ca3af}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}.import-status-modal .job-info{flex:1;min-width:0}.import-status-modal .job-title{font-weight:500;color:var(--color-text)}.import-status-modal .job-subtitle{font-size:13px;color:var(--color-text-secondary);margin-top:2px}.import-status-modal .job-date{font-size:12px;color:var(--color-text-secondary);white-space:nowrap}.import-status-modal .loading-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:40px;gap:16px;color:var(--color-text-secondary)}.import-status-modal .error-state{text-align:center;padding:40px 20px;color:#f87171}.import-status-modal .single-job-prompt{text-align:center;padding:20px}.import-status-modal .single-job-prompt p{margin-bottom:12px;color:var(--color-text-secondary)}.import-status-modal .view-job-button{padding:12px 24px;background:var(--color-primary);border:none;color:#fff;font-size:14px;cursor:pointer;transition:background .2s}.import-status-modal .view-job-button:hover{background:var(--color-primary-hover, #3b82f6)}.import-status-modal .resume-section{margin-top:16px;padding:16px;background:#ffc1071a;border:1px solid rgba(255,193,7,.3);border-radius:0;text-align:center}.import-status-modal .resume-button{padding:12px 24px;background:#22c55e;border:none;color:#fff;font-size:14px;font-weight:600;cursor:pointer;transition:background .2s}.import-status-modal .resume-button:hover:not(:disabled){background:#16a34a}.import-status-modal .resume-button:disabled{opacity:.6;cursor:not-allowed}.import-status-modal .resume-hint{margin-top:8px;font-size:12px;color:var(--color-text-secondary)}.import-status-modal .detected-books-section{margin-top:24px;padding-top:16px;border-top:1px solid var(--color-border)}.import-status-modal .detected-books-title{font-size:15px;font-weight:600;color:var(--color-text);margin-bottom:12px;display:flex;align-items:center;gap:6px}.import-status-modal .detected-books-list{display:flex;flex-direction:column;gap:12px;max-height:300px;overflow-y:auto}.import-status-modal .detected-books-user{border-left:3px solid var(--color-primary);padding-left:12px;padding-top:8px;padding-bottom:8px}.import-status-modal .detected-books-user-name{font-size:14px;font-weight:600;color:var(--color-primary);margin-bottom:6px}.import-status-modal .detected-books-user-count{font-size:12px;color:var(--color-text-secondary);margin-bottom:8px}.import-status-modal .detected-books-items{display:flex;flex-wrap:wrap;gap:6px}.import-status-modal .detected-book-item{display:inline-block;padding:6px 10px;background:#1d9bf026;border:1px solid rgba(29,155,240,.3);border-radius:0;font-size:12px;color:var(--color-text)}.import-status-modal .detected-book-title{font-weight:500}.import-status-modal .detected-book-author{font-size:11px;color:var(--color-text-secondary);margin-left:4px}.import-status-modal .status-dot.status-stale{background:#f59e0b;animation:pulse 1.5s ease-in-out infinite}@media(max-width:480px){.import-status-modal{max-height:90vh}.import-status-modal .stats-grid{grid-template-columns:repeat(2,1fr)}.import-status-modal .timing-info{flex-direction:column;gap:4px}}.pipeline-steps{display:flex;flex-direction:column;gap:8px;margin-bottom:16px;padding:12px;background:var(--color-background-elevated);border:1px solid var(--color-border)}.pipeline-step{display:flex;align-items:center;gap:12px;padding:10px 12px;background:var(--color-background);border:1px solid var(--color-border);border-radius:0;opacity:.5;transition:all .2s ease}.pipeline-step.active{opacity:1;border-color:var(--color-primary);background:#1d9bf01a}.pipeline-step.completed{opacity:1;border-color:#22c55e;background:#22c55e1a}.pipeline-step.failed{opacity:1;border-color:#ef4444;background:#ef444414}.pipeline-step.failed .step-label,.pipeline-step.failed .step-detail{color:#ef4444}.step-retry-button{padding:2px 10px;font-size:11px;font-weight:600;background:#1d9bf026;color:var(--color-primary);border:1px solid var(--color-primary);border-radius:4px;cursor:pointer;transition:all .15s ease;white-space:nowrap;flex-shrink:0}.step-retry-button:hover{background:var(--color-primary);color:#fff}.pipeline-step .step-icon{font-size:20px;flex-shrink:0;width:28px;text-align:center}.pipeline-step .step-info{flex:1;min-width:0}.step-label-row{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:2px}.pipeline-step .step-label{font-weight:600;font-size:14px;color:var(--color-text)}.pipeline-step .step-detail{font-size:12px;color:var(--color-text-secondary)}.pipeline-step.active .step-label{color:var(--color-primary)}.pipeline-step.completed .step-label,.pipeline-step.completed .step-detail{color:#22c55e}@media(max-width:480px){.pipeline-step{padding:8px 10px;gap:8px}.pipeline-step .step-icon{font-size:16px;width:24px}.pipeline-step .step-label{font-size:13px}.pipeline-step .step-detail{font-size:11px}}.import-toast{position:fixed;bottom:24px;right:24px;background:var(--color-surface);border:1px solid var(--color-border);border-radius:0;padding:12px 16px;display:flex;align-items:center;gap:16px;box-shadow:0 4px 20px #0000004d;z-index:9999;max-width:500px}.import-toast.completed{border-color:var(--color-accent)}.import-toast-content{flex:1;min-width:0;display:flex;flex-direction:column;justify-content:center}.import-toast-text{font-size:.9rem;color:var(--color-text)}.import-toast-progress{margin-top:8px;height:4px;background:var(--color-background);border-radius:0;overflow:hidden}.import-toast-progress-bar{height:100%;background:var(--color-accent);border-radius:0;transition:width .3s ease}.import-toast-actions{display:flex;align-items:center;gap:8px}.import-toast-details{background:var(--color-accent);color:#fff;border:none;border-radius:0;padding:6px 12px;font-size:.8rem;cursor:pointer;transition:background .2s}.import-toast-details:hover{background:var(--color-accent-hover)}.import-toast-dismiss{background:none;border:none;color:var(--color-text-muted);cursor:pointer;padding:4px;font-size:1rem;line-height:1;transition:color .2s}.import-toast-dismiss:hover{color:var(--color-text)}@media(max-width:480px){.import-toast{left:16px;right:16px;bottom:16px;max-width:none}}.app-footer{position:fixed;bottom:0;left:0;right:0;background:var(--color-background);border-top:1px solid var(--color-border);padding:12px 24px;z-index:100;font-size:13px}.footer-content{display:flex;justify-content:space-between;align-items:center;max-width:1800px;margin:0 auto;gap:16px}.footer-left,.footer-right{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.footer-separator{color:var(--color-text-secondary);opacity:.5}.copyright{color:var(--color-text-secondary)}.not-affiliated{color:var(--color-text-secondary);opacity:.7}.footer-link{color:var(--color-text-secondary);text-decoration:none;transition:color .2s}.footer-link.active{color:var(--color-primary);font-weight:500}.footer-button.footer-link{color:var(--color-text-secondary)}.footer-link.import-active{background:linear-gradient(90deg,var(--color-accent) 0%,var(--color-primary) 50%,var(--color-accent) 100%);background-size:200% auto;-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;color:var(--color-accent);animation:shimmer 2s linear infinite}@keyframes shimmer{to{background-position:200% center}}.footer-link:hover{color:var(--color-primary)}.footer-link.import-active:hover{-webkit-text-fill-color:var(--color-accent)}.footer-button{background:none;border:none;padding:0;font:inherit;cursor:pointer}@media(max-width:600px){.app-footer{padding:10px 16px 24px}.footer-content{flex-direction:column;gap:8px}.footer-left{order:2;justify-content:center}.footer-right{order:1;justify-content:center;flex-wrap:wrap;max-width:100%;display:flex;column-gap:8px;row-gap:4px;width:100%}.footer-right>:nth-child(10){display:none}.footer-right>:nth-child(11){margin-left:-4px}.footer-right:after{content:"";width:100%;order:1}.footer-right>:nth-child(n+11){order:2}}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#000000b3;display:flex;align-items:center;justify-content:center;z-index:2000;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.auto-categorize-modal{background:var(--color-background);border-radius:0;width:90%;max-width:600px;max-height:90vh;overflow-y:auto;border:1px solid var(--color-border)}.config-error{display:flex;align-items:center;gap:10px;padding:12px 16px;background:#ff6b6b1a;border:1px solid var(--color-error, #ff6b6b);border-radius:0;color:var(--color-error, #ff6b6b);font-size:14px;margin-bottom:16px}.config-error .error-icon{font-size:18px}.auto-categorize-modal .modal-header{display:flex;align-items:center;justify-content:space-between;padding:20px;border-bottom:1px solid var(--color-border)}.auto-categorize-modal .modal-header h2{font-size:20px;font-weight:700;color:var(--color-text);margin:0}.auto-categorize-modal .close-button{width:36px;height:36px;border-radius:0;background:none;border:none;color:var(--color-text-secondary);display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all var(--transition-fast)}.auto-categorize-modal .close-button svg{width:20px;height:20px}.auto-categorize-modal .close-button:hover{background:var(--color-hover);color:var(--color-text)}.auto-categorize-modal .modal-body{padding:20px;display:flex;flex-direction:column;gap:16px}.mode-section h3{font-size:14px;font-weight:600;color:var(--color-text-secondary);margin:0 0 12px;text-transform:uppercase;letter-spacing:.5px}.mode-buttons{display:grid;grid-template-columns:1fr 1fr;gap:12px}.mode-button{display:flex;flex-direction:column;align-items:center;gap:8px;padding:16px;background:var(--color-background-elevated);border:2px solid var(--color-border);border-radius:0;cursor:pointer;transition:all .2s}.mode-button:hover{border-color:#8b5cf6}.mode-button.active{border-color:#8b5cf6;background:#8b5cf61a}.mode-icon{font-size:24px}.mode-label{font-weight:600;color:var(--color-text);font-size:14px}.mode-desc{font-size:12px;color:var(--color-text-secondary)}.api-key-section{background:var(--color-background-elevated);border-radius:0;padding:16px;border:1px solid var(--color-border)}.api-key-status{display:flex;align-items:center;justify-content:space-between}.api-key-saved{color:#8b5cf6;font-weight:500}.change-key-btn{background:none;border:none;color:#8b5cf6;cursor:pointer;font-size:14px}.api-key-input-row{display:flex;gap:8px}.api-key-input{flex:1;padding:10px 12px;background:var(--color-background);border:1px solid var(--color-border);border-radius:0;color:var(--color-text);font-size:14px}.api-key-input:focus{outline:none;border-color:#8b5cf6}.save-key-btn{padding:10px 16px;background:linear-gradient(135deg,#8b5cf6,#6366f1);border:none;border-radius:0;color:#fff;font-weight:600;cursor:pointer}.save-key-btn:disabled{opacity:.5;cursor:not-allowed}.api-key-hint{font-size:12px;color:var(--color-text-secondary);margin:8px 0 0}.categories-section{margin-top:var(--spacing-lg)}.categories-section h3{font-size:14px;font-weight:600;color:var(--color-text-secondary);margin:0 0 8px;text-transform:uppercase;letter-spacing:.5px}.categories-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px}.categories-header h3{margin:0}.create-defaults-btn{padding:8px 12px;background:linear-gradient(135deg,#8b5cf6,#6366f1);border:none;border-radius:0;color:#fff;font-size:12px;font-weight:600;cursor:pointer}.categories-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:8px}.category-checkbox{display:flex;align-items:center;gap:8px;padding:10px 12px;background:var(--color-background-elevated);border:1px solid var(--color-border);border-radius:0;cursor:pointer;transition:all .2s}.category-checkbox:hover{border-color:#8b5cf6}.category-checkbox.selected{border-color:var(--cat-color, #8b5cf6);background:#8b5cf61a}.category-color{width:12px;height:12px;border-radius:50%;flex-shrink:0}.category-name{color:var(--color-text);font-size:13px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.no-categories{color:var(--color-text-secondary);font-size:14px;text-align:center;padding:20px;background:var(--color-background-elevated);border-radius:0}.default-categories-info{background:var(--color-background-elevated);border-radius:0;border:1px solid var(--color-border);margin-top:0}.default-categories-info summary{padding:12px 16px;color:var(--color-text-secondary);cursor:pointer;font-size:13px}.default-categories-info summary:hover{color:var(--color-text)}.keyword-mappings{padding:0 16px 16px;display:flex;flex-direction:column;gap:8px;max-height:200px;overflow-y:auto}.keyword-mapping{font-size:12px;color:var(--color-text-secondary)}.keyword-mapping strong{color:var(--color-text);margin-right:8px}.all-categorized-message{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:48px 24px;gap:12px;color:var(--color-text-secondary);font-size:15px}.all-categorized-icon{font-size:36px}.all-categorized-message p{margin:0}.categorized-info{padding:12px 16px;background:var(--color-background-elevated);border:1px solid var(--color-border)}.categorized-count{color:var(--color-text-secondary);font-size:13px}.progress-section{background:var(--color-background-elevated);border-radius:0;padding:16px;border:1px solid var(--color-border)}.progress-bar{height:8px;background:var(--color-border);border-radius:0;overflow:hidden}.progress-fill{height:100%;background:linear-gradient(135deg,#8b5cf6,#6366f1);border-radius:0;transition:width .3s ease}.progress-text{margin:12px 0 0;font-size:13px;color:var(--color-text-secondary);text-align:center}.results-section{background:#8b5cf61a;border:1px solid #8b5cf6;border-radius:0;padding:16px}.results-section h3{margin:0 0 16px;color:#8b5cf6;font-size:16px}.results-stats{display:flex;gap:16px}.result-stat{flex:1;text-align:center;padding:12px;background:var(--color-background);border-radius:0}.result-stat .stat-value{display:block;font-size:24px;font-weight:700;margin-bottom:4px}.result-stat .stat-label{font-size:12px;color:var(--color-text-secondary)}.result-stat.success .stat-value{color:#8b5cf6}.result-stat.skipped .stat-value{color:#ffd400}.result-stat.failed .stat-value{color:#f4212e}.auto-categorize-modal .modal-footer{display:flex;justify-content:flex-end;align-items:center;gap:12px;padding:16px 20px;border-top:1px solid var(--color-border)}.auto-categorize-modal .cancel-button{padding:10px 20px;background:transparent;border:1px solid var(--color-border);border-radius:0;color:var(--color-text);font-weight:600;font-size:14px;cursor:pointer;transition:all .2s;height:40px;display:flex;align-items:center;justify-content:center}.auto-categorize-modal .cancel-button:hover{background:#ffffff1a}.auto-categorize-modal .start-button{padding:10px 20px;background:linear-gradient(135deg,#8b5cf6,#6366f1);border:none;border-radius:0;color:#fff;font-weight:700;font-size:14px;cursor:pointer;transition:all .2s;height:40px;display:flex;align-items:center;justify-content:center}.auto-categorize-modal .start-button:hover{background:linear-gradient(135deg,#7c3aed,#4f46e5)}.auto-categorize-modal .start-button:disabled{opacity:.5;cursor:not-allowed}.auto-categorize-modal .retry-button{padding:10px 20px;background:#f4212e;border:none;border-radius:0;color:#fff;font-weight:700;font-size:14px;cursor:pointer;transition:all .2s;height:40px;display:flex;align-items:center;justify-content:center}.auto-categorize-modal .retry-button:hover{background:#dc1d28}.model-section{display:flex;flex-direction:column;gap:8px;margin-bottom:8px}.model-section label{font-size:14px;font-weight:600;color:var(--color-text-secondary);text-transform:uppercase;letter-spacing:.5px}.model-select{padding:12px 36px 12px 16px;background:var(--color-background);border:1px solid var(--color-border);border-radius:0;color:var(--color-text);font-size:14px;cursor:pointer;-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' fill='%2371767b' viewBox='0 0 16 16'%3E%3Cpath d='M8 11L3 6h10l-5 5z'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center}.model-select:hover{border-color:var(--color-text-secondary)}.model-select:focus{outline:none;border-color:#8b5cf6}.model-select:disabled{opacity:.5;cursor:not-allowed}.results-section.has-failed{background:#f4212e1a;border-color:#f4212e}.results-section.has-failed h3{color:#ffd400}.unmatched-section{margin-top:16px;padding-top:16px;border-top:1px solid rgba(255,255,255,.1)}.unmatched-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px;font-size:13px;color:#ffd400}.add-to-other-btn{padding:6px 12px;background:#6b7280;border:none;border-radius:0;color:#fff;font-size:12px;font-weight:600;cursor:pointer;transition:background-color .2s}.add-to-other-btn:hover:not(:disabled){background:#4b5563}.add-to-other-btn:disabled{opacity:.5;cursor:not-allowed}.unmatched-list{display:flex;flex-direction:column;gap:8px;max-height:150px;overflow-y:auto}.unmatched-item{display:flex;gap:8px;font-size:12px;color:var(--color-text-secondary);padding:8px;background:var(--color-background)}.unmatched-number{color:#ffd400;font-weight:600;flex-shrink:0}.unmatched-text{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.unmatched-more,.failed-more{font-size:12px;color:var(--color-text-secondary);font-style:italic;padding:4px 8px}.failed-section{margin-top:16px;padding-top:16px;border-top:1px solid rgba(255,255,255,.1)}.failed-header{margin-bottom:12px;font-size:13px;color:#f4212e}.failed-list{display:flex;flex-direction:column;gap:8px;max-height:120px;overflow-y:auto}.failed-item{font-size:12px;color:var(--color-text-secondary);padding:8px;background:#f4212e1a}.failed-text{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.failed-error{display:block;color:#f4212e;font-size:11px;margin-top:4px}.results-message{font-size:14px;color:var(--color-text-secondary);margin:8px 0 0;text-align:center}.results-hint{font-size:13px;color:#00ba7c;margin:8px 0 0;text-align:center;font-weight:500}.modal-tabs{display:flex;border-bottom:1px solid var(--color-border)}.modal-tab{flex:1;display:flex;align-items:center;justify-content:center;gap:8px;padding:12px 16px;background:none;border:none;color:var(--color-text-secondary);font-size:14px;font-weight:500;cursor:pointer;transition:all .2s;position:relative}.modal-tab:hover{color:var(--color-text);background:#ffffff0d}.modal-tab.active{color:var(--color-primary)}.modal-tab.active:after{content:"";position:absolute;bottom:-1px;left:0;right:0;height:2px;background:var(--color-primary)}.modal-tab svg{width:16px;height:16px}.vision-tab-content{padding:20px}.vision-loading{text-align:center;color:var(--color-text-secondary);padding:40px}.vision-status{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-bottom:16px}.status-card{background:var(--color-surface);border-radius:0;padding:12px;text-align:center;border:1px solid var(--color-border)}.status-number{display:block;font-size:1.5rem;font-weight:600;color:var(--color-primary)}.status-label{display:block;font-size:.75rem;color:var(--color-text-secondary);margin-top:2px}.vision-description{color:var(--color-text-secondary);font-size:.85rem;margin-bottom:16px;line-height:1.5}.vision-description strong{color:var(--color-text)}.vision-controls{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:16px}.batch-control{display:flex;align-items:center;gap:8px}.batch-control label{color:var(--color-text-secondary);font-size:.85rem}.batch-control select{background:var(--color-surface);border:1px solid var(--color-border);border-radius:0;color:var(--color-text);padding:6px 10px;font-size:.85rem;cursor:pointer}.batch-control select:hover{border-color:var(--color-border-hover)}.start-btn,.stop-btn{display:flex;align-items:center;gap:6px;padding:8px 16px;border-radius:0;font-size:.85rem;font-weight:500;cursor:pointer;transition:all .2s;border:none}.start-btn{background:linear-gradient(135deg,#a855f7,#7c3aed);color:#fff;height:40px;box-sizing:border-box}.start-btn:hover:not(:disabled){background:linear-gradient(135deg,#9333ea,#6d28d9)}.start-btn:disabled{opacity:.5;cursor:not-allowed}.stop-btn{background:#dc2626;color:#fff}.stop-btn:hover{background:#b91c1c}.vision-progress{margin-bottom:16px}.vision-progress .progress-bar{height:6px;background:var(--color-border);border-radius:0;overflow:hidden;margin-bottom:6px}.vision-progress .progress-fill{height:100%;background:linear-gradient(90deg,#a855f7,#7c3aed);border-radius:0;transition:width .3s ease}.vision-progress .progress-text{display:block;text-align:center;color:var(--color-text-secondary);font-size:.8rem}.vision-results,.vision-recent{margin-top:16px}.vision-results h3,.vision-recent h3{font-size:.9rem;color:var(--color-text);margin-bottom:10px;font-weight:600}.results-list,.recent-list{display:flex;flex-direction:column;gap:10px;max-height:200px;overflow-y:auto}.result-item,.recent-item{background:var(--color-surface);border-radius:0;padding:10px;border:1px solid var(--color-border)}.result-author,.recent-author{color:var(--color-primary);font-size:.8rem;font-weight:500}.recent-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:6px}.recent-count{color:var(--color-text-muted);font-size:.75rem}.result-books,.recent-books{display:flex;flex-wrap:wrap;gap:6px;margin-top:6px}.book-tag{background:#a855f726;border:1px solid rgba(168,85,247,.3);color:#e0e0e0;padding:3px 8px;border-radius:0;font-size:.75rem}.book-author{color:var(--color-text-secondary);font-size:.7rem}@media(max-width:500px){.vision-status{grid-template-columns:1fr;gap:8px}.vision-controls{flex-direction:column;align-items:stretch}.batch-control{justify-content:space-between}.start-btn,.stop-btn{justify-content:center}}.job-started-confirmation{display:flex;flex-direction:column;align-items:center;text-align:center;padding:30px 20px;gap:16px}.job-started-icon{font-size:48px;line-height:1}.job-started-message{display:flex;flex-direction:column;gap:8px}.job-started-message strong{font-size:18px;color:var(--color-text)}.job-started-message p{margin:0;color:var(--color-text-secondary);font-size:14px}.job-started-hint{font-size:13px!important;opacity:.7}.close-button-primary{background:var(--color-primary);color:#fff;border:none;padding:12px 32px;font-size:14px;font-weight:500;cursor:pointer;transition:background .2s;margin-top:8px}.close-button-primary:hover{background:var(--color-primary-hover, #3b82f6)}.fetch-modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background-color:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;padding:20px}.fetch-modal{background-color:var(--color-background);border:1px solid var(--color-border);width:100%;max-width:600px;max-height:90vh;display:flex;flex-direction:column;box-shadow:0 10px 40px #0000004d}.fetch-modal-header{display:flex;justify-content:space-between;align-items:center;padding:24px 10px 24px 24px;border-bottom:1px solid var(--color-border)}.fetch-modal-header h2{margin:0;font-size:24px;color:var(--color-text)}.fetch-modal-header .close-button{background:none;border:none;font-size:28px;color:var(--color-text);cursor:pointer;padding:0;width:32px;height:32px;display:flex;align-items:center;justify-content:center;transition:color .2s}.fetch-modal-header .close-button:hover:not(:disabled){color:var(--color-primary)}.fetch-modal-header .close-button:disabled{opacity:.5;cursor:not-allowed}.fetch-modal-body{padding:24px;overflow-y:auto;flex:1}.import-section{margin-bottom:32px}.import-section:last-child{margin-bottom:0}.import-section h3{margin:0 0 16px;font-size:18px;color:var(--color-text)}.import-actions{display:flex;flex-direction:column;gap:0;border:1px solid var(--color-border);overflow:hidden}.import-actions .action-row{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:12px 16px 8px;background-color:var(--color-background-elevated)}.import-actions .action-row.danger{background-color:#ef444414}.import-actions .action-row.muted-row h4{color:var(--color-text-secondary);font-weight:500}.import-actions .action-row h4{margin:0;color:var(--color-text);font-size:15px;font-weight:600;flex:1}.import-actions .action-description{padding:0 16px 12px;border-bottom:1px solid var(--color-border);background-color:var(--color-background-elevated)}.import-actions .action-description.danger-desc{background-color:#ef444414}.import-actions .action-description:last-child{border-bottom:none}.import-actions .action-description p{margin:0;color:var(--color-text-secondary);font-size:13px;line-height:1.4}.import-mode-selector{display:flex;gap:8px;padding:8px 16px 12px}.import-mode-option{flex:1;display:flex;flex-direction:column;gap:2px;padding:10px 12px;border:1px solid var(--color-border);cursor:pointer;transition:border-color .15s}.import-mode-option:hover{border-color:var(--color-text-secondary)}.import-mode-option.active{border-color:var(--color-accent)}.import-mode-option input[type=radio]{display:none}.import-mode-option .mode-label{font-size:13px;font-weight:600;color:var(--color-text)}.import-mode-option .mode-desc{font-size:11px;color:var(--color-text-secondary);line-height:1.3}.import-actions .action-button,.fetch-modal-footer .action-button{background-color:var(--color-primary);color:#fff;border:none;padding:10px 16px;cursor:pointer;font-weight:500;transition:all .2s;font-size:13px;white-space:nowrap;flex-shrink:0;min-width:120px;max-width:200px;text-align:center;text-decoration:none;display:inline-flex;align-items:center;justify-content:center}.import-actions .action-button:hover:not(:disabled),.fetch-modal-footer .action-button:hover:not(:disabled){opacity:.85}.import-actions .action-button:disabled,.fetch-modal-footer .action-button:disabled{opacity:.45;cursor:not-allowed}.action-button.install-button{background-color:var(--color-primary)}.action-button.import-button{background-color:#10a981}.action-button.import-button:hover:not(:disabled){background-color:#059669}.action-button.upload-btn-label{background-color:var(--color-primary);cursor:pointer}.action-button.cancel-action-button{background-color:var(--color-background-elevated);color:var(--color-text);border:1px solid var(--color-border)}.action-button.cancel-action-button:hover:not(:disabled){background-color:var(--color-border)}.action-button.retry-button{background-color:var(--color-background-elevated);color:var(--color-text);border:1px solid var(--color-border)}.action-button.retry-button:hover:not(:disabled){background-color:var(--color-border)}.spinner{width:32px;height:32px;border:3px solid var(--color-border);border-top-color:var(--color-primary);border-radius:50%;animation:spin .8s linear infinite}.spinner-small{width:18px;height:18px;border:2px solid var(--color-border);border-top-color:var(--color-primary);border-radius:50%;animation:spin .8s linear infinite;flex-shrink:0}.fetch-modal-footer{display:flex;justify-content:flex-end;padding:16px 24px;border-top:1px solid var(--color-border)}.import-result{display:flex;flex-direction:column;align-items:center;gap:var(--spacing-lg);padding:var(--spacing-lg) 0;text-align:center}.result-icon{width:64px;height:64px;display:flex;align-items:center;justify-content:center;border-radius:50%}.result-icon.success{background:#00ba7c1a;border:2px solid #00ba7c}.result-icon.success svg{width:32px;height:32px;stroke:#00ba7c;stroke-width:3}.import-result h3{font-size:var(--font-size-xl);font-weight:700;color:var(--color-text);margin:0}.result-stats{display:flex;justify-content:center;gap:var(--spacing-xl)}.result-stat{display:flex;flex-direction:column;align-items:center;gap:4px}.result-stat .stat-value{font-size:36px;font-weight:700}.result-stat .stat-value.success{color:#00ba7c}.result-stat .stat-value.muted{color:var(--color-text-secondary)}.result-stat .stat-label{font-size:var(--font-size-sm);color:var(--color-text-secondary)}.processed-files{width:100%;background:var(--color-background-elevated);border:1px solid var(--color-border);padding:var(--spacing-md);text-align:left}.processed-files .files-label{font-size:var(--font-size-sm);font-weight:600;color:var(--color-text-secondary);margin:0 0 var(--spacing-xs) 0}.processed-files ul{list-style:none;margin:0;padding:0}.processed-files li{font-size:var(--font-size-sm);color:var(--color-text);font-family:monospace;padding:2px 0}.result-message{color:var(--color-text-secondary);font-size:var(--font-size-sm);margin:0}.background-processing-banner{display:flex;align-items:center;gap:var(--spacing-md);padding:var(--spacing-md);background:linear-gradient(135deg,#2196f31a,#2196f30d);border:1px solid rgba(33,150,243,.3);margin:var(--spacing-md) 0}.processing-icon{font-size:1.5rem;animation:spin 2s linear infinite}.processing-info{flex:1}.processing-title{color:#2196f3;font-weight:600;margin:0 0 4px;font-size:var(--font-size-sm)}.processing-description{color:var(--color-text-secondary);font-size:12px;margin:0;line-height:1.4}.view-status-btn{padding:8px 16px;background:#2196f3;color:#fff;border:none;font-size:13px;font-weight:500;cursor:pointer;white-space:nowrap;transition:background .2s}.view-status-btn:hover{background:#1976d2}@media(max-width:600px){.fetch-modal-overlay{padding:10px}.fetch-modal{max-height:95vh}.fetch-modal-header{padding:16px}.fetch-modal-header h2{font-size:20px}.fetch-modal-body{padding:16px}.import-actions .action-row{flex-direction:column;align-items:flex-start;gap:12px;padding:12px}.import-actions .action-button,.fetch-modal-footer .action-button{width:100%;text-align:center;max-width:none}}.extension-required-state{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:32px 16px;height:100%}.extension-icon-large{font-size:48px;margin-bottom:16px}.extension-required-state h3{font-size:24px;margin:0 0 12px;color:var(--color-text)}.extension-text{font-size:16px;color:var(--color-text-secondary);max-width:400px;margin:0 auto 32px;line-height:1.5}.extension-actions{margin-bottom:24px}.action-button.primary-large{display:inline-flex;align-items:center;justify-content:center;padding:14px 24px;font-size:16px;font-weight:600;background:linear-gradient(135deg,var(--color-primary),#a855f7);color:#fff;border:none;border-radius:0;transition:transform .2s,box-shadow .2s;text-decoration:none;line-height:1.2}.action-button.primary-large:hover{transform:translateY(-2px);box-shadow:0 8px 24px #1d9bf066;text-decoration:none}.extension-hint{font-size:14px;color:var(--color-text-secondary);margin:0}.extension-hint a{color:var(--color-primary);text-decoration:none}.extension-hint a:hover{text-decoration:underline}@keyframes float{0%{transform:translateY(0)}50%{transform:translateY(-10px)}to{transform:translateY(0)}}.ai-search-modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#000c;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);display:flex;align-items:center;justify-content:center;z-index:2000;padding:1rem}.ai-search-modal{background:var(--color-background);border-radius:0;width:100%;max-width:700px;height:90vh;max-height:90vh;display:flex;flex-direction:column;box-shadow:0 25px 50px -12px #00000080;border:1px solid var(--color-border);overflow:hidden}.ai-search-header{display:flex;align-items:center;justify-content:space-between;padding:1rem 1.25rem;border-bottom:1px solid var(--color-border);background:var(--color-background)}.ai-search-title{display:flex;align-items:center;gap:.5rem;font-weight:600;font-size:1.1rem;color:var(--color-text)}.ai-search-title svg{width:24px;height:24px;stroke:var(--color-primary)}.ai-search-controls,.ai-search-controls-top{display:flex;align-items:center;gap:.75rem}.model-select-group{display:flex;align-items:center;gap:.5rem}.model-select-label{font-size:.85rem;color:var(--color-text-secondary);font-weight:500;white-space:nowrap}.model-select{background:var(--color-surface);border:1px solid var(--color-border);border-radius:8px;padding:.5rem .75rem;font-size:.85rem;color:var(--color-text);cursor:pointer}.model-select:hover{border-color:var(--color-primary)}.close-button{background:none;border:none;padding:.5rem;cursor:pointer;color:var(--color-text-secondary);border-radius:8px;display:flex;align-items:center;justify-content:center}.close-button:hover{background:var(--color-surface);color:var(--color-text)}.close-button svg{width:20px;height:20px}.settings-button{background:none;border:none;padding:.5rem;cursor:pointer;color:var(--color-text-secondary);border-radius:8px;display:flex;align-items:center;justify-content:center;transition:all .2s ease}.settings-button:hover{background:var(--color-surface);color:var(--color-text)}.settings-button svg{width:20px;height:20px}.ai-warning{display:flex;align-items:center;gap:.75rem;padding:.75rem 1rem;background:#ff6b6b1a;border-bottom:1px solid rgba(255,107,107,.2);color:#ff6b6b;font-size:.875rem}.ai-warning svg{width:20px;height:20px;flex-shrink:0}.embedding-status{display:flex;align-items:center;justify-content:space-between;padding:.75rem 1rem;background:var(--color-surface);border-bottom:1px solid var(--color-border);font-size:.875rem}.embedding-info{display:flex;align-items:center;gap:.5rem;color:var(--color-text-secondary)}.embedding-label{font-weight:500}.embedding-loading{color:var(--color-text-secondary);font-size:.875rem}.embedding-count{color:var(--color-text)}.embedding-percent{color:var(--color-primary)}.generate-embeddings-btn{display:flex;align-items:center;gap:.5rem;padding:.5rem 1rem;background:var(--color-primary);color:#fff;border:none;border-radius:0;font-size:.875rem;font-weight:500;cursor:pointer;transition:all .2s}.generate-embeddings-btn:hover:not(:disabled){background:var(--color-primary-hover)}.generate-embeddings-btn:disabled{opacity:.7;cursor:not-allowed}.generate-embeddings-btn svg{width:16px;height:16px}.generate-embeddings-btn .spinner{width:14px;height:14px;border:2px solid rgba(255,255,255,.3);border-top-color:#fff;border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.ai-search-messages{flex:1;overflow-y:auto;padding:1rem;display:flex;flex-direction:column;gap:1rem;align-items:flex-start}.ai-search-welcome{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;text-align:center;color:var(--color-text-secondary);gap:1rem;padding:2rem}.welcome-icon{width:64px;height:64px;background:linear-gradient(135deg,var(--color-primary),#a855f7);border-radius:16px;display:flex;align-items:center;justify-content:center}.welcome-icon svg{width:36px;height:36px;stroke:#fff}.ai-search-welcome h3{font-size:1.25rem;font-weight:600;color:var(--color-text);margin:0}.example-queries{display:flex;flex-wrap:wrap;gap:.5rem;justify-content:center;margin-top:.5rem}.example-queries button{background:var(--color-surface);border:1px solid var(--color-border);border-radius:20px;padding:.5rem 1rem;font-size:.875rem;color:var(--color-text-secondary);cursor:pointer;transition:all .2s}.example-queries button:hover{background:var(--color-background);border-color:var(--color-primary);color:var(--color-primary)}.message{display:flex;flex-direction:column;gap:.5rem;max-width:85%;animation:fadeIn .3s ease}.message.assistant{max-width:98%}.message-header{display:flex;align-items:center;gap:.75rem;margin-bottom:.375rem;padding:0 .25rem}.message-role{font-weight:600;font-size:.85rem}.message.user .message-role{color:var(--color-primary)}.message.assistant .message-role{color:#a5b4fc}.message-time{color:var(--color-text-secondary);font-size:.75rem;display:inline-flex;align-items:center;gap:.5rem}.message-fav{background:none;border:none;cursor:pointer;font-size:1.4rem;color:#888;opacity:.8;transition:opacity .15s,color .15s,transform .15s;padding:.25rem;line-height:1;vertical-align:middle;margin-left:.25rem}.message-fav:hover{opacity:1;transform:scale(1.15)}.message-fav.active{opacity:1;color:#fbbf24}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.message.user{align-self:flex-end}.message.assistant{align-self:flex-start}.message.assistant.loading{max-width:fit-content}.message-content{padding:.875rem 1rem;border-radius:4px;line-height:1.5;text-align:left}.message.user .message-content{background:var(--color-primary);color:#fff;border-bottom-right-radius:0;white-space:pre-wrap}.message.assistant .message-content{background:var(--color-surface);color:var(--color-text);border-bottom-left-radius:0;border:1px solid var(--color-border)}.message.assistant .message-content p{margin:0 0 .75rem}.message.assistant .message-content p:last-child{margin-bottom:0}.message.assistant .message-content strong{font-weight:600;color:var(--color-text)}.message.assistant .message-content ul,.message.assistant .message-content ol{margin:.5rem 0;padding-left:1.5rem}.message.assistant .message-content li{margin-bottom:.375rem}.message.assistant .message-content li:last-child{margin-bottom:0}.message.assistant .message-content li.follow-up-question{cursor:pointer;text-decoration:underline;text-decoration-style:dotted;text-underline-offset:3px;transition:color var(--transition-fast)}.message.assistant .message-content li.follow-up-question:hover{color:var(--color-primary)}.message.assistant .message-content h1,.message.assistant .message-content h2,.message.assistant .message-content h3{margin:1rem 0 .5rem;font-weight:600;color:var(--color-text)}.message.assistant .message-content h1:first-child,.message.assistant .message-content h2:first-child,.message.assistant .message-content h3:first-child{margin-top:0}.message.assistant .message-content code{background:var(--color-background);padding:.125rem .375rem;border-radius:4px;font-size:.875em;font-family:SF Mono,Monaco,Inconsolata,monospace}.message.assistant .message-content pre{background:var(--color-background);padding:.75rem;border-radius:8px;overflow-x:auto;margin:.5rem 0}.message.assistant .message-content pre code{background:none;padding:0}.message.assistant .message-content blockquote{border-left:3px solid var(--color-primary);margin:.5rem 0;padding-left:1rem;color:var(--color-text-secondary)}.message.assistant .message-content a{color:var(--color-primary);text-decoration:none}.message.assistant .message-content a:hover{text-decoration:underline}.message.assistant.error .message-content{background:#ff6b6b1a;color:#ff6b6b;border:1px solid rgba(255,107,107,.2)}.rate-limit-link{color:var(--color-accent);text-decoration:underline;cursor:pointer;font-weight:500}.rate-limit-link:hover{opacity:.8}.message.loading .message-content{padding:1rem 1.25rem;background:none;border:none}.typing-indicator{display:flex;gap:4px}.typing-indicator span{width:8px;height:8px;background:var(--color-text-secondary);border-radius:50%;animation:bounce 1.4s ease-in-out infinite}.typing-indicator span:nth-child(2){animation-delay:.2s}.typing-indicator span:nth-child(3){animation-delay:.4s}@keyframes bounce{0%,60%,to{transform:translateY(0)}30%{transform:translateY(-8px)}}.message-sources{padding:.75rem;background:var(--color-background);border-radius:12px;border:1px solid var(--color-border);width:100%}.sources-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:0;padding:.5rem 0;cursor:pointer;-webkit-user-select:none;user-select:none}.sources-header:hover{background:var(--color-hover, rgba(255, 255, 255, .05));border-radius:6px;margin:0 -.5rem;padding:.5rem}.sources-toggle{display:flex;align-items:center;gap:.5rem}.toggle-chevron{width:16px;height:16px;color:var(--color-text-secondary);transition:transform .2s ease}.toggle-chevron.expanded{transform:rotate(90deg)}.sources-label{font-size:.75rem;font-weight:600;color:var(--color-text-secondary);text-transform:uppercase;letter-spacing:.05em}.view-results-btn{display:flex;align-items:center;gap:.375rem;padding:.375rem .625rem;background:var(--color-primary);color:#fff;border:none;border-radius:6px;font-size:.75rem;font-weight:600;cursor:pointer;transition:all .2s}.view-results-btn:hover{background:var(--color-primary-hover, #1a8cd8);transform:translateY(-1px)}.view-results-btn svg{width:14px;height:14px}.message-sources{width:100%}.message-sources.expanded .sources-header{margin-bottom:.5rem}.sources-list{display:flex;flex-direction:column;gap:.375rem;width:100%;margin-top:.5rem}.source-chip{display:flex;align-items:center;gap:.5rem;padding:.5rem .75rem;background:var(--color-surface);border:1px solid var(--color-border);border-left:3px solid #818cf8;border-radius:8px;cursor:pointer;text-align:left;transition:all .2s;font-size:.8125rem;width:100%;min-width:0}.source-chip:hover{background:var(--color-background-elevated);border-color:var(--color-primary);border-left-color:#a5b4fc}.source-index{color:#fbbf24;font-weight:600;flex-shrink:0}.source-author{color:var(--color-primary);font-weight:600;white-space:nowrap;flex-shrink:0}.source-preview{color:var(--color-text-secondary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0}.citation-link{color:#fbbf24;font-weight:600;cursor:pointer;padding:0 2px;border-radius:3px;transition:background .15s,color .15s}.citation-link:hover{background:#fbbf2433;color:#fcd34d}.source-chip.highlighted{background:var(--color-background-elevated);border-color:#fbbf24;border-left-color:#fbbf24;box-shadow:0 0 0 2px #fbbf244d}.ai-search-input-area{display:flex;flex-direction:column;gap:0;padding:1rem;border-top:1px solid var(--color-border);background:var(--color-background)}.clear-chat-btn{background:none;border:none;padding:.5rem;cursor:pointer;color:var(--color-text-secondary);border-radius:8px;display:flex;align-items:center;justify-content:center;transition:all .2s ease}.clear-chat-btn:hover{background:var(--color-surface);color:#ff6b6b}.clear-chat-btn svg{width:20px;height:20px}.ai-search-form{flex:1;display:flex;align-items:flex-end;gap:.5rem;background:var(--color-surface);border:1px solid var(--color-border);border-radius:0;padding:.5rem;transition:border-color .2s}.ai-search-form:focus-within{border-color:var(--color-primary)}.ai-search-form textarea{flex:1;background:none;border:none;padding:.5rem;font-size:.9375rem;color:var(--color-text);resize:none;max-height:120px;min-height:24px;line-height:1.5;font-family:inherit}.ai-search-form textarea::placeholder{color:var(--color-text-secondary)}.ai-search-form textarea:focus{outline:none}.ai-search-form button[type=submit]{background:var(--color-primary);border:none;border-radius:0;padding:.625rem;cursor:pointer;color:#fff;display:flex;align-items:center;justify-content:center;transition:all .2s}.ai-search-form button[type=submit]:hover:not(:disabled){background:var(--color-primary-hover)}.ai-search-form button[type=submit]:disabled{opacity:.5;cursor:not-allowed}.ai-search-form button[type=submit] svg{width:18px;height:18px}.ai-search-embeddings-section{display:flex;flex-direction:column;padding:0;border-top:1px solid var(--color-border);background:var(--color-background);font-size:.875rem}.embeddings-toggle{display:flex;align-items:center;justify-content:space-between;padding:1rem 1.25rem;background:none;border:none;cursor:pointer;color:var(--color-text);transition:background-color .2s}.embeddings-toggle:hover{background:var(--color-surface)}.embeddings-section-title{font-weight:600;color:var(--color-text);font-size:.9rem;letter-spacing:.3px}.toggle-icon{width:20px;height:20px;transition:transform .2s;color:var(--color-text-secondary)}.toggle-icon.open{transform:rotate(180deg)}.embeddings-panel{display:flex;flex-direction:column;gap:.75rem;padding:0 1.25rem 1rem;animation:slideDown .2s ease-out}@keyframes slideDown{0%{opacity:0;max-height:0;overflow:hidden}to{opacity:1;max-height:500px;overflow:visible}}.category-select-group{display:flex;align-items:center;gap:.5rem;flex:1}.category-select-label{font-size:.8rem;color:var(--color-text-secondary);font-weight:500;white-space:nowrap}.category-select{background:var(--color-surface);border:1px solid var(--color-border);border-radius:8px;padding:.4rem .6rem;font-size:.8rem;color:var(--color-text);cursor:pointer;flex:1;max-width:200px}.category-select:hover{border-color:var(--color-primary)}.ai-search-embeddings-section .generate-embeddings-btn{width:100%;justify-content:center}.extracted-filters{padding:.75rem 1rem;background:#58afff14;border-left:3px solid var(--color-primary);font-size:.8rem;margin:.5rem 0}.filters-label{color:var(--color-text-secondary);font-weight:500;margin-bottom:.5rem}.filters-list{display:flex;flex-wrap:wrap;gap:.5rem}.filter-chip{background:var(--color-surface);color:var(--color-text);padding:.3rem .6rem;border-radius:4px;font-size:.75rem;border:1px solid var(--color-border);white-space:nowrap}.filter-chip.exclude{background:#ff6b6b1a;border-color:#ff6b6b4d;color:#ff6b6b}@media(max-width:1024px){.ai-search-modal-overlay{padding:0}.ai-search-modal{border-radius:0;height:100vh;max-height:none;max-width:100%}}@media(max-width:640px){.ai-search-header{padding:.875rem 1rem}.model-select{font-size:.8rem;padding:.4rem .5rem}.embedding-status{flex-direction:column;gap:.75rem;align-items:flex-start}.generate-embeddings-btn{width:100%;justify-content:center}.message{max-width:90%}.example-queries button{font-size:.8rem;padding:.4rem .75rem}}.excluded-categories-bar{padding:.75rem 1rem;background:#ef44441a;border-bottom:1px solid rgba(239,68,68,.2)}.excluded-label{display:flex;align-items:center;gap:.5rem;margin-bottom:.5rem;font-size:.85rem;color:#ef4444}.edit-exclusions-btn{background:none;border:1px solid rgba(239,68,68,.3);color:#ef4444;padding:.2rem .5rem;border-radius:4px;font-size:.75rem;cursor:pointer;transition:all .2s}.edit-exclusions-btn:hover{background:#ef44441a}.excluded-chips{display:flex;flex-wrap:wrap;gap:.375rem}.excluded-chip{display:flex;align-items:center;gap:.375rem;padding:.25rem .5rem;background:#ef444426;border:1px solid rgba(239,68,68,.3);border-radius:999px;font-size:.8rem;color:#fca5a5;cursor:pointer;transition:all .2s}.excluded-chip:hover{background:#ef444440}.excluded-chip .cat-color{width:8px;height:8px;border-radius:50%;flex-shrink:0}.excluded-chip .remove-x{color:#ef4444;font-weight:600;margin-left:.25rem}.exclusion-settings{display:flex;flex-direction:column;gap:.75rem}.category-checkboxes{display:flex;flex-wrap:wrap;gap:.5rem}.category-checkbox{display:flex;align-items:center;gap:.375rem;padding:.375rem .625rem;background:var(--color-surface);border:1px solid var(--color-border);border-radius:6px;font-size:.8rem;cursor:pointer;transition:all .2s}.category-checkbox:hover{background:var(--color-background-elevated)}.category-checkbox.excluded{background:#ef444426;border-color:#ef444466}.category-checkbox input{display:none}.category-checkbox .cat-color{width:10px;height:10px;border-radius:50%;flex-shrink:0}.done-btn{align-self:flex-end;padding:.375rem .75rem;background:var(--color-primary);color:#fff;border:none;border-radius:0;font-size:.8rem;font-weight:500;cursor:pointer;transition:all .2s}.done-btn:hover{background:var(--color-primary-hover, #1a8cd8)}.add-exclusions-btn{display:block;width:calc(100% - 2rem);margin:.75rem 1rem;padding:.5rem;background:transparent;border:1px dashed var(--color-border);border-radius:8px;color:var(--color-text-secondary);font-size:.8rem;cursor:pointer;transition:all .2s;text-align:center}.add-exclusions-btn:hover{border-color:var(--color-primary);color:var(--color-primary);background:#1da1f20d}.exclusion-settings-panel{margin:.5rem 1rem;padding:.75rem;background:var(--color-surface);border:1px solid var(--color-border);border-radius:8px}.exclusion-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.75rem;font-size:.85rem;color:var(--color-text-secondary)}.excluded-chips-row{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap;width:100%;padding-bottom:.5rem}.excluding-label{font-size:.9rem;opacity:.7}.edit-exclusions-btn{padding:.125rem .5rem;background:transparent;border:1px dashed var(--color-border);border-radius:4px;color:var(--color-text-secondary);font-size:.8rem;cursor:pointer;transition:all .2s}.edit-exclusions-btn:hover{border-color:var(--color-primary);color:var(--color-primary)}.input-row{display:flex;align-items:flex-end;gap:.5rem;width:100%}.exclude-btn{padding:.5rem .75rem;background:var(--color-surface);border:1px solid var(--color-border);border-radius:0;cursor:pointer;font-size:1rem;transition:all .2s;display:flex;align-items:center;justify-content:center;align-self:stretch}.exclude-btn:hover{background:var(--color-background-elevated);border-color:var(--color-primary)}.exclude-btn.has-exclusions{background:#ef444426;border-color:#ef444466}.table-view-container{width:100%;overflow-x:auto;padding:20px;padding-top:calc(var(--header-height, 60px) + 20px)}.bookmarks-table{width:100%;min-width:900px;border-collapse:collapse;background:var(--color-surface);overflow:hidden}.bookmarks-table th,.bookmarks-table td{padding:12px 16px;text-align:left;border-bottom:1px solid var(--color-border)}.bookmarks-table th{background:var(--color-background-elevated);color:var(--color-text-secondary);font-weight:600;font-size:12px;text-transform:uppercase;letter-spacing:.5px;position:sticky;top:0;z-index:10;text-align:center}.bookmarks-table tbody tr{cursor:pointer;transition:background .2s ease}.bookmarks-table tbody tr:hover{background:var(--color-background-hover)}.bookmarks-table tbody tr.expanded{background:var(--color-background-elevated)}.col-date{width:150px;white-space:nowrap}.col-user{width:180px}.col-text{min-width:250px}.col-books,.col-media{width:80px}.col-actions{width:160px}.date-text{color:var(--color-text-secondary);font-size:13px}.user-cell{display:flex;align-items:center;gap:10px}.user-avatar-small{width:48px;height:48px;border-radius:0;object-fit:cover}.user-info-cell{display:flex;flex-direction:column;gap:2px;overflow:hidden}.user-info-cell .user-name{color:var(--color-text);font-weight:600;font-size:13px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.user-info-cell .user-handle{color:var(--color-text-secondary);font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.tweet-text-cell{color:var(--color-text);font-size:14px;line-height:1.4;max-height:60px;overflow:hidden;text-overflow:ellipsis;white-space:pre-wrap;word-break:break-word;display:flex;align-items:flex-start;gap:8px}.tweet-text-cell.expanded{max-height:none;white-space:normal}.article-icon-small{width:18px;height:18px;flex-shrink:0;color:var(--color-primary);margin-top:2px}.article-title-table{font-weight:600;color:var(--color-text)}.article-preview-table{font-size:12px;color:#71767b;margin-top:4px;line-height:1.3}.books-badge{display:inline-flex;align-items:center;gap:4px;padding:4px 8px;background:#8b5cf6;color:#fff;border-radius:0;font-size:12px;font-weight:600}.media-badge{display:inline-flex;align-items:center;gap:4px;padding:4px 8px;background:#1d9bf0;color:#fff;border-radius:0;font-size:12px;font-weight:600}.actions-cell{display:flex;gap:8px}.action-btn{display:flex;align-items:center;justify-content:center;width:32px;height:32px;border:none;border-radius:0;background:transparent;color:#71767b;cursor:pointer;transition:all .2s ease}.action-btn svg{width:16px;height:16px}.action-btn.category-btn:hover,.action-btn.open-btn:hover{background:#1d9bf033;color:#1d9bf0}.action-btn.delete-btn:hover{background:#f4212e33;color:#f4212e}.action-btn.favorite-btn:hover{background:#ffd40033;color:#ffd400}.action-btn.favorite-btn.active{color:#ffd400}.action-btn.archive-btn:hover{background:#7856ff33;color:#7856ff}.action-btn.archive-btn.active{color:#7856ff}@media(max-width:768px){.col-books,.col-media{display:none}.col-user{width:120px}}.app{min-height:100vh;display:flex;flex-direction:column;background-color:var(--color-background);padding-bottom:60px}.view-mode-bar{position:fixed;top:var(--header-height);left:0;right:0;display:flex;justify-content:center;padding:12px 20px;background:#000000e6;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-bottom:1px solid var(--color-border);z-index:90}.bookmarks-container{padding-top:calc(var(--header-height) + 20px);padding-left:var(--spacing-lg);padding-right:var(--spacing-lg);padding-bottom:var(--spacing-xxl);column-count:5;column-gap:var(--column-gap);max-width:1800px;margin:0 auto;width:100%}@media(max-width:1600px){.bookmarks-container{column-count:4}}@media(max-width:1200px){.bookmarks-container{column-count:3}}@media(max-width:900px){.bookmarks-container{column-count:2}}@media(max-width:600px){.bookmarks-container{column-count:1;padding-left:var(--spacing-sm);padding-right:var(--spacing-sm)}}.loading-container{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--spacing-md);color:var(--color-text-secondary);font-size:var(--font-size-md);padding-top:calc(var(--header-height) + 70px)}.error-container{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--spacing-md);padding:var(--spacing-xl);text-align:center;padding-top:calc(var(--header-height) + 70px)}.error-container h2{font-size:var(--font-size-xl);color:var(--color-error)}.error-container p{color:var(--color-text-secondary);max-width:500px}.error-hint{background:var(--color-background-elevated);padding:var(--spacing-md);border-radius:var(--radius-md);margin-top:var(--spacing-md)}.error-hint code{color:var(--color-primary)}.retry-button{margin-top:var(--spacing-md);padding:var(--spacing-sm) var(--spacing-xl);background-color:var(--color-text);color:var(--color-background);border-radius:var(--radius-full);font-weight:700;font-size:var(--font-size-md);transition:background-color var(--transition-fast)}.retry-button:hover{background-color:var(--color-text-secondary)}.empty-container{height:calc(100vh - var(--header-height));margin-top:var(--header-height);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--spacing-md);padding:var(--spacing-xl);text-align:center;overflow:hidden}.empty-container h2{font-size:var(--font-size-xl);color:var(--color-text)}.empty-container p{color:var(--color-text-secondary)}.scroll-loader{display:flex;align-items:center;justify-content:center;gap:var(--spacing-sm);padding:var(--spacing-xl);color:var(--color-text-secondary);font-size:var(--font-size-sm);width:100%;column-span:all}.end-message{text-align:center;padding:var(--spacing-xl);color:var(--color-text-muted);font-size:var(--font-size-md);width:100%;column-span:all}.end-message p{display:inline-flex;align-items:center;gap:var(--spacing-sm);padding:var(--spacing-md) var(--spacing-lg);background:var(--color-background-elevated);border-radius:var(--radius-full)}.infinite-scroll-component{overflow:visible!important;column-count:5;column-gap:var(--column-gap)}.infinite-scroll-component:has(.table-view-container){column-count:unset;display:block}@media(max-width:1600px){.infinite-scroll-component{column-count:4}}@media(max-width:1200px){.infinite-scroll-component{column-count:3}}@media(max-width:900px){.infinite-scroll-component{column-count:2}}@media(max-width:600px){.infinite-scroll-component{column-count:1}}.trial-banner{display:flex;align-items:center;justify-content:center;gap:12px;padding:10px 20px;font-size:14px;text-align:center;position:sticky;top:60px;z-index:100}.trial-banner.expired{background:#ef444426;color:#ef4444;border-bottom:1px solid rgba(239,68,68,.3)}.trial-banner.warning{background:#f59e0b26;color:#f59e0b;border-bottom:1px solid rgba(245,158,11,.3)}.trial-banner a{color:inherit;font-weight:600;text-decoration:underline}.banner-dismiss{background:none;border:none;color:inherit;font-size:18px;cursor:pointer;padding:0 4px;opacity:.7;line-height:1}.banner-dismiss:hover{opacity:1}.ai-search-fab{position:fixed;bottom:48px;right:1.5rem;width:44px;height:44px;border-radius:50%;background:linear-gradient(135deg,var(--color-primary),#a855f7);border:none;cursor:pointer;display:flex;align-items:center;justify-content:center;box-shadow:0 4px 16px #1d9bf066;transition:all .2s ease;z-index:900}@media(max-width:600px){.ai-search-fab{bottom:110px}}.ai-search-fab:hover{transform:scale(1.1);box-shadow:0 6px 24px #1d9bf080}.ai-search-fab svg{width:20px;height:20px;stroke:#fff}.landing-page{min-height:100vh;display:flex;flex-direction:column;background:#000;color:#fff;padding:0;position:relative;font-family:Inter,system-ui,-apple-system,sans-serif}.landing-hero{flex:1;display:flex;flex-direction:row;align-items:flex-start;justify-content:center;gap:60px;max-width:1200px;margin:0 auto;padding:40px 20px;padding-top:calc(var(--header-height) + 40px);width:100%;position:relative;z-index:1}.landing-content{flex:1;max-width:560px}.landing-title{font-size:52px;line-height:1.1;font-weight:800;margin-bottom:24px;letter-spacing:-.02em}.landing-title .title-line{display:block;white-space:nowrap}.gradient-text{background:linear-gradient(90deg,#1d9bf0,#f91880,#ffd400);-webkit-background-clip:text;background-clip:text;color:transparent;display:block;padding-bottom:12px}.landing-subtitle{font-size:20px;line-height:1.6;color:#aab8c2;margin-bottom:40px;max-width:480px}.landing-features{display:flex;flex-direction:column;gap:24px;margin-bottom:40px}.feature-row{display:flex;align-items:flex-start;gap:16px}.feature-icon{font-size:24px;background:#ffffff1a;width:48px;height:48px;display:flex;align-items:center;justify-content:center;border-radius:0;flex-shrink:0}.feature-row div strong{display:block;font-size:18px;color:#fff;margin-bottom:4px}.feature-row div p{color:#8899a6;font-size:15px;margin:0;line-height:1.4}.landing-trust{display:flex;gap:16px;margin-top:20px;justify-content:center}.trust-badge{font-size:13px;color:#8899a6;background:#ffffff0d;padding:6px 12px;border-radius:0;border:1px solid rgba(255,255,255,.1)}.landing-links{display:flex;flex-direction:column;gap:8px;margin-top:24px}.landing-links a{color:#1d9bf0;text-decoration:none;font-size:15px;font-weight:500;transition:color .2s}.landing-links a:hover{color:#1a8cd8;text-decoration:underline}.login-wrapper{flex:1;display:flex;justify-content:center;max-width:440px;margin-top:156px}.login-card{background:#fff;border-radius:0;padding:40px;width:100%;box-shadow:0 20px 80px #00000080;display:flex;flex-direction:column;align-items:center}.login-header-mobile{display:none}.login-logo{width:56px;height:56px;margin-bottom:12px;object-fit:contain}.login-card-title{font-size:24px;color:#000;margin:0 0 8px;font-weight:700}.login-subtitle{text-align:center;color:#536471;font-size:15px;margin-bottom:24px;line-height:1.5}.login-form{width:100%;display:flex;flex-direction:column;gap:16px}.login-input{width:100%;padding:14px 16px;border:2px solid #1d9bf0;border-radius:0;font-size:16px;font-family:inherit;transition:border-color .2s;background:#fff}.login-input:focus{border-color:#1d9bf0;background:#fff;outline:none}.login-button{background:#1d9bf0;color:#fff;border:none;padding:14px;border-radius:0;font-size:16px;font-weight:600;cursor:pointer;transition:background .2s}.login-button:hover:not(:disabled){background:#1a8cd8}.login-button:disabled{background:#aaa;cursor:not-allowed}.security-note{margin-top:24px;width:100%}.login-export-hint{margin-top:16px;font-size:13px;color:#536471;text-align:center}.login-export-hint a{color:#1d9bf0;text-decoration:none}.login-export-hint a:hover{text-decoration:underline}.login-security-badge{display:flex;justify-content:center;margin-bottom:4px}.login-input::placeholder{color:#a0aec0;opacity:1;font-size:16px;font-family:inherit}.login-input:disabled{background:#f7f9f9;cursor:not-allowed}.login-link-button{padding:12px 24px;background:transparent;color:#1d9bf0;border:none;border-radius:0;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s;text-decoration:none}.login-link-button:hover:not(:disabled){color:#1a8cd8;text-decoration:underline}.verifying{display:flex;justify-content:center;align-items:center;padding:20px;min-height:100px}.login-message{margin-top:16px;padding:16px;border-radius:0;font-size:14px;line-height:1.6;white-space:pre-wrap;word-break:normal;overflow-wrap:break-word;width:100%}.login-message.success{background:#d4edda;color:#155724;border:1px solid #c3e6cb}.login-message.error{background:#f8d7da;color:#721c24;border:1px solid #f5c6cb}.ai-consent-checkbox{display:flex;align-items:flex-start;gap:10px;margin:0;text-align:left;cursor:pointer}.ai-consent-checkbox input[type=checkbox]{width:18px;height:18px;margin-top:2px;flex-shrink:0;cursor:pointer;accent-color:#1d9bf0}.ai-consent-checkbox .checkbox-text{font-size:13px;line-height:1.5;color:#666}.ai-consent-checkbox .checkbox-text a{color:#1d9bf0;text-decoration:none}.consent-hint{margin:0;font-size:12px;color:#888;text-align:center}.landing-section{max-width:1200px;margin:0 auto;padding:64px 20px;width:100%;position:relative;z-index:1;border-top:1px solid rgba(255,255,255,.05)}.landing-section:last-of-type{padding-bottom:100px}.section-title{font-size:36px;font-weight:800;color:#fff;text-align:center;margin:0 0 12px;letter-spacing:-.02em}.section-subtitle{font-size:18px;color:#8899a6;text-align:center;margin:0 0 48px}.showcase-row{display:flex;align-items:center;gap:48px;margin-bottom:64px}.showcase-row:last-child{margin-bottom:0}.showcase-row.reverse{flex-direction:row-reverse}.showcase-text{flex:1}.showcase-text h3{font-size:24px;font-weight:700;color:#fff;margin:0 0 12px}.showcase-text>p{color:#8899a6;font-size:16px;line-height:1.6;margin:0 0 20px}.showcase-text ul{list-style:none;padding:0;margin:0}.showcase-text ul li{color:#aab8c2;font-size:15px;line-height:1.6;padding-left:20px;position:relative;margin-bottom:6px}.showcase-text ul li:before{content:"✓";position:absolute;left:0;color:#1d9bf0;font-weight:700}.showcase-image{flex:1}.showcase-screenshot{width:100%;height:auto;border:1px solid rgba(255,255,255,.1);display:block}.steps-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}.step-card{border:1px solid rgba(255,255,255,.1);padding:32px 24px;text-align:center;background:#ffffff08}.step-card .step-num{background:#1d9bf0;color:#fff;width:36px;height:36px;border-radius:50%;display:inline-flex;justify-content:center;align-items:center;font-weight:700;font-size:16px;margin-bottom:16px}.step-card h4{color:#fff;font-size:18px;font-weight:600;margin:0 0 8px}.step-card p{color:#8899a6;font-size:14px;margin:0;line-height:1.5}@media(max-width:900px){.landing-hero{flex-direction:column;padding-top:calc(var(--header-height) + 24px);gap:40px;text-align:center;align-items:center}.landing-content{align-items:center;display:flex;flex-direction:column;width:100%}.login-wrapper{margin-top:0}.landing-subtitle{margin-left:auto;margin-right:auto}.landing-title{font-size:40px}.landing-title .title-line{white-space:normal}.section-title{font-size:28px}.showcase-row,.showcase-row.reverse{flex-direction:column;gap:24px;margin-bottom:24px}.steps-grid{grid-template-columns:1fr;max-width:400px;margin:0 auto}.landing-features{align-items:flex-start;text-align:left;background:#ffffff0d;padding:20px;border-radius:0;max-width:420px;width:100%}.feature-icon{width:40px;height:40px;font-size:20px}.landing-links{align-items:center;margin-top:10px;margin-bottom:28px}.landing-links .extension-download-link{display:none}.landing-section{padding:40px 20px}.landing-section:last-of-type{padding-bottom:140px}}.cookie-banner{position:fixed;bottom:20px;left:50%;transform:translate(-50%);z-index:10000;background:var(--color-background-elevated);border:1px solid var(--color-border);box-shadow:0 4px 20px #0006;padding:16px 24px;max-width:680px;width:calc(100% - 40px)}.cookie-banner-inner{display:flex;align-items:center;justify-content:space-between;gap:24px}.cookie-banner-text{margin:0;font-size:14px;color:var(--color-text-secondary);line-height:1.5}.cookie-banner-text a{color:var(--color-primary);text-decoration:none;margin-left:4px}.cookie-banner-text a:hover{text-decoration:underline}.cookie-banner-actions{display:flex;gap:10px;flex-shrink:0}.cookie-btn{padding:8px 16px;border:none;border-radius:0;font-size:13px;font-weight:500;cursor:pointer;transition:all .2s;white-space:nowrap}.cookie-btn-primary{background:var(--color-primary);color:#fff}.cookie-btn-primary:hover{background:var(--color-primary-hover)}.cookie-btn-secondary{background:transparent;color:var(--color-text-secondary);border:1px solid var(--color-border)}.cookie-btn-secondary:hover{background:var(--color-border);color:var(--color-text)}@media(max-width:600px){.cookie-banner{bottom:0;left:0;right:0;transform:none;width:100%;max-width:100%;border:none;border-top:1px solid var(--color-border);padding:16px}.cookie-banner-inner{flex-direction:column;align-items:stretch;gap:16px}.cookie-banner-text{text-align:center;font-size:13px}.cookie-banner-actions{justify-content:center}}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}:root{--color-primary: #1d9bf0;--color-primary-hover: #1a8cd8;--color-accent: #1d9bf0;--color-accent-hover: #1a8cd8;--color-background: #000000;--color-background-elevated: #16181c;--color-background-card: #16181c;--color-background-hover: rgba(231, 233, 234, .1);--color-surface: #16181c;--color-surface-hover: #1c1f23;--color-text: #e7e9ea;--color-text-secondary: #71767b;--color-text-muted: #536471;--color-border: #2f3336;--color-divider: #2f3336;--color-success: #00ba7c;--color-error: #f4212e;--color-retweet: #00ba7c;--color-like: #f91880;--color-reply: #1d9bf0;--color-views: #71767b;--color-hover: #181818;--spacing-xs: 4px;--spacing-sm: 8px;--spacing-md: 12px;--spacing-lg: 16px;--spacing-xl: 24px;--font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;--font-size-xs: 12px;--font-size-sm: 13px;--font-size-base: 15px;--font-size-lg: 17px;--font-size-xl: 20px;--transition-fast: .15s cubic-bezier(.4, 0, .2, 1);--transition-base: .2s cubic-bezier(.4, 0, .2, 1);--z-header: 1000;--z-modal: 2000;--z-tooltip: 3000;--shadow-sm: 0 1px 3px rgba(0, 0, 0, .12);--shadow-md: 0 4px 6px rgba(0, 0, 0, .1);--shadow-lg: 0 10px 20px rgba(0, 0, 0, .15);--header-height: 53px;--column-gap: 16px}[data-theme=light]{--color-background: #ffffff;--color-background-elevated: #f7f9f9;--color-background-card: #ffffff;--color-background-hover: rgba(0, 0, 0, .03);--color-surface: #f7f9f9;--color-surface-hover: #e8ebec;--color-text: #0f1419;--color-text-secondary: #536471;--color-text-muted: #71767b;--color-border: #eff3f4;--color-divider: #eff3f4;--color-hover: #f7f9f9;--color-input-bg: #f0f0f0;--color-accent: #1d9bf0;--color-accent-hover: #1a8cd8;--shadow-sm: 0 1px 3px rgba(0, 0, 0, .08);--shadow-md: 0 4px 6px rgba(0, 0, 0, .06);--shadow-lg: 0 10px 20px rgba(0, 0, 0, .1)}:root{--color-input-bg: #1a1a1a}html{font-size:15px;scroll-behavior:smooth}body{font-family:var(--font-family);background-color:var(--color-background);color:var(--color-text);line-height:1.3125;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;overflow-x:hidden}#root{min-height:100vh;display:flex;flex-direction:column}::-webkit-scrollbar{width:12px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--color-border);border-radius:0}::-webkit-scrollbar-thumb:hover{background:var(--color-text-secondary)}::selection{background:var(--color-primary);color:#fff}a{color:var(--color-primary);text-decoration:none}a:hover{text-decoration:underline}button{font-family:inherit;cursor:pointer;border:none;background:none;font-size:inherit}button:disabled{cursor:not-allowed;opacity:.5}img{max-width:100%;height:auto;display:block}video{max-width:100%;display:block}code{font-family:Fira Code,Consolas,Monaco,monospace;background:var(--color-background-elevated);padding:2px 6px;border-radius:0;font-size:.9em}:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
