.automention-dropdown {
    position: fixed;
    background: #fff;
    border: 1px solid #ddd;
    box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);
    z-index: 100000;
    max-height: 200px;
    overflow-y: auto;
    border-radius: 4px;
    min-width: 150px;
}

.automention-item {
    padding: 8px 12px;
    display: flex;
    align-items: center;
    cursor: pointer;
    transition: background 0.2s;
}

.automention-item:hover {
    background: #e8e8e8;
}

.automention-item img,
.automention-initial {
    width: 20px;
    height: 20px;
    border-radius: 4px;
    margin-right: 9px;
    object-fit: cover;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    color: white;
    font-size: 11px;
    font-weight: bold;
    flex-shrink: 0;
    user-select: none !important;
    -webkit-user-drag: none !important;
    pointer-events: none !important;
}

.automention-initial {
    padding-bottom: 0px !important;
    /* Move text up 1px */
}

.automention-info {
    padding: 8px 12px;
    color: #888;
    font-size: 12px;
    text-align: center;
}

.automention-item.active {
    background: #eef2fa;
}

.automention {
    display: inline-flex !important;
    align-items: center !important;
    text-decoration: none !important;
    padding: 2px 7px 3px 4px !important;
    background-color: var(--am-bg-color, rgba(0, 0, 0, 0.05)) !important;
    color: #151515 !important;
    font-weight: 700 !important;
    border: 1.5px solid #444444 !important;
    border-radius: 4px !important;
    font-family: inherit !important;
    font-size: 13px !important;
    line-height: 1.8 !important;
    vertical-align: middle !important;
    transition: all 0.2s !important;
    outline: none !important;
    box-sizing: border-box !important;
    margin: 0 2px !important;
}

.automention-tag-img,
.automention-tag-initial {
    width: 20px !important;
    height: 20px !important;
    border-radius: 4px !important;
    margin: 0 6px 0 0 !important;
    object-fit: cover !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    color: white !important;
    font-size: 11px !important;
    font-weight: bold !important;
    flex-shrink: 0 !important;
    vertical-align: middle !important;
}

.document-mention {
    display: inline-flex !important;
    align-items: center !important;
    text-decoration: none !important;
    background-color: #2e2e2e11 !important;
    color: #111111 !important;
    font-weight: 500 !important;
    border: 1.5px solid #000000 !important;
    border-radius: 6px !important;
    font-family: inherit !important;
    font-size: 14px !important;
    height: 32px !important;
    line-height: 1 !important;
    vertical-align: middle !important;
    padding: 0 !important;
    margin: 0 4px 0 2px !important;
    transition: all 0.2s !important;
    outline: none !important;
    box-sizing: border-box !important;
    max-width: 220px !important;
    overflow: hidden !important;
}

.doc-mention-icon {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    background-color: #f2f2f2 !important;
    border-right: 1.5px solid #000000 !important;
    border-top-left-radius: 4px !important;
    border-bottom-left-radius: 4px !important;
    width: 32px !important;
    height: 100% !important;
    flex-shrink: 0 !important;
    position: relative !important;
    box-sizing: border-box !important;
}

.doc-mention-icon::after {
    content: '';
    position: absolute;
    right: -4.5px;
    top: 50%;
    transform: translateY(-50%);
    border-style: solid;
    border-width: 4px 0 4px 4px;
    border-color: transparent transparent transparent #000000;
}

.doc-mention-icon::before {
    content: '';
    position: absolute;
    right: -2px;
    top: 50%;
    transform: translateY(-50%);
    border-style: solid;
    border-width: 3px 0 3px 3px;
    border-color: transparent transparent transparent #f0f0f0;
    z-index: 1;
}

.doc-mention-title {
    display: flex;
    align-items: center;
    padding: 0 6px 0 6px;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    vertical-align: middle;
    /* This makes sure the title is clipped neatly if it gets too long, fixing the width variance */
    max-width: 160px;
}

html body .xe_content a.automention:hover,
html body .rhymix_content a.automention:hover,
html body .comment_content a.automention:hover,
html body a.automention:hover,
html body a.automention:focus,
html body a.automention:active,
.automention:hover,
.automention:focus,
.automention:active {
    background-color: #27272711 !important;
    border: 1.5px solid #222222 !important;
    border-bottom: 1.5px solid #222222 !important;
    text-decoration: none !important;
    color: #000000 !important;
    outline: none !important;
    box-shadow: none !important;
}

html body .xe_content a.document-mention:hover,
html body .rhymix_content a.document-mention:hover,
html body .comment_content a.document-mention:hover,
html body a.document-mention:hover,
.document-mention:hover,
.document-mention:focus,
.document-mention:active {
    background-color: #e4e4e4 !important;
    border: 1.5px solid #000 !important;
    border-bottom: 1.5px solid #000 !important;
    border-left: 3.5px solid #000000 !important;
    /* Prevents container hover styles from erasing bottom border */
    text-decoration: none !important;
    color: #000 !important;
}

