/* Small references fan out and lift in turn. No network assets or fake progress. */
.gallery-loader { display: inline-block; position: relative; width: 112px; height: 92px; animation: gallery-loader-enter var(--duration-enter) var(--ease-out) var(--delay-gallery-loading) both; }
.gallery-loader-card { --card-x: 0px; --card-angle: 0deg; position: absolute; top: 17px; left: 34px; width: 44px; height: 58px; border: 1px solid var(--color-surface-4); border-radius: 7px; background: var(--color-surface-2); color: var(--color-fg-tertiary); box-shadow: 0 3px 6px rgb(0 0 0 / .06); transform: translateX(var(--card-x)) rotate(var(--card-angle)); animation: gallery-loader-lift 2400ms var(--ease-in-out, ease-in-out) infinite; }
.gallery-loader-card:nth-child(1) { --card-x: -25px; --card-angle: -16deg; animation-delay: -300ms; }
.gallery-loader-card:nth-child(2) { z-index: 1; top: 12px; animation-delay: -150ms; }
.gallery-loader-card:nth-child(3) { --card-x: 25px; --card-angle: 16deg; }
.gallery-loader-card svg { display: block; width: 100%; height: 100%; }
@keyframes gallery-loader-enter { from { opacity: 0; transform: translateY(4px); } to { opacity: 1; transform: translateY(0); } }
@keyframes gallery-loader-lift { 0%,60%,100% { transform: translateX(var(--card-x)) rotate(var(--card-angle)); } 30% { transform: translateX(var(--card-x)) translateY(-7px) rotate(var(--card-angle)); } }
@media (prefers-reduced-motion: reduce) {
 .gallery-loader,.gallery-loader-card { animation: none; }
}
