/* ==========================================================================
   Feed V2 public — systematic responsive tokens (loads last).
   Cancels legacy 430px / 74vw / vh-shrink contracts from feed-unified-public.css
   ========================================================================== */

body.feed-v2-surface.public-feed-open, body.site-feed-admin-page.feed-v2-surface, body.feed-v2-surface.feed-publications-open{
  /* Shared rhythm */
  --dc-feed-gap: clamp(10px, 2.4vw, 16px);
  --dc-feed-pad-x: clamp(8px, 2.5vw, 16px);
  --dc-feed-circle-comment-gap: clamp(40px, 11vw, 52px);

  /* Typography — match community chat (.feed-v2-chat-text: 13px / 1.28) */
  --dc-feed-text-size: 13px;
  --dc-feed-text-leading: 1.28;
  --dc-feed-text-color: #f0f3f7;
  --dc-feed-meta-size: 10px;
  --dc-feed-meta-color: rgba(255, 255, 255, 0.42);
  --dc-feed-action-size: 12px;
  --dc-feed-reaction-size: 12px;

  /* Component sizes — phone portrait default */
  --dc-feed-card-max: min(100%, calc(100vw - 20px));
  --dc-feed-circle-size: clamp(240px, min(72vw, 46vh), 280px);
  --dc-feed-voice-max: min(100%, calc(100vw - 24px));
  --dc-feed-voice-play: clamp(40px, 11vw, 44px);
  --dc-feed-icon-size: clamp(28px, 8vw, 34px);
}

/* ------------------------------------------------------------------ */
/* Kill legacy list viewport (430px) on Feed V2                         */
/* ------------------------------------------------------------------ */
html body.feed-v2-surface.public-feed-open #feedPosts,
html body.feed-v2-surface.public-feed-open .feed-v2-pane-feed > #feedPosts,
html body.feed-v2-surface.public-feed-open .feed-v2-pane-feed > #feedPosts.feed-v2-scroll, html body.feed-v2-surface.public-feed-open .feed-v2-pane-feed > #feedPosts.feed-v2-scroll, html body.site-feed-admin-page.feed-v2-surface .feed-v2-pane-feed > #feedPosts.feed-v2-scroll, html body.site-feed-admin-page.feed-v2-surface .feed-v2-pane-feed > #feedPosts.feed-v2-scroll{
  --dc-feed-core-viewport-width: 100% !important;
  --dc-feed-core-text-width-mobile: min(100%, calc(100vw - 24px)) !important;
  box-sizing: border-box !important;
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
  margin: 0 !important;
  gap: var(--dc-feed-gap) !important;
  align-items: stretch !important;
  overflow-x: hidden !important;
}

/* ------------------------------------------------------------------ */
/* Post cards — one width contract for all types                        */
/* ------------------------------------------------------------------ */
html body.feed-v2-surface.public-feed-open .feed-v2-pane-feed > #feedPosts > .feed-post.tg-channel-post,
html body.feed-v2-surface.public-feed-open .feed-v2-pane-feed > #feedPosts > .tg-channel-empty,
html body.feed-v2-surface.public-feed-open .feed-v2-pane-feed > #feedPosts > #feedEmptyState,
html body.feed-v2-surface.public-feed-open #feedPosts > .feed-post.tg-channel-post-media,
html body.feed-v2-surface.public-feed-open #feedPosts > .feed-post.tg-channel-post-publication-text,
html body.feed-v2-surface.public-feed-open #feedPosts > .feed-post.tg-channel-post-text, html body.feed-v2-surface.public-feed-open #feedPosts > .feed-post.tg-channel-post-text, html body.site-feed-admin-page.feed-v2-surface #feedPosts > .feed-post.tg-channel-post-text, html body.site-feed-admin-page.feed-v2-surface #feedPosts > .feed-post.tg-channel-post-text{
  box-sizing: border-box !important;
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
  align-self: stretch !important;
  flex: 1 0 auto !important;
}

html body.feed-v2-surface.public-feed-open #feedPosts > .feed-post.tg-channel-post-voice, html body.feed-v2-surface.public-feed-open #feedPosts > .feed-post.tg-channel-post-voice, html body.site-feed-admin-page.feed-v2-surface #feedPosts > .feed-post.tg-channel-post-voice, html body.site-feed-admin-page.feed-v2-surface #feedPosts > .feed-post.tg-channel-post-voice{
  width: 100% !important;
  max-width: 100% !important;
  align-self: stretch !important;
}

/* Video circles / stories — strict square, never ellipses or dots */
html body.feed-v2-surface.public-feed-open #feedPosts > .feed-post.tg-channel-post-circle,
html body.feed-v2-surface.public-feed-open #feedPosts > .feed-post.feed-post--video-circle,
html body.feed-v2-surface.public-feed-open .feed-v2-pane-feed > #feedPosts > .feed-post.tg-channel-post-circle,
html body.feed-v2-surface.public-feed-open .feed-v2-pane-feed > #feedPosts > .feed-post.feed-post--video-circle, html body.feed-v2-surface.public-feed-open .feed-v2-pane-feed > #feedPosts > .feed-post.feed-post--video-circle, html body.site-feed-admin-page.feed-v2-surface .feed-v2-pane-feed > #feedPosts > .feed-post.feed-post--video-circle, html body.site-feed-admin-page.feed-v2-surface .feed-v2-pane-feed > #feedPosts > .feed-post.feed-post--video-circle{
  box-sizing: border-box !important;
  width: min(100%, calc(var(--dc-feed-circle-size) + var(--dc-feed-circle-comment-gap, 48px))) !important;
  max-width: min(100%, calc(var(--dc-feed-circle-size) + var(--dc-feed-circle-comment-gap, 48px))) !important;
  min-width: 0 !important;
  flex: 0 0 auto !important;
}

html body.feed-v2-surface.public-feed-open #feedPosts > .feed-post.tg-channel-post-circle .tg-video-note-wrap,
html body.feed-v2-surface.public-feed-open .feed-v2-pane-feed .feed-post.tg-channel-post-circle .tg-video-note-wrap, html body.site-feed-admin-page.feed-v2-surface .feed-v2-pane-feed .feed-post.tg-channel-post-circle .tg-video-note-wrap{
  box-sizing: border-box !important;
  width: var(--dc-feed-circle-size) !important;
  height: var(--dc-feed-circle-size) !important;
  min-width: var(--dc-feed-circle-size) !important;
  min-height: var(--dc-feed-circle-size) !important;
  max-width: var(--dc-feed-circle-size) !important;
  max-height: var(--dc-feed-circle-size) !important;
  aspect-ratio: 1 / 1 !important;
  flex-shrink: 0 !important;
}

html body.feed-v2-surface.public-feed-open .feed-v2-pane-feed .feed-post.feed-post--video-circle .feed-video-circle-card, html body.site-feed-admin-page.feed-v2-surface .feed-v2-pane-feed .feed-post.feed-post--video-circle .feed-video-circle-card{
  width: 100% !important;
  max-width: 100% !important;
  padding-top: 0 !important;
}

