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

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 (58) hide show
  1. package/README.md +13 -4
  2. package/dist/CommunityTaskList.css +119 -111
  3. package/dist/EligibilityInfo.css +114 -110
  4. package/dist/LeaderboardWidget.css +73 -71
  5. package/dist/PageBuilder.css +5 -0
  6. package/dist/Quest.css +259 -255
  7. package/dist/TaskOnProvider.css +2 -0
  8. package/dist/UserCenterWidget.css +6 -6
  9. package/dist/UserCenterWidget2.css +1626 -1601
  10. package/dist/{dynamic-import-helper.css → WidgetShell.css} +2 -2
  11. package/dist/chunks/{CommunityTaskList-C9Gv8KOF.js → CommunityTaskList-Hde2OKHH.js} +1070 -580
  12. package/dist/chunks/{EligibilityInfo-D-Fuy9GE.js → EligibilityInfo-BV0Z2TgY.js} +1972 -1028
  13. package/dist/chunks/{LeaderboardWidget-BV2D2q1N.js → LeaderboardWidget-BNGRD5Bu.js} +270 -249
  14. package/dist/chunks/{PageBuilder-DQoU4Mwf.js → PageBuilder-C5DSHiW9.js} +5 -5
  15. package/dist/chunks/{Quest-B5NyVr3o.js → Quest-DG9zfXJo.js} +723 -513
  16. package/dist/chunks/{TaskOnProvider-93UxARFo.js → TaskOnProvider-BhamHIyY.js} +98 -68
  17. package/dist/chunks/{ThemeProvider-CPI_roeh.js → ThemeProvider-mXLdLSkq.js} +107 -20
  18. package/dist/chunks/{UserCenterWidget-cADBSVg7.js → UserCenterWidget-D5ttw4hO.js} +1328 -1337
  19. package/dist/chunks/{UserCenterWidget-BRtigY_S.js → UserCenterWidget-jDO5zTN1.js} +358 -254
  20. package/dist/chunks/{dynamic-import-helper-DwXlQC0S.js → WidgetShell-D7yC894Y.js} +447 -457
  21. package/dist/chunks/communitytask-es-CBNnS4o2.js +521 -0
  22. package/dist/chunks/communitytask-ja-GRf9cbdx.js +521 -0
  23. package/dist/chunks/communitytask-ko-Bf24PQKI.js +521 -0
  24. package/dist/chunks/communitytask-ru-CZm2CPoV.js +521 -0
  25. package/dist/chunks/leaderboardwidget-es-vKjrjQaz.js +146 -0
  26. package/dist/chunks/leaderboardwidget-ja-Q6u0HxKG.js +146 -0
  27. package/dist/chunks/leaderboardwidget-ko-CG6SWgxf.js +146 -0
  28. package/dist/chunks/leaderboardwidget-ru-DCcHcJGz.js +146 -0
  29. package/dist/chunks/quest-es-Dyyy0zaw.js +863 -0
  30. package/dist/chunks/quest-ja-Depog33y.js +863 -0
  31. package/dist/chunks/quest-ko-BMu3uRQJ.js +863 -0
  32. package/dist/chunks/quest-ru-xne814Rw.js +863 -0
  33. package/dist/chunks/taskwidget-es-Do9b3Mqw.js +245 -0
  34. package/dist/chunks/taskwidget-ja-CqSu-yWA.js +245 -0
  35. package/dist/chunks/taskwidget-ko-EHgXFV4B.js +245 -0
  36. package/dist/chunks/taskwidget-ru-CMbLQDK4.js +245 -0
  37. package/dist/chunks/usercenter-es-Dz3Wp2vV.js +512 -0
  38. package/dist/chunks/usercenter-ja-CKE4DJC6.js +512 -0
  39. package/dist/chunks/usercenter-ko-Dtpkn2qb.js +512 -0
  40. package/dist/chunks/usercenter-ru-DnBGee45.js +512 -0
  41. package/dist/community-task.d.ts +0 -390
  42. package/dist/community-task.js +2 -7
  43. package/dist/core.d.ts +46 -10
  44. package/dist/core.js +11 -11
  45. package/dist/index.d.ts +46 -667
  46. package/dist/index.js +19 -28
  47. package/dist/leaderboard.d.ts +0 -498
  48. package/dist/leaderboard.js +2 -16
  49. package/dist/page-builder.js +1 -1
  50. package/dist/quest.d.ts +0 -289
  51. package/dist/quest.js +2 -5
  52. package/dist/user-center.d.ts +0 -1608
  53. package/dist/user-center.js +2 -494
  54. package/package.json +5 -2
  55. package/dist/chunks/leaderboardwidget-ja-Bj6gz6y1.js +0 -119
  56. package/dist/chunks/leaderboardwidget-ko-f1cLO9ic.js +0 -119
  57. package/dist/chunks/usercenter-ja-B2465c1O.js +0 -326
  58. package/dist/chunks/usercenter-ko-xAEYxqLg.js +0 -326
