.filter-bar{display:flex;flex-wrap:wrap;gap:12px;align-items:center;background:var(--bg-card);border:1px solid var(--border);border-radius:12px;padding:14px 18px;margin-bottom:24px}.filter-group{display:flex;gap:6px;flex-wrap:wrap;align-items:center}.filter-label{font-size:13px;color:var(--text-mute);margin-right:4px}.chip{padding:6px 12px;border-radius:999px;font-size:13px;background:rgba(255,255,255,0.04);border:1px solid var(--border);color:var(--text-mute);transition:all .15s}.chip:hover{background:rgba(255,255,255,0.08);color:var(--text);text-decoration:none}.chip.active{background:var(--primary);border-color:var(--primary);color:#fff}.filter-search{flex:0 1 240px;margin-left:auto;position:relative}.filter-search input{width:100%;padding:7px 12px 7px 32px;border-radius:8px;background:rgba(255,255,255,0.05);border:1px solid var(--border);color:var(--text);font-size:13px;outline:none}.filter-search input:focus{border-color:var(--primary)}.filter-search .ico{position:absolute;left:10px;top:50%;transform:translateY(-50%);color:var(--text-dim);font-size:13px}.album-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:20px}.album-card{background:var(--bg-card);border:1px solid var(--border);border-radius:12px;overflow:hidden;transition:all .2s}.album-card:hover{transform:translateY(-4px);border-color:var(--border-strong);box-shadow:var(--shadow-soft)}.album-card .cover-wrap{position:relative}.album-card img{width:100%;aspect-ratio:1 / 1;object-fit:cover;background:rgba(255,255,255,0.04)}.album-card .play-overlay{position:absolute;inset:0;background:rgba(0,0,0,0.4);display:flex;align-items:center;justify-content:center;opacity:0;transition:opacity .2s}.album-card:hover .play-overlay{opacity:1}.album-card .play-overlay .btn-icon{background:var(--primary);color:#fff;border-color:var(--primary);width:48px;height:48px;font-size:18px}.album-card .body{padding:14px}.album-card .name{font-size:14px;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.album-card .meta{font-size:12px;color:var(--text-mute);margin-top:4px;display:flex;justify-content:space-between}@media (max-width:768px){.filter-bar{flex-direction:column;align-items:stretch;padding:12px}.filter-bar .filter-search{flex:1 1 auto !important;margin-left:0 !important}.filter-search input{font-size:16px}.album-grid{grid-template-columns:repeat(2,1fr);gap:12px}}@media (max-width:640px){.album-grid{gap:10px}.album-card .body{padding:10px}.album-card .name{font-size:13px}}