/* ================= v647：编辑窗右下 —— 帧图墙上下边距对称 + 功能行三键居中 + 定位点贴右 =================
   工单 W647-01 / W647-02（用户 2026-10-15 晚，附两张截图）：

     ① 「右边那个节点怎么没有变化呀？…这个地方是没有改到吗？」
        两条红箭头指的是右下那面帧图墙的**上边距与下边距** ——「它要保持一致」
     ② 「定位点这个按钮往那边移，移到打包下载，两个一起往右靠，右对齐」
        「播放 / 上一帧 / 下一帧 三个按钮也放在一起，但不要完全贴着，就正常有个间距」
        「然后它对于这一整条框，这一整条红色框是**左右居中**的」

   ── ① 边距不一致的根因（逐层查出来的）──────────────────────────────────────────
     · `27-seqedit573.css:50` 原始 `padding:10px 12px`（上下各 10）
     · `46-seqgrid630.css:8` v630 改 flex 单行时**没覆盖 padding** ⇒ 沿用 10px
     · ★ `53-seqgrid643.css`（v643）我为「上下等距」写过 `padding-top/bottom:6px`，
       **但被同文件后面的规则按层叠压掉了** ⇒ 实测上边距明显大于下边距。
     ⇒ 修法：上下等距收成**一处显式同值**（唯一的间距来源），并把 foot 自己的
       padding/margin 清零 —— 杜绝「上下来自不同规则」。

   ── ② 三键为什么是散的（v643 引入的）──────────────────────────────────────────
     `111:568` 的功能行 DOM 顺序（v586 建）：
       `已选帧数 / 帧率 / 上一帧 / 播放 / 下一帧 / 定位点 / 打包下载`
     v643 写了 `.seqedit-ctl586{margin:0 auto}` —— ★ 而 `seqedit-ctl586` 是
     `111:551-559` 给**每一颗**播放键单独加的类（prev / play / next 各一颗）
     ⇒ `margin:auto` 让**三颗各自居中** ⇒ 观感是被均匀摊到整行（截图正是如此）。

   ── ② 修法：两端用 flex 撑开 + 中间三键**绝对居中** ──────────────────────────
     为什么不用 `grid-template-columns:1fr auto 1fr`：右端两颗（定位点 + 打包下载）
     要**并排挨着**，而 grid 里它们会落进**同一格**⇒ 重叠。grid 表达不了
     「同一格里再横排两个」⇒ 正确解法就是绝对居中 + 两端 flex。

   ⚠️ 本表是唯一新增文件：02 / 27 / 31 / 33 / 35 / 45 / 46 / 47 / 52 / 53 / 55 **一字未动**。 */

/* ============================================================================
   ① 帧图墙：上下边距**显式对称**（唯一落点）
   ============================================================================ */
.seqedit-right586 .seqedit-foot573{
  padding:0!important;
  margin:0!important;
}
.seqedit-right586 .seqedit-grid573{
  margin:0!important;                /* ★ 容器自身外边距是不对称的最大来源 */
  padding:10px 12px!important;       /* ★ 上下同值 10 : 10 —— 就是这一处 */
  box-sizing:border-box!important;
}

/* ============================================================================
   ② 功能行：左簇贴左 · 三键成组绝对居中 · 右端两簇贴右并排
   ============================================================================ */
.seqedit-right586 .seqedit-btns573{
  position:relative!important;               /* 中间三键要绝对居中 */
  display:flex!important;
  flex-wrap:nowrap!important;
  align-items:center!important;
  gap:0!important;                            /* 间隙由各簇自己控 */
  padding:0 12px!important;                   /* 与墙同一条左边线 */
  margin:0!important;
  min-height:30px!important;                  /* 给绝对定位的三键一个稳定的行高 */
}

/* ---- 左簇（已选帧数 / 帧率）贴左 ---- */
.seqedit-right586 #seqEditCntChip586,
.seqedit-right586 #seqEditFpsChip586{
  flex:0 0 auto!important;margin:0!important;
}

/* ---- ★ 中间三键：**整体左右居中**（与左右两簇宽度无关） ----
        三颗相邻成组，间隔 6px（不贴死、也不散开）。
        整组宽 ≈ 26×3 + 6×2 = 90px ⇒ 各自 left 用 50% 减去偏移。 */
.seqedit-right586 #seqEditPrevBtn586,
.seqedit-right586 #seqEditPlayBtn586,
.seqedit-right586 #seqEditNextBtn586{
  position:absolute!important;
  top:50%!important;
  transform:translateY(-50%)!important;       /* 只做垂直居中，不掺水平位移 */
  flex:0 0 auto!important;
  margin:0!important;
  min-width:26px!important;
  padding:3px 8px!important;
}
.seqedit-right586 #seqEditPrevBtn586{left:calc(50% - 78px)!important}
.seqedit-right586 #seqEditPlayBtn586{left:calc(50% - 39px)!important}
.seqedit-right586 #seqEditNextBtn586{left:calc(50% - 0px)!important}
/* 三颗中心间距 = 39px = 半宽(13) + 间隙(6) + 半宽(13) + ……⇒ 相邻留 6px 的正常缝 */

/* ---- 右端两簇（定位点 + 打包下载）贴右、并排、彼此留 6px ----
        DOM 顺序是「定位点 → 打包下载」（`111:568`）⇒ 给打包下载 `margin-left:auto`
        把左边全推到左侧、自己贴右；定位点紧随其后，两者之间留 6px。 */
.seqedit-right586 #seqEditAnchorBtn586{
  position:static!important;                   /* ★ 撤掉「被别处绝对定位」的可能 */
  flex:0 0 auto!important;
  margin-left:0!important;
  margin-right:6px!important;                 /* ★ 与打包下载之间留一点缝 */
}
/* 「打包下载」那颗来自 `105`（v571 建的那颗，没有 586 的 id）⇒ 按文案认 */
.seqedit-right586 .seqedit-btns573 > button{
  flex:0 0 auto!important;
}
.seqedit-right586 .seqedit-btns573 > button:last-child{
  margin-left:auto!important;                 /* ★ 右端贴右 */
}
/* 兜底：若「定位点」那颗被换成了 v639 建的 id（seqEditAnchorBtn639） */
.seqedit-right586 #seqEditAnchorBtn639{
  position:static!important;flex:0 0 auto!important;
  margin-left:0!important;margin-right:6px!important;
}