html body.feed-v2-surface.public-feed-open .feed-v2-pane-feed .feed-post.feed-post--video-circle .feed-video-circle-preview, html body.site-feed-admin-page.feed-v2-surface .feed-v2-pane-feed .feed-post.feed-post--video-circle .feed-video-circle-preview{
  position: relative !important;
  box-sizing: content-box !important;
  width: var(--dc-feed-circle-size) !important;
  height: var(--dc-feed-circle-size) !important;
  min-width: var(--dc-feed-circle-size) !important;
  min-height: var(--dc-feed-circle-size) !important;
  max-width: var(--dc-feed-circle-size) !important;
  max-height: var(--dc-feed-circle-size) !important;
  padding: 0 var(--dc-feed-circle-comment-gap, 48px) 0 0 !important;
  flex-shrink: 0 !important;
}

html body.feed-v2-surface.public-feed-open .feed-v2-pane-feed .feed-post.feed-post--video-circle .feed-video-circle-stage,
html body.feed-v2-surface.public-feed-open #feedPosts > .feed-post.tg-channel-post-circle .tg-video-note, html body.feed-v2-surface.public-feed-open #feedPosts > .feed-post.tg-channel-post-circle .tg-video-note, html body.site-feed-admin-page.feed-v2-surface #feedPosts > .feed-post.tg-channel-post-circle .tg-video-note, html body.site-feed-admin-page.feed-v2-surface #feedPosts > .feed-post.tg-channel-post-circle .tg-video-note{
  box-sizing: border-box !important;
  width: var(--dc-feed-circle-size) !important;
  height: var(--dc-feed-circle-size) !important;
  min-width: var(--dc-feed-circle-size) !important;
  min-height: var(--dc-feed-circle-size) !important;
  max-width: var(--dc-feed-circle-size) !important;
  max-height: var(--dc-feed-circle-size) !important;
  aspect-ratio: 1 / 1 !important;
  border-radius: 50% !important;
  overflow: hidden !important;
  flex-shrink: 0 !important;
}

html body.feed-v2-surface.public-feed-open .feed-v2-pane-feed .feed-post.feed-post--video-circle .feed-video-circle-media,
html body.feed-v2-surface.public-feed-open #feedPosts > .feed-post.tg-channel-post-circle .tg-video-note, html body.feed-v2-surface.public-feed-open #feedPosts > .feed-post.tg-channel-post-circle .tg-video-note, html body.site-feed-admin-page.feed-v2-surface #feedPosts > .feed-post.tg-channel-post-circle .tg-video-note, html body.site-feed-admin-page.feed-v2-surface #feedPosts > .feed-post.tg-channel-post-circle .tg-video-note{
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  border-radius: 50% !important;
}

html body.feed-v2-surface.public-feed-open .feed-v2-pane-feed .feed-post.feed-post--video-circle .feed-video-circle-muted, html body.site-feed-admin-page.feed-v2-surface .feed-v2-pane-feed .feed-post.feed-post--video-circle .feed-video-circle-muted{
  width: var(--dc-feed-icon-size) !important;
  height: var(--dc-feed-icon-size) !important;
  top: clamp(6px, 2vw, 10px) !important;
}

html body.feed-v2-surface.public-feed-open .feed-v2-pane-feed .feed-post.feed-post--video-circle .feed-video-circle-duration,
html body.feed-v2-surface.public-feed-open .feed-v2-pane-feed .feed-post.feed-post--video-circle .feed-video-circle-meta,
html body.feed-v2-surface.public-feed-open #feedPosts > .feed-post.tg-channel-post-circle .tg-post-meta-circle, html body.feed-v2-surface.public-feed-open #feedPosts > .feed-post.tg-channel-post-circle .tg-post-meta-circle, html body.site-feed-admin-page.feed-v2-surface #feedPosts > .feed-post.tg-channel-post-circle .tg-post-meta-circle, html body.site-feed-admin-page.feed-v2-surface #feedPosts > .feed-post.tg-channel-post-circle .tg-post-meta-circle{
  font-size: var(--dc-feed-meta-size) !important;
}

/* Comment chip on circles — stay round, never stretch to oval */
html body.feed-v2-surface.public-feed-open #feedPosts .feed-post.tg-channel-post-circle .tg-circle-comments-shell:not(.feed-video-circle-comments),
html body.feed-v2-surface.public-feed-open #feedPosts .feed-post.feed-post--video-circle .feed-video-circle-comments,
html body.feed-v2-surface.public-feed-open #feedPosts .feed-post.feed-post--video-circle .tg-circle-comments-shell.feed-video-circle-comments, html body.feed-v2-surface.public-feed-open #feedPosts .feed-post.feed-post--video-circle .tg-circle-comments-shell.feed-video-circle-comments, html body.site-feed-admin-page.feed-v2-surface #feedPosts .feed-post.feed-post--video-circle .tg-circle-comments-shell.feed-video-circle-comments, html body.site-feed-admin-page.feed-v2-surface #feedPosts .feed-post.feed-post--video-circle .tg-circle-comments-shell.feed-video-circle-comments{
  position: absolute !important;
  right: 0 !important;
  top: 58% !important;
  transform: translateY(-50%) !important;
  width: 40px !important;
  height: 40px !important;
  min-width: 40px !important;
  min-height: 40px !important;
  max-width: 40px !important;
  max-height: 40px !important;
  margin: 0 !important;
  padding: 0 !important;
  border-radius: 50% !important;
  flex: 0 0 40px !important;
}

/* ------------------------------------------------------------------ */
/* Voice cards                                                          */
/* ------------------------------------------------------------------ */
html body.feed-v2-surface.public-feed-open .feed-v2-pane-feed .feed-post.tg-channel-post-voice > .tg-message-bubble,
html body.feed-v2-surface.public-feed-open .feed-v2-pane-feed .feed-post.tg-channel-post-voice .tg-voice-card, html body.site-feed-admin-page.feed-v2-surface .feed-v2-pane-feed .feed-post.tg-channel-post-voice .tg-voice-card{
  max-width: 100% !important;
  min-width: 0 !important;
}

html body.feed-v2-surface.public-feed-open .feed-v2-pane-feed .feed-post.tg-channel-post-voice .tg-voice-play, html body.site-feed-admin-page.feed-v2-surface .feed-v2-pane-feed .feed-post.tg-channel-post-voice .tg-voice-play{
  width: var(--dc-feed-voice-play) !important;
  height: var(--dc-feed-voice-play) !important;
  min-width: var(--dc-feed-voice-play) !important;
  min-height: var(--dc-feed-voice-play) !important;
  max-width: var(--dc-feed-voice-play) !important;
  max-height: var(--dc-feed-voice-play) !important;
}

/* ------------------------------------------------------------------ */
/* Typography                                                         */
/* ------------------------------------------------------------------ */
html body.feed-v2-surface.public-feed-open .feed-v2-pane-feed .tg-text-publication-caption,
html body.feed-v2-surface.public-feed-open .feed-v2-pane-feed .feed-text,
html body.feed-v2-surface.public-feed-open .feed-v2-pane-feed .tg-channel-copy,
html body.feed-v2-surface.public-feed-open .feed-v2-pane-feed .tg-media-caption,
html body.feed-v2-surface.public-feed-open .feed-v2-pane-feed .tg-voice-caption,
html body.site-feed-admin-page.feed-v2-surface .feed-v2-pane-feed .tg-text-publication-caption,
html body.site-feed-admin-page.feed-v2-surface .feed-v2-pane-feed .feed-text,
html body.site-feed-admin-page.feed-v2-surface .feed-v2-pane-feed .tg-channel-copy,
html body.site-feed-admin-page.feed-v2-surface .feed-v2-pane-feed .tg-media-caption,
html body.site-feed-admin-page.feed-v2-surface .feed-v2-pane-feed .tg-voice-caption {
  font-size: var(--dc-feed-text-size) !important;
  line-height: var(--dc-feed-text-leading) !important;
  font-weight: 400 !important;
  color: var(--dc-feed-text-color) !important;
}

