/* Fans254 v13.6.16 — single authoritative composer preview geometry.
   Home Create and every group composer share this one preview system.
   Story/Reels previews keep their own purpose-specific geometry. */

:root{
  --f254-composer-preview-size:112px;
  --f254-composer-preview-gap:8px;
  --f254-composer-preview-remove-size:28px;
}
@media(min-width:761px){
  :root{--f254-composer-preview-size:128px}
}

/* Rails: one layout, left aligned, never stretch a single item. */
.f254-create-composer .f254-social-upload-preview.f254-create-preview,
.f254-group-composer-reference .f254-group-media-preview{
  display:flex!important;
  align-items:flex-start!important;
  justify-content:flex-start!important;
  align-content:flex-start!important;
  gap:var(--f254-composer-preview-gap)!important;
  width:100%!important;
  max-width:100%!important;
  height:auto!important;
  min-height:0!important;
  max-height:none!important;
  padding:4px 0 6px!important;
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
  box-shadow:none!important;
  overflow-x:auto!important;
  overflow-y:hidden!important;
  overscroll-behavior-x:contain!important;
  scroll-snap-type:x proximity!important;
  scrollbar-width:thin!important;
  scrollbar-color:var(--f-line-strong,var(--f-line)) transparent!important;
  -webkit-overflow-scrolling:touch!important;
}
.f254-create-composer .f254-social-upload-preview.f254-create-preview{margin:6px 0 0!important}
.f254-group-composer-reference .f254-group-media-preview{margin:6px 14px 6px!important}
.f254-create-composer .f254-social-upload-preview.f254-create-preview:not(.has-preview),
.f254-group-composer-reference .f254-group-media-preview:not(.has-preview):not(.f254-group-import-preview),
.f254-group-composer-reference .f254-group-media-preview:empty:not(.f254-group-import-preview){
  display:none!important;
  margin:0!important;
  padding:0!important;
}
.f254-create-composer .f254-social-upload-preview.f254-create-preview::-webkit-scrollbar,
.f254-group-composer-reference .f254-group-media-preview::-webkit-scrollbar{height:5px!important}
.f254-create-composer .f254-social-upload-preview.f254-create-preview::-webkit-scrollbar-thumb,
.f254-group-composer-reference .f254-group-media-preview::-webkit-scrollbar-thumb{background:var(--f-line-strong,var(--f-line))!important;border-radius:999px!important}

