@taskon/widget-react 0.0.1-beta.4 → 0.0.1-beta.5

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (38) hide show
  1. package/dist/CommunityTaskList.css +110 -110
  2. package/dist/EligibilityInfo.css +69 -69
  3. package/dist/Quest.css +241 -241
  4. package/dist/chunks/{CommunityTaskList-C9Gv8KOF.js → CommunityTaskList-CrMvOB8w.js} +725 -441
  5. package/dist/chunks/{EligibilityInfo-D-Fuy9GE.js → EligibilityInfo-Beww12QX.js} +1569 -597
  6. package/dist/chunks/{LeaderboardWidget-BV2D2q1N.js → LeaderboardWidget-DwuSpVl0.js} +2 -2
  7. package/dist/chunks/{PageBuilder-DQoU4Mwf.js → PageBuilder-DsX6Tv0N.js} +5 -5
  8. package/dist/chunks/{Quest-B5NyVr3o.js → Quest-CuD2LElS.js} +661 -473
  9. package/dist/chunks/{TaskOnProvider-93UxARFo.js → TaskOnProvider-xUeP2Nro.js} +78 -65
  10. package/dist/chunks/{ThemeProvider-CPI_roeh.js → ThemeProvider-Bt4UZ33y.js} +30 -6
  11. package/dist/chunks/{UserCenterWidget-BRtigY_S.js → UserCenterWidget-CB0hnj-L.js} +67 -30
  12. package/dist/chunks/{UserCenterWidget-cADBSVg7.js → UserCenterWidget-CvU6K4AC.js} +2 -2
  13. package/dist/chunks/communitytask-es-1zawvXEX.js +311 -0
  14. package/dist/chunks/communitytask-ja-CmW6nP-L.js +311 -0
  15. package/dist/chunks/communitytask-ko-BD0hzQSi.js +311 -0
  16. package/dist/chunks/communitytask-ru-DhySaZL8.js +311 -0
  17. package/dist/chunks/createLocaleLoader-BameiEhU.js +65 -0
  18. package/dist/chunks/{dynamic-import-helper-DwXlQC0S.js → dynamic-import-helper-WmIF58Sb.js} +1 -1
  19. package/dist/chunks/quest-es-D-b5xcme.js +948 -0
  20. package/dist/chunks/quest-ja-Dxd2vqBF.js +948 -0
  21. package/dist/chunks/quest-ko-CSmRWgK_.js +948 -0
  22. package/dist/chunks/quest-ru-CkEKv1_F.js +948 -0
  23. package/dist/chunks/taskwidget-es-Do9b3Mqw.js +245 -0
  24. package/dist/chunks/taskwidget-ja-CqSu-yWA.js +245 -0
  25. package/dist/chunks/taskwidget-ko-EHgXFV4B.js +245 -0
  26. package/dist/chunks/taskwidget-ru-CMbLQDK4.js +245 -0
  27. package/dist/community-task.js +1 -1
  28. package/dist/core.d.ts +17 -5
  29. package/dist/core.js +8 -7
  30. package/dist/index.d.ts +56 -5
  31. package/dist/index.js +18 -16
  32. package/dist/leaderboard.js +2 -2
  33. package/dist/page-builder.js +1 -1
  34. package/dist/quest.d.ts +682 -0
  35. package/dist/quest.js +3 -1
  36. package/dist/user-center.d.ts +3 -1
  37. package/dist/user-center.js +5 -5
  38. package/package.json +4 -1
package/dist/Quest.css CHANGED
@@ -137,7 +137,7 @@
137
137
 
138
138
  .taskon-eligs-dialog-desc {
139
139
  margin: 0;
140
- font-size: 14px;
140
+ font-size: var(--taskon-font-size);
141
141
  line-height: 1.5;
142
142
  color: var(--taskon-color-text-secondary);
143
143
  text-align: center;
@@ -172,7 +172,7 @@
172
172
  border: none;
173
173
  cursor: pointer;
174
174
  color: var(--taskon-color-text);
175
- font-size: 14px;
175
+ font-size: var(--taskon-font-size);
176
176
  text-align: left;
177
177
  transition: background 0.2s;
178
178
  }
@@ -216,7 +216,7 @@
216
216
  border-radius: var(--taskon-border-radius);
217
217
  background: var(--taskon-color-primary);
218
218
  color: var(--taskon-color-text-on-primary);
219
- font-size: 16px;
219
+ font-size: var(--taskon-font-size-lg);
220
220
  font-weight: 500;
221
221
  cursor: pointer;
222
222
  transition: opacity 0.2s, background 0.2s;
@@ -275,7 +275,7 @@
275
275
 
276
276
  .taskon-eligs-bind-section-title {
277
277
  margin: 0 0 12px;
278
- font-size: 16px;
278
+ font-size: var(--taskon-font-size-lg);
279
279
  font-weight: 600;
280
280
  color: var(--taskon-color-text);
281
281
  }
@@ -284,7 +284,7 @@
284
284
 
285
285
  .taskon-eligs-bind-tip {
286
286
  margin: 0 0 20px;
287
- font-size: 14px;
287
+ font-size: var(--taskon-font-size);
288
288
  line-height: 1.5;
289
289
  color: var(--taskon-color-text-tertiary);
290
290
  }
@@ -297,7 +297,7 @@
297
297
 
298
298
  .taskon-eligs-bind-section-subtitle {
299
299
  margin: 0 0 12px;
300
- font-size: 14px;
300
+ font-size: var(--taskon-font-size);
301
301
  font-weight: 500;
302
302
  color: var(--taskon-color-text-secondary);
303
303
  }
@@ -328,7 +328,7 @@
328
328
  }
329
329
 
330
330
  .taskon-eligs-bind-item-label {
331
- font-size: 14px;
331
+ font-size: var(--taskon-font-size);
332
332
  font-weight: 500;
333
333
  color: var(--taskon-color-text);
334
334
  }
@@ -340,7 +340,7 @@
340
340
  align-items: center;
341
341
  gap: 6px;
342
342
  padding: 6px 16px;
343
- font-size: 13px;
343
+ font-size: var(--taskon-font-size-sm);
344
344
  font-weight: 500;
345
345
  color: var(--taskon-color-text-on-primary);
346
346
  background: linear-gradient(
@@ -386,7 +386,7 @@
386
386
  display: inline-flex;
387
387
  align-items: center;
388
388
  gap: 4px;
389
- font-size: 13px;
389
+ font-size: var(--taskon-font-size-sm);
390
390
  font-weight: 500;
391
391
  color: var(--taskon-color-success);
392
392
  }
@@ -441,7 +441,7 @@
441
441
  align-items: center;
442
442
  width: 100%;
443
443
  padding: 12px;
444
- font-size: 14px;
444
+ font-size: var(--taskon-font-size);
445
445
  font-weight: 500;
446
446
  color: var(--taskon-color-text);
447
447
  background: transparent;
@@ -537,7 +537,7 @@
537
537
  }
538
538
 
539
539
  .taskon-quest-qr-owner-name {
540
- font-size: 24px;
540
+ font-size: var(--taskon-font-size-xxxl);
541
541
  font-weight: 600;
542
542
  white-space: nowrap;
543
543
  overflow: hidden;
@@ -549,8 +549,8 @@
549
549
  .taskon-quest-qr-campaign-name {
550
550
  margin-top: 14px;
551
551
  margin-bottom: 8px;
552
- font-size: 16px;
553
- line-height: 24px;
552
+ font-size: var(--taskon-font-size-lg);
553
+ line-height: 1.5;
554
554
  font-weight: 600;
555
555
  display: -webkit-box;
556
556
  -webkit-line-clamp: 2;
@@ -604,7 +604,7 @@
604
604
  align-items: center;
605
605
  margin-top: 15px;
606
606
  margin-bottom: 6px;
607
- font-size: 14px;
607
+ font-size: var(--taskon-font-size);
608
608
  font-weight: 500;
609
609
  color: var(--taskon-color-text);
610
610
  }
@@ -658,7 +658,7 @@
658
658
  align-items: center;
659
659
  white-space: nowrap;
660
660
  color: var(--taskon-color-text);
661
- font-size: 16px;
661
+ font-size: var(--taskon-font-size-lg);
662
662
  font-weight: 400;
663
663
  }
664
664
 
@@ -738,9 +738,9 @@
738
738
 
