/* Midjourney Explore 风格：多列瀑布流 + 骨架屏 + 渐显 */
.gallery.explore-mode {
  display: block;
  width: 100%;
  padding: 6px;
  background: #0b0e12;
  box-sizing: border-box;
}
.gallery.explore-mode .gallery__column { display: none; }
.gallery-explore-track {
  display: flex;
  align-items: flex-start;
  gap: 6px;
  width: 100%;
}
.gallery-explore-col {
  flex: 1 1 0;
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: 6px;
}
.gallery.explore-mode .gallery__item {
  margin: 0;
  grid-row-end: auto !important;
  grid-column: auto !important;
}
.gallery.explore-mode .gallery__thumb {
  position: relative;
  overflow: hidden;
  border-radius: 4px;
  background: #151a24;
  width: 100%;
  min-height: 100px;
}
.gallery.explore-mode .gallery__skeleton {
  position: absolute;
  inset: 0;
  background: linear-gradient(90deg, #151a24 20%, #222836 50%, #151a24 80%);
  background-size: 200% 100%;
  animation: gallery-explore-shimmer 1.15s ease-in-out infinite;
  z-index: 1;
  transition: opacity 0.25s ease;
}
.gallery.explore-mode .gallery__thumb.is-loaded .gallery__skeleton {
  opacity: 0;
  pointer-events: none;
}
.gallery.explore-mode .gallery__image {
  position: absolute;
  inset: 0;
  z-index: 2;
  width: 100%;
  height: 100%;
  display: block;
  object-fit: contain;
  object-position: center;
  opacity: 0;
  transition: opacity 0.4s ease, transform 0.25s ease;
  cursor: pointer;
}
.gallery.explore-mode .gallery__image.is-loaded {
  opacity: 1;
}
.gallery.explore-mode .gallery__link:hover .gallery__image.is-loaded {
  transform: scale(1.02);
}
.gallery.explore-mode .gallery__note-display {
  z-index: 3;
}
.gallery-explore-sentinel {
  height: 2px;
  width: 100%;
  pointer-events: none;
}
@keyframes gallery-explore-shimmer {
  0% { background-position: 200% 0; }
  100% { background-position: -200% 0; }
}
@media (max-width: 900px) {
  .gallery.explore-mode { padding: 4px; }
  .gallery-explore-track,
  .gallery-explore-col { gap: 4px; }
}
