body.facenimal-theme-dark {
    --facenimal-theme-page: #0D1117;
    --facenimal-theme-panel: #161B23;
    --facenimal-theme-panel-soft: #152A20;
    --facenimal-theme-panel-strong: #1D2430;
    --facenimal-theme-border: #2C3444;
    --facenimal-theme-text: #E9EDF3;
    --facenimal-theme-muted: #8F9AAB;
    --facenimal-theme-accent: #84E3AA;
    --facenimal-theme-accent-strong: #25B86D;
    --facenimal-theme-danger: #FF9B92;
    --facenimal-theme-shadow: none;
    /* Tints of the two colours above. They are spelled out as rgba because a
       custom property holding color-mix() has no usable fallback — an engine
       that cannot parse it drops the property entirely instead of keeping an
       earlier declaration. Keep the channels equal to --accent / --danger. */
    --facenimal-theme-accent-soft: rgba(132, 227, 170, .14);
    --facenimal-theme-accent-ring: rgba(132, 227, 170, .18);
    --facenimal-theme-accent-line: rgba(132, 227, 170, .55);
    --facenimal-theme-danger-soft: rgba(255, 155, 146, .12);
    --facenimal-theme-danger-line: rgba(255, 155, 146, .42);
    /* The panel at 82%: fixed bars that page content scrolls underneath. */
    --facenimal-theme-panel-veil: rgba(22, 27, 35, .82);
    /* Native widgets — the open list of a <select>, scrollbars, date pickers —
       are drawn by the browser, not by us. This is the only way to tell it
       which way round the page is. */
    color-scheme: dark;
}

@media (prefers-color-scheme: dark) {
    body.facenimal-theme-system {
        --facenimal-theme-page: #0D1117;
        --facenimal-theme-panel: #161B23;
        --facenimal-theme-panel-soft: #152A20;
        --facenimal-theme-panel-strong: #1D2430;
        --facenimal-theme-border: #2C3444;
        --facenimal-theme-text: #E9EDF3;
        --facenimal-theme-muted: #8F9AAB;
        --facenimal-theme-accent: #84E3AA;
        --facenimal-theme-accent-strong: #25B86D;
        --facenimal-theme-danger: #FF9B92;
        --facenimal-theme-shadow: none;
        /* Tints of the two colours above. They are spelled out as rgba because a
           custom property holding color-mix() has no usable fallback — an engine
           that cannot parse it drops the property entirely instead of keeping an
           earlier declaration. Keep the channels equal to --accent / --danger. */
        --facenimal-theme-accent-soft: rgba(132, 227, 170, .14);
        --facenimal-theme-accent-ring: rgba(132, 227, 170, .18);
        --facenimal-theme-accent-line: rgba(132, 227, 170, .55);
        --facenimal-theme-danger-soft: rgba(255, 155, 146, .12);
        --facenimal-theme-danger-line: rgba(255, 155, 146, .42);
        /* The panel at 82%: fixed bars that page content scrolls underneath. */
        --facenimal-theme-panel-veil: rgba(22, 27, 35, .82);
        /* Also here, or "device setting" users get light native widgets on a
           dark page — the very group who never chose a theme explicitly. */
        color-scheme: dark;
    }
}

body.facenimal-theme-dark,
body.facenimal-theme-system {
    background: var(--facenimal-theme-page, inherit);
    color: var(--facenimal-theme-text, inherit);
}