739
739
  .taskon-quest-participants-info-title {
740
740
  margin: 0;
741
- font-size: 24px;
741
+ font-size: var(--taskon-font-size-xxxl);
742
742
  font-weight: 600;
743
- line-height: 32px;
743
+ line-height: 1.33;
744
744
  color: var(--taskon-color-text);
745
745
  }
746
746
 
@@ -763,9 +763,9 @@
763
763
  display: flex;
764
764
  justify-content: space-between;
765
765
  align-items: center;
766
- font-size: 16px;
766
+ font-size: var(--taskon-font-size-lg);
767
767
  font-weight: 500;
768
- line-height: 24px;
768
+ line-height: 1.5;
769
769
  width: 100%;
770
770
  }
771
771
 
@@ -829,9 +829,9 @@
829
829
 
830
830
  .taskon-quest-participants-dialog-title {
831
831
  margin: 0 0 var(--taskon-spacing-lg) 0;
832
- font-size: 22px;
832
+ font-size: var(--taskon-font-size-xxl);
833
833
  font-weight: 600;
834
- line-height: 28px;
834
+ line-height: 1.27;
835
835
  color: var(--taskon-color-text);
836
836
  }
837
837
 
@@ -840,17 +840,17 @@
840
840
  }
841
841
 
842
842
  .taskon-quest-participants-dialog-subtitle {
843
- font-size: 16px;
843
+ font-size: var(--taskon-font-size-lg);
844
844
  font-weight: 600;
845
- line-height: 24px;
845
+ line-height: 1.5;
846
846
  color: var(--taskon-color-text);
847
847
  }
848
848
 
849
849
  .taskon-quest-participants-dialog-desc {
850
850
  margin-top: var(--taskon-spacing-xs);
851
- font-size: 14px;
851
+ font-size: var(--taskon-font-size);
852
852
  font-weight: 500;
853
- line-height: 20px;
853
+ line-height: 1.43;
854
854
  color: var(--taskon-color-text-tertiary);
855
855
  }
856
856
 
@@ -904,16 +904,16 @@
904
904
  }
905
905
 
906
906
  .taskon-quest-participants-dialog-card-title {
907
- font-size: 14px;
907
+ font-size: var(--taskon-font-size);
908
908
  font-weight: 600;
909
- line-height: 20px;
909
+ line-height: 1.43;
910
910
  color: var(--taskon-color-text);
911
911
  }
912
912
 
913
913
  .taskon-quest-participants-dialog-card-desc {
914
- font-size: 12px;
914
+ font-size: var(--taskon-font-size-sm);
915
915
  font-weight: 500;
916
- line-height: 16px;
916
+ line-height: 1.33;
917
917
  color: var(--taskon-color-text-tertiary);
918
918
  }
919
919
 
@@ -951,9 +951,9 @@
951
951
 
952
952
  .taskon-quest-winner-title {
953
953
  margin: 0;
954
- font-size: 22px;
954
+ font-size: var(--taskon-font-size-xxl);
955
955
  font-weight: 600;
956
- line-height: 28px;
956
+ line-height: 1.27;
957
957
  color: var(--taskon-color-text);
958
958
  }
959
959
 
@@ -1015,9 +1015,9 @@
1015
1015
  .taskon-quest-winner-table th {
1016
1016
  padding: 12px 16px;
1017
1017
  text-align: left;
1018
- font-size: 14px;
1018
+ font-size: var(--taskon-font-size);
1019
1019
  font-weight: 500;
1020
- line-height: 20px;
1020
+ line-height: 1.43;
1021
1021
  color: var(--taskon-color-text-secondary);
1022
1022
  border-bottom: 1px solid var(--taskon-color-border);
1023
1023
  }
@@ -1028,9 +1028,9 @@
1028
1028
 
1029
1029
  .taskon-quest-winner-table td {
1030
1030
  padding: 12px 16px;
1031
- font-size: 14px;
1031
+ font-size: var(--taskon-font-size);
1032
1032
  font-weight: 500;
1033
- line-height: 20px;
1033
+ line-height: 1.43;
1034
1034
  color: var(--taskon-color-text);
1035
1035
  border-bottom: 1px solid var(--taskon-color-border-secondary);
1036
1036
  vertical-align: middle;
@@ -1132,9 +1132,9 @@
1132
1132
  padding: var(--taskon-spacing-xs) var(--taskon-spacing-sm);
1133
1133
  background: var(--taskon-color-bg-surface-strong);
1134
1134
  border-radius: var(--taskon-border-radius-sm);
1135
- font-size: 12px;
1135
+ font-size: var(--taskon-font-size-sm);
1136
1136
  font-weight: 500;
1137
- line-height: 16px;
1137
+ line-height: 1.33;
1138
1138
  white-space: nowrap;
1139
1139
  }
1140
1140
 
@@ -1210,9 +1210,9 @@
1210
1210
  white-space: nowrap;
1211
1211
  text-overflow: ellipsis;
1212
1212
  color: var(--taskon-color-text);
1213
- font-size: 22px;
1213
+ font-size: var(--taskon-font-size-xxl);
1214
1214
  font-weight: 500;
1215
- line-height: 28px;
1215
+ line-height: 1.27;
1216
1216
  }
1217
1217
 
1218
1218
  /* ============================================================================
@@ -1239,9 +1239,9 @@
1239
1239
  display: flex;
1240
1240
  align-items: center;
1241
1241
  color: var(--taskon-color-text-tertiary);
1242
- font-size: 16px;
1242
+ font-size: var(--taskon-font-size-lg);
1243
1243
  font-weight: 500;
1244
- line-height: 20px;
1244
+ line-height: 1.25;
1245
1245
  }
1246
1246
 
1247
1247
  /* Tip icon margin (controlled externally as TipPopover has no internal margin) */
@@ -1257,9 +1257,9 @@
1257
1257
 
1258
1258
  .taskon-quest-rewards-ranking-point-number {
1259
1259
  color: var(--taskon-color-primary);
1260
- font-size: 22px;
1260
+ font-size: var(--taskon-font-size-xxl);
1261
1261
  font-weight: 700;
1262
- line-height: 28px;
1262
+ line-height: 1.27;
1263
1263
  }
1264
1264
 
1265
1265
  .taskon-quest-rewards-ranking-point-tier {
@@ -1267,26 +1267,26 @@
1267
1267
  top: 100%;
1268
1268
  right: 0;
1269
1269
  color: var(--taskon-color-text-tertiary);
1270
- font-size: 13px;
1270
+ font-size: var(--taskon-font-size-sm);
1271
1271
  font-weight: 500;
1272
- line-height: 16px;
1272
+ line-height: 1.33;
1273
1273
  white-space: nowrap;
1274
1274
  }
1275
1275
 
1276
1276
  .taskon-quest-rewards-ranking-point-amount {
1277
1277
  margin-left: auto;
1278
1278
  color: var(--taskon-color-secondary);
1279
- font-size: 22px;
1279
+ font-size: var(--taskon-font-size-xxl);
1280
1280
  font-weight: 700;
1281
- line-height: 28px;
1281
+ line-height: 1.27;
1282
1282
  }
1283
1283
 
1284
1284
  .taskon-quest-rewards-ranking-point-tip {
1285
1285
  text-align: right;
1286
1286
  margin-left: auto;
1287
1287
  width: 50%;
1288
- font-size: 12px;
1289
- line-height: 16px;
1288
+ font-size: var(--taskon-font-size-sm);
1289
+ line-height: 1.33;
1290
1290
  color: var(--taskon-color-text-tertiary);
1291
1291
  }
1292
1292
 
@@ -1312,8 +1312,8 @@
1312
1312
 
1313
1313
  .taskon-quest-rewards-group-title {
1314
1314
  margin: 0;
1315
- font-size: 16px;
1316
- line-height: 20px;
1315
+ font-size: var(--taskon-font-size-lg);
1316
+ line-height: 1.25;
1317
1317
  font-weight: 500;
1318
1318
  color: var(--taskon-color-text);
1319
1319
  }
@@ -1351,8 +1351,8 @@
1351
1351
  gap: 8px;
1352
1352
  padding: 8px 16px;
1353
1353
  background: var(--taskon-color-bg-inset);
1354
- font-size: 16px;
1355
- line-height: 20px;
1354
+ font-size: var(--taskon-font-size-lg);
1355
+ line-height: 1.25;
1356
1356
  }
1357
1357
 
