diff --git a/mobile/src/pages/circle-detail/index.vue b/mobile/src/pages/circle-detail/index.vue
index b987e9e..976d721 100644
--- a/mobile/src/pages/circle-detail/index.vue
+++ b/mobile/src/pages/circle-detail/index.vue
@@ -63,13 +63,13 @@ const goPost = (id: number) => uni.navigateTo({ url: `/pages/post-detail/index?i
diff --git a/mobile/src/pages/circles/index.vue b/mobile/src/pages/circles/index.vue
index b36830a..8757ebd 100644
--- a/mobile/src/pages/circles/index.vue
+++ b/mobile/src/pages/circles/index.vue
@@ -32,12 +32,12 @@ const goDetail = (id: number) => uni.navigateTo({ url: `/pages/circle-detail/ind
diff --git a/mobile/src/pages/community/index.vue b/mobile/src/pages/community/index.vue
index af611e9..a6cee35 100644
--- a/mobile/src/pages/community/index.vue
+++ b/mobile/src/pages/community/index.vue
@@ -59,24 +59,24 @@ const goCreate = () => {
diff --git a/mobile/src/pages/course-detail/index.vue b/mobile/src/pages/course-detail/index.vue
index 86ab02b..8c3450a 100644
--- a/mobile/src/pages/course-detail/index.vue
+++ b/mobile/src/pages/course-detail/index.vue
@@ -61,18 +61,18 @@ const goLesson = (lessonId: number) => {
background: linear-gradient(transparent, rgba(0,0,0,0.7));
padding: 40rpx 30rpx;
}
-.title { font-size: 36rpx; font-weight: bold; color: #fff; display: block; }
+.title { font-size: 36rpx; font-weight: bold; color: var(--card); display: block; }
.meta { font-size: 24rpx; color: rgba(255,255,255,0.8); margin-top: 8rpx; display: block; }
-.price { font-size: 28rpx; color: #4f8cff; margin-top: 12rpx; display: inline-block; }
+.price { font-size: 28rpx; color: var(--brand); margin-top: 12rpx; display: inline-block; }
.price.paid { color: #ff6b6b; }
.body { padding: 30rpx; }
.section { margin-bottom: 40rpx; }
.section-title { font-size: 32rpx; font-weight: bold; margin-bottom: 20rpx; display: block; }
-.desc { font-size: 26rpx; color: #666; line-height: 1.6; }
-.chapter { margin-bottom: 20rpx; background: #fff; border-radius: 12rpx; overflow: hidden; }
-.chapter-title { font-size: 28rpx; font-weight: 500; padding: 20rpx 24rpx; background: #f8f9ff; display: block; }
-.lesson { display: flex; align-items: center; justify-content: space-between; padding: 18rpx 24rpx; border-bottom: 1rpx solid #f5f5f5; }
+.desc { font-size: 26rpx; color: var(--muted-foreground); line-height: 1.6; }
+.chapter { margin-bottom: 20rpx; background: var(--card); border-radius: 12rpx; overflow: hidden; }
+.chapter-title { font-size: 28rpx; font-weight: 500; padding: 20rpx 24rpx; background: var(--muted); display: block; }
+.lesson { display: flex; align-items: center; justify-content: space-between; padding: 18rpx 24rpx; border-bottom: 1rpx solid var(--muted); }
.lesson:last-child { border-bottom: none; }
-.lesson-title { font-size: 26rpx; color: #333; }
+.lesson-title { font-size: 26rpx; color: var(--foreground); }
.lesson-status { font-size: 24rpx; }
diff --git a/mobile/src/pages/courses/index.vue b/mobile/src/pages/courses/index.vue
index d11ff5b..f2521ed 100644
--- a/mobile/src/pages/courses/index.vue
+++ b/mobile/src/pages/courses/index.vue
@@ -73,26 +73,26 @@ const goDetail = (id: number) => uni.navigateTo({ url: `/pages/course-detail/ind
diff --git a/mobile/src/pages/create-post/index.vue b/mobile/src/pages/create-post/index.vue
index 4fa513d..66ed91d 100644
--- a/mobile/src/pages/create-post/index.vue
+++ b/mobile/src/pages/create-post/index.vue
@@ -44,15 +44,15 @@ async function submit() {
.create-post { padding: 30rpx; }
.form { }
.input {
- background: #fff; border-radius: 12rpx; padding: 24rpx 30rpx; font-size: 28rpx;
- margin-bottom: 24rpx; border: 1rpx solid #e8e8e8;
+ background: var(--card); border-radius: 12rpx; padding: 24rpx 30rpx; font-size: 28rpx;
+ margin-bottom: 24rpx; border: 1rpx solid var(--border);
}
.textarea {
- background: #fff; border-radius: 12rpx; padding: 24rpx 30rpx; font-size: 28rpx;
- margin-bottom: 24rpx; border: 1rpx solid #e8e8e8; min-height: 300rpx;
+ background: var(--card); border-radius: 12rpx; padding: 24rpx 30rpx; font-size: 28rpx;
+ margin-bottom: 24rpx; border: 1rpx solid var(--border); min-height: 300rpx;
}
.btn-primary {
- background: #4f8cff; color: #fff; border-radius: 12rpx; padding: 24rpx;
+ background: var(--brand); color: var(--card); border-radius: 12rpx; padding: 24rpx;
font-size: 30rpx; text-align: center; margin-top: 30rpx; border: none;
}
diff --git a/mobile/src/pages/favorites/index.vue b/mobile/src/pages/favorites/index.vue
index 9aa6bc2..fc27212 100644
--- a/mobile/src/pages/favorites/index.vue
+++ b/mobile/src/pages/favorites/index.vue
@@ -51,11 +51,11 @@ function goDetail(item: any) {
diff --git a/mobile/src/pages/index/index.vue b/mobile/src/pages/index/index.vue
index c6e768c..930d08f 100644
--- a/mobile/src/pages/index/index.vue
+++ b/mobile/src/pages/index/index.vue
@@ -104,42 +104,42 @@ const goPost = (id: number) => uni.navigateTo({ url: `/pages/post-detail/index?i
diff --git a/mobile/src/pages/learning-progress/index.vue b/mobile/src/pages/learning-progress/index.vue
index e374c19..10efef6 100644
--- a/mobile/src/pages/learning-progress/index.vue
+++ b/mobile/src/pages/learning-progress/index.vue
@@ -51,18 +51,18 @@ onMounted(async () => {
.learning-progress { padding: 30rpx; }
.stats { display: flex; gap: 20rpx; margin-bottom: 40rpx; }
.stat-item {
- flex: 1; background: #fff; border-radius: 16rpx; padding: 30rpx; text-align: center;
+ flex: 1; background: var(--card); border-radius: 16rpx; padding: 30rpx; text-align: center;
box-shadow: 0 2rpx 12rpx rgba(0,0,0,0.04);
}
-.stat-value { font-size: 40rpx; font-weight: bold; color: #4f8cff; display: block; }
-.stat-label { font-size: 24rpx; color: #999; margin-top: 8rpx; display: block; }
+.stat-value { font-size: 40rpx; font-weight: bold; color: var(--brand); display: block; }
+.stat-label { font-size: 24rpx; color: var(--muted-foreground); margin-top: 8rpx; display: block; }
.course-list { }
.course-item {
- display: flex; align-items: center; background: #fff; border-radius: 12rpx;
+ display: flex; align-items: center; background: var(--card); border-radius: 12rpx;
padding: 24rpx; margin-bottom: 16rpx;
}
.course-name { width: 200rpx; font-size: 26rpx; font-weight: 500; }
-.progress-bar { flex: 1; height: 16rpx; background: #f0f0f0; border-radius: 8rpx; margin: 0 20rpx; overflow: hidden; }
-.progress-fill { height: 100%; background: #4f8cff; border-radius: 8rpx; }
-.progress-text { font-size: 24rpx; color: #4f8cff; width: 80rpx; text-align: right; }
+.progress-bar { flex: 1; height: 16rpx; background: var(--border); border-radius: 8rpx; margin: 0 20rpx; overflow: hidden; }
+.progress-fill { height: 100%; background: var(--brand); border-radius: 8rpx; }
+.progress-text { font-size: 24rpx; color: var(--brand); width: 80rpx; text-align: right; }
diff --git a/mobile/src/pages/lesson/index.vue b/mobile/src/pages/lesson/index.vue
index 21dd219..e084ddd 100644
--- a/mobile/src/pages/lesson/index.vue
+++ b/mobile/src/pages/lesson/index.vue
@@ -49,11 +49,11 @@ async function markComplete() {
diff --git a/mobile/src/pages/membership/index.vue b/mobile/src/pages/membership/index.vue
index 6976ac2..8bf261b 100644
--- a/mobile/src/pages/membership/index.vue
+++ b/mobile/src/pages/membership/index.vue
@@ -48,14 +48,14 @@ async function createOrder(plan: any) {
border-radius: 20rpx; padding: 40rpx; text-align: center; margin-bottom: 40rpx;
}
.plan-label { font-size: 24rpx; color: rgba(255,255,255,0.8); display: block; }
-.plan-name { font-size: 40rpx; font-weight: bold; color: #fff; margin: 16rpx 0; display: block; }
+.plan-name { font-size: 40rpx; font-weight: bold; color: var(--card); margin: 16rpx 0; display: block; }
.plan-expire { font-size: 24rpx; color: rgba(255,255,255,0.8); display: block; }
.plans { display: flex; gap: 24rpx; }
.plan-card {
- flex: 1; background: #fff; border-radius: 16rpx; padding: 40rpx 30rpx; text-align: center;
+ flex: 1; background: var(--card); border-radius: 16rpx; padding: 40rpx 30rpx; text-align: center;
box-shadow: 0 4rpx 20rpx rgba(0,0,0,0.06);
}
.plan-name { font-size: 30rpx; font-weight: 500; display: block; }
.plan-price { font-size: 44rpx; font-weight: bold; color: #ff6b6b; margin: 20rpx 0; display: block; }
-.plan-desc { font-size: 24rpx; color: #999; }
+.plan-desc { font-size: 24rpx; color: var(--muted-foreground); }
diff --git a/mobile/src/pages/post-detail/index.vue b/mobile/src/pages/post-detail/index.vue
index a156764..217486e 100644
--- a/mobile/src/pages/post-detail/index.vue
+++ b/mobile/src/pages/post-detail/index.vue
@@ -79,22 +79,22 @@ async function submitComment() {
diff --git a/mobile/src/pages/profile/index.vue b/mobile/src/pages/profile/index.vue
index cea19c7..8805305 100644
--- a/mobile/src/pages/profile/index.vue
+++ b/mobile/src/pages/profile/index.vue
@@ -78,31 +78,31 @@ function handleLogout() {
diff --git a/mobile/src/pages/prompt-detail/index.vue b/mobile/src/pages/prompt-detail/index.vue
index bfe4827..cc9d770 100644
--- a/mobile/src/pages/prompt-detail/index.vue
+++ b/mobile/src/pages/prompt-detail/index.vue
@@ -52,13 +52,13 @@ async function toggleFavorite() {
diff --git a/mobile/src/pages/prompts/index.vue b/mobile/src/pages/prompts/index.vue
index a06f482..57f7085 100644
--- a/mobile/src/pages/prompts/index.vue
+++ b/mobile/src/pages/prompts/index.vue
@@ -51,22 +51,22 @@ const goDetail = (id: number) => uni.navigateTo({ url: `/pages/prompt-detail/ind
diff --git a/mobile/src/pages/register/index.vue b/mobile/src/pages/register/index.vue
index 3ffe588..50e8b69 100644
--- a/mobile/src/pages/register/index.vue
+++ b/mobile/src/pages/register/index.vue
@@ -52,13 +52,13 @@ const goLogin = () => uni.navigateTo({ url: '/pages/login/index' })
diff --git a/mobile/src/pages/sandbox/index.vue b/mobile/src/pages/sandbox/index.vue
index 44211a8..819e89b 100644
--- a/mobile/src/pages/sandbox/index.vue
+++ b/mobile/src/pages/sandbox/index.vue
@@ -96,7 +96,7 @@ function onModelChange(e: any) {
.content {
display: inline-block; padding: 16rpx 20rpx; border-radius: 12rpx; font-size: 28rpx; line-height: 1.6;
}
-.message.user .content { background: var(--brand); color: #fff; border-radius: 12rpx 0 12rpx 12rpx; }
+.message.user .content { background: var(--brand); color: var(--card); border-radius: 12rpx 0 12rpx 12rpx; }
.message.ai .content { background: var(--card); color: var(--foreground); border-radius: 0 12rpx 12rpx 12rpx; }
.input-area {
display: flex; align-items: center; padding: 16rpx 30rpx; background: var(--card);
@@ -104,7 +104,7 @@ function onModelChange(e: any) {
}
.input { flex: 1; background: var(--muted); border-radius: 12rpx; padding: 16rpx 24rpx; font-size: 28rpx; }
.btn-send {
- background: var(--brand); color: #fff; border-radius: 10rpx; padding: 14rpx 28rpx;
+ background: var(--brand); color: var(--card); border-radius: 10rpx; padding: 14rpx 28rpx;
font-size: 26rpx; margin-left: 16rpx; border: none;
}
diff --git a/mobile/src/pages/search/index.vue b/mobile/src/pages/search/index.vue
index f4f332e..26c4297 100644
--- a/mobile/src/pages/search/index.vue
+++ b/mobile/src/pages/search/index.vue
@@ -67,18 +67,18 @@ function goDetail(item: any) {