/* POST_MEDIA_VIEWER_SHARED_LOCK_20261019 */
#pmLightbox {
    --pm-bg: var(--dp-panel-bg, #fff); --pm-text: #0f1419; --pm-muted: #657180;
    position: fixed; inset: 0; z-index: 9999; display: none;
    box-sizing: border-box; width: 100%; height: 100vh; height: 100dvh;
    grid-template-columns: minmax(0, 1fr) 340px; grid-template-rows: 52px minmax(0, 1fr);
    padding: 0; margin: 0; overflow: hidden; background: #000; color: #fff;
    align-items: stretch; justify-items: stretch; align-content: stretch; justify-content: stretch;
    backdrop-filter: none; -webkit-backdrop-filter: none; overscroll-behavior: contain;
    font-family: var(--post-ui-font, inherit);
}
html.dark #pmLightbox { --pm-bg: var(--dp-panel-bg, #0b0b0b); --pm-text: #f3f4f6; --pm-muted: #9ba5b1; }
#pmLightbox.is-open { display: grid; }
#pmLightbox.is-image-only { grid-template-columns: minmax(0, 1fr); }
#pmLightbox.is-image-only .ibv-info { display: none; }
#pmLightbox *, #pmLightbox *::before, #pmLightbox *::after { box-sizing: border-box; }
#pmLightbox [hidden] { display: none !important; }
#pmLightbox .ibv-topbar { grid-column: 1; grid-row: 1; position: relative; display: flex; align-items: center; justify-content: center; min-width: 0; background: #000; }
#pmLightbox .ibv-close, #pmLightbox .ibv-nav {
    position: absolute; display: grid; place-items: center; flex: none; width: 40px; height: 40px;
    padding: 0; border: 0; border-radius: 50%; color: #fff; background: rgba(34, 38, 43, .8);
    cursor: pointer; touch-action: manipulation; transform: none;
}
#pmLightbox .ibv-close { top: 6px; left: 12px; right: auto; z-index: 3; }
#pmLightbox .ibv-close svg, #pmLightbox .ibv-nav svg { width: 22px; height: 22px; }
#pmLightbox .ibv-count { position: static; display: block; transform: none; padding: 0; background: transparent; color: #e7e9ea; font-size: 13px; font-weight: 500; }
#pmLightbox .ibv-stage { grid-column: 1; grid-row: 2; position: relative; align-self: stretch; width: 100%; height: 100%; min-width: 0; min-height: 0; overflow: hidden; }
#pmLightbox .ibv-viewport {
    display: flex; width: 100%; height: 100%; overflow-x: auto; overflow-y: hidden;
    scroll-snap-type: x mandatory; overscroll-behavior: contain; touch-action: pan-x pinch-zoom;
    scrollbar-width: none; -webkit-overflow-scrolling: touch;
}
#pmLightbox .ibv-viewport::-webkit-scrollbar { display: none; }
#pmLightbox .ibv-slide { display: flex; align-items: center; justify-content: center; flex: 0 0 100%; min-width: 0; height: 100%; overflow: hidden; scroll-snap-align: start; scroll-snap-stop: always; }
#pmLightbox .ibv-img { display: block; flex: none; width: auto; height: auto; max-width: 100%; max-height: 100%; object-fit: contain; border-radius: 0; user-select: none; -webkit-user-select: none; -webkit-user-drag: none; }
#pmLightbox .ibv-nav { top: 50%; transform: translateY(-50%); z-index: 2; }
#pmLightbox .ibv-nav.is-prev { left: 16px; }
#pmLightbox .ibv-nav.is-next { right: 16px; }
#pmLightbox .ibv-info { grid-column: 2; grid-row: 1 / -1; align-self: stretch; overflow: hidden; display: flex; flex-direction: column; min-width: 0; min-height: 0; color: var(--pm-text); background: var(--pm-bg); border-left: 1px solid rgba(128, 128, 128, .16); }
#pmLightbox .ibv-copy { flex: 1 1 auto; min-height: 0; overflow-y: auto; overscroll-behavior: contain; padding: 20px 16px 12px; }
#pmLightbox .ibv-author { display: flex; align-items: flex-start; gap: 10px; margin-bottom: 12px; }
#pmLightbox .post-avatar-link { display: block; flex: 0 0 38px; width: 38px; height: 38px; }
#pmLightbox .post-avatar-link img { display: block; width: 38px; height: 38px; border-radius: 50%; object-fit: cover; }
#pmLightbox .post-header-meta { display: flex; flex: 1; flex-wrap: wrap; align-items: center; gap: 3px 5px; min-width: 0; }
#pmLightbox .post-display-name { display: inline-flex; align-items: center; gap: 0; max-width: 100%; color: var(--pm-text) !important; font-size: 14px !important; font-weight: 700 !important; }
#pmLightbox .post-display-name .name-trunc { display: inline-block; max-width: 190px; overflow: hidden; white-space: nowrap; text-overflow: ellipsis; }
#pmLightbox .post-username, #pmLightbox .post-time, #pmLightbox .post-header-dot, #pmLightbox .post-type-label, #pmLightbox .post-reader-level { color: var(--pm-muted) !important; font-size: 12px !important; }
#pmLightbox .ibv-text .post-content { margin: 0 !important; padding: 0 !important; color: var(--pm-text) !important; font-size: 15px !important; line-height: 1.45 !important; overflow-wrap: anywhere; display: block !important; max-height: none !important; overflow: visible !important; -webkit-line-clamp: unset !important; }
#pmLightbox .ibv-text .post-content + .post-content { margin-top: 10px !important; }
#pmLightbox .ibv-text .quote-text-inner { color: inherit !important; display: inline !important; max-height: none !important; -webkit-line-clamp: unset !important; }
#pmLightbox .ibv-actions { flex: none; padding: 0 12px max(8px, env(safe-area-inset-bottom, 0px)); border-top: 1px solid rgba(128, 128, 128, .14); }
/* MEDIA_VIEWER_SPLIT_ACTIONS_20261025 */
html:root body #pmLightbox .ibv-actions > .post-actions {
    display: flex !important;
    align-items: center !important;
    justify-content: flex-start !important;
    flex-wrap: wrap !important;
    width: 100% !important;
    min-width: 0 !important;
    margin: 0 !important;
    padding: 4px 0 0 !important;
    gap: 18px !important;
}
/* MEDIA_ACTIONS_COUNTER_FOCUS_20261025 */
html:root body #pmLightbox .ibv-actions > .post-actions > .post-actions-left {
    display: flex !important;
    flex: 0 0 auto !important;
    flex-wrap: wrap !important;
    align-items: center !important;
    justify-content: flex-start !important;
    width: auto !important;
    min-width: 0 !important;
    max-width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    gap: 18px !important;
}
html:root body #pmLightbox .ibv-actions > .post-actions > .post-actions-right {
    display: flex !important;
    flex: 0 0 auto !important;
    flex-wrap: nowrap !important;
    align-items: center !important;
    justify-content: flex-start !important;
    width: auto !important;
    min-width: 0 !important;
    max-width: 100% !important;
    margin: 0 0 0 auto !important;
    padding: 0 !important;
    gap: 4px !important;
}
html:root body #pmLightbox .ibv-actions > .post-actions > .post-actions-left > *,
html:root body #pmLightbox .ibv-actions > .post-actions > .post-actions-right > * {
    flex: 0 0 auto !important;
    width: auto !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
}