1358
1358
  .taskon-quest-rewards-card-tier--active {
@@ -1418,8 +1418,8 @@
1418
1418
 
1419
1419
  .taskon-quest-rewards-whitelist-desc-content {
1420
1420
  margin-top: 8px;
1421
- font-size: 14px;
1422
- line-height: 20px;
1421
+ font-size: var(--taskon-font-size);
1422
+ line-height: 1.43;
1423
1423
  color: var(--taskon-color-text-secondary);
1424
1424
  }
1425
1425
 
@@ -1435,8 +1435,8 @@
1435
1435
  }
1436
1436
 
1437
1437
  .taskon-quest-rewards-row-label {
1438
- font-size: 18px;
1439
- line-height: 24px;
1438
+ font-size: var(--taskon-font-size-xl);
1439
+ line-height: 1.33;
1440
1440
  font-weight: 500;
1441
1441
  color: var(--taskon-color-text);
1442
1442
  flex-shrink: 0;
@@ -1446,8 +1446,8 @@
1446
1446
  display: flex;
1447
1447
  align-items: center;
1448
1448
  gap: 8px;
1449
- font-size: 14px;
1450
- line-height: 16px;
1449
+ font-size: var(--taskon-font-size);
1450
+ line-height: 1.14;
1451
1451
  color: var(--taskon-color-text);
1452
1452
  }
1453
1453
 
@@ -1468,8 +1468,8 @@
1468
1468
  border: 1px solid var(--taskon-color-border);
1469
1469
  border-radius: var(--taskon-border-radius-sm);
1470
1470
  box-shadow: 0 4px 12px var(--taskon-color-bg-mask);
1471
- font-size: 12px;
1472
- line-height: 16px;
1471
+ font-size: var(--taskon-font-size-sm);
1472
+ line-height: 1.33;
1473
1473
  color: var(--taskon-color-text);
1474
1474
  z-index: 1000;
1475
1475
  white-space: nowrap;
@@ -1493,8 +1493,8 @@
1493
1493
  display: flex;
1494
1494
  align-items: center;
1495
1495
  gap: 8px;
1496
- font-size: 16px;
1497
- line-height: 20px;
1496
+ font-size: var(--taskon-font-size-lg);
1497
+ line-height: 1.25;
1498
1498
  font-weight: 600;
1499
1499
  margin-bottom: 20px;
1500
1500
  opacity: 0.9;
@@ -1519,20 +1519,20 @@
1519
1519
  }
1520
1520
 
1521
1521
  .taskon-quest-rewards-token-amount {
1522
- font-size: 22px;
1523
- line-height: 28px;
1522
+ font-size: var(--taskon-font-size-xxl);
1523
+ line-height: 1.27;
1524
1524
  color: var(--taskon-color-primary);
1525
1525
  }
1526
1526
 
1527
1527
  .taskon-quest-rewards-token-name {
1528
- font-size: 22px;
1529
- line-height: 28px;
1528
+ font-size: var(--taskon-font-size-xxl);
1529
+ line-height: 1.27;
1530
1530
  color: var(--taskon-color-primary);
1531
1531
  }
1532
1532
 
1533
1533
  .taskon-quest-rewards-token-usdt-tag {
1534
- font-size: 12px;
1535
- line-height: 14px;
1534
+ font-size: var(--taskon-font-size-sm);
1535
+ line-height: 1.17;
1536
1536
  padding: 2px 6px;
1537
1537
  background: var(--taskon-color-secondary-bg);
1538
1538
  border-radius: var(--taskon-border-radius-sm);
@@ -1547,15 +1547,15 @@
1547
1547
  }
1548
1548
 
1549
1549
  .taskon-quest-rewards-token-per-label {
1550
- font-size: 14px;
1551
- line-height: 16px;
1550
+ font-size: var(--taskon-font-size);
1551
+ line-height: 1.14;
1552
1552
  color: var(--taskon-color-text-tertiary);
1553
1553
  }
1554
1554
 
1555
1555
  .taskon-quest-rewards-token-per-value {
1556
1556
  margin-left: auto;
1557
- font-size: 14px;
1558
- line-height: 16px;
1557
+ font-size: var(--taskon-font-size);
1558
+ line-height: 1.14;
1559
1559
  color: var(--taskon-color-text-secondary);
1560
1560
  }
1561
1561
 
@@ -1563,8 +1563,8 @@
1563
1563
 
1564
1564
  .taskon-quest-rewards-token-brc20 {
1565
1565
  padding: 2px 6px;
1566
- font-size: 12px;
1567
- line-height: 14px;
1566
+ font-size: var(--taskon-font-size-sm);
1567
+ line-height: 1.17;
1568
1568
  font-weight: 500;
1569
1569
  color: var(--taskon-color-warning);
1570
1570
  background: var(--taskon-color-warning-bg);
@@ -1589,8 +1589,8 @@
1589
1589
  .taskon-quest-rewards-minted-nft-name,
1590
1590
  .taskon-quest-rewards-cap-name,
1591
1591
  .taskon-quest-rewards-whitelist-name {
1592
- font-size: 22px;
1593
- line-height: 28px;
1592
+ font-size: var(--taskon-font-size-xxl);
1593
+ line-height: 1.27;
1594
1594
  font-weight: 600;
1595
1595
  color: var(--taskon-color-text);
1596
1596
  overflow: hidden;
@@ -1600,8 +1600,8 @@
1600
1600
  }
1601
1601
 
1602
1602
  .taskon-quest-rewards-minted-nft-quantity {
1603
- font-size: 14px;
1604
- line-height: 16px;
1603
+ font-size: var(--taskon-font-size);
1604
+ line-height: 1.14;
1605
1605
  color: var(--taskon-color-text-secondary);
1606
1606
  }
1607
1607
 
@@ -1620,8 +1620,8 @@
1620
1620
  }
1621
1621
 
1622
1622
  .taskon-quest-rewards-popover-name {
1623
- font-size: 14px;
1624
- line-height: 18px;
1623
+ font-size: var(--taskon-font-size);
1624
+ line-height: 1.29;
1625
1625
  color: var(--taskon-color-text);
1626
1626
  word-break: break-all;
1627
1627
  }
@@ -1631,8 +1631,8 @@
1631
1631
  }
1632
1632
 
1633
1633
  .taskon-quest-rewards-popover-address-title {
1634
- font-size: 14px;
1635
- line-height: 18px;
1634
+ font-size: var(--taskon-font-size);
1635
+ line-height: 1.29;
1636
1636
  font-weight: 500;
1637
1637
  color: var(--taskon-color-text);
1638
1638
  }
@@ -1653,8 +1653,8 @@
1653
1653
 
1654
1654
  .taskon-quest-rewards-popover-address-text {
1655
1655
  flex: 1;
1656
- font-size: 12px;
1657
- line-height: 16px;
1656
+ font-size: var(--taskon-font-size-sm);
1657
+ line-height: 1.33;
1658
1658
  color: var(--taskon-color-text-tertiary);
1659
1659
  word-break: break-all;
1660
1660
  }
@@ -1694,16 +1694,16 @@
1694
1694
 
1695
1695
  .taskon-quest-rewards-points-amount,
1696
1696
  .taskon-quest-rewards-exp-amount {
1697
- font-size: 22px;
1698
- line-height: 28px;
1697
+ font-size: var(--taskon-font-size-xxl);
1698
+ line-height: 1.27;
1699
1699
  font-weight: 600;
1700
1700
  color: var(--taskon-color-primary);
1701
1701
  }
1702
1702
 
1703
1703
  .taskon-quest-rewards-points-name,
1704
1704
  .taskon-quest-rewards-exp-label {
1705
- font-size: 22px;
1706
- line-height: 28px;
1705
+ font-size: var(--taskon-font-size-xxl);
1706
+ line-height: 1.27;
1707
1707
  color: var(--taskon-color-text);
1708
1708
  }
1709
1709
 
@@ -1718,8 +1718,8 @@
1718
1718
  }
1719
1719
 
1720
1720
  .taskon-quest-rewards-discord-role-name {
1721
- font-size: 22px;
1722
- line-height: 28px;
1721
+ font-size: var(--taskon-font-size-xxl);
1722
+ line-height: 1.27;
1723
1723
  color: var(--taskon-color-link);
1724
1724
  cursor: pointer;
1725
1725
  }
@@ -1729,8 +1729,8 @@
1729
1729
  }
1730
1730
 
