/* Editorial feed: DOM order stays chronological, including keyboard navigation. */
.lpc-post-feed-list.lpc-editorial-feed{
    display:grid;
    grid-template-columns:minmax(0,1fr);
    grid-auto-rows:8px;
    gap:16px;
    align-items:start;
}

.lpc-editorial-feed>.lpc-post-card{
    display:flex;
    flex-direction:column;
    align-self:start;
    min-width:0;
    border-radius:20px;
    background:#fff;
    box-sizing:border-box;
}

.lpc-editorial-feed>.lpc-post-card>.lpc-post-main,
.lpc-editorial-feed>.lpc-post-card>.lpc-post-engagement{
    min-width:0;
}

.lpc-editorial-feed>.lpc-post-card>.lpc-post-media{
    order:-1;
    margin:0;
    overflow:hidden;
    border-radius:19px 19px 0 0;
}

.lpc-editorial-feed>.lpc-post-card .lpc-post-content{
    color:#304956;
    font-size:15px;
    line-height:1.7;
}

.lpc-editorial-feed>.lpc-post-card .lpc-post-head{padding:12px 16px 8px}
.lpc-editorial-feed>.lpc-post-card .lpc-post-author-avatar img{width:36px;height:36px}
.lpc-editorial-feed>.lpc-post-card .lpc-post-author-line{font-size:13px}
.lpc-editorial-feed>.lpc-post-card .lpc-post-media-item{min-width:0}

.lpc-editorial-feed.is-two-column{grid-template-columns:repeat(2,minmax(0,1fr))}
.lpc-editorial-feed.is-two-column>.is-editorial-lead{
    --lpc-lead-card-height:clamp(280px,24vw,340px);
    grid-column:1/-1;
    height:var(--lpc-lead-card-height);
    max-height:var(--lpc-lead-card-height);
    min-height:0;
    overflow:hidden;
}

/* Compact lead architecture. The first post gets a predictable desktop block-size
 * instead of growing with every embedded poll/adventure/gallery. The lead itself never
 * becomes a nested scroll container: long post copy is collapsed by the normal Read
 * more control, engagement stays fixed, and media always fills the right half. */
.lpc-editorial-feed.is-two-column>.is-editorial-lead:has(>.lpc-post-media){
    display:grid;
    grid-template-columns:minmax(0,50%) minmax(0,50%);
    grid-template-rows:minmax(0,1fr) auto;
    align-items:stretch;
}
.lpc-editorial-feed.is-two-column>.is-editorial-lead:not(:has(>.lpc-post-media)){
    display:grid;
    grid-template-columns:minmax(0,1fr);
    grid-template-rows:minmax(0,1fr) auto;
}
.lpc-editorial-feed.is-two-column>.is-editorial-lead>.lpc-post-main{
    grid-column:1;
    grid-row:1;
    min-width:0;
    min-height:0;
    overflow:hidden;
}
.lpc-editorial-feed.is-two-column>.is-editorial-lead>.lpc-post-engagement{
    grid-column:1;
    grid-row:2;
    align-self:end;
    min-width:0;
    min-height:0;
    background:#fff;
}
.lpc-editorial-feed.is-two-column>.is-editorial-lead:has(>.lpc-post-media)>.lpc-post-media{
    grid-column:2;
    grid-row:1 / span 2;
    order:0;
    align-self:stretch;
    width:100%;
    height:100%;
    min-height:0;
    max-height:100%;
    margin:0;
    border-radius:0 19px 19px 0;
}
.lpc-editorial-feed.is-two-column>.is-editorial-lead>.lpc-comments-panel{
    grid-column:1/-1;
    min-width:0;
}
/* Comments are an explicit expansion state. The compact height belongs to the
 * feed preview only and is released while somebody is actually reading comments. */
.lpc-editorial-feed.is-two-column>.is-editorial-lead.is-comments-open{
    height:auto;
    max-height:none;
    overflow:visible;
    grid-template-rows:minmax(0,var(--lpc-lead-card-height)) auto auto;
}
.lpc-editorial-feed.is-two-column>.is-editorial-lead.is-comments-open>.lpc-comments-panel{grid-row:3}
.lpc-editorial-feed.is-two-column>.is-editorial-lead.is-comments-open>.lpc-post-main{max-height:none;overflow:visible}
.lpc-editorial-feed.is-two-column>.is-editorial-lead.is-comments-open:has(>.lpc-post-media)>.lpc-post-media{grid-row:1 / span 2;max-height:var(--lpc-lead-card-height)}

/* Read more expands the card itself, never an inner scroll area. The compact lead
 * remains bounded until the member explicitly asks to see the full copy. */
.lpc-editorial-feed.is-two-column>.is-editorial-lead:has(.lpc-post-content.is-expanded){
    height:auto;
    max-height:none;
    overflow:visible;
}
.lpc-editorial-feed.is-two-column>.is-editorial-lead:has(.lpc-post-content.is-expanded)>.lpc-post-main{
    overflow:visible;
}

/* All lead media variants consume the same bounded media area. This removes the
 * 250/300px gallery row constants from the first card while preserving the mosaic. */
.lpc-editorial-feed.is-two-column>.is-editorial-lead>.lpc-post-media-1{grid-template-columns:1fr;grid-template-rows:minmax(0,1fr)}
.lpc-editorial-feed.is-two-column>.is-editorial-lead>.lpc-post-media-2{grid-template-columns:repeat(2,minmax(0,1fr));grid-template-rows:minmax(0,1fr)}
.lpc-editorial-feed.is-two-column>.is-editorial-lead>.lpc-post-media-3{grid-template-columns:minmax(0,1.38fr) minmax(0,1fr);grid-template-rows:repeat(2,minmax(0,1fr))}
.lpc-editorial-feed.is-two-column>.is-editorial-lead>.lpc-post-media-4{grid-template-columns:minmax(0,1.28fr) minmax(0,1fr);grid-template-rows:repeat(3,minmax(0,1fr))}
.lpc-editorial-feed.is-two-column>.is-editorial-lead>.lpc-post-media-5{grid-template-columns:minmax(0,1.2fr) minmax(0,1fr) minmax(0,1fr);grid-template-rows:repeat(2,minmax(0,1fr))}
.lpc-editorial-feed.is-two-column>.is-editorial-lead>.lpc-post-media .lpc-post-media-item{
    width:100%;
    height:100%;
    min-height:0;
    max-height:none;
    aspect-ratio:auto;
}

.lpc-editorial-feed.is-two-column>.is-editorial-lead .lpc-post-content{
    font-size:13.5px;
    line-height:1.45;
}
.lpc-editorial-feed.is-two-column>.is-editorial-lead .lpc-post-content.is-collapsed .lpc-expandable-copy{max-height:2.9em}
.lpc-editorial-feed.is-two-column>.is-editorial-lead .lpc-post-head{padding:10px 13px 6px}
.lpc-editorial-feed.is-two-column>.is-editorial-lead .lpc-post-content{padding:0 13px 6px}
.lpc-editorial-feed.is-two-column>.is-editorial-lead .lpc-post-hashtag-row{padding:0 13px 6px}

/* Embedded content is rendered as a compact lead preview. It remains fully live,
 * but cannot force the hero card hundreds of pixels taller than its media. */
.lpc-editorial-feed>.is-editorial-lead .lpc-shared-content-card{
    grid-template-columns:104px minmax(0,1fr);
    min-height:86px;
    max-height:102px;
    margin:5px 12px 7px;
    border-radius:12px;
}
.lpc-editorial-feed>.is-editorial-lead .lpc-shared-content-media,
.lpc-editorial-feed>.is-editorial-lead .lpc-shared-content-placeholder{height:100%;min-height:86px;max-height:102px}
.lpc-editorial-feed>.is-editorial-lead .lpc-shared-content-copy{padding:8px 9px}
.lpc-editorial-feed>.is-editorial-lead .lpc-shared-content-title{margin-top:4px;font-size:13px;line-height:1.22;-webkit-line-clamp:1}
.lpc-editorial-feed>.is-editorial-lead .lpc-shared-content-excerpt{margin-top:3px;font-size:9.5px;line-height:1.3;-webkit-line-clamp:1}
.lpc-editorial-feed>.is-editorial-lead .lpc-shared-content-meta{display:none}
.lpc-editorial-feed>.is-editorial-lead .lpc-shared-content-footer{padding-top:5px;font-size:8.5px}