html body.feed-v2-surface.public-feed-open .feed-v2-pane-feed .tg-text-publication-meta,
html body.feed-v2-surface.public-feed-open .feed-v2-pane-feed .tg-media-caption-meta,
html body.feed-v2-surface.public-feed-open .feed-v2-pane-feed .tg-voice-caption-meta,
html body.feed-v2-surface.public-feed-open .feed-v2-pane-feed .tg-channel-meta,
html body.feed-v2-surface.public-feed-open .feed-v2-pane-feed .tg-feed-meta, html body.site-feed-admin-page.feed-v2-surface .feed-v2-pane-feed .tg-feed-meta{
  font-size: var(--dc-feed-meta-size) !important;
}

html body.feed-v2-surface.public-feed-open .feed-v2-pane-feed .feed-post > .tg-feed-reaction-row, html body.site-feed-admin-page.feed-v2-surface .feed-v2-pane-feed .feed-post > .tg-feed-reaction-row{
  max-width: 100% !important;
  font-size: var(--dc-feed-reaction-size) !important;
}

/* Media inside cards */
html body.feed-v2-surface.public-feed-open .feed-v2-pane-feed .feed-post .tg-message-bubble,
html body.feed-v2-surface.public-feed-open .feed-v2-pane-feed .feed-post img,
html body.feed-v2-surface.public-feed-open .feed-v2-pane-feed .feed-post video,
html body.feed-v2-surface.public-feed-open .feed-v2-pane-feed .tg-channel-gallery,
html body.feed-v2-surface.public-feed-open .feed-v2-pane-feed .tg-channel-image-wrap, html body.site-feed-admin-page.feed-v2-surface .feed-v2-pane-feed .tg-channel-image-wrap{
  max-width: 100% !important;
  box-sizing: border-box !important;
}

/* Comment / action rows — no mid-word breaks */
html body.feed-v2-surface.public-feed-open .feed-v2-pane-feed .tg-voice-comments-shell,
html body.feed-v2-surface.public-feed-open .feed-v2-pane-feed .tg-voice-comments-link,
html body.feed-v2-surface.public-feed-open .feed-v2-pane-feed .tg-circle-comments-shell,
html body.feed-v2-surface.public-feed-open .feed-v2-pane-feed .tg-voice-comments-head,
html body.feed-v2-surface.public-feed-open .feed-v2-pane-feed .tg-voice-comments-title, html body.site-feed-admin-page.feed-v2-surface .feed-v2-pane-feed .tg-voice-comments-title{
  word-break: normal !important;
  overflow-wrap: normal !important;
  white-space: nowrap !important;
  font-size: var(--dc-feed-action-size) !important;
}

html body.feed-v2-surface.public-feed-open .feed-v2-pane-feed .feed-post .tg-message-bubble, html body.site-feed-admin-page.feed-v2-surface .feed-v2-pane-feed .feed-post .tg-message-bubble{
  overflow-wrap: break-word !important;
  word-break: normal !important;
}

/* Pinned bar — height + snippet clamp only; shape/position: feed-v2-shell.css */
html body.feed-v2-surface.public-feed-open .feed-v2-pinned-bar, html body.site-feed-admin-page.feed-v2-surface .feed-v2-pinned-bar{
  --feed-v2-pinned-h: clamp(44px, 11vw, 50px);
}

html body.feed-v2-surface.public-feed-open .feed-v2-pinned-bar__text, html body.site-feed-admin-page.feed-v2-surface .feed-v2-pinned-bar__text{
  font-size: 13px !important;
  line-height: 1.28 !important;
  white-space: normal !important;
  overflow: hidden !important;
  display: -webkit-box !important;
  -webkit-box-orient: vertical !important;
  -webkit-line-clamp: 1 !important;
}

html body.feed-v2-surface.public-feed-open .feed-v2-pane-feed .tg-channel-empty, html body.site-feed-admin-page.feed-v2-surface .feed-v2-pane-feed .tg-channel-empty{
  width: min(100%, var(--dc-feed-card-max)) !important;
  padding: clamp(12px, 3vw, 18px) !important;
  font-size: 13px !important;
}

/* ------------------------------------------------------------------ */
/* Phone portrait (320–767)                                             */
/* ------------------------------------------------------------------ */
@media (max-width: 767px) {
body.feed-v2-surface.public-feed-open:not(.feed-v2-desktop-active), body.site-feed-admin-page.feed-v2-surface:not(.feed-v2-desktop-active){
    --dc-feed-card-max: 100%;
    --dc-feed-circle-size: clamp(220px, min(68vw, 42vh), 268px);
    --dc-feed-voice-max: 100%;
  }
}

/* Narrow phones */
@media (max-width: 380px) {
body.feed-v2-surface.public-feed-open:not(.feed-v2-desktop-active), body.site-feed-admin-page.feed-v2-surface:not(.feed-v2-desktop-active){
    --dc-feed-circle-size: clamp(200px, calc(100vw - 48px), 260px);
  }
}

/* ------------------------------------------------------------------ */
/* Tablet (768–1023) — wider cards, centered in pane                  */
/* ------------------------------------------------------------------ */
@media (min-width: 768px) and (max-width: 899px) {
body.feed-v2-surface.public-feed-open:not(.feed-v2-desktop-active), body.site-feed-admin-page.feed-v2-surface:not(.feed-v2-desktop-active){
    --feed-v2-frame-max: min(720px, calc(100vw - 24px));
    --dc-bottom-nav-max-width: min(720px, calc(100vw - 24px));
    --dc-feed-card-max: min(560px, calc(100vw - 32px));
    --dc-feed-circle-size: clamp(240px, min(32vw, 36vh), 300px);
    --dc-feed-voice-max: min(480px, calc(100vw - 32px));
  }

html body.feed-v2-surface.public-feed-open:not(.feed-v2-desktop-active) .wrap{
    width: 100% !important;
    max-width: min(720px, calc(100vw - 24px)) !important;
    margin-left: auto !important;
    margin-right: auto !important;
  }

  html body.feed-v2-surface.public-feed-open:not(.feed-v2-desktop-active) .feed-v2-pane-feed > .feed-v2-pinned-bar,
html body.feed-v2-surface.public-feed-open:not(.feed-v2-desktop-active) .feed-v2-pane-feed > .feed-v2-pinned-bar .feed-v2-pinned-bar__main{
    width: 100% !important;
    max-width: 100% !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
  }

  html body.feed-v2-surface.public-feed-open:not(.feed-v2-desktop-active) .feed-v2-pane-feed > #feedPosts,
html body.feed-v2-surface.public-feed-open:not(.feed-v2-desktop-active) #feedPosts, html body.feed-v2-surface.public-feed-open:not(.feed-v2-desktop-active) #feedPosts, html body.site-feed-admin-page.feed-v2-surface:not(.feed-v2-desktop-active) #feedPosts, html body.site-feed-admin-page.feed-v2-surface:not(.feed-v2-desktop-active) #feedPosts{
    align-items: stretch !important;
  }

  html body.feed-v2-surface.public-feed-open:not(.feed-v2-desktop-active) #feedPosts > .feed-post.tg-channel-post,
