/* ==========================================================================
   白栈 · 精修层 v252（修 v248 的越界）
   ─────────────────────────────────────────────────────────────────────
   v248 的错：用了 p / li / label / .card > * + * 这种全局选择器，
   结果把视频面板（#videoPanel 的 .vopt / .vopt-label / .vcol）也一起压扁，
   造成清晰度/时长/比例/首尾帧四行互相重叠（实测 12 处）。

   本层原则：
   1. 只作用于主站三栏工作台与独立 view，**明确排除** #videoPanel、
      #detailfigPanel、#scenePanel、#reverseMode 等画布/面板类容器
   2. 不再写 p / li / label 这类全局元素选择器
   3. 只调字号/间距/圆角/描边，不动 flex/grid/height/position
   ========================================================================== */

/* ---------- 1. 字号阶梯（只给变量，不直接套到元素上） ---------- */
:root{
  --fs-11:11px;
  --fs-12:12px;
  --fs-13:13px;
  --fs-15:15px;
  --fs-17:17px;
}

/* ---------- 2. 卡片标题与提示（全站可用，安全） ---------- */
.card-title{
  font-size:var(--fs-15);
  font-weight:600;
  line-height:1.4;
}
.card-title .hint{
  font-size:var(--fs-12);
  font-weight:400;
  line-height:1.5;
}
.hint,
.small{
  font-size:var(--fs-12);
  line-height:1.55;
}

/* ---------- 3. 参数区：只作用于「主站右栏 .col-params」，排除所有面板 ---------- */
#view-work .col-params .params-body,
#view-work .col-params .params-body .field{
  font-size:var(--fs-13);
  line-height:1.6;
}
#view-work .col-params .params-body .field > label,
#view-work .col-params .params-body .field > .fs-label,
#view-work .col-params .fs-label,
#view-work .col-params .vopt-label{
  font-size:var(--fs-13);
  font-weight:600;
  line-height:1.45;
  color:var(--ink);
}
/* 参数区里「相邻区块的呼吸」，只在参数区生效 —— 原来那句 .card > * + * 就是元凶 */
#view-work .col-params .params-body .field + .field{
  margin-top:0;
  padding-top:13px;
}
#view-work .col-params .params-body .field + .field::before{
  top:0;
}

/* ---------- 4. 左侧模式列：紧凑排版（只在主站工作台） ---------- */
#view-work .gen-mode-bar .segmented{
  gap:4px;
}
#view-work .gen-mode-bar .segmented button{
  font-size:var(--fs-12);
  line-height:1.35;
  padding:7px 10px;
  letter-spacing:-.004em;
  white-space:normal;
  word-break:break-word;
  text-align:left;
}
#view-work .gen-mode-bar .segmented button.on,
#view-work .gen-mode-bar .segmented button.active{
  font-weight:600;
}
#view-work .gen-mode-bar .hint{
  font-size:var(--fs-11);
  line-height:1.5;
  color:var(--ink-3);
}

/* ---------- 5. 上传区（只主站） ---------- */
#view-work .drop-zone{
  padding:26px 18px;
  border-width:1px;
  border-style:dashed;
  border-radius:12px;
}
#view-work .dz-txt{
  font-size:var(--fs-13);
  font-weight:500;
  line-height:1.5;
}
#view-work .dz-sub{
  font-size:var(--fs-12);
  line-height:1.55;
  margin-top:4px;
}
#view-work .dz-icon{
  width:44px;
  height:44px;
  border-radius:50%;
  margin-bottom:10px;
}
#view-work .dz-icon svg{
  width:18px;
  height:18px;
}

/* ---------- 6. 模板卡（只主站） ---------- */
#view-work .eg-item{
  border-radius:10px;
}
#view-work .eg-title{
  font-size:var(--fs-12);
  font-weight:500;
  line-height:1.45;
  padding:8px 9px 4px;
  white-space:normal;
  overflow:hidden;
  display:-webkit-box;
  -webkit-line-clamp:2;
  -webkit-box-orient:vertical;
}
#view-work .eg-cap{
  font-size:var(--fs-11);
  line-height:1.5;
  padding:0 9px 8px;
  color:var(--ink-3);
}
#view-work .eg-tag{
  font-size:var(--fs-11);
  padding:2px 7px;
  border-radius:6px;
}
#view-work .thumb-list img,
#view-work .thumb-list .thumb,
#view-work .tip-imgs img{
  border-radius:10px;
}

/* ---------- 7. 生成按钮区（只主站） ---------- */
#view-work .gen-cta .btn.primary,
#view-work .gen-cta .btn.block{
  height:42px;
  font-size:var(--fs-13);
  font-weight:600;
  border-radius:11px;
}
#view-work .gen-cta .small,
#view-work .gen-cta .hint,
#view-work .gen-cta > div{
  font-size:var(--fs-11);
  line-height:1.5;
  color:var(--ink-3);
}

/* ---------- 8. 顶部统计 ---------- */
#topbar b,
.topbar b{
  font-variant-numeric:tabular-nums;
  letter-spacing:-.01em;
}

/* ---------- 9. 滚动条（全站安全） ---------- */
::-webkit-scrollbar{
  width:8px;
  height:8px;
}
::-webkit-scrollbar-thumb{
  background:rgba(0,0,0,.14);
  border-radius:4px;
  border:2px solid transparent;
  background-clip:content-box;
}
::-webkit-scrollbar-thumb:hover{
  background:rgba(0,0,0,.24);
  background-clip:content-box;
}
::-webkit-scrollbar-track{
  background:transparent;
}
