.page { min-height: 100vh; background-color: #f8f8f8; display: flex; flex-direction: column; } .unified-header { position: fixed; top: 0; left: 0; right: 0; height: 194rpx; background: linear-gradient(135deg, #B06AB3 0%, #9B59B6 100%); border-bottom: none; display: flex; align-items: flex-end; justify-content: space-between; padding: 0 32rpx 20rpx; z-index: 1000; } .unified-header-left { display: flex; align-items: center; gap: 8rpx; width: 160rpx; height: 56rpx; } .unified-back-icon { width: 56rpx; height: 56rpx; } .unified-back-text { font-size: 34rpx; font-weight: bold; color: #ffffff; } .unified-header-title { font-size: 40rpx; font-weight: bold; color: #ffffff; flex: 1; text-align: center; } .unified-header-right { width: 160rpx; height: 56rpx; } .content { flex: 1; } .category-bar { background: #fff; padding: 20rpx 0; border-bottom: 1rpx solid #eee; } .category-scroll { white-space: nowrap; } .category-list { display: inline-flex; padding: 0 30rpx; } .category-item { display: inline-block; padding: 16rpx 32rpx; font-size: 30rpx; color: #666; background: #f5f5f5; border-radius: 36rpx; margin-right: 20rpx; flex-shrink: 0; } .category-item.active { background: linear-gradient(135deg, #B06AB3 0%, #9B59B6 100%); color: #fff; } .article-list { padding: 20rpx 30rpx; } .article-item { display: flex; background-color: #fff; border-radius: 20rpx; padding: 20rpx; margin-bottom: 20rpx; box-shadow: 0 4rpx 12rpx rgba(0, 0, 0, 0.05); } .article-cover { width: 200rpx; height: 150rpx; border-radius: 12rpx; margin-right: 20rpx; flex-shrink: 0; background-color: #eee; } .article-info { flex: 1; display: flex; flex-direction: column; justify-content: space-between; } .article-title { font-size: 38rpx; font-weight: bold; color: #333; display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 1; overflow: hidden; } .article-desc { font-size: 30rpx; color: #666; display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 2; overflow: hidden; margin: 10rpx 0; } .article-footer { display: flex; justify-content: space-between; align-items: center; } .article-date, .article-views { font-size: 28rpx; color: #999; } .empty-tip, .loading-tip, .error-tip { display: flex; flex-direction: column; align-items: center; justify-content: center; padding-top: 200rpx; } .empty-tip image { width: 240rpx; height: 240rpx; margin-bottom: 20rpx; } .empty-tip text, .loading-tip text, .error-tip text { font-size: 28rpx; color: #999; } .error-tip text:first-child { color: #ff6b6b; margin-bottom: 20rpx; } .retry-btn { background: linear-gradient(135deg, #B06AB3 0%, #9B59B6 100%); color: #fff !important; padding: 16rpx 48rpx; border-radius: 36rpx; font-size: 28rpx !important; }