.username-with-vip {
    display: inline-flex;
    align-items: flex-start;
    flex-wrap: nowrap;
    gap: 3px;
    line-height: 1.25;
    vertical-align: baseline;
    max-width: 100%;
    overflow: visible;
}

.username-with-vip .username-text {
    flex: 0 1 auto;
    padding-right: 0;
    max-width: 100%;
    min-width: 0;
}

.user-vip-badge {
    flex: 0 0 auto;
    position: relative;
    margin-top: -5px;
    z-index: 2;
    padding: 1px 5px;
    border-radius: 3px;
    font-size: 9px;
    font-weight: 700;
    line-height: 1.2;
    letter-spacing: 0.5px;
    color: #fff;
    white-space: nowrap;
    pointer-events: none;
    overflow: hidden;
    transform-origin: 50% 100%;
    background: linear-gradient(135deg, #ff5a5a 0%, #e02020 45%, #b80d12 100%);
    box-shadow: 0 1px 4px rgba(200, 22, 29, 0.5);
    animation: user-vip-badge-pulse 2.4s ease-in-out infinite;
}

.user-vip-badge::after {
    content: '';
    position: absolute;
    top: 0;
    left: -120%;
    width: 100%;
    height: 100%;
    background: linear-gradient(
        105deg,
        transparent 0%,
        rgba(255, 255, 255, 0.15) 35%,
        rgba(255, 255, 255, 0.55) 50%,
        rgba(255, 255, 255, 0.15) 65%,
        transparent 100%
    );
    animation: user-vip-badge-shine 3s ease-in-out infinite;
}

@keyframes user-vip-badge-pulse {
    0%, 100% {
        opacity: 1;
        transform: scale(0.95);
        box-shadow: 0 1px 4px rgba(200, 22, 29, 0.5);
    }
    50% {
        opacity: 0.95;
        transform: scale(1.06);
        box-shadow: 0 2px 12px rgba(200, 22, 29, 0.78);
    }
}

@keyframes user-vip-badge-shine {
    0%, 72%, 100% {
        left: -120%;
    }
    88% {
        left: 120%;
    }
}

/* 导航栏 */
.nav-user-menu,
.nav-user-link {
    overflow: visible !important;
}

.nav-user-name.username-with-vip {
    line-height: 1.2;
    vertical-align: middle;
    align-self: center;
    gap: 2px;
}

.nav-user-name.username-with-vip .user-vip-badge {
    margin-top: -4px;
}

.comment-username.username-with-vip,
.chat-message-username.username-with-vip {
    gap: 3px;
}

/* 首页回复列 */
.forum-home-col-reply:has(.username-with-vip) {
    overflow: visible;
}

.forum-home-col-reply .username-with-vip {
    vertical-align: middle;
}

/* 帖子详情元信息 */
.forum-post-meta > span:has(.username-with-vip) {
    overflow: visible;
}

.forum-post-meta .username-with-vip {
    gap: 4px;
}

.forum-post-meta .username-with-vip .user-vip-badge {
    margin-top: -4px;
}
