/* 问一问（/ask）——员工唯一的提问入口。只引用 tokens.css 语义层，不得出现裸色值。 */

/* display:flex 之类会盖掉 hidden 属性，全页兜一句（CLAUDE.md 前端规矩） */
[hidden] { display: none !important; }

body { margin: 0; background: var(--surface-sunken); color: var(--text-primary);
       font: var(--fs-sm)/var(--lh-sm) var(--font-sans, -apple-system, "PingFang SC", system-ui, sans-serif); }

.ak-app { max-width: 920px; margin: 0 auto; min-height: 100dvh;
          display: flex; flex-direction: column; padding: var(--sp-5) var(--sp-4) var(--sp-4); box-sizing: border-box; }

/* 内嵌进控制台时外壳已有页头，自己的标题让位（与 photos/library 同一条约定） */
:root[data-embedded="1"] .ak-app { padding-top: var(--sp-3); }
:root[data-embedded="1"] .ak-who { display: none; }

.ak-top { display: flex; align-items: flex-start; gap: var(--sp-4); margin-bottom: var(--sp-4); }
.ak-top h1 { font-size: var(--fs-lg); margin: 0 0 4px; }
.ak-sub { margin: 0; color: var(--text-muted); font-size: var(--fs-xs); line-height: var(--lh-sm); max-width: 62ch; }
.ak-who { margin-left: auto; flex: none; width: 34px; height: 34px; border-radius: var(--radius-full);
          border: var(--bw-hair) solid var(--border); background: var(--surface);
          color: var(--text-secondary); font-size: var(--fs-xs); cursor: pointer; }
.ak-who:hover { background: var(--surface-hover); }

.ak-body { flex: 1; background: var(--surface); border: var(--bw-hair) solid var(--border);
           border-radius: var(--radius-md); box-shadow: var(--shadow-1);
           padding: var(--sp-5); overflow-y: auto; min-height: 320px;
           display: flex; flex-direction: column; gap: var(--sp-3); }

.ak-welcome { color: var(--text-muted); font-size: var(--fs-sm); }
.ak-welcome p { margin: 0 0 var(--sp-2); }
.ak-suggests { display: flex; flex-wrap: wrap; gap: var(--sp-2); }
.ak-suggests button { border: var(--bw-hair) solid var(--border-strong); border-radius: var(--radius-full);
                      background: var(--surface); color: var(--text-secondary);
                      padding: 6px var(--sp-3); font-size: var(--fs-xs); cursor: pointer; }
.ak-suggests button:hover { background: var(--surface-hover); color: var(--text-primary); }

/* ---------- 气泡 ---------- */
.ak-msg { max-width: 78%; padding: var(--sp-2) var(--sp-3); border-radius: var(--radius-md);
          font-size: var(--fs-sm); line-height: var(--lh-sm); word-break: break-word; }
.ak-msg.me { align-self: flex-end; background: var(--accent); color: var(--text-on-accent);
             border-bottom-right-radius: 4px; white-space: pre-wrap; }
.ak-msg.ai { align-self: flex-start; background: var(--surface-sunken);
             border: var(--bw-hair) solid var(--border-subtle); border-bottom-left-radius: 4px;
             width: fit-content; min-width: min(100%, 380px); }
.ak-msg.ai.is-loading { color: var(--text-muted); }
.ak-answer { white-space: pre-wrap; }

/* 出处：不是装饰，是「这句话凭什么这么说」 */
.ak-cites { margin-top: var(--sp-3); padding-top: var(--sp-2);
            border-top: var(--bw-hair) dashed var(--border-subtle); }
.ak-cites-t { color: var(--text-muted); font-size: 11px; margin-bottom: var(--sp-1); }
.ak-cite { display: inline-flex; align-items: center; gap: 4px; margin: 2px var(--sp-1) 2px 0;
           border: var(--bw-hair) solid var(--accent-soft-border); border-radius: var(--radius-full);
           background: var(--accent-soft-bg); color: var(--accent-soft-fg);
           padding: 2px var(--sp-2); font-size: 11px; font-weight: var(--fw-semibold); }
.ak-cite i { font-style: normal; opacity: .7; font-weight: var(--fw-regular); }

/* 答不上来：换成提醒色，转工厂做成主按钮——这是此刻唯一该做的事 */
.ak-msg.ai.cant { background: var(--warning-bg); border-color: var(--warning-border); }
.ak-cant-head { display: flex; align-items: center; gap: var(--sp-2);
                font-weight: var(--fw-semibold); color: var(--warning-fg); }
.ak-cant-why { margin-top: var(--sp-2); color: var(--text-secondary); white-space: pre-line;
               font-size: var(--fs-xs); line-height: var(--lh-sm); }

/* 每条答案下面的动作条 */
.ak-acts { display: flex; flex-wrap: wrap; gap: var(--sp-2); margin-top: -4px; align-self: flex-start; max-width: 78%; }
.ak-act { border: var(--bw-hair) solid var(--border-strong); border-radius: var(--radius-full);
          background: var(--surface); color: var(--text-secondary);
          padding: 4px var(--sp-3); font-size: var(--fs-xs); cursor: pointer; }
.ak-act:hover:not(:disabled) { background: var(--surface-hover); color: var(--text-primary); }
.ak-act:disabled { opacity: .55; cursor: default; }
.ak-act.is-on { background: var(--success-bg); border-color: var(--success-border); color: var(--success-fg); }
.ak-act.primary { background: var(--accent); border-color: var(--accent); color: var(--text-on-accent);
                  font-weight: var(--fw-semibold); }
.ak-act.primary:hover:not(:disabled) { background: var(--accent-hover); color: var(--text-on-accent); }
/* 找谁（10-16）：「去有问题找谁发给 TA」放在回复卡片里、紧跟答案 */
.ak-msg .ak-who-go { display: inline-block; margin: var(--sp-2) 0; white-space: normal; text-align: left; }
/* 点 👎 之后的留言框 */
.ak-note { align-self: flex-start; width: min(560px, 78%); margin-top: -4px; }
.ak-note textarea { width: 100%; box-sizing: border-box; border: var(--bw-hair) solid var(--border-strong);
                    border-radius: var(--radius-sm); background: var(--surface); color: var(--text-primary);
                    padding: var(--sp-2) var(--sp-3); font: inherit; font-size: var(--fs-xs); resize: vertical; }
.ak-note textarea:focus { outline: none; border-color: var(--accent); }
.ak-note-row { display: flex; align-items: center; justify-content: space-between; gap: var(--sp-2); margin-top: 4px; font-size: 11px; }
.ak-note-done { margin: 0; font-size: var(--fs-xs); color: var(--text-secondary); line-height: var(--lh-sm); }
.ak-note-edit { border: 0; background: none; color: var(--accent); cursor: pointer; font-size: var(--fs-xs); padding: 0 var(--sp-1); }
.ak-hint { align-self: flex-start; max-width: 78%; margin-top: -4px;
           color: var(--text-muted); font-size: 11px; }

/* ---------- 输入 ---------- */
.ak-input { display: flex; gap: var(--sp-2); align-items: center; margin-top: var(--sp-3);
            padding: var(--sp-2); border: var(--bw-hair) solid var(--border-control);
            border-radius: var(--radius-md); background: var(--surface); }
.ak-input:focus-within { border-color: var(--accent); }
.ak-input { align-items: flex-end; }
.ak-input textarea { flex: 1; border: 0; background: transparent; outline: none; resize: none;
                     padding: var(--sp-2); font: inherit; font-size: var(--fs-sm); line-height: var(--lh-sm);
                     color: var(--text-primary); max-height: 180px; overflow-y: auto; }
/* 2026-09-29 老板：「这里的字能不能灰一点，就不要抢了，整个看上去很花」——提示改成一句短话、字小一号；
   颜色已是 --text-placeholder（可读性底线，不能再浅） */
