/* Cleaned CSS: duplicate declarations collapsed; unused selectors pruned by project reference scan. */
.jd-card-clean {
    position: relative;
}

.jd-card-clean.jd-comments-open {
    z-index: 9990;
}

.jd-grid > .jd-card-clean.jd-comments-open {
    content-visibility: visible;
    contain-intrinsic-size: auto;
}

.jd-comments-toggle {
    gap: 6px;
}

.jd-comment-count {
    min-width: 24px;
    height: 20px;
    padding: 0 7px;
    border-radius: 999px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: rgba(99,55,255,.10);
    color: #6337ff;
    font-size: .72rem;
    font-weight: 950;
    line-height: 1;
}

body.jd-comments-fullscreen {
    overflow: hidden;
}

.jd-card-comments[hidden] {
    display: none !important;
}

.jd-comments-head {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 10px;
    margin-bottom: 10px;
    flex: 0 0 auto;
}

.jd-comments-head span {
    display: none;
}

.jd-comments-window-actions {
    display: inline-flex;
    align-items: center;
    gap: 6px;
}

.jd-comments-close, .jd-comments-maximize {
    border: 1px solid rgba(20,9,79,.08);
    background: #fff;
    color: #25185c;
    width: 32px;
    height: 32px;
    border-radius: 999px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    box-shadow: 0 8px 18px rgba(25,16,84,.06);
}

.jd-comments-empty {
    border-radius: 14px;
    padding: 10px 12px;
    background: rgba(20,9,79,.05);
    color: #71698d;
    font-size: .82rem;
    font-weight: 800;
}

.jd-comment-login-note {
    padding: 10px 0 2px;
    color: #71698d;
    font-size: .82rem;
    font-weight: 800;
}

.jd-comment-item {
    display: grid;
    grid-template-columns: 34px minmax(0,1fr);
    gap: 9px;
}

