.fYBxRq_card{border:1px solid var(--border-subtle);border-radius:var(--radius-lg);transition:transform var(--transition-normal), border-color var(--transition-normal), box-shadow var(--transition-normal);background:#fff;flex-direction:column;height:100%;display:flex;position:relative;overflow:hidden;box-shadow:0 1px 3px #0f172a0d}.fYBxRq_card:hover{border-color:var(--border-medium);transform:translateY(-4px);box-shadow:0 12px 28px -4px #0f172a1a,0 4px 8px -2px #0f172a0a}.fYBxRq_coverWrapper{border-bottom:1px solid var(--border-subtle);background:linear-gradient(#f8fafc 0%,#f1f5f9 100%);justify-content:center;align-items:center;width:100%;height:220px;padding:.85rem 1rem;display:flex;position:relative;overflow:hidden}.fYBxRq_coverFrame{aspect-ratio:2/3;border-radius:var(--radius-sm);max-width:100%;height:100%;transition:transform var(--transition-smooth), box-shadow var(--transition-smooth);background:#e2e8f0;border:1px solid #0f172a14;justify-content:center;align-items:center;display:flex;position:relative;overflow:hidden;box-shadow:0 4px 14px -2px #0f172a29,0 2px 6px -1px #0f172a14}.fYBxRq_card:hover .fYBxRq_coverFrame{transform:translateY(-2px);box-shadow:0 8px 20px -2px #0f172a38,0 3px 8px -1px #0f172a1a}.fYBxRq_coverImage{object-fit:cover;width:100%;height:100%;transition:transform var(--transition-smooth);display:block}.fYBxRq_card:hover .fYBxRq_coverImage{transform:scale(1.03)}.fYBxRq_badgeOverlay{z-index:2;gap:.5rem;display:flex;position:absolute;top:.85rem;left:.85rem}.fYBxRq_content{flex-direction:column;flex:1;gap:.75rem;padding:1.5rem;display:flex}.fYBxRq_category{text-transform:uppercase;letter-spacing:.08em;color:#2563eb;font-size:.75rem;font-weight:700}.fYBxRq_title{color:var(--text-primary);font-size:1.25rem;font-weight:700;line-height:1.3}.fYBxRq_title a{color:var(--text-primary);transition:color var(--transition-fast)}.fYBxRq_title a:hover{color:#2563eb}.fYBxRq_subtitle{color:var(--text-muted);margin-top:-.25rem;font-size:.88rem;line-height:1.4}.fYBxRq_author{color:var(--text-secondary);font-size:.88rem}.fYBxRq_author strong{color:var(--text-primary)}.fYBxRq_description{color:var(--text-secondary);-webkit-line-clamp:3;-webkit-box-orient:vertical;margin-top:.25rem;font-size:.9rem;line-height:1.55;display:-webkit-box;overflow:hidden}.fYBxRq_metaInfo{color:var(--text-muted);border-top:1px solid var(--border-subtle);border-bottom:1px solid var(--border-subtle);align-items:center;gap:1.25rem;margin-top:auto;padding:.75rem 0;font-size:.82rem;display:flex}.fYBxRq_metaItem{align-items:center;gap:.4rem;display:flex}.fYBxRq_progressBarContainer{flex-direction:column;gap:.35rem;padding-top:.5rem;display:flex}.fYBxRq_progressLabel{color:var(--text-muted);justify-content:space-between;font-size:.75rem;font-weight:500;display:flex}.fYBxRq_progressBarTrack{border-radius:var(--radius-full);background:#e2e8f0;width:100%;height:5px;overflow:hidden}.fYBxRq_progressBarFill{border-radius:var(--radius-full);background:#2563eb;height:100%}.fYBxRq_actionsContainer{flex-direction:column;gap:.5rem;margin-top:.5rem;display:flex}.fYBxRq_shareToast{border-radius:var(--radius-sm);align-items:center;gap:.45rem;padding:.45rem .75rem;font-size:.8rem;font-weight:500;animation:.18s cubic-bezier(.16,1,.3,1) fYBxRq_slideDown;display:flex}.fYBxRq_shareToastSuccess{color:#059669;background:#ecfdf5;border:1px solid #05966940}.fYBxRq_shareToastError{color:#dc2626;background:#fef2f2;border:1px solid #dc262640}@keyframes fYBxRq_slideDown{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.fYBxRq_actions{flex-wrap:wrap;align-items:center;gap:.5rem;display:flex}.fYBxRq_readBtn{white-space:nowrap;flex:140px;min-height:40px}.fYBxRq_secondaryActions{flex-shrink:0;align-items:center;gap:.5rem;display:flex}.fYBxRq_iconBtn{border-radius:var(--radius-md);width:40px;min-width:40px;height:40px;min-height:40px;color:var(--text-secondary);border:1px solid var(--border-medium);transition:all var(--transition-fast);cursor:pointer;background:#fff;flex-shrink:0;justify-content:center;align-items:center;padding:0;text-decoration:none;display:inline-flex;box-shadow:0 1px 2px #0f172a0a}.fYBxRq_iconBtn:hover{color:var(--text-primary);border-color:var(--text-muted);background:#f8fafc}.fYBxRq_iconBtn:focus-visible{outline:2px solid var(--border-focus);outline-offset:2px}.fYBxRq_btnSuccess{color:#059669!important;background:#ecfdf5!important;border-color:#05966966!important}.fYBxRq_btnError{color:#dc2626!important;background:#fef2f2!important;border-color:#dc262666!important}@media (max-width:640px){.fYBxRq_coverWrapper{height:195px;padding:.75rem}.fYBxRq_content{gap:.65rem;padding:1.25rem}.fYBxRq_title{font-size:1.15rem}.fYBxRq_actions{flex-direction:column;align-items:stretch;gap:.5rem}.fYBxRq_readBtn{width:100%}.fYBxRq_secondaryActions{grid-template-columns:1fr 1fr;gap:.5rem;width:100%;display:grid}.fYBxRq_secondaryActions .fYBxRq_iconBtn{width:100%;min-width:0}}@media (max-width:380px){.fYBxRq_coverWrapper{height:170px;padding:.5rem}.fYBxRq_content{gap:.5rem;padding:1rem .75rem}.fYBxRq_title{font-size:1.05rem}.fYBxRq_metaInfo{flex-wrap:wrap;gap:.65rem;font-size:.76rem}}
.zJ_vlW_libraryHeader{flex-direction:column;gap:.75rem;padding:3.5rem 0 2rem;display:flex}.zJ_vlW_libraryTitle{color:var(--text-primary);letter-spacing:-.02em;font-size:clamp(2rem,4vw,2.75rem);font-weight:800}.zJ_vlW_librarySubtitle{color:var(--text-secondary);max-width:650px;font-size:1.1rem}.zJ_vlW_controlsBar{border:1px solid var(--border-subtle);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);background:#fff;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;margin-bottom:2.5rem;padding:1.25rem;display:flex}.zJ_vlW_searchBox{background:var(--bg-surface-elevated);border:1px solid var(--border-subtle);border-radius:var(--radius-md);min-width:260px;transition:border-color var(--transition-fast), background var(--transition-fast);flex:1;align-items:center;gap:.75rem;padding:.65rem 1rem;display:flex}.zJ_vlW_searchBox:focus-within{border-color:var(--border-focus);background:#fff}.zJ_vlW_searchInput{color:var(--text-primary);background:0 0;border:none;outline:none;width:100%;font-size:.92rem}.zJ_vlW_searchInput::placeholder{color:var(--text-subtle)}.zJ_vlW_filterGroup{flex-wrap:wrap;align-items:center;gap:.75rem;display:flex}.zJ_vlW_selectWrap{align-items:center;display:flex;position:relative}.zJ_vlW_select{appearance:none;background:var(--bg-surface-elevated);border:1px solid var(--border-subtle);border-radius:var(--radius-md);color:var(--text-primary);cursor:pointer;transition:border-color var(--transition-fast), background var(--transition-fast);outline:none;padding:.65rem 2.2rem .65rem 1rem;font-family:inherit;font-size:.88rem;font-weight:500}.zJ_vlW_select:focus{border-color:var(--border-focus);background:#fff}.zJ_vlW_selectIcon{pointer-events:none;color:var(--text-muted);position:absolute;right:.75rem}.zJ_vlW_bookCount{color:var(--text-muted);font-size:.88rem;font-weight:500}.zJ_vlW_grid{grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:2rem;display:grid}.zJ_vlW_emptyState{text-align:center;border:1px dashed var(--border-medium);border-radius:var(--radius-xl);background:#fff;flex-direction:column;align-items:center;gap:1rem;padding:5rem 2rem;display:flex}.zJ_vlW_emptyIcon{background:var(--bg-surface-elevated);width:56px;height:56px;color:var(--text-muted);border-radius:50%;justify-content:center;align-items:center;display:flex}.zJ_vlW_emptyTitle{color:var(--text-primary);font-size:1.25rem;font-weight:600}.zJ_vlW_emptyDesc{color:var(--text-secondary);max-width:420px;font-size:.95rem}.zJ_vlW_catalogNote{border:1px solid var(--border-subtle);border-radius:var(--radius-md);box-shadow:var(--shadow-sm);color:var(--text-secondary);background:#fff;margin-top:3.5rem;padding:1.5rem;font-size:.88rem;line-height:1.6}@media (max-width:640px){.zJ_vlW_libraryHeader{padding:2rem 0 1.25rem}.zJ_vlW_controlsBar{flex-direction:column;align-items:stretch;gap:.75rem;padding:1rem .85rem}.zJ_vlW_searchBox{width:100%;min-width:0!important}.zJ_vlW_filterGroup{flex-direction:column;gap:.65rem;width:100%}.zJ_vlW_selectWrap,.zJ_vlW_select{width:100%}.zJ_vlW_grid{grid-template-columns:1fr;gap:1.5rem}}