1731
1731
  .taskon-quest-rewards-discord-role-warning {
1732
- font-size: 12px;
1733
- line-height: 14px;
1732
+ font-size: var(--taskon-font-size-sm);
1733
+ line-height: 1.17;
1734
1734
  color: var(--taskon-color-warning);
1735
1735
  }
1736
1736
 
@@ -1739,8 +1739,8 @@
1739
1739
  ============================================================================ */
1740
1740
 
1741
1741
  .taskon-quest-rewards-winner-open {
1742
- font-size: 22px;
1743
- line-height: 28px;
1742
+ font-size: var(--taskon-font-size-xxl);
1743
+ line-height: 1.27;
1744
1744
  color: var(--taskon-color-secondary);
1745
1745
  }
1746
1746
 
@@ -1754,8 +1754,8 @@
1754
1754
  .taskon-quest-rewards-winner-fcfs-row {
1755
1755
  display: flex;
1756
1756
  align-items: baseline;
1757
- font-size: 18px;
1758
- line-height: 24px;
1757
+ font-size: var(--taskon-font-size-xl);
1758
+ line-height: 1.33;
1759
1759
  }
1760
1760
 
1761
1761
  .taskon-quest-rewards-winner-available {
@@ -1771,20 +1771,20 @@
1771
1771
  }
1772
1772
 
1773
1773
  .taskon-quest-rewards-winner-label {
1774
- font-size: 14px;
1775
- line-height: 16px;
1774
+ font-size: var(--taskon-font-size);
1775
+ line-height: 1.14;
1776
1776
  color: var(--taskon-color-text-secondary);
1777
1777
  }
1778
1778
 
1779
1779
  .taskon-quest-rewards-winner-count {
1780
- font-size: 22px;
1781
- line-height: 28px;
1780
+ font-size: var(--taskon-font-size-xxl);
1781
+ line-height: 1.27;
1782
1782
  color: var(--taskon-color-secondary);
1783
1783
  }
1784
1784
 
1785
1785
  .taskon-quest-rewards-winner-ranking {
1786
- font-size: 22px;
1787
- line-height: 28px;
1786
+ font-size: var(--taskon-font-size-xxl);
1787
+ line-height: 1.27;
1788
1788
  color: var(--taskon-color-secondary);
1789
1789
  }
1790
1790
 
@@ -1801,8 +1801,8 @@
1801
1801
  }
1802
1802
 
1803
1803
  .taskon-quest-rewards-gas-label {
1804
- font-size: 14px;
1805
- line-height: 16px;
1804
+ font-size: var(--taskon-font-size);
1805
+ line-height: 1.14;
1806
1806
  color: var(--taskon-color-text-tertiary);
1807
1807
  white-space: nowrap;
1808
1808
  }
@@ -1914,8 +1914,8 @@
1914
1914
  }
1915
1915
 
1916
1916
  .taskon-quest-rewards-estimated-title {
1917
- font-size: 14px;
1918
- line-height: 16px;
1917
+ font-size: var(--taskon-font-size);
1918
+ line-height: 1.14;
1919
1919
  font-weight: 500;
1920
1920
  color: var(--taskon-color-text-secondary);
1921
1921
  }
@@ -1924,8 +1924,8 @@
1924
1924
  display: flex;
1925
1925
  align-items: baseline;
1926
1926
  gap: 4px;
1927
- font-size: 18px;
1928
- line-height: 24px;
1927
+ font-size: var(--taskon-font-size-xl);
1928
+ line-height: 1.33;
1929
1929
  font-weight: 600;
1930
1930
  text-align: right;
1931
1931
  }
@@ -1939,22 +1939,22 @@
1939
1939
  }
1940
1940
 
1941
1941
  .taskon-quest-rewards-estimated-formula {
1942
- font-size: 12px;
1943
- line-height: 14px;
1942
+ font-size: var(--taskon-font-size-sm);
1943
+ line-height: 1.17;
1944
1944
  color: var(--taskon-color-text-tertiary);
1945
1945
  margin-top: 4px;
1946
1946
  }
1947
1947
 
1948
1948
  .taskon-quest-rewards-estimated-label {
1949
- font-size: 14px;
1950
- line-height: 16px;
1949
+ font-size: var(--taskon-font-size);
1950
+ line-height: 1.14;
1951
1951
  font-weight: 500;
1952
1952
  color: var(--taskon-color-text-secondary);
1953
1953
  }
1954
1954
 
1955
1955
  .taskon-quest-rewards-estimated-points {
1956
- font-size: 18px;
1957
- line-height: 24px;
1956
+ font-size: var(--taskon-font-size-xl);
1957
+ line-height: 1.33;
1958
1958
  font-weight: 700;
1959
1959
  color: var(--taskon-color-text);
1960
1960
  }
@@ -1964,8 +1964,8 @@
1964
1964
  align-items: center;
1965
1965
  justify-content: space-between;
1966
1966
  gap: 8px;
1967
- font-size: 14px;
1968
- line-height: 16px;
1967
+ font-size: var(--taskon-font-size);
1968
+ line-height: 1.14;
1969
1969
  color: var(--taskon-color-text-secondary);
1970
1970
  }
1971
1971
 
@@ -1991,8 +1991,8 @@
1991
1991
 
1992
1992
  .taskon-quest-rewards-estimated-mask-title {
1993
1993
  margin-top: 8px;
1994
- font-size: 14px;
1995
- line-height: 16px;
1994
+ font-size: var(--taskon-font-size);
1995
+ line-height: 1.14;
1996
1996
  font-weight: 500;
1997
1997
  color: var(--taskon-color-secondary);
1998
1998
  text-align: center;
@@ -2000,8 +2000,8 @@
2000
2000
 
2001
2001
  .taskon-quest-rewards-estimated-mask-subtitle {
2002
2002
  margin-top: 4px;
2003
- font-size: 12px;
2004
- line-height: 14px;
2003
+ font-size: var(--taskon-font-size-sm);
2004
+ line-height: 1.17;
2005
2005
  color: var(--taskon-color-text);
2006
2006
  text-align: center;
2007
2007
  }
@@ -2015,8 +2015,8 @@
2015
2015
  }
2016
2016
 
2017
2017
  .taskon-quest-rewards-bonus-title {
2018
- font-size: 16px;
2019
- line-height: 20px;
2018
+ font-size: var(--taskon-font-size-lg);
2019
+ line-height: 1.25;
2020
2020
  font-weight: 500;
2021
2021
  color: var(--taskon-color-text);
2022
2022
  }
@@ -2035,14 +2035,14 @@
2035
2035
 
2036
2036
  .taskon-quest-rewards-bonus-card .taskon-quest-rewards-row-label {
2037
2037
  color: var(--taskon-color-text-secondary);
2038
- font-size: 16px;
2039
- line-height: 20px;
2038
+ font-size: var(--taskon-font-size-lg);
2039
+ line-height: 1.25;
2040
2040
  }
2041
2041
 
2042
2042
  .taskon-quest-rewards-bonus-desc {
2043
2043
  color: var(--taskon-color-text-tertiary);
2044
- font-size: 14px;
2045
- line-height: 18px;
2044
+ font-size: var(--taskon-font-size);
2045
+ line-height: 1.29;
2046
2046
  text-align: right;
2047
2047
  }
2048
2048
 
@@ -2051,7 +2051,7 @@
2051
2051
  align-items: flex-end;
2052
2052
  color: var(--taskon-color-text);
2053
2053
  text-align: right;
2054
- font-size: 16px;
2054
+ font-size: var(--taskon-font-size-lg);
2055
2055
  font-weight: 600;
2056
2056
  line-height: normal;
2057
2057
  }
@@ -2061,7 +2061,7 @@
2061
2061
  }
2062
2062
 
2063
2063
  .taskon-quest-rewards-bonus-unit {
2064
- font-size: 14px;
2064
+ font-size: var(--taskon-font-size);
2065
2065
  font-weight: 400;
2066
2066
  }
2067
2067
 
@@ -2078,8 +2078,8 @@
2078
2078
  border: none;
2079
2079
  cursor: pointer;
2080
2080
  color: var(--taskon-color-link);
2081
- font-size: 14px;
2082
- line-height: 18px;
2081
+ font-size: var(--taskon-font-size);
2082
+ line-height: 1.29;
2083
2083
  transition: opacity 0.2s ease;
2084
2084
  }
2085
2085
 
@@ -2092,12 +2092,12 @@
2092
2092
  }
2093
2093
 
