/* FWorld Terminal — 深色金融终端主题(设计稿 §2 tokens · 零外部资源)。
   三端:≥1100 三栏(树/网格/抽屉),720–1099 两栏 + 底部抽屉,<720 单列。 */
:root{
  --bg:#0F172A; --panel:#0B1220; --panel2:#131C30; --panel3:#0d1526;
  --line:#1E2A44; --line2:#28374f;
  --ink:#E6EDF7; --mut:#8A99B4; --faint:#55637E;
  --pos:#00C853; --posd:#0a2a18; --neg:#FF3D00; --negd:#2a0f08;
  --warn:#FFB300; --gold:#E8C766; --cy:#38BDF8;
  --mono:ui-monospace,'SF Mono',Menlo,Consolas,monospace;
  --sans:system-ui,-apple-system,'Segoe UI',Roboto,'Noto Sans SC',sans-serif;
}
*{box-sizing:border-box;margin:0;padding:0}
html{background:var(--bg);overflow-x:clip}
body{background:var(--bg);color:var(--ink);font-family:var(--mono);
  font-variant-numeric:tabular-nums;font-size:13px;line-height:1.55;
  min-height:100vh;min-height:100dvh;overflow-x:clip;-webkit-font-smoothing:antialiased}
a{color:var(--cy);text-decoration:none}
a:hover{text-decoration:underline}
button{font:inherit;color:inherit;background:none;border:none;cursor:pointer}
input,select{font:inherit;color:var(--ink);background:var(--panel2);
  border:1px solid var(--line2);border-radius:6px;padding:2px 7px}
input:focus,select:focus,button:focus-visible{outline:1px solid var(--cy);outline-offset:1px}
kbd{font-size:10px;border:1px solid var(--line2);border-bottom-width:2px;border-radius:4px;
  padding:0 4px;color:var(--faint);background:var(--panel2)}
.pos{color:var(--pos)}.neg{color:var(--neg)}.warn{color:var(--warn)}
.gold{color:var(--gold)}.cy{color:var(--cy)}.faint{color:var(--faint)}
.hint{color:var(--faint);font-size:12px;padding:10px;text-align:center}

/* ---- 顶栏(sticky) ---- */
.topbar{position:sticky;top:0;z-index:50;display:flex;align-items:center;gap:12px;
  padding:8px 14px;background:var(--panel);border-bottom:1px solid var(--line);
  font-size:12px;flex-wrap:wrap}
.brand{font-weight:800;color:var(--ink);letter-spacing:.02em;white-space:nowrap}
.brand .q{color:var(--gold)}
.brand:hover{text-decoration:none}
.live{color:var(--pos);display:flex;align-items:center;gap:6px;white-space:nowrap}
.live .dot{width:7px;height:7px;border-radius:50%;background:var(--pos);
  box-shadow:0 0 8px var(--pos);animation:pulse 2s ease-in-out infinite}
.live.bad{color:var(--neg)}
.live.bad .dot{background:var(--neg);box-shadow:0 0 8px var(--neg);animation:none}
@keyframes pulse{0%,100%{opacity:1}50%{opacity:.35}}
.seg{color:var(--mut);border:1px solid var(--line2);border-radius:5px;padding:2px 8px;
  display:inline-flex;align-items:center;gap:5px;white-space:nowrap}