.ak-input textarea::placeholder { color: var(--text-placeholder); font-size: var(--fs-xs); }
.ak-send { height: var(--ctl-h); padding: 0 var(--sp-4); border: 0; border-radius: var(--radius-sm);
           background: var(--accent); color: var(--text-on-accent);
           font-size: var(--fs-sm); font-weight: var(--fw-medium); cursor: pointer; }
.ak-send:hover:not(:disabled) { background: var(--accent-hover); }
.ak-send:disabled { opacity: .55; cursor: not-allowed; }
.ak-note { margin: var(--sp-2) 0 0; color: var(--text-muted); font-size: var(--fs-xs); }

/* ---------- 按要求找品 ---------- */
.ak-msg.ai.pick { max-width: 100%; width: 100%; box-sizing: border-box; background: var(--surface); }
.ak-pick-h { font-weight: var(--fw-semibold); font-size: var(--fs-md); }
/* 推荐理由：好的用成功色、要留意的用警告色；内部参考 */
.ak-why { margin: var(--sp-1) 0 0; font-size: 11px; line-height: var(--lh-sm); color: var(--text-secondary); }
.ak-why .good { color: var(--success-fg); }
.ak-why .bad { color: var(--warning-fg); }
/* 推荐卡上的价（10-24 反馈 #83）：按看的人现取，内部参考 */
.ak-price { margin: var(--sp-1) 0 0; font-size: var(--fs-xs); color: var(--text-secondary); }
.ak-price b { color: var(--text-primary); font-weight: var(--fw-semibold); }
.ak-rule-more { margin: 0 0 var(--sp-2); font-size: 11px; color: var(--text-muted); }
.ak-rule-more summary { cursor: pointer; }
.ak-rule { margin: var(--sp-1) 0 var(--sp-2); color: var(--text-muted); font-size: 11px; line-height: var(--lh-sm); }
.ak-warn { margin: var(--sp-1) 0; padding: var(--sp-1) var(--sp-2); border-radius: var(--radius-sm);
           background: var(--warning-bg); border: var(--bw-hair) solid var(--warning-border); color: var(--warning-fg);
           font-size: var(--fs-xs); }
.ak-need { margin-top: var(--sp-4); padding-top: var(--sp-3); border-top: var(--bw-hair) solid var(--border-subtle); }
.ak-need-t { margin: 0; font-size: var(--fs-sm); }
.ak-need-t small { margin-left: var(--sp-2); font-weight: var(--fw-regular); color: var(--text-muted); font-size: 11px; }
.ak-need-raw { margin: var(--sp-1) 0; color: var(--text-secondary); font-size: var(--fs-xs); }
.ak-pts { display: flex; flex-direction: column; gap: 4px; margin: var(--sp-2) 0; }
.ak-pts > div { display: flex; flex-wrap: wrap; gap: 4px; align-items: center; }
.ak-pts-k { color: var(--text-muted); font-size: 11px; min-width: 3.5em; }
.ak-chip { border-radius: var(--radius-full); padding: 1px var(--sp-2); font-size: 11px;
           background: var(--accent-soft-bg); color: var(--accent-soft-fg); border: var(--bw-hair) solid var(--accent-soft-border); }
.ak-chip.soft { background: var(--neutral-bg); color: var(--neutral-fg); border-color: var(--neutral-border); }
.ak-chip.no { background: var(--danger-bg); color: var(--danger-fg); border-color: var(--danger-border); }
.ak-cands { display: grid; grid-template-columns: repeat(auto-fill, minmax(300px, 1fr)); gap: var(--sp-3); margin-top: var(--sp-2); }
/* 写明不符合要求的款（10-26）：收起来放最后，点开照常是卡片 */
.ak-cand-off { margin-top: var(--sp-2); }
.ak-cand-off > summary { cursor: pointer; width: max-content; color: var(--text-muted); font-size: var(--fs-xs); }
.ak-cand-off .ak-cand { opacity: .75; }
/* 以前给这个国家出过的同类款（10-26） */
.ak-hist { margin: var(--sp-2) 0; padding: var(--sp-2) var(--sp-3); border-radius: var(--radius-sm); font-size: var(--fs-xs);
           background: var(--accent-soft-bg); border: var(--bw-hair) solid var(--accent-soft-border); }
p.ak-hist { background: none; border: 0; padding: 0; }
/* 要求原样对不上时最接近的款（10-26） */
.ak-near { margin: var(--sp-2) 0; padding: var(--sp-2) var(--sp-3); border-radius: var(--radius-sm); font-size: var(--fs-xs);
           background: var(--warning-bg); border: var(--bw-hair) solid var(--warning-border); }
.ak-near ul { margin: var(--sp-1) 0; padding-left: 1.2em; }
.ak-near li { margin: 2px 0; }
.ak-hist ul { margin: var(--sp-1) 0 0; padding-left: 1.2em; }
.ak-hist li { margin: 2px 0; }
.ak-cand { display: flex; gap: var(--sp-3); padding: var(--sp-3); border: var(--bw-hair) solid var(--border);
           border-radius: var(--radius-md); background: var(--surface); min-width: 0; }
.ak-cand-img { flex: none; width: 88px; height: 88px; object-fit: contain; border-radius: var(--radius-sm);
               background: var(--surface-sunken); }
.ak-cand-img.none { display: flex; align-items: center; justify-content: center; text-align: center;
                    color: var(--text-muted); font-size: 11px; line-height: 1.4; }
.ak-cand-body { min-width: 0; flex: 1; }
.ak-cand-code { font: var(--fw-semibold) var(--fs-xs) var(--font-mono, ui-monospace, monospace);
                display: flex; flex-wrap: wrap; gap: 4px; align-items: center; }
.ak-cand-name { margin-top: 2px; font-size: var(--fs-xs); line-height: var(--lh-sm); }
.ak-tag { border-radius: var(--radius-full); padding: 0 6px; font: var(--fw-regular) 11px var(--font-sans, sans-serif);
          background: var(--neutral-bg); color: var(--neutral-fg); border: var(--bw-hair) solid var(--neutral-border); }
.ak-tag.ok { background: var(--success-bg); color: var(--success-fg); border-color: var(--success-border); }
.ak-muted { color: var(--text-muted); font-size: 11px; }
.ak-say { margin: var(--sp-1) 0 0; font-size: 11px; color: var(--text-secondary); }
.ak-checks { list-style: none; margin: var(--sp-2) 0 0; padding: 0; display: flex; flex-direction: column; gap: 3px;
             font-size: 11px; line-height: 1.45; }
.ak-checks li b { font-weight: var(--fw-semibold); }
.ak-checks li.ok b { color: var(--success-fg); }
.ak-checks li.no b { color: var(--danger-fg); }
.ak-checks li.unk b { color: var(--warning-fg); }
.ak-src { color: var(--text-muted); word-break: break-word; }
.ak-by { font-style: normal; font-size: 10px; padding: 0 4px; border-radius: var(--radius-sm);
         background: var(--info-bg); color: var(--info-fg); border: var(--bw-hair) solid var(--info-border); }
.ak-restrict { margin: var(--sp-2) 0 0; padding: 2px var(--sp-2); border-radius: var(--radius-sm); font-size: 11px;
               background: var(--danger-bg); color: var(--danger-fg); border: var(--bw-hair) solid var(--danger-border); }
.ak-same { margin: var(--sp-1) 0 0; color: var(--text-muted); font-size: 11px; }
.ak-links { display: flex; flex-wrap: wrap; gap: var(--sp-3); margin-top: var(--sp-2); font-size: var(--fs-xs); }
.ak-links a { color: var(--accent); text-decoration: none; font-weight: var(--fw-medium); }
.ak-links a:hover { text-decoration: underline; }
.ak-none { margin: var(--sp-2) 0 0; padding: var(--sp-2) var(--sp-3); border-radius: var(--radius-sm);
           background: var(--warning-bg); border: var(--bw-hair) solid var(--warning-border); color: var(--text-secondary);
           font-size: var(--fs-xs); }
