/* pages/recommendation/recommendation.wxss */ .container { padding: 30rpx; min-height: 100vh; background-color: #f8f9fa; } /* 加载状态样式 */ .loading-container { display: flex; flex-direction: column; align-items: center; justify-content: center; height: 60vh; } .loading-animation { display: flex; align-items: center; justify-content: center; margin-bottom: 40rpx; } .dot { width: 20rpx; height: 20rpx; border-radius: 50%; background-color: #07c160; margin: 0 10rpx; animation: bounce 1.4s infinite ease-in-out; } .dot1 { animation-delay: -0.32s; } .dot2 { animation-delay: -0.16s; } @keyframes bounce { 0%, 80%, 100% { transform: scale(0); } 40% { transform: scale(1); } } .loading-text { font-size: 32rpx; color: #666; margin-top: 30rpx; } /* 错误状态样式 */ .error-container { display: flex; flex-direction: column; align-items: center; justify-content: center; height: 60vh; text-align: center; padding: 0 60rpx; } .error-icon { width: 120rpx; height: 120rpx; margin-bottom: 30rpx; } .error-title { font-size: 36rpx; font-weight: bold; color: #333; margin-bottom: 20rpx; } .error-message { font-size: 28rpx; color: #666; margin-bottom: 40rpx; } .retry-btn { width: 240rpx; height: 80rpx; line-height: 80rpx; background: linear-gradient(to right, #07c160, #09ad56); color: white; border-radius: 40rpx; font-size: 30rpx; margin-top: 20rpx; } /* 推荐卡片样式 */ .recommendation-card { background-color: #fff; border-radius: 16rpx; box-shadow: 0 8rpx 24rpx rgba(0, 0, 0, 0.06); overflow: hidden; } .card-header { display: flex; align-items: center; padding: 30rpx; background: linear-gradient(135deg, #6e8efb, #a777e3); } .ai-icon { width: 48rpx; height: 48rpx; margin-right: 16rpx; } .card-title { font-size: 36rpx; font-weight: bold; color: white; } .card-content { padding: 30rpx; } .recommendation-text { font-size: 30rpx; line-height: 1.6; color: #333; white-space: pre-line; } .card-footer { display: flex; justify-content: space-between; padding: 20rpx 30rpx; border-top: 1rpx solid #f0f0f0; } .action-btn { flex: 1; height: 80rpx; line-height: 80rpx; border-radius: 40rpx; font-size: 30rpx; margin: 0 10rpx; } .save-btn { background: linear-gradient(to right, #1989fa, #3296fa); color: white; } .regenerate-btn { background: #f8f8f8; color: #666; border: 1rpx solid #eaeaea; }