diff --git a/module/templates/index.html b/module/templates/index.html
index a7e92c7..48f8e11 100644
--- a/module/templates/index.html
+++ b/module/templates/index.html
@@ -580,16 +580,84 @@
padding: 14px 24px; border-top: 1px solid var(--border); gap: 10px;
}
- /* 响应式 */
- @media (max-width: 860px) {
- .formbar { height: auto; flex-wrap: wrap; padding: 10px 12px; gap: 8px; }
- .fb-field { padding: 0; width: auto; border-right: none !important; }
- .fb-field-channel { width: 100%; }
- .fb-field-date { width: calc(50% - 4px); }
- .fb-field-path { width: 100%; }
- .fb-field-submit { width: 100%; }
- .btn-submit { width: 100%; justify-content: center; }
- .main-scroll { top: calc(var(--hdr-h) + 160px); }
+ /* 响应式:手机适配(≤ 768px) */
+ @media (max-width: 768px) {
+ /* 页面滚动交给整页而非固定容器,避免 fixed 高度硬编码 bug */
+ html, body { height: auto; }
+
+ /* 顶部导航压缩 */
+ .hdr { padding: 0 10px; gap: 8px; }
+ .hdr-brand { font-size: 13px; }
+ .hdr-brand small { display: none; }
+ .hdr-stats { gap: 10px; }
+ .hstat-v { font-size: 12px; }
+ .hstat-l { font-size: 9px; }
+ .btn-pause { padding: 4px 10px; font-size: 11px; }
+ .state-pill { padding: 2px 6px; font-size: 11px; }
+
+ /* 表单栏:取消固定定位,改为跟内容一起滚;字段全占满宽度 */
+ .formbar {
+ position: static;
+ height: auto;
+ flex-wrap: wrap;
+ padding: 10px 12px;
+ gap: 10px;
+ margin-top: var(--hdr-h);
+ }
+ .fb-field { padding: 0; width: 100%; border-right: none !important; min-width: 0; }
+ .fb-field-submit { padding: 0; }
+ .btn-submit { width: 100%; justify-content: center; padding: 12px; font-size: 14px; }
+
+ /* 验证下拉宽度自适应,避免溢出 */
+ .val-drop { width: auto; left: 12px; right: 12px; }
+
+ /* 主内容区:取消固定,走正常流 */
+ .main-scroll {
+ position: static;
+ padding: 12px;
+ gap: 10px;
+ }
+
+ /* 卡片内边距缩小 */
+ .card-hd { padding: 8px 12px; }
+ .card-bd { padding: 10px 12px; }
+
+ /* 历史频道网格一行两列,更紧凑 */
+ .hist-grid { grid-template-columns: repeat(auto-fill, minmax(140px, 1fr)); }
+
+ /* 下载项操作按钮加大便于点按 */
+ .dl-btn { width: 28px; height: 28px; font-size: 13px; }
+
+ /* 任务横幅过滤表达式不限宽 */
+ .task-banner-filter { max-width: none; }
+
+ /* 列表高度减小 */
+ #dl-list, #done-list { height: 220px; }
+
+ /* 过滤弹窗:占满屏幕、规则行竖排堆叠 */
+ .filter-mask { padding: 8px; align-items: flex-start; padding-top: 8vh; }
+ .filter-box { max-width: 100%; max-height: 85vh; }
+ .filter-head { padding: 12px 14px; }
+ .filter-head-title { font-size: 14px; }
+ .filter-body { padding: 12px 14px; }
+ .filter-foot { padding: 10px 14px; flex-wrap: wrap; }
+ .filter-rule { flex-wrap: wrap; gap: 6px; padding: 8px; }
+ .rule-field, .rule-op, .rule-val, .rule-unit { flex: 1 1 calc(50% - 3px); min-width: 0; }
+ .rule-negate { flex: 1 1 auto; }
+ .rule-del { margin-left: auto; }
+
+ /* 向导弹窗:占满屏幕、步骤圆点紧凑 */
+ .wizard-mask { padding: 8px; align-items: flex-start; padding-top: 5vh; }
+ .wizard-box { max-width: 100%; max-height: 90vh; }
+ .wiz-steps { padding: 14px 14px 0; }
+ .wiz-body { padding: 14px; }
+ .wiz-foot { padding: 12px 14px; gap: 8px; }
+ .wiz-title { font-size: 15px; }
+ .ws-num { width: 22px; height: 22px; font-size: 10px; }
+
+ /* Toast 通知全宽居中 */
+ .toasts { top: 56px; right: 8px; left: 8px; }
+ .toast { font-size: 12px; }
}