#pmLightbox .post-actions a, #pmLightbox .post-actions button { display: inline-flex; align-items: center; justify-content: center; flex: none; min-width: 32px; min-height: 44px; gap: 3px !important; padding: 0 !important; border: 0; background: transparent !important; cursor: pointer; text-decoration: none !important; }
#pmLightbox .post-actions :is(a,button):not(.text-red-500):not(.text-green-500):not(.text-yellow-500) { color: var(--pm-muted) !important; }
#pmLightbox .post-actions .text-red-500 { color: #ef4444 !important; }
#pmLightbox .post-actions .text-green-500 { color: #22c55e !important; }
#pmLightbox .post-actions .text-yellow-500 { color: #eab308 !important; }
#pmLightbox .post-actions :is(a,button) > span:first-child { display: inline-flex; align-items: center; justify-content: center; padding: 0 !important; margin: 0 !important; background: transparent !important; }
#pmLightbox .post-actions svg { display: block; flex: none; width: 20px !important; height: 20px !important; }
#pmLightbox .post-action-count { padding: 0 !important; margin: 0 !important; font-size: 11px !important; line-height: 1 !important; font-variant-numeric: tabular-nums; }
#pmLightbox .ibv-popup { display: none; position: fixed; right: auto; bottom: auto; transform: none; z-index: 6; width: 200px; min-width: 0; max-height: calc(100dvh - 16px); padding: 5px; margin: 0; overflow-y: auto; overscroll-behavior: contain; border: 1px solid rgba(128,128,128,.25); border-radius: 14px; box-shadow: 0 6px 28px rgba(0,0,0,.24); color: var(--pm-text); background: var(--pm-bg); }
#pmLightbox .ibv-popup.open { display: block; }
#pmLightbox .ibv-popup .pmenu-item { display: flex; align-items: center; width: 100%; min-height: 44px; gap: 10px; padding: 9px 10px; border: 0; border-radius: 9px; color: inherit; background: transparent; text-align: left; font-size: 14px; cursor: pointer; }
#pmLightbox .ibv-popup .pmenu-item svg { width: 18px; height: 18px; flex: none; }
#pmLightbox { width: 100vw !important; max-width: none !important; max-height: none !important; border: 0 !important; }
#pmLightbox:not(.is-open) { display: none !important; }
#pmLightbox.is-open { display: grid !important; }
#pmLightbox:focus,
#pmLightbox[data-keyboard="false"] :is(a,button):focus {
    outline: none !important; box-shadow: none !important;
}
#pmLightbox :is(.ibv-close,.ibv-nav) { border: 0 !important; box-shadow: none !important; }
#pmLightbox[data-keyboard="true"] :is(a,button):focus-visible {
    outline: 2px solid currentColor !important; outline-offset: 2px;
}
@media (hover: hover) { #pmLightbox .ibv-close:hover, #pmLightbox .ibv-nav:hover { background: #33383d; } #pmLightbox .ibv-popup .pmenu-item:hover { background: rgba(128,128,128,.12); } }
@media (max-width: 767px) {
    #pmLightbox { --pm-bg: #000; --pm-text: #f3f4f6; --pm-muted: #a5afb9; grid-template-columns: minmax(0, 1fr); grid-template-rows: calc(48px + env(safe-area-inset-top, 0px)) minmax(0, 1fr) auto; }
    #pmLightbox.is-image-only { grid-template-rows: calc(48px + env(safe-area-inset-top, 0px)) minmax(0, 1fr); }
    html.dark #pmLightbox { --pm-bg: #000; --pm-text: #f3f4f6; --pm-muted: #a5afb9; }
    #pmLightbox .ibv-topbar { padding-top: env(safe-area-inset-top, 0px); }
    #pmLightbox .ibv-close { top: calc(4px + env(safe-area-inset-top, 0px)); left: max(8px, env(safe-area-inset-left, 0px)); }
    #pmLightbox .ibv-info { grid-column: 1; grid-row: 3; max-height: 38vh; max-height: 38dvh; border-left: 0; }
    #pmLightbox .ibv-copy { flex: 0 1 auto; padding: 10px max(14px, env(safe-area-inset-right, 0px)) 8px max(14px, env(safe-area-inset-left, 0px)); }
    #pmLightbox .ibv-author { margin-bottom: 8px; }
    #pmLightbox .ibv-text .post-content { font-size: 14px !important; }
    #pmLightbox .ibv-actions { padding-left: max(14px, env(safe-area-inset-left, 0px)); padding-right: max(14px, env(safe-area-inset-right, 0px)); }
    #pmLightbox .ibv-nav { display: none; }
}

#pmLightbox .ibv-expand { display: none; }
#pmLightbox .ibv-author .post-display-name svg { width: 14px; height: 14px; flex: none; }
#pmLightbox .ibv-caption-status { margin: 10px 0 0; color: var(--pm-muted); font-size: 12px; line-height: 1.4; }
@media (max-width: 767px) {
    #pmLightbox .ibv-expand { display: flex; align-items: center; justify-content: center; gap: 6px; flex: none; width: 100%; min-height: 30px; padding: 4px 12px; border: 0; background: transparent; color: var(--pm-muted); font: inherit; font-size: 12px; cursor: pointer; touch-action: manipulation; }
    #pmLightbox .ibv-expand svg { width: 16px; height: 16px; flex: none; }
    #pmLightbox.is-caption-expanded .ibv-expand svg { transform: rotate(180deg); }
    #pmLightbox .ibv-text { display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 3; max-height: 4.35em; overflow: hidden; font-size: 14px; line-height: 1.45; }
    #pmLightbox.is-caption-expanded .ibv-text { display: block; -webkit-line-clamp: unset; max-height: none; overflow: visible; }
    #pmLightbox.is-caption-expanded .ibv-info { max-height: 65vh; max-height: 65dvh; }
}

#pmLightbox .ibv-comments { flex: 0 0 auto; min-width: 0; }
#pmLightbox .ibv-comments-title { margin: 0; padding: 12px 16px 6px; border-top: 1px solid rgba(128,128,128,.14); font: inherit; font-size: 14px; font-weight: 600; }
#pmLightbox .ibv-comments-status { margin: 0; padding: 12px 16px; color: var(--pm-muted); font-size: 13px; }
#pmLightbox .ibv-comments-link { display: inline-block; margin: 0 16px 12px; color: var(--pm-text); font-size: 13px; }
#pmLightbox .ibv-comment { padding: 12px 16px; border-bottom: 1px solid rgba(128,128,128,.14); }
#pmLightbox .ibv-comment-row { display: flex; align-items: flex-start; gap: 8px; }
#pmLightbox .ibv-comment-avatar { display: block; flex: 0 0 30px; width: 30px; height: 30px; }
#pmLightbox .ibv-comment-avatar img { display: block; width: 30px !important; height: 30px !important; border-radius: 50%; object-fit: cover; }
#pmLightbox .ibv-comment-body { flex: 1; min-width: 0; }
#pmLightbox .ibv-comment-head { display: flex; flex-wrap: wrap; align-items: center; gap: 2px 4px; min-width: 0; line-height: 1.3; }
#pmLightbox .ibv-comment-head .pd-author { display: inline-flex; align-items: center; max-width: 100%; }
#pmLightbox .ibv-comment-head .pd-name { color: var(--pm-text); font-size: 13px; font-weight: 700; }
#pmLightbox .ibv-comment-head :is(.pd-handle,.pd-dot,.pd-time) { color: var(--pm-muted); font-size: 11px; }
#pmLightbox .ibv-comment-head svg { width: 12px; height: 12px; flex: none; }
#pmLightbox .ibv-comment-text { margin: 5px 0 0; color: var(--pm-text); font-size: 13px; line-height: 1.45; white-space: pre-wrap; overflow-wrap: anywhere; }
#pmLightbox .ibv-comment-meta { display: flex; align-items: center; gap: 14px; margin-top: 6px; }
#pmLightbox :is(.ibv-replies-toggle,.ibv-comment-reply) { display: inline-flex; align-items: center; gap: 4px; min-height: 32px; padding: 0; border: 0; background: transparent; color: var(--pm-muted); font: inherit; font-size: 12px; cursor: pointer; }
#pmLightbox .ibv-replies-toggle svg { width: 14px; height: 14px; }
#pmLightbox .ibv-comment-children { margin-left: 20px; }
#pmLightbox .ibv-comment-children .ibv-comment { padding: 10px 0 0; border: 0; }
#pmLightbox .ibv-comment-children .ibv-comment-children { margin-left: 0; }
@media (min-width: 768px) {
    #pmLightbox .ibv-info { overflow-x: hidden; overflow-y: auto; overscroll-behavior: contain; }
    #pmLightbox .ibv-copy { flex: 0 0 auto; overflow: visible; }
    #pmLightbox .ibv-actions { padding-bottom: 8px; }
}
@media (max-width: 767px) {
    #pmLightbox .ibv-comments { display: none !important; }
}

/* POST_MEDIA_VIEWER_SHARED_LOCK_20261019 */
html.ibv-page-lock {
    overflow: hidden !important;
    scrollbar-gutter: auto !important;
    overscroll-behavior: none !important;
}
html.ibv-page-lock body {
    position: fixed !important;
    top: var(--ibv-scroll-y, 0px) !important;
    left: var(--ibv-scroll-x, 0px) !important;
    right: auto !important;
    width: 100% !important;
    box-sizing: border-box !important;
    overflow: hidden !important;
    overscroll-behavior: none !important;
    touch-action: auto !important;
}
html.ibv-page-lock #pmLightbox {
    position: fixed !important;
    inset: 0 !important;
    width: 100vw !important;
    height: 100vh !important;
    height: 100dvh !important;
    max-width: none !important;
    max-height: none !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    touch-action: auto !important;
}
#pmLightbox .ibv-viewport {
    touch-action: pan-x pinch-zoom !important;
    overscroll-behavior: none !important;
}
#pmLightbox .ibv-info {
    background: var(--pm-bg) !important;
    overscroll-behavior: contain !important;
}
@media (min-width: 768px) {
    #pmLightbox .ibv-copy { flex: 0 0 auto !important; overflow: visible !important; }
    #pmLightbox .ibv-actions { flex: 0 0 auto !important; }
}
