/* hall 的主题变量只挂在 #hall 上，不覆盖站点自己的主题变量 */
#hall,body:has(#hall){
  --card:#ffffff;--text:#1d1d1f;--text2:#6e6e73;--text3:#86868b;
  --border:rgba(0,0,0,.1);--tint:#f5f5f7;--blue:#0071e3;--blue-soft:rgba(0,113,227,.12);
  --green:#34c759;--red:#ff3b30;--shadow:0 1px 3px rgba(0,0,0,.05),0 10px 30px rgba(0,0,0,.06);
  --bar-h:76px;--r:14px;
}
/* 站点的规则是「只认手动保存的主题、不跟随系统深色」，hall 必须一模一样，
   否则系统开着深色时会出现「站点亮、播放台暗」或「站点暗、卡片白」的错位 */
/* 站点自己切暗色（html[data-theme=dark]）时 hall 必须跟上，
   否则会出现「页面暗、卡片与按钮白」的错位；切回明亮时用 light 反向压制系统深色 */
html[data-theme="dark"] #hall,html[data-theme="dark"] body:has(#hall){
  --card:#161618;--text:#f5f5f7;--text2:#a1a1a6;--text3:#77777d;
  --border:rgba(255,255,255,.12);--tint:#2a2a2c;--blue:#2997ff;--blue-soft:rgba(41,151,255,.18);
  --green:#30d158;--red:#ff453a;--shadow:0 1px 3px rgba(0,0,0,.4),0 10px 30px rgba(0,0,0,.35)
}
html[data-theme="light"] #hall,html[data-theme="light"] body:has(#hall){
  --card:#ffffff;--text:#1d1d1f;--text2:#6e6e73;--text3:#86868b;
  --border:rgba(0,0,0,.1);--tint:#f5f5f7;--blue:#0071e3;--blue-soft:rgba(0,113,227,.12);
  --green:#34c759;--red:#ff3b30;--shadow:0 1px 3px rgba(0,0,0,.05),0 10px 30px rgba(0,0,0,.06)
}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}html,body{margin:0;padding:0}body:has(#hall),#hall{
  background:var(--tint);color:var(--text);
  font:15px/1.5 -apple-system,BlinkMacSystemFont,"PingFang SC","Helvetica Neue",sans-serif;
  padding-bottom:calc(var(--bar-h) + 24px);
}a{color:inherit;text-decoration:none}button{font:inherit;color:inherit;border:0;background:none;cursor:pointer}input,select{font:inherit;color:inherit}#hall .wrap{max-width:1180px;margin:0 auto;padding:0 20px}#hall .hero{padding:46px 0 26px;position:relative;overflow:hidden}#hall .eyebrow{font-size:12px;letter-spacing:.18em;text-transform:uppercase;color:var(--blue);font-weight:600}#hall .hero h1{margin:8px 0 0;font-size:38px;line-height:1.15;letter-spacing:-.02em}#hall .hero p{margin:8px 0 0;color:var(--text2);font-size:15px;max-width:620px}#hall .stats{display:flex;justify-content:center;gap:10px;margin-top:20px;flex-wrap:wrap}#hall .stat{background:var(--card);border:1px solid var(--border);border-radius:12px;padding:10px 14px;min-width:96px}#hall .stat b{display:block;font-size:20px;line-height:1.2}#hall .stat span{font-size:12px;color:var(--text3)}#hall .filters{background:var(--card);border-radius:var(--r);box-shadow:var(--shadow);padding:14px 16px;margin-bottom:12px}#hall .frow{display:flex;align-items:flex-start;gap:12px;flex-wrap:wrap}#hall .frow+.frow{margin-top:10px;padding-top:10px;border-top:1px solid var(--border)}#hall .flabel{font-size:12px;color:var(--text3);padding-top:6px;flex:0 0 auto;min-width:34px}#hall .chips{display:flex;gap:8px;flex-wrap:wrap}#hall .chip{border:1px solid var(--border);background:var(--card);border-radius:999px;padding:6px 13px;font-size:13px;color:var(--text2);transition:.15s}#hall .chip:hover{border-color:var(--blue);color:var(--blue)}#hall .chip.on{background:var(--blue);border-color:var(--blue);color:#fff}#hall .chip .n{opacity:.6;margin-left:4px;font-size:11px}#hall .tools{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin:0 0 16px}#hall .search{flex:1 1 240px;min-width:180px;position:relative}#hall .search input{width:100%;border:1px solid var(--border);background:var(--card);border-radius:999px;padding:9px 14px 9px 34px;font-size:14px;outline:none}#hall .search input:focus{border-color:var(--blue);box-shadow:0 0 0 3px var(--blue-soft)}#hall .search svg{position:absolute;left:12px;top:50%;transform:translateY(-50%);color:var(--text3)}#hall .tbtn{border:1px solid var(--border);background:var(--card);border-radius:999px;padding:8px 14px;font-size:13px;color:var(--text2);display:inline-flex;align-items:center;gap:6px}#hall .tbtn:hover{border-color:var(--blue);color:var(--blue)}select.tbtn{padding-right:8px}cnt{font-size:13px;color:var(--text3);margin-left:auto}#hall .grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:16px}#hall .grid.list{grid-template-columns:1fr}#hall .card{background:var(--card);border:1px solid var(--border);border-radius:var(--r);overflow:hidden;position:relative;transition:.18s;cursor:pointer}#hall .card:hover{transform:translateY(-2px);box-shadow:var(--shadow)}#hall .card.playing{border-color:var(--blue);box-shadow:0 0 0 2px var(--blue-soft)}#hall .cover{position:relative;aspect-ratio:1/1;background:var(--tint);overflow:hidden}#hall .cover img{width:100%;height:100%;object-fit:cover;display:block}#hall .cover .art{width:100%;height:100%;display:flex;align-items:center;justify-content:center;font-size:46px;font-weight:600;color:#fff;letter-spacing:.02em}#hall .cover::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,0) 55%,rgba(0,0,0,.45))}#hall .badge{position:absolute;top:8px;left:8px;z-index:2;background:rgba(0,0,0,.55);color:#fff;border-radius:6px;padding:2px 7px;font-size:11px;backdrop-filter:blur(6px)}#hall .dur{position:absolute;top:8px;right:8px;z-index:2;background:rgba(0,0,0,.55);color:#fff;border-radius:6px;padding:2px 7px;font-size:11px}#hall .play-fab{position:absolute;z-index:3;right:10px;bottom:10px;width:44px;height:44px;border-radius:50%;
  background:var(--blue);color:#fff;display:flex;align-items:center;justify-content:center;
  box-shadow:0 4px 14px rgba(0,113,227,.4);transition:.15s;opacity:0;transform:scale(.9)}#hall .card:hover .play-fab,.card.playing .play-fab,.play-fab:focus-visible{opacity:1;transform:none}#hall .play-fab.on{background:var(--red);box-shadow:0 4px 14px rgba(255,59,48,.4)}#hall .eq{position:absolute;z-index:2;left:10px;bottom:12px;display:none;gap:2px;align-items:flex-end;height:16px}#hall .eq i{width:2px;background:#fff;border-radius:1px;height:40%;animation:eq .9s ease-in-out infinite}#hall .eq i:nth-child(2){animation-delay:.15s}#hall .eq i:nth-child(3){animation-delay:.3s}#hall .eq i:nth-child(4){animation-delay:.45s}#hall .card.playing .eq{display:flex}@keyframes eq{0%,100%{height:25%}50%{height:100%}}#hall .cbody{padding:11px 13px 13px}#hall .ctitle{font-size:14px;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}#hall .csub{font-size:12px;color:var(--text3);margin-top:3px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}#hall .tags{display:flex;gap:5px;flex-wrap:wrap;margin-top:8px}#hall .tag{font-size:11px;color:var(--text2);background:var(--tint);border-radius:5px;padding:2px 6px}#hall .tag.tag-own{background:var(--blue);color:#fff}/* 必须显式写 flex-direction:row —— 站点 main.css 里有 .card{display:flex;flex-direction:column}，
   会把 hall 的卡片（含列表视图）强行改成竖排，列表视图一直是「坏」的 */
