.sr-only {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}

.studio-page-skeleton { width: min(100%, 88rem); margin-inline: auto; }
.studio-skeleton-line,
.studio-skeleton-panel,
.studio-skeleton,
.studio-table-skeleton span {
  display: block;
  overflow: hidden;
  background: var(--color-surface);
}

.studio-skeleton-line,
.studio-skeleton-panel,
.studio-skeleton,
.studio-table-skeleton span,
.studio-chart-skeleton {
  position: relative;
}

.studio-skeleton-line::after,
.studio-skeleton-panel::after,
.studio-skeleton::after,
.studio-table-skeleton span::after,
.studio-chart-skeleton::after {
  position: absolute;
  inset: 0;
  background: linear-gradient(90deg, transparent, color-mix(in srgb, var(--color-text) 5%, transparent), transparent);
  content: "";
  transform: translateX(-100%);
  animation: studio-skeleton-shimmer 1.8s ease-in-out infinite;
}

.studio-skeleton-line { height: 1.15rem; border-radius: var(--radius-pill); }
.studio-skeleton-line--lead { width: min(32rem, 80%); }
.studio-skeleton-line--short { width: min(20rem, 55%); margin-top: var(--space-3); }
.studio-skeleton-panel { min-height: clamp(30rem, 58vh, 42rem); margin-top: var(--space-12); border: 1px solid var(--color-border); border-radius: var(--radius-xl); }
.studio-card-skeleton { min-height: 14rem; border-radius: var(--radius-lg); }
.studio-table-skeleton { display: grid; gap: 1px; overflow: hidden; border: 1px solid var(--color-border); border-radius: var(--radius-lg); background: var(--color-border); }
.studio-table-skeleton span { min-height: 3.5rem; }
.studio-chart-skeleton { display: flex; min-height: 18rem; align-items: end; justify-content: space-around; padding: var(--space-8); overflow: hidden; border-radius: var(--radius-lg); background: var(--color-surface); }
.studio-chart-skeleton i { width: 10%; border-radius: var(--radius-sm) var(--radius-sm) 0 0; background: var(--color-border-strong); }
.studio-chart-skeleton i:nth-child(1) { height: 30%; }.studio-chart-skeleton i:nth-child(2) { height: 55%; }.studio-chart-skeleton i:nth-child(3) { height: 42%; }.studio-chart-skeleton i:nth-child(4) { height: 75%; }.studio-chart-skeleton i:nth-child(5) { height: 62%; }
.studio-sidebar-skeleton { display: grid; gap: var(--space-2); }
.studio-sidebar-skeleton > span:not(.sr-only) { height: 3rem; border-radius: var(--radius-md); background: var(--color-surface); }

@keyframes studio-skeleton-shimmer { to { transform: translateX(100%); } }

@media (prefers-reduced-motion: reduce) {
  .studio-skeleton-line::after,
  .studio-skeleton-panel::after,
  .studio-skeleton::after,
  .studio-table-skeleton span::after,
  .studio-chart-skeleton::after { animation: none; }
}