/* Hide skin default external link icons */
html body .xe_content a.document-mention::after,
html body .rhymix_content a.document-mention::after,
html body .comment_content a.document-mention::after,
a.document-mention::after,
html body .xe_content a.document-mention::before,
html body .rhymix_content a.document-mention::before,
html body .comment_content a.document-mention::before,
a.document-mention::before {
    display: none !important;
    content: none !important;
    background: none !important;
    width: 0 !important;
    height: 0 !important;
    margin: 0 !important;
}

.automention-tag-img,
.automention-tag-initial {
    display: inline-block !important;
    width: 22px !important;
    height: 22px !important;
    border-radius: 2px !important;
    margin-right: 5px !important;
    vertical-align: middle !important;
    object-fit: cover !important;
}

.doc-mention-img,
.doc-mention-initial {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    padding: 2px;
    width: 25px !important;
    height: 25px !important;
    min-width: 25px !important;
    min-height: 25px !important;
    max-width: 25px !important;
    max-height: 25px !important;
    box-sizing: border-box !important;
    border-radius: 2px !important;
    margin: 0 !important;
    object-fit: cover !important;
    color: #ffffff !important;
    font-size: 13px !important;
    font-weight: bold !important;
    line-height: 1 !important;
}

.doc-mention-initial {
    position: relative;
    top: 1px;
    left: 1px;
}

.automention-tag-initial {
    color: #ffffff !important;
    text-align: center !important;
    line-height: 22px !important;
    font-size: 11px !important;
    font-weight: bold !important;
}

.automention-tag-initial:before,
.doc-mention-initial:before,
.automention-initial:before {
    content: attr(data-initial);
}

.automention-auth-buttons {
    display: flex;
    gap: 8px;
    padding: 0 12px 12px 12px;
    justify-content: center;
}

.automention-btn {
    display: inline-block;
    padding: 6px 12px;
    font-size: 12px;
    border-radius: 4px;
    text-decoration: none !important;
    font-weight: bold;
    text-align: center;
    transition: background 0.2s;
    cursor: pointer;
}

.automention-btn-login {
    background-color: #444444;
    color: #ffffff !important;
    border: 1px solid #444444;
}

.automention-btn-login:hover {
    background-color: #222222;
}

.automention-btn-signup {
    background-color: #ffffff;
    color: #444444 !important;
    border: 1px solid #dddddd;
}

.automention-btn-signup:hover {
    background-color: #f5f5f5;
}

/* Styling robustly against XSS filters (which may strip classes but keep structures) */

/* Member Mentions */
html body a.automention>img,
html body a.automention>img.automention-tag-img,
.automention-tag-img {
    display: inline-block !important;
    width: 20px !important;
    height: 20px !important;
    border-radius: 10% !important;
    margin-left: 1px !important;
    margin-right: 5px !important;
    margin-top: 1px !important;
    background-color: #ffffff !important;
    object-fit: cover !important;
    border: 0.5px solid rgba(0, 0, 0, 0.08) !important;
    box-sizing: border-box !important;
}