html body.feed-v2-surface.public-feed-open:not(.feed-v2-desktop-active) .feed-v2-pane-feed > #feedPosts > .feed-post.tg-channel-post, html body.feed-v2-surface.public-feed-open:not(.feed-v2-desktop-active) .feed-v2-pane-feed > #feedPosts > .feed-post.tg-channel-post, html body.site-feed-admin-page.feed-v2-surface:not(.feed-v2-desktop-active) .feed-v2-pane-feed > #feedPosts > .feed-post.tg-channel-post, html body.site-feed-admin-page.feed-v2-surface:not(.feed-v2-desktop-active) .feed-v2-pane-feed > #feedPosts > .feed-post.tg-channel-post{
    width: 100% !important;
    max-width: 100% !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    align-self: stretch !important;
  }
}

/* ------------------------------------------------------------------ */
/* Landscape mobile/tablet — compact chrome, circles stay readable      */
/* ------------------------------------------------------------------ */
@media (max-width: 1023px) and (orientation: landscape) {
body.feed-v2-surface.public-feed-open:not(.feed-v2-desktop-active), body.site-feed-admin-page.feed-v2-surface:not(.feed-v2-desktop-active){
    --dc-feed-gap: clamp(6px, 1.6vh, 10px);
    --dc-feed-pad-x: clamp(6px, 2vw, 12px);
    --dc-feed-card-max: min(100%, calc(100vw - 24px));
    /* Fit circle in short viewport — square via explicit size token */
    --dc-feed-circle-size: clamp(148px, min(34vw, 46vh), 220px);
    --dc-feed-voice-max: min(100%, calc(100vw - 24px));
    --feed-v2-pinned-h: clamp(36px, 10vh, 44px);
    --feed-v2-mobile-nav-h: 44px;
    --feed-v2-mobile-scroll-chrome: 22px;
  }

html body.feed-v2-surface.public-feed-open:not(.feed-v2-desktop-active) .wrap{
    max-width: 100% !important;
    width: 100% !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
  }

  html body.feed-v2-surface.public-feed-open:not(.feed-v2-desktop-active) .feed-v2-pane-feed > .feed-v2-pinned-bar,
html body.feed-v2-surface.public-feed-open:not(.feed-v2-desktop-active) .feed-v2-pane-feed > .feed-v2-pinned-bar .feed-v2-pinned-bar__main{
    width: 100% !important;
    max-width: 100% !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
  }

html body.feed-v2-surface.public-feed-open:not(.feed-v2-desktop-active) .feed-v2-pinned-bar__main, html body.site-feed-admin-page.feed-v2-surface:not(.feed-v2-desktop-active) .feed-v2-pinned-bar__main{
    min-height: var(--feed-v2-pinned-h) !important;
  }

  /* Beat tablet 768–899 centering when device is landscape */
  html body.feed-v2-surface.public-feed-open:not(.feed-v2-desktop-active) .feed-v2-pane-feed > #feedPosts,
html body.feed-v2-surface.public-feed-open:not(.feed-v2-desktop-active) #feedPosts, html body.feed-v2-surface.public-feed-open:not(.feed-v2-desktop-active) #feedPosts, html body.site-feed-admin-page.feed-v2-surface:not(.feed-v2-desktop-active) #feedPosts, html body.site-feed-admin-page.feed-v2-surface:not(.feed-v2-desktop-active) #feedPosts{
    align-items: stretch !important;
  }

  html body.feed-v2-surface.public-feed-open:not(.feed-v2-desktop-active) .feed-v2-pane-feed > #feedPosts > .feed-post.tg-channel-post,
  html body.feed-v2-surface.public-feed-open:not(.feed-v2-desktop-active) #feedPosts > .feed-post.tg-channel-post,
  html body.feed-v2-surface.public-feed-open:not(.feed-v2-desktop-active) #feedPosts > .feed-post.tg-channel-post-media,
  html body.feed-v2-surface.public-feed-open:not(.feed-v2-desktop-active) #feedPosts > .feed-post.tg-channel-post-voice,
html body.feed-v2-surface.public-feed-open #feedPosts > .feed-post.tg-channel-post-voice:has(.tg-post-footer), html body.feed-v2-surface.public-feed-open #feedPosts > .feed-post.tg-channel-post-voice:has(.tg-post-footer), html body.site-feed-admin-page.feed-v2-surface #feedPosts > .feed-post.tg-channel-post-voice:has(.tg-post-footer), html body.site-feed-admin-page.feed-v2-surface #feedPosts > .feed-post.tg-channel-post-voice:has(.tg-post-footer){
    width: 100% !important;
    max-width: 100% !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    align-self: stretch !important;
  }
}

/* Very short landscape (Fold, SE) — still keep circle floor at 180px */
@media (max-width: 1023px) and (orientation: landscape) and (max-height: 420px) {
body.feed-v2-surface.public-feed-open:not(.feed-v2-desktop-active), body.site-feed-admin-page.feed-v2-surface:not(.feed-v2-desktop-active){
    --dc-feed-circle-size: clamp(132px, min(30vw, 40vh), 188px);
    --feed-v2-pinned-h: 34px;
    --feed-v2-mobile-header-reserve: var(--admin-header-height, calc(44px + env(safe-area-inset-top, 0px)));
  }
}

/* ------------------------------------------------------------------ */
/* Desktop split (1024+)                                              */
/* ------------------------------------------------------------------ */
@media (min-width: 900px) and (min-height: 560px) {
  body.feed-v2-surface.public-feed-open.feed-v2-desktop-active,
  body.feed-v2-surface.public-feed-open,
  body.site-feed-admin-page.feed-v2-surface {
    --feed-v2-column-max: 100%;
    --dc-feed-card-max: min(100%, calc(100% - 24px));
    /* px only — % in custom props re-resolves in each child and collapses circles on desktop split */
    --dc-feed-circle-size: 280px;
    --dc-feed-voice-max: 100%;
  }

  html body.feed-v2-surface.feed-v2-desktop-active .feed-v2-pane-feed > #feedPosts,
  html body.feed-v2-surface.feed-v2-desktop-active .feed-v2-pane-feed > #feedPosts {
    width: 100% !important;
    max-width: 100% !important;
    align-items: flex-start !important;
    padding-inline: 12px !important;
    box-sizing: border-box !important;
  }
}