2094
2094
  .taskon-quest-rewards-view-leaderboard-text {
2095
- font-size: 14px;
2095
+ font-size: var(--taskon-font-size);
2096
2096
  font-weight: 400;
2097
2097
  }
2098
2098
 
2099
2099
  .taskon-quest-rewards-view-leaderboard-arrow {
2100
- font-size: 12px;
2100
+ font-size: var(--taskon-font-size-sm);
2101
2101
  margin-left: 4px;
2102
2102
  }
2103
2103
 
@@ -2109,14 +2109,14 @@
2109
2109
 
2110
2110
  .taskon-quest-leaderboard-title {
2111
2111
  margin: 0;
2112
- font-size: 24px;
2112
+ font-size: var(--taskon-font-size-xxxl);
2113
2113
  font-weight: 600;
2114
2114
  color: var(--taskon-color-text);
2115
2115
  }
2116
2116
 
2117
2117
  .taskon-quest-leaderboard-subtitle {
2118
2118
  margin: 0;
2119
- font-size: 14px;
2119
+ font-size: var(--taskon-font-size);
2120
2120
  color: var(--taskon-color-text-secondary);
2121
2121
  }
2122
2122
 
@@ -2216,7 +2216,7 @@
2216
2216
  .taskon-quest-leaderboard-rank {
2217
2217
  display: inline-flex;
2218
2218
  align-items: center;
2219
- font-size: 14px;
2219
+ font-size: var(--taskon-font-size);
2220
2220
  font-weight: 500;
2221
2221
  color: var(--taskon-color-text);
2222
2222
  }
@@ -2224,7 +2224,7 @@
2224
2224
  /* Unranked / N/A 状态 */
2225
2225
 
2226
2226
  .taskon-quest-leaderboard-rank--unranked {
2227
- font-size: 14px;
2227
+ font-size: var(--taskon-font-size);
2228
2228
  font-weight: 500;
2229
2229
  color: var(--taskon-color-text-tertiary);
2230
2230
  }
@@ -2240,7 +2240,7 @@
2240
2240
  /* 层级列 */
2241
2241
 
2242
2242
  .taskon-quest-leaderboard-tier {
2243
- font-size: 14px;
2243
+ font-size: var(--taskon-font-size);
2244
2244
  font-weight: 500;
2245
2245
  color: var(--taskon-color-text);
2246
2246
  }
@@ -2258,7 +2258,7 @@
2258
2258
 
2259
2259
  .taskon-quest-leaderboard-user-badge {
2260
2260
  padding: 2px 8px;
2261
- font-size: 12px;
2261
+ font-size: var(--taskon-font-size-sm);
2262
2262
  font-weight: 600;
2263
2263
  color: var(--taskon-color-text-on-primary);
2264
2264
  background: var(--taskon-color-secondary);
@@ -2266,7 +2266,7 @@
2266
2266
  }
2267
2267
 
2268
2268
  .taskon-quest-leaderboard-user-name {
2269
- font-size: 14px;
2269
+ font-size: var(--taskon-font-size);
2270
2270
  color: var(--taskon-color-text);
2271
2271
  overflow: hidden;
2272
2272
  text-overflow: ellipsis;
@@ -2276,7 +2276,7 @@
2276
2276
  /* 积分 */
2277
2277
 
2278
2278
  .taskon-quest-leaderboard-points {
2279
- font-size: 14px;
2279
+ font-size: var(--taskon-font-size);
2280
2280
  font-weight: 500;
2281
2281
  color: var(--taskon-color-text);
2282
2282
  }
@@ -2291,25 +2291,25 @@
2291
2291
  }
2292
2292
 
2293
2293
  .taskon-quest-leaderboard-reward-type {
2294
- font-size: 14px;
2294
+ font-size: var(--taskon-font-size);
2295
2295
  font-weight: 600;
2296
2296
  color: var(--taskon-color-text);
2297
2297
  }
2298
2298
 
2299
2299
  .taskon-quest-leaderboard-reward {
2300
- font-size: 14px;
2300
+ font-size: var(--taskon-font-size);
2301
2301
  font-weight: 600;
2302
2302
  color: var(--taskon-color-primary);
2303
2303
  }
2304
2304
 
2305
2305
  .taskon-quest-leaderboard-not-qualified {
2306
- font-size: 14px;
2306
+ font-size: var(--taskon-font-size);
2307
2307
  font-weight: 600;
2308
2308
  color: var(--taskon-color-text-tertiary);
2309
2309
  }
2310
2310
 
2311
2311
  .taskon-quest-leaderboard-no-reward {
2312
- font-size: 14px;
2312
+ font-size: var(--taskon-font-size);
2313
2313
  color: var(--taskon-color-text-tertiary);
2314
2314
  }
2315
2315
  /**
@@ -2385,9 +2385,9 @@
2385
2385
  height: 20px;
2386
2386
  padding: 0 8px;
2387
2387
  border-radius: var(--taskon-border-radius-lg);
2388
- font-size: 12px;
2388
+ font-size: var(--taskon-font-size-sm);
2389
2389
  font-weight: 600;
2390
- line-height: 16px;
2390
+ line-height: 1.33;
2391
2391
  text-transform: uppercase;
2392
2392
  }
2393
2393
 
@@ -2417,9 +2417,9 @@
2417
2417
  /* Card message text (for simple messages) */
2418
2418
 
2419
2419
  .taskon-quest-footer-card-message {
2420
- font-size: 16px;
2420
+ font-size: var(--taskon-font-size-lg);
2421
2421
  font-weight: 600;
2422
- line-height: 24px;
2422
+ line-height: 1.5;
2423
2423
  color: var(--taskon-color-text);
2424
2424
  }
2425
2425
 
@@ -2442,15 +2442,15 @@
2442
2442
  .taskon-quest-footer-title {
2443
2443
  font-size: 20px;
2444
2444
  font-weight: 600;
2445
- line-height: 28px;
2445
+ line-height: 1.4;
2446
2446
  color: var(--taskon-color-text);
2447
2447
  }
2448
2448
 
2449
2449
  .taskon-quest-footer-desc {
2450
2450
  margin-top: 2px;
2451
- font-size: 14px;
2451
+ font-size: var(--taskon-font-size);
2452
2452
  font-weight: 500;
2453
- line-height: 18px;
2453
+ line-height: 1.29;
2454
2454
  color: var(--taskon-color-text-tertiary);
2455
2455
  }
2456
2456
 
@@ -2466,7 +2466,7 @@
2466
2466
  .taskon-quest-footer-connect-btn {
2467
2467
  width: 100%;
2468
2468
  padding: 12px 24px;
2469
- font-size: 16px;
2469
+ font-size: var(--taskon-font-size-lg);
2470
2470
  font-weight: 600;
2471
2471
  color: var(--taskon-color-text-on-primary);
2472
2472
  background-color: var(--taskon-color-primary);
@@ -2487,7 +2487,7 @@
2487
2487
  .taskon-quest-footer-complete-btn {
2488
2488
  width: 100%;
2489
2489
  padding: 12px 24px;
2490
- font-size: 16px;
2490
+ font-size: var(--taskon-font-size-lg);
2491
2491
  font-weight: 600;
2492
2492
  color: var(--taskon-color-text-on-primary);
2493
2493
  background-color: var(--taskon-color-primary);
@@ -2547,7 +2547,7 @@
2547
2547
  }
2548
2548
 
2549
2549
  .taskon-quest-footer-earned-hint {
2550
- font-size: 14px;
2550
+ font-size: var(--taskon-font-size);
2551
2551
  font-weight: 500;
2552
2552
  color: var(--taskon-color-text-tertiary);
2553
2553
  }
@@ -2602,14 +2602,14 @@
2602
2602
  }
2603
2603
 
2604
2604
  .taskon-quest-footer-earned-single-type {
2605
- font-size: 18px;
2605
+ font-size: var(--taskon-font-size-xl);
2606
2606
  font-weight: 600;
2607
- line-height: 24px;
2607
+ line-height: 1.33;
2608
2608
  color: var(--taskon-color-text);
2609
2609
  }
2610
2610
 
2611
2611
  .taskon-quest-footer-earned-single-name {
2612
- font-size: 12px;
2612
+ font-size: var(--taskon-font-size-sm);
2613
2613
  font-weight: 500;
2614
2614
  line-height: normal;
2615
2615
  color: var(--taskon-color-text-disabled);
@@ -2625,9 +2625,9 @@
2625
2625
  }
