/* AgentStack 演示门户 · 企业级克制风格
 *
 * 设计约束（刻意的，避免"AI 生成感"）：
 * · 不用渐变、不用紫色、不用发光与模糊
 * · 图标一律线性 SVG，不用 emoji
 * · 圆角小（4~6px），阴影几乎为零，靠边框与间距分层
 * · 中性灰阶为主，单一强调色贯穿
 * · 信息密度偏高，表格与分隔线优先于卡片堆叠
 */

:root {
  --bg:        #f6f7f9;
  --surface:   #ffffff;
  --surface-2: #fafbfc;
  --line:      #e3e6ea;
  --line-2:    #eef1f4;
  --ink:       #14181f;
  --ink-2:     #4a5361;
  --ink-3:     #78818f;
  --ink-4:     #a4acb8;
  --accent:    #1f5fd6;
  --accent-2:  #eaf1fd;
  --ok:        #1a7f4b;
  --ok-2:      #e8f5ee;
  --warn:      #9a6700;
  --warn-2:    #fdf6e3;
  --err:       #b3261e;
  --err-2:     #fdecea;
  --r:         5px;
  --r-lg:      8px;
  --mono: ui-monospace, SFMono-Regular, "Cascadia Mono", Consolas, monospace;
  --sans: system-ui, -apple-system, "Segoe UI", "Microsoft YaHei", sans-serif;
}

* { box-sizing: border-box; }

html, body { height: 100%; }

body {
  margin: 0;
  font-family: var(--sans);
  font-size: 13.5px;
  line-height: 1.6;
  color: var(--ink);
  background: var(--bg);
  -webkit-font-smoothing: antialiased;
}

/* ── 布局 ─────────────────────────────────────────── */
.shell { display: flex; height: 100vh; overflow: hidden; }

.rail {
  width: 208px; flex: 0 0 auto;
  background: var(--surface);
  border-right: 1px solid var(--line);
  display: flex; flex-direction: column;
}

.rail-head {
  padding: 14px 16px 12px;
  border-bottom: 1px solid var(--line);
}
.rail-head .name { font-size: 13.5px; font-weight: 600; letter-spacing: .1px; }
.rail-head .env {
  margin-top: 3px; font-size: 11px; color: var(--ink-3);
  font-family: var(--mono);
}

.rail-nav { flex: 1; overflow-y: auto; padding: 8px 0 16px; }
.rail-nav .sec {
  padding: 12px 16px 5px;
  font-size: 10.5px; font-weight: 600; letter-spacing: .6px;
  color: var(--ink-4); text-transform: uppercase;
}
.rail-nav a {
  display: flex; align-items: center; gap: 9px;
  padding: 7px 16px; font-size: 13px; color: var(--ink-2);
  text-decoration: none; cursor: pointer;
  border-left: 2px solid transparent;
}
.rail-nav a:hover { background: var(--surface-2); color: var(--ink); }
.rail-nav a.on {
  background: var(--accent-2); color: var(--accent);
  border-left-color: var(--accent); font-weight: 500;
}
.rail-nav a svg { width: 15px; height: 15px; flex: 0 0 auto; opacity: .75; }
.rail-nav a.on svg { opacity: 1; }
.rail-nav a .cnt {
  margin-left: auto; font-size: 10.5px; color: var(--ink-4);
  font-family: var(--mono);
}

.rail-foot {
  padding: 10px 16px; border-top: 1px solid var(--line);
  font-size: 11px; color: var(--ink-3); line-height: 1.7;
}
.rail-foot button {
  margin-top: 7px; width: 100%;
}

.main { flex: 1; display: flex; flex-direction: column; min-width: 0; }

.topbar {
  flex: 0 0 auto; background: var(--surface);
  border-bottom: 1px solid var(--line);
  padding: 11px 22px;
  display: flex; justify-content: space-between; align-items: center; gap: 16px;
}
.topbar h1 { margin: 0; font-size: 15px; font-weight: 600; }
.topbar .sub { margin-top: 2px; font-size: 12px; color: var(--ink-3); }
.topbar .acts { display: flex; gap: 8px; align-items: center; flex: 0 0 auto; }

.scroll { flex: 1; overflow-y: auto; }
.page { max-width: 980px; margin: 0 auto; padding: 22px 22px 56px; }
.page.wide { max-width: 1180px; }