.seg b{color:var(--ink)}
.seg select{border:none;background:transparent;color:var(--ink);padding:0;font-weight:700}
.agestamp{color:var(--faint);white-space:nowrap}
.auth{margin-left:auto;white-space:nowrap}
.clock{color:var(--mut);white-space:nowrap}
.multi-target{background:var(--panel3,#101827);border:1px solid var(--line2);border-radius:6px;
  padding:9px 10px;color:var(--ink);font-weight:700;font-size:13px;flex:1 1 auto;min-width:0;
  overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
/* 分析 tab 内嵌场选择器(DIST/ARB/SIM/MEM):选场直接刷新当前 tab,不弹定价抽屉 */
.mpick-bar{display:flex;align-items:center;gap:8px;margin-bottom:10px;padding:8px 10px;
  background:var(--panel);border:1px solid var(--line2);border-radius:8px}
.mpick-bar[hidden]{display:none}
.mpick-lab{color:var(--faint);font-size:10.5px;letter-spacing:.06em;white-space:nowrap}
.mpick-sel{flex:1 1 auto;min-width:0;background:var(--panel3,#101827);color:var(--ink);
  border:1px solid var(--line2);border-radius:6px;padding:9px 10px;font:inherit;font-size:13px;cursor:pointer}
/* 微观结构三件套(A 组):数据表通用样式(EFF/LEAD/MEM;横向滚动自容器,不溢出页面) */
.tbl-wrap{overflow-x:auto;margin-top:8px}
.datatbl{width:100%;border-collapse:collapse;font-size:12px;font-variant-numeric:tabular-nums}
.datatbl th{color:var(--mut);text-align:left;padding:4px 8px;border-bottom:1px solid var(--line,#1E2A44);white-space:nowrap;cursor:default}
.datatbl td{padding:4px 8px;border-bottom:1px solid var(--lined,#141d33);white-space:nowrap}
.datatbl tbody tr:hover{background:var(--rowh,rgba(140,180,255,.05))}
.live{color:var(--pos,#2e7d32);font-size:9px;cursor:default}
.plat-seg{display:flex;gap:4px;padding:2px 0}
.plat-btn{flex:1;padding:7px 0;background:var(--panel);border:1px solid var(--line2);color:var(--mut);
  border-radius:6px;font:inherit;font-size:12px;cursor:pointer;min-height:36px}
.plat-btn.active{border-color:var(--gold);color:var(--gold);background:var(--panel3,#101827)}
.live.off{color:var(--faint)}

/* ---- 陈旧硬阻断:横幅 + 整页遮罩 + 数字置灰 ---- */
.stale-banner{position:sticky;top:0;z-index:51;background:var(--neg);color:#fff;
  font-weight:800;font-size:13px;text-align:center;padding:8px 14px;letter-spacing:.04em}
body.stale .datazone,body.stale .side,body.stale .drawer{
  filter:grayscale(1) brightness(.65);pointer-events:auto}
body.stale .layout::after{content:'';position:fixed;inset:0;z-index:20;
  background:rgba(15,23,42,.45);pointer-events:none}

/* ---- 三栏布局 ---- */
.layout{display:grid;grid-template-columns:210px minmax(0,1fr) 300px;
  gap:0;align-items:start;min-height:calc(100dvh - 42px)}
.side{border-right:1px solid var(--line);background:var(--panel3);
  padding:12px 10px;position:sticky;top:42px;max-height:calc(100dvh - 42px);overflow-y:auto;
  display:flex;flex-direction:column}
/* 左栏防淹没:LEAGUES 树占弹性区、内部滚动;其余面板固定 → SIGNAL THRESHOLDS/ARB/BELIEF MOVES 永不被长联赛列表挤到底部之外。
   全部 scope 到 .side(移动端面板搬入底部抽屉时不受影响)。overflow-y:auto 保留为极端短视口的兜底。 */
.side > .panel{flex:0 0 auto}
.side #sec-leagues{flex:0 1 auto;min-height:96px;display:flex;flex-direction:column;overflow:hidden}
.side #sec-leagues > .ph{flex:0 0 auto}
.side #league-tree{flex:1 1 auto;min-height:0;overflow-y:auto}
.side #arb-body,.side #moves-body{max-height:24vh;overflow-y:auto}
.center{min-width:0;padding:12px 14px}
.drawer{border-left:1px solid var(--line);background:var(--panel3);padding:12px;
  position:sticky;top:42px;max-height:calc(100dvh - 42px);overflow-y:auto;font-size:12px}
.drawer-x{display:none;position:absolute;top:8px;right:10px;color:var(--faint);font-size:14px}

/* ---- 左栏面板 ---- */
.panel{margin-bottom:16px}
.ph{color:var(--faint);letter-spacing:.14em;text-transform:uppercase;
  font-size:10.5px;font-weight:600;margin-bottom:8px}
.ph.warn{color:var(--warn)}
.tree{display:flex;flex-direction:column;gap:1px;font-size:12px}
.tree-i{display:flex;align-items:center;gap:8px;padding:4px 6px;border-radius:6px;
  color:var(--mut);cursor:pointer;user-select:none}
.tree-i:hover{background:var(--panel2)}
.tree-i input{accent-color:var(--pos);width:13px;height:13px;flex:0 0 auto}
.tree-i input:checked~span{color:var(--ink)}
.tree-i .ct{margin-left:auto;color:var(--faint);font-size:11px}
.radar-mini{border:1px solid var(--warn);border-radius:8px;padding:10px;
  background:rgba(255,179,0,.06)}
.radar-mini .ph{margin-bottom:4px}
.mini-body .ri{color:var(--mut);font-size:11px;margin-top:7px;display:flex;
  justify-content:space-between;gap:8px;align-items:baseline}
.mini-body .ri>span{flex:1 1 auto;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.mini-body .ri b{font-weight:700;white-space:nowrap;flex:0 0 auto}
/* BELIEF MOVES 两行卡片:队名完整(可换行)/ 盘口·变轨徽章第二行 —— 窄栏不裁信息 */
.mini-body .mv-row{margin-top:9px;padding-bottom:8px;border-bottom:1px solid var(--lined,#141d33)}
.mini-body .mv-row:last-child{border-bottom:none}
.mv-who{font-size:11.5px;color:var(--ink);line-height:1.35;word-break:break-word}
.mv-meta{display:flex;justify-content:space-between;align-items:baseline;gap:8px;
  margin-top:3px;font-size:11px;color:var(--mut)}
.mv-mkt{color:var(--faint);white-space:nowrap}
.mv-meta b{font-weight:700;white-space:nowrap;flex:0 0 auto}
.mini-body .hint{padding:6px 0;text-align:left}

/* ---- 三件武器 tab ---- */
.wtabs{display:flex;gap:6px;margin-bottom:10px;flex-wrap:wrap}
.wtab{font-size:11.5px;letter-spacing:.08em;color:var(--mut);border:1px solid var(--line2);
  border-radius:6px;padding:5px 12px;background:var(--panel)}
.wtab.active{color:var(--gold);border-color:var(--gold);background:rgba(232,199,102,.07)}
/* 工作区头吸顶:tab 条 + 选场条打包吸顶(top=顶栏 42px 之下),深看内容时切 tab/选场始终可达 */
.wshead{position:sticky;top:42px;z-index:44;background:var(--bg);
  margin:0 -14px;padding:8px 14px 0;border-bottom:1px solid var(--line)}
.wpanel{border:1px solid var(--line2);border-radius:12px;background:var(--panel);
  padding:14px;margin-bottom:14px;scroll-margin-top:100px}

/* 武器① 基准墙 */
.wall-h{font-size:11px;letter-spacing:.2em;text-transform:uppercase;color:var(--faint);
  display:flex;justify-content:space-between;flex-wrap:wrap;gap:8px}
.wstats{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:10px;margin-top:12px}
.wstat{border:1px solid var(--line);border-radius:10px;padding:10px 12px;background:var(--panel2)}
.wstat .k{font-size:10.5px;color:var(--faint);letter-spacing:.08em}
.wstat .v{font-size:22px;font-weight:800;margin-top:4px}
.wstat .s{font-size:10.5px;color:var(--mut);margin-top:2px}
.wall-q{margin-top:12px;font-size:12px;color:var(--mut);border-left:2px solid var(--gold);
  padding-left:12px;font-family:var(--sans)}

/* 武器② 雷达表 / 武器③ 沙盒 */
.wtable-wrap{overflow-x:auto}
.badge-a{color:var(--warn);font-size:10px;border:1px solid var(--warn);border-radius:4px;padding:1px 5px;white-space:nowrap}
.badge-a.neg{color:var(--neg);border-color:var(--neg)}
.fchips{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:12px}
.fchip{font-size:11.5px;border:1px dashed var(--line2);border-radius:6px;
  padding:4px 10px;color:var(--mut)}
.fchip.on{border-style:solid;border-color:var(--pos);color:var(--pos);background:var(--posd)}
.resbar{display:flex;gap:14px;flex-wrap:wrap;align-items:center;font-size:12px;
  border:1px solid var(--line);border-radius:8px;padding:8px 12px;background:var(--panel2);
  margin-bottom:10px}
.resbar b{font-size:14px}
.gbadge{font-size:10px;border:1px solid var(--warn);color:var(--warn);border-radius:4px;padding:1px 6px}
.gbadge.ok{border-color:var(--pos);color:var(--pos)}
.underpow{color:var(--neg);font-size:12px;margin-bottom:10px}
.curve{border:1px solid var(--line);border-radius:8px;background:var(--panel3);padding:8px}
.curve canvas{display:block;width:100%;height:150px}

/* 锁定卡(转化漏斗)/ 占位 */
.lockcard{text-align:center;padding:22px 14px}
.lockcard .lk-t{font-size:14px;font-weight:700;margin-bottom:6px}
.lockcard .lk-s{color:var(--mut);font-size:12px;margin-bottom:14px}
.btn-up{display:inline-block;background:linear-gradient(135deg,var(--gold),#c9a44a);
  color:#1a1408;font-weight:800;border-radius:7px;padding:7px 18px;letter-spacing:.06em}
.btn-up:hover{text-decoration:none;filter:brightness(1.08)}
.awaiting{text-align:center;color:var(--faint);font-size:12px;letter-spacing:.08em;padding:22px 10px}
.err-box{text-align:center;color:var(--neg);font-size:12px;padding:16px 10px}

/* ---- 网格工具栏 ---- */
.toolbar{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-bottom:8px;font-size:11.5px}
.tb-lab{color:var(--faint);letter-spacing:.14em}
.tb-btn{color:var(--mut);border:1px solid var(--line2);border-radius:6px;padding:3px 10px;
  background:var(--panel);white-space:nowrap}
.tb-btn:hover{color:var(--ink)}
.tb-btn.active{color:var(--cy);border-color:var(--cy)}
.toolbar #q{flex:1;min-width:140px;max-width:280px}
.tb-count{margin-left:auto;color:var(--faint);white-space:nowrap}

/* ---- 数据网格 ---- */
.grid-wrap{overflow-x:auto;border:1px solid var(--line);border-radius:10px;background:var(--panel)}
.dg{width:100%;border-collapse:collapse;font-size:12.5px;min-width:680px}
.dg thead th{background:var(--panel);text-align:left;padding:8px 11px;
  border-bottom:1px solid var(--line2);color:var(--mut);font-weight:600;font-size:11px;
  letter-spacing:.04em;white-space:nowrap;position:sticky;top:0}
.dg thead th.pri{color:var(--gold);font-weight:700}
.dg tbody td{padding:7px 11px;border-bottom:1px solid var(--line);white-space:nowrap;vertical-align:middle}
.dg tbody tr{cursor:pointer}
.dg tbody tr:hover{background:rgba(56,189,248,.04)}
.dg tbody tr.sel{background:rgba(56,189,248,.07);box-shadow:inset 2px 0 0 var(--cy)}
/* 长表表头冻结(宽桌面 ≥1200px:中栏够宽,表本就不需横滚 → overflow-x:clip 解开纵向 sticky 陷阱,
   不裁切任何内容;更窄宽度保持 overflow-x:auto 横滚,不回归)。表头 sticky 到吸顶 tab 条之下。 */
@media(min-width:1200px){
  .grid-wrap,.wtable-wrap,.tbl-wrap{overflow-x:clip;overflow-y:visible}
  .dg thead th,.datatbl thead th{position:sticky;top:var(--gridtop,128px);z-index:6;background:var(--panel)}
  .datatbl thead th{background:var(--panel)}
}
.mtch .tm{font-weight:700;color:var(--ink);white-space:normal;word-break:break-word;line-height:1.3}
/* MATCH 列队名完整显示:超长自然换行,不缩写(覆盖全局 .tm ellipsis) */
.mtch .tm .th,.mtch .tm .ta{white-space:normal;overflow:visible;text-overflow:clip;max-width:none;flex:0 1 auto;min-width:0}
.mtch .tm .vd{color:var(--faint);margin:0 3px}
.mtch .tt{color:var(--faint);font-size:11px}
.pick{font-weight:700}
.cell-sub{color:var(--faint);font-size:11px}
.cell-dv{font-family:var(--mono);font-size:9px;color:var(--mut);margin-inline-start:4px;letter-spacing:.02em;vertical-align:1px}
.more-wrap{text-align:center;margin:12px 0}
.err-row{color:var(--neg);text-align:center;padding:14px}

/* ---- 右抽屉:凯利 + 底参 ---- */
.draw-h{font-size:12.5px;font-weight:700;color:var(--ink);margin-bottom:2px}
.draw-sub{color:var(--faint);font-size:11px;margin-bottom:12px}
.kelly,.param{border:1px solid var(--line);border-radius:9px;padding:11px;background:var(--panel)}
.param{margin-top:14px}
.kr,.pr{display:flex;justify-content:space-between;align-items:center;gap:8px;
  padding:5px 0;border-top:1px solid var(--line);color:var(--mut)}
.kr:first-child,.pr:first-child{border-top:none}
.kr .kv{color:var(--pos);font-weight:700}
.kr .kv.dim{color:var(--mut);font-weight:400}
.kr .noedge{color:var(--faint)}
.pr b{color:var(--ink)}
#bankroll{width:96px;text-align:right;color:var(--pos)}
.cdown{color:var(--warn);font-weight:700}

/* ---- L1.5 诚实口径:三灯 / ABSTAIN 徽章 / 诊断折叠区 / conformal 预测集 ---- */
.ldot{display:inline-block;width:8px;height:8px;border-radius:50%;margin-left:6px;
  vertical-align:middle;cursor:pointer}
.ldot.red{background:var(--neg);box-shadow:0 0 4px var(--neg)}
.ldot.yellow{background:var(--warn);box-shadow:0 0 4px var(--warn)}
.ldot.green{background:var(--pos);box-shadow:0 0 4px var(--pos)}
.ldot:focus-visible{outline:1px solid var(--cy);outline-offset:2px}
.abst{display:inline-block;font-size:10px;border:1px solid var(--faint);color:var(--faint);
  border-radius:4px;padding:0 5px;margin-left:6px;white-space:nowrap;cursor:help}
.abst.cert{border-color:var(--gold);color:var(--gold);background:rgba(232,199,102,.08)}
/* 诚实门:弃权是常态(~99%)→ 顶部一句动态声明 + 弃权格整体降调,不逐格挂牙签;稀有「表态」高亮 */
.abstain-note{margin:6px 0 8px;padding:7px 12px;border:1px solid var(--line2);border-left:3px solid var(--gold);
  border-radius:7px;background:rgba(232,199,102,.06);color:var(--mut);font-size:11.5px;line-height:1.5}
.dg td.abst-cell{opacity:.5}                       /* 弃权格降调,不夺注意力 */

/* — REVIEW 结算回放(2026-08-14):✓/✗ 是事后结算事实(与 CLV 正负同性质,非事前建议) — */
.cell-hit{display:inline-block;font-weight:700;font-size:12px;margin-left:5px;cursor:help}
.cell-hit.pos{color:var(--pos)}.cell-hit.neg{color:var(--neg)}
.abst-cell .cell-hit{opacity:.75}                  /* 弃权格的标注随格整体降调即可,略提对比保可读 */
.ft-score{color:var(--ink);font-weight:600}
.review-note{margin:6px 0 8px;padding:8px 12px;border:1px solid var(--line2);border-left:3px solid var(--cy);
  border-radius:7px;background:rgba(56,189,248,.05);font-size:11.5px;line-height:1.6}
[dir="rtl"] .review-note{border-left:1px solid var(--line2);border-right:3px solid var(--cy)}
.review-note .rv-line1{color:var(--mut)}
.review-note .rv-line1 b{color:var(--cy);letter-spacing:.06em}
.review-note .rv-line2{color:var(--ink);margin-top:2px;font-family:var(--mono);font-size:11px}
.rv-toggle{background:none;border:1px solid var(--line2);border-radius:5px;color:var(--mut);
  font-size:10px;padding:1px 7px;margin-inline-start:8px;cursor:pointer}
.rv-toggle:hover{color:var(--ink);border-color:var(--cy)}
.rv-bym{margin-top:6px;display:flex;flex-wrap:wrap;gap:6px 12px;font-family:var(--mono);font-size:10.5px}
.rv-mk{color:var(--mut);white-space:nowrap}
.rv-mk b{color:var(--ink);font-weight:600}
.rv-mk i{font-style:normal;opacity:.6;margin-inline-start:4px}
.rv-nav{display:inline-flex;align-items:center;gap:5px}
.rv-nav #rv-date{background:var(--panel2);border:1px solid var(--line2);border-radius:6px;color:var(--ink);
  font-family:var(--mono);font-size:11px;padding:3px 6px;color-scheme:dark}
.rv-nav .tb-btn:disabled{opacity:.3;cursor:default}
.rv-today{color:var(--pos);border-color:var(--pos)}
.toolbar.reviewing #rv-date{border-color:var(--cy);color:var(--cy)}
.dg td.bet-cell{background:rgba(0,200,83,.07)}      /* 稀有表态格轻底色 */
.bet-flag{display:inline-block;font-size:10px;font-weight:700;letter-spacing:.03em;margin-left:6px;
  border:1px solid var(--pos);color:var(--pos);border-radius:4px;padding:0 5px;white-space:nowrap;cursor:help}
.diag{margin-top:14px;border:1px solid var(--line);border-radius:9px;background:var(--panel3);
  padding:8px 11px;font-size:11.5px}
.diag>summary{cursor:pointer;color:var(--faint);letter-spacing:.06em;list-style:none;
  font-size:10.5px;text-transform:uppercase}
.diag>summary::-webkit-details-marker{display:none}
.diag>summary::before{content:'▸ ';color:var(--faint)}
.diag[open]>summary::before{content:'▾ '}
.diag-note{color:var(--faint);font-size:10.5px;line-height:1.5;font-family:var(--sans);
  margin:8px 0;border-left:2px solid var(--warn);padding-left:8px}
.diag-r{border-top:1px solid var(--line);padding:7px 0}
.diag-mk{color:var(--mut);font-weight:700;margin-bottom:3px}
.diag-line{color:var(--faint);font-size:11px;line-height:1.5;margin-top:2px}
.diag-line b{color:var(--mut)}
.diag-line b.diag-ev{color:var(--warn)}
.diag-warn{margin-top:10px;font-size:10.5px}
.diag-warn a{color:var(--gold)}
.cset{margin-top:6px;border:1px dashed var(--line2);border-radius:7px;padding:7px 9px;background:var(--panel2)}
.cset-h{font-size:10.5px;color:var(--mut);letter-spacing:.04em}
.cset-body{margin-top:4px;font-size:11px;color:var(--ink)}
.cset-size{color:var(--cy);font-weight:700;margin-right:4px}
.cset-labels{color:var(--mut)}
.cset-cov{margin-top:3px;font-size:10.5px;color:var(--faint)}
.cset-doubt{margin-top:4px;font-size:10.5px;color:var(--warn)}

/* ---- Pad(720–1099):两栏,抽屉变底部上滑 ---- */
@media (max-width:1099px){
  .layout{grid-template-columns:190px minmax(0,1fr)}
  .drawer{position:fixed;left:0;right:0;bottom:0;top:auto;z-index:60;max-height:74vh;
    overflow-y:auto;border:1px solid var(--line2);border-bottom:none;
    border-radius:14px 14px 0 0;box-shadow:0 -24px 60px -20px #000;
    transform:translateY(105%);transition:transform .25s ease}
  .drawer.open{transform:translateY(0)}
  .drawer-x{display:block}
  #backdrop{position:fixed;inset:0;z-index:55;background:rgba(0,0,0,.55)}
}
/* ---- Mobile(<720):单列;左栏面板压扁 ---- */
@media (max-width:719px){
  .layout{grid-template-columns:minmax(0,1fr)}
  .side{position:static;max-height:none;border-right:none;border-bottom:1px solid var(--line);
    display:grid;grid-template-columns:1fr 1fr;gap:0 14px;padding:10px 12px}
  .side .radar-mini{grid-column:1/-1}
  .center{padding:10px}
  .topbar{gap:8px;padding:7px 10px}
  .agestamp{order:9;flex-basis:100%;font-size:11px}
  .dg{min-width:640px}
}
/* ---- 定价面板(右抽屉 PRICER 分区) ---- */
.pricer{border:1px solid var(--line);border-radius:9px;padding:11px;background:var(--panel);margin-top:14px}
.pc-row{display:flex;gap:6px;align-items:center;flex-wrap:wrap;margin-top:8px}
.pc-row select{max-width:110px}
.pc-row input{width:84px;text-align:right}
.pc-out{display:flex;justify-content:space-between;align-items:baseline;gap:8px;margin-top:10px}
.pc-fair{font-size:24px;font-weight:800;color:var(--cy)}
.pc-ev{font-weight:700}
.guard{margin-top:10px;font-size:10.5px;line-height:1.5;color:var(--faint);
  border-left:2px solid var(--warn);padding-left:8px;font-family:var(--sans)}
.lockhint{font-size:12px;color:var(--mut);padding:8px 0}
.lg-quick{display:block;width:100%;margin-top:12px;text-align:center;color:var(--gold);border-color:var(--gold)}

/* ---- LEDGER 账本 ---- */
.lg-form{display:flex;gap:8px;flex-wrap:wrap;align-items:center;border:1px solid var(--line);
  border-radius:8px;padding:10px 12px;background:var(--panel2);margin:12px 0}
.lg-form input{width:92px}
#lg-mk{width:190px}
#lg-line{width:70px}
.lg-msg{font-size:11.5px}
.lg-msg a{color:var(--gold)}
.verdict{font-size:10.5px;font-weight:700;margin-top:4px;letter-spacing:.04em}
.clvcell .clv-m{display:inline-block;font-size:10.5px;color:var(--mut);margin-right:8px}
.lg-del{color:var(--faint);font-size:12px;padding:2px 6px;border-radius:5px}
.lg-del:hover{color:var(--neg);background:var(--negd)}
.lg-del:disabled{opacity:.4;cursor:default}

/* ---- TAPE 市场磁带 ---- */
.tape-tools{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin-bottom:10px}
.tape-chart{border:1px solid var(--line);border-radius:8px;background:var(--panel3);padding:8px;position:relative;cursor:crosshair}
.tape-chart:focus{outline:1px solid var(--line2);outline-offset:-1px}
.tape-chart canvas{display:block;width:100%;height:300px}
#tape-cursor{position:absolute;pointer-events:none;width:auto;height:auto}
#tape-tip{position:absolute;z-index:6;display:none;pointer-events:none;min-width:132px;max-width:230px;
  background:rgba(11,18,32,.97);border:1px solid var(--line2);border-radius:8px;padding:7px 9px;
  font-family:var(--mono);box-shadow:0 8px 22px rgba(0,0,0,.55)}
#tape-tip .tt-h{color:var(--mut);font-size:10px;letter-spacing:.05em;margin-bottom:5px}
#tape-tip .tt-g{display:flex;flex-direction:column;gap:1px;max-height:172px;overflow:auto}
#tape-tip .tt-row{display:flex;justify-content:space-between;gap:16px;font-size:11px;color:var(--mut)}
#tape-tip .tt-row .tt-v{color:var(--ink);font-variant-numeric:tabular-nums}
#tape-tip .tt-row.pin .tt-c,#tape-tip .tt-row.pin .tt-v{color:var(--gold)}
#tape-tip .tt-row.near .tt-c,#tape-tip .tt-row.near .tt-v{color:var(--cy);font-weight:700}
tr.trow-flash{animation:trowflash 1.5s ease}
@keyframes trowflash{0%,25%{background:rgba(56,189,248,.22)}100%{background:transparent}}
@media(prefers-reduced-motion:reduce){tr.trow-flash{animation:none;background:rgba(56,189,248,.16)}}
.tape-legend{font-size:10.5px;color:var(--mut);margin-top:6px}
.tape-note{margin-top:10px;font-size:10.5px;color:var(--faint);font-family:var(--sans);
  border-left:2px solid var(--line2);padding-left:8px}
.spacer{margin-inline-start:auto}

/* ---- 功能① CLV 归因子区(LEDGER 内) ---- */
.lg-attr{margin-top:18px;border-top:1px solid var(--line);padding-top:14px}
.attr-title{font-size:12px;color:var(--mut);font-family:var(--sans);border-left:2px solid var(--gold);
  padding-left:12px;margin:6px 0 12px}
.attr-ruler{display:flex;gap:6px;align-items:center;flex-wrap:wrap;margin:0 0 12px}
.attr-note{font-size:10.5px;color:var(--faint);font-family:var(--sans);margin-top:8px}
/* CLV μ 迷你条形:居中零点(中线),正绿右伸 / 负红左伸 */
.clvbar{position:relative;display:inline-block;width:84px;height:12px;background:var(--panel3);
  border-radius:3px;vertical-align:middle}
.clvbar::before{content:'';position:absolute;left:50%;top:0;bottom:0;width:1px;background:var(--line2)}
.clvbar i{position:absolute;top:2px;height:8px;border-radius:2px}
.clvbar i.pos{left:50%;background:var(--pos)}
.clvbar i.neg{right:50%;background:var(--neg)}

/* ---- 功能② 跨场离散度热力图 ---- */
.disp-honest{border:1px solid var(--warn);background:rgba(255,179,0,.06);border-radius:8px;
  padding:10px 12px;font-size:11.5px;line-height:1.5;color:var(--mut);font-family:var(--sans);margin-bottom:12px}
.disp-honest b{color:var(--warn);font-weight:700}
.disp-heat{display:flex;flex-wrap:wrap;gap:3px;margin-top:10px}
.disp-cell{width:22px;height:22px;border-radius:3px;cursor:default}
.disp-legend{display:flex;align-items:center;gap:8px;flex-wrap:wrap;
  font-size:10.5px;color:var(--faint);margin:10px 0 4px}
.disp-grad{display:inline-block;width:120px;height:10px;border-radius:3px;flex:0 0 auto}
.disp-sw{display:inline-block;width:10px;height:10px;border-radius:2px;margin-right:6px;vertical-align:middle}
.disp-lowbooks{color:var(--faint);font-size:10px;border:1px solid var(--line2);border-radius:4px;
  padding:0 4px;margin-left:6px;white-space:nowrap}

/* ---- RTL(ar):金融数据面(数字表/canvas/等宽面板)强制 LTR,文本区跟随 rtl ----
   布局镜像交给 grid/flex 的 direction 自动翻转;数据表保持 LTR 是金融终端标准做法。 */
[dir="rtl"] .grid-wrap,[dir="rtl"] .dg,[dir="rtl"] .wtable-wrap,
[dir="rtl"] .curve,[dir="rtl"] .tape-chart,[dir="rtl"] .kelly,[dir="rtl"] .param,
[dir="rtl"] .pricer .pc-row,[dir="rtl"] .pc-out,[dir="rtl"] .resbar,
[dir="rtl"] .clock,[dir="rtl"] .agestamp,[dir="rtl"] .cdown{direction:ltr}
[dir="rtl"] .wall-q{border-left:none;border-right:2px solid var(--gold);padding-left:0;padding-right:12px}
[dir="rtl"] .guard{border-left:none;border-right:2px solid var(--warn);padding-left:0;padding-right:8px}
[dir="rtl"] .abstain-note{border-left:1px solid var(--line2);border-right:3px solid var(--gold)}
[dir="rtl"] .tape-note{border-left:none;border-right:2px solid var(--line2);padding-left:0;padding-right:8px}
[dir="rtl"] .diag-note{border-left:none;border-right:2px solid var(--warn);padding-left:0;padding-right:8px}
[dir="rtl"] .ldot,[dir="rtl"] .abst{margin-left:0;margin-right:6px}
[dir="rtl"] .attr-title{border-left:none;border-right:2px solid var(--gold);padding-left:0;padding-right:12px}
[dir="rtl"] .lg-attr .wtable-wrap,[dir="rtl"] .disp-heat{direction:ltr}
[dir="rtl"] .auth,[dir="rtl"] .tb-count,[dir="rtl"] .tree-i .ct{margin-left:0;margin-right:auto}
[dir="rtl"] .dg tbody tr.sel{box-shadow:inset -2px 0 0 var(--cy)}
[dir="rtl"] .side{border-right:none;border-left:1px solid var(--line)}
[dir="rtl"] .drawer{border-left:none;border-right:1px solid var(--line)}

/* ---- 组件① 分布面板 distPanel(DIST tab) ---- */
.dist-cols{display:flex;gap:14px;flex-wrap:wrap;margin-top:12px}
.dist-cols .dist-col{flex:1 1 320px;min-width:0}
.dist-cols.one .dist-col{flex:1 1 100%}
.dist-col-h{font-size:12px;font-weight:800;color:var(--gold);letter-spacing:.1em;
  border-bottom:1px solid var(--line2);padding-bottom:5px;margin-bottom:8px}
.dist-mk{margin-bottom:12px}
.dist-mk-h{font-size:10.5px;letter-spacing:.1em;text-transform:uppercase;color:var(--mut);margin-bottom:5px}
.dist-row{display:flex;align-items:center;gap:8px;padding:3px 0;font-size:12px}
.dist-row.is-stack{background:rgba(232,199,102,.07);border:1px solid var(--gold);
  border-radius:6px;padding:3px 6px;margin:1px 0}
.dist-rank{color:var(--faint);width:16px;text-align:right;flex:0 0 auto}
.dist-out{color:var(--ink);min-width:52px;flex:0 0 auto}
.dist-barwrap{flex:1 1 auto;height:9px;background:var(--panel3);border-radius:5px;
  overflow:hidden;min-width:40px;direction:ltr}
.dist-bar{display:block;height:100%;background:linear-gradient(90deg,var(--cy),#1d6fa5);
  border-radius:5px;transition:width .2s ease}
.dist-row.is-stack .dist-bar{background:linear-gradient(90deg,var(--gold),#a9863a)}
.dist-p{color:var(--mut);width:52px;text-align:right;flex:0 0 auto}
.dist-fair{color:var(--faint);flex:0 0 auto}
.dist-quoted{color:var(--cy);flex:0 0 auto}
.dist-trend{font-size:11px;flex:0 0 auto;white-space:nowrap}
.dist-stack{font-size:10.5px;color:var(--gold);margin-top:3px}
.dist-matrix{margin:6px 0 10px;overflow-x:auto}
.dist-matrix canvas{display:block}

/* ---- 组件② 套利控制台 arbConsole(ARB tab + 分布面板内单场) ---- */
.arb-tabs{display:flex;gap:6px;flex-wrap:wrap;margin:12px 0}
.arb-list{display:flex;flex-direction:column;gap:10px}
.arb-block{margin-top:16px}
.arb-sub{margin-top:8px}
.arb-sub-h{font-size:10.5px;letter-spacing:.08em;text-transform:uppercase;color:var(--faint);margin:6px 0 4px}
.arb-card{border:1px solid var(--line2);border-radius:9px;background:var(--panel2);padding:10px 12px}
.arb-card.div{border-style:dashed}
.arb-who .tm{font-weight:700;color:var(--ink);display:flex;min-width:0;overflow:hidden;white-space:nowrap;align-items:baseline}
.arb-mkt{font-weight:700;color:var(--gold);font-size:12px;margin:4px 0 6px}
.arb-legs{display:flex;flex-direction:column;gap:3px}
.arb-leg{display:flex;gap:10px;align-items:center;font-size:12px}
.arb-src{color:var(--cy);font-weight:700;min-width:42px}
.arb-oc{color:var(--ink);flex:1 1 auto}
.arb-odds{color:var(--mut);font-weight:700}
.arb-stakes{font-size:11px;color:var(--mut);margin-top:6px}
.arb-stake{display:inline-block;border:1px solid var(--line2);border-radius:4px;padding:0 5px;margin:0 4px 3px 0}
.arb-stats{display:flex;gap:14px;flex-wrap:wrap;font-size:12px;margin-top:8px}
.arb-stats b{font-size:13px}
/* 分歧读数:中性口径(符号仅表方向,不用颜色暗示好坏)+ materiality 门标签 */
.arb-stats b.divneutral{color:var(--ink);font-variant-numeric:tabular-nums}
.div-tag{font-size:10px;font-family:var(--mono);letter-spacing:.06em;padding:1px 6px;border-radius:4px;border:1px solid var(--line2);margin-inline-start:2px}
.div-tag.mat{color:var(--ink);border-color:var(--mut)}
.div-tag.noise{color:var(--faint)}
.arb-guard{margin-top:8px;font-size:10px;line-height:1.5;color:var(--faint);
  border-left:2px solid var(--line2);padding-left:8px;font-family:var(--sans)}
.arb-guard.warn{border-left-color:var(--warn)}
.arb-drift{margin-top:6px;font-family:var(--mono);font-size:11px;display:flex;align-items:center;gap:6px}
.arb-drift.confirm{color:var(--cy)}
.arb-drift.against{color:var(--warn)}
.arb-divrow{display:flex;align-items:center;gap:8px;font-size:11.5px;margin-top:4px}
.arb-divlab{width:96px;color:var(--mut);flex:0 0 auto}
.arb-divbar{flex:1 1 auto;height:8px;background:var(--panel3);border-radius:4px;overflow:hidden;direction:ltr}
.arb-divbar i{display:block;height:100%}
.arb-divbar i.cy{background:var(--cy)}
.arb-divbar i.gold{background:var(--gold)}
.arb-divval{width:52px;text-align:right;color:var(--mut);flex:0 0 auto}

/* ---- 组件③ 多注结构器 multiBuilder(MULTI tab) ---- */
.multi-legs{display:flex;flex-direction:column;gap:6px;margin:12px 0}
.multi-leg{display:flex;align-items:center;gap:10px;border:1px solid var(--line);
  border-radius:7px;padding:6px 10px;background:var(--panel2);font-size:12px}
.multi-leg .tm{font-weight:700;color:var(--ink);flex:1 1 auto}
.multi-del{color:var(--faint);margin-left:auto;padding:2px 6px;border-radius:5px}
.multi-del:hover{color:var(--neg);background:var(--negd)}
.multi-compute{display:block;width:100%;margin-top:6px;text-align:center;color:var(--gold);border-color:var(--gold)}
.multi-result{margin-top:14px}
.multi-group{border:1px solid var(--line2);border-radius:9px;background:var(--panel2);padding:10px 12px;margin-bottom:10px}
.multi-group.inexact{border-color:var(--warn)}
.multi-group-h{font-weight:700;color:var(--ink);margin-bottom:6px}
.multi-gl{display:flex;justify-content:space-between;gap:10px;font-size:11.5px;color:var(--mut);padding:2px 0}
.multi-cmp{display:flex;gap:16px;flex-wrap:wrap;margin-top:8px;font-size:12px}
.multi-cmp b{font-size:14px}
.multi-note{margin-top:6px;font-size:10.5px;color:var(--warn)}
.multi-combined{display:flex;gap:16px;flex-wrap:wrap;border:1px solid var(--line);border-radius:8px;
  background:var(--panel);padding:9px 12px;font-size:12px;margin-top:6px}
.multi-combined b{font-size:14px}
.multi-ev b{color:var(--warn)}
.multi-flags{margin-top:8px;display:flex;gap:8px;flex-wrap:wrap}
.multi-flag{font-size:10.5px;border-radius:4px;padding:1px 6px;border:1px solid currentColor}

/* ---- 组件④ 相似回溯 SIM(SIM tab) ---- */
.sim-corpus{margin-top:8px;padding-top:7px;border-top:1px dashed var(--line2);
  color:var(--faint);font-size:10.5px}
.sim-floor{margin:0 0 12px;font-size:11px;color:var(--warn);border:1px dashed var(--warn);
  border-radius:7px;padding:6px 10px;font-family:var(--sans)}
.sim-plats{display:flex;gap:14px;flex-wrap:wrap;margin-top:12px}
.sim-plat{flex:1 1 320px;min-width:0;border:1px solid var(--line);border-radius:9px;
  background:var(--panel2);padding:10px 12px}
.sim-st-row{display:flex;align-items:center;gap:8px;padding:4px 0;font-size:12px;flex-wrap:wrap}
.sim-st-mk{width:46px;color:var(--mut);font-weight:700;flex:0 0 auto}
.sim-ciwrap{position:relative;flex:1 1 auto;height:10px;background:var(--panel3);
  border-radius:5px;min-width:70px;direction:ltr;cursor:help}
.sim-ci{position:absolute;top:2px;height:6px;background:rgba(56,189,248,.30);border-radius:3px}
.sim-mark{position:absolute;top:0;bottom:0;width:2px;border-radius:1px}
.sim-mark.rate{background:var(--cy)}
.sim-mark.tgt{background:var(--gold)}
.sim-st-num{min-width:82px;text-align:right;color:var(--ink);flex:0 0 auto;font-size:11.5px}
.sim-st-tgt{min-width:52px;text-align:right;color:var(--gold);flex:0 0 auto;font-size:11px;cursor:help}
.sim-under{font-size:10px;color:var(--neg);border:1px solid var(--neg);border-radius:4px;
  padding:0 5px;white-space:nowrap}
.sim-st-row.under .sim-ci{background:rgba(255,61,0,.18)}
.sim-legend{font-size:10.5px;color:var(--faint);margin-top:8px;font-family:var(--sans)}
.sim-plat-b{display:inline-block;font-size:10px;font-weight:700;border:1px solid var(--cy);
  color:var(--cy);border-radius:4px;padding:0 5px;white-space:nowrap}
.sim-plat-b.fa{border-color:var(--gold);color:var(--gold)}
.sim-val{font-weight:700;color:var(--cy)}
.sim-barwrap{display:inline-block;width:56px;height:6px;background:var(--panel3);border-radius:3px;
  overflow:hidden;margin-left:6px;vertical-align:middle;direction:ltr}
.sim-bar{display:block;height:100%;background:linear-gradient(90deg,var(--cy),#1d6fa5)}
.sim-set{display:inline-block;border:1px solid var(--line2);border-radius:4px;padding:0 5px;
  font-size:11px;color:var(--mut);white-space:nowrap}
.sim-set.hit{border-color:var(--pos);color:var(--pos);background:var(--posd)}
.sim-set.miss{opacity:.6}

/* RTL:金融数据面强制 LTR(矩阵/条形/数字行);卫兵句边框镜像 */
[dir="rtl"] .dist-matrix,[dir="rtl"] .dist-barwrap,[dir="rtl"] .arb-divbar,
[dir="rtl"] .arb-legs,[dir="rtl"] .arb-stats,[dir="rtl"] .multi-cmp,[dir="rtl"] .multi-combined{direction:ltr}
[dir="rtl"] .sim-ciwrap,[dir="rtl"] .sim-barwrap,[dir="rtl"] .sim-st-num,
[dir="rtl"] .sim-st-tgt,[dir="rtl"] .sim-val,[dir="rtl"] .sim-corpus{direction:ltr}
[dir="rtl"] .sim-barwrap{margin-left:0;margin-right:6px}
[dir="rtl"] .arb-guard{border-left:none;border-right:2px solid var(--line2);padding-left:0;padding-right:8px}
[dir="rtl"] .arb-guard.warn{border-right-color:var(--warn)}
[dir="rtl"] .multi-del{margin-left:0;margin-right:auto}

@media (prefers-reduced-motion:reduce){
  *{animation:none!important;transition:none!important;scroll-behavior:auto!important}
}

/* ==================== 三端体验修复(Mobile/Pad/PC 审计,2026-07) ====================
   断点沿用 719 / 1099 两级,新增 1600 大屏约束([12] 断点统一,禁私设碎片断点)。
   各段注释标注对应审计项编号。 */

/* [11] 横滚容器视觉可示性:细滚动条(触控惯性 = 现代浏览器默认,无需前缀) */
.grid-wrap,.wtable-wrap,.dist-matrix,.wtabs{scrollbar-width:thin;scrollbar-color:var(--line2) transparent}
.grid-wrap::-webkit-scrollbar,.wtable-wrap::-webkit-scrollbar,
.dist-matrix::-webkit-scrollbar,.wtabs::-webkit-scrollbar{height:6px}
.grid-wrap::-webkit-scrollbar-thumb,.wtable-wrap::-webkit-scrollbar-thumb,
.dist-matrix::-webkit-scrollbar-thumb,.wtabs::-webkit-scrollbar-thumb{
  background:var(--line2);border-radius:3px}
.grid-wrap::-webkit-scrollbar-track,.wtable-wrap::-webkit-scrollbar-track,
.dist-matrix::-webkit-scrollbar-track,.wtabs::-webkit-scrollbar-track{background:transparent}

/* [4] CS 6×6 热力 canvas 防溢出兜底(绘制尺寸已按容器自适应,见 terminal.js drawDistMatrix) */
.dist-matrix canvas{max-width:100%}

/* [10] 网格行 hover / 选中态更清晰(全端) */
.dg tbody tr:hover{background:rgba(56,189,248,.07)}
.dg tbody tr.sel{background:rgba(56,189,248,.12)}

/* [10] PC 大屏(≥1600):加宽侧栏、封顶居中,防 2560px 下内容过散 */
@media (min-width:1600px){
  .layout{grid-template-columns:250px minmax(0,1fr) 340px;max-width:1860px;margin:0 auto;
    border-left:1px solid var(--line);border-right:1px solid var(--line)}
}

/* [5] Pad/Mobile 底部抽屉:关闭按钮触点 ≥40px(backdrop 点击关闭已有) */
@media (max-width:1099px){
  .drawer-x{top:2px;right:2px;padding:10px 14px;font-size:16px;min-width:44px;min-height:44px}
  .drawer{padding-top:18px}
}

/* ---- Mobile(<720) ---- */
@media (max-width:719px){
  /* [1] wtabs 单行横滚:不换行 + 两端渐隐 + tab 触点 ≥40px(RTL 对称,遮罩双向渐隐) */
  .wtabs{flex-wrap:nowrap;overflow-x:auto;padding-bottom:4px;
    -webkit-mask-image:linear-gradient(90deg,transparent,#000 14px,#000 calc(100% - 14px),transparent);
    mask-image:linear-gradient(90deg,transparent,#000 14px,#000 calc(100% - 14px),transparent)}
  .wtab{flex:0 0 auto;min-height:40px;padding:8px 13px}
  /* [2] 数据网格首列 sticky:横滚时保持 MATCH/标识上下文(.grid-wrap/.wtable-wrap 均为强制 LTR,left:0 在 RTL 下同样正确) */
  .grid-wrap .dg thead th:first-child,.wtable-wrap .dg thead th:first-child{
    position:sticky;left:0;z-index:3;background:var(--panel)}
  .grid-wrap .dg tbody td:first-child,.wtable-wrap .dg tbody td:first-child{
    position:sticky;left:0;z-index:2;background:var(--panel)}
  .grid-wrap .dg tbody tr.sel td:first-child,.wtable-wrap .dg tbody tr.sel td:first-child{
    background:#12233b;box-shadow:inset 2px 0 0 var(--cy)}
  .mtch .tm{max-width:none}                  /* 队名完整换行(桌面表格),移动端另走卡片流 */
  /* [2]/[7] 行触点增高(~38px),字号维持 12.5px ≥ 11px 可读线 */
  .dg tbody td{padding:9px 11px}
  /* [6] 顶栏收纳:隐藏静态 REF 徽记与 UTC 时钟(agestamp 数据龄保留,已整行显示) */
  .topbar span.seg,.topbar .clock{display:none}
  /* [7] 触控目标 ≥36px + iOS 聚焦缩放抑制(输入/下拉 font-size ≥16px,仅移动端,不动桌面密度) */
  input:not([type="checkbox"]),select{font-size:16px;min-height:36px}
  .seg select{min-height:32px}
  .tb-btn,.fchip{min-height:36px}
  .lg-del,.multi-del{min-width:36px;min-height:36px}
  .ldot{width:12px;height:12px}
  /* [8] 左栏(联赛树/阈值/ARB/MOVES):保持双列压扁,封顶 40vh 内滚,不吃首屏且全部可达 */
  .side{max-height:40vh;overflow-y:auto;overscroll-behavior:contain}
  /* [3] 面板内边距收紧,给横滚表让宽;DIST 行允许换行,防 overflow-x:clip 静默裁切 */
  .wpanel{padding:12px 10px}
  .dist-row{flex-wrap:wrap}
}
/* P2 延迟演示水印:已结算场真实数据·零行动价值(诚实说明,非恐吓墙) */
.demo-banner{margin:0 0 10px;padding:7px 12px;border:1px dashed var(--warn);border-radius:7px;
  background:rgba(255,179,0,.07);color:var(--warn);font-size:11.5px;letter-spacing:.03em}
[dir="rtl"] .demo-banner{text-align:right}
/* 联赛树 全选/全不选(触点 ≥24px,拇指可点) */
.lg-btn{font-size:11px;border:1px solid var(--line2);border-radius:5px;color:var(--mut);
  padding:3px 9px;min-height:24px;white-space:nowrap;cursor:pointer;background:var(--panel)}
.lg-btn:hover{color:var(--ink);border-color:var(--cy)}
#lg-all{color:var(--gold);border-color:var(--gold)}
#lg-all:hover{background:var(--panel3,#101827)}
/* 主·客双段:各自独立截断(短名保全、长名吃剩余宽)——修复客队名总被省略 */
.tm .th,.tm .ta{min-width:2em;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;flex:1 1 0;max-width:max-content}
.tm .vd{flex:0 0 auto;padding:0 1px;color:var(--faint)}
/* 安全提示条:限制前预警(amber)/ 限制后警告(red)—— 多语,默认英语 */
.sec-note{margin:6px 0 8px;padding:7px 12px;border:1px solid var(--warn);border-left:3px solid var(--warn);
  border-radius:7px;background:rgba(255,179,0,.08);color:var(--warn);font-size:12px}
.sec-note.err{border-color:var(--neg);border-left-color:var(--neg);background:rgba(255,61,0,.08);color:var(--neg)}
[dir="rtl"] .sec-note{border-left:1px solid;border-right:3px solid}

/* ===== Mobile 重构(2026-08-01 批复 P0-P2;≤719px 专属,PC 零回归)===== */
/* 桌面默认:移动件全隐藏 */
.mtools,.dg-cards,.msheet,.msheet-bg{display:none}

@media (max-width:719px){
  /* M1 网格 → 卡片流(宽表让位;逻辑同源,零横滚) */
  .dg{display:none}
  .dg-cards{display:flex;flex-direction:column;gap:8px;padding:2px 0 8px}
  .mcard{border:1px solid var(--line);border-radius:10px;background:var(--panel);
    padding:10px 12px;cursor:pointer;-webkit-tap-highlight-color:transparent}
  .mcard:active{background:var(--panel3,#101827)}
  .mcard.sel{border-color:var(--gold)}
  .mc-top{display:flex;align-items:baseline;gap:8px;min-height:24px}
  .mc-top .tm{display:inline-flex;flex:1;min-width:0;overflow:hidden;white-space:nowrap;
    font-weight:700;font-size:14px}
  .mc-top .tm .th,.mc-top .tm .ta{min-width:2em;overflow:hidden;text-overflow:ellipsis;
    white-space:nowrap;flex:1 1 0;max-width:max-content}
  .mc-ko{color:var(--mut);font-size:12px;white-space:nowrap;font-variant-numeric:tabular-nums}
  .mc-sub{color:var(--faint);font-size:11.5px;margin-top:2px;overflow:hidden;
    text-overflow:ellipsis;white-space:nowrap}
  .mc-row{display:flex;gap:6px;align-items:center;flex-wrap:wrap;margin-top:7px;min-height:22px}
  .mc-bet{border:1px solid var(--gold);color:var(--gold);border-radius:5px;
    padding:2px 7px;font-size:11px;font-weight:700;white-space:nowrap}
  .mc-clv{margin-left:auto;font-size:12px;font-variant-numeric:tabular-nums}
  .mc-quiet{color:var(--faint);font-size:11px}
  /* REVIEW 卡片芯片:逐盘口结算 ✓/✗;弃权格降调 */
  .mc-hit{border:1px solid var(--line2);border-radius:5px;padding:1px 6px;font-size:10.5px;
    font-family:var(--mono);white-space:nowrap;margin:2px 4px 2px 0;display:inline-block}
  .mc-hit.pos{color:var(--pos);border-color:rgba(0,200,83,.4)}
  .mc-hit.neg{color:var(--neg);border-color:rgba(255,61,0,.35)}
  .mc-hit.dim{opacity:.5}
  .mc-ft{color:var(--ink);font-weight:700;font-size:12px;font-variant-numeric:tabular-nums}
  .rv-nav{width:100%;justify-content:center;order:9}
  .rv-nav #rv-date{flex:0 0 auto;min-height:34px}
  .rv-nav .tb-btn{min-height:34px;min-width:40px}   /* 触控目标 ≥34px */

  /* M2 左栏原位隐藏 → 工具行 chips + bottom sheet */
  .side{display:none}
  .mtools{display:flex;gap:8px;margin:2px 0 8px;overflow-x:auto;scrollbar-width:none}
  .mtools::-webkit-scrollbar{display:none}
  .mchip{display:inline-flex;align-items:center;gap:6px;border:1px solid var(--line2);
    background:var(--panel);color:var(--mut);border-radius:999px;padding:9px 14px;
    font:inherit;font-size:12px;white-space:nowrap;min-height:40px}
  .mchip:active{border-color:var(--gold);color:var(--gold)}
  .mbadge{background:var(--gold);color:#111;border-radius:999px;font-size:10px;
    min-width:17px;height:17px;line-height:17px;text-align:center;padding:0 4px;font-style:normal}
  .msheet-bg{display:block;position:fixed;inset:0;z-index:70;background:rgba(0,0,0,.55)}
  .msheet-bg[hidden]{display:none}
  .msheet{display:block;position:fixed;left:0;right:0;bottom:0;z-index:71;max-height:82dvh;
    overflow-y:auto;background:var(--bg,#080b14);border:1px solid var(--line2);border-bottom:none;
    border-radius:16px 16px 0 0;padding:6px 14px 20px;box-shadow:0 -24px 60px -18px #000;
    transform:translateY(0);animation:msheet-in .22s ease}
  .msheet[hidden]{display:none}
  @keyframes msheet-in{from{transform:translateY(60%)}to{transform:translateY(0)}}
  .msheet-grip{width:42px;height:4px;border-radius:2px;background:var(--line2);margin:6px auto 10px}
  .msheet .panel{border:none;padding:4px 0 12px}
  .msheet .tree-i{min-height:42px;display:flex;align-items:center}

  /* M3 tab 栏吸顶 + 横滚 + 端部左右箭头(告知还有更多 tab)。wshead 作吸顶盒(承载 tab 条+选场条+箭头)。 */
  .wshead{position:sticky;top:0;z-index:45;background:var(--bg,#080b14);margin:0 -10px;padding:0 10px}
  .wpanel{scroll-margin-top:104px}                /* 滚到面板时避开 sticky wshead(tab条+选场条)遮挡顶部 */
  .wtabs{display:flex;flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none;gap:2px;padding:6px 0}
  .wtabs::-webkit-scrollbar{display:none}
  .wtab{flex:0 0 auto;min-height:42px}
  /* 端部左右箭头:仅当该方向还能滚(有更多 tab)时显示;JS 按 scrollLeft 切 can-left/can-right */
  .wshead::before,.wshead::after{content:'';position:absolute;top:0;height:54px;width:30px;z-index:2;
    pointer-events:none;display:flex;align-items:center;justify-content:center;
    font-size:19px;line-height:1;color:var(--gold);opacity:0;transition:opacity .18s}
  .wshead::before{left:0;background:linear-gradient(90deg,var(--bg,#080b14) 46%,transparent);content:'\2039'}
  .wshead::after{right:0;background:linear-gradient(270deg,var(--bg,#080b14) 46%,transparent);content:'\203A'}
  .wshead.can-left::before{opacity:1}
  .wshead.can-right::after{opacity:1}
  /* 顶栏在手机端随页滚走(不 sticky)—— 释放约 146px + 消除与 tab 条 top:0 的 z 冲突
     (此前顶栏 sticky 且换行 4 行,把 tab 条藏在身后)。危险的数据陈旧态由独立 .stale-banner 仍 sticky 兜底。 */
  .topbar{position:static}
  .topbar .agestamp{display:none}                 /* 数据龄戳冗余(LIVE 点 + STALE 横幅已表状态)*/
  /* 选场条(分析 tab)在吸顶盒 wshead 内,随 tab 条一起吸顶 —— 滚动数据时始终知道选中的是哪场 */
  #mpick-bar:not([hidden]){margin:0 0 8px;padding:6px 0 0}
  /* TAPE 手机端:列表/事件表改卡片(宽表在窄屏溢出),图保留。单场事件紧凑卡片: */
  .tape-evs{display:flex;flex-direction:column;gap:6px;margin-top:12px}
  .tape-ev{border:1px solid var(--line);border-radius:9px;background:var(--panel);padding:8px 10px}
  .tape-ev .te-1{display:flex;align-items:center;gap:7px;font-size:12.5px}
  .tape-ev .te-1 .pick{color:var(--ink)}
  .tape-ev .te-1 .te-t{margin-left:auto;font-size:11px}
  .tape-ev .te-2{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-top:5px;font-size:11.5px;color:var(--mut)}
  .tape-tools{flex-wrap:wrap}                       /* 单场工具行(← INDEX/队名/1X2·AH)窄屏换行不溢出 */
  /* 数据表(EFF/LEAD/MEM/LEDGER·.datatbl):有界滚动窗 + 冻结列名(表头)+ 冻结首列 —— 密集数据滚动时列/行含义始终可读 */
  .tbl-wrap,.wtable-wrap{max-height:62dvh;overflow:auto}
  .datatbl thead th,.dg thead th{position:sticky;top:0;z-index:3;background:var(--panel)}
  .dg th:first-child,.dg td:first-child{position:sticky;left:0;z-index:2;background:var(--panel)}
  .datatbl thead th:first-child,.dg thead th:first-child{left:0;z-index:4}  /* 冻结角(列名+标识同时固定)*/

  /* M4 场次抽屉全屏化 + iOS 输入不缩放 */
  .drawer{max-height:100dvh;height:100dvh;border-radius:0;border:none}
  .drawer input,.drawer select,.msheet input{font-size:16px}
  .drawer-x{min-width:44px;min-height:44px}

  /* M5 数据表三件套:粘首列 / 低优列隐藏 / 右缘可滚提示 */
  .tbl-wrap,.wtable-wrap{position:relative;
    -webkit-mask-image:linear-gradient(90deg,#000 calc(100% - 22px),rgba(0,0,0,.25));
    mask-image:linear-gradient(90deg,#000 calc(100% - 22px),rgba(0,0,0,.25))}
  .datatbl th:first-child,.datatbl td:first-child{position:sticky;left:0;z-index:2;
    background:var(--panel,#0c1220)}
  .m-hide{display:none}

  /* M6 触控目标 ≥44px */
  .tb-btn{min-height:38px;padding:8px 12px}
  .lg-btn{min-width:36px;min-height:36px}
  #q{min-height:40px;font-size:16px}
  .mpick-sel{font-size:16px;min-height:44px}
  .toolbar,.resbar{row-gap:8px}

  /* tooltip 点按气泡 */
  .tap-tip{position:fixed;z-index:95;max-width:78vw;background:var(--panel);
    border:1px solid var(--gold);border-radius:8px;padding:9px 12px;font-size:12px;
    color:var(--fg,#dce4f5);box-shadow:0 10px 40px -8px #000;line-height:1.5}
}
/* 盘口线(2026-08-14):格子 sel 后缀执行价;faint 不与 sel 争抢 */
.cell-ln{color:var(--mut);font-size:11px;margin-left:3px;font-variant-numeric:tabular-nums;cursor:help}

/* ---- STRAT BUILDER(2026-08-14):无代码回测,聚合仅出,诚实框定 ---- */
.bt-honest{margin:8px 0 12px;padding:9px 12px;border:1px solid var(--line2);border-inline-start:3px solid var(--warn);
  border-radius:7px;background:rgba(255,179,0,.05);color:var(--mut);font-size:11.5px;line-height:1.6}
.bt-row{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin:10px 0}
.bt-row .k{color:var(--faint);font-size:10.5px;letter-spacing:.1em}
.bt-mkt{border:1px solid var(--line2);border-radius:6px;padding:5px 12px;color:var(--mut);font-size:12px;min-height:32px}
.bt-mkt.on{border-color:var(--cy);color:var(--cy);background:var(--panel3)}
.bt-conds{display:flex;flex-direction:column;gap:8px;margin:10px 0}
.bt-cond{display:flex;align-items:center;gap:8px;flex-wrap:wrap;padding:9px 10px;
  border:1px solid var(--line2);border-radius:8px;background:var(--panel)}
.bt-cond select{min-height:32px}
.bt-num{width:88px;min-height:32px}
.bt-val{display:inline-flex;align-items:center;gap:6px;flex-wrap:wrap}
.bt-chip{border:1px solid var(--line2);border-radius:5px;padding:4px 10px;color:var(--mut);font-size:11.5px;min-height:30px}
.bt-chip.on{border-color:var(--gold);color:var(--gold);background:var(--panel3)}
.bt-x{color:var(--faint);border:1px solid var(--line2);border-radius:5px;padding:2px 8px;margin-inline-start:auto;min-height:30px}
.bt-x:hover{color:var(--neg);border-color:var(--neg)}
.bt-run{border-color:var(--cy);color:var(--cy);font-weight:700}
.bt-run:disabled{opacity:.5}
.bt-kpis{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:8px;margin:12px 0}
.bt-kpi{border:1px solid var(--line2);border-radius:8px;background:var(--panel);padding:10px 12px}
.bt-kpi .k{color:var(--faint);font-size:10px;letter-spacing:.12em}
.bt-kpi .v{color:var(--ink);font-size:19px;font-weight:700;margin-top:2px;font-variant-numeric:tabular-nums}
.bt-kpi .s{color:var(--mut);font-size:10.5px;margin-top:2px}
.bt-under{margin:12px 0;padding:12px 14px;border:1px solid var(--line2);border-inline-start:3px solid var(--gold);
  border-radius:7px;color:var(--ink);font-size:13px}
@media(max-width:719px){
  .bt-cond{padding:10px}
  .bt-cond select,.bt-num{min-height:38px}
  .bt-chip,.bt-mkt{min-height:38px}
  .bt-kpis{grid-template-columns:repeat(2,1fr)}
}
.bt-curvewrap{margin:10px 0;border:1px solid var(--line2);border-radius:8px;background:var(--panel);padding:8px}
#bt-curve{display:block;width:100%}

/* ---- SANDBOX 零假设基准墙(2026-08-14):客观展示盲注归宿,强化零α定位 ---- */
.sbb-h{margin:14px 0 8px;color:var(--faint);font-size:10.5px;letter-spacing:.12em;text-transform:uppercase}
.sbb-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:8px}
.sbb-card{border:1px solid var(--line2);border-radius:8px;background:var(--panel);padding:10px 12px}
.sbb-mk{color:var(--cy);font-weight:700;font-size:12px;letter-spacing:.06em;margin-bottom:6px}
.sbb-row{display:flex;justify-content:space-between;align-items:baseline;font-size:12px;color:var(--mut);margin-top:3px}
.sbb-row b{color:var(--ink);font-variant-numeric:tabular-nums}
.sbb-roi{font-weight:700}.sbb-roi.neg{color:var(--neg)}
.sbb-n{color:var(--faint);font-size:10px;margin-top:6px;font-variant-numeric:tabular-nums}
.sbb-note{margin:10px 0;padding:9px 12px;border:1px solid var(--line2);border-inline-start:3px solid var(--warn);
  border-radius:7px;background:rgba(255,179,0,.05);color:var(--mut);font-size:11.5px;line-height:1.6}
#sbb-to-builder{margin-top:4px}

/* ---- TRACK 自选追踪(2026-08-15):私有,轻量,组合分析 ---- */
.grid-star{color:var(--faint);font-size:13px;margin-inline-end:5px;line-height:1;vertical-align:baseline}
.grid-star:hover{color:var(--gold)}
.trk-honest{margin:8px 0 12px;padding:9px 12px;border:1px solid var(--line2);border-inline-start:3px solid var(--warn);
  border-radius:7px;background:rgba(255,179,0,.05);color:var(--mut);font-size:11.5px;line-height:1.6}
.trk-sec{margin:16px 0 6px;color:var(--faint);font-size:10.5px;letter-spacing:.12em;text-transform:uppercase}
.trk-pred{color:var(--cy);font-variant-numeric:tabular-nums}
.trk-del{color:var(--faint);border:1px solid var(--line2);border-radius:5px;padding:1px 7px;min-height:28px}
.trk-del:hover{color:var(--neg);border-color:var(--neg)}
.trk-add{display:flex;align-items:center;gap:6px;flex-wrap:wrap;margin:10px 0}
.trk-add select,.trk-add input{background:var(--panel3);color:var(--ink);border:1px solid var(--line2);border-radius:6px;padding:5px 8px;font-size:11.5px;min-height:30px;max-width:240px}
.trk-add select:focus,.trk-add input:focus{outline:none;border-color:var(--cy)}
.trk-dims{display:flex;align-items:center;gap:6px;flex-wrap:wrap;margin:10px 0}
.trk-dim,.trk-scope{border:1px solid var(--line2);border-radius:6px;padding:4px 12px;color:var(--mut);font-size:11.5px;min-height:30px}
.trk-dim.on{border-color:var(--cy);color:var(--cy);background:var(--panel3)}
.trk-scopes{margin-inline-start:auto;display:flex;gap:6px}
.trk-scope.on{border-color:var(--gold);color:var(--gold);background:var(--panel3)}
.trk-curvewrap{margin:10px 0;border:1px solid var(--line2);border-radius:8px;background:var(--panel);padding:8px}
#trk-curve{display:block;width:100%}
@media(max-width:719px){
  .trk-dim,.trk-scope,.trk-del{min-height:38px}
  .trk-scopes{margin-inline-start:0;width:100%}
}
/* TRACK P2:预测 vs 市场 + 转注单 */
.trk-vs{display:block;font-size:10.5px;color:var(--faint);margin-top:2px;font-variant-numeric:tabular-nums}
.trk-vs b{font-weight:600;margin-inline-start:6px}
.trk-vs b.against{color:var(--gold)}.trk-vs b.with{color:var(--mut)}
.trk-topaper{color:var(--cy);border:1px solid var(--line2);border-radius:5px;padding:1px 8px;margin-inline-end:5px;font-size:10.5px;min-height:28px}
.trk-topaper:hover{border-color:var(--cy)}
@media(max-width:719px){.trk-topaper{min-height:38px}}

/* ===== 第二批⑦:新手引导条 + 精简视图(2026-08-16)===== */
.novice-bar{display:flex;align-items:center;gap:10px;flex-wrap:wrap;padding:9px 16px;
  background:linear-gradient(90deg,rgba(232,199,102,.10),rgba(232,199,102,.02));
  border-bottom:1px solid var(--line2);font-size:12.5px;color:var(--ink)}
.novice-bar[hidden]{display:none}
.novice-bar #nb-text b{color:var(--gold)}
/* 精简视图:主网格只留 MATCH + 1X2 + CLV(列序静态:2=CS 3=HT/FT 4=O/U 6=AH) */
body.simple #dg th:nth-child(2),body.simple #dg td:nth-child(2),
body.simple #dg th:nth-child(3),body.simple #dg td:nth-child(3),
body.simple #dg th:nth-child(4),body.simple #dg td:nth-child(4),
body.simple #dg th:nth-child(6),body.simple #dg td:nth-child(6){display:none}
#view-toggle.on{border-color:var(--cy);color:var(--cy)}
/* ---- PARLAY 串关(2026-08-17):卡片沿用 TRACK 设计语言 ---- */
.pl-card{border:1px solid var(--line2);border-radius:8px;margin:10px 0;overflow:hidden}
.pl-head{display:flex;align-items:center;gap:10px;padding:8px 12px;background:var(--panel);border-bottom:1px solid var(--line2);flex-wrap:wrap}
.pl-head .grow{flex:1}
.pl-legs{width:100%}
.pl-legs td{padding:5px 10px;border-top:1px solid var(--line2);font-size:11.5px}
.pl-legs tr:first-child td{border-top:none}
.pl-place{margin-top:8px;align-items:center}
/* 决策区校准 EV 徽标(2026-08-18 家侧口径升级) */
.dcal-badge{display:inline-block;margin-inline-start:6px;padding:1px 7px;border:1px solid var(--cy);border-radius:999px;color:var(--cy);font-size:10px;letter-spacing:.03em;white-space:nowrap;cursor:help}
/* 模型/市场混合权重徽标(2026-08-20 透明度字段) */
.mix-chip{display:inline-block;margin-inline-start:10px;padding:1px 8px;border:1px solid var(--line2);border-radius:999px;color:var(--mut);font-size:10.5px;white-space:nowrap;cursor:help}
/* ---- EDGE 证据栈排序(2026-08-22 三期) ---- */
.eb-upsell{border-inline-start:3px solid var(--cy);padding:8px 12px;margin:8px 0}
.eb-bank{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin:10px 0;font-size:12px;color:var(--mut)}
.eb-bank input{background:var(--panel3);color:var(--ink);border:1px solid var(--line2);border-radius:6px;padding:5px 8px;width:110px;min-height:30px}
.eb-alerts{margin:4px 0 10px;font-size:12px;color:var(--mut)}
.eb-list{display:flex;flex-direction:column;gap:10px;margin-top:10px}
.eb-card{border:1px solid var(--line2);border-radius:8px;padding:10px 14px}
.eb-head{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.eb-head .grow{flex:1}
.eg{color:var(--gold);letter-spacing:2px;font-size:13px;cursor:help}
.eb-score{color:var(--gold);font-weight:700}
.eb-mkt{font-weight:600}
.eb-plat{font-size:10px;border:1px solid var(--line2);border-radius:999px;padding:1px 7px;color:var(--mut)}
.eb-share{background:none;border:1px solid var(--line2);border-radius:6px;color:var(--mut);cursor:pointer;padding:2px 8px}
.eb-share:hover{color:var(--cy);border-color:var(--cy)}
.eb-match{margin-top:6px}
.eb-why{margin-top:4px;color:var(--mut);font-size:12.5px;line-height:1.55}
.eb-tech{display:flex;gap:14px;flex-wrap:wrap;margin-top:6px;font-size:11.5px;color:var(--faint)}
.eb-tech b{color:var(--ink)}
.eb-kelly{margin-top:6px;font-size:12px;color:var(--cy);cursor:help}
.eb-empty{padding:22px 12px;text-align:center;line-height:1.7}
.eb-replay{margin-top:14px}
body.simple .eb-tech{display:none}     /* 简/专(P2):简模式隐去技术栈,保留表盘+人话+注比 */

/* ---------- 多 Top 全档(2026-08-22 全批复):抽屉同构行 + 等利分注 + 网格计数签 ---------- */
.tk-sec{margin:10px 0;padding:8px 10px;background:var(--panel,#0D1626);border:1px solid #22314f;border-radius:9px}
.tk-h{font-size:10.5px;letter-spacing:.1em;color:#5d6f8d;font-family:ui-monospace,Menlo,monospace;margin-bottom:5px}
.tk-row{display:grid;grid-template-columns:26px minmax(52px,auto) 1fr 58px 44px auto;gap:7px;align-items:center;
  padding:3.5px 0;border-bottom:1px dashed #1c2740;font-size:12.5px}
.tk-row:last-of-type{border-bottom:none}
.tk-rank{font-family:ui-monospace,Menlo,monospace;font-weight:800;font-size:10.5px;color:#E8C766;text-align:center}
.tk-rank.t1{background:#E8C766;color:#191204;border-radius:4px;padding:1px 0}
.tk-sel{font-weight:700;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.tk-bar{position:relative;height:12px;background:#0A111E;border:1px solid #22314f;border-radius:6px;overflow:hidden}
.tk-bar i{position:absolute;inset:1px auto 1px 1px;background:linear-gradient(90deg,#2c517d,#5AB0FF);border-radius:5px}
.tk-bar b{position:absolute;inset:0;display:flex;align-items:center;justify-content:flex-end;padding-inline-end:5px;
  font-size:10px;font-family:ui-monospace,Menlo,monospace;color:#E9EFF8}
.tk-odds{text-align:end;font-size:11.5px}
.tk-ev{text-align:end;font-size:11.5px;font-weight:700}
.tk-meta{font-size:10px;text-align:end;white-space:nowrap}
.tk-rec{color:#93A3C0;font-family:ui-monospace,Menlo,monospace;cursor:help;border-bottom:1px dotted #3a4a6e}
.tk-drv{color:#5d6f8d;cursor:help}
.tk-dutch{margin-top:6px;padding:6px 8px;background:#0A111E;border:1px solid #22314f;border-radius:7px;
  font-size:11px;font-family:ui-monospace,Menlo,monospace;color:#93A3C0;line-height:1.8}
.tk-dutch b{color:#E9EFF8}
.tk-more{display:inline-block;margin-inline-start:4px;padding:0 4px;border:1px solid #2A3A5E;border-radius:4px;
  font-size:9.5px;font-family:ui-monospace,Menlo,monospace;color:#93A3C0;vertical-align:1px;cursor:help}
body.simple .tk-dutch{display:none}   /* 简明模式:对冲行属技术层(与 .eb-tech 同则) */

/* ---------- 全局平台作用域(2026-08-22 批复):不适用徽注 + 分平台折叠 ---------- */
.scope-na{display:inline-block;margin-inline-start:8px;padding:1px 8px;border:1px solid #2A3A5E;
  border-radius:999px;font-size:10px;letter-spacing:.08em;color:#93A3C0;
  font-family:ui-monospace,Menlo,monospace;cursor:help;vertical-align:2px}
.bl-byplat{margin:10px 0;padding:8px 12px;background:#0D1626;border:1px solid #22314f;border-radius:9px}
.bl-byplat summary{cursor:pointer;font-size:12px;color:#93A3C0;font-family:ui-monospace,Menlo,monospace}
.bl-byplat .pr{display:flex;justify-content:space-between;padding:5px 2px;font-size:12.5px;
  font-variant-numeric:tabular-nums;border-bottom:1px dashed #1c2740}
.bl-byplat .pr:last-of-type{border-bottom:none}

/* ================= 交易台(2026-08-28 P1-P3)================= */
/* PRICER v2:盘族段选/双源/阶梯/记账 */
.pc-fams{display:flex;flex-wrap:wrap;gap:4px;margin-top:6px}
.pc-fam{font:inherit;font-size:11px;color:var(--mut);background:var(--panel2);
  border:1px solid var(--line2);border-radius:6px;padding:2px 8px;cursor:pointer}
.pc-fam:hover{color:var(--ink);border-color:var(--cy)}
.pc-fam.on{color:#0B1220;background:var(--gold);border-color:var(--gold);font-weight:700}
.pc-src{display:inline-flex;gap:0;border:1px solid var(--line2);border-radius:6px;overflow:hidden}
.pc-srcb{font:inherit;font-size:10.5px;color:var(--faint);background:var(--panel2);
  border:none;padding:2px 8px;cursor:pointer}
.pc-srcb.on{color:var(--cy);background:var(--panel3);font-weight:700}
.pc-ladder{display:grid;grid-template-columns:repeat(auto-fit,minmax(58px,1fr));gap:4px;margin-top:8px}
.pc-ladder [data-pcline]{display:flex;flex-direction:column;align-items:center;gap:1px;
  padding:4px 2px;background:var(--panel2);border:1px solid var(--line);border-radius:6px;
  cursor:pointer;font-variant-numeric:tabular-nums}
.pc-ladder [data-pcline]:hover{border-color:var(--cy)}
.pc-ladder [data-pcline].cur{border-color:var(--gold);background:#1a1a10}
.pc-ladder .l{font-size:10px;color:var(--faint)}
.pc-ladder b{font-size:12.5px;color:var(--ink)}
.pc-ladder .cur b{color:var(--gold)}
.pc-log{margin-top:8px;width:100%}
.pc-log:disabled{opacity:.45;cursor:not-allowed}
/* 盘前预检徽章 */
.lg-precheck{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin-top:8px;
  padding:6px 10px;background:var(--panel3);border:1px solid var(--line);border-radius:8px;
  font-size:12px;font-variant-numeric:tabular-nums}
.lg-chip{font-size:10.5px;font-weight:700;padding:1px 7px;border-radius:99px;letter-spacing:.4px}
.lg-chip.pos{color:var(--pos);background:var(--posd)}
.lg-chip.neg{color:var(--neg);background:var(--negd)}
/* 驾驶舱 */
.dash{margin:10px 0;padding:10px 12px;background:var(--panel3);border:1px solid var(--line2);border-radius:10px}
.seg-d{display:inline-flex;flex-wrap:wrap;gap:0;border:1px solid var(--line2);border-radius:6px;overflow:hidden}
.seg-d button{font:inherit;font-size:10.5px;color:var(--faint);background:var(--panel2);
  border:none;padding:2px 9px;cursor:pointer;white-space:nowrap}
.seg-d button:hover{color:var(--ink)}
.seg-d button.on{color:var(--cy);background:var(--panel3);font-weight:700}
.d-tiles{display:grid;grid-template-columns:repeat(auto-fit,minmax(108px,1fr));gap:6px;margin-top:8px}
.d-tile{padding:7px 9px;background:var(--panel2);border:1px solid var(--line);border-radius:8px}
.d-tile[title]{cursor:help}
.d-tile .k{display:block;font-size:9.5px;color:var(--faint);letter-spacing:.6px}
.d-tile b{display:block;font-size:16px;font-weight:800;margin-top:2px;
  font-variant-numeric:tabular-nums}
.d-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:8px}
.d-chart{padding:8px 10px;background:var(--panel2);border:1px solid var(--line);border-radius:8px;min-width:0}
.d-chart .t{display:flex;justify-content:space-between;align-items:center;gap:6px;
  font-size:10.5px;color:var(--mut);letter-spacing:.4px;margin-bottom:4px}
.d-chart canvas{display:block;max-width:100%}
@media (max-width:719px){.d-grid{grid-template-columns:1fr}}
/* 注单簿升级:控件条/标签 */
.blot-bar{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin:8px 0 4px}
.tagcell{max-width:150px}
.tagchip{display:inline-block;font-size:9.5px;color:var(--cy);background:var(--panel3);
  border:1px solid var(--line2);border-radius:99px;padding:0 6px;margin:0 3px 2px 0}
.tag-ed{font:inherit;font-size:10px;color:var(--faint);background:none;border:none;
  cursor:pointer;padding:0 3px}
.tag-ed:hover{color:var(--gold)}
[dir="rtl"] .pc-fams,[dir="rtl"] .blot-bar,[dir="rtl"] .lg-precheck{flex-direction:row-reverse}