.lpc-editorial-feed>.is-editorial-lead .lpc-poll-card{
    max-height:150px;
    margin:5px 12px 7px;
    padding:9px;
    overflow:hidden;
    border-radius:12px;
}
.lpc-editorial-feed>.is-editorial-lead .lpc-poll-head{gap:7px;margin-bottom:7px}
.lpc-editorial-feed>.is-editorial-lead .lpc-poll-kicker{margin-bottom:2px;font-size:8.5px}
.lpc-editorial-feed>.is-editorial-lead .lpc-poll-head h3{font-size:13px;line-height:1.25}
.lpc-editorial-feed>.is-editorial-lead .lpc-poll-badges span{min-height:20px;padding:2px 6px;font-size:8px}
.lpc-editorial-feed>.is-editorial-lead .lpc-poll-options{max-height:76px;gap:5px;overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin}
.lpc-editorial-feed>.is-editorial-lead .lpc-poll-option{min-height:34px;gap:7px;padding:6px 8px;border-radius:9px}
.lpc-editorial-feed>.is-editorial-lead .lpc-poll-option-label{font-size:11px}
.lpc-editorial-feed>.is-editorial-lead .lpc-poll-option-result{min-width:52px}
.lpc-editorial-feed>.is-editorial-lead .lpc-poll-footer{gap:7px;margin-top:7px;padding-top:6px}
.lpc-editorial-feed>.is-editorial-lead .lpc-poll-meta{font-size:8.5px}
.lpc-app .lpc-editorial-feed>.is-editorial-lead :is(.lpc-poll-submit,.lpc-poll-clear,.lpc-poll-voters-button){min-height:27px;padding:4px 7px;font-size:9px}

.lpc-editorial-feed>.is-editorial-lead .lpc-link-preview-card{
    min-height:78px;
    max-height:96px;
    margin:5px 12px 7px;
    overflow:hidden;
    border-radius:12px;
}

.lpc-masonry-placeholder{pointer-events:none;visibility:hidden;min-width:0}

/* Editorial cards use the core equal-width action grid. */
.lpc-editorial-feed .lpc-post-actions{
    gap:6px;
    padding:10px 14px 12px;
}

.lpc-app .lpc-editorial-feed .lpc-post-actions>button,
.lpc-app .lpc-editorial-feed .lpc-post-actions>.lpc-post-react-wrap>.lpc-post-react-button{
    min-width:0;
    min-height:36px;
    padding:6px 8px;
    border:1px solid #dbe5e0;
    border-radius:12px;
    background:#fff;
    font-size:11px;
}

.lpc-app .lpc-editorial-feed .lpc-post-actions>button:hover,
.lpc-app .lpc-editorial-feed .lpc-post-actions>.lpc-post-react-wrap>.lpc-post-react-button:hover{
    border-color:#cbdad3;
    background:#f5f8f6;
}

/* Compact labels in narrow masonry columns while retaining accessible names. */
.lpc-editorial-feed.is-two-column .lpc-post-actions button>span,
.lpc-editorial-feed.is-two-column .lpc-post-actions button>small{display:none}
.lpc-editorial-feed.is-two-column .lpc-post-actions .lpc-post-react-button>.lpc-post-react-emoji{display:inline-grid}

.lpc-editorial-feed>.is-editorial-lead .lpc-post-content.is-collapsed .lpc-expandable-copy{max-height:2.25em}
.lpc-editorial-feed>.is-editorial-lead .lpc-post-stats{min-height:29px;padding-top:2px;padding-bottom:2px}
.lpc-editorial-feed>.is-editorial-lead .lpc-post-actions{padding:5px 10px 6px}

/* Full-screen gallery post architecture. Image and video use the same media
 * geometry; the live post stays authoritative while secondary content is opened in
 * dedicated modal rails instead of being dumped over the media. */