#hall .grid.list .card{display:flex;flex-direction:row;align-items:center;gap:14px}#hall .grid.list .cover{width:64px;flex:0 0 64px;aspect-ratio:1/1}#hall .grid.list .cover .art{font-size:22px}#hall .grid.list .play-fab{bottom:auto;top:50%;right:14px;transform:translateY(-50%) scale(.9);opacity:0}#hall .grid.list .play-fab:focus-visible{opacity:1;transform:translateY(-50%)}#hall .grid.list .card:hover .play-fab{transform:translateY(-50%)}#hall .grid.list .cbody{flex:1;min-width:0}#hall .grid.list .eq{position:static;margin-left:0}#hall .grid.list .card.playing .eq{display:flex}#hall .empty{grid-column:1/-1;text-align:center;color:var(--text3);padding:60px 0;font-size:14px}#hall .bar{position:fixed;left:0;right:0;bottom:0;z-index:60;background:var(--card);
  border-top:1px solid var(--border);backdrop-filter:saturate(180%) blur(20px);
  box-shadow:0 -1px 3px rgba(0,0,0,.04),0 -8px 24px rgba(0,0,0,.05)}#hall .bar-in{max-width:1180px;margin:0 auto;padding:10px 20px;display:flex;align-items:center;gap:14px}#hall .bar .cover{width:46px;height:46px;flex:0 0 46px;border-radius:9px;cursor:pointer}#hall .bar .cover .art{font-size:18px}#hall .mmeta{min-width:0;flex:0 0 190px;cursor:pointer}#hall .mmeta .t{font-size:13px;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}#hall .mmeta .s{font-size:11px;color:var(--text3);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}#hall .mctr{display:flex;flex-direction:column;align-items:center;gap:5px;flex:1;min-width:0}#hall .controls{display:flex;align-items:center;gap:6px}#hall .icb{width:34px;height:34px;border-radius:50%;display:flex;align-items:center;justify-content:center;color:var(--text2)}#hall .icb:hover{background:var(--tint);color:var(--text)}#hall .icb.primary{width:40px;height:40px;background:var(--blue);color:#fff}#hall .icb.primary:hover{background:var(--blue);opacity:.85}#hall .icb.primary.playing{background:var(--red)}#hall .icb.on{color:var(--blue)}#hall .prow{display:flex;align-items:center;gap:9px;width:100%;max-width:620px}#hall .pt{font-size:11px;color:var(--text3);font-variant-numeric:tabular-nums;flex:0 0 auto}#hall .prog{flex:1;height:4px;border-radius:2px;background:var(--border);position:relative;cursor:pointer}#hall .prog .fill{position:absolute;inset:0 auto 0 0;border-radius:2px;background:var(--blue);width:0}#hall .prog .knob{position:absolute;top:50%;width:11px;height:11px;border-radius:50%;background:var(--blue);
  transform:translate(-50%,-50%);left:0;opacity:0;transition:opacity .15s}#hall .prog:hover .knob{opacity:1}#hall .mright{display:flex;align-items:center;gap:4px;flex:0 0 auto}#hall .vol{width:88px;flex:0 0 88px;display:flex;align-items:center;gap:7px}
