/* ============================================================================
   v14-fed.css —— 10 版美联储观察（0912 定稿）：模块卡（整卡即图）+ 模块页详情。
   页公共版式（.mp-*）在 v14.css §10。精确值来源：定稿画布实测（UI规格.md「美联储观察页」表）。
   14 版（UI 规格 §4）：四栏目、浅色图卡 .fx-light、最新概率 / 月内变化新组件（.fxb / .fxg / .fxc / .fx-*）在 v17-fed.css；
   本文件只留 13 版沿用的件（看板卡、会议 chip、浮层、结论行、矩阵、点阵图），13 版分组柱 .fedv / .fedv-bar 已删。
   口径纪律：概率为自行推算，不出现 FedWatch 字样（文案在 js/fed.js）。
   ========================================================================== */

/* 三态 pill 已于 2026-09-16 下线（§B：卡头只留源数据时间）。 */

/* ============ 模块卡 ============ */
.fed-row { display: flex; align-items: center; gap: 8px; height: 20px; flex: none; }
.fed-row-t { font-size: var(--fs-13); font-weight: 700; color: var(--ink); white-space: nowrap; }
.fed-row-pill { display: inline-flex; align-items: center; height: 20px; padding: 0 8px; border-radius: var(--r-pill); font-size: var(--fs-11); font-weight: 700; background: var(--soft); color: var(--ink-2); font-variant-numeric: tabular-nums; white-space: nowrap; }
.fed-row-cur { margin-left: auto; font-size: var(--fs-11); color: var(--ink-3); font-variant-numeric: tabular-nums; white-space: nowrap; }
/* 2026-09-17 上线前增量：起点标注（暂定 = 市场隐含待 FRED 复核 / 人工修正）+ 无概率时的下一场概览与 SEP 摘要 */
.fed-row-tag { display: inline-flex; align-items: center; height: 18px; padding: 0 7px; border-radius: var(--r-pill); font-size: var(--fs-11); font-weight: 700; white-space: nowrap; }
.fed-row-tag.is-implied, .fed-note.is-implied, .fed-origin.is-implied { color: var(--amber); }
.fed-row-tag.is-manual, .fed-note.is-manual, .fed-origin.is-manual { color: var(--blue); }
.fed-row-tag.is-implied { background: var(--amber-soft); }
.fed-row-tag.is-manual { background: rgba(46, 98, 224, .12); }
.fed-note { margin-top: 6px; font-size: var(--fs-11); line-height: 1.4; flex: none; }
.fed-origin.is-manual { background: rgba(46, 98, 224, .10); }
.fed-fb { gap: 0; }
.fed-fb-state { margin-top: 12px; font-size: var(--fs-13); color: var(--ink-2); line-height: 1.6; }
.fed-fb-state.is-page { font-size: var(--fs-13); }
.fed-fb-sep { margin-top: auto; padding-top: 10px; border-top: 1px solid var(--line); }
.mp-card.fed-fb .fed-fb-sep { margin-top: 16px; }
.fed-fb-sep-t { font-size: var(--fs-11); font-weight: 700; color: var(--ink-2); }
.fed-fb-sep-row { margin-top: 6px; display: flex; flex-wrap: wrap; gap: 6px 14px; font-size: var(--fs-12); color: var(--ink); font-variant-numeric: tabular-nums; }
.fed-fb-col b { margin-right: 4px; font-weight: 600; color: var(--ink-3); }
.mp-state-btn { margin-top: 14px; height: 32px; padding: 0 16px; border-radius: var(--r-pill); background: var(--soft); color: var(--ink); font-size: var(--fs-13); font-weight: 600; }
.mp-state-btn:hover { background: var(--line); }