/* Legacy feed-unified-public + public-feed-base width kills */
html body.feed-v2-surface.public-feed-open #feedPosts > .feed-post.tg-channel-post-media,
html body.feed-v2-surface.public-feed-open #feedPosts > .feed-post.tg-channel-post-publication-text,
html body.feed-v2-surface.public-feed-open #feedPosts > .feed-post.tg-channel-post-voice:has(.tg-post-footer), html body.feed-v2-surface.public-feed-open #feedPosts > .feed-post.tg-channel-post-voice:has(.tg-post-footer), html body.site-feed-admin-page.feed-v2-surface #feedPosts > .feed-post.tg-channel-post-voice:has(.tg-post-footer), html body.site-feed-admin-page.feed-v2-surface #feedPosts > .feed-post.tg-channel-post-voice:has(.tg-post-footer){
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
  align-self: stretch !important;
}

html body.feed-v2-surface.public-feed-open .tg-video-note-wrap, html body.site-feed-admin-page.feed-v2-surface .tg-video-note-wrap{
  width: var(--dc-feed-circle-size) !important;
  height: var(--dc-feed-circle-size) !important;
  min-width: var(--dc-feed-circle-size) !important;
  min-height: var(--dc-feed-circle-size) !important;
  max-width: var(--dc-feed-circle-size) !important;
  max-height: var(--dc-feed-circle-size) !important;
  aspect-ratio: 1 / 1 !important;
}

html body.feed-v2-surface.public-feed-open .feed-post.feed-post--video-circle > .tg-reactions-outside,
html body.feed-v2-surface.public-feed-open #feedPosts > .feed-post.feed-post--video-circle > .tg-reactions-outside, html body.feed-v2-surface.public-feed-open #feedPosts > .feed-post.feed-post--video-circle > .tg-reactions-outside, html body.site-feed-admin-page.feed-v2-surface #feedPosts > .feed-post.feed-post--video-circle > .tg-reactions-outside, html body.site-feed-admin-page.feed-v2-surface #feedPosts > .feed-post.feed-post--video-circle > .tg-reactions-outside{
  max-width: min(100%, calc(var(--dc-feed-circle-size) + var(--dc-feed-circle-comment-gap, 48px))) !important;
}

/* Mobile/tablet — full-width shell, no 430px letterbox */
@media (max-width: 1023px) {
html body.feed-v2-surface.public-feed-open:not(.feed-v2-desktop-active) .wrap{
    width: 100% !important;
    max-width: 100% !important;
  }

html body.feed-v2-surface.public-feed-open:not(.feed-v2-desktop-active) #feedPosts, html body.feed-v2-surface.public-feed-open:not(.feed-v2-desktop-active) #feedPosts, html body.site-feed-admin-page.feed-v2-surface:not(.feed-v2-desktop-active) #feedPosts, html body.site-feed-admin-page.feed-v2-surface:not(.feed-v2-desktop-active) #feedPosts{
    align-items: stretch !important;
  }

  html body.feed-v2-surface.public-feed-open:not(.feed-v2-desktop-active) #feedPosts > .feed-post.tg-channel-post-media,
  html body.feed-v2-surface.public-feed-open:not(.feed-v2-desktop-active) #feedPosts > .feed-post.tg-channel-post-publication-text,
html body.feed-v2-surface.public-feed-open:not(.feed-v2-desktop-active) #feedPosts > .feed-post.tg-channel-post-text, html body.feed-v2-surface.public-feed-open:not(.feed-v2-desktop-active) #feedPosts > .feed-post.tg-channel-post-text, html body.site-feed-admin-page.feed-v2-surface:not(.feed-v2-desktop-active) #feedPosts > .feed-post.tg-channel-post-text, html body.site-feed-admin-page.feed-v2-surface:not(.feed-v2-desktop-active) #feedPosts > .feed-post.tg-channel-post-text{
    width: 100% !important;
    max-width: 100% !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    align-self: stretch !important;
  }
}

/* Phone landscape — beat shell + legacy fixed widths */
@media (max-width: 1023px) and (orientation: landscape) {
  html body.feed-v2-surface.feed-v2-phone-landscape-active.public-feed-open:not(.feed-v2-desktop-active) .feed-v2-pane-feed > #feedPosts > .feed-post.tg-channel-post,
  html body.feed-v2-surface.feed-v2-phone-landscape-active.public-feed-open:not(.feed-v2-desktop-active) .feed-v2-pane-feed > #feedPosts > .tg-channel-empty,
  html body.feed-v2-surface.feed-v2-phone-landscape-active.public-feed-open:not(.feed-v2-desktop-active) .feed-v2-pane-feed > #feedPosts > #feedEmptyState,
  html body.feed-v2-surface.feed-v2-phone-landscape-active.public-feed-open:not(.feed-v2-desktop-active) #feedPosts > .feed-post.tg-channel-post-media,
  html body.feed-v2-surface.feed-v2-phone-landscape-active.public-feed-open:not(.feed-v2-desktop-active) #feedPosts > .feed-post.tg-channel-post-publication-text,
  html body.feed-v2-surface.feed-v2-phone-landscape-active.public-feed-open:not(.feed-v2-desktop-active) #feedPosts > .feed-post.tg-channel-post-text,
html body.feed-v2-surface.feed-v2-phone-landscape-active.public-feed-open:not(.feed-v2-desktop-active) #feedPosts > .feed-post.tg-channel-post-voice, html body.feed-v2-surface.feed-v2-phone-landscape-active.public-feed-open:not(.feed-v2-desktop-active) #feedPosts > .feed-post.tg-channel-post-voice{
    width: min(100%, var(--dc-feed-card-max)) !important;
    max-width: min(100%, var(--dc-feed-card-max)) !important;
    margin-left: 0 !important;
    margin-right: auto !important;
  }

  html body.feed-v2-surface.feed-v2-phone-landscape-active.public-feed-open:not(.feed-v2-desktop-active) #feedPosts > .feed-post.tg-channel-post-circle,
  html body.feed-v2-surface.feed-v2-phone-landscape-active.public-feed-open:not(.feed-v2-desktop-active) #feedPosts > .feed-post.feed-post--video-circle,
  html body.feed-v2-surface.feed-v2-phone-landscape-active.public-feed-open:not(.feed-v2-desktop-active) #feedPosts > .feed-post.tg-channel-post-circle .tg-video-note-wrap,
html body.feed-v2-surface.feed-v2-phone-landscape-active.public-feed-open:not(.feed-v2-desktop-active) #feedPosts > .feed-post.feed-post--video-circle .feed-video-circle-preview, html body.feed-v2-surface.feed-v2-phone-landscape-active.public-feed-open:not(.feed-v2-desktop-active) #feedPosts > .feed-post.feed-post--video-circle .feed-video-circle-preview{
    width: var(--dc-feed-circle-size) !important;
    max-width: var(--dc-feed-circle-size) !important;
    height: var(--dc-feed-circle-size) !important;
    max-height: var(--dc-feed-circle-size) !important;
    min-height: var(--dc-feed-circle-size) !important;
  }
}

/* ------------------------------------------------------------------ */
/* Overflow guard                                                       */
/* ------------------------------------------------------------------ */
html body.feed-v2-surface.public-feed-open .feed-v2-pane-feed,
html body.feed-v2-surface.public-feed-open .feed-v2-pane-feed > #feedPosts,
html body.feed-v2-surface.public-feed-open .feed-v2-pane-feed .feed-post, html body.site-feed-admin-page.feed-v2-surface .feed-v2-pane-feed .feed-post{
  min-width: 0;
  max-width: 100%;
}