.ak-draft { margin-top: var(--sp-4); padding: var(--sp-3); border-radius: var(--radius-md);
            border: var(--bw-hair) solid var(--accent-soft-border); background: var(--accent-soft-bg); }
.ak-draft.is-wait { color: var(--text-muted); border-style: dashed; background: var(--surface-sunken); border-color: var(--border); }
.ak-draft.is-off { background: var(--warning-bg); border-color: var(--warning-border); font-size: var(--fs-xs); }
.ak-draft.is-off p { margin: 0 0 var(--sp-2); }
.ak-draft-h { display: flex; align-items: center; justify-content: space-between; gap: var(--sp-2); }
.ak-draft-t { margin: var(--sp-2) 0; white-space: pre-wrap; word-break: break-word; font: inherit; font-size: var(--fs-sm);
              background: var(--surface); border: var(--bw-hair) solid var(--border-subtle); border-radius: var(--radius-sm);
              padding: var(--sp-2) var(--sp-3); }
/* 可以回客户的话（统一一块，10-26）：抬头一行 = 标题 + 换语言 / 短一点 / 热情点 + 复制；窄屏自动折行 */
.ak-reply .ak-draft-h { flex-wrap: wrap; }
.ak-reply-ctl { display: inline-flex; align-items: center; gap: var(--sp-1); flex: 1; flex-wrap: wrap; margin-left: var(--sp-2); }
.ak-reply-ctl select { height: 26px; padding: 0 var(--sp-1); font-size: var(--fs-xs); border-radius: var(--radius-sm);
                       border: var(--bw-hair) solid var(--border); background: var(--surface); color: var(--text); }
.ak-reply-ctl .ak-act { font-size: var(--fs-xs); }
.ak-reply-wait { margin: var(--sp-2) 0; color: var(--text-muted); font-size: var(--fs-sm); }

/* ---------- 同行对比（2026-09-28）---------- */
.ak-tool { flex: none; align-self: flex-end; height: var(--ctl-h); padding: 0 var(--sp-3);
           border: var(--bw-hair) solid var(--border-strong); border-radius: var(--radius-sm);
           background: var(--surface); color: var(--text-secondary); font-size: var(--fs-xs); cursor: pointer; }
.ak-tool:hover { background: var(--surface-hover); color: var(--text-primary); }
.ak-tool.is-on { background: var(--accent-soft-bg); border-color: var(--accent-soft-border); color: var(--accent-soft-fg);
                 font-weight: var(--fw-semibold); }
.ak-cmp-panel { margin-top: var(--sp-3); padding: var(--sp-2) var(--sp-3); border-radius: var(--radius-md);
                border: var(--bw-hair) solid var(--accent-soft-border); background: var(--accent-soft-bg); font-size: var(--fs-xs); }
.ak-cmp-panel-h { display: flex; gap: var(--sp-2); align-items: flex-start; }
.ak-cmp-panel-h p { margin: 0; flex: 1; color: var(--text-secondary); line-height: var(--lh-sm); }
.ak-x { flex: none; width: 28px; height: 28px; border: 0; border-radius: var(--radius-sm); background: transparent;
        color: var(--text-muted); font-size: var(--fs-lg); line-height: 1; cursor: pointer; }
.ak-x:hover { background: var(--surface-hover); color: var(--text-primary); }
.ak-cmp-imgs { display: flex; flex-wrap: wrap; gap: var(--sp-2); }
.ak-cmp-imgs:not(:empty) { margin-top: var(--sp-2); }
.ak-thumb { position: relative; margin: 0; width: 72px; height: 72px; border-radius: var(--radius-sm);
            border: var(--bw-hair) solid var(--border); background: var(--surface); }
.ak-thumb img { width: 100%; height: 100%; object-fit: contain; border-radius: var(--radius-sm); }
.ak-thumb button { position: absolute; top: -8px; right: -8px; width: 22px; height: 22px; border-radius: var(--radius-full);
                   border: var(--bw-hair) solid var(--border-strong); background: var(--surface); color: var(--text-secondary);
                   font-size: var(--fs-xs); line-height: 1; cursor: pointer; padding: 0; }
.ak-thumb button:hover { background: var(--danger-bg); color: var(--danger-fg); border-color: var(--danger-border); }
.ak-cmp-pick { display: flex; flex-wrap: wrap; align-items: center; gap: var(--sp-2); margin-top: var(--sp-2); }
.ak-cmp-pick label { display: inline-block; }

.ak-cmp-stop { display: flex; flex-direction: column; align-items: flex-start; gap: var(--sp-2); padding: var(--sp-2) var(--sp-3); }
.ak-cmp-stop p { margin: 0; }
.ak-rival { margin-top: var(--sp-3); padding: var(--sp-2) var(--sp-3); border-radius: var(--radius-md);
            border: var(--bw-hair) dashed var(--warning-border); background: var(--warning-bg); }
.ak-rival-h { display: flex; align-items: center; gap: var(--sp-2); font-size: var(--fs-xs); }
.ak-rival-t { margin: 2px 0; font-size: var(--fs-sm); color: var(--text-primary); word-break: break-word; }
.ak-rival a { color: var(--accent); }
.ak-tag.warn { background: var(--warning-bg); color: var(--warning-fg); border-color: var(--warning-border); }
.ak-need-t small { display: inline; }
.ak-msg.ai.cmp .ak-need-t { margin-top: var(--sp-4); }

.ak-cmp-wrap { margin-top: var(--sp-3); overflow-x: auto; border: var(--bw-hair) solid var(--border); border-radius: var(--radius-md); }
.ak-cmp { width: 100%; border-collapse: collapse; font-size: 11px; line-height: 1.45; }
.ak-cmp th, .ak-cmp td { padding: var(--sp-1) var(--sp-2); border-bottom: var(--bw-hair) solid var(--border-subtle);
                         text-align: left; vertical-align: top; min-width: 120px; }
.ak-cmp thead th { background: var(--surface-sunken); font-family: var(--font-mono, ui-monospace, monospace);
                   font-weight: var(--fw-semibold); white-space: nowrap; }
.ak-cmp tbody tr:last-child th, .ak-cmp tbody tr:last-child td { border-bottom: 0; }
.ak-cmp th[scope="row"] { min-width: 72px; font-weight: var(--fw-semibold); color: var(--text-primary); }
.ak-cmp th small { display: block; font-weight: var(--fw-regular); color: var(--text-muted); font-family: var(--font-sans, sans-serif); }
.ak-cmp td b { display: block; color: var(--text-primary); font-size: var(--fs-xs); }
.ak-cmp .is-rival { background: var(--warning-bg); }
.ak-cmp thead .is-rival { color: var(--warning-fg); }
.ak-cmp td.is-none { color: var(--text-muted); }
.ak-cmp td.is-wait { color: var(--text-muted); font-style: italic; }
.ak-asks { margin-top: var(--sp-3); font-size: var(--fs-xs); }
.ak-asks ul { margin: var(--sp-1) 0 0; padding-left: var(--sp-5); color: var(--text-secondary); }

@media (max-width: 640px) {
  .ak-cands { grid-template-columns: 1fr; }
  .ak-tool { padding: 0 var(--sp-2); }
  .ak-msg, .ak-acts, .ak-hint { max-width: 100%; }
  .ak-msg.ai { min-width: 0; }
}

/* ---------- 大家在问（2026-09-28）：右侧抽屉，只读 ---------- */
.ak-all-btn { margin-left: auto; flex: none; }
.ak-all-btn + .ak-who { margin-left: var(--sp-2); }
.ak-tag.bad { background: var(--danger-bg); color: var(--danger-fg); border-color: var(--danger-border); }
.ak-drawer { position: fixed; top: 0; right: 0; bottom: 0; width: min(620px, 100%); z-index: var(--z-popover);
             background: var(--surface); border-left: var(--bw-hair) solid var(--border-strong); box-shadow: var(--shadow-3);
             display: flex; flex-direction: column; }