/* 看板卡柱图（13 版 §5.2）：去纵轴与网格、柱上直接标数；合计瓦片退役，底部一行只写变化 */
.fed-plot { flex: 1; min-height: 0; display: grid; grid-template-columns: 1fr; margin-top: 6px; }
.fed-grid { position: relative; border-bottom: 1px solid var(--line-hover); }
.fed-bars { position: absolute; inset: 0; display: flex; align-items: flex-end; justify-content: center; gap: 16px; padding: 0 8px; }
/* 13 版 D4：柱宽等分（上限 84、下限 44）——原固定 84 + 间距 24，三档就溢出卡外；x 轴标签行同尺寸保持对齐 */
.fed-bar { display: flex; flex-direction: column; align-items: center; justify-content: flex-end; height: 100%; flex: 0 1 84px; min-width: 44px; }
.fed-bar-v { font-size: var(--fs-12); font-weight: 700; color: var(--ink); font-variant-numeric: tabular-nums; margin-bottom: 3px; }
/* 14 版 §2.6（用户 10-16 晚）：柱色一律 --fed-c-now（与模块页「最新概率」柱同色），不再按加息 / 不变 / 降息分色（13 版 Q1 利率三色退役） */
.fed-bar-fill { width: 100%; border-radius: 5px 5px 0 0; min-height: 2px; background: var(--fed-c-now); }
.fed-xax { display: grid; grid-template-columns: 1fr; margin-top: 4px; flex: none; }
.fed-xax-row { display: flex; justify-content: center; gap: 16px; padding: 0 8px; }
.fed-xax-row span { flex: 0 1 84px; min-width: 44px; white-space: nowrap; text-align: center; font-size: var(--fs-11); color: var(--ink-3); font-variant-numeric: tabular-nums; }
.fed-xax-row span.is-cur { color: var(--ink); font-weight: 800; }
.fed-chg, .fedv-chg { display: flex; align-items: baseline; gap: 6px; color: var(--ink-2); font-variant-numeric: tabular-nums; white-space: nowrap; }
.fed-chg { flex: none; margin-top: 10px; padding-top: 8px; border-top: 1px solid var(--line); font-size: var(--fs-12); overflow: hidden; }
.fed-chg b, .fedv-chg b { color: var(--ink); font-weight: 700; }
.fed-chg b.is-big, .fedv-chg b.is-big, .fed-chg .tot, .fedv-chg .tot { font-weight: 800; }
.fed-chg .sep, .fedv-chg .sep { font-style: normal; color: var(--ink-3); }
.fed-chg .cl, .fedv-chg .cl { margin-right: 2px; }
/* 13 版 UI 规格 §5.2「放不下时去掉 1M」：fed.js fitChg 按实测溢出加 .no-m1，连同前面的「·」整段去掉（模块页结论行可折行，不受影响） */
.fed-chg.no-m1 [data-hz="m1"] { display: none; }