/* ------------------------------------------------------------------ */
/* Overlays / modals                                                    */
/* ------------------------------------------------------------------ */
html body.feed-v2-surface.public-feed-open.tg-post-context-open .tg-post-context-feed-list, html body.site-feed-admin-page.feed-v2-surface.tg-post-context-open .tg-post-context-feed-list{
  width: min(100%, calc(100vw - 16px)) !important;
  max-width: min(100%, calc(100vw - 16px)) !important;
  box-sizing: border-box !important;
}

html body.feed-v2-surface.public-feed-open .feed-comments-drawer,
html body.feed-v2-surface.public-feed-open .feed-comments-sheet,
html body.feed-v2-surface.public-feed-open .comment-profile-overlay-stage, html body.site-feed-admin-page.feed-v2-surface .comment-profile-overlay-stage{
  max-width: min(100vw, 560px) !important;
  box-sizing: border-box !important;
}

@media (max-width: 767px) {
  html body.feed-v2-surface.public-feed-open .feed-comments-drawer,
  html body.feed-v2-surface.public-feed-open .feed-comments-sheet,
html body.feed-v2-surface.public-feed-open .comment-profile-overlay-stage, html body.site-feed-admin-page.feed-v2-surface .comment-profile-overlay-stage{
    max-width: 100vw !important;
  }
}

/* === merged: feed-v3-mobile-fullwidth.css === */
/**
 * Feed V3 mobile full-width — loads before feed-v3-simplify.css on Feed V2.
 * Cancels legacy site-visual / public-feed-base 430px contracts and fixed #feedPosts scroller.
 */

html body.feed-v2-surface.public-feed-open:not(.feed-v2-desktop-active),
html body.feed-v2-surface.site-feed-admin-page:not(.feed-v2-desktop-active),
html body.feed-v2-surface.feed-publications-open:not(.feed-v2-desktop-active){
  --feed-v2-frame-max: 100%;
  --dc-bottom-nav-max-width: 100%;
  --dc-feed-core-viewport-width: 100%;
  --dc-feed-card-max: 100%;
  --dc-feed-voice-max: 100%;
}

/* Shell — no phone-frame letterbox */
html body.feed-v2-surface.public-feed-open:not(.feed-v2-desktop-active) .wrap,
html body.site-feed-admin-page.feed-v2-surface:not(.feed-v2-desktop-active) .wrap,
html body.feed-v2-surface.public-feed-open:not(.feed-v2-desktop-active) .feed-v2-page,
html body.site-feed-admin-page.feed-v2-surface:not(.feed-v2-desktop-active) .feed-v2-page,
html body.feed-v2-surface.public-feed-open:not(.feed-v2-desktop-active) .feed-v2-workspace,
html body.site-feed-admin-page.feed-v2-surface:not(.feed-v2-desktop-active) .feed-v2-workspace{
  width: 100% !important;
  max-width: 100% !important;
  box-sizing: border-box !important;
}

html body.feed-v2-surface.public-feed-open:not(.feed-v2-desktop-active) .wrap,
html body.site-feed-admin-page.feed-v2-surface:not(.feed-v2-desktop-active) .wrap{
  padding-left: max(0px, env(safe-area-inset-left, 0px)) !important;
  padding-right: max(0px, env(safe-area-inset-right, 0px)) !important;
  box-shadow: none !important;
}

html body.feed-v2-surface.public-feed-open:not(.feed-v2-desktop-active) .feed-v2-workspace,
html body.site-feed-admin-page.feed-v2-surface:not(.feed-v2-desktop-active) .feed-v2-workspace{
  padding-left: 0 !important;
  padding-right: 0 !important;
}

/* Kill legacy V341 fixed scroller (site-visual.css) on Feed V2 */
html body.feed-v2-surface.public-feed-open .feed-v2-pane-feed > #feedPosts,
html body.site-feed-admin-page.feed-v2-surface .feed-v2-pane-feed > #feedPosts,
html body.site-feed-admin-page.feed-v2-surface .feed-v2-pane-feed > #feedPosts,
html body.feed-v2-surface.public-feed-open #feedPosts.feed-v2-scroll,
html body.feed-v2-surface.public-feed-open #feedPosts.feed-v2-scroll,
html body.site-feed-admin-page.feed-v2-surface #feedPosts.feed-v2-scroll,
html body.site-feed-admin-page.feed-v2-surface #feedPosts.feed-v2-scroll{
  position: relative !important;
  left: auto !important;
  right: auto !important;
  top: auto !important;
  bottom: auto !important;
  transform: none !important;
  z-index: auto !important;
  width: 100% !important;
  max-width: 100% !important;
  height: auto !important;
  min-height: 0 !important;
  margin: 0 !important;
  box-sizing: border-box !important;
}

html body.feed-v2-surface.public-feed-open #feedPosts::before,
html body.feed-v2-surface.public-feed-open #feedPosts::after,
html body.site-feed-admin-page.feed-v2-surface #feedPosts::before,
html body.site-feed-admin-page.feed-v2-surface #feedPosts::after,
html body.feed-v2-surface.public-feed-open #feedPosts::after,
html body.site-feed-admin-page.feed-v2-surface #feedPosts::after{
  content: none !important;
  display: none !important;
  flex: none !important;
  min-height: 0 !important;
}

/* Pinned bar — width only (shape/position: feed-v2-shell.css) */
html body.feed-v2-surface.public-feed-open:not(.feed-v2-desktop-active) .feed-v2-pane-feed > .feed-v2-pinned-bar,
html body.site-feed-admin-page.feed-v2-surface:not(.feed-v2-desktop-active) .feed-v2-pane-feed > .feed-v2-pinned-bar,
html body.feed-v2-surface.public-feed-open:not(.feed-v2-desktop-active) .feed-v2-pane-feed > .feed-v2-pinned-bar .feed-v2-pinned-bar__main,
html body.site-feed-admin-page.feed-v2-surface:not(.feed-v2-desktop-active) .feed-v2-pane-feed > .feed-v2-pinned-bar .feed-v2-pinned-bar__main{
  width: 100% !important;
  max-width: 100% !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
  box-sizing: border-box !important;
}