.ak-drawer-h { flex: none; display: flex; align-items: center; gap: var(--sp-2); padding: var(--sp-3) var(--sp-4);
               border-bottom: var(--bw-hair) solid var(--border-strong); }
.ak-drawer-h b { flex: 1; font-size: var(--fs-md); }
.ak-back { border: 0; background: none; color: var(--accent); cursor: pointer; font-size: var(--fs-sm); padding: 0; }
.ak-drawer-list, .ak-drawer-one { flex: 1; overflow-y: auto; padding: var(--sp-3) var(--sp-4) var(--sp-6); }
.ak-drawer-one { display: flex; flex-direction: column; gap: var(--sp-3); }
.ak-drawer-q { width: 100%; box-sizing: border-box; border: var(--bw-hair) solid var(--border-strong); border-radius: var(--radius-sm);
               padding: var(--sp-2) var(--sp-3); font: inherit; font-size: var(--fs-sm); background: var(--surface); color: var(--text-primary); }
.ak-drawer-q:focus { outline: none; border-color: var(--accent); }
/* 大家在问·筛选（10-23）：谁问的 / 类型 / 时间 / 评价 */
.ak-drawer-f { display: flex; flex-wrap: wrap; align-items: center; gap: var(--sp-1); margin: var(--sp-2) 0 0; }
.ak-drawer-f select { font: inherit; font-size: 12px; max-width: 48%; padding: 3px 6px; color: inherit; background: var(--surface);
  border: var(--bw-hair) solid var(--border-strong); border-radius: var(--radius-sm); cursor: pointer; }
.ak-drawer-f select:focus { outline: none; border-color: var(--accent); }
.ak-f-clear { font: inherit; font-size: 12px; padding: 3px 8px; color: var(--accent); background: none; border: 0; cursor: pointer; }
.ak-f-n { font-size: 11px; color: var(--text-muted); }
.ak-all-item { display: block; width: 100%; text-align: left; cursor: pointer; background: var(--surface);
               border: 0; border-bottom: var(--bw-hair) solid var(--border-strong); padding: var(--sp-3) 0; font: inherit; color: var(--text-primary); }
.ak-all-item:hover { background: var(--surface-hover); }
.ak-all-meta { display: flex; flex-wrap: wrap; align-items: center; gap: 6px; margin: 0; font-size: 11px; color: var(--text-muted); }
.ak-all-meta b { color: var(--text-secondary); }
.ak-all-q { display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden;
            margin-top: 4px; font-size: var(--fs-sm); line-height: var(--lh-sm); white-space: pre-wrap; word-break: break-word; }