#hall .vol input[type=range]{-webkit-appearance:none;appearance:none;width:100%;min-width:0;flex:1;height:16px;margin:0;background:transparent;cursor:pointer}
#hall .vol input[type=range]::-webkit-slider-runnable-track{height:4px;border-radius:2px;background:var(--border)}
#hall .vol input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;width:11px;height:11px;margin-top:-3.5px;border-radius:50%;background:var(--blue)}
#hall .vol input[type=range]::-moz-range-track{height:4px;border-radius:2px;background:var(--border)}
#hall .vol input[type=range]::-moz-range-thumb{width:11px;height:11px;border:0;border-radius:50%;background:var(--blue)}input[type=range]{-webkit-appearance:none;appearance:none;height:3px;border-radius:2px;background:var(--border);flex:1;outline:none}input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;width:11px;height:11px;border-radius:50%;background:var(--blue);cursor:pointer}#hall .qbtn{position:relative}
#hall .qcount{position:absolute;top:-3px;right:-3px;min-width:18px;height:18px;padding:0 5px;border-radius:9px;background:var(--blue);color:#fff;font-size:10px;font-weight:600;line-height:18px;text-align:center;border:2px solid var(--card);pointer-events:none}
#hall .mright{gap:6px}#hall .qcount{position:absolute;top:-3px;right:-3px;background:var(--blue);color:#fff;font-size:9px;line-height:1;
  padding:2px 4px;border-radius:6px;min-width:14px;text-align:center}#hall .scrim{position:fixed;inset:0;background:rgba(0,0,0,.35);z-index:110;opacity:0;pointer-events:none;transition:.2s}#hall .scrim.on{opacity:1;pointer-events:auto}#hall .queue{position:fixed;top:0;right:0;bottom:0;width:min(380px,92vw);z-index:120;background:var(--card);
  transform:translateX(102%);transition:transform .24s cubic-bezier(.32,.72,0,1);display:flex;flex-direction:column}#hall .queue.on{transform:none}#hall .qhead{padding:16px;display:flex;align-items:center;border-bottom:1px solid var(--border)}#hall .qhead h3{margin:0;font-size:16px;flex:1}#hall .qbody{flex:1;overflow:auto;padding:6px 8px 20px}#hall .qrow{display:flex;align-items:center;gap:11px;padding:9px 10px;border-radius:10px;cursor:pointer}#hall .qrow:hover{background:var(--tint)}#hall .qrow.cur{background:var(--blue-soft)}#hall .qrow .ic{width:34px;height:34px;border-radius:7px;flex:0 0 34px;display:flex;align-items:center;justify-content:center;
  font-size:14px;font-weight:600;color:#fff}#hall .qrow .qt{flex:1;min-width:0;font-size:13px}#hall .qrow .qt b{display:block;font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}#hall .qrow .qt span{font-size:11px;color:var(--text3)}#hall .qrow .qd{font-size:11px;color:var(--text3);font-variant-numeric:tabular-nums}#hall .qfoot{padding:12px 16px calc(16px + env(safe-area-inset-bottom));border-top:1px solid var(--border);display:flex;gap:8px}#hall .qfoot button{flex:1;border:1px solid var(--border);border-radius:10px;padding:9px;font-size:13px;color:var(--text2)}#hall .sheet{position:fixed;inset:0;z-index:130;display:none}#hall .sheet.on{display:block}#hall .sh-bg{position:absolute;inset:0;background:rgba(0,0,0,.45)}#hall .sh{position:absolute;left:50%;top:50%;transform:translate(-50%,-48%);width:min(880px,94vw);max-height:86vh;overflow:auto;
  background:var(--card);border-radius:20px;box-shadow:0 30px 80px rgba(0,0,0,.3)}#hall .sh-top{display:flex;gap:22px;padding:26px 26px 16px}
