  /* ================= 文件夹浏览器（自绘 · 深色毛玻璃 + 系统化排版） ================= */
  #fbm{position:fixed;inset:0;z-index:80;display:none;align-items:center;justify-content:center;
       padding:26px;background:var(--d-veil);
       backdrop-filter:blur(10px) saturate(118%);-webkit-backdrop-filter:blur(10px) saturate(118%)}
  #fbm.show{display:flex}
  #fbm.up{z-index:95}                     /* 从设置里挑预设目录时压到设置弹窗之上 */

  /* 玻璃本体：半透明石墨面 + 22px 背景模糊 + 极细亮边 + 内侧顶部柔光 */
  .fbw{position:relative;width:min(1040px,100%);height:min(680px,100%);
       display:flex;flex-direction:column;overflow:hidden;
       background:var(--d-bg);color:var(--d-text);
       border:1px solid var(--d-line);border-radius:var(--radius-control);
       backdrop-filter:blur(var(--d-blur)) saturate(150%);
       -webkit-backdrop-filter:blur(var(--d-blur)) saturate(150%);
       box-shadow:var(--d-shadow),inset 0 1px 0 var(--d-edge);
       animation:popin .18s cubic-bezier(.16,1,.3,1)}
  /* 不支持背景模糊时退回不透明面，别让文字糊在背景上 */
  @supports not ((backdrop-filter:blur(1px)) or (-webkit-backdrop-filter:blur(1px))){
    .fbw{background:#fbfcfd}
    #fbm{background:rgba(16,20,26,.55)}
    :root[data-theme="dark"] .fbw{background:#1b1e24}
    :root[data-theme="dark"] #fbm{background:rgba(5,7,11,.74)}
  }

  /* ---- 标题栏（不用分隔线，靠下方内容区的间距分开） ---- */
  .fbh{display:flex;align-items:center;gap:10px;padding:15px 18px 13px}
  .fbh>b{font-size:16px;font-weight:600;letter-spacing:.1px;line-height:1.25}
  .fbh>svg{flex:none;width:17px;height:17px}
  .fbh .sub{font-size:12.5px;color:var(--d-text3);line-height:1.4;margin-left:2px}
  .fbsub-ro{color:var(--d-text2)}
  .fbstat{display:inline-flex;align-items:center;gap:6px;height:22px;padding:0 9px;margin-left:2px;
       border-radius:var(--radius-control);font-size:11.5px;color:var(--d-warn);background:var(--d-warn-bg);
       border:1px solid var(--d-warn-line);white-space:nowrap;flex:none}
  .fbstat[hidden]{display:none}
  .fbstat i{width:5px;height:5px;border-radius:50%;background:currentColor;flex:none}
  #fbm .fbh .x,#setm .fbh .x{margin-left:auto;flex:none;width:30px;height:30px;display:grid;place-items:center;
       padding:0;border:0;border-radius:var(--radius-control);background:transparent;color:var(--d-text3);
       font-size:0;cursor:pointer;transition:background .14s,color .14s}
  #fbm .fbh .x svg,#setm .fbh .x svg{width:14px;height:14px}
  #fbm .fbh .x:hover,#setm .fbh .x:hover{background:var(--d-hover);color:var(--d-text)}

  /* ---- 导航行 ---- */
  .fbt{display:flex;align-items:center;gap:6px;padding:9px 18px 0;min-width:0}
  #fbm .fbt .nv{width:32px;height:32px;flex:none;display:grid;place-items:center;padding:0;
       background:transparent;border:1px solid transparent;border-radius:var(--radius-control);color:var(--d-text2);
       cursor:pointer;transition:background .14s,color .14s,border-color .14s}
  #fbm .fbt .nv svg{width:15px;height:15px;opacity:.9}
  #fbm .fbt .nv:hover:not(:disabled){background:var(--d-hover);border-color:var(--d-line-soft);color:var(--d-text)}
  #fbm .fbt .nv:hover:not(:disabled) svg{opacity:1}
  #fbm .fbt .nv:disabled{opacity:.3;cursor:not-allowed}

  .crumbs{display:flex;align-items:center;gap:1px;flex:1;min-width:0;height:32px;overflow:hidden;
          border:1px solid transparent;border-radius:var(--radius-control);padding:0 4px;transition:background .14s}
  .crumbs:hover{background:var(--d-hover)}
  .crumbs a{font-size:13px;color:var(--d-text2);padding:4px 8px;border-radius:var(--radius-tag);
            cursor:pointer;white-space:nowrap;max-width:200px;overflow:hidden;text-overflow:ellipsis;
            transition:background .14s,color .14s}
  .crumbs a:hover{background:var(--d-hover);color:var(--d-text)}
  .crumbs a.last{color:var(--d-text);font-weight:600}
  .crumbs i{color:var(--d-text3);font-style:normal;font-size:11px;flex:none}

  /* ---- 地址栏：半透明底 + 细边，聚焦才亮 ---- */
  .addr{flex:1;display:flex;align-items:center;min-width:0;height:34px;background:var(--d-input);
        border:1px solid var(--d-line);border-radius:var(--radius-control);padding:0 4px 0 10px;
        transition:border-color .14s,box-shadow .14s}
  .addr:focus-within{border-color:var(--d-accent);box-shadow:0 0 0 3px var(--d-accent-soft)}
  .addr.bad{border-color:var(--d-err);box-shadow:0 0 0 3px var(--d-err-bg)}
  #fbPath{flex:1;min-width:0;background:none;border:0;outline:none;color:var(--d-text);
          font:13px var(--mono)}
  #fbPath::placeholder{color:var(--d-text3)}
  #fbm .addr .go{height:26px;padding:0 11px;font-size:12.5px;flex:none;
            background:var(--d-accent-soft);border:1px solid transparent;border-radius:var(--radius-tag);
            color:var(--d-accent);transition:background .14s,color .14s}
  #fbm .addr .go:hover:not(:disabled){background:var(--d-accent);color:#fff}
  .fbchk{display:flex;align-items:center;gap:6px;font-size:12.5px;color:var(--d-text2);
         white-space:nowrap;cursor:pointer;user-select:none;padding-right:2px}
  .fbchk input{accent-color:var(--d-accent);margin:0;width:13px;height:13px}

  /* ---- 主体：侧栏 + 列表（靠背景明度差分层，不画竖线） ---- */
  .fbb{flex:1;display:flex;min-height:0;margin-top:12px}
  .fbs{width:232px;flex:none;background:var(--d-side);overflow:auto;padding:8px 10px 12px}
  .fbs .grp{font-size:11px;color:var(--d-text3);letter-spacing:.08em;padding:12px 9px 6px}
  .fbs .grp:first-child{padding-top:8px}
  .fbi{display:flex;align-items:center;gap:10px;height:34px;padding:0 9px;border-radius:var(--radius-control);
       font-size:13.5px;color:var(--d-text2);cursor:pointer;white-space:nowrap;overflow:hidden;
       transition:background .14s,color .14s}
  .fbi svg{flex:none;width:16px;height:16px;opacity:.78}
  .fbi span{overflow:hidden;text-overflow:ellipsis}
  .fbi:hover{background:var(--d-hover);color:var(--d-text)}
  .fbi:hover svg{opacity:1}
  .fbi.on{background:var(--d-sel);color:var(--d-text);font-weight:500}
  .fbi.on svg{opacity:1;color:var(--d-accent)}

  .fbm2{flex:1;display:flex;flex-direction:column;min-width:0;position:relative}
  .fbcols,.fbr{display:grid;grid-template-columns:minmax(0,1fr) 152px 96px 78px;gap:18px;
               align-items:center}
  .fbcols{height:34px;padding:0 26px 0 14px;border-bottom:1px solid var(--d-line-soft);
          font-size:12px;color:var(--d-text3);letter-spacing:.02em}
  .fbcols span:last-child{text-align:right}

  .fblist{flex:1;overflow:auto;padding:5px 0 10px;outline:none;scrollbar-gutter:stable;
          transition:opacity .14s}
  .fblist.loading{opacity:.45}
  .fbr{height:38px;margin:1px 6px;padding:0 10px 0 8px;border-radius:var(--radius-control);
       font-size:14px;color:var(--d-text);transition:background .14s,color .14s}
  .fbr .fbn{display:flex;align-items:center;gap:10px;min-width:0}
  .fbr .fbn svg{flex:none;width:18px;height:18px}
  .fbr .fbn span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
  .fbr .dim{font-size:13px;color:var(--d-text3);overflow:hidden;text-overflow:ellipsis;
            white-space:nowrap}
  .fbr .dim.r{text-align:right}
  .fbr.dir{cursor:pointer}
  .fbr:hover{background:var(--d-hover)}
  .fbr.sel{background:var(--d-sel);box-shadow:inset 2px 0 0 var(--d-sel-line)}
  .fbr.sel .dim{color:var(--d-text2)}
  .fbr.file .fbn svg{opacity:.72}
  .fbempty{padding:30px 16px;text-align:center;color:var(--d-text3);font-size:13px;line-height:1.75}
  .fbe{margin:0 12px 8px;padding:8px 11px;font-size:12.5px;line-height:1.5;color:var(--d-err);
       background:var(--d-err-bg);border-radius:var(--radius-control);display:none}
  .fbe.show{display:block}

  /* ---- 底部操作区：统一 34px 高度 / 8px 圆角，只靠一层淡底分开 ---- */
  .fbf{display:flex;align-items:center;gap:10px;padding:11px 18px;background:var(--d-footer)}
  .fbf .lab{font-size:12.5px;color:var(--d-text3);white-space:nowrap;padding-left:2px}
  #fbm .fbf .mini.ghost{height:34px;padding:0 12px;border-radius:var(--radius-control);background:transparent;
       border:1px solid var(--d-line);color:var(--d-text2);font-size:13px;
       display:inline-flex;align-items:center;transition:background .14s,color .14s,border-color .14s}
  #fbm .fbf .mini.ghost:hover{background:var(--d-hover);color:var(--d-text);border-color:var(--d-line)}
  #fbm .fbf .mini.ghost svg{width:14px;height:14px;margin-right:6px;opacity:.85}
  #fbSel{flex:1;min-width:0;height:34px;background:var(--d-input);border:1px solid var(--d-line);
         border-radius:var(--radius-control);padding:0 10px;color:var(--d-text);font:13px var(--mono);outline:none;
         transition:border-color .14s,box-shadow .14s}
  #fbSel:focus{border-color:var(--d-accent);box-shadow:0 0 0 3px var(--d-accent-soft)}
  #fbm .fbf .ok{height:34px;padding:0 16px;flex:none;border:1px solid transparent;border-radius:var(--radius-control);
       background:var(--d-accent);color:#fff;font-size:13px;font-weight:600;cursor:pointer;
       transition:background .14s}
  #fbm .fbf .ok:hover:not(:disabled){background:var(--d-accent-hover)}
  #fbm .fbf .ok:disabled{background:transparent;border-color:var(--d-line);color:var(--d-text3);
       opacity:1;cursor:not-allowed}

  /* ---- 滚动条：细、半透明 ---- */
  #fbm *::-webkit-scrollbar{width:12px;height:12px}
  #fbm *::-webkit-scrollbar-track{background:transparent}
  #fbm *::-webkit-scrollbar-thumb{background:var(--d-scroll);border-radius:var(--radius-control);
       border:3px solid transparent;background-clip:padding-box}
  #fbm *::-webkit-scrollbar-thumb:hover{background:var(--d-text3);background-clip:padding-box;
       border:3px solid transparent}
  #fbNewName{background:var(--d-input);border:1px solid var(--d-accent);border-radius:var(--radius-tag);
             color:var(--d-text);font:13px -apple-system,"Microsoft YaHei",sans-serif;
             padding:0 7px;height:26px;outline:none;width:200px;max-width:62%;
             box-shadow:0 0 0 3px var(--d-accent-soft)}

  /* 窄窗口：先让「类型」列让位，再让「修改日期」让位，别把文件名挤没 */
  @media (max-width:900px){
    .fbcols,.fbr{grid-template-columns:minmax(0,1fr) 132px 76px}
    .fbcols span:nth-child(3),.fbr>div:nth-child(3){display:none}
    .fbs{width:198px}
  }
  @media (max-width:720px){
    #fbm{padding:12px}
    .fbcols,.fbr{grid-template-columns:minmax(0,1fr) 82px}
    .fbcols span:nth-child(2),.fbr>div:nth-child(2){display:none}
    .fbs{width:152px}
    .fbh .sub{display:none}
    .fbf{padding:10px 12px;gap:8px}
  }

