/* ===== v3.449 · 横向滚动条（目录区 / 正文区）=====
   为什么：文件夹一层层往右缩（每层 14px），缩到四五层，名字被截成「…」，
   右边其实还有地方，只是这块只会上下滚，横向没处去。
   做法：
     ① 让行按内容撑宽（.tnode 用 min-width:max-content），这样才有**真的**横向溢出
        —— 光加 overflow-x 是拖不动的，内容永远等于容器宽。
     ② 底部挂一条自绘的横向滚动条（.hscr），拖它 = 拖 scrollLeft，松手停在原地不弹回。
   出问题：把 index.html 里 hscroll.449.css / hscroll.449.js 两行摘掉即可，主脚本一个字没改。 */

#tbody,#cbody{overflow-x:auto;overflow-y:auto}
/* 藏掉原生那条横的（Windows 上又粗又丑、手机上细到按不住），纵的照旧 */
#tbody::-webkit-scrollbar:horizontal,#cbody::-webkit-scrollbar:horizontal{height:0;display:none}

/* 目录行：宽度至少等于「缩进 + 完整名字」。内容没超宽时排布跟原来一模一样
   （.nm 仍是 flex:1，计数仍在最右）；超宽了才把整行撑开，名字不再被省略号吃掉。 */
#tbody .tnode{min-width:max-content}

/* 正文行：min-width 由 JS 按缩进层数写成 --hsr-d（层）× --hsr-u（每层宽度），
   文字仍在自己的宽度里换行，只是在窄屏上整行会向右溢出，能横拖看全。 */
#cbody{--hsr-u:24px}
html.phone #cbody{--hsr-u:16px}
#cbody #mlist .mrow[data-id]{min-width:calc(var(--hsr-d,0) * var(--hsr-u) + 300px)}

/* ---- 滚动条本体 ----
   放在容器**后面**当一条 14px 的布局项（不悬浮、不盖字），所以它永远贴在这块区域的最底下，
   滚动时也不会压住最后一行。 */
.hscr{display:none;position:relative;flex:0 0 auto;height:14px;width:100%;
  pointer-events:none;touch-action:none;user-select:none}
.hscr.on{display:block;pointer-events:auto}
.hscr .trk{position:absolute;left:6px;right:6px;top:50%;height:7px;transform:translateY(-50%);border-radius:4px;
  background:color-mix(in srgb,var(--line) 90%,transparent);cursor:pointer}
.hscr .thb{position:absolute;top:50%;height:9px;transform:translateY(-50%);border-radius:5px;cursor:grab;
  background:color-mix(in srgb,var(--sub) 55%,transparent);touch-action:none;
  transition:background .14s ease}
.hscr .thb:hover{background:var(--acc)}
.hscr.drag .thb,.hscr .thb:active{background:var(--acc);cursor:grabbing}

/* 手机上条粗一点，手指按得住 */
html.phone .hscr{height:20px}
html.phone .hscr .trk{height:8px}
html.phone .hscr .thb{height:12px}

