.attachment-grid {
  display: flex !important;
  flex-direction: column;
  gap: 3px;
  width: min(68vw, 390px);
  aspect-ratio: 1;
  overflow: hidden;
  border-radius: 22px;
}
.attachment-grid-row {
  display: grid;
  grid-template-columns: repeat(var(--grid-columns), minmax(0, 1fr));
  flex: 1 1 0;
  gap: 3px;
  min-height: 0;
}
.attachment-grid-cell {
  position: relative;
  height: 100%;
  min-width: 0;
  overflow: hidden;
  background: #08120e;
}
.attachment-grid-cell img,
.attachment-grid-cell video,
.live-photo > img,
.live-photo > video {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.live-photo { position: relative; overflow: hidden; }
.live-photo-badge {
  position: absolute;
  z-index: 3;
  top: 9px;
  left: 9px;
  display: flex;
  align-items: center;
  gap: 4px;
  padding: 5px 8px;
  border: 0;
  border-radius: 999px;
  background: #07100bbd;
  color: #fff;
  font-size: 11px;
  font-weight: 800;
  letter-spacing: .04em;
  backdrop-filter: blur(8px);
}
.live-photo-badge svg { width: 15px; height: 15px; fill: none; stroke: currentColor; stroke-width: 1.8; }
