/* Skeletons occupy the image's existing space; content and links stay usable. */
[data-media-skeleton] { position: relative; }
[data-media-skeleton].is-media-loading::after,
.request-skeleton-line {
    background: linear-gradient(100deg, #e2e8f0 20%, #f8fafc 40%, #e2e8f0 60%);
    background-size: 200% 100%;
    animation: media-shimmer 1.5s linear infinite;
}
[data-media-skeleton].is-media-loading::after {
    content: "";
    position: absolute;
    inset: 0;
    border-radius: inherit;
    pointer-events: none;
}
.progressive-background { position: absolute; inset: 0; display: block; overflow: hidden; border-radius: inherit; }
.progressive-background > img { width: 100%; height: 100%; object-fit: cover; }
.question-media { min-height: 12rem; }
.request-skeleton { padding: 1rem 0; }
.request-skeleton-label { display: block; margin-bottom: .75rem; color: #475569; font-size: .875rem; }
.request-skeleton-line { display: block; height: .75rem; margin-top: .5rem; border-radius: .375rem; }
.request-skeleton-line:last-child { width: 65%; }
@supports (content-visibility: auto) {
    .dashboard-lazy-card { content-visibility: auto; contain-intrinsic-size: auto 320px; }
}
@keyframes media-shimmer { to { background-position: -200% 0; } }
@media (prefers-reduced-motion: reduce) {
    [data-media-skeleton].is-media-loading::after, .request-skeleton-line { animation: none; }
}