2626
2626
 
2627
2627
  .taskon-quest-footer-earned-multi-text {
2628
- font-size: 16px;
2628
+ font-size: var(--taskon-font-size-lg);
2629
2629
  font-weight: 600;
2630
- line-height: 24px;
2630
+ line-height: 1.5;
2631
2631
  color: var(--taskon-color-text);
2632
2632
  }
2633
2633
 
@@ -2640,9 +2640,9 @@
2640
2640
  }
2641
2641
 
2642
2642
  .taskon-quest-footer-earned-redirect-text {
2643
- font-size: 16px;
2643
+ font-size: var(--taskon-font-size-lg);
2644
2644
  font-weight: 600;
2645
- line-height: 24px;
2645
+ line-height: 1.5;
2646
2646
  color: var(--taskon-color-text);
2647
2647
  flex: 1;
2648
2648
  }
@@ -2688,7 +2688,7 @@
2688
2688
  display: flex;
2689
2689
  align-items: center;
2690
2690
  gap: 4px;
2691
- font-size: 18px;
2691
+ font-size: var(--taskon-font-size-xl);
2692
2692
  }
2693
2693
 
2694
2694
  .taskon-quest-footer-reward-info img {
@@ -2718,7 +2718,7 @@
2718
2718
  display: flex;
2719
2719
  align-items: center;
2720
2720
  gap: 4px;
2721
- font-size: 14px;
2721
+ font-size: var(--taskon-font-size);
2722
2722
  color: var(--taskon-color-text-tertiary);
2723
2723
  cursor: pointer;
2724
2724
  transition: color 0.2s ease;
@@ -2738,7 +2738,7 @@
2738
2738
 
2739
2739
  .taskon-quest-footer-claim-btn {
2740
2740
  padding: 4px 12px;
2741
- font-size: 14px;
2741
+ font-size: var(--taskon-font-size);
2742
2742
  font-weight: 600;
2743
2743
  color: var(--taskon-color-text-on-primary);
2744
2744
  background-color: var(--taskon-color-primary);
@@ -2775,7 +2775,7 @@
2775
2775
  ============================================================================ */
2776
2776
 
2777
2777
  .taskon-quest-footer-earned-more-text {
2778
- font-size: 14px;
2778
+ font-size: var(--taskon-font-size);
2779
2779
  font-weight: 600;
2780
2780
  color: var(--taskon-color-text);
2781
2781
  }
@@ -2805,7 +2805,7 @@
2805
2805
  display: inline-flex;
2806
2806
  align-items: center;
2807
2807
  padding: 2px 6px;
2808
- font-size: 12px;
2808
+ font-size: var(--taskon-font-size-sm);
2809
2809
  font-weight: 500;
2810
2810
  color: var(--taskon-color-text-on-primary);
2811
2811
  background-color: var(--taskon-color-primary);
@@ -2835,7 +2835,7 @@
2835
2835
  display: flex;
2836
2836
  align-items: center;
2837
2837
  gap: 4px;
2838
- font-size: 14px;
2838
+ font-size: var(--taskon-font-size);
2839
2839
  }
2840
2840
 
2841
2841
  .taskon-quest-footer-reward-tx-label {
@@ -2857,7 +2857,7 @@
2857
2857
 
2858
2858
  .taskon-quest-footer-reward-dropping {
2859
2859
  margin-top: 4px;
2860
- font-size: 14px;
2860
+ font-size: var(--taskon-font-size);
2861
2861
  color: var(--taskon-color-text-tertiary);
2862
2862
  }
2863
2863
 
@@ -2885,7 +2885,7 @@
2885
2885
  }
2886
2886
 
2887
2887
  .taskon-quest-footer-detail-title {
2888
- font-size: 22px;
2888
+ font-size: var(--taskon-font-size-xxl);
2889
2889
  font-weight: 600;
2890
2890
  color: var(--taskon-color-text);
2891
2891
  margin: 0 0 20px 0;
@@ -2910,7 +2910,7 @@
2910
2910
  }
2911
2911
 
2912
2912
  .taskon-quest-footer-selection-label {
2913
- font-size: 16px;
2913
+ font-size: var(--taskon-font-size-lg);
2914
2914
  font-weight: 500;
2915
2915
  color: var(--taskon-color-text-secondary);
2916
2916
  }
@@ -2934,8 +2934,8 @@
2934
2934
  display: flex;
2935
2935
  align-items: center;
2936
2936
  gap: 6px;
2937
- font-size: 14px;
2938
- line-height: 18px;
2937
+ font-size: var(--taskon-font-size);
2938
+ line-height: 1.29;
2939
2939
  color: var(--taskon-color-text-tertiary);
2940
2940
  }
2941
2941
 
@@ -2950,9 +2950,9 @@
2950
2950
  display: flex;
2951
2951
  align-items: center;
2952
2952
  gap: 8px;
2953
- font-size: 14px;
2953
+ font-size: var(--taskon-font-size);
2954
2954
  font-weight: 500;
2955
- line-height: 16px;
2955
+ line-height: 1.14;
2956
2956
  color: var(--taskon-color-text);
2957
2957
  }
2958
2958
 
@@ -3029,7 +3029,7 @@
3029
3029
  }
3030
3030
 
3031
3031
  .taskon-quest-footer-detail-bonus-label {
3032
- font-size: 16px;
3032
+ font-size: var(--taskon-font-size-lg);
3033
3033
  font-weight: 500;
3034
3034
  color: var(--taskon-color-text-secondary);
3035
3035
  }
@@ -3040,7 +3040,7 @@
3040
3040
  }
3041
3041
 
