.recommendations-container{margin:3rem 0}.recommendations-header{margin-bottom:2rem}.recommendations-title-wrapper{align-items:center;gap:.75rem;margin-bottom:.5rem;display:flex}.recommendations-icon{color:var(--pink-9);flex-shrink:0}.recommendations-title{font-size:var(--font-size-xl);font-weight:var(--font-weight-bold);color:var(--text-white-95);margin:0}.recommendations-subtitle{font-size:var(--font-size-sm);color:var(--text-white-65);margin:0;padding-left:2.5rem}.recommendations-grid{grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:1.5rem;display:grid}.recommendation-card{-webkit-backdrop-filter:blur(15px)saturate(180%);background:#1111114d;border:1px solid #ffffff14;border-radius:12px;flex-direction:column;text-decoration:none;transition:all .3s;display:flex;overflow:hidden}.recommendation-card:hover{background:#11111180;border-color:#e93d8266;transform:translateY(-8px);box-shadow:0 12px 24px #0006}.recommendation-cover{aspect-ratio:2/3;background:#0000004d;width:100%;position:relative;overflow:hidden}.recommendation-cover img{object-fit:cover;width:100%;height:100%;transition:transform .3s}.recommendation-card:hover .recommendation-cover img{transform:scale(1.05)}.recommendation-badge{-webkit-backdrop-filter:blur(10px);font-size:.7rem;font-weight:var(--font-weight-bold);color:#fff;text-transform:uppercase;letter-spacing:.05em;background:#e93d82f2;border-radius:6px;align-items:center;gap:.375rem;padding:.375rem .75rem;display:flex;position:absolute;top:.75rem;right:.75rem;box-shadow:0 2px 8px #0000004d}.recommendation-badge.popular{background:#4a9f5cf2}.recommendation-info{flex-direction:column;flex:1;gap:.75rem;padding:1.25rem;display:flex}.recommendation-book-title{font-size:var(--font-size-base);font-weight:var(--font-weight-semibold);color:var(--text-white-95);-webkit-line-clamp:2;text-overflow:ellipsis;-webkit-box-orient:vertical;margin:0;line-height:1.4;display:-webkit-box;overflow:hidden}.recommendation-reason{font-size:var(--font-size-xs);color:var(--pink-9);font-weight:var(--font-weight-medium);-webkit-line-clamp:2;-webkit-box-orient:vertical;margin:0;display:-webkit-box;overflow:hidden}.recommendation-score{font-size:var(--font-size-xs);color:var(--text-white-65);font-weight:var(--font-weight-medium);margin-top:auto}.recommendation-stats{font-size:var(--font-size-xs);color:var(--text-white-65);font-weight:var(--font-weight-medium);align-items:center;gap:.5rem;margin-top:auto;display:flex}.recommendation-stats span:nth-child(2){color:var(--text-white-50)}.recommendations-error{text-align:center;color:#e85d5d;background:#e85d5d1a;border:1px solid #e85d5d4d;border-radius:12px;padding:2rem}.recommendation-card-skeleton{border-radius:12px;height:400px}@media (width<=1024px){.recommendations-grid{grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:1.25rem}}@media (width<=768px){.recommendations-container{margin:2rem 0}.recommendations-header{margin-bottom:1.5rem}.recommendations-title{font-size:var(--font-size-lg)}.recommendations-subtitle{padding-left:2rem;font-size:.8rem}.recommendations-grid{grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:1rem}.recommendation-info{gap:.5rem;padding:1rem}.recommendation-book-title{font-size:var(--font-size-sm)}.recommendation-badge{padding:.25rem .5rem;font-size:.65rem;top:.5rem;right:.5rem}}@media (width<=480px){.recommendations-grid{grid-template-columns:repeat(2,1fr)}}.library-page{width:100%}.library-container{max-width:1200px;margin:0 auto;padding:0 1rem}.library-hero{color:var(--color-text);text-align:center;padding:2rem 0 4rem;position:relative}.hero-content{z-index:2;max-width:900px;margin:0 auto;position:relative}.library-hero-title{letter-spacing:var(--letter-spacing-tight);margin-bottom:1rem}.hero-accent{color:var(--color-accent);display:inline-block}.library-hero-subtitle{opacity:.9;margin-bottom:2.5rem}.hero-actions{flex-wrap:wrap;justify-content:center;gap:1rem;display:flex}@media (width<=768px){.library-hero{padding:1.5rem 0 3rem}}.library-content{padding:3rem 0}.library-layout{align-items:flex-start;gap:2.5rem;display:flex}.library-sidebar{flex:0 0 320px;position:sticky;top:110px}.sidebar-card{background:var(--dark-2);border:1px solid var(--dark-a6);border-radius:24px;padding:2rem;box-shadow:0 25px 50px #00000073,0 1px #ffffff05}.sidebar-header{justify-content:space-between;align-items:flex-start;gap:1rem;margin-bottom:2rem;display:flex}.sidebar-header-text{flex-direction:column;gap:.25rem;display:flex}.filters-reset{color:var(--color-accent);text-transform:uppercase;letter-spacing:.08em;cursor:pointer;transition:color var(--transition-premium);background:0 0;border:none;font-size:.75rem;font-weight:600}.filters-reset:hover{color:var(--pink-10)}.sidebar-section{flex-direction:column;gap:.75rem;margin-bottom:2rem;display:flex}.sidebar-section:last-of-type{margin-bottom:0}.sidebar-section-title{text-transform:uppercase;letter-spacing:.08em;color:#ffffffa6;font-size:.85rem}.filter-list{flex-direction:column;gap:.5rem;display:flex}.filter-pill{background:var(--dark-3);width:100%;color:var(--text-white-90);transition:all var(--transition-premium);cursor:pointer;border:1px solid #0000;border-radius:14px;justify-content:space-between;align-items:center;padding:.85rem 1rem;font-weight:500;display:flex}.filter-pill:hover{border-color:var(--pink-a6);color:#fff}.filter-pill.active{border-color:var(--color-accent);color:var(--color-accent);background:#e93d8214;box-shadow:0 0 0 1px #e93d824d,0 15px 35px #00000059}.filter-count{opacity:.8;font-size:.8rem}.tag-chips{flex-wrap:wrap;gap:.6rem;display:flex}.tag-chip{border:1px solid var(--dark-a6);background:var(--dark-3);color:var(--text-white-85);cursor:pointer;transition:all var(--transition-premium);border-radius:999px;padding:.5rem .9rem;font-size:.85rem}.tag-chip:hover{border-color:var(--pink-a5);color:#fff}.tag-chip.active{border-color:var(--color-accent);color:var(--color-accent);background:#e93d8226;box-shadow:0 10px 20px #e93d8226}.library-main{flex:1}.results-bar{flex-direction:column;gap:.75rem;margin-bottom:1.5rem;display:flex}.results-count{text-transform:uppercase;letter-spacing:.08em;color:#ffffffa6;font-size:.85rem}.results-count strong{color:var(--color-accent);font-weight:700}.active-filters{flex-wrap:wrap;gap:.5rem;display:flex}.active-filter-chip{color:var(--color-accent);cursor:pointer;transition:all var(--transition-premium);background:#e93d821f;border:1px solid #e93d8266;border-radius:999px;align-items:center;gap:.4rem;padding:.35rem .75rem;font-size:.85rem;display:inline-flex}.active-filter-chip:hover{background:#e93d8233}.active-filter-chip span:last-child{font-size:1rem;line-height:1}@media (width<=1024px){.library-layout{flex-direction:column}.library-sidebar{width:100%;position:relative;top:0}}@media (width<=640px){.sidebar-card{padding:1.5rem}.filter-pill{padding:.75rem .9rem}}.books-grid{grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:2rem;display:grid}.empty-state{text-align:center;max-width:600px;margin:0 auto;padding:4rem 2rem}.empty-state h3{margin-bottom:1rem}.empty-state p{margin-bottom:2rem}.skeleton-cover{border-radius:var(--radius-base);width:100%;height:300px;margin-bottom:1rem}.skeleton-title{border-radius:var(--radius-sm);width:80%;height:28px;margin-bottom:.75rem}.skeleton-author{border-radius:var(--radius-sm);width:60%;height:20px;margin-bottom:.75rem}.skeleton-description{border-radius:var(--radius-sm);width:100%;height:60px}@media (width<=768px){.books-grid{grid-template-columns:1fr}}.library-stats{padding:3rem 0}.stats-grid{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:2rem;display:grid}.stat-card{text-align:center;transition:all var(--transition-premium)}.stat-card:hover{transform:translateY(-4px)}.stat-card-clickable{cursor:pointer}.stat-card-clickable:hover{border-color:#e93d824d;transform:translateY(-8px);box-shadow:0 10px 25px #0000004d,0 0 0 1px #e93d824d,0 0 20px #e93d8226}.stat-value{margin-bottom:.5rem;display:block}.stat-label{display:block}.fade-in-up{opacity:0;animation:.6s forwards fadeInUp}.stagger-1{animation-delay:.1s}.stagger-2{animation-delay:.2s}.stagger-3{animation-delay:.3s}@keyframes fadeInUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}@media (width<=768px){.stats-grid{grid-template-columns:repeat(2,1fr);gap:1rem}}@media (width<=480px){.stats-grid{grid-template-columns:1fr}}