.ak-all-a { display: block; margin-top: 2px; font-size: var(--fs-xs); color: var(--text-muted);
            white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.ak-ro .ak-msg { max-width: 100%; }
.ak-ro .ak-msg.me { align-self: flex-end; white-space: pre-wrap; word-break: break-word; }
/* 只读：除了「复制回客户的话」，别的动作（再让 AI 核对、改用截图…）只有提问人自己能点 */
.ak-ro [data-act]:not([data-act="copy"]):not([data-act="cmp-copy"]) { display: none; }
.ak-ro-note { margin: 0; font-size: var(--fs-xs); color: var(--text-secondary); line-height: var(--lh-sm); white-space: pre-wrap; }
.ak-ro-acts { display: flex; align-items: center; gap: var(--sp-2); flex-wrap: wrap; }

/* ---------- 产品卡 / 目录页 当页浮层 ---------- */
.ak-view { position: fixed; inset: 0; z-index: var(--z-modal); background: var(--overlay);
           display: flex; align-items: center; justify-content: center; padding: var(--sp-4); }
.ak-view-box { width: min(1100px, 100%); height: min(92dvh, 100%); background: var(--surface); border-radius: var(--radius-md);
               box-shadow: var(--shadow-3); display: flex; flex-direction: column; overflow: hidden; }
.ak-view-h { flex: none; display: flex; align-items: center; gap: var(--sp-3); padding: var(--sp-2) var(--sp-3) var(--sp-2) var(--sp-4);
             border-bottom: var(--bw-hair) solid var(--border-strong); }
.ak-view-h b { flex: 1; font-size: var(--fs-sm); }
.ak-view-h a { font-size: var(--fs-xs); color: var(--accent); }
.ak-view-box iframe { flex: 1; width: 100%; border: 0; background: var(--surface); }
@media (max-width: 640px) { .ak-view { padding: 0; } .ak-view-box { height: 100dvh; border-radius: 0; } }

/* ---------- 等待进度（2026-09-28 提速） ---------- */
.ak-wait-t { display: block; }
.ak-wait-s { display: block; margin-top: 4px; font-size: 11px; color: var(--text-muted); line-height: var(--lh-sm); }
.ak-cached { margin: var(--sp-2) 0 0; font-size: 11px; color: var(--text-muted); line-height: var(--lh-sm); }
/* 问一问搞不定、自动转给开发 AI 查的（2026-10-18，ask.js escalatedHtml） */
.ak-esc { margin: var(--sp-2) 0; padding: var(--sp-2) var(--sp-3); border-radius: var(--radius-sm); font-size: var(--fs-xs);
          line-height: var(--lh-sm); background: var(--info-bg); color: var(--info-fg); border: var(--bw-hair) solid var(--info-border); }
.ak-esc p { margin: var(--sp-1) 0 0; }
.ak-esc-h { font-weight: var(--fw-medium); }
.ak-esc.is-done { background: var(--accent-soft-bg); color: var(--text-primary); border-color: var(--accent-soft-border); }
.ak-esc-r { margin-top: var(--sp-1); white-space: pre-wrap; word-break: break-word; }

/* ---------- 2026-09-29 老板：「入口应该在最上面，不用滚到最下面去」；以前问过的收成一行，感兴趣才点开 ---------- */
.ak-input { margin-top: 0; }
.ak-cmp-panel { margin: 0 0 var(--sp-2); }
.ak-app > .ak-note { margin: var(--sp-2) 0 var(--sp-3); font-size: 11px; line-height: var(--lh-sm); }
.ak-body { min-height: 0; }
.ak-list { display: flex; flex-direction: column; gap: var(--sp-2); }
.ak-list:empty { display: none; }
.ak-turn, .ak-turn-body { display: flex; flex-direction: column; gap: var(--sp-3); }
.ak-turn:not(.is-folded) { padding-bottom: var(--sp-3); }
.ak-turn.is-folded .ak-turn-body { display: none; }
.ak-fold { display: flex; align-items: center; gap: var(--sp-2); width: 100%; min-width: 0; box-sizing: border-box;
           text-align: left; cursor: pointer; border: var(--bw-hair) solid var(--border-subtle); border-radius: var(--radius-sm);
           background: var(--surface); padding: var(--sp-2) var(--sp-3); font: inherit; font-size: var(--fs-xs);
           color: var(--text-secondary); }
.ak-fold:hover { background: var(--surface-hover); }
.ak-fold .ak-tag { flex: none; }
.ak-fold-q { flex: 0 1 auto; max-width: 55%; min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap;
             color: var(--text-primary); font-weight: var(--fw-medium); }
.ak-fold-a { flex: 1 1 0; min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; color: var(--text-muted); }
.ak-fold-t { flex: none; margin-left: auto; color: var(--text-muted); }
.ak-fold-i { flex: none; color: var(--accent); }
.ak-fold-i::after { content: "展开 ▾"; }
/* 展开着的：问题在下面气泡里有了，这一行只留类型、时间和「收起」 */
.ak-turn:not(.is-folded) > .ak-fold { border-style: dashed; background: transparent; }
.ak-turn:not(.is-folded) > .ak-fold .ak-fold-q,
.ak-turn:not(.is-folded) > .ak-fold .ak-fold-a { display: none; }
.ak-turn:not(.is-folded) > .ak-fold .ak-fold-i::after { content: "收起 ▴"; }
/* 2026-10-01 展开一条以前的答案往下读，这行「收起 ▴ / 再问一次」滚出去了，要收得翻回去找：展开着的这行吸在顶上（只在这一条的范围里）。
   .ak-body 原来 overflow-y:auto——它跟着内容长高、本来不自己滚，但这样 sticky 会认它当滚动框而不生效；改成 clip（照样裁圆角、不算滚动框） */
.ak-body { overflow: clip; }
.ak-turn:not(.is-folded) > .ak-fold { position: sticky; top: 0; z-index: 2; background: var(--surface); }
.ak-hist-wrap { margin-top: var(--sp-2); }
/* 同一话题连成一串（2026-10-06）：整串一个抬头「同一话题 · N 问」，里面老的在上、新的在下，左边一条竖线连着、每问标「第 N 问」 */
.ak-thread { display: flex; flex-direction: column; gap: var(--sp-2); }
.ak-thread-h { display: flex; align-items: center; gap: var(--sp-2); width: 100%; min-width: 0; box-sizing: border-box;
               text-align: left; cursor: pointer; border: var(--bw-hair) solid var(--accent-soft-border); border-radius: var(--radius-sm);
               background: var(--surface); padding: var(--sp-2) var(--sp-3); font: inherit; font-size: var(--fs-xs);
               color: var(--text-secondary); }
.ak-thread-h:hover { background: var(--surface-hover); }
.ak-thread-n { flex: none; padding: 1px 8px; border-radius: var(--radius-full); background: var(--accent-soft-bg);
               color: var(--accent-soft-fg); font-weight: var(--fw-semibold); white-space: nowrap; }
.ak-thread-h .ak-fold-i::after { content: "展开这串 ▾"; }
.ak-thread.is-open > .ak-thread-h { border-style: dashed; background: transparent; }
.ak-thread.is-open > .ak-thread-h .ak-fold-a { display: none; }
.ak-thread.is-open > .ak-thread-h .ak-fold-i::after { content: "收起这串 ▴"; }
.ak-thread:not(.is-open) > .ak-thread-b { display: none; }
.ak-thread-b { display: flex; flex-direction: column; gap: var(--sp-2); margin-left: var(--sp-2); padding-left: var(--sp-3);
               border-left: 2px solid var(--accent-soft-border); counter-reset: akq; }
.ak-thread-b > .ak-turn { counter-increment: akq; }
.ak-thread-b > .ak-turn > .ak-fold::before { content: "第 " counter(akq) " 问"; flex: none; color: var(--accent);
                                             font-weight: var(--fw-semibold); }
/* 手机上一行放不下「第 N 问 + 类型 + 再问一次 + 时间」，问句被挤没了：缩成「N.」、再问一次只留在答案下面那排按钮里 */
@media (max-width: 640px) {
  .ak-thread-b { margin-left: 0; padding-left: var(--sp-2); }
  .ak-thread-b > .ak-turn > .ak-fold::before { content: counter(akq) "."; }
  .ak-thread-b > .ak-turn > .ak-fold .ak-fold-again { display: none; }
}
.ak-list:not(:empty) + .ak-hist-wrap { margin-top: var(--sp-4); }
.ak-hist-h { margin: 0 0 var(--sp-2); color: var(--text-secondary); font-size: var(--fs-xs); font-weight: var(--fw-semibold); }
.ak-hist-h span { color: var(--text-muted); font-weight: var(--fw-regular); }
@media (max-width: 640px) {
  .ak-fold-a { display: none; }
  .ak-fold-q { max-width: none; flex: 1 1 0; }
}

/* ---------- 给建议（2026-09-29） ---------- */
.ak-msg.ai.advice { background: var(--surface); border-color: var(--border-strong); }
.ak-adv-h { margin-bottom: var(--sp-2); font-size: var(--fs-xs); font-weight: var(--fw-semibold); color: var(--accent); }
.ak-msg.ai.advice .ak-answer { white-space: pre-wrap; }

/* 随问题发的图（2026-09-29） */
.ak-q-imgs { display: flex; flex-wrap: wrap; gap: var(--sp-1); margin-top: var(--sp-2); }
.ak-q-imgs img { width: 72px; height: 72px; object-fit: cover; border-radius: var(--radius-sm);
                 border: var(--bw-hair) solid var(--border-strong); background: var(--surface); display: block; }

/* 给建议分块（2026-09-29）：直接回答 / 过往怎么处理 / 找谁 / 建议 / 可以先这样回 */
.ak-adv-sec + .ak-adv-sec { margin-top: var(--sp-2); }
.ak-adv-t { display: flex; align-items: center; gap: var(--sp-2); font-size: var(--fs-xs); font-weight: var(--fw-semibold); color: var(--text-secondary); margin-bottom: 2px; }
.ak-adv-reply pre { margin: 0; padding: var(--sp-2) var(--sp-3); background: var(--surface-sunken); border-radius: var(--radius-sm);
                    white-space: pre-wrap; word-break: break-word; font: inherit; font-size: var(--fs-sm); }
.ak-shot { margin: 0 0 var(--sp-2); font-size: 11px; color: var(--text-muted); }

/* 抬头上的「再问一次」（2026-09-29） */
.ak-fold-again { flex: none; margin-left: auto; padding: 1px var(--sp-2); border-radius: var(--radius-full);
                 border: var(--bw-hair) solid var(--border-strong); background: var(--surface); color: var(--accent);
                 font-size: 11px; cursor: pointer; white-space: nowrap; }
.ak-fold-again:hover { background: var(--surface-hover); }
.ak-fold-again + .ak-fold-t { margin-left: 0; }

/* 老板 10-04：可视化——「能问什么」折叠、问法前的小图标、收起那行的状态牌（零件在 shared/viz.css）；员工入口，保持安静 */
.ak-howto { margin-top: 4px; font-size: var(--fs-xs); color: var(--text-muted); }
.ak-howto summary { cursor: pointer; color: var(--accent); width: max-content; }
.ak-howto .ak-sub { margin-top: 4px; }
.ak-suggests button[data-ico] { display: inline-flex; align-items: center; gap: 6px; }
.ak-suggests button .sqv-ico { color: var(--accent); }
.ak-fold .sqv-pill, .ak-all-meta .sqv-pill { flex: none; height: 20px; padding: 0 7px; font-size: 11px; }
.ak-hist-n { font-weight: var(--fw-regular); color: var(--text-muted); }

/* ---------- 出处点开看原文（2026-10-05 老板：「出处能否引出，这样我会淡定一些」） ---------- */
button.ak-cite { font: inherit; font-size: 11px; font-weight: var(--fw-semibold); cursor: pointer; text-align: left; }
button.ak-cite:hover { border-color: var(--accent); }
button.ak-cite.is-open { background: var(--accent); border-color: var(--accent); color: var(--text-on-accent); }
.ak-cite-i { font-size: 9px; opacity: .7; transition: transform .15s; }
.ak-cite.is-open .ak-cite-i { transform: rotate(180deg); }
.ak-cite-box { margin-top: var(--sp-2); padding: var(--sp-2) var(--sp-3); border: var(--bw-hair) solid var(--accent-soft-border);
               border-left: 3px solid var(--accent); border-radius: var(--radius-sm); background: var(--surface); }
.ak-cite-h { display: flex; flex-wrap: wrap; align-items: center; gap: 4px var(--sp-2); font-size: var(--fs-xs); }
.ak-cite-h i { font-style: normal; color: var(--text-muted); }
.ak-cite-h a { color: var(--accent); font-weight: var(--fw-semibold); text-decoration: none; }
.ak-cite-h a:hover { text-decoration: underline; }
.ak-cite-h .ak-x { margin-left: auto; }
.ak-cite-text { margin: var(--sp-2) 0 0; white-space: pre-wrap; word-break: break-word; font: inherit; font-size: var(--fs-xs);
                line-height: var(--lh-xs); color: var(--text-primary); max-height: 320px; overflow-y: auto; }

/* ---------- 继续问（2026-10-05 老板：「增加可以继续这个问题 继续问」） ---------- */
/* 2026-10-16 老板：「接着问这里太远了，大家可能看不到」——展开着的每条底下常驻这个框，吸在屏幕底部：
   答案长、往下读时它一直在眼前；读到这条最后，它回到答案下面原来的位置。.ak-body 是 overflow:clip（不算滚动框），sticky 照常生效 */
.ak-follow { position: sticky; bottom: 0; z-index: 2; align-self: stretch; margin: 0 calc(-1 * var(--sp-2)) -4px;
             padding: var(--sp-2); background: var(--surface); border-top: var(--bw-hair) solid var(--accent-soft-border);
             border-radius: var(--radius-md) var(--radius-md) 0 0; box-shadow: 0 -6px 12px -10px var(--text-primary); }
.ak-follow-row { display: flex; gap: var(--sp-2); align-items: center; padding: 6px 6px 6px var(--sp-3);
                 border: 1.5px solid var(--accent); border-radius: var(--radius-md); background: var(--accent-soft-bg); }
.ak-follow-l { flex: none; color: var(--accent); font-weight: var(--fw-semibold); font-size: var(--fs-sm); white-space: nowrap; }
.ak-follow textarea { flex: 1; min-width: 0; box-sizing: border-box; resize: none; border: var(--bw-hair) solid var(--border-control);
                      border-radius: var(--radius-sm); background: var(--surface); color: var(--text-primary); max-height: 160px;
                      padding: 6px var(--sp-3); font: inherit; font-size: var(--fs-sm); line-height: var(--lh-sm); }
.ak-follow textarea::placeholder { color: var(--text-placeholder); font-size: var(--fs-xs); }
.ak-follow textarea:focus { outline: none; border-color: var(--accent); box-shadow: 0 0 0 2px var(--accent-soft-border); }
.ak-follow .ak-act.primary { flex: none; align-self: stretch; padding: 0 var(--sp-4); font-size: var(--fs-sm); white-space: nowrap; }
.ak-follow-row .sq-new-tag { flex: none; }
/* 点抬头上的「继续问」：框闪一下，看得到光标跑到哪了 */
.ak-follow.is-ping .ak-follow-row { animation: ak-ping 1.2s ease-out 1; }
@keyframes ak-ping { 0%, 40% { box-shadow: 0 0 0 4px var(--accent-soft-border); } 100% { box-shadow: 0 0 0 0 var(--accent-soft-border); } }
/* 抬头（吸在顶上）上的「💬 继续问」：只在展开着的那条上出现，实心主色，一眼看得到 */
.ak-fold-follow { display: none; flex: none; margin-left: auto; padding: 1px var(--sp-3); border-radius: var(--radius-full);
                  background: var(--accent); color: var(--text-on-accent); font-size: 11px; font-weight: var(--fw-semibold);
                  cursor: pointer; white-space: nowrap; }
.ak-fold-follow:hover { background: var(--accent-hover); }
.ak-turn:not(.is-folded) > .ak-fold .ak-fold-follow { display: inline-block; }
.ak-turn:not(.is-folded) > .ak-fold .ak-fold-follow ~ .ak-fold-again,
.ak-turn:not(.is-folded) > .ak-fold .ak-fold-follow ~ .ak-fold-t { margin-left: 0; }
.ak-follow-of { display: block; margin-top: 4px; font-size: 11px; line-height: var(--lh-sm); opacity: .8; }
.ak-follow-of a { color: inherit; text-decoration: underline; }
@media (max-width: 640px) {
  .ak-follow { margin: 0 calc(-1 * var(--sp-1)) -4px; padding: 6px var(--sp-1); }
  .ak-follow-row { padding: 4px 4px 4px var(--sp-2); }
  .ak-follow-l { display: none; }
  .ak-follow textarea { font-size: 16px; }        /* 小于 16px iPhone 一点就整页放大 */
  .ak-follow textarea::placeholder { font-size: 14px; }
  .ak-follow .ak-act.primary { padding: 0 var(--sp-3); }
  .ak-follow-row .sq-new-tag { display: none !important; }   /* 手机上框窄，「新改」牌子不挤输入框（米黄底照样标着） */
}

/* ---------- 大家在问：页面上直接露出来（2026-10-05 老板：「制造一个氛围，大家其实有在用这个东西」） ---------- */
.ak-buzz { margin: 0 0 var(--sp-3); padding: var(--sp-2) var(--sp-3); border: var(--bw-hair) solid var(--accent-soft-border);
           border-radius: var(--radius-md); background: var(--accent-soft-bg); }
.ak-buzz-h { display: flex; flex-wrap: wrap; align-items: center; gap: 4px var(--sp-2); font-size: var(--fs-xs); color: var(--text-secondary); }
.ak-buzz-t { color: var(--accent-soft-fg); font-size: var(--fs-sm); }
.ak-buzz-faces { display: inline-flex; }
.ak-buzz-faces i, .ak-buzz-face { display: inline-flex; align-items: center; justify-content: center; flex: none;
           width: 22px; height: 22px; border-radius: 50%; background: var(--accent); color: var(--text-on-accent);
           font-style: normal; font-size: 11px; font-weight: var(--fw-semibold); border: 2px solid var(--accent-soft-bg); }
.ak-buzz-faces i + i { margin-left: -6px; }
.ak-buzz-stat b { color: var(--text-primary); }
.ak-buzz-sep { margin: 0 6px; opacity: .5; }
.ak-buzz-spark { display: inline-flex; }
.ak-buzz-all { margin-left: auto; border: 0; background: none; padding: 2px 0; font: inherit; font-size: var(--fs-xs);
               color: var(--accent); font-weight: var(--fw-semibold); cursor: pointer; }
.ak-buzz-all:hover { text-decoration: underline; }
.ak-buzz-list { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 4px var(--sp-3); margin-top: var(--sp-2); }
.ak-buzz-item { display: flex; align-items: center; gap: 6px; min-width: 0; padding: 4px 6px; border: 0; border-radius: var(--radius-sm);
                background: var(--surface); font: inherit; font-size: var(--fs-xs); color: var(--text-primary); text-align: left; cursor: pointer; }
.ak-buzz-item:hover { background: var(--surface-hover); }
.ak-buzz-item .ak-buzz-face { width: 20px; height: 20px; font-size: 10px; border: 0; }
.ak-buzz-who { flex: none; color: var(--text-secondary); font-weight: var(--fw-semibold); }
.ak-buzz-q { flex: 1; min-width: 0; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.ak-buzz-when { flex: none; color: var(--text-muted); font-size: 11px; }
@media (max-width: 720px) { .ak-buzz-list { grid-template-columns: 1fr; } .ak-buzz-spark { display: none; } }

/* ---------- 打字就查 + 请供应链帮找（2026-10-11，app/ask_find.py） ---------- */
.ak-find { margin-top: var(--sp-2); padding: var(--sp-2) var(--sp-3) var(--sp-3); border: var(--bw-hair) solid var(--border);
           border-radius: var(--radius-md); background: var(--surface); box-shadow: var(--shadow-1); }
.ak-fd-h { display: flex; align-items: center; gap: var(--sp-2); font-size: var(--fs-xs); color: var(--text-secondary); white-space: nowrap; }
.ak-fd-h > b { color: var(--text-primary); font-size: var(--fs-sm); }
.ak-fd-kind { color: var(--accent); }
.ak-fd-tip { margin-left: auto; color: var(--text-muted); overflow: hidden; text-overflow: ellipsis; }
.ak-fd-h .ak-x { flex: none; }
.ak-fd-q { display: inline-flex; align-items: center; justify-content: center; width: 16px; height: 16px; flex: none;
           border-radius: var(--radius-full); border: var(--bw-hair) solid var(--border-strong); color: var(--text-muted);
           font-size: 11px; cursor: help; }
.ak-fd-sec { margin-top: var(--sp-2); padding-top: var(--sp-2); border-top: var(--bw-hair) solid var(--border); }
.ak-fd-st { display: flex; align-items: center; gap: var(--sp-2); margin: 0 0 6px; font-size: var(--fs-xs);
            font-weight: var(--fw-semibold); color: var(--text-secondary); white-space: nowrap; }
.ak-fd-all { margin-left: auto; font-weight: var(--fw-regular); color: var(--accent); text-decoration: none; }
.ak-fd-all:hover { text-decoration: underline; }
.ak-fd-ps { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 4px var(--sp-3); }
.ak-fd-p { display: flex; align-items: center; gap: var(--sp-2); min-width: 0; padding: 4px; border-radius: var(--radius-sm); }
.ak-fd-p:hover { background: var(--surface-hover); }
.ak-fd-p img, .ak-fd-noimg { width: 36px; height: 36px; flex: none; object-fit: contain; border-radius: var(--radius-sm);
                             background: var(--surface-sunken); }
.ak-fd-pt { display: flex; flex-direction: column; min-width: 0; flex: 1; font-size: var(--fs-xs); line-height: 1.35; }
.ak-fd-pt b { white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.ak-fd-pt span { color: var(--text-secondary); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.ak-fd-n { flex: none; font-size: 11px; color: var(--text-muted); white-space: nowrap; }
.ak-fd-acts { display: flex; gap: 6px; flex: none; }
.ak-fd-acts a { font-size: 11px; color: var(--accent); text-decoration: none; white-space: nowrap; }
.ak-fd-acts a:hover { text-decoration: underline; }
/* 产品卡 / 百科 / 目录 / 视频 放在品名下面一行（10-22：放右边时四个入口把编码、品名挤成一个字母） */
.ak-fd-pt .ak-fd-acts { overflow: visible; white-space: normal; flex-wrap: wrap; gap: 0 8px; margin-top: 1px; }
.ak-fd-more { display: block; margin-top: 4px; font-size: 11px; color: var(--text-muted); }
.ak-fd-ask { display: flex; align-items: center; gap: 6px; width: 100%; padding: 3px 6px; border: 0; border-radius: var(--radius-sm);
             background: none; font: inherit; font-size: var(--fs-xs); text-align: left; cursor: pointer; color: var(--text-primary); }
.ak-fd-ask:hover { background: var(--surface-hover); }
.ak-fd-f { display: flex; align-items: center; gap: var(--sp-2); padding: 4px 6px; border-radius: var(--radius-sm);
           font-size: var(--fs-xs); color: var(--text-primary); text-decoration: none; white-space: nowrap; }
.ak-fd-f:hover { background: var(--surface-hover); }
.ak-fd-fx { min-width: 0; overflow: hidden; text-overflow: ellipsis; color: var(--text-muted); }
.ak-fd-req { display: flex; align-items: center; gap: var(--sp-2); margin-top: var(--sp-2); padding-top: var(--sp-2);
             border-top: var(--bw-hair) solid var(--border); font-size: var(--fs-xs); color: var(--text-secondary); }

.ak-src { margin: 0 0 var(--sp-3); display: flex; flex-direction: column; gap: var(--sp-2); }
.ak-src-sec { border: var(--bw-hair) solid var(--warning-border); border-radius: var(--radius-md); background: var(--surface);
              padding: var(--sp-2) var(--sp-3); }
.ak-src-sec > summary { display: flex; align-items: center; gap: var(--sp-2); cursor: pointer; font-size: var(--fs-xs); list-style: none; }
.ak-src-sec > summary::-webkit-details-marker { display: none; }
.ak-src-item { margin-top: var(--sp-2); padding-top: var(--sp-2); border-top: var(--bw-hair) solid var(--border); font-size: var(--fs-xs); }
.ak-src-item.is-new { background: var(--success-bg); border-radius: var(--radius-sm); padding: var(--sp-2); }
.ak-src-meta { display: flex; align-items: center; gap: 6px; margin: 0; color: var(--text-muted); }
.ak-src-text { margin: 2px 0 0; color: var(--text-primary); }
.ak-src-reply { margin: 4px 0 0; color: var(--text-secondary); }
.ak-src-form { display: flex; align-items: flex-end; gap: var(--sp-2); margin-top: 6px; }
.ak-src-form textarea { flex: 1; min-width: 0; box-sizing: border-box; border: var(--bw-hair) solid var(--border-strong);
                        border-radius: var(--radius-sm); padding: 4px 6px; font: inherit; font-size: var(--fs-xs); resize: vertical; }
.ak-src-form textarea:focus { outline: none; border-color: var(--accent); }
/* 请找带截图（2026-10-11，ask_find_shots.py）：缩略图、截图找看过没有、我们现成的近似款、回复里推的产品卡 */
.ak-src-shots { margin-top: 4px; }
.ak-src-shots img { width: 56px; height: 56px; }
.ak-src-see { margin-top: 6px; }
.ak-src-seen { display: flex; align-items: center; flex-wrap: wrap; gap: 6px; margin: 0 0 4px; color: var(--text-secondary); }
.ak-src-seen b { color: var(--text-primary); }
.ak-src-near { display: flex; align-items: center; gap: var(--sp-2); min-width: 0; padding: 4px; border-radius: var(--radius-sm); }
.ak-src-near.is-best { background: var(--success-bg); }
.ak-src-near img { width: 40px; height: 40px; flex: none; object-fit: contain; border-radius: var(--radius-sm); background: var(--surface-sunken); }
.ak-src-near .ak-act { flex: none; white-space: nowrap; }
.ak-src-near .ak-tag { flex: none; }
.ak-src-diff { color: var(--text-muted); }
.ak-src-push { margin-top: 6px; padding: 6px; border-radius: var(--radius-sm); background: var(--surface-sunken); }

@media (max-width: 640px) {
  .ak-fd-ps { grid-template-columns: minmax(0, 1fr); }
  .ak-fd-tip { display: none; }
  .ak-src-form { flex-wrap: wrap; }
  .ak-src-form textarea { flex-basis: 100%; font-size: 16px; }
}

/* 建议一目了然版（2026-10-15 老板：「这一坨，能不能弄得有些图片……一目了然」）：产品图一排、一条一行、找谁头像卡、路径小牌子、上色 */
.ak-adv-body.is-glance .ak-adv-sec + .ak-adv-sec { margin-top: var(--sp-3); }
.ak-gl-hero .ak-gl-ans { font-size: var(--fs-sm); line-height: 1.7; }
.ak-gl-prods { display: grid; grid-template-columns: repeat(auto-fill, minmax(180px, 1fr)); gap: 2px var(--sp-2); margin: 2px 0 var(--sp-2);
               padding: 4px; border-radius: var(--radius-sm); background: var(--surface-sunken); }
.ak-gl-prods .ak-fd-p img, .ak-gl-prods .ak-fd-noimg { width: 44px; height: 44px; background: var(--surface); }
.ak-gl-legend { display: inline-flex; gap: 6px; margin-left: auto; font-weight: var(--fw-regular); cursor: help; }
.ak-gl-legend mark { font-size: 11px; }
.ak-adv-body mark { color: inherit; background: none; padding: 0 1px; border-radius: 2px; font-weight: var(--fw-semibold); }
.ak-adv-body mark.gl-good { background: linear-gradient(transparent 35%, var(--g-200) 35%); color: var(--g-800); }
.ak-adv-body mark.gl-bad { background: linear-gradient(transparent 35%, var(--r-200) 35%); color: var(--r-700); }
.ak-adv-body mark.gl-key { background: linear-gradient(transparent 35%, var(--a-200) 35%); color: var(--text-primary); }
.ak-adv-body mark.gl-b { padding: 0; color: var(--text-primary); }
.ak-gl-list { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 6px; }
.ak-gl-row { display: flex; align-items: flex-start; gap: var(--sp-2); font-size: var(--fs-sm); line-height: 1.6; }
.ak-gl-ico { flex: none; width: 36px; height: 36px; display: inline-flex; align-items: center; justify-content: center;
             border-radius: var(--radius-sm); background: var(--surface-sunken); font-size: 15px; color: var(--text-muted); }
.ak-gl-ico.img { background: var(--surface); border: var(--bw-hair) solid var(--border); }
.ak-gl-ico img { width: 100%; height: 100%; object-fit: contain; border-radius: var(--radius-sm); }
.ak-gl-tx { min-width: 0; flex: 1; padding-top: 6px; word-break: break-word; }
.ak-gl-date { display: inline-block; margin-right: 6px; padding: 0 6px; border-radius: var(--radius-full); background: var(--surface-sunken);
              color: var(--text-secondary); font-size: 11px; line-height: 18px; white-space: nowrap; vertical-align: 1px; }
.ak-gl-list.who { flex-direction: row; flex-wrap: wrap; }
.ak-gl-who { display: flex; align-items: flex-start; gap: var(--sp-2); flex: 1 1 260px; min-width: 0; padding: 6px var(--sp-2);
             border: var(--bw-hair) solid var(--border); border-radius: var(--radius-sm); background: var(--surface); }
.ak-gl-av { flex: none; width: 30px; height: 30px; border-radius: 50%; display: inline-flex; align-items: center; justify-content: center;
            background: var(--accent-soft-bg); color: var(--accent-soft-fg); font-weight: var(--fw-semibold); font-size: var(--fs-sm); }
.ak-gl-wt { display: flex; flex-direction: column; min-width: 0; font-size: var(--fs-xs); line-height: 1.5; color: var(--text-secondary); }
.ak-gl-wt b { color: var(--text-primary); font-size: var(--fs-sm); }
.ak-gl-path { display: inline; margin: 0 2px; padding: 0 6px; border: var(--bw-hair) solid var(--border-strong); border-radius: var(--radius-sm);
              background: var(--surface-sunken); color: var(--text-primary); font: inherit; font-size: var(--fs-xs); cursor: pointer; word-break: break-all; }
.ak-gl-path:hover { background: var(--surface-hover); }
.ak-gl-pq { margin: 0 4px; font-size: 11px; color: var(--accent); white-space: nowrap; }
.ak-gl-next { display: flex; gap: var(--sp-2); align-items: flex-start; padding: var(--sp-2) var(--sp-3); border-radius: var(--radius-sm);
              background: var(--warning-bg); font-size: var(--fs-sm); line-height: 1.6; }
@media (max-width: 640px) {
  .ak-gl-prods { grid-template-columns: 1fr; }
  .ak-gl-legend { display: none; }
}

/* 产品视频目录里对得上的视频（10-18）：答案下面「▶ 看视频」，点了在产品百科里从那一秒播 */
.ak-videos { display: flex; flex-wrap: wrap; gap: 6px; margin: 8px 0 4px; }
.ak-video { display: inline-flex; align-items: center; gap: 4px; border: 1px solid var(--accent-soft-border); background: var(--accent-soft-bg);
  color: var(--accent); border-radius: 999px; padding: 4px 12px; font-size: 13px; text-decoration: none; max-width: 100%; }
.ak-video:hover { border-color: var(--accent); }
.ak-video span { color: var(--text-secondary); }
.ak-video i { font-style: normal; color: var(--amber); font-size: 11px; letter-spacing: 1px; }

/* ---------- C 10-21 问一问（老板截图：「你上面这里不够突出。当我问完之后，你下面弹出来，然后我一直看着这里，是不是有点问题呢」） ----------
   ① 输入框是这页的主角：主色粗边 + 一圈浅底、字大一号；提示字回正常字号（颜色仍是占位色——09-29「不要抢」照旧，醒目的是框，不是字）
   ② 这次打开页面问过一条（ask.js showAsked 给 .ak-app 加 has-live）：「大家在问」只留抬头一行、「请供应链帮找」没要紧事的只留标题，
      新问的问题和进度紧贴输入框下面出来 */
.ak-input { border: var(--bw-focus) solid var(--accent); padding: var(--sp-2) var(--sp-2) var(--sp-2) var(--sp-3);
            box-shadow: 0 0 0 4px var(--accent-soft-bg); scroll-margin-top: var(--sp-3); }
.ak-input:focus-within { border-color: var(--accent); box-shadow: 0 0 0 4px var(--accent-soft-border); }
.ak-input textarea { font-size: var(--fs-md); line-height: var(--lh-md); min-height: 44px; }
.ak-input textarea::placeholder { font-size: var(--fs-sm); }
.ak-send { height: 40px; padding: 0 var(--sp-5); font-size: var(--fs-md); }
.ak-app.has-live .ak-buzz { padding-top: 6px; padding-bottom: 6px; }
.ak-app.has-live .ak-buzz-list { display: none; }
.ak-app.has-live .ak-src-sec:not(:has(.ak-tag.warn, .ak-tag.ok)) > :not(summary) { display: none; }

/* ---------- C 10-21 TC 路径（老板截梁工问 IT-CBR-2 说明书那条：「这个地址给完整一些，直接能够复制粘贴的」） ----------
   答案下面一行一条 TC 完整地址（\\192.168.1.129\…）+「复制」；空格照真名留着（pre-wrap），长路径在哪都能折，不出横向滚动 */
.ak-tc { margin: var(--sp-2) 0 4px; padding: var(--sp-2) var(--sp-3); border: var(--bw-hair) solid var(--border);
         border-radius: var(--radius-sm); background: var(--surface-sunken); }
.ak-tc-t { margin-bottom: 4px; font-size: var(--fs-sm); font-weight: var(--fw-semibold); color: var(--text-primary); }
.ak-tc-t span { margin-left: var(--sp-2); font-size: var(--fs-xs); font-weight: var(--fw-regular); color: var(--text-secondary); }
.ak-tc-row { display: flex; align-items: center; gap: var(--sp-2); padding: 4px 0; }
.ak-tc-row + .ak-tc-row { border-top: var(--bw-hair) dashed var(--border); }
.ak-tc-row code { flex: 1 1 auto; min-width: 0; font-size: var(--fs-xs); line-height: 1.5; color: var(--text-primary);
                  white-space: pre-wrap; word-break: break-all; user-select: all; }
.ak-tc-row .ak-act { flex: none; }

/* ---------- C 10-21 TC 路径 · Mac（老板：「给 Mac 也加一种能直接粘贴打开的地址」） ----------
   框顶上切 Windows / Mac（按下的那个主色）；只显示选中的那一组；Mac 每个文件夹下一行「打开后在里面找」 */
.ak-tc-t { display: flex; flex-wrap: wrap; align-items: center; gap: 4px var(--sp-2); }
.ak-tc-t .ak-tc-os { display: inline-flex; margin-left: auto; border: var(--bw-hair) solid var(--border-strong);
                     border-radius: var(--radius-full); overflow: hidden; }
.ak-tc-os button { padding: 1px 10px; border: 0; background: transparent; color: var(--text-secondary);
                   font: inherit; font-size: var(--fs-xs); cursor: pointer; }
.ak-tc-os button + button { border-left: var(--bw-hair) solid var(--border-strong); }
.ak-tc-os button[aria-pressed="true"] { background: var(--accent); color: var(--text-on-accent); }
.ak-tc-how { margin: 0 0 2px; font-size: var(--fs-xs); color: var(--text-secondary); }
.ak-tc-in { margin: -2px 0 4px; font-size: var(--fs-xs); line-height: 1.5; color: var(--text-secondary); word-break: break-all; }
.ak-tc-in + .ak-tc-row { border-top: var(--bw-hair) dashed var(--border); }
.ak-tc[data-os="mac"] .ak-tc-win, .ak-tc[data-os="win"] .ak-tc-mac { display: none; }