html body a.automention>span:first-child,
html body a.automention>span.automention-tag-initial,
.automention-tag-initial {
    display: inline-block !important;
    width: 20px !important;
    height: 20px !important;
    line-height: 20px !important;
    text-align: center !important;
    border-radius: 10% !important;
    background-color: var(--am-bg-color, #1c1c1c);
    border: 0.5px solid rgba(0, 0, 0, 0.08) !important;
    color: #ffffff !important;
    vertical-align: middle !important;
    margin-top: 1.5px !important;
    margin-right: 3px !important;
    font-size: 13px !important;
    font-weight: 500 !important;
}

/* Document Mentions */
html body a.document-mention {
    background-color: #c9b8ba !important;
}

html body a.document-mention>span>img,
html body a.document-mention>span>span>img,
html body a.document-mention img,
.doc-mention-img,
.doc-mention-initial {
    height: 25px !important;
    width: 25px !important;
    max-height: 25px !important;
    border-radius: 3px !important;
    margin-top: 1px !important;
    margin-left: 1.5px !important;
    object-fit: cover !important;
    vertical-align: middle !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    color: #fff !important;
    font-size: 13px !important;
    font-weight: bold !important;
    flex-shrink: 0 !important;
}

html body a.document-mention>span:first-child::after,
html body a.document-mention span.doc-mention-icon::after,
.doc-mention-icon::after {
    content: '' !important;
    position: absolute !important;
    right: -4.5px !important;
    top: 50% !important;
    transform: translateY(-50%) !important;
    border-style: solid !important;
    border-width: 4px 0 4px 4px !important;
    border-color: transparent transparent transparent #000000 !important;
}

html body a.document-mention>span:first-child::before,
html body a.document-mention span.doc-mention-icon::before,
.doc-mention-icon::before {
    content: '' !important;
    position: absolute !important;
    right: -2px !important;
    top: 50% !important;
    transform: translateY(-50%) !important;
    border-style: solid !important;
    border-width: 3px 0 3px 3px !important;
    border-color: transparent transparent transparent #f0f0f0 !important;
    z-index: 1 !important;
}

html body a.document-mention>span:first-child,
html body a.document-mention span.doc-mention-icon,
.doc-mention-icon {
    display: inline-block !important;
    position: relative !important;
    vertical-align: middle !important;
}

html body a.document-mention>span:last-child,
html body a.document-mention span.doc-mention-title,
.doc-mention-title {
    padding: 0 10px 0 8px !important;
    white-space: nowrap !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    display: inline-flex !important;
    align-items: center !important;
    vertical-align: middle !important;
    max-width: 140px !important;
    height: 100% !important;
}

/* ===== Mobile Responsive Styles ===== */
@media screen and (max-width: 768px) {
    .automention-dropdown {
        position: fixed !important;
        left: 8px;
        right: 8px;
        width: auto !important;
        max-height: 35vh !important;
        border-radius: 10px !important;
        box-shadow: 0 -2px 16px rgba(0, 0, 0, 0.18) !important;
        border: 1px solid #ccc !important;
        z-index: 99999 !important;
        overflow-y: auto !important;
        -webkit-overflow-scrolling: touch;
        overscroll-behavior: contain;
    }

    .automention-item {
        padding: 12px 16px !important;
        min-height: 44px;
        font-size: 15px !important;
    }

    .automention-item:active {
        background-color: #eef2fa !important;
    }

    .automention-item img,
    .automention-initial {
        width: 28px !important;
        height: 28px !important;
        margin-right: 10px !important;
        font-size: 13px !important;
    }

    .automention-info {
        padding: 14px 16px !important;
        font-size: 14px !important;
    }

    .automention {
        font-size: 12px !important;
        padding: 1px 5px 2px 2px !important;
    }

    .automention-tag-img,
    .automention-tag-initial {
        width: 18px !important;
        height: 18px !important;
    }

    .document-mention {
        font-size: 12px !important;
        max-width: 180px !important;
    }

    .doc-mention-title {
        max-width: 120px !important;
        font-size: 12px !important;
    }

    .automention-auth-buttons {
        padding: 8px 16px 16px 16px !important;
    }

    .automention-btn {
        padding: 10px 16px !important;
        font-size: 14px !important;
    }
}

/* 
 * High-Quality CSS Profile Initials (v4)
 * Overrides existing fallbacks to provide vector-like sharpness and perfect centering.
 */
.mb-initial-profile,
.profile-initial,
.mb-comment-no-profile,
.mb-profile-thumb.mb-initial-profile {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    background: var(--member-color, var(--primary-color, #324e45)) !important;
    background-image: none !important;
    /* Consistent with layout system and member color */
    color: #ffffff !important;
    font-weight: 700 !important;
    font-family: 'Noto Sans KR', sans-serif !important;
    text-transform: uppercase;
    border: none !important;
    border-radius: 50% !important;
    user-select: none !important;
    -webkit-user-drag: none !important;
    pointer-events: none;
    overflow: hidden;
    line-height: 1 !important;
    box-sizing: border-box !important;
    text-align: center !important;
    /* Vector-like crispness */
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    padding-bottom: 1px !important;
    /* Move text up 1px */
}

/* Specific Sizes based on context */
.profile-initial.large,
.mb-initial-profile.large {
    width: 100px !important;
    height: 100px !important;
    font-size: 48px !important;
}

.profile-initial.small,
.mb-initial-profile.small {
    width: 36px !important;
    height: 36px !important;
    font-size: 16px !important;
}

/* Layout Notification Icons */
.noti-wrap .profile-initial {
    width: 36px !important;
    height: 36px !important;
    font-size: 16px !important;
}

/* Board Skin Comments */
.mb-comment-no-profile {
    width: 40px !important;
    height: 40px !important;
    font-size: 1.2rem !important;
}

/* Board Skin List/Meta */
.mb-profile-thumb.mb-initial-profile {
    width: 24px !important;
    height: 24px !important;
    font-size: 11px !important;
    margin-right: 6px !important;
}

/* Profile Popup Image View */
.profile-img-wrap .profile-initial {
    width: 100% !important;
    height: 100% !important;
    aspect-ratio: 1 / 1;
    font-size: clamp(24px, 5vw, 60px) !important;
    border-radius: 50% !important;
}