/* Post cards — full column width */
html body.feed-v2-surface.public-feed-open:not(.feed-v2-desktop-active) #feedPosts > .feed-post.tg-channel-post,
html body.site-feed-admin-page.feed-v2-surface:not(.feed-v2-desktop-active) #feedPosts > .feed-post.tg-channel-post,
html body.site-feed-admin-page.feed-v2-surface:not(.feed-v2-desktop-active) #feedPosts > .feed-post.tg-channel-post,
html body.feed-v2-surface.public-feed-open:not(.feed-v2-desktop-active) .feed-v2-pane-feed > #feedPosts > .feed-post.tg-channel-post,
html body.site-feed-admin-page.feed-v2-surface:not(.feed-v2-desktop-active) .feed-v2-pane-feed > #feedPosts > .feed-post.tg-channel-post,
html body.feed-v2-surface.public-feed-open:not(.feed-v2-desktop-active) #feedPosts > .feed-post.tg-channel-post-media,
html body.site-feed-admin-page.feed-v2-surface:not(.feed-v2-desktop-active) #feedPosts > .feed-post.tg-channel-post-media,
html body.site-feed-admin-page.feed-v2-surface:not(.feed-v2-desktop-active) #feedPosts > .feed-post.tg-channel-post-media,
html body.feed-v2-surface.public-feed-open:not(.feed-v2-desktop-active) #feedPosts > .feed-post.tg-channel-post-publication-text,
html body.site-feed-admin-page.feed-v2-surface:not(.feed-v2-desktop-active) #feedPosts > .feed-post.tg-channel-post-publication-text,
html body.site-feed-admin-page.feed-v2-surface:not(.feed-v2-desktop-active) #feedPosts > .feed-post.tg-channel-post-publication-text,
html body.feed-v2-surface.public-feed-open:not(.feed-v2-desktop-active) #feedPosts > .feed-post.tg-channel-post-text,
html body.site-feed-admin-page.feed-v2-surface:not(.feed-v2-desktop-active) #feedPosts > .feed-post.tg-channel-post-text,
html body.site-feed-admin-page.feed-v2-surface:not(.feed-v2-desktop-active) #feedPosts > .feed-post.tg-channel-post-text,
html body.feed-v2-surface.public-feed-open:not(.feed-v2-desktop-active) #feedPosts > .feed-post.tg-channel-post-voice,
html body.site-feed-admin-page.feed-v2-surface:not(.feed-v2-desktop-active) #feedPosts > .feed-post.tg-channel-post-voice,
html body.feed-v2-surface.public-feed-open:not(.feed-v2-desktop-active) #feedPosts > .feed-post.tg-channel-post-voice,
html body.site-feed-admin-page.feed-v2-surface:not(.feed-v2-desktop-active) #feedPosts > .feed-post.tg-channel-post-voice{
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
  align-self: stretch !important;
  box-sizing: border-box !important;
}

html body.feed-v2-surface.public-feed-open:not(.feed-v2-desktop-active) #feedPosts > .feed-post.tg-channel-post:has(.tg-channel-title), html body.feed-v2-surface.public-feed-open:not(.feed-v2-desktop-active) #feedPosts > .feed-post.tg-channel-post:has(.tg-channel-title){
  width: min(100%, var(--dc-feed-card-max)) !important;
  max-width: 100% !important;
}

/* Voice — override --tg-voice-width % and inline 312px lock */
html body.feed-v2-surface.public-feed-open:not(.feed-v2-desktop-active) #feedPosts > .feed-post.tg-channel-post-voice,
html body.site-feed-admin-page.feed-v2-surface:not(.feed-v2-desktop-active) #feedPosts > .feed-post.tg-channel-post-voice,
html body.feed-v2-surface.public-feed-open:not(.feed-v2-desktop-active) #feedPosts > .feed-post.tg-channel-post-voice,
html body.site-feed-admin-page.feed-v2-surface:not(.feed-v2-desktop-active) #feedPosts > .feed-post.tg-channel-post-voice{
  --tg-voice-width: 100% !important;
  --tg-voice-core-pct: 100% !important;
}

html body.feed-v2-surface.public-feed-open:not(.feed-v2-desktop-active) .feed-post.tg-channel-post-voice > .tg-message-bubble,
html body.site-feed-admin-page.feed-v2-surface:not(.feed-v2-desktop-active) .feed-post.tg-channel-post-voice > .tg-message-bubble,
html body.feed-v2-surface.public-feed-open:not(.feed-v2-desktop-active) .feed-post.tg-channel-post-voice > .tg-message-bubble.tg-voice-caption-bubble-expanded,
html body.site-feed-admin-page.feed-v2-surface:not(.feed-v2-desktop-active) .feed-post.tg-channel-post-voice > .tg-message-bubble.tg-voice-caption-bubble-expanded,
html body.feed-v2-surface.public-feed-open:not(.feed-v2-desktop-active) .feed-post.tg-channel-post-voice .tg-voice-card,
html body.site-feed-admin-page.feed-v2-surface:not(.feed-v2-desktop-active) .feed-post.tg-channel-post-voice .tg-voice-card{
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
  box-sizing: border-box !important;
}

/* Mobile chat — full screen pane, not a floating card */
html body.feed-v2-surface.public-feed-open:not(.feed-v2-desktop-active).feed-v2-chat-active .feed-v2-pane-chat,
html body.feed-v2-surface.public-feed-open:not(.feed-v2-desktop-active).feed-v2-chat-active .feed-v2-pane-chat .feed-v2-chat-panel{
  width: 100% !important;
  max-width: 100% !important;
  height: 100% !important;
  min-height: 0 !important;
  margin: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  background: transparent !important;
}

html body.feed-v2-surface.public-feed-open:not(.feed-v2-desktop-active).feed-v2-chat-active .feed-v2-pane-chat .feed-v2-chat-composer{
  left: auto !important;
  right: auto !important;
  transform: none !important;
  width: 100% !important;
  max-width: 100% !important;
  border-radius: 18px 18px 0 0 !important;
  box-sizing: border-box !important;
}


/* Bottom nav full-bleed + dock-shift: authority in dc-bottom-nav.css */

/* Phone landscape */
@media (orientation: landscape) and (max-height: 520px) {
html body.feed-v2-surface.feed-v2-phone-landscape-active.public-feed-open:not(.feed-v2-desktop-active){
    --dc-feed-card-max: min(100%, calc(100vw - 8px));
    --dc-feed-voice-max: min(100%, calc(100vw - 8px));
  }

html body.feed-v2-surface.feed-v2-phone-landscape-active.public-feed-open:not(.feed-v2-desktop-active) .wrap{
    padding-left: max(0px, env(safe-area-inset-left, 0px)) !important;
    padding-right: max(0px, env(safe-area-inset-right, 0px)) !important;
    max-width: 100% !important;
  }

html body.feed-v2-surface.feed-v2-phone-landscape-active.public-feed-open:not(.feed-v2-desktop-active):not(.feed-v2-chat-active) .feed-v2-pane-chat{
    display: none !important;
  }

html body.feed-v2-surface.feed-v2-phone-landscape-active.public-feed-open:not(.feed-v2-desktop-active).feed-v2-chat-active .feed-v2-pane-feed{
    display: none !important;
  }

html body.feed-v2-surface.feed-v2-phone-landscape-active.public-feed-open:not(.feed-v2-desktop-active).feed-v2-chat-active .feed-v2-pane-chat{
    display: flex !important;
    flex: 1 1 auto !important;
    min-height: 0 !important;
    width: 100% !important;
    max-width: 100% !important;
  }

html body.feed-v2-surface.feed-v2-phone-landscape-active.public-feed-open:not(.feed-v2-desktop-active):not(.feed-v2-chat-active) .feed-v2-pane-feed{
    display: flex !important;
    flex: 1 1 auto !important;
    min-height: 0 !important;
  }
}

/* === Feed V2 layout authority (final layer) — one contract, no 430px letterbox === */
html body.feed-v2-surface {
  --dc-feed-core-viewport-width: 100%;
  --dc-feed-card-width: 100%;
  --feed-v2-frame-max: 100%;
  --dc-bottom-nav-max-width: 100%;
  --dc-shell-max: 100%;
}