/* ── 控件 ─────────────────────────────────────────── */
button, select, input, textarea {
  font-family: inherit; font-size: 13px; color: var(--ink);
  background: var(--surface); border: 1px solid var(--line);
  border-radius: var(--r); padding: 6px 10px;
}
button { cursor: pointer; white-space: nowrap; }
button:hover:not(:disabled) { border-color: var(--ink-4); }
button:disabled { opacity: .5; cursor: default; }
button.primary {
  background: var(--accent); border-color: var(--accent); color: #fff;
  font-weight: 500;
}
button.primary:hover:not(:disabled) { background: #1a52bd; border-color: #1a52bd; }
button.ghost { background: var(--surface); }
button.sm { padding: 4px 9px; font-size: 12px; }
select:focus, input:focus, textarea:focus {
  outline: none; border-color: var(--accent);
  box-shadow: 0 0 0 3px var(--accent-2);
}
textarea { resize: none; line-height: 1.65; }
/* min-width 只在有空间时生效：固定 220px 在 375px 手机上会把输入框撑出视口
   （实测：手机上输入框右侧被裁掉）。用 min(220px, 100%) 让它随容器收缩。 */
input[type="text"], input:not([type]) { min-width: min(220px, 100%); }

/* ── 结构块 ───────────────────────────────────────── */
.block {
  background: var(--surface);
  border: 1px solid var(--line);
  border-radius: var(--r-lg);
  margin-bottom: 14px;
  overflow: hidden;
}
.block > .bd { padding: 14px 16px; }
.block > .hd {
  padding: 11px 16px; border-bottom: 1px solid var(--line-2);
  display: flex; align-items: baseline; justify-content: space-between; gap: 12px;
}
.block > .hd h2 { margin: 0; font-size: 13.5px; font-weight: 600; }
.block > .hd .meta { font-size: 11.5px; color: var(--ink-3); }
.block.lead { border-color: #c9d8f5; }

.lede {
  margin: 0 0 12px; font-size: 13px; color: var(--ink-2); line-height: 1.75;
}
.hint { margin-top: 9px; font-size: 12px; color: var(--ink-3); line-height: 1.7; }
.hint code, .lede code, td code, .bd code {
  font-family: var(--mono); font-size: 12px;
  background: var(--surface-2); border: 1px solid var(--line-2);
  border-radius: 3px; padding: 0 4px;
}

.ctrls { display: flex; gap: 8px; align-items: center; flex-wrap: wrap; margin-bottom: 12px; }
.ctrls label { font-size: 12.5px; color: var(--ink-3); }

.tag {
  display: inline-block; font-size: 10.5px; font-weight: 500;
  padding: 1px 6px; border-radius: 3px;
  background: var(--accent-2); color: var(--accent);
  border: 1px solid #d3e0f8; vertical-align: 1px;
}
.tag.ok  { background: var(--ok-2);  color: var(--ok);  border-color: #cfe8db; }
.tag.warn{ background: var(--warn-2);color: var(--warn);border-color: #f0e2bf; }

/* ── 输出区 ───────────────────────────────────────── */
.out {
  background: var(--surface-2);
  border: 1px solid var(--line);
  border-radius: var(--r);
  padding: 11px 13px;
  font-size: 12.8px; line-height: 1.75;
  white-space: pre-wrap; word-break: break-word;
  max-height: 300px; overflow: auto;
}
.out.mono { font-family: var(--mono); font-size: 12px; }
.out.empty { color: var(--ink-4); }

/* ── 表格 ─────────────────────────────────────────── */
table.grid { width: 100%; border-collapse: collapse; font-size: 13px; }
table.grid th, table.grid td {
  text-align: left; padding: 8px 10px;
  border-bottom: 1px solid var(--line-2); vertical-align: top;
}
table.grid th {
  background: var(--surface-2); font-weight: 600; font-size: 12px;
  color: var(--ink-2); border-bottom: 1px solid var(--line);
}
table.grid tr:last-child td { border-bottom: none; }
table.grid td.num { font-family: var(--mono); text-align: right; }

/* ── 指标条 ───────────────────────────────────────── */
.metrics { display: grid; grid-template-columns: repeat(4, 1fr); gap: 0;
           border: 1px solid var(--line); border-radius: var(--r-lg);
           overflow: hidden; background: var(--surface); margin-bottom: 14px; }
.metrics div { padding: 12px 14px; border-right: 1px solid var(--line-2); }
.metrics div:last-child { border-right: none; }
.metrics b { display: block; font-size: 19px; font-weight: 600; letter-spacing: -.2px; }
.metrics span { font-size: 11.5px; color: var(--ink-3); }

/* ── 对话 ─────────────────────────────────────────── */
.chatwrap { flex: 1; display: flex; flex-direction: column; overflow: hidden; }
.thread { flex: 1; overflow-y: auto; padding: 22px 0; }
.thread-inner { max-width: 780px; margin: 0 auto; padding: 0 22px; }

.msg { display: flex; gap: 11px; margin-bottom: 18px; }
.msg .who {
  width: 26px; height: 26px; flex: 0 0 auto; border-radius: var(--r);
  display: flex; align-items: center; justify-content: center;
  font-size: 11px; font-weight: 600;
  background: var(--surface-2); border: 1px solid var(--line); color: var(--ink-3);
}
.msg.bot .who { background: var(--accent); border-color: var(--accent); color: #fff; }
.msg .body { min-width: 0; flex: 1; }
.msg .body .txt { font-size: 13.8px; line-height: 1.8; white-space: pre-wrap; word-break: break-word; }
.msg.me { flex-direction: row-reverse; }
.msg.me .body .txt {
  background: var(--surface); border: 1px solid var(--line);
  border-radius: var(--r-lg); padding: 9px 13px; display: inline-block;
  max-width: 100%;
}
/* 引用块必须在气泡内独占整行：它曾被挂到 flex 行容器上而跑到右侧 */
.cites { display: block; width: 100%; margin-top: 8px; padding-top: 7px; border-top: 1px dashed var(--line); font-size: 11.5px; color: var(--ink-3); }
.cites b { font-weight: 500; color: var(--ink-2); }
.cites .c {
  display: inline-block; background: var(--surface-2); border: 1px solid var(--line-2);
  border-radius: 3px; padding: 1px 6px; margin: 3px 4px 0 0; font-family: var(--mono); font-size: 11px;
}

.typing { display: inline-flex; gap: 3px; padding: 4px 0; }
.typing i { width: 5px; height: 5px; border-radius: 50%; background: var(--ink-4); animation: tp 1.1s infinite; }
.typing i:nth-child(2) { animation-delay: .15s; }
.typing i:nth-child(3) { animation-delay: .3s; }
@keyframes tp { 0%,60%,100% { transform: translateY(0); opacity:.4 } 30% { transform: translateY(-3px); opacity:1 } }

.caret { display: inline-block; width: 6px; height: 13px; background: var(--accent);
         vertical-align: -2px; animation: cr 1s steps(2) infinite; margin-left: 1px; }
@keyframes cr { 0%,50% { opacity: 1 } 51%,100% { opacity: 0 } }

.composer { flex: 0 0 auto; border-top: 1px solid var(--line); background: var(--surface); padding: 12px 22px; }
.composer .inner { max-width: 780px; margin: 0 auto; display: flex; gap: 9px; align-items: flex-end; }
.composer textarea { flex: 1; max-height: 132px; min-height: 38px; }
.composer .foot { max-width: 780px; margin: 6px auto 0; font-size: 11.5px; color: var(--ink-4); }

.starter { max-width: 780px; margin: 0 auto; padding: 42px 22px 0; }
.starter h3 { margin: 0 0 6px; font-size: 15px; font-weight: 600; }
.starter p { margin: 0 0 18px; color: var(--ink-3); font-size: 13px; }
.starter .list { display: flex; flex-direction: column; gap: 0; border: 1px solid var(--line);
                 border-radius: var(--r-lg); overflow: hidden; background: var(--surface); }
.starter .list button {
  text-align: left; border: none; border-bottom: 1px solid var(--line-2);
  border-radius: 0; padding: 10px 14px; font-size: 13px; color: var(--ink-2); background: var(--surface);
}
.starter .list button:last-child { border-bottom: none; }
.starter .list button:hover { background: var(--surface-2); color: var(--ink); }

/* ── 步骤链 ───────────────────────────────────────── */
.steps { list-style: none; margin: 0; padding: 0; }
.steps li {
  display: flex; gap: 10px; align-items: flex-start;
  padding: 8px 0; border-bottom: 1px solid var(--line-2);
  font-size: 12.8px; color: var(--ink-3);
}
.steps li:last-child { border-bottom: none; }
.steps .n {
  width: 18px; height: 18px; flex: 0 0 auto; margin-top: 1px;
  border: 1px solid var(--line); border-radius: 50%;
  display: flex; align-items: center; justify-content: center;
  font-size: 10px; font-family: var(--mono); color: var(--ink-3);
  background: var(--surface);
}
.steps .t { flex: 1; min-width: 0; }
.steps .t b { font-weight: 500; display: block; color: var(--ink-2); }
.steps .t .sub { font-size: 11.5px; color: var(--ink-4); display: block; margin-top: 1px; }
.steps .ms { font-family: var(--mono); font-size: 11px; color: var(--ink-4); }
.steps li.run .n { border-color: var(--accent); color: var(--accent); }
.steps li.run .t b { color: var(--ink); }
.steps li.done .n { background: var(--ok); border-color: var(--ok); color: #fff; }
.steps li.done .t b { color: var(--ink); }
.steps li.fail .n { background: var(--err); border-color: var(--err); color: #fff; }
.steps li.fail .t b { color: var(--err); }

.answer {
  background: var(--surface-2); border: 1px solid var(--line);
  border-radius: var(--r); padding: 12px 14px; font-size: 13.2px; line-height: 1.8;
  white-space: pre-wrap; min-height: 64px;
}

/* ── 对比 ─────────────────────────────────────────── */
.vs { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
.vs .col { border: 1px solid var(--line); border-radius: var(--r); overflow: hidden; }
.vs .col .h {
  padding: 7px 11px; font-size: 12px; font-weight: 600;
  background: var(--surface-2); border-bottom: 1px solid var(--line);
}
.vs .col .b { padding: 10px 11px; font-size: 12.8px; line-height: 1.75; white-space: pre-wrap; }
.vs .col .b.empty { color: var(--ink-4); }
.vs .col.deny .h { color: var(--err); background: var(--err-2); border-bottom-color: #f3d7d4; }

/* ── 登录 ─────────────────────────────────────────── */
.gate {
  position: fixed; inset: 0; z-index: 100;
  background: var(--bg); display: flex; align-items: center; justify-content: center;
}
.gate .box {
  width: 340px; background: var(--surface);
  border: 1px solid var(--line); border-radius: var(--r-lg);
  padding: 22px;
}
.gate h2 { margin: 0 0 4px; font-size: 15px; font-weight: 600; }
.gate p { margin: 0 0 16px; font-size: 12.5px; color: var(--ink-3); line-height: 1.7; }
.gate input { width: 100%; margin-bottom: 10px; }
.gate button { width: 100%; }
.gate .err { margin-top: 10px; font-size: 12px; color: var(--err); min-height: 17px; }

/* ── 响应式 ───────────────────────────────────────── */
@media (max-width: 900px) {
  .rail { width: 52px; }
  .rail-head .name, .rail-head .env, .rail-nav .sec,
  .rail-nav a span:not(.ico), .rail-foot span { display: none; }
  .rail-nav a { justify-content: center; padding: 9px 0; }
  .metrics { grid-template-columns: repeat(2, 1fr); }
  .vs { grid-template-columns: 1fr; }
  .page { padding: 16px 14px 40px; }
}

/* ── 手机（<=640px）：页头必须换行，否则标题被挤成竖排 ───────────
 *
 * 实测问题：在 375px 宽的手机上打开门户，左侧栏虽然收成图标条，
 * 但页头仍是单行 flex（标题 + 副标题 + 复制链接 + 智能体下拉 + 清空），
 * 空间不够时标题被逐字换行，出现「智 / 能 / 问 / 答」竖着排的怪样子。
 *
 * 修法：窄屏下让页头**纵向堆叠**、控制区换行，并给标题加 nowrap 兜底
 * （宁可省略号也不要逐字断行）；同时把控件高度提到 36px，
 * 满足触屏点按（原来 20-25px 偏小）。
 */
@media (max-width: 640px) {
  .topbar {
    flex-direction: column;
    align-items: stretch;
    gap: 8px;
    padding: 10px 14px;
  }
  .topbar h1 {
    font-size: 15px;
    white-space: nowrap; overflow: hidden; text-overflow: ellipsis;
  }
  .topbar .sub {
    font-size: 12px;
    white-space: nowrap; overflow: hidden; text-overflow: ellipsis;
  }
  .topbar .acts {
    display: flex; flex-wrap: wrap; gap: 6px; align-items: center;
  }
  /* 触屏可点区域：按钮与下拉至少 36px 高 */
  button, select, .topbar .acts > * { min-height: 36px; }
  button.sm, .ghost.sm { min-height: 32px; }
  /* 输入框占满可用宽度，不再固定 220px */
  input[type="text"], input:not([type]), select { min-width: 0; width: 100%; }
  .ctrls { flex-direction: column; align-items: stretch; gap: 8px; }
  .ctrls label { margin-bottom: 0; }
  /* 正文与列表在窄屏下略微放大，保证可读 */
  .lede, .hint, .msg .body .txt, .block .bd p { font-size: 14px; line-height: 1.75; }
  table.grid { font-size: 12.5px; }
  .vs { grid-template-columns: 1fr; }
  .metrics { grid-template-columns: repeat(2, 1fr); }
}

/* ── 引用可点 + 语料原文浮层（用户要求"引用要能点开看详情"）────── */
.cites-hint { color: var(--ink-4); font-size: 11px; margin-left: 6px; }

button.c {
  font: inherit; font-family: var(--mono); font-size: 11px;
  background: var(--surface-2); border: 1px solid var(--line-2);
  border-radius: 3px; padding: 1px 6px; margin: 3px 4px 0 0;
  cursor: pointer; color: var(--ink-2); text-align: left;
}
button.c:hover { border-color: var(--accent); color: var(--accent); }
button.c.loading { opacity: .55; }

.srcpanel {
  position: fixed; right: 20px; bottom: 20px; width: 560px; max-width: calc(100vw - 40px);
  height: 460px; max-height: calc(100vh - 40px);
  background: var(--surface); border: 1px solid var(--line);
  border-radius: var(--r-lg); box-shadow: 0 10px 40px rgba(20,24,31,.18);
  display: none; flex-direction: column; z-index: 100000; overflow: hidden;
}
.srcpanel.open { display: flex; }
.srcpanel .srchd {
  display: flex; align-items: center; gap: 10px;
  padding: 10px 12px; border-bottom: 1px solid var(--line); background: var(--surface-2);
}
.srcpanel .srchd b {
  font-family: var(--mono); font-size: 12px; font-weight: 600;
  overflow: hidden; text-overflow: ellipsis; white-space: nowrap;
}
.srcpanel .srcmeta { font-size: 11.5px; color: var(--ink-3); flex: 1 0 auto; }
.srcpanel .srchd button {
  font-size: 12px; padding: 3px 9px; border: 1px solid var(--line);
  border-radius: 4px; background: var(--surface); cursor: pointer;
}
.srcpanel pre {
  flex: 1; margin: 0; padding: 12px 14px; overflow: auto;
  font-family: var(--mono); font-size: 12px; line-height: 1.75;
  white-space: pre-wrap; word-break: break-word; color: var(--ink-2);
}
@media (max-width: 700px) { .srcpanel { width: calc(100vw - 24px); right: 12px; bottom: 12px; } }

/* ── 语料原文浮层：渲染模式下的文档排版 ──────────────────────
 * 语料是 Markdown 源文件，默认渲染后展示；这里给出适合阅读的排版，
 * 与站内其它内容保持同一套变量，不引入第二套视觉语言。 */
.srcpanel #__ak_src_body { flex: 1; overflow: auto; }
.srcdoc { padding: 14px 16px; font-size: 13.2px; line-height: 1.85; color: var(--ink-2); }
.srcdoc h3, .srcdoc h4, .srcdoc h5 {
  margin: 16px 0 8px; font-size: 13.5px; font-weight: 600; color: var(--ink);
}
.srcdoc h3:first-child, .srcdoc h4:first-child, .srcdoc h5:first-child { margin-top: 0; }
.srcdoc p { margin: 0 0 10px; }
.srcdoc ol, .srcdoc ul { margin: 0 0 10px; padding-left: 22px; }
.srcdoc li { margin: 3px 0; }
.srcdoc strong { font-weight: 600; color: var(--ink); }
.srcdoc code {
  font-family: var(--mono); font-size: 12px;
  background: var(--surface-2); border: 1px solid var(--line-2);
  border-radius: 3px; padding: 0 4px;
}
.srcdoc table.md { border-collapse: collapse; width: 100%; margin: 0 0 10px; font-size: 12.5px; }
.srcdoc table.md th, .srcdoc table.md td { border: 1px solid var(--line); padding: 4px 7px; text-align: left; }
.srcdoc table.md th { background: var(--surface-2); font-weight: 600; }
.srcdoc hr { border: none; border-top: 1px solid var(--line); margin: 14px 0; }

/* ── 通知送达状态：把"已真实到达"与"仅本地留档"分开显示 ──────
 * 演示里最容易含糊的就是这一步：消息到底出没出去。
 * 绿框=飞书确认收到；黄框=只落在本地接收端。 */
.okbox, .warnbox {
  font-size: 12.5px; padding: 7px 10px; border-radius: var(--r);
  margin-bottom: 10px; border: 1px solid;
}
.okbox { color: #1f6f43; background: #eef7f1; border-color: #cfe6da; }
.warnbox { color: #8a5a00; background: #fdf6e6; border-color: #f0e0b8; }

/* ── 金桥品牌 ───────────────────────────────────────────────
 * logo 由金桥官网 logo 处理而来（白底抠透明、裁边），
 * 见 工具/prep-jinqiao-logo.py。高度用 em 跟随字号，避免不同页头错位。
 */
.brand-logo { height: 46px; width: auto; display: block; }
.brand { display: flex; align-items: center; gap: 14px; flex-wrap: wrap; }
.brand-text { display: flex; align-items: baseline; gap: 10px; flex-wrap: wrap; }
/* 小屏把 logo 收小，不挤掉标题 */
@media (max-width: 640px) {
  .brand-logo { height: 32px; }
}
.phead-logo { height: 22px; width: auto; vertical-align: -5px; margin-right: 8px; }

/* ── 首页页眉（主动重排，2026-10-14）─────────────────────────────
 * 原来 logo/标题挤左侧、右侧空着，版本号用 margin-left:auto 飘在中间像漏排；
 * 长描述占三行冲淡标题。改为「品牌行 + 说明条」两段式。
 */
.brandbar{
  display:flex; align-items:center; gap:18px;
  padding:16px 0 14px; border-bottom:2px solid var(--ink);
}
.brandbar-logo{ height:54px; width:auto; display:block; flex:0 0 auto; }
.brandbar-txt{ min-width:0; }
.brandbar-txt h1{
  margin:0; font-size:27px; font-weight:800; letter-spacing:.3px; line-height:1.2;
  display:flex; align-items:baseline; gap:10px; flex-wrap:wrap;
}
.brandbar-txt h1 span{
  font-size:16px; font-weight:400; color:var(--ink-3); letter-spacing:0;
}
.brandbar-txt p{
  margin:5px 0 0; font-size:14px; color:var(--ink-3); line-height:1.5;
}
.brandbar-r{
  margin-left:auto; display:flex; align-items:center; gap:8px; flex:0 0 auto;
}
.badge-soft{
  font-family:var(--mono); font-size:12px; color:var(--ink-3);
  background:var(--surface-2); border:1px solid var(--line-2);
  border-radius:999px; padding:4px 11px; white-space:nowrap;
}
.badge-soft:empty{ display:none; }   /* 版本号拉取前不占位 */

/* 说明条：左边一句总述，右边四要点 */
.ledebar{
  display:flex; align-items:center; gap:22px; flex-wrap:wrap;
  padding:13px 0 0;
}
.ledebar-txt{
  margin:0; font-size:14.5px; color:var(--ink-2); line-height:1.65;
  flex:1 1 520px; min-width:0;
}
.ledebar-facts{
  list-style:none; margin:0; padding:0; flex:0 0 auto;
  display:flex; align-items:center; gap:0; flex-wrap:wrap;
  font-size:13.5px; color:var(--ink-3);
}
.ledebar-facts li{
  padding:0 14px; border-left:1px solid var(--line);
  line-height:1.5; white-space:nowrap;
}
.ledebar-facts li:first-child{ border-left:none; padding-left:0; }
.ledebar-facts li:last-child{ padding-right:0; }
.ledebar-facts b{ color:var(--ink); font-size:15px; }
.ledebar-sub{
  margin:9px 0 0; font-size:13px; color:var(--ink-4); line-height:1.5;
}

/* 小屏：要点条换行、右对齐项贴左 */
@media (max-width:820px){
  .brandbar{ flex-wrap:wrap; gap:12px; }
  .brandbar-logo{ height:42px; }
  .brandbar-txt h1{ font-size:22px; }
  .brandbar-r{ margin-left:0; }
  .ledebar-facts{ width:100%; justify-content:flex-start; }
  .ledebar-facts li:first-child{ padding-left:0; }
}
