index.css 31 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107110811091110111111121113111411151116111711181119112011211122112311241125112611271128112911301131113211331134113511361137113811391140114111421143114411451146114711481149115011511152115311541155115611571158115911601161116211631164116511661167116811691170117111721173117411751176117711781179118011811182118311841185118611871188118911901191119211931194119511961197119811991200120112021203120412051206120712081209121012111212121312141215121612171218121912201221122212231224122512261227122812291230123112321233123412351236123712381239124012411242124312441245124612471248124912501251125212531254125512561257125812591260126112621263126412651266126712681269127012711272127312741275127612771278127912801281128212831284128512861287128812891290129112921293129412951296129712981299130013011302130313041305130613071308130913101311131213131314131513161317131813191320132113221323132413251326132713281329133013311332133313341335133613371338133913401341134213431344134513461347134813491350135113521353135413551356135713581359136013611362136313641365136613671368136913701371137213731374137513761377137813791380138113821383138413851386138713881389139013911392139313941395139613971398139914001401140214031404140514061407140814091410141114121413141414151416141714181419142014211422142314241425142614271428142914301431143214331434143514361437143814391440144114421443144414451446144714481449145014511452145314541455145614571458145914601461146214631464146514661467146814691470147114721473147414751476147714781479148014811482148314841485148614871488148914901491149214931494149514961497149814991500150115021503150415051506150715081509151015111512151315141515151615171518151915201521152215231524152515261527152815291530153115321533153415351536153715381539154015411542154315441545154615471548154915501551155215531554155515561557155815591560156115621563156415651566156715681569157015711572157315741575157615771578157915801581158215831584158515861587158815891590159115921593159415951596159715981599160016011602160316041605160616071608160916101611161216131614161516161617161816191620162116221623162416251626162716281629163016311632163316341635163616371638163916401641164216431644164516461647164816491650165116521653165416551656165716581659166016611662166316641665166616671668166916701671
  1. body{
  2. margin: 0;
  3. }
  4. .market-container {
  5. padding: 20px;
  6. margin-top: 10px;
  7. background: #fff;
  8. border-radius: 4px;
  9. box-shadow: 0 1px 3px rgba(0,0,0,0.1);
  10. }
  11. /* 顶部搜索和筛选区 */
  12. .market-header {
  13. background-color: #f8f9fa;
  14. padding: 1rem;
  15. border-radius: 4px;
  16. margin-bottom: 1.5rem;
  17. box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
  18. position: sticky;
  19. top: 0;
  20. z-index: 100;
  21. transition: box-shadow 0.3s ease;
  22. }
  23. /* 滚动时的样式增强 */
  24. .market-header.scrolled {
  25. box-shadow: 0 4px 8px rgba(0, 0, 0, 0.15);
  26. }
  27. .search-filters-container {
  28. display: flex;
  29. align-items: center;
  30. flex-wrap: wrap;
  31. gap: 1rem;
  32. }
  33. .search-box {
  34. position: relative;
  35. flex: 1;
  36. min-width: 200px;
  37. }
  38. .search-icon {
  39. position: absolute;
  40. left: 10px;
  41. top: 50%;
  42. transform: translateY(-50%);
  43. color: #6c757d;
  44. font-size: 16px;
  45. }
  46. .search-box input {
  47. width: 100%;
  48. padding: 8px 15px 8px 35px;
  49. border: 1px solid #ced4da;
  50. border-radius: 4px;
  51. font-size: 16px;
  52. transition: all 0.3s;
  53. }
  54. .search-box input:focus {
  55. border-color: #4ca1af;
  56. box-shadow: 0 0 0 0.2rem rgba(76, 161, 175, 0.25);
  57. outline: none;
  58. }
  59. .filter-group {
  60. position: relative;
  61. min-width: 150px;
  62. }
  63. .filter-label {
  64. position: absolute;
  65. top: -22px;
  66. left: 0;
  67. font-size: 14px;
  68. color: #6c757d;
  69. font-weight: 500;
  70. }
  71. .filter-select {
  72. width: 100%;
  73. padding: 8px 10px;
  74. border: 1px solid #ced4da;
  75. border-radius: 4px;
  76. font-size: 14px;
  77. background-color: white;
  78. cursor: pointer;
  79. transition: all 0.3s;
  80. }
  81. .filter-select:focus {
  82. border-color: #4ca1af;
  83. box-shadow: 0 0 0 0.2rem rgba(76, 161, 175, 0.25);
  84. outline: none;
  85. }
  86. .view-toggle {
  87. display: flex;
  88. border: 1px solid #ced4da;
  89. border-radius: 4px;
  90. overflow: hidden;
  91. }
  92. .view-btn {
  93. padding: 8px 15px;
  94. font-size: 14px;
  95. background-color: white;
  96. cursor: pointer;
  97. transition: all 0.3s;
  98. color: #6c757d;
  99. }
  100. .view-btn:hover {
  101. background-color: #f1f1f1;
  102. }
  103. .view-btn.active {
  104. background-color: #4ca1af;
  105. color: white;
  106. }
  107. /* 主体内容区 */
  108. .market-content {
  109. display: flex;
  110. gap: 20px;
  111. margin-top: 20px;
  112. padding-top: 10px;
  113. position: relative;
  114. }
  115. /* 侧边栏样式 */
  116. .market-sidebar {
  117. width: 200px;
  118. flex-shrink: 0;
  119. position: sticky;
  120. top: 80px; /* 与顶部header保持一定距离 */
  121. max-height: calc(100vh - 100px); /* 设置最大高度,确保不会超出视窗 */
  122. overflow-y: auto; /* 内容过多时可滚动 */
  123. scrollbar-width: thin;
  124. scrollbar-color: #d0d0d0 #f4f4f4;
  125. transition: all 0.3s ease;
  126. }
  127. /* 侧边栏滚动条样式 */
  128. .market-sidebar::-webkit-scrollbar {
  129. width: 6px;
  130. }
  131. .market-sidebar::-webkit-scrollbar-track {
  132. background: #f4f4f4;
  133. border-radius: 3px;
  134. }
  135. .market-sidebar::-webkit-scrollbar-thumb {
  136. background-color: #d0d0d0;
  137. border-radius: 3px;
  138. border: 1px solid #f4f4f4;
  139. }
  140. .market-sidebar::-webkit-scrollbar-thumb:hover {
  141. background-color: #c0c0c0;
  142. }
  143. /* 暗黑模式下的侧边栏滚动条 */
  144. [data-theme='dark'] .market-sidebar {
  145. scrollbar-color: #555 #333;
  146. }
  147. [data-theme='dark'] .market-sidebar::-webkit-scrollbar-track {
  148. background: #2a2a2a;
  149. }
  150. [data-theme='dark'] .market-sidebar::-webkit-scrollbar-thumb {
  151. background-color: #555;
  152. border: 1px solid #2a2a2a;
  153. }
  154. [data-theme='dark'] .market-sidebar::-webkit-scrollbar-thumb:hover {
  155. background-color: #666;
  156. }
  157. /* 侧边栏section样式优化 */
  158. .sidebar-section {
  159. background: #fff;
  160. border-radius: 4px;
  161. padding: 15px;
  162. margin-bottom: 20px;
  163. box-shadow: 0 1px 3px rgba(0,0,0,0.1);
  164. transition: all 0.3s ease;
  165. }
  166. /* 滚动时的样式增强 */
  167. .market-sidebar.scrolled .sidebar-section {
  168. box-shadow: 0 2px 6px rgba(0,0,0,0.15);
  169. }
  170. .sidebar-section h4 {
  171. margin: 0 0 12px;
  172. padding-bottom: 12px;
  173. border-bottom: 1px solid #eee;
  174. font-size: 18px;
  175. color: #333;
  176. }
  177. .category-list li,
  178. .my-tools li {
  179. padding: 8px 10px;
  180. margin: 3px 0;
  181. cursor: pointer;
  182. border-radius: 4px;
  183. display: flex;
  184. justify-content: space-between;
  185. align-items: center;
  186. font-size: 14px;
  187. }
  188. .category-list li:hover,
  189. .my-tools li:hover {
  190. background: #f0f0f0;
  191. }
  192. .category-list li.active {
  193. background: #e6f7ff;
  194. color: #1890ff;
  195. }
  196. .count {
  197. font-size: 14px;
  198. color: #999;
  199. }
  200. /* 工具展示区 */
  201. .tools-grid {
  202. flex: 1;
  203. }
  204. /* 网格视图 */
  205. .tools-container.grid {
  206. display: grid;
  207. grid-template-columns: repeat(auto-fill, minmax(300px, 1fr));
  208. gap: 20px;
  209. }
  210. .tool-card {
  211. background: #fff;
  212. border-radius: 4px;
  213. padding: 15px;
  214. box-shadow: 0 1px 3px rgba(0,0,0,0.1);
  215. display: flex;
  216. flex-direction: column;
  217. gap: 10px;
  218. transition: transform 0.2s;
  219. }
  220. .tool-card:hover {
  221. transform: translateY(-2px);
  222. box-shadow: 0 4px 6px rgba(0,0,0,0.1);
  223. }
  224. .tool-icon {
  225. font-size: 32px;
  226. display: inline-flex;
  227. align-items: center;
  228. justify-content: center;
  229. width: 48px;
  230. height: 48px;
  231. border-radius: 12px;
  232. margin-right: 12px;
  233. background: linear-gradient(135deg, #f5f7fa 0%, #c3cfe2 100%);
  234. color: #2d3436;
  235. transition: all 0.3s ease;
  236. }
  237. .tool-card:hover .tool-icon {
  238. transform: scale(1.1);
  239. box-shadow: 0 4px 8px rgba(0,0,0,0.1);
  240. }
  241. /* 为不同类型的工具设置不同的背景色 */
  242. .tool-card[data-category="dev"] .tool-icon {
  243. background: linear-gradient(135deg, #a8edea 0%, #fed6e3 100%);
  244. }
  245. .tool-card[data-category="encode"] .tool-icon {
  246. background: linear-gradient(135deg, #d299c2 0%, #fef9d7 100%);
  247. }
  248. .tool-card[data-category="image"] .tool-icon {
  249. background: linear-gradient(135deg, #89f7fe 0%, #66a6ff 100%);
  250. }
  251. .tool-card[data-category="productivity"] .tool-icon {
  252. background: linear-gradient(135deg, #f6d365 0%, #fda085 100%);
  253. }
  254. .tool-card[data-category="calculator"] .tool-icon {
  255. background: linear-gradient(135deg, #84fab0 0%, #8fd3f4 100%);
  256. }
  257. .tool-info {
  258. flex: 1;
  259. display: flex;
  260. flex-direction: column;
  261. justify-content: center;
  262. }
  263. .tool-info h3 {
  264. margin: 0 0 10px;
  265. font-size: 18px;
  266. color: #333;
  267. display: flex;
  268. align-items: center;
  269. gap: 10px;
  270. }
  271. .tool-desc {
  272. margin: 0;
  273. font-size: 14px;
  274. color: #666;
  275. line-height: 1.5;
  276. }
  277. .tool-meta {
  278. display: flex;
  279. gap: 15px;
  280. margin-top: 10px;
  281. font-size: 12px;
  282. color: #999;
  283. }
  284. .tool-actions {
  285. display: flex;
  286. gap: 8px;
  287. margin-top: 10px;
  288. }
  289. /* 列表视图 */
  290. .tools-container.list .tool-card {
  291. flex-direction: row;
  292. align-items: center;
  293. margin-bottom: 10px;
  294. }
  295. .tools-container.list .tool-info {
  296. margin: 0 15px;
  297. }
  298. /* 调整列表视图中图标的大小 */
  299. .tools-container.list .tool-icon {
  300. width: 40px;
  301. height: 40px;
  302. font-size: 28px;
  303. margin-right: 16px;
  304. }
  305. /* 按钮样式 */
  306. .btn {
  307. padding: 8px 15px;
  308. border: none;
  309. border-radius: 4px;
  310. cursor: pointer;
  311. font-size: 14px;
  312. transition: all 0.3s;
  313. }
  314. .btn-xs {
  315. padding: 4px 8px;
  316. font-size: 13px;
  317. line-height: 1.5;
  318. border-radius: 3px;
  319. }
  320. .btn:hover {
  321. opacity: 0.9;
  322. }
  323. .btn:disabled {
  324. opacity: 0.6;
  325. cursor: not-allowed;
  326. }
  327. .x-progress {
  328. font-size: 13px;
  329. margin-left: 3px;
  330. }
  331. /* 为系统预装的工具添加提示样式 */
  332. .btn-disabled {
  333. background-color: #e0e0e0;
  334. color: #999;
  335. cursor: not-allowed;
  336. }
  337. .btn-disabled:hover {
  338. opacity: 1;
  339. }
  340. .btn-success {
  341. background: #52c41a;
  342. color: #fff;
  343. }
  344. .btn-danger {
  345. background: #ff4d4f;
  346. color: #fff;
  347. }
  348. .btn-info {
  349. background: #1890ff;
  350. color: #fff;
  351. }
  352. .btn-warning {
  353. background: #faad14;
  354. color: #fff;
  355. }
  356. .btn-default {
  357. background: #f0f0f0;
  358. color: #666;
  359. }
  360. .btn-default.active {
  361. background-color: #ff4757;
  362. color: white;
  363. border-color: #ff4757;
  364. }
  365. .btn-default.active:hover {
  366. background-color: #ff6b81;
  367. border-color: #ff6b81;
  368. }
  369. .favorite-icon {
  370. color: #ff4757;
  371. margin-right: 4px;
  372. transition: all 0.3s ease;
  373. }
  374. .btn-default:not(.active) .favorite-icon {
  375. color: #666;
  376. }
  377. .btn-default.active .favorite-icon {
  378. transform: scale(1.2);
  379. color: white;
  380. }
  381. /* 暗黑模式适配 */
  382. [data-theme='dark'] .market-container {
  383. background: #1f1f1f;
  384. }
  385. [data-theme='dark'] .market-header {
  386. background-color: #2a2a2a;
  387. }
  388. [data-theme='dark'] .sidebar-section,
  389. [data-theme='dark'] .tool-card {
  390. background: #2d2d2d;
  391. box-shadow: 0 1px 3px rgba(0,0,0,0.3);
  392. }
  393. [data-theme='dark'] .tool-info h3 {
  394. color: #fff;
  395. }
  396. [data-theme='dark'] .tool-desc {
  397. color: #bbb;
  398. }
  399. [data-theme='dark'] .category-list li:hover,
  400. [data-theme='dark'] .my-tools li:hover {
  401. background: #3d3d3d;
  402. }
  403. [data-theme='dark'] .category-list li.active {
  404. background: #177ddc;
  405. color: #fff;
  406. }
  407. [data-theme='dark'] .view-toggle span {
  408. background: #3d3d3d;
  409. color: #bbb;
  410. }
  411. [data-theme='dark'] .view-toggle span.active {
  412. background: #177ddc;
  413. color: #fff;
  414. }
  415. [data-theme='dark'] .btn-default {
  416. background: #3d3d3d;
  417. color: #bbb;
  418. }
  419. /* 暗黑模式下的图标样式调整 */
  420. [data-theme='dark'] .tool-icon {
  421. color: #ffffff;
  422. opacity: 0.9;
  423. }
  424. /* 推荐位和广告位样式 */
  425. .recommendation-container {
  426. margin-bottom: 20px;
  427. }
  428. .recommendation-section {
  429. display: grid;
  430. grid-template-columns: repeat(4, 1fr);
  431. gap: 15px;
  432. }
  433. .recommendation-card {
  434. display: flex;
  435. align-items: center;
  436. padding: 15px;
  437. background: #fff;
  438. border-radius: 6px;
  439. box-shadow: 0 2px 8px rgba(0,0,0,0.1);
  440. cursor: pointer;
  441. transition: all 0.3s ease;
  442. position: relative;
  443. }
  444. .recommendation-card:hover {
  445. transform: translateY(-3px);
  446. box-shadow: 0 6px 12px rgba(0,0,0,0.15);
  447. }
  448. .rec-icon {
  449. display: flex;
  450. align-items: center;
  451. justify-content: center;
  452. width: 60px;
  453. height: 60px;
  454. border-radius: 12px;
  455. background: linear-gradient(135deg, #f6d365 0%, #fda085 100%);
  456. font-size: 28px;
  457. margin-right: 15px;
  458. flex-shrink: 0;
  459. }
  460. .recommendation-card:nth-child(1) .rec-icon {
  461. background: linear-gradient(135deg, #a8edea 0%, #fed6e3 100%);
  462. }
  463. .recommendation-card:nth-child(2) .rec-icon {
  464. background: linear-gradient(135deg, #d299c2 0%, #fef9d7 100%);
  465. }
  466. .recommendation-card:nth-child(3) .rec-icon {
  467. background: linear-gradient(135deg, #89f7fe 0%, #66a6ff 100%);
  468. }
  469. .rec-content {
  470. flex: 1;
  471. }
  472. .rec-content h4 {
  473. margin: 0 0 8px;
  474. font-size: 18px;
  475. color: #333;
  476. }
  477. .rec-content p {
  478. margin: 0;
  479. font-size: 14px;
  480. color: #666;
  481. line-height: 1.4;
  482. }
  483. /* 广告卡片特殊样式 */
  484. .ad-card {
  485. position: relative;
  486. border: 1px solid #FFD700;
  487. background: linear-gradient(to right, #fff, #fffdf0);
  488. }
  489. .ad-icon {
  490. background: linear-gradient(135deg, #FFD700 0%, #FFA500 100%);
  491. }
  492. .ad-tag {
  493. position: absolute;
  494. top: 8px;
  495. right: 8px;
  496. background: rgba(255, 215, 0, 0.2);
  497. border: 1px solid #FFD700;
  498. border-radius: 4px;
  499. padding: 3px 8px;
  500. font-size: 12px;
  501. color: #997a00;
  502. }
  503. /* 必装标签样式 */
  504. .must-tag {
  505. position: absolute;
  506. top: 8px;
  507. right: 8px;
  508. background: rgba(82, 196, 26, 0.2);
  509. border: 1px solid #52c41a;
  510. border-radius: 4px;
  511. padding: 3px 8px;
  512. font-size: 12px;
  513. color: #52c41a;
  514. }
  515. /* 最新标签样式 */
  516. .new-tag {
  517. position: absolute;
  518. top: 8px;
  519. right: 8px;
  520. background: rgba(24, 144, 255, 0.2);
  521. border: 1px solid #1890ff;
  522. border-radius: 4px;
  523. padding: 3px 8px;
  524. font-size: 12px;
  525. color: #1890ff;
  526. }
  527. /* 推荐标签样式 */
  528. .recommend-tag {
  529. position: absolute;
  530. top: 8px;
  531. right: 8px;
  532. background: rgba(250, 84, 28, 0.2);
  533. border: 1px solid #fa541c;
  534. border-radius: 4px;
  535. padding: 3px 8px;
  536. font-size: 12px;
  537. color: #fa541c;
  538. }
  539. /* 暗黑模式适配 */
  540. [data-theme='dark'] .recommendation-card {
  541. background: #2d2d2d;
  542. box-shadow: 0 2px 8px rgba(0,0,0,0.3);
  543. }
  544. [data-theme='dark'] .rec-content h4 {
  545. color: #fff;
  546. }
  547. [data-theme='dark'] .rec-content p {
  548. color: #bbb;
  549. }
  550. [data-theme='dark'] .ad-card {
  551. background: linear-gradient(to right, #2d2d2d, #332e1f);
  552. border-color: #997a00;
  553. }
  554. [data-theme='dark'] .ad-tag {
  555. background: rgba(255, 215, 0, 0.15);
  556. color: #FFD700;
  557. }
  558. /* 暗黑模式下的必装标签 */
  559. [data-theme='dark'] .must-tag {
  560. background: rgba(82, 196, 26, 0.15);
  561. color: #73d13d;
  562. border-color: #52c41a;
  563. }
  564. /* 暗黑模式下的最新标签 */
  565. [data-theme='dark'] .new-tag {
  566. background: rgba(24, 144, 255, 0.15);
  567. color: #40a9ff;
  568. border-color: #1890ff;
  569. }
  570. /* 暗黑模式下的推荐标签 */
  571. [data-theme='dark'] .recommend-tag {
  572. background: rgba(250, 84, 28, 0.15);
  573. color: #ff7a45;
  574. border-color: #fa541c;
  575. }
  576. /* 轮播Banner区域 */
  577. /* 导航链接样式 */
  578. .x-nav-links {
  579. margin-right: 15px;
  580. }
  581. .x-nav-links a {
  582. color: #1890ff;
  583. text-decoration: none;
  584. margin-left: 15px;
  585. font-size: 14px;
  586. }
  587. .x-nav-links a:hover {
  588. color: #40a9ff;
  589. text-decoration: underline;
  590. }
  591. /* 设置弹窗样式 */
  592. .settings-modal {
  593. position: fixed;
  594. top: 0;
  595. left: 0;
  596. right: 0;
  597. bottom: 0;
  598. background-color: rgba(0, 0, 0, 0.5);
  599. z-index: 1000;
  600. display: flex;
  601. justify-content: center;
  602. align-items: center;
  603. backdrop-filter: blur(2px);
  604. }
  605. .settings-dialog {
  606. background-color: #fff;
  607. border-radius: 8px;
  608. box-shadow: 0 4px 20px rgba(0, 0, 0, 0.25);
  609. width: 80%;
  610. max-width: 800px;
  611. max-height: 90vh;
  612. display: flex;
  613. flex-direction: column;
  614. animation: fadeIn 0.3s ease;
  615. overflow: hidden;
  616. }
  617. @keyframes fadeIn {
  618. from { opacity: 0; transform: translateY(-20px); }
  619. to { opacity: 1; transform: translateY(0); }
  620. }
  621. .settings-header {
  622. padding: 16px 20px;
  623. border-bottom: 1px solid #e8e8e8;
  624. display: flex;
  625. justify-content: space-between;
  626. align-items: center;
  627. position: sticky;
  628. top: 0;
  629. background-color: #fff;
  630. z-index: 10;
  631. box-shadow: 0 1px 4px rgba(0, 0, 0, 0.05);
  632. flex-shrink: 0;
  633. }
  634. .settings-header h3 {
  635. margin: 0;
  636. color: #333;
  637. font-size: 20px;
  638. font-weight: 600;
  639. }
  640. .close-btn {
  641. font-size: 28px;
  642. color: #999;
  643. cursor: pointer;
  644. transition: all 0.3s;
  645. width: 32px;
  646. height: 32px;
  647. display: flex;
  648. align-items: center;
  649. justify-content: center;
  650. border-radius: 50%;
  651. }
  652. .close-btn:hover {
  653. color: #666;
  654. background-color: #f0f0f0;
  655. }
  656. .settings-body {
  657. padding: 0 20px;
  658. overflow-y: auto;
  659. flex: 1;
  660. scrollbar-width: thin;
  661. scrollbar-color: #d0d0d0 #f4f4f4;
  662. }
  663. .settings-body label {
  664. font-weight: normal !important;
  665. display: inline-flex;
  666. align-items: center;
  667. }
  668. .settings-body label b,
  669. .settings-body label i,
  670. .settings-body label strong {
  671. font-weight: bold;
  672. }
  673. .settings-body::-webkit-scrollbar {
  674. width: 8px;
  675. }
  676. .settings-body::-webkit-scrollbar-track {
  677. background: #f4f4f4;
  678. border-radius: 4px;
  679. }
  680. .settings-body::-webkit-scrollbar-thumb {
  681. background-color: #d0d0d0;
  682. border-radius: 4px;
  683. border: 2px solid #f4f4f4;
  684. }
  685. .settings-body::-webkit-scrollbar-thumb:hover {
  686. background-color: #c0c0c0;
  687. }
  688. .settings-footer {
  689. padding: 16px 20px;
  690. border-top: 1px solid #e8e8e8;
  691. display: flex;
  692. justify-content: flex-end;
  693. gap: 12px;
  694. position: sticky;
  695. bottom: 0;
  696. background-color: #fff;
  697. z-index: 10;
  698. box-shadow: 0 -1px 4px rgba(0, 0, 0, 0.05);
  699. flex-shrink: 0;
  700. }
  701. .settings-footer .btn {
  702. padding: 8px 20px;
  703. border-radius: 4px;
  704. font-size: 14px;
  705. font-weight: 500;
  706. transition: all 0.3s ease;
  707. box-shadow: 0 2px 4px rgba(0,0,0,0.1);
  708. }
  709. .settings-footer .btn-success {
  710. background: linear-gradient(135deg, #52c41a, #39a012);
  711. }
  712. .settings-footer .btn-success:hover {
  713. background: linear-gradient(135deg, #5bd81e, #43b515);
  714. box-shadow: 0 4px 8px rgba(0,0,0,0.15);
  715. transform: translateY(-1px);
  716. }
  717. .settings-footer .btn-danger {
  718. background: linear-gradient(135deg, #ff4d4f, #e02b2e);
  719. }
  720. .settings-footer .btn-danger:hover {
  721. background: linear-gradient(135deg, #ff6769, #ed3437);
  722. box-shadow: 0 4px 8px rgba(0,0,0,0.15);
  723. transform: translateY(-1px);
  724. }
  725. .dark-mode .settings-footer {
  726. border-top-color: #333;
  727. background-color: #1f1f1f;
  728. box-shadow: 0 -1px 4px rgba(0, 0, 0, 0.2);
  729. }
  730. .dark-mode .settings-footer .btn {
  731. box-shadow: 0 2px 6px rgba(0,0,0,0.2);
  732. }
  733. .dark-mode .settings-footer .btn-success {
  734. background: linear-gradient(135deg, #49b616, #338c0f);
  735. }
  736. .dark-mode .settings-footer .btn-success:hover {
  737. background: linear-gradient(135deg, #52c41a, #39a012);
  738. }
  739. .dark-mode .settings-footer .btn-danger {
  740. background: linear-gradient(135deg, #e63e40, #cc2729);
  741. }
  742. .dark-mode .settings-footer .btn-danger:hover {
  743. background: linear-gradient(135deg, #ff4d4f, #e02b2e);
  744. }
  745. .a-btn {
  746. display: inline-block;
  747. background-color: #1890ff;
  748. color: white;
  749. padding: 2px 8px;
  750. border-radius: 3px;
  751. margin-left: 10px;
  752. font-size: 12px;
  753. text-decoration: none;
  754. }
  755. .a-btn:hover {
  756. background-color: #40a9ff;
  757. text-decoration: none;
  758. }
  759. .x-count-down {
  760. margin-left: 10px;
  761. font-size: 12px;
  762. color: #ff4d4f;
  763. }
  764. .x-tips {
  765. color: #666;
  766. font-size: 14px;
  767. margin-left: 5px;
  768. }
  769. /* 暗黑模式样式适配 */
  770. .dark-mode .settings-modal {
  771. background-color: rgba(0, 0, 0, 0.7);
  772. }
  773. .dark-mode .settings-dialog {
  774. background-color: #1f1f1f;
  775. color: #eee;
  776. box-shadow: 0 4px 20px rgba(0, 0, 0, 0.4);
  777. }
  778. .dark-mode .settings-header {
  779. border-bottom-color: #333;
  780. background-color: #1f1f1f;
  781. box-shadow: 0 1px 4px rgba(0, 0, 0, 0.2);
  782. }
  783. .dark-mode .settings-header h3 {
  784. color: #eee;
  785. }
  786. .dark-mode .close-btn {
  787. color: #aaa;
  788. }
  789. .dark-mode .close-btn:hover {
  790. color: #eee;
  791. background-color: #333;
  792. }
  793. .dark-mode .settings-section h4 {
  794. color: #eee;
  795. }
  796. .dark-mode .box-config {
  797. background-color: #2a2a2a;
  798. }
  799. .dark-mode .box-inner {
  800. background-color: #333;
  801. }
  802. /* 导航栏样式 */
  803. .main-navbar {
  804. display: flex;
  805. justify-content: space-between;
  806. align-items: center;
  807. padding: 10px 15px;
  808. background: linear-gradient(to right, #2c3e50, #4ca1af);
  809. color: #fff;
  810. position: relative;
  811. }
  812. .navbar-brand {
  813. display: flex;
  814. align-items: center;
  815. }
  816. .brand-link {
  817. display: flex;
  818. align-items: center;
  819. color: #fff;
  820. text-decoration: none;
  821. font-weight: 500;
  822. font-size: 16px;
  823. transition: all 0.3s ease;
  824. }
  825. .brand-link:hover {
  826. opacity: 0.9;
  827. text-decoration: none;
  828. color: #fff;
  829. }
  830. .brand-link img {
  831. height: 20px;
  832. width: 20px;
  833. margin-right: 6px;
  834. }
  835. .brand-text {
  836. font-weight: 600;
  837. font-size: 16px;
  838. }
  839. .brand-subtitle {
  840. margin-left: 6px;
  841. font-size: 14px;
  842. opacity: 0.9;
  843. font-weight: normal;
  844. position: relative;
  845. padding-left: 8px;
  846. }
  847. .brand-subtitle::before {
  848. content: '';
  849. position: absolute;
  850. left: 0;
  851. top: 50%;
  852. transform: translateY(-50%);
  853. height: 70%;
  854. width: 1px;
  855. background-color: rgba(255, 255, 255, 0.5);
  856. }
  857. .navbar-actions {
  858. display: flex;
  859. align-items: center;
  860. gap: 15px;
  861. }
  862. .nav-item {
  863. position: relative;
  864. transition: all 0.3s ease;
  865. overflow: hidden;
  866. display: flex;
  867. align-items: center;
  868. justify-content: center;
  869. color: #fff;
  870. text-decoration: none;
  871. padding: 8px 15px;
  872. border-radius: 6px;
  873. font-size: 14px;
  874. box-shadow: 0 2px 4px rgba(0, 0, 0, 0.15);
  875. min-width: 100px;
  876. text-align: center;
  877. }
  878. .nav-item:hover {
  879. background-color: rgba(255, 255, 255, 0.1);
  880. transform: translateY(-2px);
  881. box-shadow: 0 4px 8px rgba(0, 0, 0, 0.2);
  882. color: #fff;
  883. text-decoration: none;
  884. }
  885. .nav-item:active {
  886. transform: translateY(0);
  887. box-shadow: 0 2px 3px rgba(0, 0, 0, 0.1);
  888. }
  889. .nav-icon {
  890. display: inline-block;
  891. transition: all 0.3s ease;
  892. margin-right: 6px;
  893. font-size: 16px;
  894. }
  895. .nav-item:hover .nav-icon {
  896. transform: scale(1.2) rotate(10deg);
  897. }
  898. /* 波纹效果 */
  899. .nav-item::after {
  900. content: '';
  901. position: absolute;
  902. top: 50%;
  903. left: 50%;
  904. width: 5px;
  905. height: 5px;
  906. background: rgba(255, 255, 255, 0.3);
  907. opacity: 0;
  908. border-radius: 100%;
  909. transform: scale(1, 1) translate(-50%);
  910. transform-origin: 50% 50%;
  911. }
  912. .nav-item:hover::after {
  913. animation: ripple 0.6s ease-out;
  914. }
  915. /* 打赏鼓励按钮特殊效果 */
  916. .navbar-actions .donate-link {
  917. background: linear-gradient(135deg, #ff9a9e 0%, #fad0c4 99%, #fad0c4 100%);
  918. color: #333;
  919. position: relative;
  920. overflow: hidden;
  921. }
  922. .navbar-actions .donate-link:hover {
  923. background: linear-gradient(45deg, #ff7675, #d63031);
  924. transform: translateY(-3px);
  925. box-shadow: 0 5px 15px rgba(255, 105, 97, 0.4);
  926. color: #fff;
  927. }
  928. .navbar-actions .donate-link .nav-icon {
  929. color: #e74c3c;
  930. font-size: 18px;
  931. }
  932. .navbar-actions .donate-link:hover .nav-icon {
  933. animation: heartbeat 1.2s infinite;
  934. color: #fff;
  935. }
  936. /* 设置按钮特殊效果 */
  937. .navbar-actions .settings-link {
  938. position: relative;
  939. overflow: hidden;
  940. background-color: rgba(255, 255, 255, 0.15);
  941. }
  942. .navbar-actions .settings-link:hover {
  943. background: linear-gradient(45deg, #74b9ff, #0984e3);
  944. }
  945. .navbar-actions .settings-link .nav-icon {
  946. transition: transform 0.5s ease;
  947. }
  948. .navbar-actions .settings-link:hover .nav-icon {
  949. animation: rotate 2s linear infinite;
  950. }
  951. /* 动画关键帧 */
  952. @keyframes ripple {
  953. 0% {
  954. transform: scale(0, 0);
  955. opacity: 1;
  956. }
  957. 20% {
  958. transform: scale(25, 25);
  959. opacity: 1;
  960. }
  961. 100% {
  962. opacity: 0;
  963. transform: scale(40, 40);
  964. }
  965. }
  966. @keyframes heartbeat {
  967. 0% { transform: scale(1); }
  968. 25% { transform: scale(1.3); }
  969. 50% { transform: scale(1); }
  970. 75% { transform: scale(1.3); }
  971. 100% { transform: scale(1); }
  972. }
  973. @keyframes rotate {
  974. 0% { transform: rotate(0deg); }
  975. 100% { transform: rotate(360deg); }
  976. }
  977. /* 响应式调整 */
  978. @media (max-width: 768px) {
  979. .navbar-actions {
  980. gap: 10px;
  981. }
  982. .nav-item {
  983. min-width: auto;
  984. padding: 8px 12px;
  985. }
  986. .version-info {
  987. padding: 6px 10px;
  988. }
  989. /* 搜索和筛选区域响应式 */
  990. .search-filters-container {
  991. flex-direction: column;
  992. align-items: stretch;
  993. }
  994. .filter-group {
  995. width: 100%;
  996. }
  997. .view-toggle {
  998. margin-top: 1rem;
  999. width: 100%;
  1000. }
  1001. .view-btn {
  1002. flex: 1;
  1003. text-align: center;
  1004. }
  1005. .market-content {
  1006. flex-direction: column;
  1007. }
  1008. .market-sidebar {
  1009. width: 100%;
  1010. position: relative;
  1011. top: 0;
  1012. max-height: none;
  1013. margin-bottom: 20px;
  1014. }
  1015. }
  1016. @media (max-width: 600px) {
  1017. .brand-subtitle {
  1018. display: none;
  1019. }
  1020. .nav-item {
  1021. padding: 6px 10px;
  1022. }
  1023. .nav-item span {
  1024. display: none;
  1025. }
  1026. .nav-icon {
  1027. margin-right: 0;
  1028. font-size: 18px;
  1029. }
  1030. .version-info {
  1031. padding: 4px 8px;
  1032. }
  1033. .donate-link span,
  1034. .settings-link span {
  1035. display: none;
  1036. }
  1037. .donate-link .nav-icon,
  1038. .settings-link .nav-icon {
  1039. margin-right: 0;
  1040. }
  1041. }
  1042. /* 暗黑模式下搜索和筛选区样式 */
  1043. .dark-mode .search-box input,
  1044. .dark-mode .filter-select {
  1045. background-color: #333;
  1046. border-color: #444;
  1047. color: #eee;
  1048. }
  1049. .dark-mode .filter-label {
  1050. color: #aaa;
  1051. }
  1052. .dark-mode .view-toggle {
  1053. border-color: #444;
  1054. }
  1055. .dark-mode .view-btn {
  1056. background-color: #333;
  1057. color: #aaa;
  1058. }
  1059. .dark-mode .view-btn.active {
  1060. background-color: #4ca1af;
  1061. color: white;
  1062. }
  1063. /* 版本号与更新提示 */
  1064. .version-details {
  1065. display: flex;
  1066. flex-direction: column;
  1067. align-items: flex-start;
  1068. }
  1069. .version-label {
  1070. font-size: 12px;
  1071. color: rgba(255,255,255,0.7);
  1072. margin-bottom: 3px;
  1073. }
  1074. .current-version {
  1075. font-size: 14px;
  1076. font-weight: 600;
  1077. color: #fff;
  1078. padding: 2px 6px;
  1079. background-color: rgba(24, 144, 255, 0.4);
  1080. border-radius: 4px;
  1081. letter-spacing: 0.5px;
  1082. }
  1083. .latest-version-text {
  1084. font-size: 14px;
  1085. font-weight: 600;
  1086. color: #fff;
  1087. padding: 2px 6px;
  1088. background-color: rgba(82, 196, 26, 0.4);
  1089. border-radius: 4px;
  1090. letter-spacing: 0.5px;
  1091. }
  1092. .latest-version-container {
  1093. height: 20px;
  1094. display: flex;
  1095. align-items: center;
  1096. }
  1097. .latest-version-img {
  1098. height: 20px;
  1099. transition: transform 0.2s ease;
  1100. cursor: pointer;
  1101. }
  1102. .latest-version-img:hover {
  1103. transform: scale(1.05);
  1104. }
  1105. .update-btn {
  1106. background-color: #ff6b6b;
  1107. color: white;
  1108. border: none;
  1109. padding: 5px 12px;
  1110. border-radius: 4px;
  1111. font-size: 14px;
  1112. font-weight: 600;
  1113. cursor: pointer;
  1114. box-shadow: 0 2px 4px rgba(0,0,0,0.2);
  1115. animation: pulse 1.5s infinite;
  1116. transition: background-color 0.3s;
  1117. }
  1118. .update-btn:hover {
  1119. background-color: #ff5252;
  1120. }
  1121. @keyframes pulse {
  1122. 0% {
  1123. box-shadow: 0 0 0 0 rgba(255, 107, 107, 0.7);
  1124. }
  1125. 70% {
  1126. box-shadow: 0 0 0 6px rgba(255, 107, 107, 0);
  1127. }
  1128. 100% {
  1129. box-shadow: 0 0 0 0 rgba(255, 107, 107, 0);
  1130. }
  1131. }
  1132. .dark-mode .current-version {
  1133. background-color: rgba(24, 144, 255, 0.5);
  1134. color: #fff;
  1135. }
  1136. .dark-mode .latest-version-text {
  1137. background-color: rgba(82, 196, 26, 0.5);
  1138. color: #fff;
  1139. }
  1140. .dark-mode .version-label {
  1141. color: #aaa;
  1142. }
  1143. .dark-mode .update-btn {
  1144. background-color: #ff7676;
  1145. }
  1146. .dark-mode .update-btn:hover {
  1147. background-color: #ff5e5e;
  1148. }
  1149. .version-latest {
  1150. display: flex;
  1151. align-items: center;
  1152. font-size: 15px;
  1153. font-weight: 600;
  1154. color: #fff;
  1155. gap: 8px;
  1156. }
  1157. .version-check-icon {
  1158. color: #52c41a;
  1159. font-size: 16px;
  1160. text-shadow: 0 0 5px rgba(82, 196, 26, 0.5);
  1161. }
  1162. .dark-mode .version-latest {
  1163. color: #f0f0f0;
  1164. }
  1165. .dark-mode .version-check-icon {
  1166. color: #73d13d;
  1167. }
  1168. .version-number {
  1169. background-color: rgba(0, 0, 0, 0.2);
  1170. border-radius: 4px;
  1171. padding: 2px 6px;
  1172. margin-left: 4px;
  1173. font-weight: 200;
  1174. color: #fff;
  1175. font-size: 14px;
  1176. }
  1177. .dark-mode .version-number {
  1178. background-color: rgba(255, 255, 255, 0.15);
  1179. color: #fff;
  1180. }
  1181. /* 暗黑模式滚动条 */
  1182. .dark-mode .settings-body {
  1183. scrollbar-color: #555 #333;
  1184. }
  1185. .dark-mode .settings-body::-webkit-scrollbar-track {
  1186. background: #2a2a2a;
  1187. }
  1188. .dark-mode .settings-body::-webkit-scrollbar-thumb {
  1189. background-color: #555;
  1190. border: 2px solid #2a2a2a;
  1191. }
  1192. .dark-mode .settings-body::-webkit-scrollbar-thumb:hover {
  1193. background-color: #666;
  1194. }
  1195. .dark-mode .settings-section {
  1196. border-bottom-color: #333;
  1197. }
  1198. .settings-section {
  1199. margin-bottom: 25px;
  1200. padding-bottom: 15px;
  1201. border-bottom: 1px dashed #eee;
  1202. }
  1203. .settings-section:last-child {
  1204. margin-bottom: 0;
  1205. padding-bottom: 0;
  1206. border-bottom: none;
  1207. }
  1208. .settings-section h4 {
  1209. margin-top: 0;
  1210. margin-bottom: 15px;
  1211. font-size: 18px;
  1212. font-weight: 600;
  1213. color: #333;
  1214. }
  1215. .box-config {
  1216. background-color: #f9f9f9;
  1217. border-radius: 4px;
  1218. padding: 15px;
  1219. }
  1220. .st-item {
  1221. margin-bottom: 15px;
  1222. }
  1223. .box-inner {
  1224. margin-top: 10px;
  1225. background-color: #f0f0f0;
  1226. padding: 10px;
  1227. border-radius: 4px;
  1228. }
  1229. .row-line {
  1230. margin-bottom: 8px;
  1231. }
  1232. .x-disabled {
  1233. opacity: 0.6;
  1234. pointer-events: none;
  1235. }
  1236. /* 设置打赏按钮样式 */
  1237. .donate-link:hover {
  1238. transform: translateY(-3px);
  1239. box-shadow: 0 5px 15px rgba(255, 105, 97, 0.4);
  1240. background: linear-gradient(135deg, #ff9a9e 0%, #fecfef 99%, #fecfef 100%);
  1241. }
  1242. .donate-link:active {
  1243. transform: translateY(0);
  1244. }
  1245. .donate-link .nav-icon {
  1246. color: #e74c3c;
  1247. font-size: 18px;
  1248. animation: heartbeat 1.3s ease-in-out infinite;
  1249. }
  1250. .donate-link:hover .nav-icon {
  1251. animation: heartbeat 0.6s ease-in-out infinite;
  1252. }
  1253. @keyframes heartbeat {
  1254. 0% {
  1255. transform: scale(1);
  1256. }
  1257. 14% {
  1258. transform: scale(1.3);
  1259. }
  1260. 28% {
  1261. transform: scale(1);
  1262. }
  1263. 42% {
  1264. transform: scale(1.3);
  1265. }
  1266. 70% {
  1267. transform: scale(1);
  1268. }
  1269. }
  1270. /* 打赏模态框样式 */
  1271. .donate-modal .settings-dialog {
  1272. max-width: 500px;
  1273. }
  1274. .donate-content {
  1275. text-align: center;
  1276. padding: 10px;
  1277. }
  1278. .donate-desc {
  1279. font-size: 16px;
  1280. margin-bottom: 20px;
  1281. color: #666;
  1282. line-height: 1.6;
  1283. }
  1284. .donate-qrcode {
  1285. display: flex;
  1286. flex-direction: column;
  1287. align-items: center;
  1288. margin-bottom: 20px;
  1289. }
  1290. .donate-image {
  1291. max-width: 250px;
  1292. border-radius: 10px;
  1293. box-shadow: 0 5px 15px rgba(0, 0, 0, 0.1);
  1294. margin-bottom: 15px;
  1295. transition: transform 0.3s ease;
  1296. }
  1297. .donate-image:hover {
  1298. transform: scale(1.05);
  1299. }
  1300. .donate-text {
  1301. font-size: 18px;
  1302. font-weight: bold;
  1303. color: #e74c3c;
  1304. margin-top: 10px;
  1305. }
  1306. /* 暗黑模式下的打赏样式 */
  1307. .dark-mode .donate-link {
  1308. background: linear-gradient(135deg, #ff6b6b 0%, #f39c12 100%);
  1309. color: #fff;
  1310. }
  1311. .dark-mode .donate-link:hover {
  1312. background: linear-gradient(135deg, #ff6b6b 0%, #e74c3c 100%);
  1313. }
  1314. .dark-mode .donate-link .nav-icon {
  1315. color: #fff;
  1316. }
  1317. .dark-mode .donate-desc {
  1318. color: #ccc;
  1319. }
  1320. .dark-mode .donate-text {
  1321. color: #ff6b6b;
  1322. }
  1323. /* 媒体查询-移动设备 */
  1324. @media (max-width: 600px) {
  1325. .donate-link span {
  1326. display: none;
  1327. }
  1328. .donate-image {
  1329. max-width: 180px;
  1330. }
  1331. }
  1332. /* 确认对话框样式 */
  1333. .confirm-modal .settings-dialog {
  1334. max-width: 450px;
  1335. }
  1336. .confirm-content {
  1337. display: flex;
  1338. align-items: center;
  1339. padding: 20px 10px;
  1340. }
  1341. .confirm-icon {
  1342. font-size: 36px;
  1343. color: #f39c12;
  1344. margin-right: 20px;
  1345. background: rgba(243, 156, 18, 0.1);
  1346. width: 60px;
  1347. height: 60px;
  1348. border-radius: 50%;
  1349. display: flex;
  1350. justify-content: center;
  1351. align-items: center;
  1352. flex-shrink: 0;
  1353. }
  1354. .confirm-message {
  1355. font-size: 16px;
  1356. line-height: 1.6;
  1357. color: #555;
  1358. margin: 0;
  1359. }
  1360. /* 确认对话框动画 */
  1361. .confirm-modal .settings-dialog {
  1362. animation: bounceIn 0.4s cubic-bezier(0.68, -0.55, 0.27, 1.55);
  1363. }
  1364. @keyframes bounceIn {
  1365. 0% {
  1366. transform: scale(0.8);
  1367. opacity: 0;
  1368. }
  1369. 70% {
  1370. transform: scale(1.05);
  1371. opacity: 1;
  1372. }
  1373. 100% {
  1374. transform: scale(1);
  1375. }
  1376. }
  1377. /* 黑暗模式下的确认对话框 */
  1378. .dark-mode .confirm-icon {
  1379. color: #f39c12;
  1380. background: rgba(243, 156, 18, 0.2);
  1381. }
  1382. .dark-mode .confirm-message {
  1383. color: #ddd;
  1384. }
  1385. /* 暗黑模式下的导航栏按钮样式 */
  1386. .dark-mode .navbar-actions .settings-link {
  1387. background-color: rgba(255, 255, 255, 0.08);
  1388. box-shadow: 0 2px 5px rgba(0, 0, 0, 0.2);
  1389. }
  1390. .dark-mode .navbar-actions .settings-link:hover {
  1391. background: linear-gradient(45deg, #3498db, #2980b9);
  1392. box-shadow: 0 4px 8px rgba(0, 0, 0, 0.3);
  1393. }
  1394. .dark-mode .navbar-actions .donate-link {
  1395. background: linear-gradient(135deg, #ff6b6b 0%, #f39c12 100%);
  1396. color: #fff;
  1397. }
  1398. .dark-mode .navbar-actions .donate-link:hover {
  1399. background: linear-gradient(45deg, #e74c3c, #c0392b);
  1400. color: #fff;
  1401. }
  1402. /* 暗黑模式下的波纹效果 */
  1403. .dark-mode .navbar-actions .nav-item::after {
  1404. background: rgba(255, 255, 255, 0.4);
  1405. }
  1406. .dark-mode .navbar-actions .donate-link .nav-icon,
  1407. .dark-mode .navbar-actions .settings-link .nav-icon {
  1408. color: #fff;
  1409. }