.practice-page { display: flex; flex-direction: column; height: 100vh; background: #f7f8fc; } /* Banner */ .practice-banner { background: linear-gradient(135deg, #FFB84D 0%, #FF9A1F 100%); padding: 40rpx 32rpx; display: flex; justify-content: space-between; align-items: center; } .banner-title { display: block; font-size: 40rpx; font-weight: 700; color: #ffffff; } .banner-sub { display: block; font-size: 24rpx; color: rgba(255,255,255,0.85); margin-top: 8rpx; } .banner-stats { text-align: center; background: rgba(255,255,255,0.2); border-radius: 20rpx; padding: 16rpx 32rpx; } .stats-num { display: block; font-size: 56rpx; font-weight: 700; color: #ffffff; line-height: 1; } .stats-label { display: block; font-size: 22rpx; color: rgba(255,255,255,0.85); margin-top: 4rpx; } /* 筛选栏 */ .filter-bar { background: #ffffff; display: flex; flex-direction: row; padding: 0 24rpx; border-bottom: 1rpx solid #F0F0F0; flex-shrink: 0; } .filter-item { padding: 24rpx 20rpx; font-size: 28rpx; color: #666666; border-bottom: 4rpx solid transparent; white-space: nowrap; } .filter-item.active { color: #FFB84D; font-weight: 600; border-bottom-color: #FFB84D; } /* 任务列表 */ .task-scroll { flex: 1; overflow: hidden; } .task-list { display: flex; flex-direction: column; gap: 16rpx; padding: 24rpx 32rpx 0; } .task-card { background: #ffffff; border-radius: 20rpx; display: flex; align-items: center; padding: 24rpx; gap: 20rpx; box-shadow: 0 4rpx 16rpx rgba(0,0,0,0.06); } .task-card.done { opacity: 0.7; } .task-icon-wrap { width: 88rpx; height: 88rpx; border-radius: 20rpx; display: flex; align-items: center; justify-content: center; flex-shrink: 0; } .task-icon { font-size: 44rpx; } .task-info { flex: 1; display: flex; flex-direction: column; gap: 8rpx; } .task-title-row { display: flex; align-items: center; gap: 12rpx; } .task-title { font-size: 30rpx; font-weight: 600; color: #333333; } .task-done-badge { background: #E8FAF0; color: #3CB371; font-size: 20rpx; padding: 4rpx 12rpx; border-radius: 20rpx; } .task-type-badge { font-size: 22rpx; color: #AAAAAA; } .task-desc { font-size: 24rpx; color: #888888; line-height: 1.5; } .task-meta { display: flex; align-items: center; gap: 12rpx; margin-top: 4rpx; } .task-duration { font-size: 22rpx; color: #AAAAAA; } .task-arrow { font-size: 36rpx; color: #CCCCCC; flex-shrink: 0; }