.world-top-500-page [data-world-skeleton] { display: none; }
.world-is-loading .world-top-500-page [data-world-ready-content] { display: none; }
.world-is-loading .world-top-500-page [data-world-skeleton] { display: block; }
.world-top-500-page .world-skeleton-nav { height: 60px; background: #fff; border-bottom: 1px solid #eee; }
.world-top-500-page .world-skeleton-banner { height: 400px; background: #f6f6f6; }
.world-top-500-page .world-skeleton-table { max-width: 1200px; margin: 36px auto; padding: 0 20px; }
.world-top-500-page .world-skeleton-row { height: 58px; border-bottom: 1px solid #eee; display: flex; align-items: center; gap: 24px; }
.world-top-500-page .world-skeleton-row::before { content: ''; width: 32px; height: 16px; background: #eee; border-radius: 3px; }
.world-top-500-page .world-skeleton-row::after { content: ''; width: 55%; height: 16px; background: #eee; border-radius: 3px; }
.world-top-500-page [data-world-sentinel] { height: 1px; }
/* Match the existing university-ranking loader without importing its page layout. */
.world-top-500-page .worldRankingLoader {
    display: flex;
    min-height: 72px;
    align-items: center;
    justify-content: center;
    gap: 10px;
    color: #64748b;
    font-size: 13px;
}
.world-top-500-page .worldRankingLoader[hidden] { display: none; }
.world-top-500-page .worldRankingLoader__spinner {
    display: none;
    width: 18px;
    height: 18px;
    border: 2px solid #e4e7ec;
    border-top-color: #d71920;
    border-radius: 50%;
}
.world-top-500-page .worldRankingLoader.is-loading .worldRankingLoader__spinner {
    display: block;
    animation: world-ranking-loader-spin .75s linear infinite;
}
.world-top-500-page .worldRankingLoader__label { display: none; }
.world-top-500-page .worldRankingLoader.is-loading .worldRankingLoader__label,
.world-top-500-page .worldRankingLoader.is-complete .worldRankingLoader__label { display: inline; }
.world-top-500-page .worldRankingLoader button {
    min-height: 40px;
    padding: 0 18px;
    border: 1px solid #d6dbe3;
    border-radius: 8px;
    color: #374151;
    background: #fff;
    font: inherit;
    cursor: pointer;
}
.world-top-500-page .worldRankingLoader button:hover,
.world-top-500-page .worldRankingLoader button:focus-visible {
    border-color: #d71920;
    outline: none;
    color: #d71920;
}
.world-top-500-page [data-world-load-more][hidden], .world-top-500-page [data-world-next][hidden] { display: none; }
@keyframes world-ranking-loader-spin { to { transform: rotate(360deg); } }
@media (prefers-reduced-motion: reduce) {
    .world-top-500-page .worldRankingLoader.is-loading .worldRankingLoader__spinner { animation: none; }
}
@media (max-width: 800px) {
    .world-top-500-page .world-skeleton-nav { height: 70px; }
    .world-top-500-page .world-skeleton-banner { height: 115px; }
    .world-top-500-page .world-skeleton-table { margin-top: 24px; padding: 0 12px; }
}

html.world-banner-collapsed .world-top-500-page .world-skeleton-banner { display: none; }
