.skeleton-paragraph {
    width: 100%;
    padding: 16px;
}

.skeleton {
    position: relative;
    overflow: hidden;
    background-color: #eee;
    border-radius: 8px;
    margin-bottom: 8px;
    height: 12px;
}

.skeleton.line {
    width: 100%;
}

.skeleton.line.short {
    width: 60%;
}

.skeleton.line.long {
    width: 80%;
}

.skeleton::after {
    content: "";
    position: absolute;
    top: 0;
    left: -150px;
    height: 100%;
    width: 150px;
    background: linear-gradient(to right,
            transparent 0%,
            #ddd 50%,
            transparent 100%);
    animation: shimmer 1.5s infinite;
}

@keyframes shimmer {
    0% {
        left: -150px;
    }

    100% {
        left: 100%;
    }
}

/* Article-specific skeleton styles */
.article-skeleton-loader {
    padding: 20px 0;
}

.article-skeleton-loader .skeleton-title {
    margin-bottom: 24px;
}

.article-skeleton-loader .skeleton-title .skeleton {
    height: 32px;
    margin-bottom: 16px;
}

.article-skeleton-loader .skeleton-content {
    margin-top: 20px;
}