/* Only prose links opt in. Interface controls and advertising retain their own design. */
.fd-rich-text { display: contents; }

:where(
    .fd-rich-text,
    .fd-variety-page #profile > .profile-main:first-child > .profile-in,
    .fd-variety-note,
    .fd-variety-contribution-content,
    .fd-variety-page .uou-block-6b p,
    .glossary-content,
    .fd-term-definition,
    .faq-answer,
    .fd-reading-content,
    .fc-post-description,
    .fc-rich-content,
    .fc-guidelines,
    .assistant-answer,
    .fd-page-help .uou-accordions > li > div,
    .fd-page-business-details #profile > .profile-main:first-child > .profile-in,
    .fd-page-user-profile .fd-native-main > .fd-sidebar-panel > p,
    .comment-reply .text-box > p
) a[href]:not(:where(
    .btn, [class^="btn-"], [class*=" btn-"], .fd-button, .fc-button,
    .fc-link-button, .fig-side-link, .faq-side-link, [role="button"], [role="tab"],
    [data-toggle], [data-community-photo], [href=""], [href="#"], [href^="javascript:"],
    nav *, header *, footer *, .nav *, .pagination *, .list-inline *,
    .fd-site-header *, .fd-site-footer-v3 *, .sharethis-inline-share-buttons *,
    .like-dislike-icon *, .fd-variety-contribution-content > h6 *,
    .fc-person *, .fc-report-form *, .fc-solve-form *,
    .adsbygoogle, .adsbygoogle *, .epn-placement, .epn-placement *,
    [data-ad-slot] *, [data-config-id] *, .fd-variety-banner *,
    .fd-content-advertising *, .advertisement, .advertisement *,
    .ad-container, .ad-container *, .banner, .banner *,
    :has(img, svg, button)
)) {
    --fd-content-link: 1;
    color: var(--fd-prose-link, #145f90) !important;
    text-decoration-line: underline !important;
    text-decoration-color: currentColor !important;
    text-decoration-thickness: 1px !important;
    text-underline-offset: 0.16em;
    text-decoration-skip-ink: auto;

    /* Nesting keeps every state on the same allowlist, including without JavaScript. */
    &:visited { color: var(--fd-prose-visited, #5c437d) !important; }
    &:hover {
        color: var(--fd-prose-hover, #0b3f65) !important;
        text-decoration-thickness: 2px !important;
    }
    &:focus-visible {
        color: var(--fd-prose-hover, #0b3f65) !important;
        outline: 2px solid var(--fd-prose-link, #145f90) !important;
        outline-offset: 3px;
        text-decoration-thickness: 2px !important;
    }
    & :is(span, strong, em, b, i, u, font) { color: inherit !important; }
    @media (forced-colors: active) {
        color: LinkText !important;
        &:visited { color: VisitedText !important; }
        &:focus-visible { color: LinkText !important; outline-color: Highlight !important; }
    }
}
