/* Immediate placeholders for client-rendered data. */
.skeleton-block { background: linear-gradient(100deg, rgba(23,48,70,.94) 18%, rgba(48,81,103,.98) 38%, rgba(23,48,70,.94) 58%); background-size: 220% 100%; animation: dotapedia-skeleton 1.35s ease-in-out infinite; border-radius: 6px; }
@keyframes dotapedia-skeleton { to { background-position: -220% 0; } }
@media (prefers-reduced-motion: reduce) { .skeleton-block { animation: none; } }
.skeleton-hero-card { min-height: 155px; overflow: hidden; border: 1px solid rgba(133,158,179,.28); border-radius: 5px; background: #0a1826; }
.skeleton-hero-card .skeleton-art { height: 104px; border-radius: 0; }
.skeleton-hero-card .skeleton-name { width: 54%; height: 15px; margin: 13px 10px; }
.item-skeleton { display: grid; grid-template-columns: repeat(auto-fill, minmax(52px, 1fr)); gap: 8px; margin: 14px 0 24px; }
.item-skeleton .skeleton-block { aspect-ratio: 4 / 3; }
.matchup-skeleton { display: grid; grid-template-columns: 76px 1fr 48px; gap: 10px; align-items: center; min-height: 56px; padding: 8px 12px; border-bottom: 1px solid rgba(125,155,180,.2); }
.matchup-skeleton .skeleton-art { width: 76px; height: 43px; }.matchup-skeleton .skeleton-copy { height: 14px; width: 72%; }.matchup-skeleton .skeleton-rate { height: 20px; }
.table-skeleton td { padding: 14px 12px; }.table-skeleton .skeleton-block { height: 14px; min-width: 48px; }
.hero-detail-skeleton { display:grid; gap:20px; }.hero-detail-skeleton .skeleton-banner { min-height:280px; }.hero-detail-skeleton .skeleton-row { display:grid; grid-template-columns:repeat(3,1fr); gap:16px; }.hero-detail-skeleton .skeleton-panel { min-height:130px; }
@media (max-width: 640px) { .hero-detail-skeleton .skeleton-row { grid-template-columns:1fr; } }
.recipe-skeleton { display:grid; grid-template-columns:repeat(4, minmax(52px, 1fr)); gap:12px; margin-top:14px; }.recipe-skeleton .skeleton-block { aspect-ratio:4 / 3; }
.build-skeleton { display:grid; gap:12px; }.build-skeleton .skeleton-heading { width:35%; height:18px; }.build-skeleton .skeleton-items { display:grid; grid-template-columns:repeat(4, minmax(48px, 1fr)); gap:8px; }.build-skeleton .skeleton-items i { aspect-ratio:4 / 3; }.selected-name-skeleton { display:inline-block; min-width:130px; height:24px; vertical-align:middle; }
.api-skeleton { display:grid; gap:8px; padding:12px 0; }.api-skeleton i { height:14px; }.api-skeleton i:nth-child(2) { width:82%; }.api-skeleton i:nth-child(3) { width:61%; }