@@ -810,8 +810,8 @@
810
810
 
811
811
  .taskon-task-verify-failed-dialog-message {
812
812
  margin-top: var(--taskon-spacing-sm);
813
- font-size: 16px;
814
- line-height: 20px;
813
+ font-size: var(--taskon-font-size-lg);
814
+ line-height: 1.25;
815
815
  color: var(--taskon-color-text-tertiary);
816
816
  white-space: pre-wrap;
817
817
  }
@@ -870,7 +870,7 @@
870
870
  border-radius: var(--taskon-border-radius);
871
871
  background: var(--taskon-color-bg-surface-subtle);
872
872
  color: var(--taskon-color-text);
873
- font-size: 14px;
873
+ font-size: var(--taskon-font-size);
874
874
  outline: none;
875
875
  transition: border-color 0.2s ease;
876
876
  }
@@ -958,8 +958,8 @@
958
958
 
959
959
  .taskon-pow-image-upload-tip {
960
960
  margin-top: 13px;
961
- font-size: 14px;
962
- line-height: 20px;
961
+ font-size: var(--taskon-font-size);
962
+ line-height: 1.43;
963
963
  letter-spacing: 0.04em;
964
964
  text-transform: uppercase;
965
965
  white-space: pre-wrap;
@@ -1025,8 +1025,10 @@
1025
1025
 
1026
1026
  .taskon-pow-error {
1027
1027
  margin-top: 10px;
1028
- font-size: 14px;
1028
+ font-size: var(--taskon-font-size);
1029
1029
  color: var(--taskon-color-error);
1030
+ overflow-wrap: anywhere;
1031
+ word-break: break-word;
1030
1032
  }
1031
1033
 
1032
1034
  /* ============================================
@@ -1038,9 +1040,9 @@
1038
1040
  .taskon-pow-review-time {
1039
1041
  margin-top: 10px;
1040
1042
  color: var(--taskon-color-warning);
1041
- font-size: 13px;
1043
+ font-size: var(--taskon-font-size-sm);
1042
1044
  font-weight: 500;
1043
- line-height: 16px;
1045
+ line-height: 1.33;
1044
1046
  }
1045
1047
 
1046
1048
  /* ============================================
@@ -1118,7 +1120,7 @@
1118
1120
  }
1119
1121
 
1120
1122
  .taskon-dynamic-points-value {
1121
- font-size: 16px;
1123
+ font-size: var(--taskon-font-size-lg);
1122
1124
  font-weight: 600;
1123
1125
  color: var(--taskon-color-text);
1124
1126
  }
@@ -1128,7 +1130,7 @@
1128
1130
  }
1129
1131
 
1130
1132
  .taskon-dynamic-points-max {
1131
- font-size: 14px;
1133
+ font-size: var(--taskon-font-size);
1132
1134
  font-weight: 500;
1133
1135
  color: var(--taskon-color-text-tertiary);
1134
1136
  text-transform: capitalize;
@@ -1194,7 +1196,7 @@
1194
1196
  }
1195
1197
 
1196
1198
  .taskon-dynamic-points-cooldown {
1197
- font-size: 14px;
1199
+ font-size: var(--taskon-font-size);
1198
1200
  font-weight: 500;
1199
1201
  color: var(--taskon-color-link);
1200
1202
  }
@@ -1224,7 +1226,7 @@
1224
1226
  }
1225
1227
 
1226
1228
  .taskon-swap-rules-title {
1227
- font-size: 14px;
1229
+ font-size: var(--taskon-font-size);
1228
1230
  font-weight: 500;
1229
1231
  color: var(--taskon-color-text-tertiary);
1230
1232
  margin-bottom: var(--taskon-spacing-sm);
@@ -1238,7 +1240,7 @@
1238
1240
  padding: var(--taskon-spacing-md);
1239
1241
  border-radius: var(--taskon-border-radius);
1240
1242
  background: var(--taskon-color-bg-surface-subtle);
1241
- font-size: 14px;
1243
+ font-size: var(--taskon-font-size);
1242
1244
  font-weight: 500;
1243
1245
  color: var(--taskon-color-text-tertiary);
1244
1246
  }
@@ -1264,7 +1266,7 @@
1264
1266
  }
1265
1267
 
1266
1268
  .taskon-swap-instructions-title {
1267
- font-size: 14px;
1269
+ font-size: var(--taskon-font-size);
1268
1270
  font-weight: 500;
1269
1271
  color: var(--taskon-color-text-tertiary);
1270
1272
  margin-bottom: var(--taskon-spacing-sm);
@@ -1295,7 +1297,7 @@
1295
1297
  /* Dialog title */
1296
1298
 
1297
1299
  .taskon-outer-point-api-dialog-title {
1298
- font-size: 18px;
1300
+ font-size: var(--taskon-font-size-xl);
1299
1301
  font-weight: 600;
1300
1302
  color: var(--taskon-color-text);
1301
1303
  margin: 0;
@@ -1311,8 +1313,8 @@
1311
1313
  border-radius: var(--taskon-border-radius);
1312
1314
  background: var(--taskon-color-warning-bg);
1313
1315
  color: var(--taskon-color-warning);
1314
- font-size: 14px;
1315
- line-height: 20px;
1316
+ font-size: var(--taskon-font-size);
1317
+ line-height: 1.43;
1316
1318
  }
1317
1319
 
1318
1320
  .taskon-outer-point-api-dialog-warning-icon {
@@ -1324,8 +1326,8 @@
1324
1326
  /* Description text */
1325
1327
 
1326
1328
  .taskon-outer-point-api-dialog-desc {
1327
- font-size: 14px;
1328
- line-height: 20px;
1329
+ font-size: var(--taskon-font-size);
1330
+ line-height: 1.43;
1329
1331
  color: var(--taskon-color-text-tertiary);
1330
1332
  }
1331
1333
 
@@ -1338,7 +1340,7 @@
1338
1340
  }
1339
1341
 
1340
1342
  .taskon-outer-point-api-dialog-label {
1341
- font-size: 14px;
1343
+ font-size: var(--taskon-font-size);
1342
1344
  font-weight: 500;
1343
1345
  color: var(--taskon-color-text-secondary);
1344
1346
  }
@@ -1351,8 +1353,8 @@
1351
1353
  border: 1px solid var(--taskon-color-border);
1352
1354
  background: var(--taskon-color-bg-surface-subtle);
1353
1355
  color: var(--taskon-color-text);
1354
- font-size: 14px;
1355
- line-height: 20px;
1356
+ font-size: var(--taskon-font-size);
1357
+ line-height: 1.43;
1356
1358
  outline: none;
1357
1359
  transition: border-color 0.2s ease;
1358
1360
  box-sizing: border-box;
@@ -1371,8 +1373,10 @@
1371
1373
  }
