.skeleton {
    background-color: #e2e2e2;
    background-image: linear-gradient(90deg, #e2e2e2 0px, #f0f0f0 40px, #e2e2e2 80px);
    background-size: 200% 100%;
    animation: shimmer 1.5s infinite linear;
    border-radius: 4px;
    margin: 10px auto;
}

.skeleton-circle {
    width: 200px;
    height: 200px;
    border-radius: 50%;
}

.skeleton-text {
    height: 20px;
    width: 80%;
}

.skeleton-title { height: 30px; width: 60%; }
.skeleton-small { height: 12px; width: 50%; }

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