/* =====================================================================
 * momo mini q · 交叉校验 + 产品配置 + 真实玩法模拟 样式
 * 全部走设计系统变量，不含皮肤色值（皮肤只在 .sg-wrap 内用 --sk-*）
 * ===================================================================== */

/* ---------------- 交叉校验面板 ---------------- */
.vf-box{border:1px solid var(--line);border-radius:var(--r);padding:13px;
  background:var(--surf);margin:12px 0}
.vf-ok{border-color:rgba(80,200,140,.4)}
.vf-warn{border-color:rgba(230,180,70,.45)}
.vf-bad{border-color:rgba(230,90,90,.55);background:rgba(230,90,90,.05)}
.vf-head{display:flex;justify-content:space-between;align-items:center;
  gap:9px;flex-wrap:wrap;font-weight:700;font-size:13px;margin-bottom:11px}
.vf-head i{color:var(--ac2);margin-right:5px}

.vf-src{display:grid;grid-template-columns:repeat(3,1fr);gap:9px;margin-bottom:11px}
.vf-s{display:flex;gap:8px;align-items:flex-start;padding:9px;
  border:1px solid var(--line);border-radius:calc(var(--r) - 3px);background:var(--bg)}
.vf-s-na{opacity:.55}
.vf-t{flex:0 0 auto;width:20px;height:20px;border-radius:5px;
  background:var(--ac2);color:#08111f;font-weight:800;font-size:11px;
  display:flex;align-items:center;justify-content:center}
.vf-s b{font-size:12px;display:block}
.vf-v{font-size:17px;font-weight:700;color:var(--ac);line-height:1.3}
.vf-s-na .vf-v{color:var(--tx3)}
.vf-sub{font-size:10.5px;color:var(--tx3);line-height:1.45}

.vf-tbl{width:100%;border-collapse:collapse;font-size:12px}
.vf-tbl th{text-align:left;padding:6px 8px;border-bottom:1px solid var(--line);
  color:var(--tx3);font-size:10.5px;font-weight:600;text-transform:uppercase}
.vf-tbl td{padding:7px 8px;border-bottom:1px solid var(--line)}
.vf-tbl td.n{text-align:right}
.vf-tbl tbody tr:last-child td{border-bottom:none}
.vf-r-ok td{color:var(--tx1)}
.vf-r-warn td{color:#e6b446}
.vf-r-bad td{color:#ff7a7a;font-weight:600}
.vf-note{font-size:11.5px;color:var(--tx2);margin:10px 0 0;line-height:1.6}
.vf-alert{color:#ff9c9c;font-weight:500}

/* ---------------- 产品独立配置卡 ---------------- */
.pc-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:11px}
.pc-card{border:1px solid var(--line);border-radius:var(--r);padding:12px;background:var(--bg)}
.pc-card.on{border-color:var(--ac);box-shadow:0 0 0 1px var(--ac) inset}
.pc-h{display:flex;justify-content:space-between;align-items:center;
  gap:8px;margin-bottom:10px;font-weight:700;font-size:13px}
.pc-row{display:flex;gap:8px;flex-wrap:wrap}
.pc-row .fld{flex:1 1 120px;min-width:0;margin:0}
.pc-row .fld label{font-size:10.5px}
.pc-meta{display:flex;gap:6px;flex-wrap:wrap;margin-top:9px;
  font-size:10.5px;color:var(--tx3);font-family:var(--mono,monospace)}
.pc-meta b{color:var(--ac2);font-weight:600}
.pc-lock{font-size:10.5px;color:#e6b446;margin-top:7px;line-height:1.5}

/* ---------------- 真实玩法模拟 ---------------- */
.pl-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:9px;margin-bottom:12px}
.pl-tbl{width:100%;border-collapse:collapse;font-size:12px}
.pl-tbl th{text-align:left;padding:6px 8px;border-bottom:1px solid var(--line);
  color:var(--tx3);font-size:10.5px;font-weight:600;white-space:nowrap}
.pl-tbl td{padding:7px 8px;border-bottom:1px solid var(--line);white-space:nowrap}
.pl-tbl td.n{text-align:right;font-family:var(--mono,monospace)}
.pl-bust{color:#ff7a7a}
.pl-rich{color:#5fd39a}
.pl-curve{height:120px;border:1px solid var(--line);border-radius:calc(var(--r) - 3px);
  background:var(--bg);padding:6px;margin-bottom:11px}
.pl-curve svg{width:100%;height:100%;display:block}
.pl-lg{display:flex;gap:12px;flex-wrap:wrap;font-size:10.5px;color:var(--tx3);margin-bottom:10px}
.pl-lg i{display:inline-block;width:10px;height:3px;border-radius:2px;margin-right:4px;vertical-align:middle}

/* ---------------- 断点 ---------------- */
@media(max-width:900px){
  .vf-src{grid-template-columns:1fr}
  .pl-grid{grid-template-columns:repeat(2,1fr)}
}
@media(max-width:640px){
  .vf-box{padding:10px}
  .vf-tbl{font-size:11px}
  .vf-tbl th,.vf-tbl td{padding:5px 6px}
  .pc-grid{grid-template-columns:1fr}
  .pl-grid{grid-template-columns:1fr}
}