1372
1374
 
1373
1375
  .taskon-outer-point-api-dialog-error {
1374
- font-size: 12px;
1376
+ font-size: var(--taskon-font-size-sm);
1375
1377
  color: var(--taskon-color-error);
1378
+ overflow-wrap: anywhere;
1379
+ word-break: break-word;
1376
1380
  }
1377
1381
 
1378
1382
  /* Action buttons */
@@ -1387,7 +1391,7 @@
1387
1391
  .taskon-outer-point-api-dialog-btn {
1388
1392
  padding: var(--taskon-spacing-sm) var(--taskon-spacing-lg);
1389
1393
  border-radius: var(--taskon-border-radius);
1390
- font-size: 14px;
1394
+ font-size: var(--taskon-font-size);
1391
1395
  font-weight: 500;
1392
1396
  cursor: pointer;
1393
1397
  transition: all 0.2s ease;
@@ -1474,14 +1478,14 @@
1474
1478
  }
1475
1479
 
1476
1480
  .taskon-task-list-section-title {
1477
- font-size: 22px;
1481
+ font-size: var(--taskon-font-size-xxl);
1478
1482
  font-weight: 600;
1479
- line-height: 21px;
1483
+ line-height: 1;
1480
1484
  color: var(--taskon-color-text);
1481
1485
  }
