/* Desktop left rail — Reddit-style; mobile keeps tabbar */
.pfd-rail{display:none}

@media (min-width:1024px){
  :root{
    --rail-w:240px;
    /* locked: hdr ~61 + risk ~30 + 10 gap. Do NOT JS-measure (page-nav jump). */
    --hdr-stack:101px;
  }

  body{
    padding-left:var(--rail-w);
  }

  .pfd-rail{
    display:block;
    position:fixed;
    top:var(--hdr-stack);
    left:0;
    bottom:0;
    width:var(--rail-w);
    z-index:90;
    border-right:1px solid var(--border);
    background:color-mix(in srgb,var(--bg)96%,var(--bg-alt));
    overflow:hidden;
  }
  .pfd-rail-inner{
    height:100%;
    overflow-y:auto;
    overscroll-behavior:contain;
    padding:12px 10px 28px;
    scrollbar-width:thin;
  }
  .pfd-rail-sec{margin-bottom:8px}
  .pfd-rail-list{
    list-style:none;
    margin:0;
    padding:0;
    display:flex;
    flex-direction:column;
    gap:2px;
  }
  .pfd-rail-item{
    display:flex;
    align-items:center;
    gap:10px;
    min-height:40px;
    padding:8px 10px;
    border-radius:999px;
    color:var(--text);
    font-size:13px;
    font-weight:600;
    text-decoration:none;
    line-height:1.25;
  }
  .pfd-rail-item:hover{
    background:var(--bg-alt);
    text-decoration:none;
  }
  .pfd-rail-item.is-active{
    background:color-mix(in srgb,var(--text)12%,transparent);
  }
  .pfd-rail-item[data-rail-id="home"] .pfd-rail-ico{
    color:var(--link);
    opacity:1;
  }
  .pfd-rail-item[data-rail-id="home"].is-active{
    background:color-mix(in srgb,var(--link)18%,transparent);
  }
  .pfd-rail-ico{
    width:1.25em;
    flex-shrink:0;
    text-align:center;
    opacity:.85;
    font-size:14px;
  }
  .pfd-rail-txt{
    flex:1;
    min-width:0;
    overflow:hidden;
    text-overflow:ellipsis;
    white-space:nowrap;
  }
  .pfd-rail-star{
    flex-shrink:0;
    border:0;
    background:transparent;
    color:var(--muted);
    cursor:pointer;
    font-size:14px;
    line-height:1;
    padding:4px;
    border-radius:6px;
    opacity:0;
  }
  .pfd-rail-item:hover .pfd-rail-star,
  .pfd-rail-star.is-on{
    opacity:1;
  }
  .pfd-rail-star.is-on{color:var(--star)}
  .pfd-rail-star:hover{background:var(--bg)}

  .pfd-rail-fold{
    border:0;
    margin:10px 0 0;
    padding:0;
  }
  .pfd-rail-fold > summary{
    list-style:none;
    cursor:pointer;
    font-size:11px;
    font-weight:700;
    letter-spacing:.04em;
    text-transform:uppercase;
    color:var(--muted);
    padding:8px 12px 6px;
    user-select:none;
  }
  .pfd-rail-fold > summary::-webkit-details-marker{display:none}
  .pfd-rail-fold > summary::after{
    content:"▾";
    float:right;
    opacity:.7;
  }
  .pfd-rail-fold:not([open]) > summary::after{content:"▸"}

  .pfd-rail-foot{
    margin-top:16px;
    padding:12px 12px 8px;
    border-top:1px solid var(--border);
    display:flex;
    flex-wrap:wrap;
    gap:8px 12px;
    font-size:11px;
  }
  .pfd-rail-foot a{color:var(--muted);display:inline-block;padding:4px 1px;line-height:1.3}
  .pfd-rail-foot a:hover{color:var(--link);text-decoration:none}

  .hdr{
    margin-left:calc(-1 * var(--rail-w));
    padding-left:calc(var(--rail-w) + var(--gutter));
    width:calc(100% + var(--rail-w));
    flex-wrap:nowrap;
  }
  .risk-bar{
    margin-left:calc(-1 * var(--rail-w));
    padding-left:calc(var(--rail-w) + var(--gutter));
    width:calc(100% + var(--rail-w));
    white-space:nowrap;
    overflow:hidden;
    text-overflow:ellipsis;
  }
  .hdr-nav{display:none !important}
}

@media (min-width:1280px){
  .pfd-rail-item{font-size:14px}
}
