.book-card{display:flex;flex-direction:column;background-color:var(--card-bg);cursor:pointer;transition:transform .3s ease,box-shadow .3s ease;width:100%;max-width:220px;margin:0 auto;padding:12px;border-radius:16px;box-shadow:0 2px 8px rgba(0,0,0,.05);border:1px solid var(--border-color)}@media (max-width:346px){.book-card{max-width:none;width:100%;padding:6px;margin:.5rem auto}}.book-card:hover{transform:translateY(-4px);box-shadow:0 8px 20px rgba(0,0,0,.1)}[data-theme=dark] .book-card:hover{box-shadow:0 8px 24px rgba(0,0,0,.3)}.book-card-cover{position:relative;width:100%;aspect-ratio:2/3;border-radius:8px;overflow:hidden;box-shadow:0 8px 24px rgba(0,0,0,.12);transition:box-shadow .3s ease;background-color:var(--secondary-color)}.book-card:hover .book-card-cover{box-shadow:0 12px 32px rgba(0,0,0,.18)}.book-card-image{object-fit:cover;transition:transform .5s ease}.book-card:hover .book-card-image{transform:scale(1.03)}.book-card-overlay{position:absolute;top:0;right:0;width:100%;height:100%;background:linear-gradient(180deg,rgba(0,0,0,.3) 0,transparent 30%);opacity:.4;transition:opacity .3s ease;display:flex;justify-content:flex-start;align-items:flex-start;padding:10px}.book-card:hover .book-card-overlay{opacity:1}@media (max-width:768px){.book-card-overlay{opacity:1;background:none;pointer-events:none}.favorite-btn{pointer-events:auto;background:rgba(0,0,0,.4)!important;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}}@keyframes heartPop{0%{transform:scale(1)}50%{transform:scale(1.3)}to{transform:scale(1)}}.favorite-btn{width:34px;height:34px;border-radius:50%;background:rgba(0,0,0,.5);backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);border:1px solid rgba(255,255,255,.3);display:flex;align-items:center;justify-content:center;cursor:pointer;color:white;transition:all .2s ease;box-shadow:0 2px 8px rgba(0,0,0,.2);z-index:10;padding:0}.favorite-btn:hover{transform:scale(1.1);background:rgba(0,0,0,.7);color:white;box-shadow:0 4px 12px rgba(0,0,0,.15)}.favorite-btn:active{transform:scale(.95)}.favorite-btn.liked{background:var(--card-bg);color:var(--accent-color);fill:var(--accent-color);border-color:var(--accent-color-alpha);box-shadow:0 4px 12px var(--accent-color-alpha);animation:heartPop .4s cubic-bezier(.175,.885,.32,1.275)}.favorite-btn svg{width:20px!important;height:20px!important;min-width:20px;min-height:20px;transition:all .3s ease;filter:drop-shadow(0 2px 4px rgba(0,0,0,.05));stroke-width:2.5px}.favorite-btn.liked svg{fill:var(--accent-color);stroke:var(--accent-color);animation:heartbeat .3s ease}@keyframes heartbeat{0%,to{transform:scale(1)}50%{transform:scale(1.1)}}.book-card-info{margin-top:12px}.book-title{font-size:.95rem;font-weight:600;color:var(--text-color);margin:0 0 2px;line-height:1.4;max-height:1.4em}.book-author,.book-title{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;text-size-adjust:none}.book-author{font-size:.85rem;color:var(--placeholder-color);margin:0;line-height:1.5;max-height:1.6em;padding-bottom:2px}.progress-container{margin-top:0;display:flex;align-items:center;gap:8px;min-height:22px}.progress-bar{flex-grow:1;height:4px;background-color:var(--secondary-color);border-radius:2px;overflow:hidden}.progress-fill{height:100%;background-color:var(--accent-color);border-radius:2px}.progress-text{font-size:.75rem;color:var(--placeholder-color);font-weight:500;white-space:nowrap;line-height:1.2;min-width:42px;text-align:center}.note-indicator-overlay{position:absolute;bottom:0;left:0;right:0;width:100%;padding:6px 10px;display:flex;align-items:center;justify-content:center;font-size:.85rem;color:var(--text-color);font-weight:600;box-shadow:0 -2px 10px rgba(0,0,0,.1);z-index:5;border-bottom-left-radius:12px;border-bottom-right-radius:12px;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);max-height:40px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.note-indicator-overlay .note-snippet{width:100%;text-align:center}.note-snippet{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;direction:rtl}.note-icon{flex-shrink:0}@media (max-width:480px){.note-indicator-overlay{padding:3px 6px;font-size:.7rem;max-width:90px}}