1482
1486
 
1483
1487
  .taskon-task-list-section-hint {
1484
- font-size: 14px;
1488
+ font-size: var(--taskon-font-size);
1485
1489
  color: var(--taskon-color-text-tertiary);
1486
1490
  }
1487
1491
 
@@ -1597,7 +1601,7 @@
1597
1601
  display: flex;
1598
1602
  align-items: center;
1599
1603
  gap: var(--taskon-spacing-xs);
1600
- font-size: 13px;
1604
+ font-size: var(--taskon-font-size-sm);
1601
1605
  color: var(--taskon-color-text-tertiary);
1602
1606
  }
1603
1607
 
@@ -1645,8 +1649,8 @@
1645
1649
  height: 20px;
1646
1650
  /* 文字样式 */
1647
1651
  color: var(--taskon-color-primary);
1648
- font-size: 12px;
1649
- line-height: 16px;
1652
+ font-size: var(--taskon-font-size-sm);
1653
+ line-height: 1.33;
1650
1654
  font-weight: 500;
1651
1655
  text-align: center;
1652
1656
  display: flex;
@@ -1658,8 +1662,8 @@
1658
1662
 
1659
1663
  .taskon-task-item-recurrence .taskon-cooldown-timer {
1660
1664
  color: var(--taskon-color-primary);
1661
- font-size: 12px;
1662
- line-height: 16px;
1665
+ font-size: var(--taskon-font-size-sm);
1666
+ line-height: 1.33;
1663
1667
  font-weight: 500;
1664
1668
  }
1665
1669
 
@@ -1706,10 +1710,10 @@
1706
1710
 
1707
1711
  .taskon-task-item-title {
1708
1712
  display: inline;
1709
- font-size: 18px;
1713
+ font-size: var(--taskon-font-size-xl);
1710
1714
  font-weight: 500;
1711
1715
  color: var(--taskon-color-text);
1712
- line-height: 23px;
1716
+ line-height: 1.28;
1713
1717
  overflow-wrap: break-word;
1714
1718
  }
1715
1719
 
@@ -1780,7 +1784,7 @@
1780
1784
  gap: 2px;
1781
1785
  background: var(--taskon-color-bg-surface-subtle);
1782
1786
  border-radius: var(--taskon-border-radius-sm);
1783
- font-size: 16px;
1787
+ font-size: var(--taskon-font-size-lg);
1784
1788
  font-weight: 500;
1785
1789
  }
1786
1790
 
@@ -1795,7 +1799,7 @@
1795
1799
  }
1796
1800
 
1797
1801
  .taskon-task-item-points-time {
1798
- font-size: 12px;
1802
+ font-size: var(--taskon-font-size-sm);
1799
1803
  color: var(--taskon-color-text-tertiary);
1800
1804
  }
1801
1805
 
