.skeleton-overlay[hidden] { display: none; }
.skeleton-overlay { scrollbar-width: none; -ms-overflow-style: none; }
.skeleton-overlay::-webkit-scrollbar { display: none; }
.skeleton-overlay { position: fixed; top: 64px; bottom: 64px; left: 50%; transform: translateX(-50%); width: 100%; max-width: 448px; z-index: 40; overflow: auto; background: #0a0f1c; padding: 20px; box-sizing: border-box; }
.sk-block { position: relative; overflow: hidden; background: #192131; border-radius: 12px; }
.sk-block::after { content: ""; position: absolute; inset: 0; transform: translateX(-100%); background: linear-gradient(90deg, transparent, rgba(255,255,255,.055), transparent); animation: sk-shimmer 1.6s ease-in-out infinite; }
.sk-line { height: 12px; width: 75%; margin-bottom: 12px; border-radius: 5px; }
.sk-title { width: 55%; height: 22px; margin-bottom: 24px; }
.sk-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 16px; }
.sk-poster { aspect-ratio: 5 / 7; border-radius: 16px; }
.sk-card .sk-line { margin-top: 12px; }
.sk-hero { height: 420px; display: flex; flex-direction: column; align-items: center; justify-content: center; margin: -20px -20px 24px; padding: 24px; background: linear-gradient(#111827,#0a0f1c); }
.sk-hero .sk-poster { width: 140px; margin-bottom: 24px; }
.sk-hero .sk-title { width: 80%; }
.sk-actions { display: flex; gap: 16px; width: 100%; margin: 12px 0 24px; }
.sk-button { height: 44px; flex: 1; border-radius: 24px; }
.sk-row { height: 48px; margin-bottom: 12px; }
.sk-cover { height: 180px; margin: -20px -20px 24px; border-radius: 0; }
.sk-video { aspect-ratio: 16 / 9; margin-bottom: 24px; }
.sk-section { margin-bottom: 28px; }
@keyframes sk-shimmer { to { transform: translateX(100%); } }
@media (prefers-reduced-motion: reduce) { .sk-block::after { animation: none; transform: none; } }