body.facenimal-theme-dark :is(
    .facenimal-community-page,
    .facenimal-profile-template,
    .facenimal-marketplace-page,
    .facenimal-help-template,
    .facenimal-auth-page
),
body.facenimal-theme-system :is(
    .facenimal-community-page,
    .facenimal-profile-template,
    .facenimal-marketplace-page,
    .facenimal-help-template,
    .facenimal-auth-page
) {
    background: var(--facenimal-theme-page, #f2f2f2);
    color: var(--facenimal-theme-text, #17212b);
}

body.facenimal-theme-dark :is(
    .facenimal-community-feed,
    .facenimal-profile,
    .facenimal-marketplace,
    .facenimal-help,
    .facenimal-chat
),
body.facenimal-theme-system :is(
    .facenimal-community-feed,
    .facenimal-profile,
    .facenimal-marketplace,
    .facenimal-help,
    .facenimal-chat
) {
    color: var(--facenimal-theme-text, #17212b);
}

body.facenimal-theme-dark :is(
    .facenimal-community-card,
    .facenimal-community-post,
    .facenimal-community-post-menu,
    .facenimal-community-modal-panel,
    .facenimal-community-comments-panel,
    .facenimal-profile-login,
    .facenimal-profile-panel,
    .facenimal-marketplace-card,
    .facenimal-marketplace-filters,
    .facenimal-marketplace-detail,
    .facenimal-chat-card,
    .facenimal-chat-thread,
    .facenimal-help-panel,
    .facenimal-auth-card,
    .facenimal-notification-card
),
body.facenimal-theme-system :is(
    .facenimal-community-card,
    .facenimal-community-post,
    .facenimal-community-post-menu,
    .facenimal-community-modal-panel,
    .facenimal-community-comments-panel,
    .facenimal-profile-login,
    .facenimal-profile-panel,
    .facenimal-marketplace-card,
    .facenimal-marketplace-filters,
    .facenimal-marketplace-detail,
    .facenimal-chat-card,
    .facenimal-chat-thread,
    .facenimal-help-panel,
    .facenimal-auth-card,
    .facenimal-notification-card
) {
    background: var(--facenimal-theme-panel, #fff);
    border-color: var(--facenimal-theme-border, #e4e7ec);
    box-shadow: var(--facenimal-theme-shadow, 0 8px 24px rgba(16, 24, 40, 0.06));
    color: var(--facenimal-theme-text, #17212b);
}

body.facenimal-theme-dark :is(
    .facenimal-community-composer,
    .facenimal-profile-hero,
    .facenimal-marketplace-panel,
    .facenimal-marketplace-community-composer,
    .facenimal-chat-head,
    .facenimal-mobile-menu-wrap
),
body.facenimal-theme-system :is(
    .facenimal-community-composer,
    .facenimal-profile-hero,
    .facenimal-marketplace-panel,
    .facenimal-marketplace-community-composer,
    .facenimal-chat-head,
    .facenimal-mobile-menu-wrap
) {
    background: var(--facenimal-theme-panel-soft, #d8eef0);
    border-color: var(--facenimal-theme-border, #e4e7ec);
    color: var(--facenimal-theme-text, #17212b);
}

body.facenimal-theme-dark :is(
    a,
    .facenimal-profile-name,
    .facenimal-community-post-menu-item,
    .facenimal-mobile-menu-link,
    .facenimal-chat-thread-link
),
body.facenimal-theme-system :is(
    a,
    .facenimal-profile-name,
    .facenimal-community-post-menu-item,
    .facenimal-mobile-menu-link,
    .facenimal-chat-thread-link
) {
    color: var(--facenimal-theme-text, inherit);
}

body.facenimal-theme-dark :is(a:hover, a:focus),
body.facenimal-theme-system :is(a:hover, a:focus) {
    color: var(--facenimal-theme-accent, #006400);
}

body.facenimal-theme-dark :is(
    p,
    small,
    .facenimal-profile-empty,
    .facenimal-community-post-time,
    .facenimal-community-group-filter-description,
    .facenimal-marketplace-card-meta,
    .facenimal-notification-meta,
    .facenimal-chat-message-time
),
body.facenimal-theme-system :is(
    p,
    small,
    .facenimal-profile-empty,
    .facenimal-community-post-time,
    .facenimal-community-group-filter-description,
    .facenimal-marketplace-card-meta,
    .facenimal-notification-meta,
    .facenimal-chat-message-time
) {
    color: var(--facenimal-theme-muted, #667085);
}

/* Group filter ("Всички" + теми) — базовият текст е тъмно сив и изчезва на
   тъмен фон; дай му цвят от темата и адаптирай активното/hover състояние. */
body.facenimal-theme-dark .facenimal-community-group-filter,
body.facenimal-theme-system .facenimal-community-group-filter {
    color: var(--facenimal-theme-text, #17212b);
}

body.facenimal-theme-dark .facenimal-community-group-filter:hover,
body.facenimal-theme-dark .facenimal-community-group-filter.is-active,
body.facenimal-theme-system .facenimal-community-group-filter:hover,
body.facenimal-theme-system .facenimal-community-group-filter.is-active {
    background: var(--facenimal-theme-panel-soft, #ecfdf3);
    border-color: var(--facenimal-theme-accent, #8fd8a8);
    color: var(--facenimal-theme-accent, #006400);
}

body.facenimal-theme-dark .facenimal-community-group-filter:hover .facenimal-community-group-filter-description,
body.facenimal-theme-dark .facenimal-community-group-filter.is-active .facenimal-community-group-filter-description,
body.facenimal-theme-system .facenimal-community-group-filter:hover .facenimal-community-group-filter-description,
body.facenimal-theme-system .facenimal-community-group-filter.is-active .facenimal-community-group-filter-description {
    color: var(--facenimal-theme-accent, #006400);
}

/* The active-topic bar under the composer. It is a quiet surface in both
   themes on purpose — it reports state, it is not a call to action. */
body.facenimal-theme-dark .facenimal-community-active-group-row,
body.facenimal-theme-system .facenimal-community-active-group-row {
    background: var(--facenimal-theme-panel-strong, #f8fafc);
    border-color: var(--facenimal-theme-border, #e4e7ec);
}

body.facenimal-theme-dark .facenimal-community-active-group-prefix,
body.facenimal-theme-dark .facenimal-community-active-group-clear,
body.facenimal-theme-system .facenimal-community-active-group-prefix,
body.facenimal-theme-system .facenimal-community-active-group-clear {
    color: var(--facenimal-theme-muted, #667085);
}

body.facenimal-theme-dark .facenimal-community-active-group-value,
body.facenimal-theme-system .facenimal-community-active-group-value {
    color: var(--facenimal-theme-text, #17212b);
}

body.facenimal-theme-dark .facenimal-community-active-group-name:hover .facenimal-community-active-group-value,
body.facenimal-theme-dark .facenimal-community-active-group-name:focus-visible .facenimal-community-active-group-value,
body.facenimal-theme-dark .facenimal-community-active-group-clear:hover,
body.facenimal-theme-dark .facenimal-community-active-group-clear:focus,
body.facenimal-theme-system .facenimal-community-active-group-name:hover .facenimal-community-active-group-value,
body.facenimal-theme-system .facenimal-community-active-group-name:focus-visible .facenimal-community-active-group-value,
body.facenimal-theme-system .facenimal-community-active-group-clear:hover,
body.facenimal-theme-system .facenimal-community-active-group-clear:focus {
    color: var(--facenimal-theme-accent, #006400);
}

body.facenimal-theme-dark .facenimal-community-active-group-clear:hover,
body.facenimal-theme-dark .facenimal-community-active-group-clear:focus,
body.facenimal-theme-system .facenimal-community-active-group-clear:hover,
body.facenimal-theme-system .facenimal-community-active-group-clear:focus {
    background: var(--facenimal-theme-accent-soft);
}

body.facenimal-theme-dark .facenimal-is-confirming,
body.facenimal-theme-system .facenimal-is-confirming {
    background: var(--facenimal-theme-danger-soft) !important;
    color: var(--facenimal-theme-danger, #b42318) !important;
}

body.facenimal-theme-dark .facenimal-privacy-blocked-item,
body.facenimal-theme-system .facenimal-privacy-blocked-item {
    background: var(--facenimal-theme-panel-strong, #f8fafc);
    border-color: var(--facenimal-theme-border, #e4e7ec);
}

body.facenimal-theme-dark .facenimal-privacy-unblock,
body.facenimal-theme-system .facenimal-privacy-unblock {
    background: var(--facenimal-theme-panel, #fff);
    border-color: var(--facenimal-theme-border, #d0d5dd);
    color: var(--facenimal-theme-text, #344054);
}

body.facenimal-theme-dark .facenimal-privacy-unblock:hover,
body.facenimal-theme-dark .facenimal-privacy-unblock:focus,
body.facenimal-theme-system .facenimal-privacy-unblock:hover,
body.facenimal-theme-system .facenimal-privacy-unblock:focus {
    border-color: var(--facenimal-theme-accent, #8fd8a8);
    color: var(--facenimal-theme-accent, #006400);
}

/* Language and theme settings: the select stayed white on a dark page, and the
   save buttons had no state of their own so the theme's generic button hover
   flashed white mid-press. */
body.facenimal-theme-dark .facenimal-language-form select,
body.facenimal-theme-system .facenimal-language-form select {
    background: var(--facenimal-theme-panel, #fff);
    border-color: var(--facenimal-theme-border, #d0d5dd);
    color: var(--facenimal-theme-text, #17212b);
}

body.facenimal-theme-dark .facenimal-language-form label,
body.facenimal-theme-system .facenimal-language-form label {
    color: var(--facenimal-theme-muted, #344054);
}

body.facenimal-theme-dark :is(
    .facenimal-language-form button,
    .facenimal-profile-primary,
    .facenimal-marketplace-submit,
    .facenimal-community-submit
):is(:hover, :focus, :active),
body.facenimal-theme-system :is(
    .facenimal-language-form button,
    .facenimal-profile-primary,
    .facenimal-marketplace-submit,
    .facenimal-community-submit
):is(:hover, :focus, :active) {
    background: var(--facenimal-theme-accent, #024d02);
    border-color: var(--facenimal-theme-accent, #024d02);
    color: var(--facenimal-theme-page, #fff) !important;
}

body.facenimal-theme-dark .facenimal-profile-filter-clear,
body.facenimal-theme-system .facenimal-profile-filter-clear {
    background: var(--facenimal-theme-panel-strong, #f8fafc);
    border-color: var(--facenimal-theme-border, #e4e7ec);
    color: var(--facenimal-theme-muted, #667085);
}

body.facenimal-theme-dark .facenimal-profile-filter-clear:hover,
body.facenimal-theme-dark .facenimal-profile-filter-clear:focus,
body.facenimal-theme-system .facenimal-profile-filter-clear:hover,
body.facenimal-theme-system .facenimal-profile-filter-clear:focus {
    border-color: var(--facenimal-theme-accent, #8fd8a8);
    color: var(--facenimal-theme-accent, #006400);
}

/* Modal close button (×) — светъл фон/тъмен знак, чужд на тъмната тема.
   Включени и ID-скоупнатите post-modal варианти (по-висока специфичност). */
body.facenimal-theme-dark .facenimal-community-modal-close,
body.facenimal-theme-system .facenimal-community-modal-close,
body.facenimal-theme-dark #facenimal-community-post-modal .facenimal-community-modal-close,
body.facenimal-theme-dark #facenimal-profile-post-modal .facenimal-community-modal-close,
body.facenimal-theme-system #facenimal-community-post-modal .facenimal-community-modal-close,
body.facenimal-theme-system #facenimal-profile-post-modal .facenimal-community-modal-close {
    background: var(--facenimal-theme-panel-strong, #f8fafc);
    border-color: var(--facenimal-theme-border, #e4e7ec);
    color: var(--facenimal-theme-text, #344054);
}

body.facenimal-theme-dark .facenimal-community-modal-close:hover,
body.facenimal-theme-system .facenimal-community-modal-close:hover,
body.facenimal-theme-dark #facenimal-community-post-modal .facenimal-community-modal-close:hover,
body.facenimal-theme-dark #facenimal-profile-post-modal .facenimal-community-modal-close:hover,
body.facenimal-theme-system #facenimal-community-post-modal .facenimal-community-modal-close:hover,
body.facenimal-theme-system #facenimal-profile-post-modal .facenimal-community-modal-close:hover {
    background: var(--facenimal-theme-panel-soft, #ecfdf3);
    border-color: var(--facenimal-theme-accent, #8fd8a8);
    color: var(--facenimal-theme-accent, #006400);
}

/* Linked / shared marketplace listing card inside a post — бяла карта с тъмен
   текст, чужда на тъмната тема. */
body.facenimal-theme-dark .facenimal-community-linked-listing,
body.facenimal-theme-dark .facenimal-community-shared-listing,
body.facenimal-theme-system .facenimal-community-linked-listing,
body.facenimal-theme-system .facenimal-community-shared-listing {
    background: var(--facenimal-theme-panel-strong, #ffffff);
    border: 1px solid var(--facenimal-theme-border, transparent);
    color: var(--facenimal-theme-text, #17212b);
}

body.facenimal-theme-dark .facenimal-community-linked-listing:hover,
body.facenimal-theme-dark .facenimal-community-linked-listing:focus,
body.facenimal-theme-dark .facenimal-community-shared-listing:hover,
body.facenimal-theme-dark .facenimal-community-shared-listing:focus,
body.facenimal-theme-system .facenimal-community-linked-listing:hover,
body.facenimal-theme-system .facenimal-community-linked-listing:focus,
body.facenimal-theme-system .facenimal-community-shared-listing:hover,
body.facenimal-theme-system .facenimal-community-shared-listing:focus {
    border-color: var(--facenimal-theme-accent, #8fd8a8);
    color: var(--facenimal-theme-accent, #006400);
}

body.facenimal-theme-dark .facenimal-community-linked-listing-media,
body.facenimal-theme-dark .facenimal-community-shared-listing-image,
body.facenimal-theme-system .facenimal-community-linked-listing-media,
body.facenimal-theme-system .facenimal-community-shared-listing-image {
    background: var(--facenimal-theme-panel, #eef4f0);
}

body.facenimal-theme-dark .facenimal-community-linked-listing-label,
body.facenimal-theme-dark .facenimal-community-linked-listing-price,
body.facenimal-theme-dark .facenimal-community-shared-listing-body em,
body.facenimal-theme-system .facenimal-community-linked-listing-label,
body.facenimal-theme-system .facenimal-community-linked-listing-price,
body.facenimal-theme-system .facenimal-community-shared-listing-body em {
    color: var(--facenimal-theme-accent, #006400);
}

body.facenimal-theme-dark .facenimal-community-linked-listing-meta span:not(:last-child)::after,
body.facenimal-theme-system .facenimal-community-linked-listing-meta span:not(:last-child)::after {
    color: var(--facenimal-theme-muted, #98a2b3);
}

/* ===== Dark-theme component fixes (CSS audit batch) ===== */

/* Toggles/labels that hardcode near-black or dark-gray text. */
body.facenimal-theme-dark .facenimal-community-comment-menu-toggle,
body.facenimal-theme-system .facenimal-community-comment-menu-toggle,
body.facenimal-theme-dark .facenimal-chat-view-menu summary,
body.facenimal-theme-system .facenimal-chat-view-menu summary,
body.facenimal-theme-dark .facenimal-community-field-label,
body.facenimal-theme-system .facenimal-community-field-label {
    color: var(--facenimal-theme-text, #344054);
}

/* Post-composer modal panel + textarea (mobile #id out-specifies theme). */
body.facenimal-theme-dark #facenimal-community-post-modal .facenimal-community-modal-panel,
body.facenimal-theme-dark #facenimal-profile-post-modal .facenimal-community-modal-panel,
body.facenimal-theme-system #facenimal-community-post-modal .facenimal-community-modal-panel,
body.facenimal-theme-system #facenimal-profile-post-modal .facenimal-community-modal-panel {
    background: var(--facenimal-theme-panel, #ffffff);
}

body.facenimal-theme-dark #facenimal-community-post-modal .facenimal-community-post-textarea,
body.facenimal-theme-dark #facenimal-profile-post-modal .facenimal-community-post-textarea,
body.facenimal-theme-system #facenimal-community-post-modal .facenimal-community-post-textarea,
body.facenimal-theme-system #facenimal-profile-post-modal .facenimal-community-post-textarea {
    background: var(--facenimal-theme-panel-strong, #f8fafc);
    color: var(--facenimal-theme-text, #17212b);
}

/* Group-filter chip inside the mobile groups modal (light gray bg). */
body.facenimal-theme-dark .facenimal-community-mobile-groups-modal .facenimal-community-group-filter,
body.facenimal-theme-system .facenimal-community-mobile-groups-modal .facenimal-community-group-filter {
    background: var(--facenimal-theme-panel-strong, #f8fafc);
    border-color: var(--facenimal-theme-border, #e4e7ec);
}

/* Mint pill buttons in the post-composer modal. */
body.facenimal-theme-dark #facenimal-community-post-modal .facenimal-community-photo-button,
body.facenimal-theme-dark #facenimal-community-post-modal .facenimal-community-group-select-button,
body.facenimal-theme-dark #facenimal-profile-post-modal .facenimal-community-photo-button,
body.facenimal-theme-dark #facenimal-profile-post-modal .facenimal-community-group-select-button,
body.facenimal-theme-system #facenimal-community-post-modal .facenimal-community-photo-button,
body.facenimal-theme-system #facenimal-community-post-modal .facenimal-community-group-select-button,
body.facenimal-theme-system #facenimal-profile-post-modal .facenimal-community-photo-button,
body.facenimal-theme-system #facenimal-profile-post-modal .facenimal-community-group-select-button {
    background: var(--facenimal-theme-panel-soft, #ecfdf3);
    border-color: var(--facenimal-theme-accent, #8fd8a8);
    color: var(--facenimal-theme-accent, #006400);
}

/* Empty-state + badge greens (low contrast on dark). */
body.facenimal-theme-dark .facenimal-community-groups-empty,
body.facenimal-theme-system .facenimal-community-groups-empty {
    color: var(--facenimal-theme-muted, #667085);
}

body.facenimal-theme-dark .facenimal-verified-badge,
body.facenimal-theme-system .facenimal-verified-badge,
body.facenimal-theme-dark .facenimal-community-group-badge,
body.facenimal-theme-dark .facenimal-community-group-badge:hover,
body.facenimal-theme-system .facenimal-community-group-badge,
body.facenimal-theme-system .facenimal-community-group-badge:hover {
    color: var(--facenimal-theme-accent, #006400);
}

/* Divider lines. */
body.facenimal-theme-dark .facenimal-community-composer-form,
body.facenimal-theme-system .facenimal-community-composer-form {
    border-top-color: var(--facenimal-theme-border, #eef2f6);
}

body.facenimal-theme-dark #facenimal-community-post-modal .facenimal-community-modal-head,
body.facenimal-theme-dark #facenimal-profile-post-modal .facenimal-community-modal-head,
body.facenimal-theme-system #facenimal-community-post-modal .facenimal-community-modal-head,
body.facenimal-theme-system #facenimal-profile-post-modal .facenimal-community-modal-head {
    border-bottom-color: var(--facenimal-theme-border, #e4e7ec);
}

/* Composer notifications bell. */
body.facenimal-theme-dark .facenimal-community-composer-bell,
body.facenimal-theme-system .facenimal-community-composer-bell {
    color: var(--facenimal-theme-text, #000);
}

body.facenimal-theme-dark .facenimal-community-composer-bell:hover,
body.facenimal-theme-dark .facenimal-community-composer-bell:focus,
body.facenimal-theme-system .facenimal-community-composer-bell:hover,
body.facenimal-theme-system .facenimal-community-composer-bell:focus {
    background: var(--facenimal-theme-panel-soft, #ecfdf3);
    border-color: var(--facenimal-theme-accent, #8fd8a8);
    color: var(--facenimal-theme-accent, #006400);
}

body.facenimal-theme-dark .facenimal-community-composer-bell .facenimal-profile-notification-badge,
body.facenimal-theme-system .facenimal-community-composer-bell .facenimal-profile-notification-badge {
    border-color: var(--facenimal-theme-panel, #ffffff);
}

/* Group-filter chip background on tablet (matches the light responsive rule). */
@media (max-width: 1080px) {
    body.facenimal-theme-dark .facenimal-community-group-filter,
    body.facenimal-theme-system .facenimal-community-group-filter {
        background: var(--facenimal-theme-panel-strong, #f8fafc);
        border-color: var(--facenimal-theme-border, #e4e7ec);
    }
}

body.facenimal-theme-dark :is(
    input,
    select,
    textarea,
    .facenimal-community-comment-input,
    .facenimal-auth-input
),
body.facenimal-theme-system :is(
    input,
    select,
    textarea,
    .facenimal-community-comment-input,
    .facenimal-auth-input
) {
    /* `.facenimal-marketplace-field` used to be in these two lists, beside
       `input` and `textarea`. It is not an input — it is the <label> wrapping
       one, together with the caption above it — so every caption on the listing
       form sat on its own dark band the width of the column, which read as a
       second, empty field. The inputs inside it are styled further down, where
       they belong. */
    background: var(--facenimal-theme-page, #fff);
    border-color: var(--facenimal-theme-border, #d0d5dd);
    color: var(--facenimal-theme-text, #101828);
}

body.facenimal-theme-dark :is(input, select, textarea)::placeholder,
body.facenimal-theme-system :is(input, select, textarea)::placeholder {
    color: var(--facenimal-theme-muted, #667085);
}

body.facenimal-theme-dark :is(
    button,
    .facenimal-follow-button,
    .facenimal-community-composer-quick-photo,
    .facenimal-community-composer-groups-toggle,
    .facenimal-community-composer-listings-link,
    .facenimal-profile-title-bell,
    .facenimal-community-post-menu-toggle
),
body.facenimal-theme-system :is(
    button,
    .facenimal-follow-button,
    .facenimal-community-composer-quick-photo,
    .facenimal-community-composer-groups-toggle,
    .facenimal-community-composer-listings-link,
    .facenimal-profile-title-bell,
    .facenimal-community-post-menu-toggle
) {
    color: var(--facenimal-theme-text, inherit);
}

body.facenimal-theme-dark :is(
    .facenimal-language-form button,
    .facenimal-profile-primary,
    .facenimal-marketplace-submit,
    .facenimal-community-submit
),
body.facenimal-theme-system :is(
    .facenimal-language-form button,
    .facenimal-profile-primary,
    .facenimal-marketplace-submit,
    .facenimal-community-submit
) {
    background: var(--facenimal-theme-accent-strong, #006400);
    border-color: var(--facenimal-theme-accent-strong, #006400);
    color: var(--facenimal-theme-page, #fff) !important;
}

body.facenimal-theme-dark :is(
    .facenimal-community-post-menu-item:hover,
    .facenimal-community-post-menu-item:focus,
    .facenimal-community-post-menu-item.is-active,
    .facenimal-follow-button:hover,
    .facenimal-follow-button:focus,
    .facenimal-follow-button.is-following
),
body.facenimal-theme-system :is(
    .facenimal-community-post-menu-item:hover,
    .facenimal-community-post-menu-item:focus,
    .facenimal-community-post-menu-item.is-active,
    .facenimal-follow-button:hover,
    .facenimal-follow-button:focus,
    .facenimal-follow-button.is-following
) {
    background: var(--facenimal-theme-accent-soft);
    border-color: var(--facenimal-theme-accent, #8fd8a8);
    color: var(--facenimal-theme-accent, #006400);
}

body.facenimal-theme-dark :is(
    .facenimal-community-post-actions,
    .facenimal-community-comment,
    .facenimal-marketplace-contact-list,
    .facenimal-profile-stats,
    .facenimal-theme-settings
),
body.facenimal-theme-system :is(
    .facenimal-community-post-actions,
    .facenimal-community-comment,
    .facenimal-marketplace-contact-list,
    .facenimal-profile-stats,
    .facenimal-theme-settings
) {
    border-color: var(--facenimal-theme-border, #e4e7ec);
}

.facenimal-theme-settings {
    border-top: 1px solid #e4e7ec;
    display: grid;
    gap: 10px;
    margin-top: 18px;
    padding-top: 18px;
}

.facenimal-theme-settings h4,
.facenimal-theme-settings p {
    margin: 0;
}

.facenimal-theme-choice-grid {
    display: grid;
    gap: 8px;
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

.facenimal-theme-choice {
    align-items: center;
    background: var(--facenimal-theme-panel, #fff);
    border: 1px solid var(--facenimal-theme-border, #d0d5dd);
    border-radius: 12px;
    color: var(--facenimal-theme-text, #17212b);
    cursor: pointer;
    display: inline-flex;
    font-size: 13px;
    font-weight: 800;
    gap: 8px;
    min-height: 42px;
    padding: 0 12px;
}

.facenimal-theme-choice input {
    accent-color: #006400;
}

.facenimal-theme-choice.is-active {
    background: rgba(143, 216, 168, .14);
    border-color: #8fd8a8;
    color: #006400;
}

.facenimal-theme-form-settings {
    display: grid;
    gap: 12px;
}

@media (max-width: 560px) {
    .facenimal-theme-choice-grid {
        grid-template-columns: 1fr;
    }
}

body.facenimal-theme-dark :is(
    .site-header,
    .main-navigation,
    .main-navigation ul ul,
    .separate-containers .inside-article,
    .separate-containers .comments-area,
    .one-container .container
),
body.facenimal-theme-system :is(
    .site-header,
    .main-navigation,
    .main-navigation ul ul,
    .separate-containers .inside-article,
    .separate-containers .comments-area,
    .one-container .container
) {
    background: var(--facenimal-theme-page, inherit);
    color: var(--facenimal-theme-text, inherit);
}

body.facenimal-theme-dark :is(
    .main-navigation .main-nav ul li a,
    .main-navigation .menu-toggle,
    .main-navigation .menu-bar-items
),
body.facenimal-theme-system :is(
    .main-navigation .main-nav ul li a,
    .main-navigation .menu-toggle,
    .main-navigation .menu-bar-items
) {
    color: var(--facenimal-theme-text, inherit);
}

body.facenimal-theme-dark :is(
    .facenimal-auth,
    .facenimal-marketplace-single,
    .facenimal-help-page,
    .facenimal-chat-shell
),
body.facenimal-theme-system :is(
    .facenimal-auth,
    .facenimal-marketplace-single,
    .facenimal-help-page,
    .facenimal-chat-shell
) {
    color: var(--facenimal-theme-text, #17212b);
}

body.facenimal-theme-dark :is(
    .facenimal-auth-panel,
    .facenimal-chat-shell,
    .facenimal-marketplace-single-panel,
    .facenimal-marketplace-panel-shell,
    .facenimal-boost-checkout-card,
    .facenimal-help-panel-shell,
    .facenimal-profile-post,
    .facenimal-profile-group-card,
    .facenimal-profile-following-card,
    .facenimal-profile-listing,
    .facenimal-community-groups-panel,
    .facenimal-community-right-panel,
    .facenimal-location-results,
    .facenimal-community-reaction-picker,
    .facenimal-community-share-modal,
    .facenimal-community-save-modal
),
body.facenimal-theme-system :is(
    .facenimal-auth-panel,
    .facenimal-chat-shell,
    .facenimal-marketplace-single-panel,
    .facenimal-marketplace-panel-shell,
    .facenimal-boost-checkout-card,
    .facenimal-help-panel-shell,
    .facenimal-profile-post,
    .facenimal-profile-group-card,
    .facenimal-profile-following-card,
    .facenimal-profile-listing,
    .facenimal-community-groups-panel,
    .facenimal-community-right-panel,
    .facenimal-location-results,
    .facenimal-community-reaction-picker,
    .facenimal-community-share-modal,
    .facenimal-community-save-modal
) {
    background: var(--facenimal-theme-panel, #fff);
    border-color: var(--facenimal-theme-border, #e4e7ec);
    color: var(--facenimal-theme-text, #17212b);
}

body.facenimal-theme-dark :is(
    .facenimal-chat-inbox,
    .facenimal-chat-messages,
    .facenimal-chat-panel,
    .facenimal-chat-mobile-head,
    .facenimal-marketplace-card-media,
    .facenimal-marketplace-empty,
    .facenimal-boost-checkout,
    .facenimal-community-comments-form,
    .facenimal-community-comment-input-wrap,
    .facenimal-community-photo-preview,
    .facenimal-profile-listing-image,
    .facenimal-marketplace-meta span,
    .facenimal-marketplace-status,
    .facenimal-profile-listing-price-type,
    .facenimal-profile-filter-select,
    .facenimal-profile-filter-search,
    .facenimal-community-group-filter-row,
    .facenimal-community-groups-mobile-toggle
),
body.facenimal-theme-system :is(
    .facenimal-chat-inbox,
    .facenimal-chat-messages,
    .facenimal-chat-panel,
    .facenimal-chat-mobile-head,
    .facenimal-marketplace-card-media,
    .facenimal-marketplace-empty,
    .facenimal-boost-checkout,
    .facenimal-community-comments-form,
    .facenimal-community-comment-input-wrap,
    .facenimal-community-photo-preview,
    .facenimal-profile-listing-image,
    .facenimal-marketplace-meta span,
    .facenimal-marketplace-status,
    .facenimal-profile-listing-price-type,
    .facenimal-profile-filter-select,
    .facenimal-profile-filter-search,
    .facenimal-community-group-filter-row,
    .facenimal-community-groups-mobile-toggle
) {
    background: var(--facenimal-theme-panel-strong, #f8fafc);
    border-color: var(--facenimal-theme-border, #e4e7ec);
    color: var(--facenimal-theme-text, #17212b);
}

body.facenimal-theme-dark :is(
    .facenimal-chat-form,
    .facenimal-community-comment-input-wrap,
    .facenimal-community-report-modal-panel,
    .facenimal-marketplace-form-page .facenimal-marketplace-panel
),
body.facenimal-theme-system :is(
    .facenimal-chat-form,
    .facenimal-community-comment-input-wrap,
    .facenimal-community-report-modal-panel,
    .facenimal-marketplace-form-page .facenimal-marketplace-panel
) {
    background: var(--facenimal-theme-panel-soft, #d8eef0);
    border-color: var(--facenimal-theme-border, #d0d5dd);
}

body.facenimal-theme-dark :is(
    .facenimal-auth-head h2,
    .facenimal-help-panel h2,
    .facenimal-profile-panel-head h3,
    .facenimal-profile-following-section h4,
    .facenimal-profile-group strong,
    .facenimal-profile-listing strong,
    .facenimal-profile-following-main strong,
    .facenimal-marketplace-panel-head :is(h1, h2),
    .facenimal-marketplace-card h3,
    .facenimal-boost-checkout-card h1,
    .facenimal-boost-checkout-card dd,
    .facenimal-boost-checkout-plan strong,
    .facenimal-notification-message,
    .facenimal-community-groups-title,
    .facenimal-community-post-author strong,
    .facenimal-community-post-content,
    .facenimal-community-comment-author
),
body.facenimal-theme-system :is(
    .facenimal-auth-head h2,
    .facenimal-help-panel h2,
    .facenimal-profile-panel-head h3,
    .facenimal-profile-following-section h4,
    .facenimal-profile-group strong,
    .facenimal-profile-listing strong,
    .facenimal-profile-following-main strong,
    .facenimal-marketplace-panel-head :is(h1, h2),
    .facenimal-marketplace-card h3,
    .facenimal-boost-checkout-card h1,
    .facenimal-boost-checkout-card dd,
    .facenimal-boost-checkout-plan strong,
    .facenimal-notification-message,
    .facenimal-community-groups-title,
    .facenimal-community-post-author strong,
    .facenimal-community-post-content,
    .facenimal-community-comment-author
) {
    color: var(--facenimal-theme-text, #101828);
}

body.facenimal-theme-dark :is(
    .facenimal-auth-head p,
    .facenimal-auth-form label,
    .facenimal-auth-alt,
    .facenimal-auth-social-divider,
    .facenimal-auth-terms,
    .facenimal-auth-terms-intro,
    .facenimal-help-contact-form span,
    .facenimal-help-links small,
    .facenimal-profile-meta,
    .facenimal-profile-group small,
    .facenimal-profile-listing small,
    .facenimal-profile-following-main small,
    .facenimal-profile-listing-meta > span,
    .facenimal-profile-listing-category a,
    .facenimal-marketplace-meta,
    .facenimal-marketplace-card p,
    .facenimal-marketplace-empty,
    .facenimal-marketplace-near-me-status,
    .facenimal-location-hint,
    .facenimal-location-result.is-empty,
    .facenimal-boost-checkout-card dt,
    .facenimal-notification-settings-row.is-head,
    .facenimal-notification-settings-type,
    .facenimal-notification-choice,
    .facenimal-chat-head small,
    .facenimal-chat-thread small,
    .facenimal-chat-empty
),
body.facenimal-theme-system :is(
    .facenimal-auth-head p,
    .facenimal-auth-form label,
    .facenimal-auth-alt,
    .facenimal-auth-social-divider,
    .facenimal-auth-terms,
    .facenimal-auth-terms-intro,
    .facenimal-help-contact-form span,
    .facenimal-help-links small,
    .facenimal-profile-meta,
    .facenimal-profile-group small,
    .facenimal-profile-listing small,
    .facenimal-profile-following-main small,
    .facenimal-profile-listing-meta > span,
    .facenimal-profile-listing-category a,
    .facenimal-marketplace-meta,
    .facenimal-marketplace-card p,
    .facenimal-marketplace-empty,
    .facenimal-marketplace-near-me-status,
    .facenimal-location-hint,
    .facenimal-location-result.is-empty,
    .facenimal-boost-checkout-card dt,
    .facenimal-notification-settings-row.is-head,
    .facenimal-notification-settings-type,
    .facenimal-notification-choice,
    .facenimal-chat-head small,
    .facenimal-chat-thread small,
    .facenimal-chat-empty
) {
    color: var(--facenimal-theme-muted, #667085);
}

body.facenimal-theme-dark :is(
    .facenimal-auth-form input,
    .facenimal-auth-form select,
    .facenimal-help-contact-form input,
    .facenimal-help-contact-form textarea,
    .facenimal-marketplace-field input,
    .facenimal-marketplace-field select,
    .facenimal-marketplace-field textarea,
    .facenimal-marketplace-filters input,
    .facenimal-marketplace-filters select,
    .facenimal-community-group-input,
    .facenimal-community-group-textarea,
    .facenimal-community-select,
    .facenimal-chat-input
),
body.facenimal-theme-system :is(
    .facenimal-auth-form input,
    .facenimal-auth-form select,
    .facenimal-help-contact-form input,
    .facenimal-help-contact-form textarea,
    .facenimal-marketplace-field input,
    .facenimal-marketplace-field select,
    .facenimal-marketplace-field textarea,
    .facenimal-marketplace-filters input,
    .facenimal-marketplace-filters select,
    .facenimal-community-group-input,
    .facenimal-community-group-textarea,
    .facenimal-community-select,
    .facenimal-chat-input
) {
    background: var(--facenimal-theme-page, #fff);
    border-color: var(--facenimal-theme-border, #d0d5dd);
    color: var(--facenimal-theme-text, #101828);
}

body.facenimal-theme-dark :is(
    .facenimal-auth-form input:focus,
    .facenimal-auth-form select:focus,
    .facenimal-help-contact-form input:focus,
    .facenimal-help-contact-form textarea:focus,
    .facenimal-marketplace-field input:focus,
    .facenimal-marketplace-field select:focus,
    .facenimal-marketplace-field textarea:focus,
    .facenimal-marketplace-filters input:focus,
    .facenimal-marketplace-filters select:focus,
    .facenimal-profile-filter-select:focus,
    .facenimal-profile-filter-search:focus,
    .facenimal-community-group-search:focus
),
body.facenimal-theme-system :is(
    .facenimal-auth-form input:focus,
    .facenimal-auth-form select:focus,
    .facenimal-help-contact-form input:focus,
    .facenimal-help-contact-form textarea:focus,
    .facenimal-marketplace-field input:focus,
    .facenimal-marketplace-field select:focus,
    .facenimal-marketplace-field textarea:focus,
    .facenimal-marketplace-filters input:focus,
    .facenimal-profile-filter-select:focus,
    .facenimal-profile-filter-search:focus,
    .facenimal-community-group-search:focus
) {
    background: var(--facenimal-theme-panel, #fff);
    border-color: var(--facenimal-theme-accent, #8fd8a8);
    box-shadow: 0 0 0 3px var(--facenimal-theme-accent-ring);
}

body.facenimal-theme-dark :is(
    .facenimal-help-links a,
    .facenimal-location-result,
    .facenimal-notification-icon,
    .facenimal-notification-settings-row.is-head,
    .facenimal-notification-toggle span[aria-hidden="true"],
    .facenimal-notification-choice-switch,
    .facenimal-chat-view-tabs,
    .facenimal-chat-thread-action button,
    .facenimal-chat-mobile-close,
    .facenimal-boost-checkout-plan
),
body.facenimal-theme-system :is(
    .facenimal-help-links a,
    .facenimal-location-result,
    .facenimal-notification-icon,
    .facenimal-notification-settings-row.is-head,
    .facenimal-notification-toggle span[aria-hidden="true"],
    .facenimal-notification-choice-switch,
    .facenimal-chat-view-tabs,
    .facenimal-chat-thread-action button,
    .facenimal-chat-mobile-close,
    .facenimal-boost-checkout-plan
) {
    background: var(--facenimal-theme-panel-strong, #f8fafc);
    border-color: var(--facenimal-theme-border, #e4e7ec);
    color: var(--facenimal-theme-text, #17212b);
}

body.facenimal-theme-dark :is(
    .facenimal-help-links a:hover,
    .facenimal-help-links a:focus,
    .facenimal-location-result:hover,
    .facenimal-location-result:focus,
    .facenimal-notification-item.is-unread,
    .facenimal-notification-item:hover,
    .facenimal-notification-item:focus-within,
    .facenimal-notification-load-more,
    .facenimal-notification-toggle input:checked + span[aria-hidden="true"],
    .facenimal-notification-choice input:checked + .facenimal-notification-choice-switch,
    .facenimal-marketplace-filters button[type="button"],
    .facenimal-marketplace-boost-button,
    .facenimal-marketplace-sponsored-badge,
    .facenimal-boost-checkout-plan:hover,
    .facenimal-boost-checkout-plan:focus-within,
    .facenimal-boost-checkout-plan:has(input:checked),
    .facenimal-boost-checkout-plan.is-selected,
    .facenimal-chat-thread-row:hover,
    .facenimal-chat-thread-row:focus-within,
    .facenimal-chat-thread-row.is-active,
    .facenimal-chat-message.is-mine div
),
body.facenimal-theme-system :is(
    .facenimal-help-links a:hover,
    .facenimal-help-links a:focus,
    .facenimal-location-result:hover,
    .facenimal-location-result:focus,
    .facenimal-notification-item.is-unread,
    .facenimal-notification-item:hover,
    .facenimal-notification-item:focus-within,
    .facenimal-notification-load-more,
    .facenimal-notification-toggle input:checked + span[aria-hidden="true"],
    .facenimal-notification-choice input:checked + .facenimal-notification-choice-switch,
    .facenimal-marketplace-filters button[type="button"],
    .facenimal-marketplace-boost-button,
    .facenimal-marketplace-sponsored-badge,
    .facenimal-boost-checkout-plan:hover,
    .facenimal-boost-checkout-plan:focus-within,
    .facenimal-boost-checkout-plan:has(input:checked),
    .facenimal-boost-checkout-plan.is-selected,
    .facenimal-chat-thread-row:hover,
    .facenimal-chat-thread-row:focus-within,
    .facenimal-chat-thread-row.is-active,
    .facenimal-chat-message.is-mine div
) {
    background: var(--facenimal-theme-accent-soft);
    border-color: var(--facenimal-theme-accent, #8fd8a8);
    color: var(--facenimal-theme-accent, #006400);
}

body.facenimal-theme-dark .facenimal-chat-message div,
body.facenimal-theme-system .facenimal-chat-message div {
    background: var(--facenimal-theme-panel-strong, #f2f4f7);
    border-color: var(--facenimal-theme-border, #e4e7ec);
}

body.facenimal-theme-dark :is(
    .facenimal-auth-notice.is-error,
    .facenimal-help-notice.is-error,
    .facenimal-marketplace-notice.is-error,
    .facenimal-profile-settings-notice.is-error,
    .facenimal-marketplace-near-me-status.is-error,
    .facenimal-chat-thread-action button,
    .facenimal-profile-action.is-danger
),
body.facenimal-theme-system :is(
    .facenimal-auth-notice.is-error,
    .facenimal-help-notice.is-error,
    .facenimal-marketplace-notice.is-error,
    .facenimal-profile-settings-notice.is-error,
    .facenimal-marketplace-near-me-status.is-error,
    .facenimal-chat-thread-action button,
    .facenimal-profile-action.is-danger
) {
    background: var(--facenimal-theme-danger-soft);
    border-color: var(--facenimal-theme-danger-line);
    color: var(--facenimal-theme-danger, #b42318);
}

body.facenimal-theme-dark :is(
    .facenimal-auth-notice.is-success,
    .facenimal-help-notice.is-success,
    .facenimal-marketplace-notice.is-success,
    .facenimal-profile-settings-notice.is-success,
    .facenimal-profile-listing-status,
    .facenimal-profile-group-fallback,
    .facenimal-boost-result-card.is-success .facenimal-boost-result-icon
),
body.facenimal-theme-system :is(
    .facenimal-auth-notice.is-success,
    .facenimal-help-notice.is-success,
    .facenimal-marketplace-notice.is-success,
    .facenimal-profile-settings-notice.is-success,
    .facenimal-profile-listing-status,
    .facenimal-profile-group-fallback,
    .facenimal-boost-result-card.is-success .facenimal-boost-result-icon
) {
    background: var(--facenimal-theme-accent-soft);
    border-color: var(--facenimal-theme-accent, #8fd8a8);
    color: var(--facenimal-theme-accent, #006400);
}

body.facenimal-theme-dark :is(
    .facenimal-marketplace-card-head strong,
    .facenimal-marketplace-status,
    .facenimal-marketplace-filter-toggle svg,
    .facenimal-marketplace-notifications-link:hover,
    .facenimal-marketplace-notifications-link:focus,
    .facenimal-notification-read-form button,
    .facenimal-notification-icon,
    .facenimal-profile-listing-price,
    .facenimal-profile-listing-category a:hover,
    .facenimal-profile-listing-category a:focus,
    .facenimal-profile-panel-head a,
    .facenimal-auth-alt a,
    .facenimal-auth-terms a
),
body.facenimal-theme-system :is(
    .facenimal-marketplace-card-head strong,
    .facenimal-marketplace-status,
    .facenimal-marketplace-filter-toggle svg,
    .facenimal-marketplace-notifications-link:hover,
    .facenimal-marketplace-notifications-link:focus,
    .facenimal-notification-read-form button,
    .facenimal-notification-icon,
    .facenimal-profile-listing-price,
    .facenimal-profile-listing-category a:hover,
    .facenimal-profile-listing-category a:focus,
    .facenimal-profile-panel-head a,
    .facenimal-auth-alt a,
    .facenimal-auth-terms a
) {
    color: var(--facenimal-theme-accent, #006400);
}

body.facenimal-theme-dark .facenimal-profile-panel-head a,
body.facenimal-theme-system .facenimal-profile-panel-head a {
    background: var(--facenimal-theme-panel-strong, #d8eef0);
    border: 1px solid var(--facenimal-theme-border, #e4e7ec);
    box-shadow: var(--facenimal-theme-shadow, 0 8px 24px rgba(16, 24, 40, .06));
}

body.facenimal-theme-dark .facenimal-profile-panel-head a:hover,
body.facenimal-theme-dark .facenimal-profile-panel-head a:focus,
body.facenimal-theme-system .facenimal-profile-panel-head a:hover,
body.facenimal-theme-system .facenimal-profile-panel-head a:focus {
    background: var(--facenimal-theme-accent-soft);
    border-color: var(--facenimal-theme-accent, #8fd8a8);
    color: var(--facenimal-theme-accent, #006400);
}

body.facenimal-theme-dark :is(
    .facenimal-notification-settings-table,
    .facenimal-notification-settings-row,
    .facenimal-notification-choice-list,
    .facenimal-chat-thread-row,
    .facenimal-community-group-form,
    .facenimal-community-modal-head,
    .facenimal-chat-mobile-head
),
body.facenimal-theme-system :is(
    .facenimal-notification-settings-table,
    .facenimal-notification-settings-row,
    .facenimal-notification-choice-list,
    .facenimal-chat-thread-row,
    .facenimal-community-group-form,
    .facenimal-community-modal-head,
    .facenimal-chat-mobile-head
) {
    border-color: var(--facenimal-theme-border, #e4e7ec);
}

body.facenimal-theme-dark .facenimal-auth-social-divider::before,
body.facenimal-theme-dark .facenimal-auth-social-divider::after,
body.facenimal-theme-system .facenimal-auth-social-divider::before,
body.facenimal-theme-system .facenimal-auth-social-divider::after {
    background: var(--facenimal-theme-border, #e4e7ec);
}

body.facenimal-theme-dark :is(
    .facenimal-notifications-shortcode-count,
    .facenimal-profile-notification-badge,
    .facenimal-marketplace-notifications-link .facenimal-profile-notification-badge
),
body.facenimal-theme-system :is(
    .facenimal-notifications-shortcode-count,
    .facenimal-profile-notification-badge,
    .facenimal-marketplace-notifications-link .facenimal-profile-notification-badge
) {
    border-color: var(--facenimal-theme-panel, #fff);
}

body.facenimal-theme-dark .fn-google-login-btn,
body.facenimal-theme-system .fn-google-login-btn {
    background: var(--facenimal-theme-panel-strong, #fff) !important;
    border-color: var(--facenimal-theme-border, #101828);
    color: var(--facenimal-theme-text, #101828);
}

body.facenimal-theme-dark .facenimal-mobile-menu-dropdown,
body.facenimal-theme-system .facenimal-mobile-menu-dropdown {
    background: var(--facenimal-theme-panel, #fff) !important;
    border-color: var(--facenimal-theme-border, #e4e7ec) !important;
    color: var(--facenimal-theme-text, #17212b);
}

body.facenimal-theme-dark .facenimal-mobile-menu-link.is-active,
body.facenimal-theme-system .facenimal-mobile-menu-link.is-active {
    background: var(--facenimal-theme-accent-soft);
    color: var(--facenimal-theme-accent, #006400) !important;
}

body.facenimal-theme-dark .custom-mobile-menu.facenimal-mobile-menu,
body.facenimal-theme-system .custom-mobile-menu.facenimal-mobile-menu {
    background: var(--facenimal-theme-panel-soft, #ecfdf3);
    border-color: var(--facenimal-theme-border, #13214b);
    box-shadow: none;
}

body.facenimal-theme-dark .custom-mobile-menu.facenimal-mobile-menu,
body.facenimal-theme-system .custom-mobile-menu.facenimal-mobile-menu {
    background: var(--facenimal-theme-panel-soft, #d8eef0);
    border-color: var(--facenimal-theme-border, #e4e7ec);
    box-shadow: var(--facenimal-theme-shadow, 0 -8px 24px rgba(16, 24, 40, .08));
    color: var(--facenimal-theme-text, #17212b);
}

body.facenimal-theme-dark :is(
    .custom-mobile-menu.facenimal-mobile-menu a,
    .custom-mobile-menu.facenimal-mobile-menu button.facenimal-mobile-menu-link,
    .custom-mobile-menu.facenimal-mobile-menu .facenimal-notifications-shortcode-button
),
body.facenimal-theme-system :is(
    .custom-mobile-menu.facenimal-mobile-menu a,
    .custom-mobile-menu.facenimal-mobile-menu button.facenimal-mobile-menu-link,
    .custom-mobile-menu.facenimal-mobile-menu .facenimal-notifications-shortcode-button
) {
    color: var(--facenimal-theme-text, #000);
}

body.facenimal-theme-dark :is(
    .custom-mobile-menu.facenimal-mobile-menu a:hover,
    .custom-mobile-menu.facenimal-mobile-menu a:focus,
    .custom-mobile-menu.facenimal-mobile-menu a.is-active,
    .custom-mobile-menu.facenimal-mobile-menu a.active,
    .custom-mobile-menu.facenimal-mobile-menu button.facenimal-mobile-menu-link:hover,
    .custom-mobile-menu.facenimal-mobile-menu button.facenimal-mobile-menu-link:focus,
    .custom-mobile-menu.facenimal-mobile-menu button.facenimal-mobile-menu-link.is-open,
    .custom-mobile-menu.facenimal-mobile-menu .facenimal-notifications-shortcode-button.is-active
),
body.facenimal-theme-system :is(
    .custom-mobile-menu.facenimal-mobile-menu a:hover,
    .custom-mobile-menu.facenimal-mobile-menu a:focus,
    .custom-mobile-menu.facenimal-mobile-menu a.is-active,
    .custom-mobile-menu.facenimal-mobile-menu a.active,
    .custom-mobile-menu.facenimal-mobile-menu button.facenimal-mobile-menu-link:hover,
    .custom-mobile-menu.facenimal-mobile-menu button.facenimal-mobile-menu-link:focus,
    .custom-mobile-menu.facenimal-mobile-menu button.facenimal-mobile-menu-link.is-open,
    .custom-mobile-menu.facenimal-mobile-menu .facenimal-notifications-shortcode-button.is-active
) {
    background: var(--facenimal-theme-accent-soft);
    border-color: var(--facenimal-theme-accent, #8fd8a8);
    color: var(--facenimal-theme-accent, #006400) !important;
}

body.facenimal-theme-dark :is(
    .custom-mobile-menu.facenimal-mobile-menu .submenu-mobile,
    .custom-mobile-menu.facenimal-mobile-menu .facenimal-community-create-panel
),
body.facenimal-theme-system :is(
    .custom-mobile-menu.facenimal-mobile-menu .submenu-mobile,
    .custom-mobile-menu.facenimal-mobile-menu .facenimal-community-create-panel
) {
    background: var(--facenimal-theme-panel, #fff);
    border-color: var(--facenimal-theme-border, #e4e7ec);
    box-shadow: none;
    color: var(--facenimal-theme-text, #17212b);
}

body.facenimal-theme-dark :is(
    .custom-mobile-menu.facenimal-mobile-menu .submenu-mobile li a:hover,
    .custom-mobile-menu.facenimal-mobile-menu .submenu-mobile li a:focus,
    .custom-mobile-menu.facenimal-mobile-menu .facenimal-community-create-panel-item:hover,
    .custom-mobile-menu.facenimal-mobile-menu .facenimal-community-create-panel-item:focus
),
body.facenimal-theme-system :is(
    .custom-mobile-menu.facenimal-mobile-menu .submenu-mobile li a:hover,
    .custom-mobile-menu.facenimal-mobile-menu .submenu-mobile li a:focus,
    .custom-mobile-menu.facenimal-mobile-menu .facenimal-community-create-panel-item:hover,
    .custom-mobile-menu.facenimal-mobile-menu .facenimal-community-create-panel-item:focus
) {
    background: var(--facenimal-theme-accent-soft);
    color: var(--facenimal-theme-accent, #006400) !important;
}

body.facenimal-theme-dark :is(
    .custom-mobile-menu.facenimal-mobile-menu .facenimal-notifications-shortcode-count,
    .custom-mobile-menu.facenimal-mobile-menu .facenimal-mobile-menu-badge
),
body.facenimal-theme-system :is(
    .custom-mobile-menu.facenimal-mobile-menu .facenimal-notifications-shortcode-count,
    .custom-mobile-menu.facenimal-mobile-menu .facenimal-mobile-menu-badge
) {
    background: var(--facenimal-theme-panel, #fff) !important;
    border-color: var(--facenimal-theme-border, rgba(0, 0, 0, .58)) !important;
    color: var(--facenimal-theme-accent, #006400) !important;
}

body.facenimal-theme-dark .custom-mobile-menu.facenimal-mobile-menu .facenimal-mobile-menu-avatar,
body.facenimal-theme-system .custom-mobile-menu.facenimal-mobile-menu .facenimal-mobile-menu-avatar {
    border-color: var(--facenimal-theme-accent, #8fd8a8);
}

/* Same logo, wordmark recoloured to --facenimal-theme-text. Only the file
   changes here: both are transparent and share the light file's proportions, so
   position and sizing stay with the base rules. */
body.facenimal-theme-dark :is(
    .facenimal-community-composer-logo-link,
    .facenimal-chat-logo
),
body.facenimal-theme-system :is(
    .facenimal-community-composer-logo-link,
    .facenimal-chat-logo
) {
    background-image: url("../img/facenimal-logo-dark.png");
}

body.facenimal-theme-dark :is(
    .facenimal-community-create-toggle,
    .facenimal-community-composer-listings-link,
    .facenimal-community-composer-quick-photo,
    .facenimal-community-composer-groups-toggle,
    .facenimal-community-composer-more-toggle,
    .facenimal-profile-listings-link,
    .facenimal-profile-title-bell,
    .facenimal-profile-menu-toggle,
    .facenimal-marketplace-notifications-link,
    .facenimal-marketplace-new-listing-link,
    .facenimal-marketplace-filter-toggle
),
body.facenimal-theme-system :is(
    .facenimal-community-create-toggle,
    .facenimal-community-composer-listings-link,
    .facenimal-community-composer-quick-photo,
    .facenimal-community-composer-groups-toggle,
    .facenimal-community-composer-more-toggle,
    .facenimal-profile-listings-link,
    .facenimal-profile-title-bell,
    .facenimal-profile-menu-toggle,
    .facenimal-marketplace-notifications-link,
    .facenimal-marketplace-new-listing-link,
    .facenimal-marketplace-filter-toggle
) {
    background: transparent;
    border-color: transparent;
    color: var(--facenimal-theme-text, #000) !important;
}

body.facenimal-theme-dark :is(
    .facenimal-community-create-toggle svg,
    .facenimal-community-composer-listings-link svg,
    .facenimal-community-composer-quick-photo svg,
    .facenimal-community-composer-groups-toggle svg,
    .facenimal-profile-title-bell svg,
    .facenimal-profile-menu-toggle svg,
    .facenimal-marketplace-notifications-link svg,
    .facenimal-marketplace-filter-toggle svg
),
body.facenimal-theme-system :is(
    .facenimal-community-create-toggle svg,
    .facenimal-community-composer-listings-link svg,
    .facenimal-community-composer-quick-photo svg,
    .facenimal-community-composer-groups-toggle svg,
    .facenimal-profile-title-bell svg,
    .facenimal-profile-menu-toggle svg,
    .facenimal-marketplace-notifications-link svg,
    .facenimal-marketplace-filter-toggle svg
) {
    stroke: currentColor;
}

body.facenimal-theme-dark :is(
    .facenimal-community-create-toggle:hover,
    .facenimal-community-create-toggle:focus-visible,
    .facenimal-community-create-toggle.is-open,
    .facenimal-community-composer-listings-link:hover,
    .facenimal-community-composer-listings-link:focus-visible,
    .facenimal-community-composer-quick-photo:hover,
    .facenimal-community-composer-quick-photo:focus-visible,
    .facenimal-community-composer-groups-toggle:hover,
    .facenimal-community-composer-groups-toggle:focus-visible,
    .facenimal-community-composer-groups-toggle.is-open,
    .facenimal-community-composer-more-toggle:hover,
    .facenimal-community-composer-more-toggle:focus-visible,
    .facenimal-community-composer-more-toggle.is-open,
    .facenimal-profile-listings-link:hover,
    .facenimal-profile-listings-link:focus-visible,
    .facenimal-profile-title-bell:hover,
    .facenimal-profile-title-bell:focus-visible,
    .facenimal-profile-title-bell.is-active,
    .facenimal-profile-menu-toggle:hover,
    .facenimal-profile-menu-toggle:focus-visible,
    .facenimal-profile-menu-toggle.is-open,
    .facenimal-marketplace-notifications-link:hover,
    .facenimal-marketplace-notifications-link:focus,
    .facenimal-marketplace-new-listing-link:hover,
    .facenimal-marketplace-new-listing-link:focus,
    .facenimal-marketplace-filter-toggle:hover,
    .facenimal-marketplace-filter-toggle:focus
),
body.facenimal-theme-system :is(
    .facenimal-community-create-toggle:hover,
    .facenimal-community-create-toggle:focus-visible,
    .facenimal-community-create-toggle.is-open,
    .facenimal-community-composer-listings-link:hover,
    .facenimal-community-composer-listings-link:focus-visible,
    .facenimal-community-composer-quick-photo:hover,
    .facenimal-community-composer-quick-photo:focus-visible,
    .facenimal-community-composer-groups-toggle:hover,
    .facenimal-community-composer-groups-toggle:focus-visible,
    .facenimal-community-composer-groups-toggle.is-open,
    .facenimal-community-composer-more-toggle:hover,
    .facenimal-community-composer-more-toggle:focus-visible,
    .facenimal-community-composer-more-toggle.is-open,
    .facenimal-profile-listings-link:hover,
    .facenimal-profile-listings-link:focus-visible,
    .facenimal-profile-title-bell:hover,
    .facenimal-profile-title-bell:focus-visible,
    .facenimal-profile-title-bell.is-active,
    .facenimal-profile-menu-toggle:hover,
    .facenimal-profile-menu-toggle:focus-visible,
    .facenimal-profile-menu-toggle.is-open,
    .facenimal-marketplace-notifications-link:hover,
    .facenimal-marketplace-notifications-link:focus,
    .facenimal-marketplace-new-listing-link:hover,
    .facenimal-marketplace-new-listing-link:focus,
    .facenimal-marketplace-filter-toggle:hover,
    .facenimal-marketplace-filter-toggle:focus
) {
    background: var(--facenimal-theme-accent-soft);
    border-color: var(--facenimal-theme-accent, #8fd8a8);
    color: var(--facenimal-theme-accent, #006400) !important;
}

body.facenimal-theme-dark :is(
    .facenimal-community-create-panel-head,
    .facenimal-community-create-panel-item strong
),
body.facenimal-theme-system :is(
    .facenimal-community-create-panel-head,
    .facenimal-community-create-panel-item strong
) {
    color: var(--facenimal-theme-text, #101828);
}

body.facenimal-theme-dark .facenimal-community-create-panel-item small,
body.facenimal-theme-system .facenimal-community-create-panel-item small {
    color: var(--facenimal-theme-muted, #667085);
}

body.facenimal-theme-dark .facenimal-community-create-panel-icon,
body.facenimal-theme-system .facenimal-community-create-panel-icon {
    background: var(--facenimal-theme-panel-strong, #f8fafc);
    border-color: var(--facenimal-theme-border, #e4e7ec);
    color: var(--facenimal-theme-accent, #006400);
}

body.facenimal-theme-dark .facenimal-community-link-preview-card,
body.facenimal-theme-system .facenimal-community-link-preview-card {
    background: var(--facenimal-theme-panel-strong, #f8fafc);
    border-color: var(--facenimal-theme-border, #e4e7ec);
    color: var(--facenimal-theme-text, #17212b);
}

body.facenimal-theme-dark .facenimal-community-link-preview-card:hover,
body.facenimal-theme-dark .facenimal-community-link-preview-card:focus,
body.facenimal-theme-system .facenimal-community-link-preview-card:hover,
body.facenimal-theme-system .facenimal-community-link-preview-card:focus {
    border-color: var(--facenimal-theme-accent, #8fd8a8);
    color: var(--facenimal-theme-text, #17212b);
}

body.facenimal-theme-dark .facenimal-community-link-preview-card small,
body.facenimal-theme-system .facenimal-community-link-preview-card small {
    color: var(--facenimal-theme-muted, #667085);
}

body.facenimal-theme-dark .facenimal-community-link-preview-media,
body.facenimal-theme-system .facenimal-community-link-preview-media {
    background: var(--facenimal-theme-panel, #eef2f6);
}

body.facenimal-theme-dark .facenimal-community-link-preview-text,
body.facenimal-theme-system .facenimal-community-link-preview-text {
    color: var(--facenimal-theme-muted, #344054);
}

body.facenimal-theme-dark .facenimal-profile-trust-pill,
body.facenimal-theme-dark .facenimal-marketplace-single-side .facenimal-profile-trust-pill,
body.facenimal-theme-system .facenimal-profile-trust-pill,
body.facenimal-theme-system .facenimal-marketplace-single-side .facenimal-profile-trust-pill {
    background: var(--facenimal-theme-panel-strong, #f8fafc);
    border: 1px solid var(--facenimal-theme-border, #d0d5dd);
    color: var(--facenimal-theme-text, #344054);
}

body.facenimal-theme-dark .facenimal-profile-trust-pill.is-verified,
body.facenimal-theme-dark .facenimal-marketplace-single-side .facenimal-profile-trust-pill.is-verified,
body.facenimal-theme-system .facenimal-profile-trust-pill.is-verified,
body.facenimal-theme-system .facenimal-marketplace-single-side .facenimal-profile-trust-pill.is-verified {
    background: var(--facenimal-theme-accent-soft);
    border-color: var(--facenimal-theme-accent-line);
    color: var(--facenimal-theme-accent, #006400);
}

body.facenimal-theme-dark .facenimal-profile-trust-pill.is-neutral,
body.facenimal-theme-dark .facenimal-marketplace-single-side .facenimal-profile-trust-pill.is-neutral,
body.facenimal-theme-system .facenimal-profile-trust-pill.is-neutral,
body.facenimal-theme-system .facenimal-marketplace-single-side .facenimal-profile-trust-pill.is-neutral {
    background: rgba(255, 255, 255, .06);
    border-color: var(--facenimal-theme-border, #d0d5dd);
    color: var(--facenimal-theme-muted, #667085);
}

body.facenimal-theme-dark .facenimal-profile-stat-link,
body.facenimal-theme-system .facenimal-profile-stat-link {
    background: transparent;
    color: var(--facenimal-theme-text, #000) !important;
}

body.facenimal-theme-dark .facenimal-profile-stats strong,
body.facenimal-theme-system .facenimal-profile-stats strong {
    color: currentColor;
}

body.facenimal-theme-dark .facenimal-profile-stat-link:hover,
body.facenimal-theme-dark .facenimal-profile-stat-link:focus,
body.facenimal-theme-dark .facenimal-profile-stat-link.is-active,
body.facenimal-theme-dark .facenimal-profile-follow-dropdown.is-active .facenimal-profile-follow-summary,
body.facenimal-theme-dark .facenimal-profile-follow-summary.is-open,
body.facenimal-theme-system .facenimal-profile-stat-link:hover,
body.facenimal-theme-system .facenimal-profile-stat-link:focus,
body.facenimal-theme-system .facenimal-profile-stat-link.is-active,
body.facenimal-theme-system .facenimal-profile-follow-dropdown.is-active .facenimal-profile-follow-summary,
body.facenimal-theme-system .facenimal-profile-follow-summary.is-open {
    background: var(--facenimal-theme-accent-soft);
    border-color: var(--facenimal-theme-accent, #8fd8a8);
    color: var(--facenimal-theme-accent, #006400) !important;
}

body.facenimal-theme-dark .facenimal-profile-stat-link.is-active,
body.facenimal-theme-system .facenimal-profile-stat-link.is-active {
    box-shadow: inset 0 0 0 1px var(--facenimal-theme-accent, #8fd8a8);
}

body.facenimal-theme-dark :is(
    .facenimal-community-reaction-button,
    .facenimal-community-comment-count,
    .facenimal-community-share-button,
    .facenimal-community-save-button,
    .facenimal-community-group-menu-toggle
),
body.facenimal-theme-system :is(
    .facenimal-community-reaction-button,
    .facenimal-community-comment-count,
    .facenimal-community-share-button,
    .facenimal-community-save-button,
    .facenimal-community-group-menu-toggle
) {
    background: transparent;
    border-color: transparent;
    color: var(--facenimal-theme-text, #000) !important;
}

body.facenimal-theme-dark :is(
    .facenimal-community-reaction-button:hover,
    .facenimal-community-reaction-button:focus,
    .facenimal-community-reaction-button.is-active,
    .facenimal-community-comment-count:hover,
    .facenimal-community-comment-count:focus,
    .facenimal-community-share-button:hover,
    .facenimal-community-share-button:focus,
    .facenimal-community-save-button:hover,
    .facenimal-community-save-button:focus,
    .facenimal-community-save-button.is-active,
    .facenimal-community-group-menu-toggle:hover,
    .facenimal-community-group-menu-toggle:focus-visible,
    .facenimal-community-group-menu-toggle.is-open
),
body.facenimal-theme-system :is(
    .facenimal-community-reaction-button:hover,
    .facenimal-community-reaction-button:focus,
    .facenimal-community-reaction-button.is-active,
    .facenimal-community-comment-count:hover,
    .facenimal-community-comment-count:focus,
    .facenimal-community-share-button:hover,
    .facenimal-community-share-button:focus,
    .facenimal-community-save-button:hover,
    .facenimal-community-save-button:focus,
    .facenimal-community-save-button.is-active,
    .facenimal-community-group-menu-toggle:hover,
    .facenimal-community-group-menu-toggle:focus-visible,
    .facenimal-community-group-menu-toggle.is-open
) {
    background: var(--facenimal-theme-accent-soft);
    border-color: var(--facenimal-theme-accent, #8fd8a8);
    color: var(--facenimal-theme-accent, #006400) !important;
}

body.facenimal-theme-dark :is(
    .facenimal-community-reaction-button .facenimal-heart,
    .facenimal-community-comment-count svg,
    .facenimal-community-share-button svg,
    .facenimal-community-save-button svg
),
body.facenimal-theme-system :is(
    .facenimal-community-reaction-button .facenimal-heart,
    .facenimal-community-comment-count svg,
    .facenimal-community-share-button svg,
    .facenimal-community-save-button svg
) {
    color: var(--facenimal-theme-accent, #006400);
    stroke: currentColor;
}

body.facenimal-theme-dark .facenimal-community-reaction-button.is-active .facenimal-heart,
body.facenimal-theme-dark .facenimal-community-save-button.is-active svg,
body.facenimal-theme-system .facenimal-community-reaction-button.is-active .facenimal-heart,
body.facenimal-theme-system .facenimal-community-save-button.is-active svg {
    fill: currentColor;
}

body.facenimal-theme-dark .facenimal-community-reaction-choice,
body.facenimal-theme-system .facenimal-community-reaction-choice {
    color: var(--facenimal-theme-text, #101828);
}

body.facenimal-theme-dark .facenimal-community-reaction-choice span,
body.facenimal-theme-system .facenimal-community-reaction-choice span {
    background: var(--facenimal-theme-panel-strong, #f8fafc);
    border-color: var(--facenimal-theme-border, #e4e7ec);
}

body.facenimal-theme-dark .facenimal-community-reaction-choice:hover,
body.facenimal-theme-dark .facenimal-community-reaction-choice.is-active,
body.facenimal-theme-system .facenimal-community-reaction-choice:hover,
body.facenimal-theme-system .facenimal-community-reaction-choice.is-active {
    background: var(--facenimal-theme-accent-soft);
    color: var(--facenimal-theme-accent, #006400);
}

body.facenimal-theme-dark .facenimal-community-reaction-choice:hover span,
body.facenimal-theme-dark .facenimal-community-reaction-choice.is-active span,
body.facenimal-theme-system .facenimal-community-reaction-choice:hover span,
body.facenimal-theme-system .facenimal-community-reaction-choice.is-active span {
    border-color: var(--facenimal-theme-accent, #8fd8a8);
}

body.facenimal-theme-dark .facenimal-notification-subscription-group h4,
body.facenimal-theme-system .facenimal-notification-subscription-group h4 {
    color: var(--facenimal-theme-text, #101828);
}

body.facenimal-theme-dark .facenimal-notification-item,
body.facenimal-theme-system .facenimal-notification-item {
    background: var(--facenimal-theme-panel, #fff);
    border-color: var(--facenimal-theme-border, #e4e7ec);
    color: var(--facenimal-theme-muted, #344054);
}

body.facenimal-theme-dark .facenimal-account-edit-field,
body.facenimal-theme-system .facenimal-account-edit-field {
    color: var(--facenimal-theme-muted, #344054);
}

body.facenimal-theme-dark :is(
    .facenimal-account-edit-field input,
    .facenimal-account-edit-field select,
    .facenimal-account-edit-field textarea
),
body.facenimal-theme-system :is(
    .facenimal-account-edit-field input,
    .facenimal-account-edit-field select,
    .facenimal-account-edit-field textarea
) {
    background: var(--facenimal-theme-panel-strong, #fff);
    border-color: var(--facenimal-theme-border, #d0d5dd);
    color: var(--facenimal-theme-text, #101828);
}

body.facenimal-theme-dark :is(
    .facenimal-account-edit-field input:focus,
    .facenimal-account-edit-field select:focus,
    .facenimal-account-edit-field textarea:focus
),
body.facenimal-theme-system :is(
    .facenimal-account-edit-field input:focus,
    .facenimal-account-edit-field select:focus,
    .facenimal-account-edit-field textarea:focus
) {
    background: var(--facenimal-theme-panel, #fff);
    border-color: var(--facenimal-theme-accent, #8fd8a8);
    box-shadow: 0 0 0 3px var(--facenimal-theme-accent-ring);
    color: var(--facenimal-theme-text, #000);
}

body.facenimal-theme-dark .facenimal-profile-saved-list-item,
body.facenimal-theme-system .facenimal-profile-saved-list-item {
    background: var(--facenimal-theme-panel, #fff);
    border-color: var(--facenimal-theme-border, #e4e7ec);
    color: var(--facenimal-theme-muted, #344054);
}

body.facenimal-theme-dark .facenimal-profile-saved-list-item:hover,
body.facenimal-theme-dark .facenimal-profile-saved-list-item:focus-within,
body.facenimal-theme-dark .facenimal-profile-saved-list-item.is-active,
body.facenimal-theme-system .facenimal-profile-saved-list-item:hover,
body.facenimal-theme-system .facenimal-profile-saved-list-item:focus-within,
body.facenimal-theme-system .facenimal-profile-saved-list-item.is-active {
    background: var(--facenimal-theme-accent-soft);
    border-color: var(--facenimal-theme-accent, #8fd8a8);
    color: var(--facenimal-theme-accent, #006400);
}

body.facenimal-theme-dark .facenimal-profile-saved-list strong,
body.facenimal-theme-system .facenimal-profile-saved-list strong {
    background: var(--facenimal-theme-accent-soft);
    color: currentColor;
}

body.facenimal-theme-dark .facenimal-profile-saved-list-delete,
body.facenimal-theme-system .facenimal-profile-saved-list-delete {
    color: var(--facenimal-theme-muted, #667085);
}

body.facenimal-theme-dark .facenimal-profile-saved-list-delete:hover,
body.facenimal-theme-dark .facenimal-profile-saved-list-delete:focus,
body.facenimal-theme-system .facenimal-profile-saved-list-delete:hover,
body.facenimal-theme-system .facenimal-profile-saved-list-delete:focus {
    color: var(--facenimal-theme-danger, #b42318);
}

body.facenimal-theme-dark .facenimal-profile-action,
body.facenimal-theme-system .facenimal-profile-action {
    background: var(--facenimal-theme-panel-strong, #fff);
    border-color: var(--facenimal-theme-border, #d0d5dd);
    color: var(--facenimal-theme-muted, #344054);
}

body.facenimal-theme-dark .facenimal-profile-action:hover,
body.facenimal-theme-dark .facenimal-profile-action:focus,
body.facenimal-theme-system .facenimal-profile-action:hover,
body.facenimal-theme-system .facenimal-profile-action:focus {
    background: var(--facenimal-theme-accent-soft);
    border-color: var(--facenimal-theme-accent, #006400);
    color: var(--facenimal-theme-accent, #006400);
}

body.facenimal-theme-dark .facenimal-profile-action.is-primary,
body.facenimal-theme-system .facenimal-profile-action.is-primary {
    background: var(--facenimal-theme-accent-strong, #006400);
    border-color: var(--facenimal-theme-accent-strong, #006400);
    color: var(--facenimal-theme-page, #fff);
}

body.facenimal-theme-dark .facenimal-profile-action.is-primary:hover,
body.facenimal-theme-dark .facenimal-profile-action.is-primary:focus,
body.facenimal-theme-system .facenimal-profile-action.is-primary:hover,
body.facenimal-theme-system .facenimal-profile-action.is-primary:focus {
    background: var(--facenimal-theme-accent, #004d00);
    border-color: var(--facenimal-theme-accent, #004d00);
    color: var(--facenimal-theme-page, #fff);
}

body.facenimal-theme-dark .facenimal-profile-action.is-accent,
body.facenimal-theme-system .facenimal-profile-action.is-accent {
    background: rgba(251, 146, 60, .12);
    border-color: rgba(251, 146, 60, .38);
    color: #fb923c;
}

body.facenimal-theme-dark .facenimal-profile-action.is-accent:hover,
body.facenimal-theme-dark .facenimal-profile-action.is-accent:focus,
body.facenimal-theme-system .facenimal-profile-action.is-accent:hover,
body.facenimal-theme-system .facenimal-profile-action.is-accent:focus {
    background: rgba(251, 146, 60, .2);
    border-color: #fb923c;
    color: #fdba74;
}

body.facenimal-theme-dark .facenimal-follow-button,
body.facenimal-theme-system .facenimal-follow-button {
    background: var(--facenimal-theme-panel-strong, #fff);
    border-color: var(--facenimal-theme-border, #d0d5dd);
    color: var(--facenimal-theme-muted, #344054);
}

body.facenimal-theme-dark .facenimal-profile-follow-menu .facenimal-follow-button,
body.facenimal-theme-system .facenimal-profile-follow-menu .facenimal-follow-button {
    background: transparent;
    border-color: transparent;
    color: var(--facenimal-theme-text, #17212b);
}

body.facenimal-theme-dark .facenimal-community-feed-mode-chevron,
body.facenimal-theme-system .facenimal-community-feed-mode-chevron {
    fill: none;
    stroke: currentColor;
}

body.facenimal-theme-dark :is(
    .custom-mobile-menu.facenimal-mobile-menu,
    .facenimal-profile-hero,
    .facenimal-community-card.facenimal-community-composer
) {
    background: var(--facenimal-theme-panel-veil) !important;
}

body.facenimal-theme-dark .facenimal-marketplace-single-head h1,
body.facenimal-theme-system .facenimal-marketplace-single-head h1 {
    color: var(--facenimal-theme-text, #101828);
}

body.facenimal-theme-dark .facenimal-marketplace-single-head > strong,
body.facenimal-theme-system .facenimal-marketplace-single-head > strong {
    color: var(--facenimal-theme-accent, #006400);
}

body.facenimal-theme-dark .facenimal-community-single-body,
body.facenimal-theme-system .facenimal-community-single-body {
    background: var(--facenimal-theme-page, #f8fafc);
}

body.facenimal-theme-dark .facenimal-community-single-post .facenimal-community-post-head,
body.facenimal-theme-system .facenimal-community-single-post .facenimal-community-post-head {
    background: var(--facenimal-theme-panel, rgba(255, 255, 255, .96));
    border-color: var(--facenimal-theme-border, #e4e7ec);
    box-shadow: var(--facenimal-theme-shadow, 0 8px 24px rgba(16, 24, 40, .08));
    color: var(--facenimal-theme-text, #17212b);
}

body.facenimal-theme-dark .facenimal-community-single-comments,
body.facenimal-theme-system .facenimal-community-single-comments {
    background: var(--facenimal-theme-page, #f8fafc);
    border-color: var(--facenimal-theme-border, #eef2f6);
    color: var(--facenimal-theme-text, #17212b);
}

body.facenimal-theme-dark .facenimal-community-empty,
body.facenimal-theme-system .facenimal-community-empty {
    background: var(--facenimal-theme-panel, #fff);
    border-color: var(--facenimal-theme-border, #cbd5e1);
    color: var(--facenimal-theme-muted, #667085);
}

body.facenimal-theme-dark .facenimal-community-back-link,
body.facenimal-theme-system .facenimal-community-back-link {
    background: var(--facenimal-theme-accent-soft);
    border-color: var(--facenimal-theme-accent, #8fd8a8);
    color: var(--facenimal-theme-accent, #006400);
}

body.facenimal-theme-dark .facenimal-community-back-link:hover,
body.facenimal-theme-system .facenimal-community-back-link:hover {
    background: var(--facenimal-theme-accent-strong, #006400);
    border-color: var(--facenimal-theme-accent-strong, #006400);
    color: var(--facenimal-theme-page, #fff);
}

body.facenimal-theme-dark .facenimal-community-comment-body,
body.facenimal-theme-system .facenimal-community-comment-body {
    background: var(--facenimal-theme-panel-strong, #f8fafc);
    color: var(--facenimal-theme-text, #17212b);
}

body.facenimal-theme-dark .facenimal-community-comment-text,
body.facenimal-theme-system .facenimal-community-comment-text {
    color: var(--facenimal-theme-muted, #344054);
}

body.facenimal-theme-dark :is(
    .facenimal-community-comments,
    .facenimal-community-comments-viewer .is-viewer-form,
    .facenimal-community-comment-replies,
    .facenimal-community-comment-replies .facenimal-community-comment-replies
),
body.facenimal-theme-system :is(
    .facenimal-community-comments,
    .facenimal-community-comments-viewer .is-viewer-form,
    .facenimal-community-comment-replies,
    .facenimal-community-comment-replies .facenimal-community-comment-replies
) {
    border-color: var(--facenimal-theme-border, #e4e7ec);
}

body.facenimal-theme-dark .facenimal-community-comments-viewer,
body.facenimal-theme-system .facenimal-community-comments-viewer {
    background: var(--facenimal-theme-panel, #fff);
    border-color: var(--facenimal-theme-border, #e4e7ec);
    color: var(--facenimal-theme-text, #17212b);
}

body.facenimal-theme-dark .facenimal-community-comments-viewer-head strong,
body.facenimal-theme-system .facenimal-community-comments-viewer-head strong {
    color: var(--facenimal-theme-text, #101828);
}

body.facenimal-theme-dark .facenimal-community-comments-viewer-head button,
body.facenimal-theme-system .facenimal-community-comments-viewer-head button,
body.facenimal-theme-dark .facenimal-community-comment-photo-button,
body.facenimal-theme-system .facenimal-community-comment-photo-button,
body.facenimal-theme-dark .facenimal-community-inline-comment-edit button,
body.facenimal-theme-system .facenimal-community-inline-comment-edit button,
body.facenimal-theme-dark .facenimal-community-remove-existing-photo,
body.facenimal-theme-system .facenimal-community-remove-existing-photo {
    background: var(--facenimal-theme-panel-strong, #f8fafc);
    border-color: var(--facenimal-theme-border, #d0d5dd);
    color: var(--facenimal-theme-muted, #344054);
}

body.facenimal-theme-dark .facenimal-community-comments-viewer-head button:hover,
body.facenimal-theme-dark .facenimal-community-comments-viewer-head button:focus,
body.facenimal-theme-system .facenimal-community-comments-viewer-head button:hover,
body.facenimal-theme-system .facenimal-community-comments-viewer-head button:focus,
body.facenimal-theme-dark .facenimal-community-comment-photo-button:hover,
body.facenimal-theme-dark .facenimal-community-file-input:focus + .facenimal-community-comment-photo-button,
body.facenimal-theme-system .facenimal-community-comment-photo-button:hover,
body.facenimal-theme-system .facenimal-community-file-input:focus + .facenimal-community-comment-photo-button {
    background: var(--facenimal-theme-accent-soft);
    border-color: var(--facenimal-theme-accent, #8fd8a8);
    color: var(--facenimal-theme-accent, #006400);
}

body.facenimal-theme-dark .facenimal-community-comment-reply-status,
body.facenimal-theme-system .facenimal-community-comment-reply-status,
body.facenimal-theme-dark .facenimal-community-comment-action-button,
body.facenimal-theme-system .facenimal-community-comment-action-button {
    color: var(--facenimal-theme-accent, #006400);
}

body.facenimal-theme-dark .facenimal-community-comment-reply-status button,
body.facenimal-theme-system .facenimal-community-comment-reply-status button,
body.facenimal-theme-dark .facenimal-community-reply-context,
body.facenimal-theme-system .facenimal-community-reply-context {
    color: var(--facenimal-theme-muted, #667085);
}

body.facenimal-theme-dark .facenimal-community-comment-action-button.is-danger,
body.facenimal-theme-system .facenimal-community-comment-action-button.is-danger {
    color: var(--facenimal-theme-danger, #b42318);
}

body.facenimal-theme-dark .facenimal-community-inline-comment-edit textarea,
body.facenimal-theme-system .facenimal-community-inline-comment-edit textarea {
    background: var(--facenimal-theme-page, #fff);
    border-color: var(--facenimal-theme-border, #d0d5dd);
    color: var(--facenimal-theme-text, #101828);
}

body.facenimal-theme-dark .facenimal-community-inline-comment-edit textarea:focus,
body.facenimal-theme-system .facenimal-community-inline-comment-edit textarea:focus,
body.facenimal-theme-dark .facenimal-community-comment-input:focus,
body.facenimal-theme-system .facenimal-community-comment-input:focus {
    background: var(--facenimal-theme-panel, #fff);
    border-color: var(--facenimal-theme-accent, #8fd8a8);
    box-shadow: 0 0 0 3px var(--facenimal-theme-accent-ring);
    color: var(--facenimal-theme-text, #000);
}

body.facenimal-theme-dark .facenimal-community-inline-comment-edit [data-facenimal-inline-comment-save],
body.facenimal-theme-system .facenimal-community-inline-comment-edit [data-facenimal-inline-comment-save],
body.facenimal-theme-dark .facenimal-community-comment-submit,
body.facenimal-theme-system .facenimal-community-comment-submit {
    background: var(--facenimal-theme-accent-strong, #006400);
    border-color: var(--facenimal-theme-accent-strong, #006400);
    color: var(--facenimal-theme-page, #fff);
}

body.facenimal-theme-dark .facenimal-community-inline-comment-edit [data-facenimal-inline-comment-save]:hover,
body.facenimal-theme-dark .facenimal-community-inline-comment-edit [data-facenimal-inline-comment-save]:focus,
body.facenimal-theme-system .facenimal-community-inline-comment-edit [data-facenimal-inline-comment-save]:hover,
body.facenimal-theme-system .facenimal-community-inline-comment-edit [data-facenimal-inline-comment-save]:focus,
body.facenimal-theme-dark .facenimal-community-comment-submit:hover,
body.facenimal-theme-dark .facenimal-community-comment-submit:focus,
body.facenimal-theme-system .facenimal-community-comment-submit:hover,
body.facenimal-theme-system .facenimal-community-comment-submit:focus {
    background: var(--facenimal-theme-accent, #004f00);
    color: var(--facenimal-theme-page, #fff);
}

body.facenimal-theme-dark .facenimal-community-comments-skeleton span,
body.facenimal-theme-system .facenimal-community-comments-skeleton span {
    background: var(--facenimal-theme-panel-strong, #eef2f6);
}

body.facenimal-theme-dark .facenimal-community-remove-existing-photo.is-checked,
body.facenimal-theme-system .facenimal-community-remove-existing-photo.is-checked {
    background: var(--facenimal-theme-danger-soft);
    border-color: var(--facenimal-theme-danger-line);
    color: var(--facenimal-theme-danger, #b42318);
}

@media (prefers-color-scheme: dark) {
    body.facenimal-theme-system :is(
        .custom-mobile-menu.facenimal-mobile-menu,
        .facenimal-profile-hero,
        .facenimal-community-card.facenimal-community-composer
    ) {
        background: var(--facenimal-theme-panel-veil) !important;
    }
}

/* Browser-notification opt-in — only rendered while permission is undecided. */
.facenimal-push-prompt {
    background: #006400;
    border: 0;
    border-radius: 999px;
    bottom: 84px;
    box-shadow: rgba(16, 24, 40, .18) 0 6px 20px;
    color: #fff;
    cursor: pointer;
    font-size: 13px;
    font-weight: 800;
    padding: 10px 18px;
    position: fixed;
    right: 16px;
    z-index: 90;
}

.facenimal-push-prompt:hover,
.facenimal-push-prompt:focus {
    background: #024d02;
}

@media (min-width: 781px) {
    .facenimal-push-prompt {
        bottom: 24px;
    }
}

/* Video upload strip — the browser's leave prompt cannot say why it is asking,
   so this does. Sits ABOVE the bottom menu, never over it. */
.facenimal-upload-notice {
    align-items: center;
    /* A dark toast on a light page — but on a dark page it needs an edge, or it
       reads as a hole (1.2:1 against the page). The border falls back to the
       toast's own colour in the light theme, so nothing changes there. */
    background: var(--facenimal-theme-panel-strong, #17212b);
    border: 1px solid var(--facenimal-theme-border, #17212b);
    border-radius: 999px;
    bottom: 84px;
    box-shadow: rgba(16, 24, 40, .24) 0 8px 24px;
    color: var(--facenimal-theme-text, #fff);
    display: flex;
    font-size: 13px;
    font-weight: 700;
    gap: 9px;
    /* Not `left: 50%` with a translate. A fixed box with `width: auto` is sized
       against what is left of the viewport after the offset, so `left: 50%` gave
       it half the screen to fit in — 188px on a phone — and the translate only
       moved that narrow box back to the middle. Measured: three lines and 81px
       tall, sitting over the feed. Both edges instead, centred by auto margins:
       one line, and the feed stays readable behind it. */
    justify-content: center;
    left: 12px;
    margin: 0 auto;
    max-width: 560px;
    padding: 10px 18px;
    position: fixed;
    right: 12px;
    text-align: center;
    z-index: 95;
}

.facenimal-upload-notice-dot {
    animation: facenimal-upload-pulse 1.1s ease-in-out infinite;
    background: var(--facenimal-theme-accent, #8fd8a8);
    border-radius: 50%;
    flex: 0 0 auto;
    height: 9px;
    width: 9px;
}

@keyframes facenimal-upload-pulse {
    0%, 100% { opacity: 1; }
    50% { opacity: .25; }
}

/* Hide the notification opt-in while an upload is running. Nudging someone to
   enable notifications is the wrong moment mid-upload, and moving it by a fixed
   offset breaks as soon as the strip wraps to two lines — which it does in
   Bulgarian on a narrow screen. One temporary thing on screen at a time. */
body.facenimal-has-upload-notice .facenimal-push-prompt {
    display: none;
}

@media (min-width: 781px) {
    .facenimal-upload-notice {
        bottom: 24px;
    }
}

@media (prefers-reduced-motion: reduce) {
    .facenimal-upload-notice-dot {
        animation: none;
    }
}

/* iOS zooms the whole page when a field it focuses has text under 16px, and every
   field in the plugin was set between 11 and 14. Tapping the e-mail box on the
   login screen jumped the layout on an iPhone, and the same trap was waiting on
   the publish form, the group form, the account editor and the profile filters.
   16px is the only reliable cure — a viewport with maximum-scale would stop the
   zoom by taking pinch-zoom away from everyone, which is not a trade to make.
   Scoped to coarse pointers, so the designed sizes stay wherever there is a mouse,
   and prefixed with `body` because profile.css is enqueued after this file. */
@media (pointer: coarse) {
    body .facenimal-auth-form input,
    body .facenimal-auth-form select,
    body .facenimal-community-group-input,
    body .facenimal-community-group-textarea,
    body .facenimal-community-select,
    body .facenimal-community-textarea,
    body .facenimal-marketplace-field input,
    body .facenimal-marketplace-field select,
    body .facenimal-marketplace-field textarea,
    body .facenimal-marketplace-filters input,
    body .facenimal-marketplace-filters select,
    body .facenimal-account-edit-field input,
    body .facenimal-account-edit-field select,
    body .facenimal-account-edit-field textarea,
    body .facenimal-profile-filter-select,
    body .facenimal-profile-filter-search {
        font-size: 16px;
    }
}

/* The rehomer's declaration: a checkbox that has to be read, so the label sits
   beside the box rather than under it and keeps its full width. */
.facenimal-listing-declaration {
    align-items: flex-start;
    display: flex;
    flex-direction: row;
    gap: 10px;
}

.facenimal-listing-declaration input[type="checkbox"] {
    flex: 0 0 auto;
    margin-top: 3px;
    width: auto;
}

.facenimal-listing-declaration span {
    font-weight: 400;
    line-height: 1.45;
}

.facenimal-listing-hint {
    color: var(--facenimal-muted, #667085);
    font-size: 0.85rem;
    margin: 6px 0 0;
}

/* The legal line in the footer: present on every page, quiet on all of them. */
.facenimal-legal-footer {
    align-items: center;
    border-top: 1px solid var(--facenimal-border, #e4e7ec);
    color: var(--facenimal-muted, #667085);
    display: flex;
    flex-wrap: wrap;
    font-size: 0.8rem;
    gap: 6px 16px;
    justify-content: center;
    margin: 32px auto 0;
    max-width: 1100px;
    padding: 14px 16px 22px;
    text-align: center;
}

.facenimal-legal-footer a {
    color: inherit;
    text-decoration: none;
}

.facenimal-legal-footer a:hover,
.facenimal-legal-footer a:focus-visible {
    text-decoration: underline;
}

/* The generated company particulars. A description list, because that is what
   the page is: labelled facts, not prose. */
.facenimal-legal-imprint dl {
    display: grid;
    gap: 4px 20px;
    grid-template-columns: max-content 1fr;
    margin: 0;
}

.facenimal-legal-imprint dt {
    color: var(--facenimal-muted, #667085);
    font-weight: 600;
}

.facenimal-legal-imprint dd {
    margin: 0;
}

@media (max-width: 560px) {
    .facenimal-legal-imprint dl {
        grid-template-columns: 1fr;
    }

    .facenimal-legal-imprint dd {
        margin-bottom: 10px;
    }
}