/* ============ 最新概率 / 月内变化共用件：会议 chip、读数浮层、变化结论行（13 版几何；14 版位置与新组件在 v17-fed.css） ============ */
.fedv-meets { display: flex; gap: 8px; overflow-x: auto; scrollbar-width: none; margin-top: 14px; padding-bottom: 2px; }
.fedv-meets::-webkit-scrollbar { display: none; }
.fedv-meets.fade-r { -webkit-mask-image: linear-gradient(to right, #000 calc(100% - 28px), transparent); mask-image: linear-gradient(to right, #000 calc(100% - 28px), transparent); }
.fedv-meets.fade-l { -webkit-mask-image: linear-gradient(to right, transparent, #000 28px); mask-image: linear-gradient(to right, transparent, #000 28px); }
.fedv-meets.fade-l.fade-r { -webkit-mask-image: linear-gradient(to right, transparent, #000 28px, #000 calc(100% - 28px), transparent); mask-image: linear-gradient(to right, transparent, #000 28px, #000 calc(100% - 28px), transparent); }
.fedv-meet { flex: none; display: inline-flex; align-items: center; gap: 6px; height: 30px; padding: 0 12px; border-radius: var(--r-pill); border: 1px solid var(--line); background: var(--soft-2); color: var(--ink-2); font-size: var(--fs-13); font-weight: 600; font-variant-numeric: tabular-nums; cursor: pointer; transition: border-color var(--t-fast), color var(--t-fast); }
.fedv-meet i { font-style: normal; font-size: var(--fs-11); font-weight: 800; color: var(--purple); }
.fedv-meet small { font-size: var(--fs-11); font-weight: 500; color: var(--ink-3); }
.fedv-meet:hover { border-color: var(--line-hover); color: var(--ink); }
.fedv-meet[aria-pressed="true"] { background: var(--ink); border-color: var(--ink); color: var(--card); }
.fedv-meet[aria-pressed="true"] i, .fedv-meet[aria-pressed="true"] small { color: var(--card); opacity: .75; }
.fedv-tip { position: absolute; z-index: 3; pointer-events: none; display: grid; gap: 2px; padding: 6px 10px; border-radius: 8px; border: 1px solid var(--line); background: var(--pop); box-shadow: var(--sh-pop); font-size: var(--fs-12); color: var(--ink); white-space: nowrap; font-variant-numeric: tabular-nums; }
.fedv-tip b { font-weight: 700; }
.fedv-tip .sub { color: var(--ink-2); }
.fedv-chg { flex-wrap: wrap; margin-top: 14px; padding-top: 12px; border-top: 1px solid var(--line); font-size: var(--fs-13); }
.fedv-xnote { margin-top: 6px; font-size: var(--fs-12); color: var(--amber); }

/* ============ Tab 2：概率分布矩阵（行内单色渐深；无单元格边框；仅当前列虚线） ============ */
.mp-card.is-wide { padding: 18px 22px 20px; }
.fedm-scroll { overflow-x: auto; }
/* 列数 = 真实档位并集（--fedm-n 由 fed.js 按 data-n 写入；窄屏靠 .fedm-scroll 横滚），不再固定 9 列 */
/* 2026-09-18 测试站验收：会议列 104px 放不下「2027-06-09 + SEP」而折成两行，列宽加到 132 且不换行，各行统一单行 */
.fedm { min-width: calc(228px + var(--fedm-n, 9) * 52px); }
.fedm-row { display: grid; grid-template-columns: 132px repeat(var(--fedm-n, 9), minmax(0, 1fr)) 96px; align-items: stretch; height: 40px; border-bottom: 1px solid var(--line-2); }
.fedm-row.fedm-head { height: 34px; border-bottom: 1px solid var(--line); }
.fedm-row > span { display: flex; align-items: center; justify-content: center; font-size: var(--fs-12); font-variant-numeric: tabular-nums; color: var(--ink-2); }
.fedm-head > span { font-size: var(--fs-11); font-weight: 700; color: var(--ink-3); }
.fedm-c0 { justify-content: flex-start !important; gap: 6px; font-weight: 700; color: var(--ink) !important; white-space: nowrap; }
.fedm-head .fedm-c0 { color: var(--ink-3) !important; font-weight: 700; }
.fedm-sep { font-style: normal; font-size: var(--fs-11); font-weight: 700; color: var(--purple); background: var(--purple-soft); border-radius: 4px; padding: 1px 4px; }
.fedm-row > span.is-cur { border-left: 1px dashed var(--ink-3); border-right: 1px dashed var(--ink-3); }
.fedm-row > span.is-top { font-weight: 800; color: var(--ink); }
.fedm-row > span.is-zero { color: var(--ink-3); }
.fedm-cend { justify-content: flex-end !important; gap: 4px; font-size: var(--fs-12); }
.fedm-cend b { font-weight: 700; }
.fedm-cend b.is-hike { color: var(--rate-hike); }
.fedm-cend b.is-cut { color: var(--rate-cut); }
.fedm-cend b.is-zero { color: var(--ink-3); font-weight: 600; }   /* 13 版 §5.3：0.0% 不上色 */
.fedm-legend { margin-top: 12px; display: flex; align-items: center; gap: 18px; flex-wrap: wrap; font-size: var(--fs-12); color: var(--ink-2); }
.fedm-legend .lg { display: inline-flex; align-items: center; gap: 6px; }
.fedm-legend i { width: 10px; height: 12px; border-radius: 2px; }
.fedm-legend i.h1 { background: var(--heat-1); }
.fedm-legend i.h2 { background: var(--heat-2); }
.fedm-legend i.h3 { background: var(--heat-3); }
.fedm-legend i.dash { width: 14px; height: 12px; border-left: 1px dashed var(--ink-3); border-right: 1px dashed var(--ink-3); border-radius: 0; }
.fedm-legend i.sep { width: auto; height: auto; font-style: normal; font-size: var(--fs-11); font-weight: 700; color: var(--purple); background: var(--purple-soft); border-radius: 4px; padding: 1px 4px; }

/* ============ Tab 3：点阵图 ============ */
.fedd-wrap { margin-top: 12px; }
.fedd { display: block; width: 100%; height: auto; }
.fedd-legend { margin-top: 6px; display: flex; align-items: center; justify-content: center; gap: 20px; font-size: var(--fs-12); font-weight: 600; color: var(--ink-2); }
.fedd-legend .lg { display: inline-flex; align-items: center; gap: 6px; }
.fedd-legend i { width: 10px; height: 10px; border-radius: 50%; }
.fedd-legend i.dot { background: var(--dot); }
.fedd-legend i.med { background: var(--blue); }
.fedd-legend i.mkt { background: var(--bear); }
.fedd-legend i.cur { width: 16px; height: 0; border-radius: 0; background: none; border-top: 1.5px dashed var(--ink-2); }   /* 13 版 §5.4 当前利率虚线 */
.fedd-foot { margin-top: 12px; font-size: var(--fs-12); color: var(--ink-3); }

/* 依赖合约缺失的会议行（buckets=null）：各格「—」，不猜不补也不解释（2026-09-16 §B） */
.fedm-row.is-missing { color: var(--ink-3); }
/* 页底两行更新时间 / 合规句（替代原 .mp-note 三行框） */
.mp-meta + .mp-meta { margin-top: 4px; }