.jd-comment-avatar, .jd-author-avatar {
    width: 34px;
    height: 34px;
    border-radius: 50%;
    object-fit: cover;
    background: linear-gradient(135deg, #efeaff, #dff3ff);
    color: #4f2dff;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-weight: 900;
    box-shadow: 0 8px 18px rgba(25,16,84,.10);
    overflow: hidden;
    flex: 0 0 auto;
}

.jd-comment-author {
    border: 0;
    background: transparent;
    color: #120b46;
    padding: 0;
    font: inherit;
    font-weight: 950;
    text-align: left;
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.jd-comment-author:hover {
    color: #6337ff;
    text-decoration: underline;
}

.jd-reply-context button {
    color: #6337ff;
}

.jd-emoji-picker {
    position: absolute;
    left: 0;
    bottom: 44px;
    z-index: 60;
    width: min(360px, calc(100vw - 42px));
    max-height: 360px;
    border: 1px solid rgba(20,9,79,.10);
    background: rgba(255,255,255,.98);
    border-radius: 18px;
    box-shadow: 0 22px 55px rgba(25,16,84,.18);
    padding: 10px;
    overflow: hidden;
}

.jd-emoji-picker[hidden] {
    display: none !important;
}

.jd-emoji-picker-search {
    display: flex;
    align-items: center;
    gap: 8px;
    border: 1px solid rgba(99,55,255,.18);
    border-radius: 999px;
    padding: 8px 11px;
    color: #756e91;
    margin-bottom: 9px;
}

.jd-emoji-picker-search input {
    border: 0;
    outline: 0;
    flex: 1 1 auto;
    min-width: 0;
    font-size: .9rem;
    color: #120b46;
    background: transparent;
}

.jd-emoji-picker-grid {
    display: grid;
    grid-template-columns: repeat(8, 1fr);
    gap: 5px;
    overflow: auto;
    max-height: 280px;
    padding-right: 3px;
}

.jd-emoji-picker-grid button {
    border: 1px solid transparent;
    background: transparent;
    border-radius: 10px;
    width: 34px;
    height: 34px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: 1.2rem;
}

.jd-emoji-picker-grid button:hover {
    border-color: rgba(99,55,255,.18);
    background: rgba(99,55,255,.07);
}

.jd-comment-login-note a {
    color: #6337ff;
    text-decoration: none;
}

.jd-author-panel[hidden] {
    display: none !important;
}

body.jd-details-open .jd-author-panel, body.jd-media-modal-open .jd-author-panel {
    z-index: 2147482000 !important;
}

@media (max-width: 576px) {
    .jd-author-panel {
        width: min(390px, 96vw);
        min-width: 0;
        padding: 14px;
    }

    .jd-author-panel-head {
        gap: 8px;
    }

    .jd-author-panel-user {
        gap: 8px;
        max-width: calc(100% - 42px);
    }

    .jd-author-panel-user strong {
        font-size: .82rem;
        max-width: calc(100vw - 132px);
    }

    .jd-author-panel-user span {
        font-size: .72rem;
    }

    .jd-author-panel-close {
        width: 34px;
        height: 34px;
        flex: 0 0 34px;
    }
}

.jd-author-resize {
    position: absolute;
    left: -7px;
    top: 0;
    bottom: 0;
    width: 14px;
    cursor: ew-resize;
    touch-action: none;
}

.jd-author-resize::before {
    content: "";
    position: absolute;
    left: 6px;
    top: 50%;
    width: 3px;
    height: 74px;
    border-radius: 999px;
    background: rgba(99,55,255,.28);
    transform: translateY(-50%);
    opacity: .35;
}

.jd-author-resize:hover::before, .jd-author-resizing .jd-author-resize::before {
    opacity: 1;
}

body.jd-author-resizing {
    user-select: none;
    cursor: ew-resize;
}

body.jd-comment-resizing {
    user-select: none;
    cursor: nwse-resize;
}

body.jd-comment-dragging {
    user-select: none;
    cursor: grabbing;
}

.jd-card-comments:not(.is-maximized) .jd-comments-head {
    cursor: grab;
}

.jd-card-comments:not(.is-maximized) .jd-comments-window-actions, .jd-card-comments:not(.is-maximized) .jd-comments-window-actions * {
    cursor: auto;
}

.jd-author-panel-close {
    border: 1px solid rgba(20,9,79,.08);
    background: #fff;
    color: #25185c;
    width: 36px;
    height: 36px;
    border-radius: 999px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
}

.jd-author-tabs button.is-active {
    color: #fff;
    border-color: transparent;
    background: linear-gradient(135deg, #7c4dff, #5628ee);
    box-shadow: 0 10px 24px rgba(99,55,255,.18);
}

.jd-author-card {
    display: grid;
    grid-template-columns: 86px minmax(0,1fr);
    gap: 11px;
    border: 1px solid rgba(20,9,79,.08);
    background: #fff;
    border-radius: 18px;
    padding: 10px;
    color: inherit;
    text-decoration: none;
    box-shadow: 0 10px 26px rgba(25,16,84,.07);
}

.jd-author-card img, .jd-author-card-img {
    width: 86px;
    height: 86px;
    border-radius: 14px;
    object-fit: cover;
    background: linear-gradient(135deg, #ede8ff, #dff3ff);
}

.jd-author-type {
    display: inline-flex;
    align-items: center;
    border-radius: 999px;
    background: rgba(99,55,255,.10);
    color: #6337ff;
    padding: 3px 8px;
    font-size: .68rem;
    font-weight: 950;
    margin-bottom: 5px;
}

.jd-author-card strong {
    display: block;
    color: #120b46;
    font-size: .9rem;
    font-weight: 950;
    line-height: 1.18;
}

.jd-author-card small {
    display: block;
    color: #71698d;
    font-size: .74rem;
    font-weight: 800;
    margin-top: 4px;
}

.jd-author-card p {
    color: #4f4a68;
    font-size: .78rem;
    margin: 6px 0 0;
    line-height: 1.25;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

.jd-author-empty {
    border-radius: 16px;
    padding: 13px;
    background: rgba(20,9,79,.05);
    color: #71698d;
    font-size: .84rem;
    font-weight: 850;
}

@media (max-width: 767.98px) {
    .jd-card-comments, .jd-card-comments.is-maximized {
        position: fixed !important;
        inset: 0 !important;
        left: 0 !important;
        top: 0 !important;
        right: 0 !important;
        bottom: 0 !important;
        width: 100vw !important;
        height: 100dvh !important;
        min-width: 0 !important;
        min-height: 0 !important;
        max-width: none !important;
        max-height: none !important;
        border-radius: 0 !important;
        padding: 12px;
        resize: none !important;
    }

    .jd-card-comments .jd-comments-head {
        cursor: default !important;
    }

    .jd-comments-maximize {
        display: none !important;
    }

    .jd-comment-item.is-reply {
        margin-left: 14px;
    }

    .jd-emoji-picker {
        width: calc(100vw - 42px);
    }

    .jd-emoji-picker-grid {
        grid-template-columns: repeat(7, 1fr);
    }

    .jd-comment-submit {
        padding-inline: 16px;
    }
}

.jd-card-comments.is-maximized .jd-comments-list {
    min-height: 0;
}

.jd-card-comments.is-maximized .jd-emoji-picker {
    width: min(520px, calc(100vw - 56px));
    max-height: min(520px, calc(100vh - 170px));
}

.jd-card-comments.is-maximized .jd-emoji-picker-grid {
    grid-template-columns: repeat(10, 1fr);
    max-height: min(430px, calc(100vh - 260px));
}

.jd-comment-item.is-reply {
    position: relative;
    margin-left: 0;
    padding-left: 0;
    border-left: 0;
}

.jd-comment-item.is-newly-added .jd-comment-bubble {
    animation: jdCommentPulse 1.9s ease-out;
}

@keyframes jdCommentPulse {
    0% { box-shadow: 0 0 0 0 rgba(99,55,255,.26); border-color: rgba(99,55,255,.38); }
    100% { box-shadow: 0 0 0 12px rgba(99,55,255,0); border-color: rgba(20,9,79,.07); }
}

.jd-reply-context span {
    display: flex;
    flex-direction: column;
    gap: 2px;
    min-width: 0;
}

.jd-reply-context span strong {
    color: #33246f;
    font-size: .76rem;
    line-height: 1.15;
}

.jd-reply-context span small {
    color: #756e91;
    font-size: .72rem;
    line-height: 1.2;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    max-width: min(390px, 64vw);
}

.jd-comment-delete {
    color: #a42a4f !important;
}

.jd-comment-delete:disabled {
    opacity: .55;
    cursor: wait;
}

.jd-comment-item.is-deleted .jd-comment-bubble {
    background: rgba(20,9,79,.035);
    border-style: dashed;
}

.jd-comment-item.is-deleted .jd-comment-text {
    color: #8a84a1;
}

.jd-comment-author-deleted {
    color: #8a84a1;
    font-weight: 900;
}

.jd-comment-avatar-deleted {
    background: rgba(20,9,79,.06);
    color: #8a84a1;
    box-shadow: none;
}

@media (max-width: 767.98px) {
    .jd-comment-children {
        margin-left: 12px;
        padding-left: 10px;
    }

    .jd-comment-reply-preview {
        font-size: .7rem;
    }
}

.jd-comment-item.is-sending .jd-comment-bubble {
    opacity: .72;
    border-style: dashed;
}

.jd-comment-item.is-sending .jd-comment-kind {
    background: rgba(255,193,7,.18);
    color: #8a6400;
}

.jd-comment-actions .jd-comment-delete, .jd-comment-delete {
    color: #b9b4c8 !important;
    font-size: .72rem;
    font-weight: 850;
    letter-spacing: .01em;
}

.jd-comment-actions .jd-comment-delete:hover, .jd-comment-delete:hover {
    color: #8f88a3 !important;
}

@media (max-width: 767.98px) {
    .jd-comment-children {
        margin-left: 18px;
        padding-left: 14px;
    }

    .jd-comment-thread.is-child-thread::before {
        left: -14px;
        width: 11px;
    }

    .jd-comment-actions {
        gap: 12px;
    }

    .jd-comment-reply-preview small {
        max-width: 68vw;
    }
}

.jd-comment-time {
    margin-left: auto;
    color: #8a84a1;
    font-size: .72rem;
    font-weight: 750;
    white-space: nowrap;
}

.jd-comment-text {
    min-height: 18px;
    color: #312d45;
    font-size: .9rem;
    line-height: 1.42;
    margin-top: 4px;
    overflow-wrap: anywhere;
    white-space: pre-wrap;
}

.jd-comment-actions button, .jd-reply-context button {
    border: 0;
    background: transparent;
    font-size: .78rem;
    font-weight: 850;
    padding: 0;
    line-height: 1.2;
}

.jd-comment-item.is-optimistic {
    opacity: 1;
}

.jd-comment-item.is-optimistic .jd-comment-time {
    color: #aaa4ba;
}

.jd-comment-submit:disabled {
    opacity: .85;
    cursor: default;
}

@media (max-width: 767.98px) {
    .jd-comment-thread.is-child-thread {
        margin-left: 22px;
    }

    .jd-comment-children {
        margin-left: 13px;
        padding-left: 16px;
    }

    .jd-comment-time {
        font-size: .68rem;
    }
}

.jd-comment-thread {
    flex-direction: column;
    gap: 8px;
    position: relative;
    display: block;
}

.jd-comment-reply-preview {
    line-height: 1.2;
    margin: 8px 0 7px;
    display: inline-flex;
    align-items: center;
    gap: 6px;
    margin-top: 6px;
    padding: 5px 8px;
    max-width: 100%;
    border-left: 3px solid rgba(122, 92, 255, .34);
    border-radius: 10px;
    background: linear-gradient(135deg, rgba(122, 92, 255, .08), rgba(110, 231, 255, .09));
    color: #655f7f;
    font-size: .78rem;
    font-weight: 800;
    display: flex !important;
    align-items: baseline !important;
    gap: 5px !important;
    margin: 4px 0 2px !important;
    padding: 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    color: #6f68a5 !important;
    box-shadow: none !important;
    font-size: .78rem !important;
    font-weight: 760 !important;
    line-height: 1.25 !important;
}

.jd-comment-item.is-optimistic .jd-comment-time, .jd-comment-submit:disabled {
    opacity: 1 !important;
}

@media (max-width: 767.98px) {
    .jd-comment-children {
        margin-left: 13px !important;
        padding-left: 18px !important;
    }

    .jd-comment-thread.is-child-thread::before {
        left: -18px !important;
        width: 13px !important;
    }

    .jd-comment-reply-preview small {
        max-width: 52vw;
    }
}

.jd-comments-head strong::after {
    content: none !important;
}

.jd-comments-head strong {
    display: block;
    color: #120b46;
    line-height: 1.15;
    font-size: 1rem;
}

.jd-comment-thread, .jd-comment-thread.is-child-thread {
    position: relative;
}

.jd-comment-thread.is-child-thread {
    margin-left: 42px;
    position: relative;
    margin-left: 34px !important;
    padding-left: 18px !important;
}

.jd-comment-children {
    margin-left: 30px;
    margin: 8px 0 0 17px;
    padding-left: 22px;
    border-left: 2px solid rgba(122, 92, 255, .22);
    position: relative;
    margin: 8px 0 0 17px !important;
    border-left: 2px solid rgba(124, 92, 255, .20) !important;
    display: flex;
    flex-direction: column;
    gap: 10px;
    position: relative !important;
    margin-left: 18px !important;
    padding-left: 24px !important;
}

.jd-comment-children::before {
    content: "";
    position: absolute;
    left: -2px;
    top: 0;
    width: 22px;
    height: 20px;
    border-bottom: 2px solid rgba(122, 92, 255, .22);
    border-bottom-left-radius: 12px;
    display: none !important;
    content: "" !important;
    position: absolute !important;
    left: 0 !important;
    top: 0 !important;
    bottom: 12px !important;
    width: 0 !important;
    border-left: 2px solid rgba(124, 92, 255, .22) !important;
    border-radius: 0 !important;
}

.jd-comment-thread.is-child-thread::before {
    left: -22px;
    top: 30px;
    width: 17px;
    height: 2px;
    background: rgba(99,55,255,.17);
    border-radius: 999px;
    content: "";
    position: absolute;
    border-left: 2px solid rgba(124, 92, 255, .20);
    border-bottom: 2px solid rgba(124, 92, 255, .20);
    border-bottom-left-radius: 12px;
    content: "" !important;
    position: absolute !important;
    left: -24px !important;
    top: 19px !important;
    width: 24px !important;
    height: 0 !important;
    border: 0 !important;
    border-top: 2px solid rgba(124, 92, 255, .22) !important;
    border-radius: 0 !important;
    background: transparent !important;
}

.jd-comment-item.is-reply::before {
    content: "";
    position: absolute;
    left: -2px;
    top: 18px;
    width: 14px;
    border-top: 2px solid rgba(122,92,255,.26);
    display: none;
    display: none !important;
}

.jd-comment-actions {
    grid-template-columns: 1fr auto;
    display: inline-flex;
    align-items: center;
    justify-content: flex-start;
    gap: 7px;
    margin-top: 8px;
    padding-top: 0;
    border-top: 0;
    color: #9a94ad;
    font-size: .78rem;
    padding-top: 0 !important;
    border-top: 0 !important;
    color: #b8b2c7 !important;
    display: inline-flex !important;
    align-items: center !important;
    gap: 7px !important;
    margin-top: 5px !important;
    padding: 0 !important;
    border: 0 !important;
    font-size: .78rem !important;
    line-height: 1.2 !important;
}

.jd-comment-actions button, .jd-comment-actions .jd-comment-reply, .jd-comment-actions .jd-comment-delete, .jd-reply-context button {
    appearance: none !important;
    border: 0 !important;
    outline: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    border-radius: 0 !important;
    padding: 0 !important;
    min-width: 0 !important;
    min-height: 0 !important;
    height: auto !important;
    color: inherit !important;
    font-size: .78rem !important;
    font-weight: 850 !important;
    line-height: 1.2 !important;
}

.jd-comment-actions .jd-comment-delete {
    color: #b7b1c4;
    font-weight: 800;
    color: #c7c1d0 !important;
    font-weight: 800 !important;
}

.jd-comment-actions .jd-comment-delete:hover {
    color: #8f879f;
    text-decoration: underline;
    color: #9b94a8 !important;
    text-decoration: underline !important;
}

.jd-comment-actions .jd-comment-reply {
    justify-self: end;
    box-shadow: 0 8px 18px rgba(99,55,255,.07);
    color: #514b64;
    padding: 0;
    border-radius: 0;
    background: transparent;
    background: transparent !important;
    border-radius: 0 !important;
    padding: 0 !important;
    color: #363046 !important;
    font-weight: 900 !important;
}

.jd-comment-actions .jd-comment-reply:hover {
    color: #6337ff;
    background: transparent;
    text-decoration: underline;
    color: #5f39ff !important;
    text-decoration: underline !important;
}

.jd-comment-action-dot {
    color: #b8b2c7;
    font-weight: 800;
    color: #c6c1cf !important;
    font-weight: 800 !important;
}

@media (max-width: 575.98px) {
    .jd-comment-thread.is-child-thread {
        margin-left: 22px !important;
        padding-left: 14px !important;
    }

    .jd-comment-children {
        margin-left: 12px !important;
        padding-left: 18px !important;
    }

    .jd-comment-thread.is-child-thread::before {
        left: -18px !important;
        width: 18px !important;
    }
}

.jd-comment-thread, .jd-comment-thread.is-child-thread, .jd-comment-children {
    display: contents !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
}

.jd-comment-thread::before, .jd-comment-thread.is-child-thread::before, .jd-comment-children::before, .jd-comment-item::before, .jd-comment-item.is-reply::before {
    display: none !important;
    content: none !important;
}

.jd-comment-item, .jd-comment-item.is-reply {
    display: grid;
    margin-left: 0;
    padding-left: 0;
    border-left: 0;
    position: relative;
    grid-template-columns: 34px minmax(0, 1fr);
    gap: 10px;
    align-items: flex-start;
    margin-left: 0 !important;
    padding-left: 0 !important;
    border-left: 0 !important;
    display: grid !important;
    grid-template-columns: 34px minmax(0, 1fr) !important;
    gap: 10px !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    align-items: flex-start !important;
}

.jd-comment-main {
    min-width: 0;
    padding: 2px 0 0;
    padding-top: 1px;
    min-width: 0 !important;
    padding: 0 !important;
}

.jd-comment-row-head {
    display: flex;
    justify-content: flex-start;
    gap: 8px;
    min-width: 0;
    color: #120b46;
    font-size: .82rem;
    font-weight: 900;
    align-items: baseline;
    margin-bottom: 2px !important;
}

.jd-comment-reply-preview, .jd-comment-reply-preview:hover, .jd-comment-reply-preview:focus {
    appearance: none !important;
    border: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    padding: 0 !important;
    margin: 2px 0 4px !important;
    border-radius: 0 !important;
    display: inline-flex !important;
    align-items: baseline !important;
    gap: 5px !important;
    max-width: 100% !important;
    color: #6f68a5 !important;
    font-size: .78rem !important;
    font-weight: 800 !important;
    line-height: 1.25 !important;
    cursor: pointer !important;
}

.jd-comment-reply-preview:hover span, .jd-comment-reply-preview:focus span {
    text-decoration: underline !important;
}

.jd-comment-reply-preview i {
    margin-top: 1px;
    color: #7c4dff;
    font-size: .86rem;
    margin: 0 !important;
    color: #6f35ff !important;
    font-size: .78rem !important;
    line-height: 1 !important;
}

.jd-comment-reply-preview span {
    flex-direction: column;
    display: inline-flex;
    align-items: baseline;
    gap: 5px;
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    display: inline !important;
    min-width: 0 !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    white-space: nowrap !important;
}

.jd-comment-reply-preview strong {
    color: #4d3fe2;
    white-space: nowrap;
    font-weight: 900;
    color: #5f39ff !important;
    font-weight: 900 !important;
}

.jd-comment-reply-preview small {
    display: block;
    line-height: 1.18;
    max-width: min(520px, 58vw);
    color: #756e91;
    font-size: .76rem;
    font-weight: 750;
    margin-left: 4px;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    color: #746c89 !important;
    font-size: .76rem !important;
    font-weight: 750 !important;
    margin-left: 4px !important;
}

.jd-comment-item.is-jump-highlight .jd-comment-main {
    animation: jdCommentJumpFlash 1.6s ease both;
    border-radius: 12px;
}

@keyframes jdCommentJumpFlash {
    0% { background: rgba(99,55,255,.14); box-shadow: 0 0 0 8px rgba(99,55,255,.10); }
    100% { background: transparent; box-shadow: 0 0 0 0 rgba(99,55,255,0); }
}

.jd-reply-context {
    display: flex;
    justify-content: space-between;
    gap: 8px;
    color: #6f68a5;
    background: rgba(122,92,255,.08);
    border-radius: 12px;
    padding: 7px 9px;
    margin-bottom: 7px;
    font-size: .76rem;
    font-weight: 850;
    align-items: flex-start;
    grid-area: reply !important;
    margin: 0 0 2px !important;
    padding: 0 0 6px !important;
    background: transparent !important;
    border: 0 !important;
    border-bottom: 1px solid rgba(20,9,79,.07) !important;
    border-radius: 0 !important;
    box-shadow: none !important;
}

.jd-comment-form textarea:focus {
    border-color: rgba(99,55,255,.45);
    box-shadow: 0 0 0 4px rgba(99,55,255,.10);
    border: 0 !important;
    box-shadow: none !important;
}

.jd-comment-toolbar {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    margin-top: 9px;
    display: contents !important;
    margin: 0 !important;
}

.jd-comment-error {
    margin-top: 7px;
    border-radius: 12px;
    padding: 8px 10px;
    background: rgba(213,72,110,.08);
    color: #9b2447;
    font-size: .78rem;
    font-weight: 850;
    grid-area: error !important;
    margin-top: 0 !important;
}

@media (max-width: 575.98px) {
    .jd-comment-form {
        grid-template-columns: 40px minmax(0, 1fr) 50px !important;
        border-radius: 20px !important;
    }

    .jd-comment-submit {
        width: 44px !important;
        height: 44px !important;
        min-width: 44px !important;
    }
}

.jd-comment-form {
    margin-top: 10px;
    flex: 0 0 auto;
    position: relative !important;
    display: grid !important;
    grid-template-areas: "reply reply reply"
        "emoji text send"
        "error error error" !important;
    border: 1px solid rgba(20,9,79,.10) !important;
    background: rgba(255,255,255,.98) !important;
    box-shadow: 0 10px 30px rgba(25,16,84,.06) !important;
    overflow: visible !important;
    grid-template-columns: 38px minmax(0, 1fr) 48px !important;
    align-items: center !important;
    gap: 7px !important;
    margin-top: 8px !important;
    padding: 6px 8px !important;
    border-radius: 20px !important;
    min-height: 56px !important;
}

.jd-comment-form textarea {
    width: 100%;
    resize: vertical;
    border: 1px solid rgba(20,9,79,.10);
    border-radius: 15px;
    background: #fff;
    padding: 10px 11px;
    color: #120b46;
    font-size: .86rem;
    outline: none;
    min-height: 76px;
    max-height: 220px;
    caret-color: #6337ff;
    transition: border-color .12s ease, box-shadow .12s ease;
    grid-area: text !important;
    resize: none !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    font-size: .94rem !important;
    min-height: 38px !important;
    height: 38px !important;
    max-height: 120px !important;
    padding: 8px 4px 6px !important;
    line-height: 1.35 !important;
    align-self: center !important;
    overflow-y: auto !important;
}

.jd-comment-form textarea::placeholder {
    line-height: 1.35 !important;
}

.jd-emoji-wrap {
    position: relative;
    grid-area: emoji !important;
    justify-self: start !important;
    align-self: center !important;
}

.jd-emoji-open {
    border: 1px solid rgba(20,9,79,.10);
    background: #fff;
    color: #2a215e;
    border-radius: 999px;
    width: 36px;
    height: 36px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: 1.05rem;
    box-shadow: 0 8px 18px rgba(25,16,84,.06);
    border-radius: 999px !important;
    background: #fff !important;
    border: 1px solid rgba(20,9,79,.10) !important;
    box-shadow: 0 8px 18px rgba(25,16,84,.06) !important;
    width: 34px !important;
    height: 34px !important;
    min-width: 34px !important;
}

.jd-comment-submit {
    border: 0;
    border-radius: 999px;
    padding: 10px 18px;
    font-weight: 900;
    color: #fff;
    background: linear-gradient(135deg, #7c4dff, #5628ee);
    box-shadow: 0 10px 24px rgba(99,55,255,.20);
    white-space: nowrap;
    grid-area: send !important;
    justify-self: end !important;
    padding: 0 !important;
    border-radius: 999px !important;
    font-size: 0 !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    align-self: center !important;
    width: 42px !important;
    height: 42px !important;
    min-width: 42px !important;
}

.jd-comment-submit::before {
    content: "";
    font-family: "bootstrap-icons";
    font-size: 1.18rem;
    line-height: 1;
    font-size: 1.08rem !important;
}

.jd-reply-context:not(.d-none) + textarea, .jd-reply-context[style*="display: block"] + textarea {
    height: 42px !important;
}

.jd-card-comments.is-maximized .jd-comment-form textarea {
    min-height: 120px;
    max-height: 32vh;
    min-height: 38px !important;
    height: 38px !important;
    max-height: 130px !important;
}

@media (max-width: 575.98px) {
    .jd-comment-form {
        grid-template-columns: 36px minmax(0, 1fr) 46px !important;
        padding: 6px 8px !important;
        min-height: 54px !important;
        border-radius: 19px !important;
    }

    .jd-comment-form textarea {
        min-height: 36px !important;
        height: 36px !important;
        padding: 7px 3px 5px !important;
    }

    .jd-emoji-open {
        width: 32px !important;
        height: 32px !important;
        min-width: 32px !important;
    }

    .jd-comment-submit {
        width: 40px !important;
        height: 40px !important;
        min-width: 40px !important;
    }
}

.jd-comment-text .jd-inline-emoji, .jd-reply-preview .jd-inline-emoji {
    display: inline-block;
    font-family: "Apple Color Emoji", "Segoe UI Emoji", "Noto Color Emoji", sans-serif;
    font-size: 1.32em;
    line-height: 1;
    vertical-align: -0.14em;
    margin: 0 .03em;
}

.jd-comment-edit {
    border: 0;
    background: transparent;
    padding: 0;
    color: #8f86a9;
    font: inherit;
    font-weight: 800;
    cursor: pointer;
}

.jd-comment-edit:hover {
    color: #5f35ff;
}

.jd-comment-text .jd-inline-emoji, .jd-chat-bubble .jd-inline-emoji, .jd-message-text .jd-inline-emoji, .jd-msg-text .jd-inline-emoji, .jd-bubble-text .jd-inline-emoji {
    font-size: 1.28em;
    line-height: 1;
    vertical-align: -0.12em;
}

.jd-comment-link {
    color: #5f35ff;
    font-weight: 850;
    text-decoration: none;
    word-break: break-word;
}

.jd-comment-link:hover {
    color: #3f20d9;
    text-decoration: underline;
}

.jd-comments-toggle, button.jd-comments-toggle, [data-jd-comments-toggle="1"].jd-comments-toggle {
    border-color: rgba(18, 11, 70, .22) !important;
    color: #120b46 !important;
    background: rgba(18, 11, 70, .045) !important;
    box-shadow: 0 14px 32px rgba(18, 11, 70, .08) !important;
}

.jd-comments-toggle i, [data-jd-comments-toggle="1"].jd-comments-toggle i {
    color: #120b46 !important;
}

.jd-comments-toggle:hover, [data-jd-comments-toggle="1"].jd-comments-toggle:hover {
    border-color: rgba(18, 11, 70, .34) !important;
    background: rgba(18, 11, 70, .075) !important;
}

.jd-comments-toggle .jd-comment-count, [data-jd-comments-toggle="1"] .jd-comment-count {
    background: #120b46 !important;
    color: #ffffff !important;
}

.jd-comments-toggle .jd-comment-count, [data-jd-comments-toggle="1"] .jd-comment-count, .jd-comment-count {
    background: transparent !important;
    color: #120b46 !important;
    min-width: 0 !important;
    height: auto !important;
    padding: 0 !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    font-size: .78rem !important;
    font-weight: 950 !important;
    line-height: 1 !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    transform: none !important;
}

.jd-author-tabs button.is-active span {
    color: #5628ee;
    background: rgba(255,255,255,.92);
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    line-height: 20px !important;
    transform: none !important;
    top: 0 !important;
}

body.jd-comment-focus-mode #jdGalleryGrid .jd-comment-focus-hidden {
    display: none !important;
}

body.jd-comment-focus-mode #jdGalleryGrid .jd-comment-focus-card {
    display: flex !important;
}

body.jd-details-open #jdDetailsOverlay, #jdDetailsOverlay.is-open {
    z-index: 2147483647 !important;
}

body.jd-details-open .jd-card-comments, body.jd-details-open .jd-card-comments.is-maximized, body.jd-details-open .jd-author-panel {
    z-index: 2147480000 !important;
}

.jd-author-panel-user, .jd-author-panel-user > div {
    min-width: 0 !important;
}

@media (max-width: 576px) {
    .jd-author-panel-user strong {
        font-size: .76rem !important;
        max-width: calc(100vw - 138px) !important;
    }

    .jd-author-panel-user span {
        font-size: .68rem !important;
    }
}

body.jd-details-open .jd-author-panel, body.jd-details-open .jd-card-comments {
    z-index: 1000 !important;
}

body.jd-details-open .jd-author-panel.jd-below-details, body.jd-details-open .jd-card-comments.jd-below-details {
    visibility: hidden !important;
    pointer-events: none !important;
}

.jd-author-panel-user span {
    color: #756e91;
    font-size: .78rem;
    font-weight: 800;
    display: block !important;
    font-size: .70rem !important;
    line-height: 1.1 !important;
}

@media (max-width: 576px) {
    .jd-author-panel {
        width: min(100vw, 390px) !important;
        max-width: 100vw !important;
        min-width: 0 !important;
        padding: 12px !important;
    }

    .jd-author-avatar {
        width: 32px !important;
        height: 32px !important;
        min-width: 32px !important;
    }

    .jd-author-panel-close {
        width: 32px !important;
        height: 32px !important;
        min-width: 32px !important;
    }

    .jd-author-panel-user {
        gap: 7px !important;
    }

    .jd-author-panel-user strong {
        max-width: calc(100vw - 122px) !important;
        font-size: .72rem !important;
        letter-spacing: -.01em !important;
    }

    .jd-author-panel-user span {
        font-size: .66rem !important;
    }

    .jd-author-tabs {
        gap: 6px !important;
        margin: 12px 0 12px !important;
    }

    .jd-author-tabs button {
        padding: 7px 5px !important;
        gap: 4px !important;
        font-size: .70rem !important;
        border-radius: 16px !important;
    }

    .jd-author-tabs button span {
        min-width: 20px !important;
        height: 17px !important;
        padding: 0 5px !important;
        font-size: .58rem !important;
    }
}

body.jd-details-open .jd-author-panel, body.jd-details-open .jd-card-comments, body.jd-details-open .jd-author-panel.jd-below-details, body.jd-details-open .jd-card-comments.jd-below-details {
    visibility: visible !important;
    pointer-events: auto !important;
}

body.jd-details-open .jd-author-panel {
    z-index: 2147482500 !important;
}

body.jd-details-open .jd-card-comments, body.jd-details-open .jd-card-comments.is-maximized {
    z-index: 2147482400 !important;
}

#jdDetailsOverlay.is-open, body.jd-details-open #jdDetailsOverlay {
    position: fixed !important;
    inset: 0 !important;
    z-index: 2147483647 !important;
}

/* Details normally owns the top application layer. While a photo/video viewer is
   open, keep Details immediately underneath that viewer so media launched from
   inside Details is visible without closing the details overlay first. */
body.jd-media-modal-open #jdDetailsOverlay.is-open,
body.jd-details-open.jd-media-modal-open #jdDetailsOverlay,
body.jd-media-modal-open .jd-details-overlay.is-open {
    z-index: var(--jd-app-under-media-z, 2147483000) !important;
}

.jd-author-panel {
    position: fixed;
    top: 0;
    right: 0;
    bottom: 0;
    z-index: 2147482500;
    width: min(430px, 94vw);
    min-width: min(360px, 94vw);
    max-width: calc(100vw - 24px);
    background: rgba(255,255,255,.98);
    border-left: 1px solid rgba(20,9,79,.10);
    box-shadow: -20px 0 60px rgba(25,16,84,.16);
    backdrop-filter: blur(14px);
    display: flex;
    flex-direction: column;
    padding: 18px;
    overflow: hidden !important;
}

.jd-author-posts {
    overflow: auto;
    display: flex;
    flex-direction: column;
    gap: 12px;
    padding-right: 2px;
    overflow-y: auto !important;
    overflow-x: hidden !important;
    scrollbar-width: none !important;
    -ms-overflow-style: none !important;
}

.jd-author-posts::-webkit-scrollbar {
    width: 0 !important;
    height: 0 !important;
    display: none !important;
}

@media (max-width: 576px) {
    .jd-author-panel-user strong {
        font-size: .68rem !important;
        max-width: calc(100vw - 122px) !important;
    }

    .jd-author-tabs {
        gap: 5px !important;
    }

    .jd-author-tabs button {
        padding: 7px 4px !important;
        font-size: .66rem !important;
    }

    .jd-author-tabs button span {
        min-width: 18px !important;
        padding: 0 4px !important;
        font-size: .56rem !important;
    }
}

body.jd-comments-modal-open {
    overflow: hidden !important;
    overscroll-behavior: none !important;
}

.jd-card-comments, .jd-card-comments .jd-comments-list {
    scrollbar-width: none !important;
    -ms-overflow-style: none !important;
}

.jd-card-comments::-webkit-scrollbar, .jd-card-comments .jd-comments-list::-webkit-scrollbar {
    width: 0 !important;
    height: 0 !important;
    display: none !important;
}

.jd-comments-list {
    display: flex;
    flex-direction: column;
    overflow: auto;
    flex: 1 1 auto;
    min-height: 120px;
    scroll-behavior: auto;
    padding: 0 6px 0 0;
    gap: 6px;
    gap: 14px !important;
    padding: 2px 10px 8px 0 !important;
    overflow-y: auto !important;
    overflow-x: hidden !important;
    overscroll-behavior: contain !important;
    padding-right: 0 !important;
}

.jd-author-panel, .jd-author-panel * {
    box-sizing: border-box;
}

.jd-author-panel-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    width: 100% !important;
    min-width: 0 !important;
}

.jd-author-panel-user {
    display: flex;
    align-items: center;
    gap: 10px;
    min-width: 0;
    flex: 1 1 auto;
    max-width: calc(100% - 48px);
    min-width: 0 !important;
    flex: 1 1 auto !important;
    overflow: hidden !important;
}

.jd-author-panel-user > div {
    min-width: 0;
    flex: 1 1 auto;
    min-width: 0 !important;
    overflow: hidden !important;
}

.jd-author-panel-user strong {
    display: block;
    color: #120b46;
    font-size: .92rem;
    line-height: 1.12;
    font-weight: 950;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    max-width: min(300px, calc(100vw - 150px));
    display: block !important;
    max-width: 100% !important;
    font-size: .72rem !important;
    line-height: 1.05 !important;
    letter-spacing: -.015em !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    white-space: nowrap !important;
}

.jd-author-tabs {
    display: flex;
    gap: 8px;
    margin: 16px 0 14px;
    display: grid !important;
    gap: 7px !important;
    width: 100% !important;
    max-width: 100% !important;
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    align-items: center !important;
}

.jd-author-tabs button {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    border: 1px solid rgba(20,9,79,.10);
    background: #fff;
    color: #25185c;
    border-radius: 999px;
    padding: 8px 13px;
    font-weight: 900;
    font-size: .84rem;
    align-items: center !important;
    font-size: .78rem !important;
    padding-left: 7px !important;
    padding-right: 7px !important;
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
    justify-content: center !important;
    padding: 7px 6px !important;
    gap: 4px !important;
    overflow: hidden !important;
    white-space: nowrap !important;
}

.jd-author-tabs button span {
    min-width: 24px;
    height: 20px;
    padding: 0 7px;
    border-radius: 999px;
    background: rgba(99,55,255,.10);
    color: #6337ff;
    font-size: .68rem;
    line-height: 1;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    transform: translateY(0);
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    line-height: 20px !important;
    box-sizing: border-box !important;
    vertical-align: middle !important;
    transform: none !important;
    position: relative !important;
    top: 0 !important;
    height: 18px !important;
    font-size: .64rem !important;
    flex: 0 1 auto !important;
    min-width: 0 !important;
    max-width: 34px !important;
    padding: 0 6px !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
}

@media (max-width: 767.98px) {
    .jd-author-panel {
        left: 0 !important;
        right: 0 !important;
        top: 0 !important;
        bottom: 0 !important;
        width: 100vw !important;
        max-width: 100vw !important;
        min-width: 0 !important;
        height: 100dvh !important;
        padding: 10px !important;
        border-left: 0 !important;
        border-radius: 0 !important;
        resize: none !important;
    }

    .jd-author-resize {
        display: none !important;
    }

    .jd-author-panel-head {
        gap: 7px !important;
        align-items: flex-start !important;
    }

    .jd-author-avatar {
        width: 30px !important;
        height: 30px !important;
        min-width: 30px !important;
        flex-basis: 30px !important;
        font-size: .68rem !important;
    }

    .jd-author-panel-close {
        width: 31px !important;
        height: 31px !important;
        min-width: 31px !important;
        flex-basis: 31px !important;
    }

    .jd-author-panel-user {
        gap: 7px !important;
        max-width: calc(100vw - 61px) !important;
    }

    .jd-author-panel-user strong {
        font-size: clamp(.58rem, 2.55vw, .68rem) !important;
        line-height: 1.08 !important;
        white-space: normal !important;
        display: -webkit-box !important;
        -webkit-line-clamp: 2 !important;
        -webkit-box-orient: vertical !important;
        word-break: break-word !important;
        overflow-wrap: anywhere !important;
    }

    .jd-author-panel-user span {
        font-size: .64rem !important;
        line-height: 1.05 !important;
        margin-top: 2px !important;
    }

    .jd-author-tabs {
        display: grid !important;
        grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
        gap: 5px !important;
        margin: 10px 0 10px !important;
    }

    .jd-author-tabs button {
        min-height: 36px !important;
        padding: 6px 4px !important;
        gap: 3px !important;
        border-radius: 18px !important;
        font-size: clamp(.62rem, 2.6vw, .72rem) !important;
        line-height: 1 !important;
    }

    .jd-author-tabs button span {
        height: 16px !important;
        max-width: 30px !important;
        padding: 0 4px !important;
        font-size: clamp(.49rem, 2.05vw, .57rem) !important;
        line-height: 16px !important;
    }

    .jd-author-posts {
        gap: 9px !important;
        padding-right: 0 !important;
    }

    .jd-author-card {
        grid-template-columns: 74px minmax(0, 1fr) !important;
        gap: 9px !important;
        padding: 9px !important;
        border-radius: 16px !important;
    }

    .jd-author-card img, .jd-author-card-img {
        width: 74px !important;
        height: 74px !important;
        border-radius: 13px !important;
    }

    .jd-author-card strong {
        font-size: .78rem !important;
        line-height: 1.12 !important;
    }

    .jd-author-card small {
        font-size: .64rem !important;
        line-height: 1.2 !important;
    }

    .jd-author-card p {
        font-size: .70rem !important;
        line-height: 1.2 !important;
    }
}

@media (max-width: 380px) {
    .jd-author-panel {
        padding: 8px !important;
    }

    .jd-author-tabs {
        gap: 4px !important;
    }

    .jd-author-tabs button {
        padding-left: 3px !important;
        padding-right: 3px !important;
        font-size: .60rem !important;
    }

    .jd-author-tabs button span {
        max-width: 27px !important;
        padding: 0 3px !important;
        font-size: .50rem !important;
    }
}

.jd-card-comments, .jd-card-comments .jd-comments-list, .jd-author-posts {
    scrollbar-width: auto !important;
    -ms-overflow-style: auto !important;
}

.jd-card-comments::-webkit-scrollbar, .jd-card-comments .jd-comments-list::-webkit-scrollbar, .jd-author-posts::-webkit-scrollbar {
    width: 8px !important;
    height: 8px !important;
    display: block !important;
}

.jd-card-comments::-webkit-scrollbar-thumb, .jd-card-comments .jd-comments-list::-webkit-scrollbar-thumb, .jd-author-posts::-webkit-scrollbar-thumb {
    background: rgba(18, 11, 70, .26) !important;
    border-radius: 999px !important;
}

.jd-card-comments::-webkit-scrollbar-track, .jd-card-comments .jd-comments-list::-webkit-scrollbar-track, .jd-author-posts::-webkit-scrollbar-track {
    background: rgba(18, 11, 70, .06) !important;
    border-radius: 999px !important;
}

.jd-comments-list, .jd-author-posts {
    overflow-y: auto !important;
    overflow-x: hidden !important;
}

body.jd-comments-modal-open .jd-navbar-wrap, html.jd-comments-modal-open .jd-navbar-wrap {
    transform: translate3d(0, calc(-100% - 8px), 0) !important;
    pointer-events: none !important;
    visibility: hidden !important;
}

.jd-card-comments {
    position: fixed;
    left: 12px;
    right: auto;
    top: 12px;
    bottom: auto;
    z-index: 2147482000;
    width: min(520px, calc(100vw - 24px));
    height: 470px;
    min-width: 330px;
    min-height: 360px;
    max-width: calc(100vw - 20px);
    max-height: calc(100vh - 20px);
    resize: both;
    padding: 14px;
    border: 1px solid rgba(20,9,79,.10);
    border-radius: 22px;
    background: rgba(255,255,255,.98);
    box-shadow: 0 22px 55px rgba(25,16,84,.18);
    backdrop-filter: blur(14px);
    display: flex;
    flex-direction: column;
    overflow: auto;
    overscroll-behavior: contain !important;
    overflow-y: auto !important;
    overflow-x: hidden !important;
    padding: 18px 28px 18px 28px !important;
}

.jd-card-comments.is-maximized {
    left: 0 !important;
    right: auto !important;
    bottom: auto !important;
    top: 0 !important;
    border-radius: 0;
    padding: 22px;
    position: fixed !important;
    inset: 0 !important;
    width: 100vw !important;
    height: 100vh !important;
    max-width: none;
    max-height: none;
    resize: none;
    z-index: 2147482400;
    padding: 28px 42px !important;
}

.jd-card-comments .jd-comments-list {
    padding: 4px 14px 10px 0 !important;
}

.jd-comments-head [data-jd-comments-maximize] i.bi-arrows-angle-expand, .jd-comments-head [data-jd-comments-maximize] i.bi-arrows-angle-contract {
    font-size: 1rem;
    line-height: 1;
    color: #4f6fff;
    font-size: 1.04rem !important;
    line-height: 1 !important;
    color: #25185c !important;
}

@media (max-width: 767.98px) {
    .jd-card-comments, .jd-card-comments.is-maximized {
        padding: 16px 20px !important;
    }

    .jd-card-comments .jd-comments-list {
        padding-right: 8px !important;
    }
}

.jd-comment-avatar-zoomable {
    cursor: zoom-in;
    transition: transform .16s ease, box-shadow .16s ease, filter .16s ease;
}

.jd-comment-avatar-zoomable:hover, .jd-comment-avatar-zoomable:focus-visible {
    transform: scale(1.06);
    box-shadow: 0 12px 26px rgba(25,16,84,.18);
    filter: saturate(1.04);
    outline: none;
}

.jd-author-panel[data-jd-author-mode="match"] .jd-author-panel-user strong {
    max-width: 280px;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.jd-author-match-score {
    align-self: start;
    justify-self: end;
    min-width: 44px;
    height: 44px;
    border-radius: 999px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: .74rem;
    font-weight: 950;
    color: #5c2cff;
    background: rgba(99,55,255,.09);
    border: 1px solid rgba(99,55,255,.18);
}

.jd-author-match-reasons {
    display: flex !important;
    flex-wrap: wrap;
    gap: 5px;
    margin-top: 7px !important;
    -webkit-line-clamp: unset !important;
}

.jd-author-match-reasons em {
    font-style: normal;
    border-radius: 999px;
    padding: 3px 7px;
    background: rgba(99,55,255,.08);
    color: #5b35f5;
    font-size: .68rem;
    font-weight: 900;
    line-height: 1;
}

.jd-author-panel[data-jd-author-mode="match"] .jd-author-card {
    grid-template-columns: 86px minmax(0,1fr) auto;
}

@media (max-width: 560px) {
    .jd-author-panel[data-jd-author-mode="match"] .jd-author-card {
        grid-template-columns: 74px minmax(0,1fr);
    }

    .jd-author-match-score {
        grid-column: 2;
        justify-self: start;
        height: 34px;
        min-width: 38px;
    }
}

.jd-author-panel .jd-author-search, .jd-author-panel[data-jd-author-panel="1"] .jd-author-search {
    position: sticky;
    top: 0;
    z-index: 4;
    display: grid !important;
    grid-template-columns: 26px minmax(0, 1fr) 38px !important;
    align-items: center !important;
    gap: 8px !important;
    width: 100% !important;
    min-height: 56px !important;
    margin: 10px 0 14px !important;
    padding: 8px 10px 8px 13px !important;
    border: 1px solid rgba(124, 77, 255, .20) !important;
    border-radius: 22px !important;
    background: rgba(255,255,255,.92) !important;
    box-shadow: 0 14px 34px rgba(20, 9, 79, .06) !important;
    backdrop-filter: blur(14px) !important;
}

.jd-author-panel .jd-author-search > i {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 26px !important;
    height: 26px !important;
    margin: 0 !important;
    color: #6d4dff !important;
    font-size: 1.1rem !important;
    line-height: 1 !important;
}

.jd-author-panel .jd-author-search input[type="search"], .jd-author-panel .jd-author-search input[data-jd-author-search="1"] {
    appearance: none !important;
    -webkit-appearance: none !important;
    display: block !important;
    width: 100% !important;
    min-width: 0 !important;
    height: 38px !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    outline: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    color: #191054 !important;
    font: inherit !important;
    font-size: .98rem !important;
    font-weight: 800 !important;
    line-height: 38px !important;
}

.jd-author-panel .jd-author-search input[type="search"]::placeholder {
    color: rgba(25,16,84,.52) !important;
    font-weight: 800 !important;
}

.jd-author-panel .jd-author-search input[type="search"]::-webkit-search-decoration, .jd-author-panel .jd-author-search input[type="search"]::-webkit-search-cancel-button, .jd-author-panel .jd-author-search input[type="search"]::-webkit-search-results-button, .jd-author-panel .jd-author-search input[type="search"]::-webkit-search-results-decoration {
    -webkit-appearance: none !important;
    appearance: none !important;
    display: none !important;
}

.jd-author-panel .jd-author-search button[data-jd-author-search-clear="1"] {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 38px !important;
    height: 38px !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    border-radius: 50% !important;
    background: rgba(124, 77, 255, .10) !important;
    color: #6d4dff !important;
    box-shadow: none !important;
    cursor: pointer !important;
}

.jd-author-panel .jd-author-search button[data-jd-author-search-clear="1"] i {
    font-size: 1.05rem !important;
    line-height: 1 !important;
}

.jd-author-panel .jd-author-search:focus-within {
    border-color: rgba(124,77,255,.38) !important;
    box-shadow: 0 16px 38px rgba(99,55,255,.12) !important;
}

.jd-author-panel .jd-author-skeleton {
    pointer-events: none !important;
    background: linear-gradient(90deg, rgba(255,255,255,.86), rgba(246,242,255,.9), rgba(255,255,255,.86)) !important;
    background-size: 220% 100% !important;
    animation: jd-author-skeleton-shimmer 1.05s ease-in-out infinite !important;
}

@keyframes jd-author-skeleton-shimmer { 0% { background-position: 100% 0; } 100% { background-position: -100% 0; } }

body .jd-author-panel[data-jd-author-panel="1"] {
    color: #17153f !important;
    font-family: Inter, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif !important;
}

body .jd-author-panel[data-jd-author-panel="1"] .jd-author-search > i {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 30px !important;
    height: 30px !important;
    margin: 0 !important;
    color: #6d4dff !important;
    font-size: 1.15rem !important;
    line-height: 1 !important;
}

body .jd-author-panel[data-jd-author-panel="1"] .jd-author-search input, body .jd-author-panel[data-jd-author-panel="1"] .jd-author-search input[type="search"], body .jd-author-panel[data-jd-author-panel="1"] .jd-author-search input[data-jd-author-search="1"] {
    -webkit-appearance: none !important;
    appearance: none !important;
    display: block !important;
    width: 100% !important;
    min-width: 0 !important;
    height: 40px !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    outline: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    color: #191054 !important;
    font-family: inherit !important;
    font-size: .98rem !important;
    font-weight: 850 !important;
    line-height: 40px !important;
}

body .jd-author-panel[data-jd-author-panel="1"] .jd-author-search input::-webkit-search-decoration, body .jd-author-panel[data-jd-author-panel="1"] .jd-author-search input::-webkit-search-cancel-button, body .jd-author-panel[data-jd-author-panel="1"] .jd-author-search input::-webkit-search-results-button, body .jd-author-panel[data-jd-author-panel="1"] .jd-author-search input::-webkit-search-results-decoration {
    -webkit-appearance: none !important;
    display: none !important;
}

body .jd-author-panel[data-jd-author-panel="1"] .jd-author-search:focus-within {
    border-color: rgba(124,77,255,.42) !important;
    box-shadow: 0 16px 38px rgba(99,55,255,.13) !important;
}

body .jd-author-panel[data-jd-author-panel="1"][data-jd-author-mode="match"] .jd-author-card {
    grid-template-columns: 86px minmax(0,1fr) auto !important;
}

body .jd-author-panel[data-jd-author-panel="1"] .jd-author-card img, body .jd-author-panel[data-jd-author-panel="1"] .jd-author-card-img {
    width: 86px !important;
    height: 86px !important;
    border-radius: 16px !important;
    object-fit: cover !important;
    background: linear-gradient(135deg, #ede8ff, #dff3ff) !important;
    box-shadow: none !important;
}

body .jd-author-panel[data-jd-author-panel="1"] .jd-author-type {
    display: inline-flex !important;
    align-items: center !important;
    width: fit-content !important;
    border-radius: 999px !important;
    background: rgba(99,55,255,.10) !important;
    color: #6337ff !important;
    padding: 4px 9px !important;
    font-size: .68rem !important;
    font-weight: 950 !important;
    line-height: 1 !important;
    margin: 0 0 6px !important;
}

body .jd-author-panel[data-jd-author-panel="1"] .jd-author-card strong {
    display: block !important;
    color: #120b46 !important;
    font-size: .98rem !important;
    font-weight: 950 !important;
    line-height: 1.15 !important;
    margin: 0 !important;
}

body .jd-author-panel[data-jd-author-panel="1"] .jd-author-card small {
    display: block !important;
    color: #71698d !important;
    font-size: .75rem !important;
    font-weight: 850 !important;
    line-height: 1.25 !important;
    margin-top: 4px !important;
}

body .jd-author-panel[data-jd-author-panel="1"] .jd-author-card p {
    color: #514b6b !important;
    font-size: .80rem !important;
    font-weight: 500 !important;
    margin: 7px 0 0 !important;
    line-height: 1.28 !important;
    display: -webkit-box !important;
    -webkit-line-clamp: 2 !important;
    -webkit-box-orient: vertical !important;
    overflow: hidden !important;
}

body .jd-author-panel[data-jd-author-panel="1"] .jd-author-match-reasons {
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 5px !important;
    margin-top: 8px !important;
    -webkit-line-clamp: unset !important;
}

body .jd-author-panel[data-jd-author-panel="1"] .jd-author-match-score {
    align-self: start !important;
    justify-self: end !important;
    min-width: 44px !important;
    height: 44px !important;
    border-radius: 999px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    font-size: .74rem !important;
    font-weight: 950 !important;
    color: #5c2cff !important;
    background: rgba(99,55,255,.09) !important;
    border: 1px solid rgba(99,55,255,.18) !important;
    box-shadow: none !important;
}

body .jd-author-panel[data-jd-author-panel="1"] .jd-author-search {
    overflow: hidden !important;
    position: sticky !important;
    top: 0 !important;
    z-index: 10 !important;
    display: grid !important;
    grid-template-columns: 28px minmax(0,1fr) 44px !important;
    align-items: center !important;
    gap: 10px !important;
    width: 100% !important;
    min-height: 58px !important;
    margin: 12px 0 14px !important;
    padding: 8px 10px 8px 15px !important;
    border: 1px solid rgba(124,77,255,.22) !important;
    border-radius: 23px !important;
    background: rgba(255,255,255,.94) !important;
    box-shadow: 0 16px 38px rgba(20,9,79,.075) !important;
    backdrop-filter: blur(16px) !important;
}

body .jd-author-panel[data-jd-author-panel="1"] .jd-author-search i {
    color: #6d4dff !important;
    font-size: 1.15rem !important;
    line-height: 1 !important;
}

body .jd-author-panel[data-jd-author-panel="1"] .jd-author-search input, body .jd-author-panel[data-jd-author-panel="1"] .jd-author-search input[type="search"] {
    -webkit-appearance: none !important;
    appearance: none !important;
    border: 0 !important;
    outline: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    width: 100% !important;
    height: 42px !important;
    color: #191054 !important;
    font: inherit !important;
    font-weight: 850 !important;
    font-size: 1rem !important;
    line-height: 42px !important;
    padding: 0 !important;
    margin: 0 !important;
}

body .jd-author-panel[data-jd-author-panel="1"] .jd-author-search input::placeholder {
    color: rgba(25,16,84,.48) !important;
    opacity: 1 !important;
    font-weight: 850 !important;
}

body .jd-author-panel[data-jd-author-panel="1"] .jd-author-search button[data-jd-author-search-clear="1"] {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 42px !important;
    height: 42px !important;
    min-width: 42px !important;
    border: 0 !important;
    border-radius: 999px !important;
    background: rgba(124,77,255,.10) !important;
    color: #6d4dff !important;
    box-shadow: none !important;
    padding: 0 !important;
    margin: 0 !important;
}

body .jd-author-panel[data-jd-author-panel="1"] .jd-author-match-reasons, body .jd-author-panel[data-jd-author-panel="1"] .jd-author-card p.jd-author-match-reasons {
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 6px !important;
    margin: 8px 0 0 !important;
    overflow: visible !important;
    white-space: normal !important;
    max-height: none !important;
    -webkit-line-clamp: unset !important;
    line-clamp: unset !important;
    -webkit-box-orient: initial !important;
}

body .jd-author-panel[data-jd-author-panel="1"] .jd-author-card {
    position: relative !important;
    display: grid !important;
    grid-template-columns: 86px minmax(0,1fr) !important;
    gap: 12px !important;
    align-items: start !important;
    border: 1px solid rgba(20,9,79,.08) !important;
    background: rgba(255,255,255,.96) !important;
    border-radius: 20px !important;
    padding: 12px !important;
    color: inherit !important;
    box-shadow: 0 12px 28px rgba(25,16,84,.075) !important;
    text-decoration: none !important;
}

.jd-author-found {
    color: #756c92 !important;
    font-size: .78rem !important;
    font-weight: 850 !important;
    margin: 0 0 10px 4px !important;
}

body .jd-author-panel[data-jd-author-panel="1"] .jd-author-posts {
    contain: layout paint !important;
}

body .jd-author-panel[data-jd-author-panel="1"] .jd-author-posts.is-soft-refreshing {
    opacity: 1 !important;
    filter: none !important;
}

body .jd-author-panel[data-jd-author-panel="1"] .jd-author-match-reasons, body .jd-author-panel[data-jd-author-panel="1"] p.jd-author-match-reasons {
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 6px !important;
    overflow: visible !important;
    white-space: normal !important;
    max-height: none !important;
    -webkit-line-clamp: unset !important;
    line-clamp: unset !important;
    -webkit-box-orient: initial !important;
}

body .jd-author-panel[data-jd-author-panel="1"] .jd-author-match-reasons em {
    align-items: center !important;
    display: inline-flex !important;
    flex: 0 0 auto !important;
    max-width: none !important;
    border-radius: 999px !important;
    padding: 5px 8px !important;
    background: rgba(99,55,255,.10) !important;
    color: #5b35f5 !important;
    font-style: normal !important;
    font-size: .68rem !important;
    font-weight: 950 !important;
    line-height: 1 !important;
    white-space: nowrap !important;
    overflow: visible !important;
    text-overflow: clip !important;
}

.jd-author-posts.jd-restore-silent, .jd-author-posts.jd-restore-silent * {
    scroll-behavior: auto !important;
    transition: none !important;
    animation: none !important;
}


/* jd-clean-v411: comments/author panels keep real scroll, transparent rail, no old white/purple channel. */
@media (min-width: 769px) {
    body.jd-comments-modal-open {
        overflow-y: auto !important;
        overflow-x: hidden !important;
        overscroll-behavior-y: auto !important;
        padding-right: 0 !important;
        scrollbar-gutter: auto !important;
    }

    .jd-card-comments {
        overflow-y: auto !important;
        overflow-x: hidden !important;
        padding-right: 8px !important;
        scrollbar-gutter: auto !important;
        scrollbar-width: thin !important;
        scrollbar-color: rgba(124, 92, 255, .86) transparent !important;
        -ms-overflow-style: auto !important;
    }

    .jd-card-comments .jd-comments-list {
        overflow-y: auto !important;
        overflow-x: hidden !important;
        overscroll-behavior-y: contain !important;
        scrollbar-width: none !important;
        -ms-overflow-style: none !important;
    }

    .jd-author-panel[data-jd-author-panel="1"] {
        overflow: hidden !important;
        padding-right: 8px !important;
    }

    .jd-author-panel[data-jd-author-panel="1"] .jd-author-posts {
        overflow-y: auto !important;
        overflow-x: hidden !important;
        overscroll-behavior-y: contain !important;
        scrollbar-width: thin !important;
        scrollbar-color: rgba(124, 92, 255, .86) transparent !important;
        -ms-overflow-style: auto !important;
    }

    .jd-card-comments::-webkit-scrollbar,
    .jd-author-panel[data-jd-author-panel="1"] .jd-author-posts::-webkit-scrollbar {
        width: 7px !important;
        height: 7px !important;
        background: transparent !important;
    }

    .jd-card-comments::-webkit-scrollbar-track,
    .jd-author-panel[data-jd-author-panel="1"] .jd-author-posts::-webkit-scrollbar-track,
    .jd-card-comments::-webkit-scrollbar-corner,
    .jd-author-panel[data-jd-author-panel="1"] .jd-author-posts::-webkit-scrollbar-corner {
        background: transparent !important;
        border: 0 !important;
        box-shadow: none !important;
    }

    .jd-card-comments::-webkit-scrollbar-thumb,
    .jd-author-panel[data-jd-author-panel="1"] .jd-author-posts::-webkit-scrollbar-thumb {
        min-height: 44px !important;
        border-radius: 999px !important;
        border: 0 !important;
        background: rgba(124, 92, 255, .86) !important;
    }

    .jd-card-comments .jd-comments-list::-webkit-scrollbar,
    .jd-author-panel[data-jd-author-panel="1"]::-webkit-scrollbar {
        width: 0 !important;
        height: 0 !important;
        display: none !important;
    }
}

@media (max-width: 768px), (hover: none) and (pointer: coarse) {
    .jd-card-comments,
    .jd-card-comments *,
    .jd-author-panel,
    .jd-author-panel * {
        scrollbar-width: none !important;
        -ms-overflow-style: none !important;
    }

    .jd-card-comments::-webkit-scrollbar,
    .jd-card-comments *::-webkit-scrollbar,
    .jd-author-panel::-webkit-scrollbar,
    .jd-author-panel *::-webkit-scrollbar {
        width: 0 !important;
        min-width: 0 !important;
        height: 0 !important;
        min-height: 0 !important;
        display: none !important;
        background: transparent !important;
    }
}


/* JD fix: edit-comment context must be a full-width composer row, never in the emoji/input column. */
.jd-comment-form {
    grid-template-areas:
        "reply reply reply"
        "edit edit edit"
        "emoji text send"
        "error error error" !important;
}

.jd-comment-form .jd-comment-edit-context[hidden],
.jd-comment-form [data-jd-edit-context="1"][hidden] {
    display: none !important;
}

.jd-comment-form .jd-comment-edit-context:not([hidden]),
.jd-comment-form [data-jd-edit-context="1"]:not([hidden]) {
    grid-area: edit !important;
    grid-column: 1 / -1 !important;
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
    display: flex !important;
    flex-direction: row !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 10px !important;
    margin: 0 0 2px 0 !important;
    padding: 7px 9px !important;
    border: 0 !important;
    border-bottom: 1px solid rgba(20, 9, 79, .07) !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    color: #6f68a5 !important;
    font-size: .78rem !important;
    font-weight: 850 !important;
    line-height: 1.2 !important;
    white-space: nowrap !important;
    overflow: hidden !important;
}

.jd-comment-form .jd-comment-edit-context:not([hidden]) > span,
.jd-comment-form [data-jd-edit-context="1"]:not([hidden]) > span {
    display: block !important;
    flex: 1 1 auto !important;
    min-width: 0 !important;
    max-width: calc(100% - 38px) !important;
    white-space: nowrap !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    line-height: 1.2 !important;
}

.jd-comment-form .jd-comment-edit-context:not([hidden]) strong,
.jd-comment-form [data-jd-edit-context="1"]:not([hidden]) strong {
    display: inline !important;
    white-space: nowrap !important;
    overflow-wrap: normal !important;
    word-break: normal !important;
    line-height: 1.2 !important;
}

.jd-comment-form .jd-comment-edit-context:not([hidden]) button,
.jd-comment-form [data-jd-edit-context="1"]:not([hidden]) button {
    flex: 0 0 30px !important;
    width: 30px !important;
    height: 30px !important;
    min-width: 30px !important;
    min-height: 30px !important;
    max-width: 30px !important;
    max-height: 30px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    padding: 0 !important;
    margin: 0 !important;
    border: 1px solid rgba(20, 9, 79, .10) !important;
    border-radius: 999px !important;
    background: #fff !important;
    color: #2a215e !important;
    box-shadow: 0 8px 18px rgba(25, 16, 84, .06) !important;
    font-size: .9rem !important;
    line-height: 1 !important;
}

/* JD final fix: edit comment banner must use the exact Reply banner row. */
.jd-comment-form {
    grid-template-areas:
        "reply reply reply"
        "emoji text send"
        "error error error" !important;
}

.jd-comment-form .jd-comment-edit-context[hidden],
.jd-comment-form [data-jd-edit-context="1"][hidden] {
    display: none !important;
}

.jd-comment-form .jd-comment-edit-context:not([hidden]),
.jd-comment-form [data-jd-edit-context="1"]:not([hidden]) {
    grid-area: reply !important;
    grid-column: 1 / -1 !important;
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
    display: flex !important;
    align-items: flex-start !important;
    justify-content: space-between !important;
    gap: 8px !important;
    margin: 0 0 2px 0 !important;
    padding: 0 0 6px !important;
    background: transparent !important;
    border: 0 !important;
    border-bottom: 1px solid rgba(20, 9, 79, .07) !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    color: #6f68a5 !important;
    font-size: .76rem !important;
    font-weight: 850 !important;
    line-height: 1.18 !important;
    white-space: normal !important;
    overflow: visible !important;
}

.jd-comment-form .jd-comment-edit-context:not([hidden]) > span,
.jd-comment-form [data-jd-edit-context="1"]:not([hidden]) > span {
    display: block !important;
    flex: 1 1 auto !important;
    min-width: 0 !important;
    max-width: calc(100% - 62px) !important;
    white-space: normal !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    line-height: 1.18 !important;
}

.jd-comment-form .jd-comment-edit-context:not([hidden]) strong,
.jd-comment-form [data-jd-edit-context="1"]:not([hidden]) strong {
    display: block !important;
    color: #4d3fe2 !important;
    font-weight: 900 !important;
    white-space: nowrap !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    word-break: normal !important;
    overflow-wrap: normal !important;
}

.jd-comment-form .jd-comment-edit-context:not([hidden]) small,
.jd-comment-form [data-jd-edit-context="1"]:not([hidden]) small {
    display: block !important;
    color: #746c89 !important;
    font-size: .76rem !important;
    font-weight: 750 !important;
    line-height: 1.18 !important;
    margin-top: 2px !important;
    white-space: nowrap !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
}

.jd-comment-form .jd-comment-edit-context:not([hidden]) button,
.jd-comment-form [data-jd-edit-context="1"]:not([hidden]) button {
    flex: 0 0 auto !important;
    width: auto !important;
    height: auto !important;
    min-width: 0 !important;
    min-height: 0 !important;
    max-width: none !important;
    max-height: none !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    padding: 0 !important;
    margin: 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    color: #7a6aa9 !important;
    box-shadow: none !important;
    font-size: .76rem !important;
    font-weight: 900 !important;
    line-height: 1.18 !important;
    white-space: nowrap !important;
}


/* JD final override: Reply and Edit contexts are mutually exclusive rows in the composer. */
.jd-comment-form {
    grid-template-areas:
        "reply reply reply"
        "edit edit edit"
        "emoji text send"
        "error error error" !important;
}
.jd-comment-form [data-jd-reply-context="1"][hidden],
.jd-comment-form [data-jd-edit-context="1"][hidden],
.jd-comment-form [data-jd-reply-context="1"].is-hidden,
.jd-comment-form [data-jd-edit-context="1"].is-hidden {
    display: none !important;
}
.jd-comment-form [data-jd-reply-context="1"]:not([hidden]) {
    grid-area: reply !important;
    grid-column: 1 / -1 !important;
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
    display: flex !important;
}
.jd-comment-form [data-jd-edit-context="1"]:not([hidden]) {
    grid-area: edit !important;
    grid-column: 1 / -1 !important;
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
    display: flex !important;
    align-items: flex-start !important;
    justify-content: space-between !important;
    gap: 8px !important;
    margin: 0 0 2px 0 !important;
    padding: 0 0 6px !important;
    background: transparent !important;
    border: 0 !important;
    border-bottom: 1px solid rgba(20, 9, 79, .07) !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    color: #6f68a5 !important;
    font-size: .76rem !important;
    font-weight: 850 !important;
    line-height: 1.18 !important;
    white-space: normal !important;
    overflow: hidden !important;
}
.jd-comment-form [data-jd-edit-context="1"]:not([hidden]) > span {
    display: block !important;
    flex: 1 1 auto !important;
    min-width: 0 !important;
    max-width: calc(100% - 62px) !important;
    white-space: normal !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    line-height: 1.18 !important;
}
.jd-comment-form [data-jd-edit-context="1"]:not([hidden]) strong {
    display: block !important;
    color: #4d3fe2 !important;
    font-weight: 900 !important;
    white-space: nowrap !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    word-break: normal !important;
    overflow-wrap: normal !important;
}
.jd-comment-form [data-jd-edit-context="1"]:not([hidden]) small {
    display: block !important;
    color: #746c89 !important;
    font-size: .76rem !important;
    font-weight: 750 !important;
    line-height: 1.18 !important;
    margin-top: 2px !important;
    white-space: nowrap !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
}
.jd-comment-form [data-jd-edit-context="1"]:not([hidden]) button {
    flex: 0 0 auto !important;
    width: auto !important;
    height: auto !important;
    min-width: 0 !important;
    min-height: 0 !important;
    max-width: none !important;
    max-height: none !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    padding: 0 !important;
    margin: 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    color: #7a6aa9 !important;
    box-shadow: none !important;
    font-size: .76rem !important;
    font-weight: 900 !important;
    line-height: 1.18 !important;
    white-space: nowrap !important;
}


/* JD final composer-context fix: Reply/Edit must use the same composer row and never overlap. */
.jd-comment-form {
    grid-template-areas:
        "reply reply reply"
        "emoji text send"
        "error error error" !important;
}
.jd-comment-form [data-jd-reply-context="1"][hidden],
.jd-comment-form [data-jd-edit-context="1"][hidden],
.jd-comment-form [data-jd-reply-context="1"].is-hidden,
.jd-comment-form [data-jd-edit-context="1"].is-hidden {
    display: none !important;
}
.jd-comment-form [data-jd-reply-context="1"]:not([hidden]),
.jd-comment-form [data-jd-edit-context="1"]:not([hidden]) {
    grid-column: 1 / -1 !important;
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
    display: flex !important;
    align-items: flex-start !important;
    justify-content: space-between !important;
    gap: 10px !important;
    margin: 0 !important;
    padding: 0 0 8px !important;
    background: transparent !important;
    border: 0 !important;
    border-bottom: 1px solid rgba(20, 9, 79, .08) !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    color: #6f68a5 !important;
    font-size: .76rem !important;
    font-weight: 850 !important;
    line-height: 1.2 !important;
    overflow: hidden !important;
}
.jd-comment-form [data-jd-reply-context="1"]:not([hidden]) { grid-area: reply !important; }
.jd-comment-form [data-jd-edit-context="1"]:not([hidden]) { grid-area: reply !important; }
.jd-comment-form [data-jd-reply-context="1"]:not([hidden]) > span,
.jd-comment-form [data-jd-edit-context="1"]:not([hidden]) > span {
    display: flex !important;
    flex-direction: column !important;
    min-width: 0 !important;
    flex: 1 1 auto !important;
    gap: 2px !important;
    overflow: hidden !important;
}
.jd-comment-form [data-jd-reply-context="1"]:not([hidden]) strong,
.jd-comment-form [data-jd-edit-context="1"]:not([hidden]) strong {
    display: block !important;
    color: #4d3fe2 !important;
    font-weight: 900 !important;
    white-space: nowrap !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    word-break: normal !important;
    overflow-wrap: normal !important;
}
.jd-comment-form [data-jd-reply-context="1"]:not([hidden]) small,
.jd-comment-form [data-jd-edit-context="1"]:not([hidden]) small {
    display: block !important;
    color: #746c89 !important;
    font-size: .76rem !important;
    font-weight: 750 !important;
    line-height: 1.2 !important;
    white-space: nowrap !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    max-width: 100% !important;
}
.jd-comment-form [data-jd-reply-context="1"]:not([hidden]) button,
.jd-comment-form [data-jd-edit-context="1"]:not([hidden]) button {
    flex: 0 0 auto !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    padding: 0 !important;
    margin: 0 !important;
    border: 0 !important;
    background: transparent !important;
    color: #7a6aa9 !important;
    font-size: .76rem !important;
    font-weight: 900 !important;
    line-height: 1.2 !important;
    white-space: nowrap !important;
    box-shadow: none !important;
}

/* JD final reply/edit context spacing parity: Edit must sit exactly where Reply sits. */
.jd-comment-form [data-jd-reply-context="1"]:not([hidden]),
.jd-comment-form [data-jd-edit-context="1"]:not([hidden]) {
    padding: 0 0 8px !important;
    min-height: 0 !important;
    box-sizing: border-box !important;
}
.jd-comment-form [data-jd-reply-context="1"]:not([hidden]) > span,
.jd-comment-form [data-jd-edit-context="1"]:not([hidden]) > span {
    justify-content: flex-start !important;
}

/* JD final exact match: Reply/Edit composer context must have identical height and spacing. */
.jd-comment-form [data-jd-reply-context="1"]:not([hidden]),
.jd-comment-form [data-jd-edit-context="1"]:not([hidden]) {
    grid-area: reply !important;
    grid-column: 1 / -1 !important;
    box-sizing: border-box !important;
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
    min-height: 44px !important;
    display: flex !important;
    align-items: flex-start !important;
    justify-content: space-between !important;
    gap: 10px !important;
    margin: 0 !important;
    padding: 0 0 8px !important;
    background: transparent !important;
    border: 0 !important;
    border-bottom: 1px solid rgba(20, 9, 79, .08) !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    color: #6f68a5 !important;
    font-size: .76rem !important;
    font-weight: 850 !important;
    line-height: 1.2 !important;
    overflow: hidden !important;
}

.jd-comment-form [data-jd-reply-context="1"]:not([hidden]) > span,
.jd-comment-form [data-jd-edit-context="1"]:not([hidden]) > span {
    display: flex !important;
    flex-direction: column !important;
    justify-content: flex-start !important;
    flex: 1 1 auto !important;
    min-width: 0 !important;
    max-width: calc(100% - 58px) !important;
    height: 36px !important;
    gap: 2px !important;
    overflow: hidden !important;
}

.jd-comment-form [data-jd-reply-context="1"]:not([hidden]) strong,
.jd-comment-form [data-jd-edit-context="1"]:not([hidden]) strong,
.jd-comment-form [data-jd-reply-context="1"]:not([hidden]) small,
.jd-comment-form [data-jd-edit-context="1"]:not([hidden]) small {
    display: block !important;
    height: 17px !important;
    min-height: 17px !important;
    max-height: 17px !important;
    line-height: 17px !important;
    margin: 0 !important;
    padding: 0 !important;
    white-space: nowrap !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    word-break: normal !important;
    overflow-wrap: normal !important;
}

.jd-comment-form [data-jd-reply-context="1"]:not([hidden]) strong,
.jd-comment-form [data-jd-edit-context="1"]:not([hidden]) strong {
    color: #4d3fe2 !important;
    font-weight: 900 !important;
}

.jd-comment-form [data-jd-reply-context="1"]:not([hidden]) small,
.jd-comment-form [data-jd-edit-context="1"]:not([hidden]) small {
    color: #746c89 !important;
    font-size: .76rem !important;
    font-weight: 750 !important;
}

.jd-comment-form [data-jd-reply-context="1"]:not([hidden]) button,
.jd-comment-form [data-jd-edit-context="1"]:not([hidden]) button {
    align-self: flex-start !important;
    height: 17px !important;
    line-height: 17px !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    background: transparent !important;
    color: #7a6aa9 !important;
    font-size: .76rem !important;
    font-weight: 900 !important;
    white-space: nowrap !important;
}

/* JD mobile Comments frame final v5: the panel follows the visual viewport;
   the header and composer remain visible and only the comments list scrolls. */
@media (max-width: 767.98px), (hover: none) and (pointer: coarse) {
    body.jd-comments-modal-open {
        overflow: hidden !important;
        overscroll-behavior: none !important;
    }

    .jd-card-comments,
    .jd-card-comments.is-maximized {
        position: fixed !important;
        top: var(--jd-comments-vv-top, 0px) !important;
        right: 0 !important;
        bottom: auto !important;
        left: 0 !important;
        z-index: 2147482500 !important;
        display: grid !important;
        grid-template-rows: auto minmax(0, 1fr) auto !important;
        width: 100vw !important;
        min-width: 0 !important;
        max-width: 100vw !important;
        height: var(--jd-comments-vv-height, 100dvh) !important;
        min-height: 0 !important;
        max-height: var(--jd-comments-vv-height, 100dvh) !important;
        margin: 0 !important;
        padding: max(8px, env(safe-area-inset-top)) 14px max(6px, env(safe-area-inset-bottom)) !important;
        border-radius: 0 !important;
        box-sizing: border-box !important;
        overflow: hidden !important;
        overscroll-behavior: none !important;
        transform: none !important;
    }

    .jd-card-comments .jd-comments-head {
        position: relative !important;
        inset: auto !important;
        grid-row: 1 !important;
        align-self: start !important;
        z-index: 30 !important;
        min-height: 54px !important;
        margin: 0 !important;
        padding: 3px 0 7px !important;
        background: rgba(255,255,255,.99) !important;
        visibility: visible !important;
        opacity: 1 !important;
        transform: none !important;
    }

    .jd-card-comments .jd-comments-window-actions,
    .jd-card-comments .jd-comments-close,
    .jd-card-comments .jd-comments-maximize {
        position: relative !important;
        z-index: 32 !important;
    }

    .jd-card-comments .jd-comments-list {
        grid-row: 2 !important;
        min-height: 0 !important;
        max-height: none !important;
        overflow-y: auto !important;
        overflow-x: hidden !important;
        overscroll-behavior-y: contain !important;
        -webkit-overflow-scrolling: touch !important;
        touch-action: pan-y !important;
    }

    .jd-card-comments .jd-comment-form,
    .jd-card-comments .jd-comment-login-note {
        grid-row: 3 !important;
        position: relative !important;
        inset: auto !important;
        align-self: end !important;
        z-index: 30 !important;
        min-height: 0 !important;
        margin: 0 !important;
        padding-bottom: 0 !important;
        background: rgba(255,255,255,.99) !important;
        transform: none !important;
    }

    .jd-card-comments .jd-comment-form textarea {
        height: var(--jd-comment-textarea-height, 50px) !important;
        min-height: 50px !important;
        max-height: 144px !important;
        resize: none !important;
        overflow-x: hidden !important;
        overflow-y: hidden !important;
        box-sizing: border-box !important;
        transition: height .1s ease !important;
    }

    .jd-card-comments .jd-comment-form textarea.jd-comment-textarea-scroll {
        overflow-y: auto !important;
        -webkit-overflow-scrolling: touch !important;
    }
}

/* JD mobile Comments viewport/header stability final v6.
   The panel follows the real visual viewport (including horizontal offsets),
   while the header and composer remain fixed grid rows. */
@media (max-width: 767.98px), (hover: none) and (pointer: coarse) {
    .jd-card-comments,
    .jd-card-comments.is-maximized {
        top: var(--jd-comments-vv-top, 0px) !important;
        right: auto !important;
        bottom: auto !important;
        left: var(--jd-comments-vv-left, 0px) !important;
        width: var(--jd-comments-vv-width, 100vw) !important;
        min-width: 0 !important;
        max-width: var(--jd-comments-vv-width, 100vw) !important;
        height: var(--jd-comments-vv-height, 100dvh) !important;
        max-height: var(--jd-comments-vv-height, 100dvh) !important;
        padding: max(9px, env(safe-area-inset-top)) 16px max(6px, env(safe-area-inset-bottom)) !important;
        grid-template-columns: minmax(0, 1fr) !important;
        grid-template-rows: auto minmax(0, 1fr) auto !important;
        contain: layout paint !important;
    }

    .jd-card-comments .jd-comments-head {
        position: relative !important;
        top: auto !important;
        right: auto !important;
        bottom: auto !important;
        left: auto !important;
        display: flex !important;
        align-items: center !important;
        justify-content: space-between !important;
        width: 100% !important;
        min-width: 0 !important;
        min-height: 56px !important;
        margin: 0 !important;
        padding: 2px 0 8px !important;
        box-sizing: border-box !important;
        flex: 0 0 auto !important;
        overflow: visible !important;
        background: #fff !important;
        transform: translate3d(0, 0, 0) !important;
        -webkit-transform: translate3d(0, 0, 0) !important;
    }

    .jd-card-comments .jd-comments-head > div:first-child {
        min-width: 0 !important;
        flex: 1 1 auto !important;
    }

    .jd-card-comments .jd-comments-window-actions {
        position: relative !important;
        inset: auto !important;
        display: inline-flex !important;
        align-items: center !important;
        justify-content: flex-end !important;
        flex: 0 0 auto !important;
        margin: 0 0 0 12px !important;
        padding: 0 !important;
        transform: none !important;
    }

    .jd-card-comments .jd-comments-close,
    .jd-card-comments .jd-comments-maximize {
        position: relative !important;
        inset: auto !important;
        flex: 0 0 42px !important;
        width: 42px !important;
        min-width: 42px !important;
        max-width: 42px !important;
        height: 42px !important;
        min-height: 42px !important;
        max-height: 42px !important;
        margin: 0 !important;
        transform: none !important;
    }

    .jd-card-comments .jd-comments-list {
        width: 100% !important;
        min-width: 0 !important;
        padding-right: 0 !important;
        scrollbar-width: none !important;
    }

    .jd-card-comments .jd-comment-form,
    .jd-card-comments .jd-comment-login-note {
        width: 100% !important;
        min-width: 0 !important;
        box-sizing: border-box !important;
        margin: 0 !important;
        transform: translate3d(0, 0, 0) !important;
    }
}


/* JD mobile comments emoji picker: professional centered sheet inside the visual viewport. */
@media (max-width: 576px) {
    .jd-card-comments .jd-emoji-picker,
    .jd-card-comments.is-maximized .jd-emoji-picker {
        position: fixed !important;
        inset: auto !important;
        left: 50% !important;
        top: 50% !important;
        right: auto !important;
        bottom: auto !important;
        transform: translate3d(-50%, -50%, 0) !important;
        box-sizing: border-box !important;
        width: min(430px, calc(100vw - 24px)) !important;
        max-width: calc(100vw - 24px) !important;
        height: auto !important;
        max-height: calc(100dvh - 28px) !important;
        margin: 0 !important;
        padding: 12px !important;
        border-radius: 20px !important;
        overflow: hidden !important;
        overscroll-behavior: contain !important;
        background: #fff !important;
        -webkit-backdrop-filter: none !important;
        backdrop-filter: none !important;
        box-shadow: 0 18px 54px rgba(19,11,70,.22) !important;
        z-index: 2147483000 !important;
        contain: layout paint !important;
    }

    .jd-card-comments .jd-emoji-picker-search {
        height: 46px !important;
        box-sizing: border-box !important;
        margin: 0 0 10px !important;
        padding: 8px 12px !important;
        flex: 0 0 auto !important;
    }

    .jd-card-comments .jd-emoji-picker-grid,
    .jd-card-comments.is-maximized .jd-emoji-picker-grid {
        display: grid !important;
        grid-template-columns: repeat(6, minmax(0, 1fr)) !important;
        gap: 5px !important;
        width: 100% !important;
        max-height: calc(100dvh - 112px) !important;
        padding: 2px !important;
        overflow-x: hidden !important;
        overflow-y: auto !important;
        overscroll-behavior: contain !important;
        -webkit-overflow-scrolling: touch !important;
    }

    .jd-card-comments .jd-emoji-picker-grid button {
        width: 100% !important;
        min-width: 0 !important;
        height: 42px !important;
        border-radius: 11px !important;
        font-size: 1.45rem !important;
        touch-action: manipulation !important;
    }
}


/* JD mobile comments: use the phone keyboard for emoji; keep only text and Send. */
@media (max-width: 575.98px) {
    .jd-card-comments .jd-emoji-wrap,
    .jd-card-comments .jd-emoji-picker,
    .jd-card-comments.is-maximized .jd-emoji-picker {
        display: none !important;
    }

    .jd-card-comments .jd-comment-form {
        grid-template-areas:
            "reply reply"
            "text send"
            "error error" !important;
        grid-template-columns: minmax(0, 1fr) 46px !important;
        column-gap: 7px !important;
    }
}

/* JD mobile comments: use the phone keyboard emoji; remove the in-app emoji control. */
@media (max-width: 575.98px) {
    .jd-comment-form {
        grid-template-columns: minmax(0, 1fr) 46px !important;
        grid-template-areas: "input send" !important;
        column-gap: 8px !important;
    }

    .jd-comment-form .jd-emoji-wrap,
    .jd-comment-form .jd-emoji-open,
    .jd-comment-form .jd-emoji-picker {
        display: none !important;
    }

    .jd-comment-form textarea {
        grid-area: input !important;
        width: 100% !important;
        min-width: 0 !important;
    }
}

/* JD final mobile Comments composer: phone keyboard supplies emoji.
   Hide the in-app emoji trigger/picker using the actual data attributes too. */
@media screen and (max-width: 767.98px) {
    .jd-card-comments [data-jd-comment-form="1"] [data-jd-emoji-open="1"],
    .jd-card-comments [data-jd-comment-form="1"] [data-jd-emoji-picker="1"],
    .jd-card-comments [data-jd-comment-form="1"] .jd-emoji-wrap,
    .jd-card-comments [data-jd-comment-form="1"] .jd-emoji-open,
    .jd-card-comments [data-jd-comment-form="1"] .jd-emoji-picker,
    .jd-card-comments.is-maximized [data-jd-comment-form="1"] [data-jd-emoji-open="1"],
    .jd-card-comments.is-maximized [data-jd-comment-form="1"] [data-jd-emoji-picker="1"] {
        display: none !important;
        visibility: hidden !important;
        width: 0 !important;
        min-width: 0 !important;
        max-width: 0 !important;
        height: 0 !important;
        min-height: 0 !important;
        max-height: 0 !important;
        margin: 0 !important;
        padding: 0 !important;
        border: 0 !important;
        overflow: hidden !important;
        pointer-events: none !important;
    }

    .jd-card-comments [data-jd-comment-form="1"] {
        grid-template-columns: minmax(0, 1fr) 46px !important;
        grid-template-areas:
            "reply reply"
            "text send"
            "error error" !important;
        column-gap: 8px !important;
    }

    .jd-card-comments [data-jd-comment-form="1"] textarea {
        grid-area: text !important;
        width: 100% !important;
        min-width: 0 !important;
        margin-left: 0 !important;
    }
}

/* JD definitive mobile Comments composer: use the phone keyboard for emoji.
   The in-app emoji trigger/picker must never be visible on phone/tablet widths. */
@media screen and (max-width: 991.98px) {
    .jd-comment-form .jd-emoji-wrap,
    .jd-comment-form .jd-emoji-open,
    .jd-comment-form [data-jd-emoji-open="1"],
    .jd-comment-form .jd-emoji-picker,
    .jd-comment-form [data-jd-emoji-picker="1"] {
        display: none !important;
        visibility: hidden !important;
        pointer-events: none !important;
        position: absolute !important;
        width: 0 !important;
        height: 0 !important;
        min-width: 0 !important;
        min-height: 0 !important;
        max-width: 0 !important;
        max-height: 0 !important;
        margin: 0 !important;
        padding: 0 !important;
        border: 0 !important;
        overflow: hidden !important;
    }

    .jd-comment-form {
        grid-template-columns: minmax(0, 1fr) 50px !important;
        grid-template-areas:
            "reply reply"
            "text send"
            "error error" !important;
        column-gap: 8px !important;
    }

    .jd-comment-form textarea {
        grid-area: text !important;
        width: 100% !important;
        min-width: 0 !important;
        margin: 0 !important;
    }

    .jd-comment-form .jd-comment-submit {
        grid-area: send !important;
    }
}

/* JD Comments async/error polish.
   Keep persistence feedback outside the typing capsule so desktop and mobile
   retain the same compact composer geometry. */
.jd-card-comments .jd-comment-pending,
.jd-card-comments.is-maximized .jd-comment-pending {
    display: inline-flex !important;
    align-items: center !important;
    gap: 5px !important;
    color: #8a839b !important;
    font-size: .68rem !important;
    font-weight: 760 !important;
    line-height: 1 !important;
    white-space: nowrap !important;
}

.jd-card-comments .jd-comment-pending > i,
.jd-card-comments.is-maximized .jd-comment-pending > i {
    width: 9px !important;
    height: 9px !important;
    display: inline-block !important;
    box-sizing: border-box !important;
    border: 1.5px solid rgba(104, 64, 244, .22) !important;
    border-top-color: #6840f4 !important;
    border-radius: 50% !important;
    animation: jd-comment-saving-spin .72s linear infinite !important;
}

.jd-card-comments .jd-comment-item.is-optimistic .jd-comment-actions button[disabled],
.jd-card-comments.is-maximized .jd-comment-item.is-optimistic .jd-comment-actions button[disabled] {
    display: inline !important;
    opacity: .58 !important;
    cursor: default !important;
    pointer-events: none !important;
}

@keyframes jd-comment-saving-spin {
    to { transform: rotate(360deg); }
}

.jd-card-comments .jd-comment-form .jd-comment-error,
.jd-card-comments.is-maximized .jd-comment-form .jd-comment-error {
    position: absolute !important;
    top: calc(100% + 4px) !important;
    right: 70px !important;
    bottom: auto !important;
    left: 18px !important;
    z-index: 6 !important;
    width: auto !important;
    min-height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    overflow: hidden !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    color: #a43a58 !important;
    font-size: .68rem !important;
    font-weight: 720 !important;
    line-height: 1.2 !important;
    text-align: left !important;
    white-space: nowrap !important;
    text-overflow: ellipsis !important;
    pointer-events: none !important;
}

.jd-card-comments .jd-comment-form .jd-comment-error[hidden],
.jd-card-comments.is-maximized .jd-comment-form .jd-comment-error[hidden] {
    display: none !important;
}

.jd-card-comments .jd-comment-form:has(.jd-comment-error:not([hidden])),
.jd-card-comments.is-maximized .jd-comment-form:has(.jd-comment-error:not([hidden])) {
    margin-bottom: 18px !important;
}

@media screen and (max-width: 575.98px) {
    .jd-card-comments .jd-comment-form .jd-comment-error,
    .jd-card-comments.is-maximized .jd-comment-form .jd-comment-error {
        top: calc(100% + 3px) !important;
        right: 58px !important;
        left: 14px !important;
        font-size: .65rem !important;
    }

    .jd-card-comments .jd-comment-form:has(.jd-comment-error:not([hidden])),
    .jd-card-comments.is-maximized .jd-comment-form:has(.jd-comment-error:not([hidden])) {
        margin-bottom: 17px !important;
    }
}

/* JD Match drawer final responsive polish:
   viewport-safe geometry, compact reflow and navy-purple evidence pills. */
body .jd-author-panel[data-jd-author-panel="1"] {
    container-name: jd-match-drawer;
    container-type: inline-size;
    min-width: min(320px, calc(var(--jd-author-vv-width, 100vw) - 12px)) !important;
    max-width: calc(var(--jd-author-vv-width, 100vw) - 12px) !important;
    max-height: var(--jd-author-vv-height, 100dvh) !important;
    overscroll-behavior: contain !important;
}

body .jd-author-panel[data-jd-author-panel="1"][data-jd-author-mode="match"] .jd-author-card {
    grid-template-columns: 80px minmax(0, 1fr) !important;
    gap: 12px !important;
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
    overflow: hidden !important;
}

body .jd-author-panel[data-jd-author-panel="1"][data-jd-author-mode="match"] .jd-author-card > div:nth-child(2) {
    min-width: 0 !important;
    max-width: 100% !important;
    padding-right: 50px !important;
}

body .jd-author-panel[data-jd-author-panel="1"][data-jd-author-mode="match"] .jd-author-card img,
body .jd-author-panel[data-jd-author-panel="1"][data-jd-author-mode="match"] .jd-author-card-img {
    width: 80px !important;
    height: 80px !important;
    border-radius: 15px !important;
}

body .jd-author-panel[data-jd-author-panel="1"] .jd-author-type {
    color: #3c287e !important;
    background: linear-gradient(135deg, rgba(25, 38, 92, .10), rgba(100, 55, 210, .14)) !important;
    border: 1px solid rgba(54, 43, 132, .11) !important;
}

body .jd-author-panel[data-jd-author-panel="1"] .jd-author-match-score {
    position: absolute !important;
    top: 12px !important;
    right: 12px !important;
    z-index: 2 !important;
    min-width: 44px !important;
    height: 44px !important;
    color: #31206f !important;
    background: linear-gradient(145deg, rgba(25, 39, 94, .08), rgba(104, 55, 222, .15)) !important;
    border-color: rgba(59, 44, 143, .20) !important;
    box-shadow: 0 8px 18px rgba(34, 27, 99, .07) !important;
}

body .jd-author-panel[data-jd-author-panel="1"] .jd-author-match-reasons,
body .jd-author-panel[data-jd-author-panel="1"] .jd-author-card p.jd-author-match-reasons {
    display: flex !important;
    flex-wrap: wrap !important;
    align-items: flex-start !important;
    gap: 6px !important;
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
    margin: 8px 0 0 !important;
    overflow: hidden !important;
    white-space: normal !important;
}

body .jd-author-panel[data-jd-author-panel="1"] .jd-author-match-reasons em {
    display: inline-flex !important;
    flex: 0 1 auto !important;
    align-items: center !important;
    min-width: 0 !important;
    max-width: 100% !important;
    padding: 5px 9px !important;
    border: 1px solid rgba(58, 43, 139, .12) !important;
    border-radius: 13px !important;
    color: #382477 !important;
    background: linear-gradient(135deg, rgba(24, 37, 88, .095), rgba(105, 57, 218, .145)) !important;
    box-shadow: 0 5px 14px rgba(35, 27, 99, .055) !important;
    font-size: .68rem !important;
    font-style: normal !important;
    font-weight: 900 !important;
    line-height: 1.25 !important;
    white-space: normal !important;
    overflow: hidden !important;
    overflow-wrap: anywhere !important;
    word-break: normal !important;
    text-overflow: clip !important;
}

@container jd-match-drawer (max-width: 410px) {
    body .jd-author-panel[data-jd-author-panel="1"][data-jd-author-mode="match"] .jd-author-card {
        grid-template-columns: 68px minmax(0, 1fr) !important;
        gap: 10px !important;
        padding: 10px !important;
        border-radius: 17px !important;
    }

    body .jd-author-panel[data-jd-author-panel="1"][data-jd-author-mode="match"] .jd-author-card img,
    body .jd-author-panel[data-jd-author-panel="1"][data-jd-author-mode="match"] .jd-author-card-img {
        width: 68px !important;
        height: 68px !important;
        border-radius: 13px !important;
    }

    body .jd-author-panel[data-jd-author-panel="1"][data-jd-author-mode="match"] .jd-author-card > div:nth-child(2) {
        padding-right: 43px !important;
    }

    body .jd-author-panel[data-jd-author-panel="1"] .jd-author-match-score {
        top: 10px !important;
        right: 10px !important;
        min-width: 38px !important;
        width: 38px !important;
        height: 38px !important;
        font-size: .68rem !important;
    }

    body .jd-author-panel[data-jd-author-panel="1"] .jd-author-match-reasons em {
        font-size: .65rem !important;
        padding: 5px 8px !important;
    }
}

@media (max-width: 767.98px), (hover: none) and (pointer: coarse) {
    body .jd-author-panel[data-jd-author-panel="1"] {
        top: var(--jd-author-vv-top, 0px) !important;
        left: var(--jd-author-vv-left, 0px) !important;
        right: auto !important;
        bottom: auto !important;
        width: var(--jd-author-vv-width, 100vw) !important;
        min-width: 0 !important;
        max-width: var(--jd-author-vv-width, 100vw) !important;
        height: var(--jd-author-vv-height, 100dvh) !important;
        min-height: 0 !important;
        max-height: var(--jd-author-vv-height, 100dvh) !important;
        padding:
            max(10px, env(safe-area-inset-top))
            max(10px, env(safe-area-inset-right))
            max(10px, env(safe-area-inset-bottom))
            max(10px, env(safe-area-inset-left)) !important;
    }

    body .jd-author-panel[data-jd-author-panel="1"] .jd-author-panel-head,
    body .jd-author-panel[data-jd-author-panel="1"] .jd-author-tabs,
    body .jd-author-panel[data-jd-author-panel="1"] .jd-author-search,
    body .jd-author-panel[data-jd-author-panel="1"] .jd-author-found {
        flex: 0 0 auto !important;
    }

    body .jd-author-panel[data-jd-author-panel="1"] .jd-author-posts {
        flex: 1 1 auto !important;
        min-height: 0 !important;
        max-width: 100% !important;
        overflow-x: hidden !important;
        overflow-y: auto !important;
        overscroll-behavior-y: contain !important;
        -webkit-overflow-scrolling: touch !important;
    }
}

/* JD Comments composer pill shape final: fully rounded ends like Chat. */
.jd-card-comments .jd-comment-form,
.jd-card-comments.is-maximized .jd-comment-form {
    border-radius: 999px !important;
    overflow: visible !important;
}

@media screen and (max-width: 991.98px) {
    .jd-card-comments .jd-comment-form,
    .jd-card-comments.is-maximized .jd-comment-form {
        border-radius: 999px !important;
    }
}

/* JD Comments mobile composer: compact true capsule, matching Chat, and no iOS focus zoom. */
@media screen and (max-width: 991.98px) {
    .jd-card-comments [data-jd-comment-form="1"],
    .jd-card-comments.is-maximized [data-jd-comment-form="1"] {
        box-sizing: border-box !important;
        min-height: 58px !important;
        height: auto !important;
        padding: 6px 7px 6px 16px !important;
        column-gap: 8px !important;
        border-radius: 9999px !important;
        overflow: hidden !important;
        align-items: center !important;
    }

    .jd-card-comments [data-jd-comment-form="1"] textarea,
    .jd-card-comments.is-maximized [data-jd-comment-form="1"] textarea {
        box-sizing: border-box !important;
        min-height: 44px !important;
        height: 44px !important;
        max-height: 120px !important;
        padding: 11px 0 9px !important;
        margin: 0 !important;
        border: 0 !important;
        border-radius: 0 !important;
        font-size: 16px !important;
        line-height: 24px !important;
        background: transparent !important;
        overflow-y: auto !important;
        -webkit-text-size-adjust: 100% !important;
    }

    .jd-card-comments [data-jd-comment-form="1"] .jd-comment-submit,
    .jd-card-comments.is-maximized [data-jd-comment-form="1"] .jd-comment-submit {
        width: 46px !important;
        height: 46px !important;
        min-width: 46px !important;
        min-height: 46px !important;
        margin: 0 !important;
        border-radius: 50% !important;
    }

    .jd-card-comments [data-jd-comment-form="1"] [data-jd-reply-context="1"]:not([hidden]),
    .jd-card-comments [data-jd-comment-form="1"] [data-jd-edit-context="1"]:not([hidden]) {
        margin: 2px 4px 0 0 !important;
        padding: 0 0 7px !important;
    }
}

/* JD final Comments composer geometry: match the Chat pill exactly. */
.jd-card-comments .jd-comment-form,
.jd-card-comments.is-maximized .jd-comment-form {
    box-sizing: border-box !important;
    min-height: 58px !important;
    padding: 6px 7px 6px 12px !important;
    border-radius: 9999px !important;
    align-items: center !important;
}

.jd-card-comments .jd-comment-form textarea,
.jd-card-comments.is-maximized .jd-comment-form textarea {
    box-sizing: border-box !important;
    min-height: 44px !important;
    height: 44px !important;
    max-height: 44px !important;
    padding: 10px 4px !important;
    line-height: 24px !important;
    overflow-y: hidden !important;
}

.jd-card-comments .jd-comment-form .jd-comment-submit,
.jd-card-comments.is-maximized .jd-comment-form .jd-comment-submit {
    width: 46px !important;
    height: 46px !important;
    min-width: 46px !important;
    min-height: 46px !important;
    border-radius: 50% !important;
}

@media screen and (max-width: 991.98px) {
    .jd-card-comments .jd-comment-form,
    .jd-card-comments.is-maximized .jd-comment-form {
        height: 58px !important;
        min-height: 58px !important;
        max-height: 58px !important;
        grid-template-columns: minmax(0, 1fr) 46px !important;
        grid-template-areas: "text send" !important;
        gap: 8px !important;
        padding: 6px 7px 6px 14px !important;
        border-radius: 29px !important;
        overflow: hidden !important;
    }

    .jd-card-comments .jd-comment-form textarea,
    .jd-card-comments.is-maximized .jd-comment-form textarea {
        grid-area: text !important;
        min-height: 46px !important;
        height: 46px !important;
        max-height: 46px !important;
        padding: 11px 0 !important;
        font-size: 16px !important;
        line-height: 24px !important;
        overflow: hidden !important;
    }

    .jd-card-comments .jd-comment-form .jd-comment-submit,
    .jd-card-comments.is-maximized .jd-comment-form .jd-comment-submit {
        grid-area: send !important;
        width: 46px !important;
        height: 46px !important;
        min-width: 46px !important;
        min-height: 46px !important;
        margin: 0 !important;
    }
}

/* JD Comments final reply/edit layout:
   the context is a separate contained row above the fixed 58px composer. */
.jd-card-comments .jd-comment-form,
.jd-card-comments.is-maximized .jd-comment-form {
    position: relative !important;
    overflow: visible !important;
}

.jd-card-comments .jd-comment-form:has([data-jd-reply-context="1"]:not([hidden])),
.jd-card-comments .jd-comment-form:has([data-jd-edit-context="1"]:not([hidden])),
.jd-card-comments.is-maximized .jd-comment-form:has([data-jd-reply-context="1"]:not([hidden])),
.jd-card-comments.is-maximized .jd-comment-form:has([data-jd-edit-context="1"]:not([hidden])) {
    margin-top: 62px !important;
}

.jd-card-comments .jd-comment-form [data-jd-reply-context="1"]:not([hidden]),
.jd-card-comments .jd-comment-form [data-jd-edit-context="1"]:not([hidden]),
.jd-card-comments.is-maximized .jd-comment-form [data-jd-reply-context="1"]:not([hidden]),
.jd-card-comments.is-maximized .jd-comment-form [data-jd-edit-context="1"]:not([hidden]) {
    position: absolute !important;
    right: 0 !important;
    bottom: calc(100% + 8px) !important;
    left: 0 !important;
    z-index: 4 !important;
    grid-area: unset !important;
    grid-column: auto !important;
    box-sizing: border-box !important;
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
    height: 50px !important;
    min-height: 50px !important;
    max-height: 50px !important;
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) auto !important;
    align-items: center !important;
    gap: 12px !important;
    margin: 0 !important;
    padding: 7px 10px 7px 13px !important;
    overflow: hidden !important;
    border: 1px solid rgba(99, 55, 255, .14) !important;
    border-left: 4px solid #6840f4 !important;
    border-radius: 16px !important;
    background: linear-gradient(90deg, rgba(244, 240, 255, .96), rgba(255, 255, 255, .99) 34%) !important;
    box-shadow: 0 10px 24px rgba(25, 16, 84, .065) !important;
}

.jd-card-comments .jd-comment-form [data-jd-reply-context="1"]:not([hidden]) > span,
.jd-card-comments .jd-comment-form [data-jd-edit-context="1"]:not([hidden]) > span,
.jd-card-comments.is-maximized .jd-comment-form [data-jd-reply-context="1"]:not([hidden]) > span,
.jd-card-comments.is-maximized .jd-comment-form [data-jd-edit-context="1"]:not([hidden]) > span {
    display: grid !important;
    grid-template-rows: 17px 17px !important;
    align-content: center !important;
    gap: 2px !important;
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
    height: 36px !important;
    overflow: hidden !important;
}

.jd-card-comments .jd-comment-form [data-jd-reply-context="1"]:not([hidden]) strong,
.jd-card-comments .jd-comment-form [data-jd-edit-context="1"]:not([hidden]) strong,
.jd-card-comments .jd-comment-form [data-jd-reply-context="1"]:not([hidden]) small,
.jd-card-comments .jd-comment-form [data-jd-edit-context="1"]:not([hidden]) small,
.jd-card-comments.is-maximized .jd-comment-form [data-jd-reply-context="1"]:not([hidden]) strong,
.jd-card-comments.is-maximized .jd-comment-form [data-jd-edit-context="1"]:not([hidden]) strong,
.jd-card-comments.is-maximized .jd-comment-form [data-jd-reply-context="1"]:not([hidden]) small,
.jd-card-comments.is-maximized .jd-comment-form [data-jd-edit-context="1"]:not([hidden]) small {
    display: block !important;
    width: 100% !important;
    min-width: 0 !important;
    height: 17px !important;
    min-height: 17px !important;
    max-height: 17px !important;
    margin: 0 !important;
    padding: 0 !important;
    overflow: hidden !important;
    color: #746c89 !important;
    font-size: .78rem !important;
    font-weight: 750 !important;
    line-height: 17px !important;
    white-space: nowrap !important;
    text-overflow: ellipsis !important;
}

.jd-card-comments .jd-comment-form [data-jd-reply-context="1"]:not([hidden]) strong,
.jd-card-comments .jd-comment-form [data-jd-edit-context="1"]:not([hidden]) strong,
.jd-card-comments.is-maximized .jd-comment-form [data-jd-reply-context="1"]:not([hidden]) strong,
.jd-card-comments.is-maximized .jd-comment-form [data-jd-edit-context="1"]:not([hidden]) strong {
    color: #5639ee !important;
    font-size: .76rem !important;
    font-weight: 900 !important;
}

.jd-card-comments .jd-comment-form [data-jd-reply-context="1"]:not([hidden]) small,
.jd-card-comments .jd-comment-form [data-jd-edit-context="1"]:not([hidden]) small,
.jd-card-comments.is-maximized .jd-comment-form [data-jd-reply-context="1"]:not([hidden]) small,
.jd-card-comments.is-maximized .jd-comment-form [data-jd-edit-context="1"]:not([hidden]) small {
    color: #625d73 !important;
    font-size: .79rem !important;
    font-weight: 720 !important;
}

.jd-card-comments .jd-comment-form [data-jd-reply-context="1"]:not([hidden]) button,
.jd-card-comments .jd-comment-form [data-jd-edit-context="1"]:not([hidden]) button,
.jd-card-comments.is-maximized .jd-comment-form [data-jd-reply-context="1"]:not([hidden]) button,
.jd-card-comments.is-maximized .jd-comment-form [data-jd-edit-context="1"]:not([hidden]) button {
    position: relative !important;
    align-self: center !important;
    box-sizing: border-box !important;
    width: 28px !important;
    min-width: 28px !important;
    max-width: 28px !important;
    height: 28px !important;
    min-height: 28px !important;
    max-height: 28px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    margin: 0 !important;
    padding: 0 !important;
    overflow: visible !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    color: #5d5672 !important;
    font-size: 0 !important;
    font-weight: 900 !important;
    line-height: 1 !important;
    white-space: nowrap !important;
}

.jd-card-comments .jd-comment-form [data-jd-reply-context="1"]:not([hidden]) button::before,
.jd-card-comments .jd-comment-form [data-jd-reply-context="1"]:not([hidden]) button::after,
.jd-card-comments .jd-comment-form [data-jd-edit-context="1"]:not([hidden]) button::before,
.jd-card-comments .jd-comment-form [data-jd-edit-context="1"]:not([hidden]) button::after,
.jd-card-comments.is-maximized .jd-comment-form [data-jd-reply-context="1"]:not([hidden]) button::before,
.jd-card-comments.is-maximized .jd-comment-form [data-jd-reply-context="1"]:not([hidden]) button::after,
.jd-card-comments.is-maximized .jd-comment-form [data-jd-edit-context="1"]:not([hidden]) button::before,
.jd-card-comments.is-maximized .jd-comment-form [data-jd-edit-context="1"]:not([hidden]) button::after {
    content: "" !important;
    position: absolute !important;
    top: 50% !important;
    left: 50% !important;
    width: 14px !important;
    height: 1.5px !important;
    border-radius: 999px !important;
    background: currentColor !important;
    transform-origin: center !important;
}

.jd-card-comments .jd-comment-form [data-jd-reply-context="1"]:not([hidden]) button::before,
.jd-card-comments .jd-comment-form [data-jd-edit-context="1"]:not([hidden]) button::before,
.jd-card-comments.is-maximized .jd-comment-form [data-jd-reply-context="1"]:not([hidden]) button::before,
.jd-card-comments.is-maximized .jd-comment-form [data-jd-edit-context="1"]:not([hidden]) button::before {
    transform: translate(-50%, -50%) rotate(45deg) !important;
}

.jd-card-comments .jd-comment-form [data-jd-reply-context="1"]:not([hidden]) button::after,
.jd-card-comments .jd-comment-form [data-jd-edit-context="1"]:not([hidden]) button::after,
.jd-card-comments.is-maximized .jd-comment-form [data-jd-reply-context="1"]:not([hidden]) button::after,
.jd-card-comments.is-maximized .jd-comment-form [data-jd-edit-context="1"]:not([hidden]) button::after {
    transform: translate(-50%, -50%) rotate(-45deg) !important;
}

.jd-card-comments .jd-comment-form [data-jd-reply-context="1"]:not([hidden]) button:hover,
.jd-card-comments .jd-comment-form [data-jd-edit-context="1"]:not([hidden]) button:hover,
.jd-card-comments.is-maximized .jd-comment-form [data-jd-reply-context="1"]:not([hidden]) button:hover,
.jd-card-comments.is-maximized .jd-comment-form [data-jd-edit-context="1"]:not([hidden]) button:hover {
    border: 0 !important;
    background: transparent !important;
    color: #5d5672 !important;
}

@media screen and (max-width: 575.98px) {
    .jd-card-comments .jd-comment-form:has([data-jd-reply-context="1"]:not([hidden])),
    .jd-card-comments .jd-comment-form:has([data-jd-edit-context="1"]:not([hidden])),
    .jd-card-comments.is-maximized .jd-comment-form:has([data-jd-reply-context="1"]:not([hidden])),
    .jd-card-comments.is-maximized .jd-comment-form:has([data-jd-edit-context="1"]:not([hidden])) {
        margin-top: 58px !important;
    }

    .jd-card-comments .jd-comment-form [data-jd-reply-context="1"]:not([hidden]),
    .jd-card-comments .jd-comment-form [data-jd-edit-context="1"]:not([hidden]),
    .jd-card-comments.is-maximized .jd-comment-form [data-jd-reply-context="1"]:not([hidden]),
    .jd-card-comments.is-maximized .jd-comment-form [data-jd-edit-context="1"]:not([hidden]) {
        bottom: calc(100% + 6px) !important;
        height: 48px !important;
        min-height: 48px !important;
        max-height: 48px !important;
        gap: 8px !important;
        padding: 6px 8px 6px 10px !important;
        border-radius: 14px !important;
    }

    .jd-card-comments .jd-comment-form [data-jd-reply-context="1"]:not([hidden]) button,
    .jd-card-comments .jd-comment-form [data-jd-edit-context="1"]:not([hidden]) button,
    .jd-card-comments.is-maximized .jd-comment-form [data-jd-reply-context="1"]:not([hidden]) button,
    .jd-card-comments.is-maximized .jd-comment-form [data-jd-edit-context="1"]:not([hidden]) button {
        width: 28px !important;
        min-width: 28px !important;
        max-width: 28px !important;
        height: 28px !important;
        min-height: 28px !important;
        max-height: 28px !important;
        padding: 0 !important;
    }
}

/* JD Comments final composer autosize.
   JavaScript updates --jd-comment-textarea-height after every input/delete. */
.jd-card-comments .jd-comment-form,
.jd-card-comments.is-maximized .jd-comment-form {
    height: auto !important;
    min-height: 58px !important;
    max-height: none !important;
    overflow: visible !important;
    align-items: end !important;
}

.jd-card-comments .jd-comment-form textarea,
.jd-card-comments .jd-comment-form textarea.form-control,
.jd-card-comments.is-maximized .jd-comment-form textarea,
.jd-card-comments.is-maximized .jd-comment-form textarea.form-control {
    height: var(--jd-comment-textarea-height, 44px) !important;
    min-height: 40px !important;
    max-height: 96px !important;
    overflow-y: hidden !important;
}

.jd-card-comments
    .jd-comment-form
    textarea.jd-comment-textarea-scroll,
.jd-card-comments.is-maximized
    .jd-comment-form
    textarea.jd-comment-textarea-scroll {
    overflow-y: auto !important;
}

.jd-card-comments .jd-comment-form button[type="submit"],
.jd-card-comments.is-maximized .jd-comment-form button[type="submit"] {
    align-self: end !important;
}

@media screen and (max-width: 991.98px) {
    .jd-card-comments .jd-comment-form,
    .jd-card-comments.is-maximized .jd-comment-form {
        height: auto !important;
        min-height: 58px !important;
        max-height: none !important;
        overflow: visible !important;
        align-items: end !important;
    }

    .jd-card-comments .jd-comment-form textarea,
    .jd-card-comments .jd-comment-form textarea.form-control,
    .jd-card-comments.is-maximized .jd-comment-form textarea,
    .jd-card-comments.is-maximized .jd-comment-form textarea.form-control {
        height: var(--jd-comment-textarea-height, 42px) !important;
        min-height: 42px !important;
        max-height: 104px !important;
        overflow-y: hidden !important;
    }

    .jd-card-comments
        .jd-comment-form
        textarea.jd-comment-textarea-scroll,
    .jd-card-comments.is-maximized
        .jd-comment-form
        textarea.jd-comment-textarea-scroll {
        overflow-y: auto !important;
    }
}