@media (min-width: 900px) and (min-height: 560px) {
  html body.feed-v2-surface.feed-v2-desktop-active {
    --dc-feed-card-max-desktop: min(560px, 100%);
    --dc-public-feed-card-max: min(560px, 100%);
  }
}

html body.feed-v2-surface .wrap {
  max-width: 100% !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
  padding-bottom: 0 !important;
  box-shadow: none !important;
}

html body.feed-v2-surface:has(.dc-shell-main) .dc-shell-main {
  padding-bottom: 0 !important;
  overflow: hidden !important;
}

html body.feed-v2-surface.feed-publications-open.user-mode:has(.dc-shell-main) .dc-shell-main,
html body.feed-v2-surface.feed-publications-open.admin-mode.site-feed-admin-page:has(.dc-shell-main) .dc-shell-main,
html body.feed-v2-surface.feed-publications-open:has(.dc-shell-main) .dc-shell-main {
  padding-left: 0 !important;
  padding-right: 0 !important;
  padding-bottom: 0 !important;
  overflow: hidden !important;
}

html body.feed-v2-surface #feedPosts,
html body.feed-v2-surface #feedPosts[data-feed-publications],
html body.feed-v2-surface .feed-v2-pane-feed > #feedPosts {
  width: 100% !important;
  max-width: 100% !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
  left: auto !important;
  right: auto !important;
  transform: none !important;
  position: relative !important;
  box-sizing: border-box !important;
}

html body.feed-v2-surface #feedPosts > .feed-post.tg-channel-post,
html body.feed-v2-surface #feedPosts > .feed-publication.tg-channel-post {
  width: 100% !important;
  max-width: 100% !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
  align-self: stretch !important;
}

html body.feed-v2-surface:not(.feed-v2-desktop-active) .feed-v2-workspace {
  width: 100% !important;
  max-width: 100% !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
}

html body.feed-v2-surface:not(.feed-v2-desktop-active) .feed-v2-page {
  width: 100% !important;
  max-width: 100% !important;
}

/* Tablet portrait tier (768–899, class from feed-v2-shell.js) */
body.feed-v2-surface.feed-v2-tablet-active:not(.feed-v2-desktop-active) {
  --feed-v2-frame-max: 100%;
  --dc-bottom-nav-max-width: 100%;
  --dc-feed-card-max: min(100%, calc(100vw - 16px));
}

body.feed-v2-surface.feed-v2-tablet-active:not(.feed-v2-desktop-active) .wrap,
body.feed-v2-surface.feed-v2-tablet-active:not(.feed-v2-desktop-active) .feed-v2-page,
body.feed-v2-surface.feed-v2-tablet-active:not(.feed-v2-desktop-active) .feed-v2-workspace,
body.feed-v2-surface.feed-v2-tablet-active:not(.feed-v2-desktop-active) #feedPosts {
  width: 100% !important;
  max-width: 100% !important;
}

/* Mobile/tablet single-pane: safe-area + feed scroll end (FAB clearance) */
html body.feed-v2-surface.public-feed-open:not(.feed-v2-desktop-active) .wrap {
  width: 100% !important;
  max-width: 100% !important;
  padding-left: max(0px, env(safe-area-inset-left, 0px)) !important;
  padding-right: max(0px, env(safe-area-inset-right, 0px)) !important;
}

html body.feed-v2-surface.public-feed-open:not(.feed-v2-desktop-active) .feed-v2-workspace {
  width: 100% !important;
  max-width: 100% !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
  box-sizing: border-box !important;
}

html body.feed-v2-surface.public-feed-open:not(.feed-v2-desktop-active):not(.feed-v2-chat-active) .feed-v2-pane-feed > #feedPosts {
  padding-bottom: var(--dc-shell-nav-reserve, calc(var(--feed-v2-mobile-scroll-chrome, 76px) + env(safe-area-inset-bottom, 0px))) !important;
  scroll-padding-bottom: var(--dc-shell-nav-reserve, calc(var(--feed-v2-mobile-scroll-chrome, 76px) + env(safe-area-inset-bottom, 0px))) !important;
}

html body.feed-v2-surface #feedPosts > .feed-post.tg-channel-post > .tg-feed-reaction-row,
html body.feed-v2-surface #feedPosts > .feed-post.tg-channel-post > .tg-reactions-outside {
  margin: 8px 0 0 !important;
  max-width: 100% !important;
  align-self: stretch !important;
}

/* Feed column padding — single authority for all roles */
html body.feed-v2-surface.feed-publications-open:not(.feed-v2-desktop-active) #feedPosts,
html body.feed-v2-surface.feed-publications-open:not(.feed-v2-desktop-active) .feed-v2-pane-feed > #feedPosts {
  padding-inline: max(6px, env(safe-area-inset-left, 0px)) max(6px, env(safe-area-inset-right, 0px)) !important;
  align-items: stretch !important;
}

@media (max-width: 699px) {
  html body.feed-v2-surface.feed-publications-open #feedPosts {
    align-items: stretch !important;
  }

  html body.feed-v2-surface.feed-publications-open #feedPosts > .feed-post.tg-channel-post,
  html body.feed-v2-surface.feed-publications-open #feedPosts > .feed-publication.tg-channel-post {
    width: 100% !important;
    max-width: 100% !important;
    align-self: stretch !important;
  }
}

@media (max-width: 1023px) {
  html body.feed-v2-surface.user-mode.public-feed-open:not(.feed-v2-desktop-active) .feed-v2-pane-feed > #feedPosts,
  html body.feed-v2-surface.admin-mode.site-feed-admin-page:not(.feed-v2-desktop-active) .feed-v2-pane-feed > #feedPosts {
    align-items: stretch !important;
  }

  html body.feed-v2-surface.user-mode.public-feed-open:not(.feed-v2-desktop-active) .feed-v2-pane-feed > #feedPosts > .feed-post.tg-channel-post,
  html body.feed-v2-surface.user-mode.public-feed-open:not(.feed-v2-desktop-active) .feed-v2-pane-feed > #feedPosts > .feed-publication.tg-channel-post,
  html body.feed-v2-surface.admin-mode.site-feed-admin-page:not(.feed-v2-desktop-active) .feed-v2-pane-feed > #feedPosts > .feed-post.tg-channel-post,
  html body.feed-v2-surface.admin-mode.site-feed-admin-page:not(.feed-v2-desktop-active) .feed-v2-pane-feed > #feedPosts > .feed-publication.tg-channel-post {
    width: 100% !important;
    max-width: 100% !important;
    align-self: stretch !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
  }
}

@media (min-width: 900px) and (min-height: 560px) {
  html body.feed-v2-surface.feed-v2-desktop-active #feedPosts > .feed-post.tg-channel-post:not(.tg-channel-post-voice):not(.feed-post--video-circle):not(.tg-channel-post-circle),
  html body.feed-v2-surface.feed-v2-desktop-active #feedPosts > .feed-publication.tg-channel-post:not(.tg-channel-post-voice):not(.feed-post--video-circle):not(.tg-channel-post-circle) {
    width: auto !important;
    max-width: min(100%, var(--dc-feed-card-max-desktop, 560px)) !important;
    align-self: flex-start !important;
  }
}
