Initial commit

This commit is contained in:
admin
2025-12-08 14:39:07 +08:00
commit 9d4f78656b
782 changed files with 66418 additions and 0 deletions

View File

@@ -0,0 +1,172 @@
.container {
background-color: var(--surface-color);
min-height: 100vh;
padding-bottom: 120rpx;
}
.hero-image {
width: 100%;
height: 400rpx;
}
.content {
padding: 40rpx;
border-top-left-radius: 40rpx;
border-top-right-radius: 40rpx;
margin-top: -40rpx;
background-color: var(--surface-color);
position: relative;
z-index: 10;
}
.header {
display: flex;
justify-content: space-between;
align-items: center;
margin-bottom: 20rpx;
}
.badge {
background-color: var(--primary-light);
color: var(--primary-color);
font-size: 24rpx;
padding: 8rpx 20rpx;
border-radius: 12rpx;
font-weight: bold;
}
.rating {
color: var(--warning-color);
font-size: 24rpx;
font-weight: bold;
}
.title {
font-size: 40rpx;
font-weight: bold;
color: var(--text-main);
margin-bottom: 20rpx;
line-height: 1.4;
}
.meta-row {
display: flex;
gap: 30rpx;
margin-bottom: 40rpx;
}
.meta-item {
font-size: 24rpx;
color: var(--text-secondary);
display: flex;
align-items: center;
}
.icon {
margin-right: 8rpx;
}
.section {
margin-bottom: 40rpx;
}
.section-title {
font-size: 32rpx;
font-weight: bold;
color: var(--text-main);
margin-bottom: 20rpx;
border-left: 8rpx solid var(--primary-color);
padding-left: 20rpx;
}
.desc {
font-size: 28rpx;
color: #4b5563;
line-height: 1.6;
}
.chapter-header {
font-size: 28rpx;
font-weight: bold;
color: #374151;
margin: 30rpx 0 20rpx 0;
background-color: var(--surface-secondary);
padding: 10rpx 20rpx;
border-radius: 10rpx;
}
.lesson-item {
display: flex;
justify-content: space-between;
align-items: center;
padding: 20rpx 0;
border-bottom: 1rpx solid var(--border-color);
}
.lesson-info {
flex: 1;
}
.lesson-title {
font-size: 28rpx;
color: var(--text-main);
margin-bottom: 6rpx;
}
.lesson-time {
font-size: 22rpx;
color: var(--text-light);
}
.play-btn {
color: var(--primary-color);
font-size: 32rpx;
}
.lock-btn {
color: var(--text-light);
font-size: 28rpx;
}
.footer-bar {
position: fixed;
bottom: 0;
left: 0;
right: 0;
background-color: var(--surface-color);
padding: 20rpx 40rpx;
box-shadow: 0 -4rpx 10rpx rgba(0,0,0,0.05);
display: flex;
justify-content: space-between;
align-items: center;
z-index: 20;
padding-bottom: constant(safe-area-inset-bottom);
padding-bottom: env(safe-area-inset-bottom);
}
.price-container {
display: flex;
flex-direction: column;
align-items: flex-start;
flex: 1;
margin-right: 20rpx;
}
.price-row {
display: flex;
align-items: baseline;
flex-wrap: wrap;
}
.final-price {
color: var(--price-color);
font-weight: bold;
font-size: 36rpx;
line-height: 1.2;
}
.original-price {
text-decoration: line-through;
color: var(--text-light);
font-size: 24rpx;
margin-left: 10rpx;
}
.coupon-tip {
font-size: 20rpx;
color: var(--price-color);
border: 1px solid var(--price-color);
padding: 2rpx 6rpx;
border-radius: 4rpx;
margin-top: 4rpx;
}
.enroll-btn {
background: linear-gradient(to right, var(--primary-gradient-start), var(--primary-gradient-end));
color: var(--text-white);
font-size: 30rpx;
font-weight: bold;
padding: 20rpx 60rpx;
border-radius: 50rpx;
margin: 0;
flex-shrink: 0;
white-space: nowrap;
}