3042
3042
  .taskon-quest-footer-detail-bonus-item {
3043
- font-size: 14px;
3043
+ font-size: var(--taskon-font-size);
3044
3044
  font-weight: 600;
3045
3045
  text-align: right;
3046
3046
  color: var(--taskon-color-text);
@@ -3090,7 +3090,7 @@ a.taskon-quest-footer-action-btn {
3090
3090
  .taskon-task-validation-dialog-message {
3091
3091
  margin: 0;
3092
3092
  margin-bottom: 16px;
3093
- font-size: 16px;
3093
+ font-size: var(--taskon-font-size-lg);
3094
3094
  line-height: 1.5;
3095
3095
  color: var(--taskon-color-text);
3096
3096
  }
@@ -3098,7 +3098,7 @@ a.taskon-quest-footer-action-btn {
3098
3098
  .taskon-task-validation-dialog-progress {
3099
3099
  margin: 0;
3100
3100
  margin-bottom: 16px;
3101
- font-size: 14px;
3101
+ font-size: var(--taskon-font-size);
3102
3102
  line-height: 1.5;
3103
3103
  color: var(--taskon-color-text-tertiary);
3104
3104
  }
@@ -3111,7 +3111,7 @@ a.taskon-quest-footer-action-btn {
3111
3111
  border-radius: var(--taskon-border-radius);
3112
3112
  background: var(--taskon-color-primary);
3113
3113
  color: var(--taskon-color-text-on-primary);
3114
- font-size: 16px;
3114
+ font-size: var(--taskon-font-size-lg);
3115
3115
  font-weight: 600;
3116
3116
  cursor: pointer;
3117
3117
  transition: opacity 0.2s ease;
@@ -3136,7 +3136,7 @@ a.taskon-quest-footer-action-btn {
3136
3136
  .taskon-reward-bind-tip {
3137
3137
  margin: 0;
3138
3138
  margin-bottom: 20px;
3139
- font-size: 14px;
3139
+ font-size: var(--taskon-font-size);
3140
3140
  line-height: 1.6;
3141
3141
  color: var(--taskon-color-text-tertiary);
3142
3142
  }
@@ -3163,7 +3163,7 @@ a.taskon-quest-footer-action-btn {
3163
3163
  }
3164
3164
 
3165
3165
  .taskon-reward-bind-item-label {
3166
- font-size: 14px;
3166
+ font-size: var(--taskon-font-size);
3167
3167
  font-weight: 500;
3168
3168
  color: var(--taskon-color-text);
3169
3169
  }
@@ -3172,7 +3172,7 @@ a.taskon-quest-footer-action-btn {
3172
3172
  display: flex;
3173
3173
  align-items: center;
3174
3174
  gap: 6px;
3175
- font-size: 13px;
3175
+ font-size: var(--taskon-font-size-sm);
3176
3176
  color: var(--taskon-color-secondary);
3177
3177
  }
3178
3178
 
@@ -3185,7 +3185,7 @@ a.taskon-quest-footer-action-btn {
3185
3185
  border-radius: var(--taskon-border-radius-sm);
3186
3186
  background: var(--taskon-color-primary);
3187
3187
  color: var(--taskon-color-text-on-primary);
3188
- font-size: 13px;
3188
+ font-size: var(--taskon-font-size-sm);
3189
3189
  font-weight: 600;
3190
3190
  cursor: pointer;
3191
3191
  transition: opacity 0.2s ease;
@@ -3223,7 +3223,7 @@ a.taskon-quest-footer-action-btn {
3223
3223
  border-radius: var(--taskon-border-radius);
3224
3224
  background: transparent;
3225
3225
  color: var(--taskon-color-text);
3226
- font-size: 14px;
3226
+ font-size: var(--taskon-font-size);
3227
3227
  font-weight: 500;
3228
3228
  cursor: pointer;
3229
3229
  transition: all 0.2s ease;
@@ -3258,7 +3258,7 @@ a.taskon-quest-footer-action-btn {
3258
3258
  .taskon-discord-bind-dialog-desc {
3259
3259
  margin: 0;
3260
3260
  margin-bottom: 24px;
3261
- font-size: 14px;
3261
+ font-size: var(--taskon-font-size);
3262
3262
  line-height: 1.6;
3263
3263
  color: var(--taskon-color-text-tertiary);
3264
3264
  }
@@ -3274,7 +3274,7 @@ a.taskon-quest-footer-action-btn {
3274
3274
  width: 100%;
3275
3275
  padding: 14px 24px;
3276
3276
  border-radius: var(--taskon-border-radius);
3277
- font-size: 14px;
3277
+ font-size: var(--taskon-font-size);
3278
3278
  font-weight: 600;
3279
3279
  cursor: pointer;
3280
3280
  transition: all 0.2s ease;
@@ -3326,9 +3326,9 @@ a.taskon-quest-footer-action-btn {
3326
3326
  /* Winners 标签 */
3327
3327
 
3328
3328
  .taskon-quest-winners-row-label {
3329
- font-size: 18px;
3329
+ font-size: var(--taskon-font-size-xl);
3330
3330
  font-weight: 500;
3331
- line-height: 23px;
3331
+ line-height: 1.28;
3332
3332
  color: var(--taskon-color-text);
3333
3333
  }
3334
3334
 
@@ -3337,9 +3337,9 @@ a.taskon-quest-footer-action-btn {
3337
3337
  .taskon-quest-winners-row-count {
3338
3338
  flex: 1;
3339
3339
  margin-left: 8px;
3340
- font-size: 18px;
3340
+ font-size: var(--taskon-font-size-xl);
3341
3341
  font-weight: 600;
3342
- line-height: 23px;
3342
+ line-height: 1.28;
3343
3343
  text-align: left;
3344
3344
  color: var(--taskon-color-secondary);
3345
3345
  }
@@ -3383,7 +3383,7 @@ a.taskon-quest-footer-action-btn {
3383
3383
  gap: 8px;
3384
3384
  padding: 16px;
3385
3385
  background: var(--taskon-color-bg-surface-strong);
3386
- font-size: 16px;
3386
+ font-size: var(--taskon-font-size-lg);
3387
3387
  font-weight: 500;
3388
3388
  color: var(--taskon-color-text-secondary);
3389
3389
  text-decoration: none;
@@ -3424,7 +3424,7 @@ a.taskon-quest-footer-action-btn {
3424
3424
  }
3425
3425
 
3426
3426
  .taskon-winners-pow-info {
3427
- font-size: 12px;
3427
+ font-size: var(--taskon-font-size-sm);
3428
3428
  line-height: 1.5;
3429
3429
  color: var(--taskon-color-warning);
3430
3430
  margin-bottom: 16px;
@@ -3457,7 +3457,7 @@ a.taskon-quest-footer-action-btn {
3457
3457
  display: flex;
3458
3458
  align-items: center;
3459
3459
  justify-content: space-between;
3460
- font-size: 16px;
3460
+ font-size: var(--taskon-font-size-lg);
3461
3461
  }
3462
3462
 
3463
3463
  .taskon-winners-card-label {
@@ -3510,7 +3510,7 @@ a.taskon-quest-footer-action-btn {
3510
3510
 
3511
3511
  .taskon-quest {
3512
3512
  container-type: inline-size;
3513
- font-size: 16px;
3513
+ font-size: var(--taskon-font-size-lg);
3514
3514
  line-height: 1.5;
3515
3515
  color: var(--taskon-color-text);
3516
3516
  }
@@ -3677,13 +3677,13 @@ a.taskon-quest-footer-action-btn {
3677
3677
 
3678
3678
  .taskon-quest-error-message {
3679
3679
  color: var(--taskon-color-error);
3680
- font-size: 14px;
3680
+ font-size: var(--taskon-font-size);
3681
3681
  }
3682
3682
 
3683
3683
  .taskon-quest-error-retry {
3684
3684
  margin-top: 8px;
3685
3685
  padding: 8px 16px;
3686
- font-size: 14px;
3686
+ font-size: var(--taskon-font-size);
3687
3687
  color: var(--taskon-color-text);
3688
3688
  background-color: var(--taskon-color-primary);
3689
3689
  border: none;
@@ -3706,7 +3706,7 @@ a.taskon-quest-footer-action-btn {
3706
3706
  justify-content: center;
3707
3707
  padding: 48px 24px;
3708
3708
  color: var(--taskon-color-text-tertiary);
3709
- font-size: 14px;
3709
+ font-size: var(--taskon-font-size);
3710
3710
  }
3711
3711
 
3712
3712
  /* ============================================================================
@@ -3773,7 +3773,7 @@ a.taskon-quest-footer-action-btn {
3773
3773
  margin: 0;
3774
3774
  font-size: 28px;
3775
3775
  font-weight: 600;
3776
- line-height: 38px;
3776
+ line-height: 1.36;
3777
3777
  color: var(--taskon-color-text);
3778
3778
  }
3779
3779
 
@@ -3808,9 +3808,9 @@ a.taskon-quest-footer-action-btn {
3808
3808
  }
3809
3809
 
3810
3810
  .taskon-quest-countdown-label {
3811
- font-size: 14px;
3811
+ font-size: var(--taskon-font-size);
3812
3812
  font-weight: 400;
3813
- line-height: 20px;
3813
+ line-height: 1.43;
3814
3814
  color: var(--taskon-color-text-secondary);
3815
3815
  }
3816
3816
 
@@ -3822,9 +3822,9 @@ a.taskon-quest-footer-action-btn {
3822
3822
  }
3823
3823
 
3824
3824
  .taskon-quest-countdown-value {
3825
- font-size: 14px;
3825
+ font-size: var(--taskon-font-size);
3826
3826
  font-weight: 600;
3827
- line-height: 20px;
3827
+ line-height: 1.43;
3828
3828
  color: var(--taskon-color-primary);
3829
3829
  }
3830
3830
 
@@ -3839,16 +3839,16 @@ a.taskon-quest-footer-action-btn {
3839
3839
  flex-direction: column;
3840
3840
  gap: 2px;
3841
3841
  min-width: 0;
3842
- font-size: 14px;
3842
+ font-size: var(--taskon-font-size);
3843
3843
  font-weight: 500;
3844
- line-height: 20px;
3844
+ line-height: 1.43;
3845
3845
  color: var(--taskon-color-text-secondary);
3846
3846
  }
3847
3847
 
3848
3848
  .taskon-quest-time-range-timezone {
3849
- font-size: 12px;
3849
+ font-size: var(--taskon-font-size-sm);
3850
3850
  font-weight: 500;
3851
- line-height: 16px;
3851
+ line-height: 1.33;
3852
3852
  color: var(--taskon-color-text-tertiary);
3853
3853
  }
3854
3854
 
@@ -3899,9 +3899,9 @@ a.taskon-quest-footer-action-btn {
3899
3899
 
3900
3900
  .taskon-quest-desc-text {
3901
3901
  margin: 0;
3902
- font-size: 16px;
3902
+ font-size: var(--taskon-font-size-lg);
3903
3903
  font-weight: 400;
3904
- line-height: 24px;
3904
+ line-height: 1.5;
3905
3905
  color: var(--taskon-color-text-secondary);
3906
3906
  max-height: 120px;
3907
3907
  overflow: hidden;
@@ -3972,9 +3972,9 @@ a.taskon-quest-footer-action-btn {
3972
3972
  }
3973
3973
 
3974
3974
  .taskon-quest-desc-more {
3975
- font-size: 16px;
3975
+ font-size: var(--taskon-font-size-lg);
3976
3976
  font-weight: 600;
3977
- line-height: 24px;
3977
+ line-height: 1.5;
3978
3978
  color: var(--taskon-color-text);
3979
3979
  text-decoration: underline;
3980
3980
  text-decoration-skip-ink: none;
@@ -4017,9 +4017,9 @@ a.taskon-quest-footer-action-btn {
4017
4017
 
4018
4018
  .taskon-quest-tasks-title {
4019
4019
  margin: 0;
4020
- font-size: 24px;
4020
+ font-size: var(--taskon-font-size-xxxl);
4021
4021
  font-weight: 600;
4022
- line-height: 32px;
4022
+ line-height: 1.33;
4023
4023
  color: var(--taskon-color-text);
4024
4024
  }
4025
4025
 
@@ -4040,14 +4040,14 @@ a.taskon-quest-footer-action-btn {
4040
4040
  background: var(--taskon-color-bg-surface-strong);
4041
4041
  border: 1px solid var(--taskon-color-border-secondary);
4042
4042
  border-radius: var(--taskon-border-radius);
4043
- font-size: 18px;
4043
+ font-size: var(--taskon-font-size-xl);
4044
4044
  font-weight: 600;
4045
4045
  color: var(--taskon-color-text);
4046
4046
  }
4047
4047
 
4048
4048
  .taskon-quest-task-template {
4049
4049
  color: var(--taskon-color-text-disabled);
4050
- font-size: 14px;
4050
+ font-size: var(--taskon-font-size);
4051
4051
  font-weight: 500;
4052
4052
  }
4053
4053
 
@@ -4057,9 +4057,9 @@ a.taskon-quest-footer-action-btn {
4057
4057
  width: 100%;
4058
4058
  margin-top: var(--taskon-spacing-lg);
4059
4059
  padding: var(--taskon-spacing-md) var(--taskon-spacing-xl);
4060
- font-size: 18px;
4060
+ font-size: var(--taskon-font-size-xl);
4061
4061
  font-weight: 600;
4062
- line-height: 24px;
4062
+ line-height: 1.33;
4063
4063
  color: var(--taskon-color-text-on-primary);
4064
4064
  background-color: var(--taskon-color-primary);
4065
4065
  border: none;
@@ -4094,9 +4094,9 @@ a.taskon-quest-footer-action-btn {
4094
4094
 
4095
4095
  .taskon-quest-winners-section-title {
4096
4096
  margin: 0;
4097
- font-size: 24px;
4097
+ font-size: var(--taskon-font-size-xxxl);
4098
4098
  font-weight: 600;
4099
- line-height: 32px;
4099
+ line-height: 1.33;
4100
4100
  color: var(--taskon-color-text);
4101
4101
  }
4102
4102
 
@@ -4112,9 +4112,9 @@ a.taskon-quest-footer-action-btn {
4112
4112
 
4113
4113
  .taskon-quest-rewards-section-title {
4114
4114
  margin: 0;
4115
- font-size: 24px;
4115
+ font-size: var(--taskon-font-size-xxxl);
4116
4116
  font-weight: 600;
4117
- line-height: 32px;
4117
+ line-height: 1.33;
4118
4118
  color: var(--taskon-color-text);
4119
4119
  }
4120
4120
 
@@ -4130,9 +4130,9 @@ a.taskon-quest-footer-action-btn {
4130
4130
 
4131
4131
  .taskon-quest-rewards-title {
4132
4132
  margin: 0;
4133
- font-size: 24px;
4133
+ font-size: var(--taskon-font-size-xxxl);
4134
4134
  font-weight: 600;
4135
- line-height: 32px;
4135
+ line-height: 1.33;
4136
4136
  color: var(--taskon-color-text);
4137
4137
  }
4138
4138
 
@@ -4149,7 +4149,7 @@ a.taskon-quest-footer-action-btn {
4149
4149
  padding: var(--taskon-spacing-md);
4150
4150
  background-color: var(--taskon-color-border-secondary);
4151
4151
  border-radius: var(--taskon-border-radius-lg);
4152
- font-size: 16px;
4152
+ font-size: var(--taskon-font-size-lg);
4153
4153
  color: var(--taskon-color-text);
4154
4154
  }
4155
4155
 
@@ -4172,7 +4172,7 @@ a.taskon-quest-footer-action-btn {
4172
4172
  margin: 0;
4173
4173
  font-size: 20px;
4174
4174
  font-weight: 600;
4175
- line-height: 28px;
4175
+ line-height: 1.4;
4176
4176
  color: var(--taskon-color-text);
4177
4177
  }
4178
4178
 
@@ -4188,9 +4188,9 @@ a.taskon-quest-footer-action-btn {
4188
4188
 
4189
4189
  .taskon-quest-participants-title {
4190
4190
  margin: 0;
4191
- font-size: 24px;
4191
+ font-size: var(--taskon-font-size-xxxl);
4192
4192
  font-weight: 600;
4193
- line-height: 32px;
4193
+ line-height: 1.33;
4194
4194
  color: var(--taskon-color-text);
4195
4195
  }
4196
4196
 
@@ -4198,9 +4198,9 @@ a.taskon-quest-footer-action-btn {
4198
4198
  display: flex;
4199
4199
  justify-content: space-between;
4200
4200
  align-items: center;
4201
- font-size: 16px;
4201
+ font-size: var(--taskon-font-size-lg);
4202
4202
  font-weight: 500;
4203
- line-height: 24px;
4203
+ line-height: 1.5;
4204
4204
  }
4205
4205
 
4206
4206
  .taskon-quest-participants-label {
@@ -4248,8 +4248,8 @@ a.taskon-quest-footer-action-btn {
4248
4248
 
4249
4249
  .taskon-quest-countdown-label,
4250
4250
  .taskon-quest-countdown-value {
4251
- font-size: 16px;
4252
- line-height: 24px;
4251
+ font-size: var(--taskon-font-size-lg);
4252
+ line-height: 1.5;
4253
4253
  }
4254
4254
 
4255
4255
  .taskon-quest-countdown-divider {
@@ -4264,15 +4264,15 @@ a.taskon-quest-footer-action-btn {
4264
4264
  flex: 0 1 auto;
4265
4265
  flex-direction: row;
4266
4266
  gap: 8px;
4267
- font-size: 16px;
4267
+ font-size: var(--taskon-font-size-lg);
4268
4268
  font-weight: 400;
4269
- line-height: 24px;
4269
+ line-height: 1.5;
4270
4270
  }
4271
4271
 
4272
4272
  .taskon-quest-time-range-timezone {
4273
- font-size: 16px;
4273
+ font-size: var(--taskon-font-size-lg);
4274
4274
  font-weight: 400;
4275
- line-height: 24px;
4275
+ line-height: 1.5;
4276
4276
  color: var(--taskon-color-text-secondary);
4277
4277
  }
4278
4278
 
@@ -4351,8 +4351,8 @@ a.taskon-quest-footer-action-btn {
4351
4351
 
4352
4352
  .taskon-quest-countdown-label,
4353
4353
  .taskon-quest-countdown-value {
4354
- font-size: 16px;
4355
- line-height: 24px;
4354
+ font-size: var(--taskon-font-size-lg);
4355
+ line-height: 1.5;
4356
4356
  }
4357
4357
 
4358
4358
  .taskon-quest-countdown-divider {
@@ -4367,15 +4367,15 @@ a.taskon-quest-footer-action-btn {
4367
4367
  flex: 0 1 auto;
4368
4368
  flex-direction: row;
4369
4369
  gap: 8px;
4370
- font-size: 16px;
4370
+ font-size: var(--taskon-font-size-lg);
4371
4371
  font-weight: 400;
4372
- line-height: 24px;
4372
+ line-height: 1.5;
4373
4373
  }
4374
4374
 
4375
4375
  .taskon-quest-time-range-timezone {
4376
- font-size: 16px;
4376
+ font-size: var(--taskon-font-size-lg);
4377
4377
  font-weight: 400;
4378
- line-height: 24px;
4378
+ line-height: 1.5;
4379
4379
  color: var(--taskon-color-text-secondary);
4380
4380
  }
4381
4381