@@ -1808,7 +1812,7 @@
1808
1812
  /* Total points */
1809
1813
 
1810
1814
  .taskon-task-item-total-points {
1811
- font-size: 12px;
1815
+ font-size: var(--taskon-font-size-sm);
1812
1816
  color: var(--taskon-color-text-disabled);
1813
1817
  }
1814
1818
 
@@ -1824,12 +1828,12 @@
1824
1828
 
1825
1829
  .taskon-task-item-total-earn-text {
1826
1830
  color: var(--taskon-color-text-tertiary);
1827
- font-size: 14px;
1831
+ font-size: var(--taskon-font-size);
1828
1832
  }
1829
1833
 
1830
1834
  .taskon-task-item-total-earn-value {
1831
1835
  color: var(--taskon-color-primary);
1832
- font-size: 14px;
1836
+ font-size: var(--taskon-font-size);
1833
1837
  margin: 0 4px;
1834
1838
  }
1835
1839
 
@@ -1849,8 +1853,8 @@
1849
1853
  }
1850
1854
 
1851
1855
  .taskon-task-item-desc {
1852
- font-size: 14px;
1853
- line-height: 21px;
1856
+ font-size: var(--taskon-font-size);
1857
+ line-height: 1.5;
1854
1858
  color: var(--taskon-color-text-tertiary);
1855
1859
  word-break: break-word;
1856
1860
  white-space: pre-wrap;
@@ -1868,7 +1872,7 @@
1868
1872
  display: flex;
1869
1873
  align-items: baseline;
1870
1874
  gap: var(--taskon-spacing-sm);
1871
- font-size: 13px;
1875
+ font-size: var(--taskon-font-size-sm);
1872
1876
  }
1873
1877
 
1874
1878
  .taskon-task-item-field-key {
@@ -1897,7 +1901,7 @@
1897
1901
  display: inline-flex;
1898
1902
  align-items: center;
1899
1903
  padding: var(--taskon-spacing-sm) var(--taskon-spacing-md);
1900
- font-size: 13px;
1904
+ font-size: var(--taskon-font-size-sm);
1901
1905
  font-weight: 500;
1902
1906
  color: var(--taskon-color-primary);
1903
1907
  background: transparent;
@@ -1952,7 +1956,7 @@
1952
1956
  display: inline-flex;
1953
1957
  align-items: center;
1954
1958
  gap: var(--taskon-spacing-xs);
1955
- font-size: 13px;
1959
+ font-size: var(--taskon-font-size-sm);
1956
1960
  color: var(--taskon-color-warning);
1957
1961
  }
1958
1962
 
@@ -1967,9 +1971,9 @@
1967
1971
  gap: var(--taskon-spacing-xs);
1968
1972
  height: 34px;
1969
1973
  padding: 0 var(--taskon-spacing-md);
1970
- font-size: 14px;
1974
+ font-size: var(--taskon-font-size);
1971
1975
  font-weight: 500;
1972
- line-height: 20px;
1976
+ line-height: 1.43;
1973
1977
  color: var(--taskon-color-text);
1974
1978
  background: transparent;
1975
1979
  border: 1px solid var(--taskon-color-border);
@@ -2018,7 +2022,7 @@
2018
2022
  gap: var(--taskon-spacing-xs);
2019
2023
  padding: 0;
2020
2024
  margin-top: var(--taskon-spacing-sm);
2021
- font-size: 13px;
2025
+ font-size: var(--taskon-font-size-sm);
2022
2026
  font-weight: 500;
2023
2027
  color: var(--taskon-color-text);
2024
2028
  background: transparent;
@@ -2111,8 +2115,8 @@
2111
2115
  ============================================ */
2112
2116
 
2113
2117
  .taskon-task-time-range {
2114
- font-size: 14px;
2115
- line-height: 18px;
2118
+ font-size: var(--taskon-font-size);
2119
+ line-height: 1.29;
2116
2120
  margin-top: 14px;
2117
2121
  }
2118
2122
 