.lpc-global-media-viewer .lpc-gallery-conversation{display:none;color:#eef5ee}
.lpc-global-media-viewer.has-post .lpc-gallery-conversation{
    position:absolute;
    inset:0;
    z-index:12;
    display:block;
    width:100%;
    height:100%;
    max-width:100%;
    max-height:100%;
    min-width:0;
    min-height:0;
    overflow:hidden;
    contain:layout paint;
    box-sizing:border-box;
    border:0;
    background:transparent;
    pointer-events:none;
}
.lpc-global-media-viewer.has-post::before{display:none}
.lpc-global-media-viewer.has-post .lpc-global-media-dialog{background:#031214}
.lpc-global-media-viewer.has-post .lpc-global-media-thumbs{background:rgba(8,38,39,.84);border-color:rgba(255,255,255,.1)}

.lpc-global-media-viewer .lpc-gallery-conversation>.lpc-post-card{
    position:static;
    display:block;
    width:auto;
    height:auto;
    min-width:0;
    min-height:0;
    overflow:visible;
    border:0;
    border-radius:0;
    background:transparent;
    box-shadow:none;
    color:#eef5ee;
    transform:none;
    animation:none;
    pointer-events:none;
}
.lpc-gallery-conversation>.lpc-post-card>.lpc-post-media{display:none}

/* Metadata occupies the same lower-left position for both photos and videos. */
.lpc-global-media-viewer .lpc-gallery-conversation>.lpc-post-card>.lpc-post-main{
    position:absolute;
    z-index:28;
    left:28px;
    right:28px;
    bottom:92px;
    display:flex;
    width:min(820px,calc(100vw - 56px));
    max-width:820px;
    max-height:min(34dvh,300px);
    min-width:0;
    min-height:0;
    box-sizing:border-box;
    flex-direction:column;
    align-items:stretch;
    overflow:visible;
    padding:0;
    border:0;
    background:transparent;
    color:#fff;
    pointer-events:auto;
}
.lpc-global-media-viewer:has(.lpc-post-card.is-comments-open) .lpc-gallery-conversation>.lpc-post-card>.lpc-post-main,
.lpc-global-media-viewer.is-rich-panel-open .lpc-gallery-conversation>.lpc-post-card>.lpc-post-main{
    width:min(820px,calc(100vw - var(--lpc-gallery-rail) - 96px));
}
.lpc-gallery-conversation .lpc-post-head{flex:0 0 auto;padding:0 0 8px}
.lpc-gallery-conversation .lpc-post-head-actions{display:none}
.lpc-gallery-conversation .lpc-post-author{gap:10px}
.lpc-global-media-viewer .lpc-gallery-conversation .lpc-post-author-avatar,
.lpc-global-media-viewer .lpc-gallery-conversation .lpc-post-author-avatar img{width:42px;height:42px}
.lpc-global-media-viewer .lpc-gallery-conversation .lpc-post-author-avatar{flex:0 0 42px}
.lpc-global-media-viewer .lpc-gallery-conversation .lpc-post-author-avatar img{border:2px solid rgba(255,255,255,.9);box-shadow:0 5px 18px rgba(0,0,0,.22)}
.lpc-gallery-conversation :is(.lpc-post-author-line a,.lpc-post-author-line strong,.lpc-post-content,.lpc-post-meta-line,.lpc-post-meta-line a,.lpc-post-meta-line button){color:#f7fbf7}
.lpc-gallery-conversation .lpc-post-author-line{font-size:14px;text-shadow:0 1px 10px rgba(0,0,0,.35)}
.lpc-gallery-conversation .lpc-post-meta-line{color:rgba(247,251,247,.76);font-size:11.5px;text-shadow:0 1px 8px rgba(0,0,0,.35)}
.lpc-global-media-viewer .lpc-gallery-conversation .lpc-post-content{
    flex:0 1 auto;
    max-height:min(20dvh,176px);
    min-height:0;
    overflow:auto;
    padding:0 10px 0 0;
    color:#f7fbf7;
    font-size:14px;
    line-height:1.5;
    text-shadow:0 1px 10px rgba(0,0,0,.46);
    scrollbar-width:thin;
    scrollbar-color:rgba(244,239,217,.55) transparent;
}
.lpc-global-media-viewer .lpc-gallery-conversation .lpc-post-content::-webkit-scrollbar{width:5px}
.lpc-global-media-viewer .lpc-gallery-conversation .lpc-post-content::-webkit-scrollbar-thumb{border-radius:999px;background:rgba(244,239,217,.48)}
.lpc-global-media-viewer .lpc-gallery-conversation .lpc-post-content.is-expanded .lpc-expandable-copy{max-height:none;-webkit-mask-image:none;mask-image:none}
.lpc-global-media-viewer .lpc-gallery-conversation .lpc-post-content.is-collapsed .lpc-expandable-copy{max-height:7.2em}
.lpc-global-media-viewer .lpc-gallery-conversation .lpc-post-content a{color:#ffe7ad}
.lpc-global-media-viewer .lpc-gallery-conversation .lpc-read-more-button{
    position:relative;
    z-index:2;
    width:max-content;
    min-height:26px;
    margin-top:2px;
    padding:2px 8px 2px 0;
    color:#f7f0d3;
    background:transparent;
    text-shadow:0 1px 8px rgba(0,0,0,.45);
}
.lpc-global-media-viewer .lpc-gallery-conversation .lpc-post-hashtag-row{
    position:relative;
    z-index:3;
    display:flex;
    flex:0 0 auto;
    flex-wrap:nowrap;
    gap:7px;
    max-width:100%;
    padding:8px 0 0;
    overflow-x:auto;
    overscroll-behavior-inline:contain;
    scrollbar-width:none;
}
.lpc-global-media-viewer .lpc-gallery-conversation .lpc-post-hashtag-row::-webkit-scrollbar{display:none}
.lpc-global-media-viewer .lpc-gallery-conversation .lpc-post-hashtag-row .lpc-post-hashtag-chip{
    min-height:25px;
    padding:4px 8px;
    border:1px solid rgba(255,255,255,.22);
    border-radius:999px;
    color:#f0f6de;
    background:rgba(5,38,37,.72);
    box-shadow:0 4px 14px rgba(0,0,0,.12);
    backdrop-filter:blur(8px);
    -webkit-backdrop-filter:blur(8px);
    font-size:10.5px;
    text-shadow:none;
}
.lpc-global-media-viewer .lpc-gallery-conversation .lpc-post-hashtag-row .lpc-post-hashtag-chip:hover,
.lpc-global-media-viewer .lpc-gallery-conversation .lpc-post-hashtag-row .lpc-post-hashtag-chip:focus-visible{border-color:#f8b861;color:#082c2d;background:#f8b861}

/* One aligned action dock for image and video. Poll/adventure launchers are modal-only
 * controls injected into this live toolbar by media.js. */
.lpc-global-media-viewer .lpc-gallery-conversation>.lpc-post-card>.lpc-post-engagement{
    position:absolute;
    z-index:34;
    left:28px;
    right:28px;
    bottom:20px;
    display:flex;
    min-width:0;
    max-width:calc(100% - 56px);
    align-items:center;
    justify-content:flex-start;
    overflow:visible;
    padding:0;
    box-sizing:border-box;
    background:transparent;
    pointer-events:auto;
}
.lpc-global-media-viewer:has(.lpc-post-card.is-comments-open) .lpc-gallery-conversation>.lpc-post-card>.lpc-post-engagement,
.lpc-global-media-viewer.is-rich-panel-open .lpc-gallery-conversation>.lpc-post-card>.lpc-post-engagement{right:calc(var(--lpc-gallery-rail) + 54px)}
.lpc-global-media-viewer .lpc-gallery-conversation .lpc-post-stats{display:none}
.lpc-global-media-viewer .lpc-gallery-conversation .lpc-post-actions{
    display:flex;
    width:auto;
    max-width:100%;
    flex-wrap:nowrap;
    align-items:center;
    justify-content:flex-start;
    gap:8px;
    margin:0;
    padding:0 0 2px;
    overflow-x:auto;
    overflow-y:visible;
    overscroll-behavior-inline:contain;
    border:0;
    background:transparent;
    scrollbar-width:none;
}
.lpc-global-media-viewer .lpc-gallery-conversation .lpc-post-actions::-webkit-scrollbar{display:none}
.lpc-global-media-viewer .lpc-gallery-conversation .lpc-post-actions>button,
.lpc-global-media-viewer .lpc-gallery-conversation .lpc-post-actions>.lpc-post-react-wrap>.lpc-post-react-button{
    display:inline-flex;
    flex:0 0 auto;
    align-items:center;
    justify-content:center;
    gap:7px;
    min-width:92px;
    min-height:43px;
    padding:8px 14px;
    border:1px solid rgba(244,239,217,.92);
    border-radius:999px;
    color:#123c3b;
    background:rgba(244,239,217,.97);
    box-shadow:0 8px 22px rgba(0,0,0,.14);
    backdrop-filter:blur(8px);
    -webkit-backdrop-filter:blur(8px);
    transition:transform .16s ease,background-color .16s ease,border-color .16s ease,color .16s ease,box-shadow .16s ease;
}
.lpc-global-media-viewer .lpc-gallery-conversation .lpc-post-actions>button:hover,
.lpc-global-media-viewer .lpc-gallery-conversation .lpc-post-actions>.lpc-post-react-wrap>.lpc-post-react-button:hover{border-color:#f8b861;color:#082c2d;background:#f8b861;transform:translateY(-1px);box-shadow:0 10px 26px rgba(0,0,0,.2)}
.lpc-global-media-viewer .lpc-gallery-conversation .lpc-post-actions button>span{display:inline}
.lpc-global-media-viewer .lpc-gallery-conversation .lpc-post-actions button>small{display:none}
.lpc-global-media-viewer .lpc-gallery-conversation .lpc-post-actions .lpc-post-react-button>.lpc-post-react-emoji{display:inline-grid}
.lpc-global-media-viewer .lpc-gallery-conversation .lpc-gallery-rich-trigger svg{width:17px;height:17px}
.lpc-global-media-viewer .lpc-gallery-conversation .lpc-post-react-button.is-active{border-color:#de5967;color:#fff;background:#de5967}
.lpc-global-media-viewer .lpc-gallery-conversation [data-lpc-vote="up"].is-active{border-color:#f8b861;color:#082c2d;background:#f8b861}
.lpc-global-media-viewer .lpc-gallery-conversation [data-lpc-vote="down"].is-active{border-color:#79a9e8;color:#082846;background:#b8d6f5}
.lpc-global-media-viewer .lpc-gallery-conversation [data-lpc-comments-toggle].is-comments-open{border-color:#f2d277;color:#082c2d;background:#f2d277}
.lpc-global-media-viewer .lpc-gallery-conversation [data-lpc-save].is-active{border-color:#b9d68d;color:#173b2c;background:#dcebbf}
.lpc-global-media-viewer .lpc-gallery-conversation [data-lpc-share].is-share-open{border-color:#9fc5ea;color:#0c3150;background:#cfe3f6}
.lpc-global-media-viewer .lpc-gallery-conversation .lpc-gallery-rich-trigger.is-active{border-color:#f8b861;color:#082c2d;background:#f8b861}
.lpc-global-media-viewer .lpc-gallery-conversation .is-vote-syncing [data-lpc-vote]{cursor:progress}

/* Secondary surfaces share the same visual language but not the same height model.
 * Conversation remains a tall rail; Poll/Excursion are content-sized sheets so a
 * single attachment never creates a giant empty column or a horizontal scroller. */
.lpc-global-media-viewer .lpc-gallery-conversation .lpc-comments-panel[hidden],
.lpc-global-media-viewer .lpc-gallery-rich-panel[hidden]{display:none!important}
.lpc-global-media-viewer .lpc-gallery-conversation .lpc-comments-panel,
.lpc-global-media-viewer .lpc-gallery-rich-panel{
    position:absolute;
    z-index:52;
    right:22px;
    display:flex;
    width:var(--lpc-gallery-rail);
    max-width:calc(100vw - 44px);
    min-width:0;
    max-height:calc(100dvh - 44px);
    flex-direction:column;
    overflow:hidden;
    box-sizing:border-box;
    border:1px solid rgba(255,255,255,.1);
    border-radius:27px;
    color:#edf4ee;
    background:rgba(7,46,45,.94);
    box-shadow:0 24px 70px rgba(0,0,0,.28);
    opacity:1;
    transform:none;
    backdrop-filter:blur(18px);
    -webkit-backdrop-filter:blur(18px);
    pointer-events:auto;
}
.lpc-global-media-viewer .lpc-gallery-conversation .lpc-comments-panel{
    top:78px;
    bottom:18px;
    min-height:320px;
    padding:28px 12px 12px;
}
.lpc-global-media-viewer .lpc-gallery-rich-panel{
    top:96px;
    bottom:auto;
    height:auto;
    max-height:calc(100dvh - 118px);
    min-height:0;
    padding:32px 13px 13px;
}
.lpc-global-media-viewer .lpc-gallery-conversation .lpc-comments-panel::before,
.lpc-global-media-viewer .lpc-gallery-rich-panel::before{
    content:"";
    position:absolute;
    top:12px;
    left:50%;
    width:54px;
    height:4px;
    transform:translateX(-50%);
    border-radius:999px;
    background:rgba(244,239,217,.55);
}
.lpc-global-media-viewer .lpc-gallery-conversation .lpc-comments-panel.is-open,
.lpc-global-media-viewer .lpc-gallery-conversation .lpc-comments-panel.is-closing{animation:none;opacity:1;transform:none}
.lpc-global-media-viewer .lpc-gallery-rich-panel-head{
    display:flex;
    flex:0 0 auto;
    min-height:46px;
    align-items:center;
    justify-content:space-between;
    gap:12px;
    padding:3px 3px 9px;
    border:0;
    background:transparent;
    color:#edf4ee;
}
.lpc-global-media-viewer .lpc-gallery-rich-panel-head>div{display:flex;min-width:0;align-items:center;gap:8px;white-space:nowrap}
.lpc-global-media-viewer .lpc-gallery-rich-panel-head strong{overflow:hidden;color:#fff;font-size:14px;font-weight:760;text-overflow:ellipsis;white-space:nowrap}
.lpc-global-media-viewer .lpc-gallery-rich-panel-icon{display:grid;place-items:center;width:28px;height:28px;border-radius:9px;color:#f8b861;background:rgba(248,184,97,.13)}
.lpc-global-media-viewer .lpc-gallery-rich-panel-icon svg{width:16px;height:16px}
.lpc-global-media-viewer [data-lpc-gallery-rich-close]{display:grid;place-items:center;width:34px;height:34px;margin:0;padding:0;border:0;border-radius:50%;color:#f4efd9;background:transparent;cursor:pointer}
.lpc-global-media-viewer [data-lpc-gallery-rich-close]:hover{color:#082c2d;background:#f4efd9}
.lpc-global-media-viewer [data-lpc-gallery-rich-close] svg{width:17px;height:17px}
.lpc-global-media-viewer .lpc-gallery-rich-panel-body{
    flex:0 1 auto;
    min-width:0;
    min-height:0;
    max-width:100%;
    overflow-x:hidden;
    overflow-y:auto;
    overscroll-behavior:contain;
    padding:4px 1px 2px;
    scrollbar-width:thin;
    scrollbar-color:#d5c98b transparent;
}
.lpc-global-media-viewer .lpc-gallery-rich-item{display:block;width:100%;max-width:100%;min-width:0;overflow-x:hidden}
.lpc-global-media-viewer .lpc-gallery-rich-item[hidden]{display:none!important}
.lpc-global-media-viewer .lpc-gallery-rich-item>*{max-width:100%;min-width:0}

/* A post currently carries at most one excursion/adventure, so this is deliberately
 * a compact single-card inspector rather than a scrollable feed inside a rail. */
.lpc-global-media-viewer .lpc-gallery-rich-panel .lpc-shared-content-card{
    display:grid;
    grid-template-columns:1fr;
    gap:0;
    width:100%;
    max-width:100%;
    min-width:0;
    min-height:0;
    overflow:hidden;
    border:1px solid rgba(255,255,255,.12);
    border-radius:18px;
    color:#eef5ee;
    background:rgba(2,31,32,.78);
    box-shadow:none;
    text-decoration:none;
}
.lpc-global-media-viewer .lpc-gallery-rich-panel .lpc-shared-content-card:hover{border-color:rgba(248,184,97,.62);background:rgba(5,45,45,.9)}
.lpc-global-media-viewer .lpc-gallery-rich-panel :is(.lpc-shared-content-media,.lpc-shared-content-placeholder){display:block;width:100%;max-width:100%;height:154px;min-height:154px;max-height:154px;overflow:hidden;background:#092e30;color:#f4efd9}
.lpc-global-media-viewer .lpc-gallery-rich-panel .lpc-shared-content-media img{display:block;width:100%;height:100%;object-fit:cover;object-position:center}
.lpc-global-media-viewer .lpc-gallery-rich-panel .lpc-shared-content-copy{display:flex;width:100%;min-width:0;max-width:100%;flex-direction:column;padding:13px 14px 12px;overflow:hidden}
.lpc-global-media-viewer .lpc-gallery-rich-panel .lpc-shared-content-source{display:flex;min-width:0;align-items:center;gap:8px}
.lpc-global-media-viewer .lpc-gallery-rich-panel .lpc-shared-content-source>i{display:grid;place-items:center;width:27px;height:27px;min-width:27px;border-radius:8px;background:rgba(248,184,97,.14);color:#ffd08a}
.lpc-global-media-viewer .lpc-gallery-rich-panel .lpc-shared-content-source small{overflow:hidden;color:#f2c986;font-size:8.8px;font-weight:750;letter-spacing:.04em;text-overflow:ellipsis;white-space:nowrap}
.lpc-global-media-viewer .lpc-gallery-rich-panel .lpc-shared-content-source>b{margin-left:auto;color:#b9cbc3;font-size:8.8px;white-space:nowrap}
.lpc-global-media-viewer .lpc-gallery-rich-panel .lpc-shared-content-title{margin-top:9px;color:#fff;font-size:17px;line-height:1.28;overflow-wrap:anywhere}
.lpc-global-media-viewer .lpc-gallery-rich-panel .lpc-shared-content-excerpt{display:-webkit-box;margin-top:6px;overflow:hidden;color:#c7d6cf;font-size:11.5px;line-height:1.42;-webkit-box-orient:vertical;-webkit-line-clamp:3}
.lpc-global-media-viewer .lpc-gallery-rich-panel .lpc-shared-content-meta{display:flex;min-width:0;flex-wrap:wrap;gap:5px;margin-top:9px;overflow:hidden}
.lpc-global-media-viewer .lpc-gallery-rich-panel .lpc-shared-content-meta i{max-width:100%;padding:3px 6px;overflow:hidden;border-radius:999px;color:#dbe7e0;background:rgba(255,255,255,.07);font-size:8.8px;font-style:normal;text-overflow:ellipsis;white-space:nowrap}
.lpc-global-media-viewer .lpc-gallery-rich-panel .lpc-shared-content-footer{display:flex;min-width:0;align-items:center;justify-content:space-between;gap:10px;margin-top:11px;padding-top:10px;border-top:1px solid rgba(255,255,255,.09);color:#c7d6cf;font-size:9.5px}
.lpc-global-media-viewer .lpc-gallery-rich-panel .lpc-shared-content-footer>b{color:#f4efd9}

/* Poll uses the same content-sized rail. Its live form stays authoritative, but every
 * child is width-contained so options/results never create horizontal scrolling. */
.lpc-global-media-viewer .lpc-gallery-rich-panel .lpc-poll-card{
    width:100%;
    max-width:100%;
    min-width:0;
    margin:0;
    padding:14px;
    overflow:hidden;
    border:1px solid rgba(255,255,255,.12);
    border-radius:18px;
    background:rgba(2,31,32,.78);
    color:#edf5ef;
    box-shadow:none;
}
.lpc-global-media-viewer .lpc-gallery-rich-panel .lpc-poll-card *{max-width:100%;min-width:0;box-sizing:border-box}
.lpc-global-media-viewer .lpc-gallery-rich-panel .lpc-poll-head{gap:9px;margin-bottom:11px}
.lpc-global-media-viewer .lpc-gallery-rich-panel .lpc-poll-kicker{margin-bottom:4px;color:#f2c986;font-size:9px}
.lpc-global-media-viewer .lpc-gallery-rich-panel .lpc-poll-head h3{color:#fff;font-size:15.5px;line-height:1.32;overflow-wrap:anywhere}
.lpc-global-media-viewer .lpc-gallery-rich-panel .lpc-poll-badges{display:flex;min-width:0;flex-wrap:wrap;gap:5px}
.lpc-global-media-viewer .lpc-gallery-rich-panel .lpc-poll-badges span{min-height:21px;padding:3px 6px;color:#d9e9df;background:rgba(255,255,255,.09);font-size:8.8px}
.lpc-global-media-viewer .lpc-gallery-rich-panel .lpc-poll-options{display:grid;gap:7px;min-width:0}
.lpc-global-media-viewer .lpc-gallery-rich-panel .lpc-poll-option{width:100%;min-width:0;min-height:44px;grid-template-columns:18px minmax(0,1fr) auto;gap:8px;padding:8px 9px;overflow:hidden;border-color:rgba(255,255,255,.14);border-radius:12px;background:rgba(1,24,26,.72);box-shadow:none}
.lpc-global-media-viewer .lpc-gallery-rich-panel .lpc-poll-option:hover{border-color:rgba(248,184,97,.58);box-shadow:none}
.lpc-global-media-viewer .lpc-gallery-rich-panel .lpc-poll-option.is-selected{border-color:#f8b861;box-shadow:0 0 0 1px rgba(248,184,97,.22)}
.lpc-global-media-viewer .lpc-gallery-rich-panel .lpc-poll-choice-control{width:18px;height:18px;border-color:#b8cbc3;background:transparent}
.lpc-global-media-viewer .lpc-gallery-rich-panel .lpc-poll-option input:checked+.lpc-poll-choice-control{border-color:#f8b861;background:#f8b861}
.lpc-global-media-viewer .lpc-gallery-rich-panel .lpc-poll-option-label{overflow-wrap:anywhere;color:#edf5ef;font-size:11.5px;font-weight:650}
.lpc-global-media-viewer .lpc-gallery-rich-panel .lpc-poll-option-result{min-width:54px}
.lpc-global-media-viewer .lpc-gallery-rich-panel .lpc-poll-option-result strong{color:#fff;font-size:10.5px}
.lpc-global-media-viewer .lpc-gallery-rich-panel .lpc-poll-option-result small{color:#afc4bb;font-size:8px}
.lpc-global-media-viewer .lpc-gallery-rich-panel .lpc-poll-result-fill{background:rgba(248,184,97,.12)}
.lpc-global-media-viewer .lpc-gallery-rich-panel .lpc-poll-footer{display:flex;min-width:0;gap:8px;margin-top:10px;padding-top:9px;border-color:rgba(255,255,255,.1)}
.lpc-global-media-viewer .lpc-gallery-rich-panel .lpc-poll-meta{color:#b6c8c0;font-size:8.8px}
.lpc-global-media-viewer .lpc-gallery-rich-panel .lpc-poll-meta strong{color:#dbe8e1}
.lpc-global-media-viewer .lpc-gallery-rich-panel .lpc-poll-actions{display:flex;min-width:0;flex-wrap:wrap;gap:5px}
.lpc-global-media-viewer .lpc-gallery-rich-panel :is(.lpc-poll-submit,.lpc-poll-clear,.lpc-poll-voters-button){min-height:31px;padding:5px 9px;border-radius:999px;font-size:9.5px}
.lpc-global-media-viewer .lpc-gallery-rich-panel .lpc-poll-submit{border-color:#f4efd9;color:#082c2d;background:#f4efd9}
.lpc-global-media-viewer .lpc-gallery-rich-panel .lpc-poll-submit:hover{border-color:#f8b861;background:#f8b861}
.lpc-global-media-viewer .lpc-gallery-rich-panel :is(.lpc-poll-clear,.lpc-poll-voters-button){border-color:rgba(255,255,255,.18);color:#eef5ee;background:rgba(255,255,255,.06)}
.lpc-global-media-viewer .lpc-gallery-rich-panel :is(.lpc-poll-clear,.lpc-poll-voters-button):hover{border-color:#f8b861;color:#082c2d;background:#f8b861}
.lpc-global-media-viewer .lpc-gallery-rich-panel .lpc-poll-closed-note,
.lpc-global-media-viewer .lpc-gallery-rich-panel .lpc-poll-status{color:#b6c8c0;font-size:9px}

/* Conversation panel: the same comment component switches to a dark rail through
 * component variables. Comment/reply markup and interaction behavior remain shared
 * with the feed, so the modal does not maintain a second comment implementation. */
.lpc-global-media-viewer .lpc-gallery-conversation .lpc-comments-panel{
    --lpc-comment-panel-bg:rgba(5,43,42,.965);
    --lpc-comment-header-bg:rgba(5,43,42,.985);
    --lpc-comment-surface:rgba(3,31,31,.84);
    --lpc-comment-surface-soft:rgba(255,255,255,.07);
    --lpc-comment-surface-hover:rgba(255,255,255,.11);
    --lpc-comment-border:rgba(226,240,233,.12);
    --lpc-comment-border-strong:rgba(226,240,233,.22);
    --lpc-comment-text:#F4F8F5;
    --lpc-comment-body:#D7E4DE;
    --lpc-comment-muted:#AFC4BA;
    --lpc-comment-accent:#F4D789;
    --lpc-comment-accent-soft:rgba(244,215,137,.13);
    --lpc-comment-thread:rgba(244,215,137,.3);
    --lpc-comment-shadow:none;
    width:clamp(360px,29vw,430px);
    max-width:calc(100vw - 44px);
    border-color:rgba(255,255,255,.12);
    background:var(--lpc-comment-panel-bg);
    box-shadow:0 26px 72px rgba(0,0,0,.34);
}
.lpc-global-media-viewer .lpc-gallery-conversation .lpc-comments-panel::before{width:56px;height:4px;background:rgba(244,239,217,.48)}
.lpc-global-media-viewer .lpc-gallery-conversation .lpc-comments-panel.is-open,
.lpc-global-media-viewer .lpc-gallery-conversation .lpc-comments-panel.is-closing{animation:none;opacity:1;transform:none}
.lpc-global-media-viewer .lpc-gallery-conversation .lpc-comments-panel-head{
    min-height:48px;
    padding:4px 3px 8px;
    border-bottom:1px solid var(--lpc-comment-border);
    background:transparent;
}
.lpc-global-media-viewer .lpc-gallery-conversation .lpc-comments-panel-head>div{gap:8px;white-space:nowrap}
.lpc-global-media-viewer .lpc-gallery-conversation .lpc-comments-panel-head strong{flex:0 0 auto;color:var(--lpc-comment-text);font-size:0;font-weight:780}
.lpc-global-media-viewer .lpc-gallery-conversation .lpc-comments-panel-head strong::before{content:"Conversation";font-size:14px}
.lpc-global-media-viewer .lpc-gallery-conversation .lpc-comments-panel-head [data-lpc-comments-panel-count]{
    min-width:0;height:23px;padding:0 7px;border-color:var(--lpc-comment-border);color:var(--lpc-comment-muted);background:rgba(255,255,255,.055);font-size:10px;white-space:nowrap
}
.lpc-global-media-viewer .lpc-gallery-conversation .lpc-comments-panel-head [data-lpc-comments-panel-count]::after{content:"\00a0replies"}
.lpc-global-media-viewer .lpc-gallery-conversation [data-lpc-comments-close]{color:#EAF2EE}
.lpc-global-media-viewer .lpc-gallery-conversation [data-lpc-comments-close]:hover,
.lpc-global-media-viewer .lpc-gallery-conversation [data-lpc-comments-close]:focus-visible{border-color:rgba(244,215,137,.35);color:#082C2D;background:#F4EFD9}

.lpc-global-media-viewer .lpc-gallery-conversation .lpc-comments-toolbar{
    display:flex;
    gap:4px;
    margin:0 0 7px;
    padding:4px;
    border:1px solid var(--lpc-comment-border);
    border-radius:12px;
    background:rgba(1,25,26,.36);
}
.lpc-global-media-viewer .lpc-gallery-conversation .lpc-comments-toolbar button{
    flex:1 1 0;
    min-height:30px;
    padding:5px 7px;
    color:var(--lpc-comment-muted);
    font-size:10.5px;
}
.lpc-global-media-viewer .lpc-gallery-conversation .lpc-comments-toolbar button:hover,
.lpc-global-media-viewer .lpc-gallery-conversation .lpc-comments-toolbar button:focus-visible{color:#FFF;background:rgba(255,255,255,.07)}
.lpc-global-media-viewer .lpc-gallery-conversation .lpc-comments-toolbar button.is-active{border-color:rgba(244,215,137,.25);color:#082C2D;background:#F4D789}

.lpc-global-media-viewer .lpc-gallery-conversation .lpc-comments-scroll{
    flex:1 1 auto;
    min-height:0;
    max-height:none;
    padding-right:2px;
    overflow-y:auto;
    overflow-x:hidden;
    overscroll-behavior:contain;
    scrollbar-color:#D5C98B transparent;
}
.lpc-global-media-viewer .lpc-gallery-conversation .lpc-comments-list{gap:12px;padding:6px 1px 14px}
.lpc-global-media-viewer .lpc-gallery-conversation .lpc-comment{grid-template-columns:34px minmax(0,1fr);gap:8px}
.lpc-global-media-viewer .lpc-gallery-conversation .lpc-comment-avatar{width:34px;height:34px;min-width:34px;border-color:rgba(244,239,217,.25)}
.lpc-global-media-viewer .lpc-gallery-conversation .lpc-comment-bubble{
    padding:10px 11px 9px;
    border-color:var(--lpc-comment-border);
    border-radius:4px 15px 15px 15px;
    color:var(--lpc-comment-body);
    background:var(--lpc-comment-surface);
    box-shadow:none;
}
.lpc-global-media-viewer .lpc-gallery-conversation .lpc-comment-bubble-head>strong{color:var(--lpc-comment-text)}
.lpc-global-media-viewer .lpc-gallery-conversation .lpc-comment-bubble p,
.lpc-global-media-viewer .lpc-gallery-conversation .lpc-comment-text{color:var(--lpc-comment-body)}
.lpc-global-media-viewer .lpc-gallery-conversation .lpc-comment-more{color:var(--lpc-comment-muted)}
.lpc-global-media-viewer .lpc-gallery-conversation .lpc-comment-more:hover,
.lpc-global-media-viewer .lpc-gallery-conversation .lpc-comment-more:focus-visible{color:#FFF;background:rgba(255,255,255,.08)}
.lpc-global-media-viewer .lpc-gallery-conversation .lpc-comment-meta{color:var(--lpc-comment-muted)}
.lpc-global-media-viewer .lpc-gallery-conversation .lpc-comment-meta button{color:var(--lpc-comment-muted)}
.lpc-global-media-viewer .lpc-gallery-conversation .lpc-comment-meta button:hover,
.lpc-global-media-viewer .lpc-gallery-conversation .lpc-comment-meta button:focus-visible{color:#082C2D;background:#F4D789}
.lpc-global-media-viewer .lpc-gallery-conversation .lpc-comment-reaction-summary{border-color:var(--lpc-comment-border)!important;color:#DCEAE3!important;background:rgba(255,255,255,.06)!important}
.lpc-global-media-viewer .lpc-gallery-conversation .lpc-comment-meta .lpc-comment-react-button.is-active{color:#082C2D;background:#F4D789}
.lpc-global-media-viewer .lpc-gallery-conversation .lpc-comment-replies{padding-left:18px}
.lpc-global-media-viewer .lpc-gallery-conversation .lpc-comment-replies::before{left:6px;background:var(--lpc-comment-thread)}
.lpc-global-media-viewer .lpc-gallery-conversation .lpc-comment-reply{grid-template-columns:29px minmax(0,1fr);gap:7px}
.lpc-global-media-viewer .lpc-gallery-conversation .lpc-comment-reply .lpc-comment-avatar{width:29px;height:29px;min-width:29px}
.lpc-global-media-viewer .lpc-gallery-conversation .lpc-comment-replies-more{color:#F4D789}
.lpc-global-media-viewer .lpc-gallery-conversation .lpc-comment-replies-more:hover,
.lpc-global-media-viewer .lpc-gallery-conversation .lpc-comment-replies-more:focus-visible{color:#082C2D;background:#F4D789}
.lpc-global-media-viewer .lpc-gallery-conversation .lpc-comment-read-more{color:#F4D789}
.lpc-global-media-viewer .lpc-gallery-conversation .lpc-comment-reply-context{color:var(--lpc-comment-muted)}
.lpc-global-media-viewer .lpc-gallery-conversation .lpc-comment-reply-context strong{color:#F4D789}
.lpc-global-media-viewer .lpc-gallery-conversation .lpc-comments-empty{min-height:180px;color:var(--lpc-comment-muted)}

.lpc-global-media-viewer .lpc-gallery-conversation .lpc-comments-panel>.lpc-comment-form{
    margin:7px 0 0;
    padding:8px 0 0;
    border-top:1px solid var(--lpc-comment-border);
    background:transparent;
    box-shadow:none;
}
.lpc-global-media-viewer .lpc-gallery-conversation .lpc-comment-form>img{display:none}
.lpc-global-media-viewer .lpc-gallery-conversation .lpc-comment-composer{width:100%}
.lpc-global-media-viewer .lpc-gallery-conversation .lpc-comment-composer-context{padding:0 7px;color:var(--lpc-comment-muted)}
.lpc-global-media-viewer .lpc-gallery-conversation .lpc-comment-composer-context strong{color:#F4D789}
.lpc-global-media-viewer .lpc-gallery-conversation .lpc-comment-input-wrap{
    padding:5px;
    border:1px solid rgba(244,239,217,.2);
    border-radius:20px;
    background:rgba(244,239,217,.98);
    box-shadow:none;
}
.lpc-global-media-viewer .lpc-gallery-conversation .lpc-comment-input-wrap:focus-within{border-color:#F4D789;box-shadow:0 0 0 3px rgba(244,215,137,.13)}
.lpc-global-media-viewer .lpc-gallery-conversation .lpc-comment-input-wrap textarea{min-height:38px;max-height:96px;padding:9px 78px 9px 11px;color:#153B3A;background:transparent;font-size:12px;resize:none}
.lpc-global-media-viewer .lpc-gallery-conversation .lpc-comment-input-actions{right:5px;bottom:5px}
.lpc-global-media-viewer .lpc-gallery-conversation .lpc-comment-media-button{border-color:rgba(8,44,45,.12);color:#0E3A39;background:#FFFDF4}
.lpc-global-media-viewer .lpc-gallery-conversation .lpc-comment-submit-button{border-color:#0E2D7B;color:#FFF;background:#0E2D7B}
.lpc-global-media-viewer .lpc-gallery-conversation .lpc-comment-upload-line{color:#52677F;background:#ECE8D8}
.lpc-global-media-viewer .lpc-gallery-conversation :is(button,a,textarea):focus-visible{outline:2px solid #F4D789;outline-offset:2px}

@media(max-width:900px){
    .lpc-global-media-viewer.has-post .lpc-gallery-conversation{position:absolute;inset:0}
    .lpc-global-media-viewer .lpc-gallery-conversation>.lpc-post-card>.lpc-post-main{left:14px;right:14px;bottom:68px;width:auto;max-width:none;max-height:27dvh}
    .lpc-global-media-viewer .lpc-gallery-conversation>.lpc-post-card>.lpc-post-engagement{left:10px;right:10px;bottom:9px}
    .lpc-global-media-viewer:has(.lpc-post-card.is-comments-open) .lpc-gallery-conversation>.lpc-post-card>.lpc-post-main,
    .lpc-global-media-viewer.is-rich-panel-open .lpc-gallery-conversation>.lpc-post-card>.lpc-post-main{display:none}
    .lpc-global-media-viewer:has(.lpc-post-card.is-comments-open) .lpc-gallery-conversation>.lpc-post-card>.lpc-post-engagement,
    .lpc-global-media-viewer.is-rich-panel-open .lpc-gallery-conversation>.lpc-post-card>.lpc-post-engagement{right:10px;bottom:9px}
    .lpc-global-media-viewer .lpc-gallery-conversation .lpc-post-actions{width:100%;max-width:100%;justify-content:flex-start;padding-bottom:1px}
    .lpc-global-media-viewer .lpc-gallery-conversation .lpc-post-actions>button,
    .lpc-global-media-viewer .lpc-gallery-conversation .lpc-post-actions>.lpc-post-react-wrap>.lpc-post-react-button{min-height:40px;padding:7px 10px;font-size:11px}
    .lpc-global-media-viewer .lpc-gallery-conversation .lpc-comments-panel,
    .lpc-global-media-viewer .lpc-gallery-rich-panel{top:auto;right:8px;bottom:60px;left:8px;width:auto;max-width:none;min-height:0;padding:31px 10px 10px;border-radius:24px}
    .lpc-global-media-viewer .lpc-gallery-conversation .lpc-comments-panel{height:min(72dvh,680px);max-height:calc(100dvh - 78px - env(safe-area-inset-top) - env(safe-area-inset-bottom))}
    .lpc-global-media-viewer .lpc-gallery-rich-panel{height:auto;max-height:min(52dvh,calc(100dvh - 84px - env(safe-area-inset-top) - env(safe-area-inset-bottom)))}
    .lpc-global-media-viewer .lpc-gallery-rich-panel :is(.lpc-shared-content-media,.lpc-shared-content-placeholder){height:142px;min-height:142px;max-height:142px}
}
@media(max-width:900px){
    /* Gallery compact shell: metadata and the live action dock are separate layers.
     * The dock is an explicit grid component, so feed/theme button widths cannot
     * collapse the controls into one oversized overlapping button. */
    .lpc-global-media-viewer .lpc-gallery-conversation>.lpc-post-card>.lpc-post-main{
        left:12px;
        right:12px;
        bottom:68px;
        width:auto;
        max-width:none;
        max-height:min(23dvh,144px);
        overflow:hidden;
        box-sizing:border-box;
        overflow:hidden;
        padding:8px 6px 2px;
        border-radius:16px;
        background:linear-gradient(180deg,rgba(3,18,20,.08),rgba(3,18,20,.5));
    }
    .lpc-global-media-viewer .lpc-gallery-conversation .lpc-post-head{padding:0 0 5px}
    .lpc-global-media-viewer .lpc-gallery-conversation .lpc-post-author{gap:8px}
    .lpc-global-media-viewer .lpc-gallery-conversation .lpc-post-author-avatar,
    .lpc-global-media-viewer .lpc-gallery-conversation .lpc-post-author-avatar img{width:36px;height:36px}
    .lpc-global-media-viewer .lpc-gallery-conversation .lpc-post-author-avatar{flex-basis:36px}
    .lpc-global-media-viewer .lpc-gallery-conversation .lpc-post-author-line{font-size:13px}
    .lpc-global-media-viewer .lpc-gallery-conversation .lpc-post-meta-line{font-size:10.5px}
    .lpc-global-media-viewer .lpc-gallery-conversation .lpc-post-content{
        max-height:min(10.5dvh,72px);
        padding-right:3px;
        font-size:13px;
        line-height:1.38;
    }
    .lpc-global-media-viewer .lpc-gallery-conversation .lpc-read-more-button{min-height:22px;margin-top:0;font-size:11px}
    .lpc-global-media-viewer .lpc-gallery-conversation .lpc-post-hashtag-row{gap:5px;padding-top:5px}
    .lpc-global-media-viewer .lpc-gallery-conversation .lpc-post-hashtag-row .lpc-post-hashtag-chip{min-height:22px;padding:3px 7px;font-size:9.5px}

    .lpc-global-media-viewer .lpc-gallery-conversation>.lpc-post-card>.lpc-post-engagement{
        left:8px;
        right:8px;
        bottom:max(7px,env(safe-area-inset-bottom));
        height:50px;
        min-height:50px;
        align-items:stretch;
        padding:4px;
        overflow:hidden;
        border:1px solid rgba(255,255,255,.13);
        border-radius:16px;
        background:rgba(5,31,32,.86);
        box-shadow:0 10px 28px rgba(0,0,0,.22);
        backdrop-filter:blur(14px);
        -webkit-backdrop-filter:blur(14px);
        box-sizing:border-box;
    }
    .lpc-global-media-viewer .lpc-gallery-conversation .lpc-post-actions.lpc-gallery-action-dock{
        display:grid;
        grid-auto-flow:column;
        grid-auto-columns:minmax(0,1fr);
        align-items:stretch;
        width:100%;
        max-width:none;
        min-width:0;
        height:100%;
        gap:3px;
        margin:0;
        padding:0;
        overflow:hidden;
        border:0;
        background:transparent;
        box-sizing:border-box;
    }
    .lpc-global-media-viewer .lpc-gallery-conversation .lpc-post-actions.lpc-gallery-action-dock>.lpc-post-react-wrap,
    .lpc-global-media-viewer .lpc-gallery-conversation .lpc-post-actions.lpc-gallery-action-dock>button{
        display:block;
        width:100%;
        min-width:0;
        height:100%;
        min-height:0;
        margin:0;
        padding:0;
        overflow:visible;
        box-sizing:border-box;
    }
    .lpc-global-media-viewer .lpc-gallery-conversation .lpc-post-actions.lpc-gallery-action-dock>button,
    .lpc-global-media-viewer .lpc-gallery-conversation .lpc-post-actions.lpc-gallery-action-dock>.lpc-post-react-wrap>.lpc-post-react-button{
        display:grid;
        place-items:center;
        width:100%;
        min-width:0;
        height:100%;
        min-height:0;
        max-height:none;
        gap:0;
        margin:0;
        padding:0;
        overflow:hidden;
        border:1px solid rgba(244,239,217,.38);
        border-radius:11px;
        color:#143c3b;
        background:rgba(244,239,217,.96);
        box-shadow:none;
        font-size:0;
        line-height:1;
        transform:none;
        box-sizing:border-box;
    }
    .lpc-global-media-viewer .lpc-gallery-conversation .lpc-post-actions.lpc-gallery-action-dock>button:hover,
    .lpc-global-media-viewer .lpc-gallery-conversation .lpc-post-actions.lpc-gallery-action-dock>.lpc-post-react-wrap>.lpc-post-react-button:hover{transform:none;box-shadow:none}
    .lpc-global-media-viewer .lpc-gallery-conversation .lpc-post-actions.lpc-gallery-action-dock button>span:not(.lpc-post-react-emoji),
    .lpc-global-media-viewer .lpc-gallery-conversation .lpc-post-actions.lpc-gallery-action-dock button>small{display:none!important}
    .lpc-global-media-viewer .lpc-gallery-conversation .lpc-post-actions.lpc-gallery-action-dock svg{
        display:block;
        width:17px;
        height:17px;
        min-width:17px;
        min-height:17px;
        margin:0;
        pointer-events:none;
    }
    .lpc-global-media-viewer .lpc-gallery-conversation .lpc-post-actions.lpc-gallery-action-dock .lpc-post-react-button>.lpc-post-react-emoji{
        display:grid!important;
        place-items:center;
        width:18px;
        height:18px;
        min-width:18px;
        flex:0 0 18px;
        font-size:16px;
        line-height:1;
        pointer-events:none;
    }
    .lpc-global-media-viewer .lpc-gallery-conversation .lpc-post-actions.lpc-gallery-action-dock .lpc-gallery-rich-trigger svg{width:17px;height:17px}

    /* Selected states remain readable in an icon-only toolbar. */
    .lpc-global-media-viewer .lpc-gallery-conversation .lpc-post-actions.lpc-gallery-action-dock .lpc-post-react-button.is-active{border-color:#de5967;color:#fff;background:#de5967}
    .lpc-global-media-viewer .lpc-gallery-conversation .lpc-post-actions.lpc-gallery-action-dock [data-lpc-vote="up"].is-active{border-color:#f8b861;color:#082c2d;background:#f8b861}
    .lpc-global-media-viewer .lpc-gallery-conversation .lpc-post-actions.lpc-gallery-action-dock [data-lpc-vote="down"].is-active{border-color:#79a9e8;color:#082846;background:#b8d6f5}
    .lpc-global-media-viewer .lpc-gallery-conversation .lpc-post-actions.lpc-gallery-action-dock [data-lpc-comments-toggle].is-comments-open{border-color:#f2d277;color:#082c2d;background:#f2d277}
    .lpc-global-media-viewer .lpc-gallery-conversation .lpc-post-actions.lpc-gallery-action-dock [data-lpc-save].is-active{border-color:#b9d68d;color:#173b2c;background:#dcebbf}
    .lpc-global-media-viewer .lpc-gallery-conversation .lpc-post-actions.lpc-gallery-action-dock [data-lpc-share].is-share-open{border-color:#9fc5ea;color:#0c3150;background:#cfe3f6}
    .lpc-global-media-viewer .lpc-gallery-conversation .lpc-post-actions.lpc-gallery-action-dock .lpc-gallery-rich-trigger.is-active{border-color:#f8b861;color:#082c2d;background:#f8b861}

    .lpc-global-media-viewer:has(.lpc-post-card.is-comments-open) .lpc-gallery-conversation>.lpc-post-card>.lpc-post-main,
    .lpc-global-media-viewer.is-rich-panel-open .lpc-gallery-conversation>.lpc-post-card>.lpc-post-main{display:none}
    .lpc-global-media-viewer:has(.lpc-post-card.is-comments-open) .lpc-gallery-conversation>.lpc-post-card>.lpc-post-engagement,
    .lpc-global-media-viewer.is-rich-panel-open .lpc-gallery-conversation>.lpc-post-card>.lpc-post-engagement{left:8px;right:8px;bottom:max(7px,env(safe-area-inset-bottom))}
    .lpc-global-media-viewer .lpc-gallery-conversation .lpc-comments-panel,
    .lpc-global-media-viewer .lpc-gallery-rich-panel{
        right:8px;
        bottom:64px;
        left:8px;
        width:auto;
        max-width:none;
        min-height:0;
        padding:31px 10px 10px;
        border-radius:22px;
    }
    .lpc-global-media-viewer .lpc-gallery-conversation .lpc-comments-panel{height:min(72dvh,680px);max-height:calc(100dvh - 72px - env(safe-area-inset-top) - env(safe-area-inset-bottom))}
    .lpc-global-media-viewer .lpc-gallery-rich-panel{height:auto;max-height:min(52dvh,calc(100dvh - 78px - env(safe-area-inset-top) - env(safe-area-inset-bottom)))}
    .lpc-global-media-viewer .lpc-gallery-rich-panel .lpc-shared-content-title{font-size:16px}
    .lpc-global-media-viewer .lpc-gallery-rich-panel :is(.lpc-shared-content-media,.lpc-shared-content-placeholder){height:128px;min-height:128px;max-height:128px}
    .lpc-global-media-viewer .lpc-gallery-rich-panel .lpc-poll-footer{align-items:flex-start;flex-direction:column}
}
@media(max-width:380px){
    .lpc-global-media-viewer .lpc-gallery-conversation>.lpc-post-card>.lpc-post-main{left:8px;right:8px;bottom:62px;max-height:min(23dvh,138px);padding-right:3px;padding-left:3px}
    .lpc-global-media-viewer .lpc-gallery-conversation>.lpc-post-card>.lpc-post-engagement{left:5px;right:5px;height:46px;min-height:46px;padding:3px;border-radius:14px}
    .lpc-global-media-viewer .lpc-gallery-conversation .lpc-post-actions.lpc-gallery-action-dock{gap:2px}
    .lpc-global-media-viewer .lpc-gallery-conversation .lpc-post-actions.lpc-gallery-action-dock>button,
    .lpc-global-media-viewer .lpc-gallery-conversation .lpc-post-actions.lpc-gallery-action-dock>.lpc-post-react-wrap>.lpc-post-react-button{border-radius:9px}
    .lpc-global-media-viewer .lpc-gallery-conversation .lpc-post-actions.lpc-gallery-action-dock svg{width:15px;height:15px;min-width:15px;min-height:15px}
    .lpc-global-media-viewer .lpc-gallery-conversation .lpc-post-actions.lpc-gallery-action-dock .lpc-post-react-button>.lpc-post-react-emoji{width:16px;height:16px;min-width:16px;font-size:14px}
    .lpc-global-media-viewer .lpc-gallery-conversation .lpc-comments-panel,
    .lpc-global-media-viewer .lpc-gallery-rich-panel{bottom:58px}
}

/* Stable initial layout; the measured grid takes over before painting AJAX content. */
[data-lpc-post-feed-list]:not(.lpc-editorial-feed):has(>.lpc-post-card){visibility:hidden;min-height:300px}
.lpc-app .lpc-profile-media-grid{display:block;columns:3 180px;column-gap:16px}
.lpc-app .lpc-profile-media-grid .lpc-profile-media-item{display:block;width:100%;height:auto;aspect-ratio:auto;break-inside:avoid;margin:0 0 16px;border-radius:16px;overflow:hidden;background:#eef2f6}
.lpc-app .lpc-profile-media-item :is(img,video,.lpc-profile-media-preview){display:block;width:100%;height:auto;max-height:none;aspect-ratio:auto;object-fit:contain}

@media(max-width:767px){
    /* Phones use ordinary document flow rather than simulated masonry rows. This is
     * the overlap-proof layout: every post owns its natural height and pushes the
     * next post down as media, polls, shares and comments finish rendering. */
    .lpc-post-feed-list.lpc-editorial-feed{
        display:flex;
        width:100%;
        min-width:0;
        flex-direction:column;
        align-items:stretch;
        gap:12px;
        grid-template-columns:none;
        grid-auto-rows:auto;
    }
    .lpc-post-feed-list.lpc-editorial-feed>.lpc-post-card{
        width:100%;
        max-width:100%;
        grid-column:auto;
        grid-row:auto;
    }
    .lpc-editorial-feed>.lpc-post-card{
        border:1px solid var(--lpc-border);
        border-radius:18px;
        box-shadow:0 7px 22px rgba(18,47,84,.055);
    }
    .lpc-editorial-feed>.lpc-post-card>.lpc-post-media{border-radius:17px 17px 0 0}
    /* Mobile lead stays in ordinary document flow, but every media variant uses one
     * compact stage height. That keeps the first post visually smaller without
     * clipping polls, text or actions and without reintroducing masonry overlap. */
    .lpc-editorial-feed>.is-editorial-lead{
        height:auto;
        max-height:none;
        overflow:visible;
    }
    .lpc-editorial-feed>.is-editorial-lead>.lpc-post-media{
        height:clamp(150px,46vw,190px);
        min-height:150px;
        max-height:190px;
        border-radius:17px 17px 0 0;
    }
    .lpc-editorial-feed>.is-editorial-lead>.lpc-post-media-1{grid-template-columns:1fr;grid-template-rows:1fr}
    .lpc-editorial-feed>.is-editorial-lead>.lpc-post-media-2{grid-template-columns:repeat(2,minmax(0,1fr));grid-template-rows:1fr}
    .lpc-editorial-feed>.is-editorial-lead>.lpc-post-media-3{grid-template-columns:minmax(0,1.38fr) minmax(0,1fr);grid-template-rows:repeat(2,minmax(0,1fr))}
    .lpc-editorial-feed>.is-editorial-lead>.lpc-post-media-4{grid-template-columns:minmax(0,1.28fr) minmax(0,1fr);grid-template-rows:repeat(3,minmax(0,1fr))}
    .lpc-editorial-feed>.is-editorial-lead>.lpc-post-media-5{grid-template-columns:minmax(0,1.2fr) minmax(0,1fr) minmax(0,1fr);grid-template-rows:repeat(2,minmax(0,1fr))}
    .lpc-editorial-feed>.is-editorial-lead>.lpc-post-media .lpc-post-media-item{
        width:100%;
        height:100%;
        min-height:0;
        max-height:none;
        aspect-ratio:auto;
    }
    .lpc-editorial-feed>.is-editorial-lead>.lpc-post-main{
        max-height:none;
        overflow:visible;
    }
    .lpc-editorial-feed>.is-editorial-lead>.lpc-post-main .lpc-post-head{
        padding:8px 10px 5px;
    }
    .lpc-editorial-feed>.is-editorial-lead>.lpc-post-main .lpc-post-author{gap:8px}
    .lpc-editorial-feed>.is-editorial-lead>.lpc-post-main .lpc-post-author-avatar,
    .lpc-editorial-feed>.is-editorial-lead>.lpc-post-main .lpc-post-author-avatar img{
        width:32px;
        height:32px;
    }
    .lpc-editorial-feed>.is-editorial-lead>.lpc-post-main .lpc-post-author-avatar{flex-basis:32px}
    .lpc-editorial-feed>.is-editorial-lead>.lpc-post-main .lpc-post-content{
        padding:0 10px 5px;
        font-size:13px;
        line-height:1.4;
    }
    .lpc-editorial-feed>.is-editorial-lead>.lpc-post-main .lpc-post-content.is-collapsed .lpc-expandable-copy{max-height:2.8em}
    .lpc-app .lpc-editorial-feed>.is-editorial-lead .lpc-read-more-button{
        min-height:20px;
        margin-top:1px;
        padding:0;
        font-size:11.5px;
    }
    .lpc-editorial-feed>.is-editorial-lead>.lpc-post-main .lpc-post-hashtag-row{gap:4px;padding:0 10px 5px}
    .lpc-editorial-feed>.is-editorial-lead .lpc-shared-content-card{margin:5px 9px 7px}
    .lpc-editorial-feed>.is-editorial-lead .lpc-poll-card{margin:5px 9px 7px}
    .lpc-editorial-feed>.is-editorial-lead .lpc-link-preview-card{margin:5px 9px 7px}
    .lpc-editorial-feed>.is-editorial-lead>.lpc-post-engagement{flex:0 0 auto;margin-top:auto}
    .lpc-editorial-feed>.is-editorial-lead .lpc-post-stats{min-height:28px;margin:0 10px}
    .lpc-editorial-feed>.is-editorial-lead .lpc-post-actions{gap:4px;padding:5px 7px 7px}
    .lpc-app .lpc-editorial-feed>.is-editorial-lead .lpc-post-actions>button,
    .lpc-app .lpc-editorial-feed>.is-editorial-lead .lpc-post-actions>.lpc-post-react-wrap>.lpc-post-react-button{min-height:36px}
    .lpc-editorial-feed .lpc-post-actions{gap:4px;padding:7px 9px 9px}
    .lpc-app .lpc-editorial-feed .lpc-post-actions>button,
    .lpc-app .lpc-editorial-feed .lpc-post-actions>.lpc-post-react-wrap>.lpc-post-react-button{
        min-height:42px;
        padding:0 3px;
        border-radius:10px;
    }
}

@media(max-width:480px){
    .lpc-post-feed-list.lpc-editorial-feed{gap:12px}
    .lpc-editorial-feed>.lpc-post-card:not(.is-editorial-lead)>.lpc-post-main .lpc-post-head{padding:10px 12px 7px}
    .lpc-editorial-feed>.lpc-post-card:not(.is-editorial-lead)>.lpc-post-main .lpc-post-content{font-size:13.5px;line-height:1.55}
}

@keyframes lpc-gallery-reveal{from{opacity:0}to{opacity:1}}
@media(prefers-reduced-motion:no-preference){
    .lpc-global-media-viewer[open]{animation:lpc-gallery-reveal .2s ease-out}
    .lpc-global-media-viewer .lpc-comment-menu:not([hidden]){animation:lpc-gallery-reveal .15s ease-out}
}
@media(prefers-reduced-motion:reduce){
    .lpc-global-media-viewer :is(button,a,.lpc-expandable-copy,.lpc-comments-panel){transition:none;animation:none}
}
