/* ── HOME FEED ── */
.photo-feed { display: flex; flex-direction: column; gap: 6px; padding-bottom: 6px; }

.feed-item {
  width: 100%; cursor: pointer; overflow: hidden;
  background: #050505; position: relative;
  opacity: 0; transition: opacity 0.8s ease;
  min-height: 200px;
}
.feed-item.loaded { opacity: 1; }
.feed-item img {
  width: 100%; display: block;
  filter: grayscale(100%) contrast(1.06);
  transition: opacity 0.5s; opacity: 0.88;
  -webkit-user-select: none; user-select: none;
  pointer-events: none; -webkit-user-drag: none;
}
.feed-item:hover img { opacity: 1; }

/* Overlay anti-download */
.feed-item::after {
  content: ''; position: absolute; inset: 0; z-index: 2; cursor: pointer;
}

/* Spinner */
.feed-spinner {
  position: absolute; inset: 0; display: flex;
  align-items: center; justify-content: center;
  pointer-events: none; z-index: 1;
}
.feed-spinner svg { width: 36px; height: 36px; }
.feed-spinner circle { fill: none; stroke: rgba(255,255,255,0.1); stroke-width: 2; }
.feed-spinner .arc {
  fill: none; stroke: rgba(255,255,255,0.65); stroke-width: 2;
  stroke-linecap: round; stroke-dasharray: 0 100;
  animation: fillArc 1.4s cubic-bezier(0.4,0,0.2,1) infinite;
  transform-origin: center; transform: rotate(-90deg);
}
.feed-item.loaded .feed-spinner { display: none; }