@@ -2205,17 +2209,29 @@
2205
2209
  container-type: inline-size;
2206
2210
  position: relative;
2207
2211
  width: min(520px, 92vw);
2212
+ min-height: 500px;
2213
+ padding: 24px var(--taskon-spacing-lg) 40px;
2214
+ display: flex;
2215
+ flex-direction: column;
2216
+ align-items: center;
2208
2217
  overflow: hidden;
2209
- padding-top: var(--taskon-spacing-lg);
2210
2218
  }
2211
2219
 
2212
2220
  .taskon-quest-blindbox-dialog-title {
2213
- margin: 0 0 var(--taskon-spacing-md);
2214
- padding: 0 var(--taskon-spacing-lg);
2215
- font-size: 22px;
2221
+ margin: 0;
2222
+ font-size: 32px;
2216
2223
  font-weight: 600;
2217
- line-height: 1.4;
2224
+ line-height: 1.25;
2218
2225
  color: #fff;
2226
+ text-align: center;
2227
+ }
2228
+
2229
+ .taskon-quest-blindbox-dialog-subtitle {
2230
+ margin: 12px 0 20px;
2231
+ font-size: var(--taskon-font-size-lg);
2232
+ line-height: 1.5;
2233
+ color: rgba(255, 255, 255, 0.7);
2234
+ text-align: center;
2219
2235
  }
2220
2236
 
2221
2237
  /* Stage container - centered square area for animation */
@@ -2227,7 +2243,7 @@
2227
2243
  justify-content: center;
2228
2244
  width: 100%;
2229
2245
  max-width: 420px;
2230
- margin: 0 auto;
2246
+ margin: 0 auto auto;
2231
2247
  aspect-ratio: 1;
2232
2248
  overflow: visible;
2233
2249
  border-radius: 32px;
@@ -2335,41 +2351,23 @@
2335
2351
  .taskon-quest-blindbox-reward {
2336
2352
  container-type: inline-size;
2337
2353
  position: relative;
2338
- width: 510px;
2339
- max-width: 92vw;
2340
- padding: 48px var(--taskon-spacing-lg);
2354
+ width: min(520px, 92vw);
2355
+ min-height: 500px;
2356
+ padding: 24px var(--taskon-spacing-lg) 40px;
2357
+ display: flex;
2358
+ flex-direction: column;
2359
+ align-items: center;
2341
2360
  text-align: center;
2342
2361
  color: #fff;
2343
2362
  overflow: hidden;
2344
2363
  }
2345
2364
 
2346
- /* Light background effect */
2347
-
2348
- .taskon-quest-blindbox-reward-light {
2349
- position: absolute;
2350
- top: 0;
2351
- left: 50%;
2352
- width: 120%;
2353
- max-width: none;
2354
- transform: translateX(-50%);
2355
- object-fit: contain;
2356
- pointer-events: none;
2357
- opacity: 0;
2358
- animation: taskon-blindbox-light-appear 2s ease-out forwards;
2359
- }
2360
-
2361
- @keyframes taskon-blindbox-light-appear {
2362
- to {
2363
- opacity: 1;
2364
- }
2365
- }
2366
-
2367
2365
  /* Title */
2368
2366
 
2369
2367
  .taskon-quest-blindbox-reward-title {
2370
2368
  font-size: 32px;
2371
2369
  font-weight: 600;
2372
- line-height: 40px;
2370
+ line-height: 1.25;
2373
2371
  margin: 0;
2374
2372
  }
2375
2373
 
@@ -2377,7 +2375,8 @@
2377
2375
 
2378
2376
  .taskon-quest-blindbox-reward-subtitle {
2379
2377
  margin-top: 12px;
2380
- font-size: 16px;
2378
+ margin-bottom: 0;
2379
+ font-size: var(--taskon-font-size-lg);
2381
2380
  line-height: 1.5;
2382
2381
  color: rgba(255, 255, 255, 0.7);
2383
2382
  }
@@ -2389,7 +2388,7 @@
2389
2388
  flex-wrap: wrap;
