/* ==UserStyle==
@name         Facebook多欄化
@version      20250514.12
@namespace    http://tampermonkey.net/
@description  修正高度限制與滾動問題，強化多欄穩定性
@license      MIT
@downloadURL none
==/UserStyle== */

@-moz-document url("https://www.facebook.com/"), url("https://www.facebook.com/groups/feed/"), url("https://www.facebook.com/?filter=all&sk=h_chr"), url("https://www.facebook.com/?filter=favorites&sk=h_chr"), url("https://www.facebook.com/?filter=friends&sk=h_chr"), url("https://www.facebook.com/?filter=groups&sk=h_chr"), url("https://www.facebook.com/?filter=pages&sk=h_chr"),
regexp("https://www.facebook.com/.*/posts/.*"), regexp("https://www.facebook.com/reel/.*"), regexp("https://www.facebook.com/search/.*"), regexp("https://www.facebook.com/photo.*"){

  /* === 變量與基礎設定 === */
  :root {
    --column-count: 4;
    --column-gap: 10px;
    --max-post-height: 75vh;
    --sidebar-width: 60px;
  }

  /* === 佈局容器 === */
  /* 主容器群組 */
  .x1ceravr.xq1tmr.xvue9z.x193iq5w,
.xornbnt.x1t2pt76.xylbxtu.x1q0g3np.xozqiw3.x1cy8zhl.x1qughib.xeuugli.xs83m0k.x1iyjqo2.x1r8uery.x9f619,
  .x1xwk8fm.x193iq5w {
    max-width: 100%;
    width: calc(100% - var(--sidebar-width));
    margin: 0 0 0 auto;
    padding: 0;
    contain: layout paint; /* 提升渲染性能 */
  }

  /* === 側邊欄與導航 === */
  /* 左側導航欄 */
  .x9f619.x1ja2u2z.xnp8db0.x112wk31.xnjgh8c.xxc7z9f.x1t2pt76.x1u2d2a2.x6ikm8r.x10wlt62.x1xzczws.x7wzq59.xxzkxad.x9e5oc1,
  .xojf56a.xh78kpn.xxzkxad.xcoz2nd.x1cvmir6.x1n2onr6.x1t2pt76.xdt5ytf.x78zum5.x1afcbsf.x2bj2ny,
  .x1vjfegm.x1cvmir6.x1xzczws.x1t2pt76.x2lah0s.xeuugli.x193iq5w.xdt5ytf.x78zum5.x1n2onr6.x9f619 {
    max-width: var(--sidebar-width);
    min-width: var(--sidebar-width);
    background-color: transparent;
    position: absolute;
    z-index: 1;
    will-change: transform; /* 優化動畫性能 */
  }
  
  /* 右側通訊欄 */
  .x1daaz14.xxzkxad.x7wzq59.x10wlt62.x6ikm8r.x1u2d2a2.x1t2pt76.xxc7z9f.xnjgh8c.x112wk31.xnp8db0.x1ja2u2z.x9f619 {
    width: 0%;
    min-width: 0%;
    background-color: transparent;
    position: absolute;
    right: 0;
  }

  /* === 網格系統 === */
  /* 網格容器群組 */
  .x1hc1fzr.x1unhpq9.x6o7n8i > div > div,
  .x1xwk8fm.x193iq5w,
  .x7ep2pv.xu9j1y6.x19h7ccj.x1i64zmx.x1e56ztr.x1emribx.x1xmf6yo.xjl7jj.xs83m0k.xeuugli.x1ja2u2z.x1n2onr6.x9f619 {
    display: flex;
    flex-wrap: wrap;
    gap: var(--column-gap);
    justify-content: flex-start;
    align-content: flex-start;
    contain: content; /* 限制重繪範圍 */
  }

  /* === 帖子卡片 === */
  /* 帖子容器群組 */
  .x1hc1fzr.x1unhpq9.x6o7n8i > div > div > .x1lliihq,
  .x1xwk8fm.x193iq5w > div {
    width: calc((100% - (var(--column-gap) * (var(--column-count) - 1))) / var(--column-count));
    min-width: 100px;
    max-height: var(--max-post-height);
    overflow-y: auto;
    overflow-x: hidden;
    scrollbar-width: thin;
    box-sizing: border-box;
    flex: 0 0 auto; /* 合併flex-grow/shrink */
    position: relative;
    border-radius: 8px;
    margin-bottom: var(--column-gap);
    transform: translateZ(0); /* 硬體加速 */
  }

  /* === 交互元素 === */
  /* 滾動條美化 */
  .x1lliihq::-webkit-scrollbar {
    width: 6px;
  }
  .x1lliihq::-webkit-scrollbar-thumb {
    background: #bcc0c4;
    border-radius: 3px;
  }

  /* === 單帖放大 === */
  @media (min-width: 1900px) {
    .xh8yej3.xrgej4m.xcatxm7.xryxfnj.x1plvlek.x78zum5.xfkwgsy.x1mh14rs.x58fqnu.xrjkcco.x1qjc9v5.x71s49j.x1a2a7pz.xdt5ytf.x1afcbsf.x1ja2u2z.x1n2onr6 {
      max-width: 50%;
      width: auto;
      margin: 0 25%;
    }
  }

  /* === 隱藏元素 === */
  footer,
  .x1ceravr.xq1tmr.xvue9z.x193iq5w > .x1yztbdb
{
    display: none;
  }
}