/* Items: exactly the same compact square geometry on Home + Public/Private/Subscriber groups. */
.f254-create-composer .f254-social-upload-preview.f254-create-preview.has-preview>.f254-upload-preview-item,
.f254-create-composer .f254-social-upload-preview.f254-create-preview.has-preview.is-single-preview>.f254-upload-preview-item,
.f254-create-composer .f254-social-upload-preview.f254-create-preview.has-preview.is-multiple-preview>.f254-upload-preview-item,
.f254-group-composer-reference .f254-group-media-preview.has-preview>.f254-group-media-preview-item,
.f254-group-composer-reference .f254-group-media-preview.has-preview>figure,
.f254-group-composer-reference .f254-group-media-preview.f254-group-import-preview{
  position:relative!important;
  display:block!important;
  flex:0 0 var(--f254-composer-preview-size)!important;
  width:var(--f254-composer-preview-size)!important;
  min-width:var(--f254-composer-preview-size)!important;
  max-width:var(--f254-composer-preview-size)!important;
  height:var(--f254-composer-preview-size)!important;
  min-height:var(--f254-composer-preview-size)!important;
  max-height:var(--f254-composer-preview-size)!important;
  aspect-ratio:1/1!important;
  margin:0!important;
  padding:0!important;
  border:0!important;
  border-radius:0!important;
  overflow:hidden!important;
  background:var(--f-media-bg,#07111f)!important;
  box-shadow:none!important;
  scroll-snap-align:start!important;
  box-sizing:border-box!important;
}
.f254-group-composer-reference .f254-group-media-preview.f254-group-import-preview{margin:6px 14px 6px!important}

/* The media-open target fills the whole tile. Only the remove control is an overlay button. */
.f254-create-composer .f254-create-preview-open,
.f254-create-composer .f254-create-preview-thumb,
.f254-group-composer-reference .f254-group-media-preview-open{
  position:absolute!important;
  inset:0!important;
  z-index:1!important;
  display:block!important;
  width:100%!important;
  height:100%!important;
  min-width:0!important;
  min-height:0!important;
  margin:0!important;
  padding:0!important;
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
  overflow:hidden!important;
  cursor:pointer!important;
  box-shadow:none!important;
}
.f254-create-composer .f254-create-preview-thumb>img,
.f254-create-composer .f254-create-preview-thumb>video,
.f254-create-composer .f254-create-preview-open img,
.f254-create-composer .f254-create-preview-open video,
.f254-group-composer-reference .f254-group-media-preview-open img,
.f254-group-composer-reference .f254-group-media-preview-open video,
.f254-group-composer-reference .f254-group-media-preview-item>img,
.f254-group-composer-reference .f254-group-media-preview-item>video,
.f254-group-composer-reference .f254-group-media-preview.f254-group-import-preview>img,
.f254-group-composer-reference .f254-group-media-preview.f254-group-import-preview>video{
  position:absolute!important;
  inset:0!important;
  display:block!important;
  width:100%!important;
  height:100%!important;
  min-width:0!important;
  min-height:0!important;
  max-width:none!important;
  max-height:none!important;
  margin:0!important;
  object-fit:cover!important;
  border:0!important;
  border-radius:0!important;
  background:var(--f-media-bg,#07111f)!important;
}

/* Remove is the only circular overlay; generic preview buttons are never resized. */
.f254-create-composer .f254-create-preview-remove,
.f254-create-composer .f254-social-upload-preview-remove,
.f254-group-composer-reference .f254-group-media-preview-remove,
.f254-group-composer-reference .f254-group-media-preview.f254-group-import-preview>[data-remove]{
  position:absolute!important;
  z-index:12!important;
  top:6px!important;
  right:6px!important;
  left:auto!important;
  bottom:auto!important;
  display:grid!important;
  place-items:center!important;
  width:var(--f254-composer-preview-remove-size)!important;
  height:var(--f254-composer-preview-remove-size)!important;
  min-width:var(--f254-composer-preview-remove-size)!important;
  min-height:var(--f254-composer-preview-remove-size)!important;
  margin:0!important;
  padding:0!important;
  border:1px solid rgba(255,255,255,.38)!important;
  border-radius:50%!important;
  background:rgba(7,12,20,.78)!important;
  color:#fff!important;
  line-height:1!important;
  box-shadow:0 2px 10px rgba(0,0,0,.18)!important;
  backdrop-filter:blur(7px)!important;
  -webkit-backdrop-filter:blur(7px)!important;
  cursor:pointer!important;
  transform:none!important;
}
.f254-create-composer .f254-create-preview-remove svg,
.f254-create-composer .f254-social-upload-preview-remove svg,
.f254-group-composer-reference .f254-group-media-preview-remove svg,
.f254-group-composer-reference .f254-group-media-preview.f254-group-import-preview>[data-remove] svg{
  display:block!important;width:14px!important;height:14px!important;stroke:currentColor!important
}
.f254-create-composer .f254-create-preview-file-copy,
.f254-create-composer .f254-create-preview figcaption{display:none!important}

/* Compact imported-video preview uses the same square tile and no second control row. */
.f254-create-composer .f254-upload-preview-item.is-imported.is-video,
.f254-group-composer-reference .f254-group-media-preview.f254-group-import-preview.is-imported{
  aspect-ratio:1/1!important;
}
.f254-create-composer .f254-upload-preview-item.is-imported.is-video video[data-imported-video-preview],
.f254-group-composer-reference .f254-group-media-preview.f254-group-import-preview video[data-group-import-video]{
  cursor:pointer!important;
  object-fit:cover!important;
}
.f254-create-composer .f254-imported-video-play,
.f254-group-composer-reference .f254-group-media-preview.f254-group-import-preview .f254-group-import-preview-play{
  position:absolute!important;
  z-index:6!important;
  left:50%!important;
  top:50%!important;
  right:auto!important;
  bottom:auto!important;
  display:grid!important;
  place-items:center!important;
  width:34px!important;
  height:34px!important;
  padding:0!important;
  border:0!important;
  border-radius:50%!important;
  transform:translate(-50%,-50%)!important;
  background:rgba(0,0,0,.58)!important;
  color:#fff!important;
}
.f254-create-composer .f254-imported-video-controls,
.f254-group-composer-reference .f254-group-media-preview.f254-group-import-preview .f254-group-import-preview-controls{display:none!important}
.f254-create-composer .f254-upload-preview-item.is-imported.is-video.is-playing .f254-imported-video-play{display:none!important}

/* Preserve composer mode behavior after old geometry patches were removed. */
.f254-create-composer.is-live-panel-open .f254-create-preview{display:none!important}
.f254-create-composer .f254-social-upload-preview.f254-create-preview.has-preview.is-dragging{cursor:grabbing!important;scroll-snap-type:none!important;user-select:none!important}

/* Shared bottom-media proof avatar for normal feeds, group feeds and reposts. */
.f254-bottom-media-avatar{
  position:absolute!important;
  right:12px!important;
  bottom:12px!important;
  z-index:31!important;
  padding:0!important;
  margin:0!important;
}
.f254-bottom-media-avatar .f254-feed-liker-avatar{
  border:0!important;
  border-radius:50%!important;
  box-sizing:border-box!important;
  overflow:hidden!important;
  box-shadow:0 1px 5px rgba(0,0,0,.22)!important;
}
.f254-bottom-media-avatar .f254-feed-liker-avatar>img,
.f254-bottom-media-avatar .f254-feed-liker-avatar>i{
  border:0!important;
  border-radius:50%!important;
  clip-path:circle(50% at 50% 50%)!important;
  object-fit:cover!important;
  overflow:hidden!important;
}
/* Video controls occupy the bottom edge. Keep proof avatar above them instead of overlapping fullscreen/progress. */
.f254-feed-proof-visual:has(.f254-social-video-player)>.f254-bottom-media-avatar,
.f254-feed-proof-visual:has(video[data-feed-reel-video])>.f254-bottom-media-avatar,
.f254-group-post-media:has(.f254-social-video-player)>.f254-bottom-media-avatar,
.f254-group-surface-media:has(.f254-social-video-player)>.f254-bottom-media-avatar{
  right:12px!important;
  bottom:64px!important;
}
@media(max-width:520px){
  .f254-bottom-media-avatar{right:10px!important;bottom:10px!important}
  .f254-feed-proof-visual:has(.f254-social-video-player)>.f254-bottom-media-avatar,
  .f254-feed-proof-visual:has(video[data-feed-reel-video])>.f254-bottom-media-avatar,
  .f254-group-post-media:has(.f254-social-video-player)>.f254-bottom-media-avatar,
  .f254-group-surface-media:has(.f254-social-video-player)>.f254-bottom-media-avatar{right:10px!important;bottom:58px!important}
}