#hall .ne-panel{max-height:0;overflow:hidden;background:var(--tint);border-bottom:1px solid var(--border);transition:max-height .24s cubic-bezier(.32,.72,0,1)}
#hall .ne-panel.on{max-height:360px}
#hall .ne-wrap{max-width:1180px;margin:0 auto;padding:9px 20px 6px;display:flex;align-items:center;gap:12px}
#hall .ne-tag{font-size:11px;color:var(--text3);flex:0 0 auto;white-space:nowrap}
#hall .ne-frame{width:330px;height:300px;flex:0 0 330px;border:0;display:block;background:transparent;border-radius:10px;overflow:hidden}
#hall .ne-x{width:30px;height:30px;border-radius:50%;flex:0 0 30px;display:flex;align-items:center;justify-content:center;background:var(--tint);color:var(--text3);transition:.15s}
#hall .ne-x:hover{background:var(--blue);color:#fff}
#hall .sh-x{position:absolute;z-index:2;top:14px;right:14px;width:32px;height:32px;border-radius:50%;
  display:flex;align-items:center;justify-content:center;background:var(--tint);color:var(--text2);transition:.15s}
#hall .sh-x:hover{background:var(--blue);color:#fff}#hall .sh-share{right:54px}
.hall-toast{position:fixed;left:50%;bottom:40px;transform:translate(-50%,10px);z-index:400;
  background:rgba(24,24,28,.88);color:#fff;font-size:12.5px;padding:9px 16px;border-radius:999px;
  opacity:0;pointer-events:none;transition:opacity .25s,transform .25s;
  -webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}