2390
2389
  justify-content: center;
2391
2390
  align-items: center;
2392
- margin-top: var(--taskon-spacing-lg);
2391
+ margin-top: 20px;
2393
2392
  gap: var(--taskon-spacing-sm);
2394
2393
  padding: 12px var(--taskon-spacing-md);
2395
2394
  border-radius: var(--taskon-border-radius);
@@ -2422,20 +2421,20 @@
2422
2421
  /* Token amount with orange color and underline like Vue version */
2423
2422
 
2424
2423
  .taskon-quest-blindbox-reward-card-amount {
2425
- font-size: 18px;
2424
+ font-size: var(--taskon-font-size-xl);
2426
2425
  font-weight: 600;
2427
2426
  color: #fbb15a;
2428
2427
  text-decoration: underline;
2429
2428
  }
2430
2429
 
2431
2430
  .taskon-quest-blindbox-reward-card-name {
2432
- font-size: 14px;
2431
+ font-size: var(--taskon-font-size);
2433
2432
  color: #fbb15a;
2434
2433
  text-decoration: underline;
2435
2434
  }
2436
2435
 
2437
2436
  .taskon-quest-blindbox-reward-card-value {
2438
- font-size: 12px;
2437
+ font-size: var(--taskon-font-size-sm);
2439
2438
  color: rgba(255, 255, 255, 0.5);
2440
2439
  margin-top: 2px;
2441
2440
  }
@@ -2445,7 +2444,8 @@
2445
2444
  .taskon-quest-blindbox-reward-btn-wrap {
2446
2445
  display: flex;
2447
2446
  justify-content: center;
2448
- margin-top: 40px;
2447
+ margin-top: auto;
2448
+ padding-top: 40px;
2449
2449
  }
2450
2450
 
2451
2451
  /* Back button - matches Vue g-button--light-border */
