.library-page{max-width:1400px;margin:2rem auto;padding:0 1.5rem}.library-header{text-align:center;margin-bottom:3rem;background:#ffffff26;backdrop-filter:blur(10px);border-radius:16px;padding:2rem;border:1px solid rgba(255,255,255,.3)}.library-header h1{font-size:2.5rem;font-weight:800;color:#1e293b;margin-bottom:.5rem}.library-subtitle{font-size:1.2rem;color:#64748b;margin-bottom:2rem}.library-controls{display:flex;flex-direction:column;gap:1rem;max-width:800px;margin:0 auto}.search-bar{display:flex;gap:.5rem}.search-input{flex:1;padding:.75rem 1rem;border:1px solid #e2e8f0;border-radius:8px;font-size:1rem;transition:all .2s ease}.search-input:focus{outline:none;border-color:#667eea;box-shadow:0 0 0 3px #667eea1a}.search-btn{padding:0 1rem;background:#667eea;color:#fff;border:none;border-radius:8px;cursor:pointer;transition:all .2s ease}.search-btn:hover{background:#5a67d8}.filter-controls{display:flex;gap:1rem}.sort-select,.status-filter{flex:1;padding:.75rem 1rem;border:1px solid #e2e8f0;border-radius:8px;font-size:1rem;background:#fff;cursor:pointer}.library-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));max-width:1200px;margin:0 auto;gap:2rem;padding:1rem 0}.book-card{background:#fff;border-radius:16px;box-shadow:0 8px 30px #00000014;overflow:hidden;display:flex;flex-direction:column;transition:all .3s ease;border:1px solid rgba(0,0,0,.05);animation:fadeInUp .5s ease-out;animation-fill-mode:both}@keyframes fadeInUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.book-card:hover{transform:translateY(-8px);box-shadow:0 12px 40px #0000001f}.cover-wrapper{position:relative;width:100%;aspect-ratio:3/4;overflow:hidden}.book-cover{width:100%;height:100%;object-fit:cover;transition:transform .5s ease}.book-card:hover .book-cover{transform:scale(1.1)}.completed-badge{position:absolute;top:.5rem;left:.5rem;background:#4299e1;color:#fff;padding:.25rem .75rem;border-radius:999px;font-size:.75rem;font-weight:600}.book-content{padding:1.5rem;display:flex;flex-direction:column;gap:.75rem;flex-grow:1}.book-title{font-size:1.25rem;font-weight:700;color:#1a202c;margin:0;line-height:1.4}.book-title a{color:inherit;text-decoration:none}.book-title a:hover{color:#667eea}.book-author{font-size:.95rem;color:#4a5568;margin:0;font-style:italic}.book-rating{display:flex;gap:.1rem}.star{color:#e2e8f0;font-size:1.1rem}.star.filled{color:#f6ad55}.status-badge{background:#e6fffa;color:#2c7a7b;padding:.35rem .9rem;border-radius:999px;font-size:.8rem;font-weight:600;width:fit-content;text-transform:uppercase}.status-badge.completed{background:#ebf8ff;color:#2b6cb0}.read-now{margin-top:auto;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;padding:.75rem 1.25rem;border-radius:8px;text-align:center;font-weight:600;text-decoration:none;display:flex;align-items:center;justify-content:center;gap:.5rem;transition:all .3s ease}.read-now:hover{background:linear-gradient(135deg,#5a67d8,#5d3a8a);transform:translateY(-2px);box-shadow:0 4px 12px #667eea4d}.no-results{text-align:center;padding:3rem;color:#64748b}.clear-filters-btn{margin-top:1rem;padding:.5rem 1rem;background:#667eea;color:#fff;border:none;border-radius:8px;cursor:pointer;transition:all .2s ease}.clear-filters-btn:hover{background:#5a67d8}body.dark .library-header{background:#1717234d;border-color:#ffffff1a}body.dark .library-header h1{color:#f1f5f9}body.dark .library-subtitle{color:#94a3b8}body.dark .search-input,body.dark .sort-select,body.dark .status-filter{background:#1e293b;border-color:#334155;color:#f1f5f9}body.dark .book-card{background:#1e293b;border-color:#334155}body.dark .book-title{color:#f1f5f9}body.dark .book-author{color:#94a3b8}@media (min-width: 768px){.library-controls{flex-direction:row;align-items:center}.search-bar{flex:2}.filter-controls{flex:1}}@media (max-width: 768px){.library-header h1{font-size:2rem}.library-grid{grid-template-columns:1fr}}@media (min-width: 1200px){.library-grid{grid-template-columns:repeat(4,1fr)}}@media (min-width: 900px) and (max-width: 1199px){.library-grid{grid-template-columns:repeat(3,1fr)}}@media (min-width: 600px) and (max-width: 899px){.library-grid{grid-template-columns:repeat(2,1fr)}}