.hall-toast.on{opacity:1;transform:translate(-50%,0)}#hall .sh-cover{width:210px;height:210px;flex:0 0 210px;border-radius:14px;overflow:hidden;position:relative}#hall .sh-cover .art{width:100%;height:100%;display:flex;align-items:center;justify-content:center;font-size:64px;font-weight:600;color:#fff}#hall .sh-info{flex:1;min-width:0;padding-top:6px}#hall .sh-info .eyebrow{font-size:11px}#hall .sh-info h2{margin:6px 0 4px;font-size:27px;line-height:1.2;letter-spacing:-.01em}#hall .sh-info .artist{color:var(--text2);font-size:14px}#hall .sh-desc{color:var(--text2);font-size:14px;margin:12px 0 0;line-height:1.65}#hall .sh-meta{display:flex;gap:8px;flex-wrap:wrap;margin-top:14px}#hall .sh-rows{display:flex;gap:10px;flex-wrap:wrap;margin-top:18px}#hall .btn{border-radius:11px;padding:10px 18px;font-size:14px;display:inline-flex;align-items:center;gap:7px;justify-content:center}#hall .btn.primary{background:var(--blue);color:#fff}#hall .btn.ghost{border:1px solid var(--border);color:var(--text2)}#hall .btn.ghost:hover{border-color:var(--blue);color:var(--blue)}#hall .sh-body{padding:0 26px 26px}#hall .sh-frame{width:100%;height:300px;display:block;border:0;border-radius:14px;overflow:hidden;background:transparent;margin-top:4px}
@media(max-width:760px){
  .hero h1{font-size:29px}
  #hall .vol{display:none}   /* 原来这条是 .vol（0,0,1），被 #hall .vol{display:flex} 盖掉，音量条一直占着 88px 把右侧挤出画面 */
  .sh-top{flex-direction:column}
  .sh-cover{width:100%;height:200px;flex:none}
  .sh{width:94vw}
  #hall .ne-wrap{padding:6px 10px 4px;gap:6px}
  #hall .ne-tag{display:none}
  #hall .ne-frame{flex:1 1 auto;width:auto;height:120px}
  #hall .ne-x{flex-basis:28px;width:28px;height:28px}
  #hall .sh-frame{height:220px}
  /* ---------- 手机端播放条：两行 ----------
     第一行 封面 + 曲名 + 循环模式 + 队列；
     第二行 上一首 / 播放 / 下一首 + 进度条（原来挤成一行，进度条被压成 0 宽、右侧按钮溢出画面） */
  #hall .bar-in{flex-wrap:wrap;gap:8px 10px;padding:8px 12px calc(8px + env(safe-area-inset-bottom))}
  #hall .bar .cover{width:38px;height:38px;flex:0 0 38px;border-radius:8px}
  #hall .bar .cover .art{font-size:15px}
  #hall .mmeta{flex:1 1 auto;flex-basis:auto;min-width:0}
  #hall .mmeta .t{font-size:12.5px}
  #hall .mmeta .s{font-size:10.5px}
  #hall .mright{margin-left:auto;gap:2px;flex:0 0 auto}
  #hall .mctr{order:5;flex:1 1 100%;flex-direction:row;align-items:center;gap:10px}
  #hall .icb{width:32px;height:32px}
  #hall .icb.primary{width:38px;height:38px}
  #hall .prow{width:auto;flex:1;min-width:0;max-width:none}
  #hall .pt{font-size:10px}
  /* 空间极小时先丢掉两端时间，保住进度条 */
}
@media(max-width:359px){
  #hall .pt{display:none}
}
/* ---------- 手机端整页留白收紧 ---------- */
@media (max-width:760px){
  #hall .hero{padding:22px 0 16px}
  #hall .hero h1{font-size:26px}
  #hall .stats{margin-top:14px}
  #hall .filters{padding:12px 12px;margin-bottom:10px}
  #hall .frow+.frow{margin-top:8px;padding-top:8px}
  #hall .grid{gap:12px}
  #hall .card{border-radius:12px}
  #hall .cbody{padding:9px 11px 11px}
  #hall .sh-top{padding:18px 18px 12px}
  #hall .sh-body{padding:0 18px calc(18px + env(safe-area-inset-bottom))}
  #hall .sh{width:95vw;border-radius:18px}
  #hall .sh-cover{width:100%;height:168px;flex:none}
  #hall .sh-frame{height:200px}
  #hall .qfoot{padding:10px 12px calc(10px + env(safe-area-inset-bottom))}
}
/* ---------- 窄屏（<=560px）：卡片改横向小图 + 右侧信息，整页不再是一张巨图（须放在 760 之后才能压住上面的内边距） ---------- */
@media (max-width:560px){
  #hall .grid{gap:10px}
  #hall .card{display:flex;flex-direction:row;align-items:center;gap:12px;border-radius:12px}
  #hall .card:hover{transform:none}
  #hall .card .cover{width:76px;height:76px;flex:0 0 76px;aspect-ratio:1/1;border-radius:10px}
  #hall .card .cover .art{font-size:24px}
  #hall .card .cover::after{display:none}
  #hall .cbody{flex:1;min-width:0;padding:0}
  #hall .ctitle{font-size:13.5px}
  #hall .csub{font-size:11px;margin-top:2px}
  #hall .tags{margin-top:5px}
  #hall .tag{padding:1px 5px}
  #hall .play-fab{right:6px;bottom:auto;top:50%;width:38px;height:38px;transform:translateY(-50%) scale(.9)}
  #hall .card:hover .play-fab,
  #hall .grid.list .card:hover .play-fab{transform:translateY(-50%)}
  #hall .grid.list .play-fab{width:38px;height:38px;transform:translateY(-50%) scale(.9)}
  #hall .eq{left:7px;bottom:7px;height:13px}
  #hall .badge{top:5px;left:5px;padding:1px 5px;font-size:10px}
  #hall .dur{top:5px;right:5px;padding:1px 5px;font-size:10px}
}
/* ---------- 接入站点后的适配 ---------- */
#hall{display:block}
body:has(#hall){padding-top:var(--header-h,60px)}
.hall-hero{padding-top:24px}
@media (max-width:760px){
  .hall-hero h1{font-size:27px}
  .card:hover{transform:none}
  #hall .stats{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;width:100%;max-width:320px;margin:18px auto 0}
  #hall .stat{min-width:0;padding:10px 8px}
}

/* ---------- 筛选卡整体折叠（搜索框不收） ---------- */
#hall .fouter{display:grid;grid-template-rows:1fr;transition:grid-template-rows .28s ease}
#hall .fouter-in{overflow:hidden;min-height:0}
#hall.fcut .fouter{grid-template-rows:0fr}
#hall #f-toggle svg{transition:transform .22s}
#hall.fcut #f-toggle svg{transform:rotate(180deg)}

/* ---------- 搜索行 + 筛选卡两段独立吸顶 ---------- */
/* 工具行钉在导航栏下；筛选卡吸在工具行正下方（高度用 JS 量，写在 --tools-h）。
   页面内容不够长时筛选卡会被父容器边界推上去、从工具行后面滑走 —— 搜索框永远可见。 */
#hall .toolbar{position:sticky;top:var(--header-h,52px);z-index:40;
  background:var(--bg-glass);backdrop-filter:saturate(180%) blur(20px);
  -webkit-backdrop-filter:saturate(180%) blur(20px);
  border-bottom:1px solid var(--border)}