@@ -2453,7 +2453,7 @@
2453
2453
  .taskon-quest-blindbox-reward-btn {
2454
2454
  height: 36px;
2455
2455
  padding: 0 24px;
2456
- font-size: 14px;
2456
+ font-size: var(--taskon-font-size);
2457
2457
  font-weight: 500;
2458
2458
  color: #fff;
2459
2459
  background: transparent;
@@ -2483,7 +2483,7 @@
2483
2483
  gap: 8px;
2484
2484
  width: 100%;
2485
2485
  padding: 14px 24px;
2486
- font-size: 16px;
2486
+ font-size: var(--taskon-font-size-lg);
2487
2487
  font-weight: 600;
2488
2488
  color: #000;
2489
2489
  background: linear-gradient(135deg, #ffd700 0%, #ffaa00 100%);
@@ -2510,19 +2510,21 @@
2510
2510
  @supports (container-type: inline-size) {
2511
2511
  @container (min-width: 751px) {
2512
2512
  .taskon-quest-blindbox-dialog {
2513
- padding-top: 40px;
2513
+ min-height: 540px;
2514
+ padding: 32px 40px 48px;
2514
2515
  }
2515
2516
 
2516
- .taskon-quest-blindbox-dialog-title {
2517
- padding: 0 40px;
2517
+ .taskon-quest-blindbox-dialog-subtitle {
2518
+ margin-bottom: 28px;
2518
2519
  }
2519
2520
 
2520
2521
  .taskon-quest-blindbox-reward {
2521
- padding: 64px 40px;
2522
+ min-height: 540px;
2523
+ padding: 32px 40px 48px;
2522
2524
  }
2523
2525
 
2524
2526
  .taskon-quest-blindbox-reward-btn-wrap {
2525
- margin-top: 60px;
2527
+ padding-top: 56px;
2526
2528
  }
2527
2529
  }
2528
2530
  }
@@ -2530,19 +2532,21 @@
2530
2532
  @supports not (container-type: inline-size) {
2531
2533
  @media (min-width: 751px) {
2532
2534
  .taskon-quest-blindbox-dialog {
2533
- padding-top: 40px;
2535
+ min-height: 540px;
2536
+ padding: 32px 40px 48px;
2534
2537
  }
2535
2538
 
2536
- .taskon-quest-blindbox-dialog-title {
2537
- padding: 0 40px;
2539
+ .taskon-quest-blindbox-dialog-subtitle {
2540
+ margin-bottom: 28px;
2538
2541
  }
2539
2542
 
2540
2543
  .taskon-quest-blindbox-reward {
2541
- padding: 64px 40px;
2544
+ min-height: 540px;
2545
+ padding: 32px 40px 48px;
2542
2546
  }
2543
2547
 
2544
2548
  .taskon-quest-blindbox-reward-btn-wrap {
2545
- margin-top: 60px;
2549
+ padding-top: 56px;
2546
2550
  }
2547
2551
  }
2548
2552
  }
@@ -2600,8 +2604,8 @@
2600
2604
  display: flex;
2601
2605
  align-items: center;
2602
2606
  gap: 10px;
2603
- font-size: 16px;
2604
- line-height: 20px;
2607
+ font-size: var(--taskon-font-size-lg);
2608
+ line-height: 1.25;
2605
2609
  cursor: pointer;
2606
2610
  user-select: none;
2607
2611
  }
@@ -2755,8 +2759,8 @@
2755
2759
 
2756
2760
  .taskon-quest-eligs-item-content {
2757
2761
  flex: 1;
2758
- font-size: 14px;
2759
- line-height: 18px;
2762
+ font-size: var(--taskon-font-size);
2763
+ line-height: 1.29;
2760
2764
  color: var(--taskon-color-text-secondary);
2761
2765
  }
2762
2766
 
@@ -2800,8 +2804,8 @@
2800
2804
  margin-top: 4px;
2801
2805
  padding: 8px 12px;
2802
2806
  max-width: 300px;
2803
- font-size: 12px;
2804
- line-height: 16px;
2807
+ font-size: var(--taskon-font-size-sm);
2808
+ line-height: 1.33;
2805
2809
  color: var(--taskon-color-text);
2806
2810
  background-color: var(--taskon-color-bg-floating);
2807
2811
  border-radius: var(--taskon-border-radius-sm);
@@ -2857,8 +2861,8 @@
2857
2861
  }
2858
2862
 
2859
2863
  .taskon-quest-eligs-sub-list li {
2860
- font-size: 14px;
2861
- line-height: 18px;
2864
+ font-size: var(--taskon-font-size);
2865
+ line-height: 1.29;
2862
2866
  color: var(--taskon-color-text-secondary);
2863
2867
  }
2864
2868
 
@@ -2939,7 +2943,7 @@
2939
2943
  border-radius: var(--taskon-border-radius);
2940
2944
  box-shadow: 0 4px 16px var(--taskon-color-bg-mask);
2941
2945
  z-index: 100;
2942
- font-size: 14px;
2946
+ font-size: var(--taskon-font-size);
2943
2947
  line-height: 1.5;
2944
2948
  }
2945
2949
 
@@ -2975,8 +2979,8 @@
2975
2979
  .taskon-quest-eligs-onchain-tooltip-link {
2976
2980
  color: var(--taskon-color-link);
2977
2981
  text-decoration: underline;
2978
- font-size: 14px;
2979
- line-height: 18px;
2982
+ font-size: var(--taskon-font-size);
2983
+ line-height: 1.29;
2980
2984
  }
2981
2985
 
2982
2986
  .taskon-quest-eligs-onchain-tooltip-link:hover {
@@ -3011,7 +3015,7 @@
3011
3015
  padding: 4px 8px;
3012
3016
  background-color: var(--taskon-color-bg-surface);
3013
3017
  border-radius: var(--taskon-border-radius-sm);
3014
- font-size: 12px;
3018
+ font-size: var(--taskon-font-size-sm);
3015
3019
  color: var(--taskon-color-secondary);
3016
3020
  white-space: nowrap;
3017
3021
  pointer-events: none;