@stackoverflow/stacks 2.5.4 → 2.5.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 (101) hide show
  1. package/LICENSE.MD +9 -9
  2. package/README.md +180 -180
  3. package/dist/css/stacks.css +102 -122
  4. package/dist/css/stacks.min.css +1 -1
  5. package/lib/atomic/border.less +139 -139
  6. package/lib/atomic/color.less +36 -36
  7. package/lib/atomic/flex.less +426 -426
  8. package/lib/atomic/gap.less +44 -44
  9. package/lib/atomic/grid.less +139 -139
  10. package/lib/atomic/misc.less +374 -374
  11. package/lib/atomic/spacing.less +98 -98
  12. package/lib/atomic/typography.less +264 -264
  13. package/lib/atomic/width-height.less +194 -194
  14. package/lib/base/body.less +44 -44
  15. package/lib/base/configuration-static.less +61 -61
  16. package/lib/base/fieldset.less +5 -5
  17. package/lib/base/icon.less +11 -11
  18. package/lib/base/internal.less +220 -220
  19. package/lib/base/reset-meyer.less +64 -64
  20. package/lib/base/reset-normalize.less +449 -449
  21. package/lib/base/reset.less +20 -20
  22. package/lib/components/activity-indicator/activity-indicator.less +53 -53
  23. package/lib/components/anchor/anchor.less +78 -68
  24. package/lib/components/avatar/avatar.less +108 -108
  25. package/lib/components/award-bling/award-bling.less +31 -31
  26. package/lib/components/badge/badge.less +258 -258
  27. package/lib/components/banner/banner.less +44 -44
  28. package/lib/components/banner/banner.ts +149 -149
  29. package/lib/components/block-link/block-link.less +82 -82
  30. package/lib/components/breadcrumbs/breadcrumbs.less +41 -41
  31. package/lib/components/button/button.less +473 -473
  32. package/lib/components/button-group/button-group.less +82 -82
  33. package/lib/components/card/card.less +37 -37
  34. package/lib/components/check-control/check-control.less +17 -17
  35. package/lib/components/check-group/check-group.less +19 -19
  36. package/lib/components/checkbox_radio/checkbox_radio.less +159 -159
  37. package/lib/components/code-block/code-block.fixtures.ts +88 -88
  38. package/lib/components/code-block/code-block.less +116 -116
  39. package/lib/components/description/description.less +9 -9
  40. package/lib/components/empty-state/empty-state.less +16 -16
  41. package/lib/components/expandable/expandable.less +118 -118
  42. package/lib/components/expandable/expandable.ts +238 -238
  43. package/lib/components/input-fill/input-fill.less +35 -35
  44. package/lib/components/input-icon/input-icon.less +45 -45
  45. package/lib/components/input-message/input-message.less +49 -49
  46. package/lib/components/input_textarea/input_textarea.less +150 -150
  47. package/lib/components/label/label.less +110 -110
  48. package/lib/components/link/link.less +136 -120
  49. package/lib/components/link-preview/link-preview.less +148 -148
  50. package/lib/components/menu/menu.less +41 -41
  51. package/lib/components/modal/modal.less +118 -118
  52. package/lib/components/modal/modal.ts +383 -383
  53. package/lib/components/navigation/navigation.less +136 -136
  54. package/lib/components/navigation/navigation.ts +128 -128
  55. package/lib/components/notice/notice.less +195 -195
  56. package/lib/components/page-title/page-title.less +51 -51
  57. package/lib/components/pagination/pagination.less +65 -65
  58. package/lib/components/popover/popover.less +159 -159
  59. package/lib/components/popover/popover.ts +651 -651
  60. package/lib/components/popover/tooltip.ts +343 -343
  61. package/lib/components/post-summary/post-summary.less +457 -447
  62. package/lib/components/progress-bar/progress-bar.less +291 -291
  63. package/lib/components/prose/prose.less +452 -452
  64. package/lib/components/select/select.less +138 -138
  65. package/lib/components/sidebar-widget/sidebar-widget.less +257 -257
  66. package/lib/components/spinner/spinner.less +103 -103
  67. package/lib/components/table/table.less +307 -307
  68. package/lib/components/table/table.ts +296 -296
  69. package/lib/components/table-container/table-container.less +4 -4
  70. package/lib/components/tag/tag.less +186 -186
  71. package/lib/components/toast/toast.less +35 -35
  72. package/lib/components/toast/toast.ts +357 -357
  73. package/lib/components/toggle-switch/toggle-switch.less +104 -104
  74. package/lib/components/topbar/topbar.less +553 -553
  75. package/lib/components/uploader/uploader.less +205 -205
  76. package/lib/components/uploader/uploader.ts +207 -207
  77. package/lib/components/user-card/user-card.less +129 -129
  78. package/lib/controllers.ts +33 -33
  79. package/lib/exports/color-mixins.less +283 -283
  80. package/lib/exports/color-sets.less +711 -711
  81. package/lib/exports/color.less +65 -65
  82. package/lib/exports/constants-helpers.less +108 -108
  83. package/lib/exports/constants-type.less +155 -155
  84. package/lib/exports/exports.less +15 -15
  85. package/lib/exports/mixins.less +333 -333
  86. package/lib/exports/spacing-mixins.less +67 -67
  87. package/lib/index.ts +32 -32
  88. package/lib/input-utils.less +41 -41
  89. package/lib/stacks-dynamic.less +24 -24
  90. package/lib/stacks-static.less +93 -93
  91. package/lib/stacks.less +13 -13
  92. package/lib/stacks.ts +113 -113
  93. package/lib/test/a11y-test-utils.ts +94 -94
  94. package/lib/test/assertions.ts +36 -36
  95. package/lib/test/less-test-utils.ts +28 -28
  96. package/lib/test/open-wc-testing-patch.d.ts +26 -26
  97. package/lib/test/test-utils.ts +364 -364
  98. package/lib/test/visual-test-utils.ts +58 -58
  99. package/lib/tsconfig.build.json +4 -4
  100. package/lib/tsconfig.json +17 -17
  101. package/package.json +115 -115