#hall .toolbar .tools{margin:0;padding:10px 0}
#hall .fbar{position:sticky;top:calc(var(--header-h,52px) + var(--tools-h,62px));z-index:39;
  background:var(--bg-glass);backdrop-filter:saturate(180%) blur(20px);
  -webkit-backdrop-filter:saturate(180%) blur(20px)}
#hall .fbar .filters{margin-bottom:12px}
#hall.fcut .toolbar{margin-bottom:16px}
@media (max-width:760px){
  #hall .toolbar .tools{padding:8px 0}
  #hall .fbar .filters{margin-bottom:10px}
  #hall.fcut .toolbar{margin-bottom:12px}
}

/* 浏览数：封面左下角极简小药丸，不占位（播放中隐藏，避让左下角均衡器动画） */
#hall .cover .vcount{position:absolute;left:9px;bottom:7px;z-index:2;display:inline-flex;align-items:center;gap:3px;
  background:none;box-shadow:none;color:rgba(255,255,255,.7);padding:0;font-size:10.5px;line-height:1.4;font-weight:500;
  text-shadow:0 1px 2px rgba(0,0,0,.35);pointer-events:none}
#hall .cover .vcount svg{width:11px;height:11px;flex:0 0 auto;opacity:.8}
#hall .cover .vcount .card-views-num{font-variant-numeric:tabular-nums}
#hall .card.playing .vcount{display:none}