@@ -453,13 +453,16 @@ body.theme-highcontrast .s-activity-indicator.s-activity-indicator__warning {
453
453
  --_ai-bg: var(--yellow-500);
454
454
  --_ai-fc: var(--white);
455
455
  }
456
- .s-anchors {
457
- --_an-a-fc-visited: var(--_an-a-fc);
458
- }
459
456
  .s-anchors.s-anchors__underlined a:not(.s-link),
460
457
  .s-anchors.s-anchors__underlined .s-btn.s-btn__link {
461
458
  text-decoration: underline;
462
459
  }
460
+ .s-anchors.s-anchors__danger,
461
+ .s-anchors.s-anchors__grayscale,
462
+ .s-anchors.s-anchors__inherit,
463
+ .s-anchors.s-anchors__muted {
464
+ --_an-a-fc-hover-visited: var(--_an-a-fc-hover);
465
+ }
463
466
  .s-anchors.s-anchors__danger {
464
467
  --_an-a-fc: var(--red-400);
465
468
  --_an-a-fc-hover: var(--red-500);
@@ -468,7 +471,8 @@ body.theme-highcontrast .s-activity-indicator.s-activity-indicator__warning {
468
471
  .s-anchors.s-anchors__default {
469
472
  --_an-a-fc: var(--theme-link-color, var(--theme-secondary-400));
470
473
  --_an-a-fc-hover: var(--theme-link-color-hover, var(--theme-secondary-500));
471
- --_an-a-fc-visited: var(--theme-link-color-visited, var(--theme-secondary-600));
474
+ --_an-a-fc-visited: var(--theme-link-color-visited, var(--purple-500));
475
+ --_an-a-fc-hover-visited: var(--theme-link-color-hover, var(--purple-600));
472
476
  }
473
477
  .s-anchors.s-anchors__grayscale {
474
478
  --_an-a-fc: var(--black-500);
@@ -497,16 +501,6 @@ body.theme-highcontrast .s-activity-indicator.s-activity-indicator__warning {
497
501
  .s-anchors.s-anchors__muted .s-btn.s-btn__link {
498
502
  color: var(--_an-a-fc, inherit);
499
503
  }
500
- .s-anchors.s-anchors__danger a:not(.s-link):hover,
501
- .s-anchors.s-anchors__default a:not(.s-link):hover,
502
- .s-anchors.s-anchors__grayscale a:not(.s-link):hover,
503
- .s-anchors.s-anchors__inherit a:not(.s-link):hover,
504
- .s-anchors.s-anchors__muted a:not(.s-link):hover,
505
- .s-anchors.s-anchors__danger .s-btn.s-btn__link:hover,
506
- .s-anchors.s-anchors__default .s-btn.s-btn__link:hover,
507
- .s-anchors.s-anchors__grayscale .s-btn.s-btn__link:hover,
508
- .s-anchors.s-anchors__inherit .s-btn.s-btn__link:hover,
509
- .s-anchors.s-anchors__muted .s-btn.s-btn__link:hover,
510
504
  .s-anchors.s-anchors__danger a:not(.s-link):active,
511
505
  .s-anchors.s-anchors__default a:not(.s-link):active,
512
506
  .s-anchors.s-anchors__grayscale a:not(.s-link):active,
@@ -517,40 +511,32 @@ body.theme-highcontrast .s-activity-indicator.s-activity-indicator__warning {
517
511
  .s-anchors.s-anchors__grayscale .s-btn.s-btn__link:active,
518
512
  .s-anchors.s-anchors__inherit .s-btn.s-btn__link:active,
519
513
  .s-anchors.s-anchors__muted .s-btn.s-btn__link:active,
520
- .s-anchors.s-anchors__danger a:not(.s-link):hover:visited,
521
- .s-anchors.s-anchors__default a:not(.s-link):hover:visited,
522
- .s-anchors.s-anchors__grayscale a:not(.s-link):hover:visited,
523
- .s-anchors.s-anchors__inherit a:not(.s-link):hover:visited,
524
- .s-anchors.s-anchors__muted a:not(.s-link):hover:visited,
525
- .s-anchors.s-anchors__danger .s-btn.s-btn__link:hover:visited,
526
- .s-anchors.s-anchors__default .s-btn.s-btn__link:hover:visited,
527
- .s-anchors.s-anchors__grayscale .s-btn.s-btn__link:hover:visited,
528
- .s-anchors.s-anchors__inherit .s-btn.s-btn__link:hover:visited,
529
- .s-anchors.s-anchors__muted .s-btn.s-btn__link:hover:visited,
530
- .s-anchors.s-anchors__danger a:not(.s-link):active:visited,
531
- .s-anchors.s-anchors__default a:not(.s-link):active:visited,
532
- .s-anchors.s-anchors__grayscale a:not(.s-link):active:visited,
533
- .s-anchors.s-anchors__inherit a:not(.s-link):active:visited,
534
- .s-anchors.s-anchors__muted a:not(.s-link):active:visited,
535
- .s-anchors.s-anchors__danger .s-btn.s-btn__link:active:visited,
536
- .s-anchors.s-anchors__default .s-btn.s-btn__link:active:visited,
537
- .s-anchors.s-anchors__grayscale .s-btn.s-btn__link:active:visited,
538
- .s-anchors.s-anchors__inherit .s-btn.s-btn__link:active:visited,
539
- .s-anchors.s-anchors__muted .s-btn.s-btn__link:active:visited {
514
+ .s-anchors.s-anchors__danger a:not(.s-link):hover,
515
+ .s-anchors.s-anchors__default a:not(.s-link):hover,
516
+ .s-anchors.s-anchors__grayscale a:not(.s-link):hover,
517
+ .s-anchors.s-anchors__inherit a:not(.s-link):hover,
518
+ .s-anchors.s-anchors__muted a:not(.s-link):hover,
519
+ .s-anchors.s-anchors__danger .s-btn.s-btn__link:hover,
520
+ .s-anchors.s-anchors__default .s-btn.s-btn__link:hover,
521
+ .s-anchors.s-anchors__grayscale .s-btn.s-btn__link:hover,
522
+ .s-anchors.s-anchors__inherit .s-btn.s-btn__link:hover,
523
+ .s-anchors.s-anchors__muted .s-btn.s-btn__link:hover {
540
524
  color: var(--_an-a-fc-hover);
541
525
  }
542
526
  .s-anchors.s-anchors__danger a:not(.s-link):visited,
543
527
  .s-anchors.s-anchors__default a:not(.s-link):visited,
544
528
  .s-anchors.s-anchors__grayscale a:not(.s-link):visited,
545
529
  .s-anchors.s-anchors__inherit a:not(.s-link):visited,
546
- .s-anchors.s-anchors__muted a:not(.s-link):visited,
547
- .s-anchors.s-anchors__danger .s-btn.s-btn__link:visited,
548
- .s-anchors.s-anchors__default .s-btn.s-btn__link:visited,
549
- .s-anchors.s-anchors__grayscale .s-btn.s-btn__link:visited,
550
- .s-anchors.s-anchors__inherit .s-btn.s-btn__link:visited,
551
- .s-anchors.s-anchors__muted .s-btn.s-btn__link:visited {
530
+ .s-anchors.s-anchors__muted a:not(.s-link):visited {
552
531
  color: var(--_an-a-fc-visited, inherit);
553
532
  }
533
+ .s-anchors.s-anchors__danger a:not(.s-link):visited:hover,
534
+ .s-anchors.s-anchors__default a:not(.s-link):visited:hover,
535
+ .s-anchors.s-anchors__grayscale a:not(.s-link):visited:hover,
536
+ .s-anchors.s-anchors__inherit a:not(.s-link):visited:hover,
537
+ .s-anchors.s-anchors__muted a:not(.s-link):visited:hover {
538
+ color: var(--_an-a-fc-hover-visited, inherit);
539
+ }
554
540
  .s-avatar {
555
541
  --_av-size: var(--su-static16);
556
542
  --_av-bg: var(--_white-static);
@@ -1343,7 +1329,8 @@ body.theme-highcontrast .s-btn--radio:checked + .s-btn.s-btn__outlined.s-btn__mu
1343
1329
  .s-btn.s-btn__link {
1344
1330
  --_li-fc: var(--theme-link-color, var(--theme-secondary-400));
1345
1331
  --_li-fc-hover: var(--theme-link-color-hover, var(--theme-secondary-500));
1346
- --_li-fc-visited: var(--theme-link-color-visited, var(--theme-secondary-600));
1332
+ --_li-fc-visited: var(--theme-link-color-visited, var(--purple-500));
1333
+ --_li-fc-hover-visited: var(--theme-link-color-visited, var(--purple-600));
1347
1334
  color: var(--_li-fc);
1348
1335
  cursor: pointer;
1349
1336
  text-decoration: none;
@@ -1367,25 +1354,6 @@ body.theme-highcontrast .s-btn--radio:checked + .s-btn.s-btn__outlined.s-btn__mu
1367
1354
  body.theme-highcontrast .s-btn.s-btn__link {
1368
1355
  text-decoration: underline;
1369
1356
  }
1370
- .s-btn.s-btn__link.s-link__danger:visited,
1371
- .s-btn.s-btn__link.s-link__grayscale:visited,
1372
- .s-btn.s-btn__link.s-link__inherit:visited,
1373
- .s-btn.s-btn__link.s-link__muted:visited,
1374
- .s-btn.s-btn__link.s-link__visited:visited {
1375
- color: var(--_li-fc-visited);
1376
- }
1377
- .s-btn.s-btn__link.s-link__danger:visited:active,
1378
- .s-btn.s-btn__link.s-link__grayscale:visited:active,
1379
- .s-btn.s-btn__link.s-link__inherit:visited:active,
1380
- .s-btn.s-btn__link.s-link__muted:visited:active,
1381
- .s-btn.s-btn__link.s-link__visited:visited:active,
1382
- .s-btn.s-btn__link.s-link__danger:visited:hover,
1383
- .s-btn.s-btn__link.s-link__grayscale:visited:hover,
1384
- .s-btn.s-btn__link.s-link__inherit:visited:hover,
1385
- .s-btn.s-btn__link.s-link__muted:visited:hover,
1386
- .s-btn.s-btn__link.s-link__visited:visited:hover {
1387
- color: var(--_li-fc-hover);
1388
- }
1389
1357
  .s-btn.s-btn__link.s-link__dropdown {
1390
1358
  padding-right: 0.9em;
1391
1359
  position: relative;
@@ -1407,9 +1375,16 @@ body.theme-highcontrast .s-btn.s-btn__link {
1407
1375
  text-decoration: underline !important;
1408
1376
  }
1409
1377
  .s-btn.s-btn__link.s-link__visited {
1410
- --_li-fc: var(--theme-link-color-visited, var(--theme-secondary-500));
1411
- --_li-fc-hover: var(--theme-link-color-hover, var(--theme-secondary-400));
1412
- --_li-fc-visited: var(--theme-link-color-visited, var(--theme-secondary-500));
1378
+ --_li-fc: var(--theme-link-color-visited, var(--purple-500));
1379
+ --_li-fc-hover: var(--theme-link-color-hover, var(--purple-600));
1380
+ --_li-fc-visited: var(--theme-link-color-visited, var(--purple-500));
1381
+ --_li-fc-hover-visited: var(--theme-link-color-visited, var(--purple-600));
1382
+ }
1383
+ .s-btn.s-btn__link.s-link__danger,
1384
+ .s-btn.s-btn__link.s-link__grayscale,
1385
+ .s-btn.s-btn__link.s-link__inherit,
1386
+ .s-btn.s-btn__link.s-link__muted {
1387
+ --_li-fc-hover-visited: var(--_li-fc-hover);
1413
1388
  }
1414
1389
  .s-btn.s-btn__link.s-link__danger {
1415
1390
  --_li-fc: var(--red-400);
@@ -1438,7 +1413,7 @@ fieldset[disabled] .s-btn.s-btn__link {
1438
1413
  }
1439
1414
  .s-btn.s-btn__link:active,
1440
1415
  .s-btn.s-btn__link:hover {
1441
- color: var(--_li-fc-hover);
1416
+ --_li-fc: var(--_li-fc-hover);
1442
1417
  }
1443
1418
  button.s-btn.s-btn__link {
1444
1419
  appearance: none;
@@ -1452,6 +1427,9 @@ button.s-btn.s-btn__link {
1452
1427
  button.s-btn.s-btn__link:focus {
1453
1428
  outline: revert;
1454
1429
  }
1430
+ p .s-btn.s-btn__link {
1431
+ text-decoration: underline;
1432
+ }
1455
1433
  .s-btn.s-btn__unset {
1456
1434
  outline: initial;
1457
1435
  }
@@ -1653,12 +1631,12 @@ body.theme-highcontrast .s-btn.s-btn__github {
1653
1631
  .s-btn:not(.s-btn--radio:checked + label):not(.s-btn__link):not(.s-btn__unset):not(.s-btn__facebook):not(.s-btn__github):not(.s-btn__google):not(.is-selected):hover:not(.s-btn__outlined) {
1654
1632
  border-color: var(--_bu-bc-hover);
1655
1633
  }
1656
- .s-btn:not(.s-btn--radio:checked + label):not(.s-btn__link):not(.s-btn__unset):not(.s-btn__facebook):not(.s-btn__github):not(.s-btn__google):not(.is-selected):hover:visited:not(:hover):not(:focus) {
1634
+ .s-btn:not(.s-btn--radio:checked + label):not(.s-btn__link):not(.s-btn__unset):not(.s-btn__facebook):not(.s-btn__github):not(.s-btn__google):not(.is-selected):hover:visited:not(:active):not(:focus) {
1657
1635
  background-color: var(--_bu-bg);
1658
1636
  border-color: var(--_bu-bc);
1659
1637
  color: var(--_bu-fc);
1660
1638
  }
1661
- .s-btn:not(.s-btn--radio:checked + label):not(.s-btn__link):not(.s-btn__unset):not(.s-btn__facebook):not(.s-btn__github):not(.s-btn__google):not(.is-selected):hover:visited:not(:hover):not(:focus).s-btn__filled {
1639
+ .s-btn:not(.s-btn--radio:checked + label):not(.s-btn__link):not(.s-btn__unset):not(.s-btn__facebook):not(.s-btn__github):not(.s-btn__google):not(.is-selected):hover:visited:not(:active):not(:focus).s-btn__filled {
1662
1640
  background-color: var(--_bu-filled-bg);
1663
1641
  border-color: var(--_bu-filled-bc);
1664
1642
  color: var(--_bu-filled-fc);
@@ -2518,10 +2496,10 @@ fieldset[disabled] .s-input-message {
2518
2496
  --_im-a-fc-hover: var(--yellow-500);
2519
2497
  }
2520
2498
  .s-input-message a {
2521
- color: var(--_im-a-fc);
2499
+ color: var(--_im-a-fc) !important;
2522
2500
  }
2523
2501
  .s-input-message a:hover {
2524
- color: var(--_im-a-fc-hover);
2502
+ color: var(--_im-a-fc-hover) !important;
2525
2503
  }
2526
2504
  .s-label {
2527
2505
  --_la-fs: var(--fs-body2);
@@ -2603,11 +2581,24 @@ body.theme-highcontrast .s-label--status {
2603
2581
  line-height: 0;
2604
2582
  text-decoration: none !important;
2605
2583
  }
2584
+ a:visited:not([class*="s-"]):not(.post-tag),
2585
+ a:visited.s-link,
2586
+ a:visited.s-sidebarwidget--action,
2587
+ a:visited.s-user-card--link {
2588
+ color: var(--_li-fc-visited);
2589
+ }
2590
+ a:visited:not([class*="s-"]):not(.post-tag):hover,
2591
+ a:visited.s-link:hover,
2592
+ a:visited.s-sidebarwidget--action:hover,
2593
+ a:visited.s-user-card--link:hover {
2594
+ color: var(--_li-fc-hover-visited);
2595
+ }
2606
2596
  a,
2607
2597
  .s-link {
2608
2598
  --_li-fc: var(--theme-link-color, var(--theme-secondary-400));
2609
2599
  --_li-fc-hover: var(--theme-link-color-hover, var(--theme-secondary-500));
2610
- --_li-fc-visited: var(--theme-link-color-visited, var(--theme-secondary-600));
2600
+ --_li-fc-visited: var(--theme-link-color-visited, var(--purple-500));
2601
+ --_li-fc-hover-visited: var(--theme-link-color-visited, var(--purple-600));
2611
2602
  color: var(--_li-fc);
2612
2603
  cursor: pointer;
2613
2604
  text-decoration: none;
@@ -2617,40 +2608,6 @@ body.theme-highcontrast a,
2617
2608
  body.theme-highcontrast .s-link {
2618
2609
  text-decoration: underline;
2619
2610
  }
2620
- a.s-link__danger:visited,
2621
- .s-link.s-link__danger:visited,
2622
- a.s-link__grayscale:visited,
2623
- .s-link.s-link__grayscale:visited,
2624
- a.s-link__inherit:visited,
2625
- .s-link.s-link__inherit:visited,
2626
- a.s-link__muted:visited,
2627
- .s-link.s-link__muted:visited,
2628
- a.s-link__visited:visited,
2629
- .s-link.s-link__visited:visited {
2630
- color: var(--_li-fc-visited);
2631
- }
2632
- a.s-link__danger:visited:active,
2633
- .s-link.s-link__danger:visited:active,
2634
- a.s-link__grayscale:visited:active,
2635
- .s-link.s-link__grayscale:visited:active,
2636
- a.s-link__inherit:visited:active,
2637
- .s-link.s-link__inherit:visited:active,
2638
- a.s-link__muted:visited:active,
2639
- .s-link.s-link__muted:visited:active,
2640
- a.s-link__visited:visited:active,
2641
- .s-link.s-link__visited:visited:active,
2642
- a.s-link__danger:visited:hover,
2643
- .s-link.s-link__danger:visited:hover,
2644
- a.s-link__grayscale:visited:hover,
2645
- .s-link.s-link__grayscale:visited:hover,
2646
- a.s-link__inherit:visited:hover,
2647
- .s-link.s-link__inherit:visited:hover,
2648
- a.s-link__muted:visited:hover,
2649
- .s-link.s-link__muted:visited:hover,
2650
- a.s-link__visited:visited:hover,
2651
- .s-link.s-link__visited:visited:hover {
2652
- color: var(--_li-fc-hover);
2653
- }
2654
2611
  a.s-link__dropdown,
2655
2612
  .s-link.s-link__dropdown {
2656
2613
  padding-right: 0.9em;
@@ -2676,9 +2633,20 @@ a.s-link__underlined,
2676
2633
  }
2677
2634
  a.s-link__visited,
2678
2635
  .s-link.s-link__visited {
2679
- --_li-fc: var(--theme-link-color-visited, var(--theme-secondary-500));
2680
- --_li-fc-hover: var(--theme-link-color-hover, var(--theme-secondary-400));
2681
- --_li-fc-visited: var(--theme-link-color-visited, var(--theme-secondary-500));
2636
+ --_li-fc: var(--theme-link-color-visited, var(--purple-500));
2637
+ --_li-fc-hover: var(--theme-link-color-hover, var(--purple-600));
2638
+ --_li-fc-visited: var(--theme-link-color-visited, var(--purple-500));
2639
+ --_li-fc-hover-visited: var(--theme-link-color-visited, var(--purple-600));
2640
+ }
2641
+ a.s-link__danger,
2642
+ .s-link.s-link__danger,
2643
+ a.s-link__grayscale,
2644
+ .s-link.s-link__grayscale,
2645
+ a.s-link__inherit,
2646
+ .s-link.s-link__inherit,
2647
+ a.s-link__muted,
2648
+ .s-link.s-link__muted {
2649
+ --_li-fc-hover-visited: var(--_li-fc-hover);
2682
2650
  }
2683
2651
  a.s-link__danger,
2684
2652
  .s-link.s-link__danger {
@@ -2714,7 +2682,7 @@ a:active,
2714
2682
  .s-link:active,
2715
2683
  a:hover,
2716
2684
  .s-link:hover {
2717
- color: var(--_li-fc-hover);
2685
+ --_li-fc: var(--_li-fc-hover);
2718
2686
  }
2719
2687
  button.s-link {
2720
2688
  appearance: none;
@@ -2728,6 +2696,9 @@ button.s-link {
2728
2696
  button.s-link:focus {
2729
2697
  outline: revert;
2730
2698
  }
2699
+ p .s-link {
2700
+ text-decoration: underline;
2701
+ }
2731
2702
  .s-link-preview {
2732
2703
  --_lp-details-fc: var(--black-400);
2733
2704
  --_lp-details-mt: var(--su2);
@@ -2760,16 +2731,14 @@ body.theme-highcontrast .s-link-preview {
2760
2731
  cursor: pointer;
2761
2732
  text-decoration: none;
2762
2733
  }
2763
- .s-link-preview .s-link-preview--details a:visited,
2764
- .s-link-preview .s-link-preview--footer a:visited {
2765
- color: var(--black-500);
2766
- }
2767
2734
  .s-link-preview .s-link-preview--details a:hover,
2768
2735
  .s-link-preview .s-link-preview--footer a:hover,
2769
2736
  .s-link-preview .s-link-preview--details a:active,
2770
2737
  .s-link-preview .s-link-preview--footer a:active,
2771
2738
  .s-link-preview .s-link-preview--details a:focus,
2772
- .s-link-preview .s-link-preview--footer a:focus {
2739
+ .s-link-preview .s-link-preview--footer a:focus,
2740
+ .s-link-preview .s-link-preview--details a:visited,
2741
+ .s-link-preview .s-link-preview--footer a:visited {
2773
2742
  color: var(--black-500);
2774
2743
  }
2775
2744
  .s-link-preview .s-link-preview--body {
@@ -2828,9 +2797,7 @@ body.theme-highcontrast .s-link-preview {
2828
2797
  text-decoration: none;
2829
2798
  }
2830
2799
  .s-link-preview a.s-link-preview--title:active,
2831
- .s-link-preview a.s-link-preview--title:hover,
2832
- .s-link-preview a.s-link-preview--title:active.s-link__visited,
2833
- .s-link-preview a.s-link-preview--title:hover.s-link__visited {
2800
+ .s-link-preview a.s-link-preview--title:hover {
2834
2801
  color: var(--theme-link-color-hover, var(--theme-secondary-500));
2835
2802
  }
2836
2803
  .s-link-preview a.s-link-preview--title:active,
@@ -2847,8 +2814,13 @@ body.theme-highcontrast .s-link-preview a.s-link-preview--title.s-link__visited:
2847
2814
  body.theme-highcontrast .s-link-preview a.s-link-preview--title.s-link__visited:visited {
2848
2815
  text-decoration: underline;
2849
2816
  }
2850
- .s-link-preview a.s-link-preview--title.s-link__visited:visited {
2851
- color: var(--theme-link-color, var(--theme-secondary-600));
2817
+ .s-link-preview a.s-link-preview--title:visited,
2818
+ .s-link-preview a.s-link-preview--title.s-link__visited {
2819
+ color: var(--theme-link-color, var(--purple-500));
2820
+ }
2821
+ .s-link-preview a.s-link-preview--title:visited:hover,
2822
+ .s-link-preview a.s-link-preview--title.s-link__visited:hover {
2823
+ color: var(--theme-link-color, var(--purple-600));
2852
2824
  }
2853
2825
  .s-link-preview .s-link-preview--url {
2854
2826
  max-width: 100%;
@@ -3641,7 +3613,8 @@ body.theme-highcontrast .s-popover .s-popover--arrow__lb {
3641
3613
  --_ps-content-excerpt-fc: var(--_ps-state-fc, var(--fc-medium));
3642
3614
  --_ps-content-title-a-fc: var(--_ps-state-fc, var(--theme-post-title-color, var(--theme-link-color, var(--theme-secondary-400))));
3643
3615
  --_ps-content-title-a-fc-hover: var(--_ps-state-fc, var(--theme-post-title-color-hover, var(--theme-link-color-hover, var(--theme-secondary-500))));
3644
- --_ps-content-title-a-fc-visited: var(--_ps-state-fc, var(--theme-post-title-color-visited, var(--theme-link-color-visited, var(--theme-secondary-600))));
3616
+ --_ps-content-title-a-fc-visited: var(--_ps-state-fc, var(--theme-post-title-color-visited, var(--theme-link-color-visited, var(--purple-500))));
3617
+ --_ps-content-title-a-fc-hover-visited: var(--_ps-state-fc, var(--theme-post-title-color-hover, var(--theme-link-color-hover, var(--purple-600))));
3645
3618
  --_ps-stats-ai: flex-end;
3646
3619
  --_ps-stats-fc: var(--_ps-state-fc, var(--fc-light));
3647
3620
  --_ps-stats-fd: column;
@@ -3806,7 +3779,8 @@ body.theme-system .theme-dark__forced .s-post-summary.s-post-summary__deleted .s
3806
3779
  --_ps-stats-fc: var(--black-400);
3807
3780
  --_ps-content-title-a-fc: var(--theme-post-title-color, var(--theme-link-color, var(--theme-secondary-400)));
3808
3781
  --_ps-content-title-a-fc-hover: var(--theme-post-title-color-hover, var(--theme-link-color-hover, var(--theme-secondary-500)));
3809
- --_ps-content-title-a-fc-visited: var(--theme-post-title-color-visited, var(--theme-link-color-visited, var(--theme-secondary-600)));
3782
+ --_ps-content-title-a-fc-visited: var(--theme-post-title-color-visited, var(--theme-link-color-visited, var(--purple-500)));
3783
+ --_ps-content-title-a-fc-hover-visited: var(--theme-post-title-color-hover, var(--theme-link-color-hover, var(--purple-600)));
3810
3784
  }
3811
3785
  .s-post-summary.s-post-summary__watched:not(.s-post-summary__deleted):not(.s-post-summary__ignored) .s-user-card a {
3812
3786
  color: var(--_ps-content-title-a-fc);
@@ -3818,6 +3792,9 @@ body.theme-system .theme-dark__forced .s-post-summary.s-post-summary__deleted .s
3818
3792
  .s-post-summary.s-post-summary__watched:not(.s-post-summary__deleted):not(.s-post-summary__ignored) .s-user-card a:visited {
3819
3793
  color: var(--_ps-content-title-a-fc-visited);
3820
3794
  }
3795
+ .s-post-summary.s-post-summary__watched:not(.s-post-summary__deleted):not(.s-post-summary__ignored) .s-user-card a:visited:hover {
3796
+ color: var(--_ps-content-title-a-fc-hover-visited);
3797
+ }
3821
3798
  .s-post-summary.s-post-summary__watched:not(.s-post-summary__deleted):not(.s-post-summary__ignored) .s-user-card .s-user-card--rep,
3822
3799
  .s-post-summary.s-post-summary__watched:not(.s-post-summary__deleted):not(.s-post-summary__ignored) .s-user-card .s-user-card--time {
3823
3800
  color: var(--black-500);
@@ -3933,13 +3910,16 @@ body.theme-highcontrast .s-post-summary .s-post-summary--answer:before {
3933
3910
  color: var(--_ps-content-title-a-fc);
3934
3911
  font-family: var(--theme-post-title-font-family, var(--theme-body-font-family));
3935
3912
  }
3936
- .s-post-summary .s-post-summary--content-title a:visited {
3937
- color: var(--_ps-content-title-a-fc-visited);
3938
- }
3939
3913
  .s-post-summary .s-post-summary--content-title a:active,
3940
3914
  .s-post-summary .s-post-summary--content-title a:hover {
3941
3915
  color: var(--_ps-content-title-a-fc-hover);
3942
3916
  }
3917
+ .s-post-summary .s-post-summary--content-title a:visited {
3918
+ color: var(--_ps-content-title-a-fc-visited);
3919
+ }
3920
+ .s-post-summary .s-post-summary--content-title a:visited:hover {
3921
+ color: var(--_ps-content-title-a-fc-hover-visited);
3922
+ }
3943
3923
  .s-post-summary .s-post-summary--content-title .iconShield {
3944
3924
  color: var(--fc-light);
3945
3925
  }