/* z-skin.css —— Phase C 逐屏 Z 方案还原层（CSS-only，不动 chunk 逻辑/数据绑定）。
   作用域 html.is-web，配合 web-polish + mobile-fullbleed。设计令牌对齐 _proto/z.html。 */
html.is-web{
  --z-g1:#5b6cff; --z-g2:#22c3ee; --z-grad:linear-gradient(135deg,#5b6cff,#22c3ee);
  --z-accent:#5b6cff; --z-accentsf:#eef0ff; --z-bg:#f6f7fc; --z-card:#fff; --z-line:#edeef5;
  --z-ink:#101122; --z-dim:#565a72; --z-faint:#9498b0; --z-rec:#ff4d6d;
}

/* ========================= 录音 Tab ========================= */
/* Z 录音无顶部 AI 对话（搜索走顶栏🔍 / AI 走助手 Tab）——藏 AI 工作台 hero */
html.is-web [data-proto-state="rec"] .mc-askhero{display:none!important}

/* 起录卡：紧凑白卡横向布局。DOM: .mc-recrow>[.mc-rec-cta(recbtn+import), .mc-rec-sub, .mc-rec-tab-actions]
   display:contents 把 cta 拆平让 recbtn/import 成 recrow flex 项，再 order 排 */
html.is-web [data-proto-state="rec"] .mc-recrow{
  background:var(--z-card)!important; border:1px solid var(--z-line)!important;
  border-radius:18px!important; padding:14px 15px!important; margin:2px 0 4px!important;
  box-shadow:0 3px 14px rgba(16,17,34,.05)!important;
  display:flex!important; align-items:center; gap:13px; flex-wrap:nowrap;
}
html.is-web [data-proto-state="rec"] .mc-recrow .mc-rec-cta{display:contents!important}
html.is-web [data-proto-state="rec"] .mc-recrow .phone-recbtn{
  order:0; width:56px!important; height:56px!important; min-width:0!important; min-height:0!important; margin:0!important;
  flex:0 0 auto; border-radius:50%!important; padding:0!important; font-size:0!important;
  background:radial-gradient(circle at 50% 38%,#ff6b83,#ff3d63)!important;
  box-shadow:0 8px 20px rgba(255,77,109,.4)!important; color:#fff!important;
  display:flex!important; align-items:center; justify-content:center;
}
/* 麦克风字形替代（隐掉原「● 开始录音」文字，用 svg mask 画麦） */
html.is-web [data-proto-state="rec"] .mc-recrow .phone-recbtn::after{
  content:""; width:24px; height:24px; background:#fff;
  -webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='9' y='2' width='6' height='11' rx='3'/%3E%3Cpath d='M5 11a7 7 0 0 0 14 0M12 18v3'/%3E%3C/svg%3E") center/contain no-repeat;
          mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='9' y='2' width='6' height='11' rx='3'/%3E%3Cpath d='M5 11a7 7 0 0 0 14 0M12 18v3'/%3E%3C/svg%3E") center/contain no-repeat;
}
/* 主文案「开始新录音」——中间自适应，左对齐 */
html.is-web [data-proto-state="rec"] .mc-recrow .mc-rec-sub{
  order:1; flex:1 1 auto; min-width:0; text-align:left!important; margin:0!important;
  display:flex!important; flex-direction:column!important; align-items:flex-start!important;
  font-size:0!important; gap:2px!important;
}
html.is-web [data-proto-state="rec"] .mc-recrow .mc-rec-sub .phone-rec-label{
  font-size:15.5px!important; font-weight:800!important; color:var(--z-ink)!important; display:block; line-height:1.2;
  text-align:left!important; align-self:flex-start!important; margin:0!important; width:auto!important;
}
html.is-web [data-proto-state="rec"] .mc-recrow .mc-rec-sub .phone-rectimer{
  font-size:12px!important; color:var(--z-faint)!important; font-weight:600;
  text-align:left!important; align-self:flex-start!important; margin:0!important;
}
/* Z 计时器后缀「· 录完自动成稿」——仅起录(非录音中)态 */
html.is-web:not(.is-recording):not(.is-paused) [data-proto-state="rec"] .mc-recrow .mc-rec-sub .phone-rectimer::after{
  content:' · 录完自动成稿'!important; color:var(--z-faint)!important; font-weight:500!important;
}
/* 录音库分区头去掉中间「· N 段」，只留 录音库 + 全部·N› */
html.is-web [data-proto-state="rec"] .phone-block-h .h-count{display:none!important}
/* 导入按钮：右侧淡底 pill */
html.is-web [data-proto-state="rec"] .mc-recrow #mc-import-audio-btn{
  order:2; flex:0 0 auto; width:auto!important; min-height:0!important;
  padding:9px 13px!important; border-radius:12px!important;
  background:var(--z-accentsf)!important; color:var(--z-accent)!important;
  border:none!important; font-weight:700!important; font-size:12.5px!important; white-space:nowrap;
}
/* 录音中的 取消/暂停/完成 —— 起录态先藏，录音时由 is-recording 态另行显示（不动逻辑） */
html.is-web:not(.is-recording):not(.is-paused) [data-proto-state="rec"] .mc-recrow .mc-rec-tab-actions{display:none!important}
/* 2026-07-13 修「录音中回首页」起录卡竖排崩坏：web-polish 的 is-recording 只把 .mc-rec-tab-actions
   display:grid(无模板)+老版大按钮尺寸放出来，三个巨钮把 flex 行里的 .mc-rec-sub 挤到 64px→文字一字一列。
   录音中/暂停态改双行：首行 圆钮+label(App 会把时钟写进 label)，次行三键等宽紧凑 pill；
   隐藏冗余假计时器(00:00:00 不走字,时钟在 label 里)与导入钮(录音中不可导入)。 */
html.is-web:is(.is-recording,.is-paused) [data-proto-state="rec"] .mc-recrow{flex-wrap:wrap!important}
html.is-web:is(.is-recording,.is-paused) [data-proto-state="rec"] .mc-recrow .mc-rec-sub .phone-rectimer{display:none!important}
html.is-web:is(.is-recording,.is-paused) [data-proto-state="rec"] .mc-recrow #mc-import-audio-btn{display:none!important}
html.is-web:is(.is-recording,.is-paused) [data-proto-state="rec"] .mc-recrow .mc-rec-tab-actions{
  order:3!important; flex:1 0 100%!important; display:grid!important;
  grid-template-columns:repeat(3,1fr)!important; gap:8px!important; margin:10px 0 0!important; width:100%!important;
}
html.is-web:is(.is-recording,.is-paused) [data-proto-state="rec"] .mc-recrow .mc-rta-btn{
  min-height:0!important; height:38px!important; padding:0 10px!important; margin:0!important; width:auto!important;
  border-radius:11px!important; font-size:12.5px!important; font-weight:700!important; line-height:1!important;
  display:flex!important; align-items:center!important; justify-content:center!important; gap:5px!important;
}
html.is-web:is(.is-recording,.is-paused) [data-proto-state="rec"] .mc-recrow .mc-rta-btn .ico{margin:0!important}
html.is-web:is(.is-recording,.is-paused) [data-proto-state="rec"] .mc-recrow .mc-rta-btn .ico svg{width:14px!important;height:14px!important}

/* 分区标题：Z 段头 */
html.is-web [data-proto-state="rec"] .phone-block-h{
  font-size:15px!important; font-weight:800!important; color:var(--z-ink)!important;
  margin:14px 2px 8px!important; display:flex; align-items:center; justify-content:space-between;
}
html.is-web [data-proto-state="rec"] .phone-block-h .h-count{font-size:11.5px!important; font-weight:600; color:var(--z-faint)!important}
html.is-web [data-proto-state="rec"] .phone-block-h .mc-rec-all-h{font-size:12px!important; color:var(--z-accent)!important; font-weight:700}

/* 录音库列表行：Z 卡片行 */
html.is-web [data-proto-state="rec"] .phone-rec-list{display:flex!important; flex-direction:column; gap:9px}
html.is-web [data-proto-state="rec"] .phone-rec-item{
  background:var(--z-card)!important; border:1px solid var(--z-line)!important;
  border-radius:14px!important; padding:13px 14px!important; box-shadow:0 2px 9px rgba(16,17,34,.04)!important;
}
html.is-web [data-proto-state="rec"] .phone-rec-item .title{font-size:14.5px!important; font-weight:700!important; color:var(--z-ink)!important}
html.is-web [data-proto-state="rec"] .phone-rec-item .meta{font-size:12px!important; color:var(--z-faint)!important; margin-top:3px}

/* 本周统计条 .mc-week-stats 已由 web-polish 渲染成完整 3 段卡片（本周录音/累计时长/待办，
   .seg::before content:attr(data-lab)），这里不再 override，避免与其 flex-column 布局打架。 */

/* 🔴 Z 1:1：录音 Tab 只保留 起录/本周/录音库 三段。
   app-07 注入的「高风险待办 / 本周记忆精华」两卡 + 更新条 非 Z（内容重复于 助手/记忆 Tab），web 隐藏。 */
html.is-web [data-proto-state="rec"] #mc-home-todo,
html.is-web [data-proto-state="rec"] #mc-home-memory,
html.is-web [data-proto-state="rec"] #mc-home-update{display:none!important}

/* ========================= 底栏导航修复 ========================= */
/* 🔴 修 bug：底栏「AI 助手」图标被 web-polish 里 `html.is-web:not(.dark)`(特异性0,4,3)
   带 !important 的太阳(亮度)图标盖成 ☀。Z 原型(z.html 底栏)用机器人/方框图标。
   这里叠加 agent 按钮自带的 .mc-bb-badge-host 类拉到 0,4,3(+z-skin 加载在后)覆盖回来，
   同时压过 dark 态 style.css 的 0,2,2 太阳规则。 */
html.is-web .phone-bottombar button.mc-bb-badge-host[data-proto-go="agent"]::before{
  -webkit-mask-image:url("data:image/svg+xml;utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='4' y='8' width='16' height='12' rx='2'/%3E%3Cpath d='M12 8V4M8 3h8M9 13h.01M15 13h.01'/%3E%3C/svg%3E")!important;
          mask-image:url("data:image/svg+xml;utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='4' y='8' width='16' height='12' rx='2'/%3E%3Cpath d='M12 8V4M8 3h8M9 13h.01M15 13h.01'/%3E%3C/svg%3E")!important;
}

/* ========================= 助手 Tab（Z 1:1：对话中心 → 优先处理 → 工作产出） ========================= */
/* Z 只 3 段。actionbar 转 flex 列，order 排成 对话中心/优先处理(focus)/工作产出(pend)，其余（简报/快捷追问/全部功能）web 隐藏。 */
html.is-web [data-proto-state="agent"] .mc-agx-actionbar{display:flex!important; flex-direction:column!important; margin:2px 0 0!important}
html.is-web [data-proto-state="agent"] .mc-agx-askc{order:0}
html.is-web [data-proto-state="agent"] #mc-agx-focus-slot{order:1}
html.is-web [data-proto-state="agent"] #mc-agx-pend-slot{order:2}
/* Z 无：工作简报 / 快捷追问(与对话中心 6 芯片重复) / 全部功能小标题（"全部功能"是 actionbar 末尾 sec-h，用 :last-child 命中） */
html.is-web [data-proto-state="agent"] #mc-agx-brief,
html.is-web [data-proto-state="agent"] #mc-agx-prompts-h,
html.is-web [data-proto-state="agent"] #mc-agx-prompts,
html.is-web [data-proto-state="agent"] .mc-agx-actionbar > .mc-agx-sec-h:last-child,
html.is-web [data-proto-state="agent"] .mc-agx-core,
html.is-web [data-proto-state="agent"] .mc-oc-hero,
html.is-web [data-proto-state="agent"] .mc-agx-extra{display:none!important}

/* 对话中心：Z 蓝→青渐变大卡，白字白输入框 */
html.is-web [data-proto-state="agent"] .mc-agx-askc{
  position:relative; overflow:hidden;
  background:var(--z-grad)!important; border:none!important; border-radius:20px;
  padding:18px 17px 16px; margin:2px 0 6px; box-shadow:0 10px 26px rgba(91,108,255,.28);
}
html.is-web [data-proto-state="agent"] .mc-agx-askc-k{
  font-size:17px; font-weight:800; color:#fff; display:flex; align-items:center; gap:7px;
  margin-bottom:12px; /* 删对话卡副标题后补标题→输入框间距（原由 askc-tip 的 margin 提供） */
}
html.is-web [data-proto-state="agent"] .mc-agx-askc-k svg{color:#fff; opacity:.96}
html.is-web [data-proto-state="agent"] .mc-agx-askc-tip{
  font-size:12.5px; color:rgba(255,255,255,.9); margin:6px 0 13px; line-height:1.55;
}
html.is-web [data-proto-state="agent"] .mc-agx-askbig{
  width:100%; display:flex; align-items:center; justify-content:space-between; gap:10px;
  background:#fff; border:none; border-radius:14px; padding:15px 16px; cursor:pointer; box-shadow:0 4px 14px rgba(16,17,34,.12);
}
html.is-web [data-proto-state="agent"] .mc-agx-askbig .ph2{font-size:13.5px; color:var(--z-faint); font-weight:500}
html.is-web [data-proto-state="agent"] .mc-agx-askbig .go{
  width:34px; height:34px; border-radius:11px; background:var(--z-grad); color:#fff;
  display:flex; align-items:center; justify-content:center; flex:0 0 auto;
}
html.is-web [data-proto-state="agent"] .mc-agx-askbig .go svg{width:17px; height:17px; stroke:#fff}
/* 6 起手芯片：Z 是 3 列 × 2 行网格、每芯片半透明白框、居中文案（原 flex-wrap 4+2 且底色太淡） */
html.is-web [data-proto-state="agent"] .mc-agx-qchips{display:grid!important; grid-template-columns:repeat(3,1fr); gap:8px; margin-top:13px}
html.is-web [data-proto-state="agent"] .mc-agx-qchip{
  background:rgba(255,255,255,.16); border:1px solid rgba(255,255,255,.34); border-radius:11px; padding:11px 6px;
  font-size:12.5px; color:#fff; font-weight:700; cursor:pointer; line-height:1; text-align:center;
}
html.is-web [data-proto-state="agent"] .mc-agx-qchip:active{background:rgba(255,255,255,.28)}

/* 优先处理（focus-slot）：sec-h 文案 最该先处理 → 优先处理（font-size:0 藏原文+svg，::before 补 Z 文案） */
html.is-web [data-proto-state="agent"] #mc-agx-focus-slot .mc-agx-sec-h{
  font-size:0!important; color:var(--z-ink)!important; font-weight:800!important; letter-spacing:0!important; margin:16px 2px 9px!important;
}
html.is-web [data-proto-state="agent"] #mc-agx-focus-slot .mc-agx-sec-h::before{
  content:'优先处理'; font-size:15px; color:var(--z-ink); font-weight:800;
}
/* 工作产出（pend-slot）：ab-h 文案 待你处理 → 工作产出 */
html.is-web [data-proto-state="agent"] #mc-agx-pend-slot .mc-agx-ab-h{
  font-size:0!important; color:var(--z-ink)!important; font-weight:800!important; letter-spacing:0!important; margin:16px 2px 9px!important;
}
html.is-web [data-proto-state="agent"] #mc-agx-pend-slot .mc-agx-ab-h::before{
  content:'工作产出'; font-size:15px; color:var(--z-ink); font-weight:800;
}
/* 工作产出 3 tile：Z 是干净的「大数字 + 标签」居中，无图标/无副文案 */
html.is-web [data-proto-state="agent"] #mc-agx-pend-slot .mc-agx-ab-row{grid-template-columns:repeat(3,1fr)!important; gap:10px!important}
html.is-web [data-proto-state="agent"] #mc-agx-pend-slot .mc-agx-ab-chip{
  align-items:center!important; text-align:center!important;
  background:var(--z-card)!important; border:1px solid var(--z-line)!important; border-radius:14px!important;
  padding:20px 8px!important; box-shadow:0 2px 9px rgba(16,17,34,.04)!important;
}
html.is-web [data-proto-state="agent"] #mc-agx-pend-slot .mc-agx-ab-chip .ic,
html.is-web [data-proto-state="agent"] #mc-agx-pend-slot .mc-agx-ab-chip .sub{display:none!important}
html.is-web [data-proto-state="agent"] #mc-agx-pend-slot .mc-agx-ab-chip .num{font-size:26px!important; font-weight:800!important; line-height:1.05!important; color:var(--z-accent)!important}
/* z：待确认(首块)橙 · 其余蓝 */
html.is-web [data-proto-state="agent"] #mc-agx-pend-slot .mc-agx-ab-chip:first-child .num{color:#e8890c!important}
html.is-web [data-proto-state="agent"] #mc-agx-pend-slot .mc-agx-ab-chip .lab{font-size:12px!important; color:var(--z-dim)!important; margin-top:2px!important}

/* ========================= 记忆 Tab（Z 决策画像卡） ========================= */
/* app-25 真数据注入 .mc-mem-portrait，插在入口 chips 之后。合并 决策风格+话题雷达+洞察+高频协作。 */
html.is-web [data-proto-state="memory"] .mc-mem-portrait{
  background:var(--z-card); border:1px solid var(--z-line); border-radius:16px;
  padding:15px 15px 14px; margin:2px 0 12px; box-shadow:0 3px 14px rgba(16,17,34,.05);
}
html.is-web [data-proto-state="memory"] .mc-mp-h{display:flex; align-items:center; justify-content:space-between; margin-bottom:12px}
html.is-web [data-proto-state="memory"] .mc-mp-h b{font-size:14.5px; font-weight:800; color:var(--z-ink)}
html.is-web [data-proto-state="memory"] .mc-mp-regen{font-size:12px; color:var(--z-accent); font-weight:600; cursor:pointer; display:inline-flex; align-items:center; gap:3px}
html.is-web [data-proto-state="memory"] .mc-mp-kpis{display:flex; gap:10px; margin-bottom:13px}
html.is-web [data-proto-state="memory"] .mc-mp-kpis .k{flex:1; background:var(--z-accentsf); border-radius:11px; padding:10px 6px; text-align:center}
html.is-web [data-proto-state="memory"] .mc-mp-kpis .v{font-size:19px; font-weight:800; color:var(--z-accent); line-height:1.1; font-variant-numeric:tabular-nums}
html.is-web [data-proto-state="memory"] .mc-mp-kpis .l{font-size:10.5px; color:var(--z-dim); margin-top:3px}
html.is-web [data-proto-state="memory"] .mc-mp-bars{display:flex; flex-direction:column; gap:8px; margin-bottom:12px}
html.is-web [data-proto-state="memory"] .mc-mp-bars .b{display:flex; align-items:center; gap:9px}
html.is-web [data-proto-state="memory"] .mc-mp-bars .bn{font-size:12px; color:var(--z-ink); width:70px; flex:0 0 auto; white-space:nowrap; overflow:hidden; text-overflow:ellipsis}
html.is-web [data-proto-state="memory"] .mc-mp-bars .bt{flex:1; height:7px; background:#eef0f6; border-radius:4px; overflow:hidden}
html.is-web [data-proto-state="memory"] .mc-mp-bars .bt i{display:block; height:100%; background:var(--z-grad); border-radius:4px}
html.is-web [data-proto-state="memory"] .mc-mp-bars .bv{font-size:11.5px; color:var(--z-faint); font-weight:600; width:22px; text-align:right; flex:0 0 auto}
html.is-web [data-proto-state="memory"] .mc-mem-portrait .collab{display:flex; align-items:center; gap:8px; font-size:11.5px; color:var(--z-dim); margin-bottom:11px}
html.is-web [data-proto-state="memory"] .mc-mem-portrait .collab .av{display:inline-flex}
html.is-web [data-proto-state="memory"] .mc-mem-portrait .collab .av i{width:24px; height:24px; border-radius:50%; background:var(--z-accentsf); color:var(--z-accent); font-size:11px; font-weight:700; display:flex; align-items:center; justify-content:center; margin-left:-7px; border:2px solid #fff; font-style:normal}
html.is-web [data-proto-state="memory"] .mc-mem-portrait .collab .av i:first-child{margin-left:0}
html.is-web [data-proto-state="memory"] .mc-mp-insight{font-size:12px; line-height:1.6; color:var(--z-dim); background:#f7f8fc; border-radius:11px; padding:11px 12px}
html.is-web [data-proto-state="memory"] .mc-mp-insight b{color:var(--z-accent); font-weight:700}

/* Z 记忆 1:1：只留 入口chips(2×2卡) + 决策画像卡（app-25 注入在 .phone-mem 之前，是独立兄弟）。
   隐藏：顶部「上次刷新」状态条、冗余 body 子标题、整个旧 .phone-mem 静态卡区（记忆图谱/本周沉淀/
   决策风格/话题雷达/跨会议主线 全在 z 里被 决策画像 取代或走 chip）、内嵌 项目/时间线 mini 区。 */
html.is-web [data-proto-state="memory"] #mc-mem-refresh,
html.is-web [data-proto-state="memory"] > .phone-block-h,
html.is-web [data-proto-state="memory"] .phone-mem,
html.is-web [data-proto-state="memory"] #mc-mem-inline-host{display:none!important}

/* 入口 chips → Z 2×2 卡片网格（原是横排小 pill） */
html.is-web [data-proto-state="memory"] .mc-agx-quicknav{
  display:grid!important; grid-template-columns:1fr 1fr!important; gap:11px!important; margin:2px 0 13px!important;
  overflow:visible!important; padding:0!important; background:transparent!important; border:none!important;
}
html.is-web [data-proto-state="memory"] .mc-agx-quicknav .proto-pill{
  display:flex!important; align-items:center; gap:10px; justify-content:flex-start!important;
  background:#fff!important; border:1px solid var(--z-line)!important; border-radius:14px!important;
  padding:17px 15px!important; box-shadow:0 2px 9px rgba(16,17,34,.04)!important;
  font-size:14px!important; font-weight:700!important; color:var(--z-ink)!important; width:auto!important; min-height:0!important;
}
html.is-web [data-proto-state="memory"] .mc-agx-quicknav .proto-pill .ico{
  width:22px!important; height:22px!important; flex:0 0 auto; color:var(--z-accent)!important;
}
html.is-web [data-proto-state="memory"] .mc-agx-quicknav .proto-pill .ico svg{stroke:var(--z-accent)!important; width:22px!important; height:22px!important}
html.is-web [data-proto-state="memory"] .mc-agx-quicknav .proto-pill .mc-pill-badge{
  margin-left:auto!important; background:var(--z-accentsf)!important; color:var(--z-accent)!important;
  min-width:22px; height:22px; border-radius:50%; display:inline-flex; align-items:center; justify-content:center;
  font-size:11.5px; font-weight:800; font-style:normal; padding:0 5px;
}

/* ========================= Tab 全屏排布（N1 · 2026-07-09）=========================
   z 原型 .rec-full / .ai-full / .mem-full「剩余空间分摊」：内容纵向铺满机身，消除下半屏留白。
   范式对齐已上线的「我的」页 me-full（index.html 尾部）。.phone-view 本就是
   `display:flex;flex-direction:column;height:100%;overflow-y:auto`（style.css），故对可见主块加
   flex:1 / margin-top:auto 即可分摊剩余空间，不改任何 chunk 逻辑/数据。 */
/* — 录音 Tab（.rec-full）：录音库列表已由 mc-reclib 设 flex:1 1 auto 填满并滚动，无需再分摊；
     首页预览固定 5 条（app-03 _renderRecList）。此处仅补 z 的段间距 15px（原 10px）。 */
html.is-web [data-proto-state="rec"].phone-view{gap:15px!important}
/* — AI 助手 Tab（.ai-full）：actionbar 是唯一可见子块（core/extra 已隐）。
     2026-07-09 第三轮·收窄留空：原「工作产出 pend-slot margin-top:auto 钉底」会在优先处理↔工作产出间撑出
     ~150px 大洞（内容变少后更明显）。改为顶部对齐（对话中心/优先处理/工作产出抱团在上、段间均匀）+
     内容适度加实（优先处理行 padding 12→15、工作产出 tile 16→20），仅底部一处自然留白，随屏高自适应、
     永不产生中间洞。与 z 原型 .ai-full 定版（顶部对齐+加实）一致。 */
html.is-web [data-proto-state="agent"].phone-view{gap:15px!important}
html.is-web [data-proto-state="agent"] .mc-agx-actionbar{flex:1 1 auto!important; min-height:0; justify-content:flex-start!important}
/* — 记忆 Tab（.mem-full）：可见块=入口 chips + 决策画像卡。画像卡撑满剩余高度、
     内部块 space-between（洞察句自然钉卡底），对齐 z .mem-full .portrait。 */
html.is-web [data-proto-state="memory"].phone-view{gap:15px!important}
html.is-web [data-proto-state="memory"] .mc-mem-portrait{
  flex:1 1 auto!important; display:flex!important; flex-direction:column!important; justify-content:space-between!important;
}
/* 画像卡内部原有 margin-bottom 在 space-between 下冗余，归零避免底部多一段空白 */
html.is-web [data-proto-state="memory"] .mc-mem-portrait > .mc-mp-insight{margin-bottom:0!important}

/* ========================= 顶栏 · Z 还原（全 Tab 共享） ========================= */
/* 删掉右上角多余「快速录音」麦克风 + 录音控制条（Z 顶栏只有 搜索 + 铃铛）。 */
html.is-web .phone-topbar #mc-tier-badge,
html.is-web .phone-topbar #mc-qrec-live{display:none!important}

/* 顶栏重排为 grid：[品牌方块] [标题/副标 两行] [搜索] [铃铛] */
html.is-web:not(.dark) .phone-topbar{
  display:grid!important;
  grid-template-columns:auto 1fr auto auto!important;
  grid-template-rows:auto auto!important;
  align-items:center!important; column-gap:11px!important; row-gap:0!important;
  padding:calc(env(safe-area-inset-top, 0) + 8px) 18px 8px!important;
}
/* 品牌方块：蓝→青渐变圆角方 + 白色麦克（录音 Tab）。跨行居中。 */
html.is-web .phone-topbar::before{
  content:''!important; display:block!important;
  grid-column:1!important; grid-row:1 / 3!important;
  width:38px!important; height:38px!important; border-radius:11px!important; flex:0 0 38px!important;
  background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='9' y='2' width='6' height='11' rx='3'/%3E%3Cpath d='M5 11a7 7 0 0 0 14 0M12 18v3'/%3E%3C/svg%3E") center/20px no-repeat, linear-gradient(135deg,#5b6cff,#22c3ee)!important;
}
/* 品牌方块图标按 Tab 切换（z.html 每 Tab 不同：助手=对话气泡 / 记忆=节点 / 我的=人像；录音=默认麦克）。
   data-tab 由 index.html 顶栏 observer 写在 .phone-topbar 上。特异性(0,2,1) > 默认(0,1,1) → 覆盖 background url。 */
html.is-web .phone-topbar[data-tab="agent"]::before{
  background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M21 15a2 2 0 0 1-2 2H7l-4 4V5a2 2 0 0 1 2-2h14a2 2 0 0 1 2 2z'/%3E%3C/svg%3E") center/20px no-repeat, linear-gradient(135deg,#5b6cff,#22c3ee)!important;
}
html.is-web .phone-topbar[data-tab="memory"]::before{
  background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='3'/%3E%3Ccircle cx='5' cy='6' r='2'/%3E%3Ccircle cx='19' cy='6' r='2'/%3E%3Cpath d='M7 7l3 3M17 7l-3 3'/%3E%3C/svg%3E") center/20px no-repeat, linear-gradient(135deg,#5b6cff,#22c3ee)!important;
}
html.is-web .phone-topbar[data-tab="me"]::before{
  background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='8' r='4'/%3E%3Cpath d='M4 21a8 8 0 0 1 16 0'/%3E%3C/svg%3E") center/20px no-repeat, linear-gradient(135deg,#5b6cff,#22c3ee)!important;
}
/* 去掉旧的红麦 inline 品牌（.title::before） */
html.is-web .phone-topbar .title::before{content:none!important; display:none!important}
html.is-web .phone-topbar .title{
  grid-column:2!important; grid-row:1!important; align-self:end!important;
  font-size:20px!important; font-weight:800!important; color:var(--z-ink)!important; margin:0!important; padding:0!important;
}
html.is-web .phone-topbar .sub{
  grid-column:2!important; grid-row:2!important; align-self:start!important;
  display:block!important; visibility:visible!important; opacity:1!important;
  font-size:12px!important; color:var(--z-dim)!important; margin:1px 0 0!important; padding:0!important;
}
/* 搜索 / 铃铛：Z 圆角方形描边按钮 */
html.is-web .phone-topbar #mc-top-search{position:static!important; inset:auto!important; grid-column:3!important; grid-row:1 / 3!important; margin:0!important}
/* 🔴 relative(非 static)：铃铛未读红点是 position:absolute，需要铃铛做定位锚点，否则红点飘到屏幕角落，
   与铃铛不贴合。relative 不影响它在 grid 里的位置。 */
html.is-web .phone-topbar #mc-top-msg{position:relative!important; inset:auto!important; grid-column:4!important; grid-row:1 / 3!important; margin:0!important}
html.is-web .phone-topbar .mc-top-ico{
  width:36px!important; height:36px!important; padding:0!important;
  border:1px solid var(--z-line)!important; border-radius:11px!important; background:#fff!important;
  display:flex!important; align-items:center!important; justify-content:center!important;
  color:var(--z-dim)!important; box-shadow:none!important;
}
html.is-web .phone-topbar .mc-top-ico svg{width:18px!important; height:18px!important; stroke:var(--z-dim)!important}
/* 搜索/铃铛：藏掉 ::before mask 图标，避免与 inline svg 重影 */
html.is-web .phone-topbar .mc-top-ico::before{display:none!important; content:none!important}
html.is-web .phone-topbar .mc-top-ico .mc-top-dot{background:var(--z-rec)!important}
/* 根 Tab 无返回键，grid 下藏掉避免占位 */
html.is-web .phone-topbar .mc-navback{display:none!important}

/* ========================= 底栏 · Z 蓝色高亮 ========================= */
/* 用 body.mc-i 拉高特异性(0,4,3)压过 i-theme 的 body.mc-i ...active{color:--i-accent}(红) */
html.is-web body.mc-i .phone-bottombar button.active,
html.is-web .phone-bottombar button.active{color:var(--z-accent)!important}
html.is-web body.mc-i .phone-bottombar button.active::before,
html.is-web .phone-bottombar button.active::before{background:var(--z-accent)!important}
html.is-web body.mc-i .phone-bottombar button.active .ico,
html.is-web .phone-bottombar button.active .ico,
html.is-web .phone-bottombar button.active .ico svg{color:var(--z-accent)!important; stroke:var(--z-accent)!important}
/* 录音 tab active 底部小红点 → 藏（Z 无） */
html.is-web .phone-bottombar button.active .mc-bb-dot,
html.is-web .phone-bottombar button.active::after{display:none!important}

/* ========================= 录音 Tab · 本周 2 张独立卡（Z） ========================= */
html.is-web [data-proto-state="rec"] .mc-week-stats{
  display:flex!important; gap:11px!important;
  background:transparent!important; border:none!important; box-shadow:none!important; padding:0!important; margin:2px 0 6px!important;
}
html.is-web [data-proto-state="rec"] .mc-week-stats .week-lab{display:none!important}
html.is-web [data-proto-state="rec"] .mc-week-stats .dot-sep{display:none!important}
html.is-web [data-proto-state="rec"] .mc-week-stats .seg[data-lab="待办"]{display:none!important}
html.is-web [data-proto-state="rec"] .mc-week-stats .seg{
  flex:1 1 0!important; min-width:0!important;
  background:#fff!important; border:1px solid var(--z-line)!important; border-radius:14px!important;
  padding:12px 15px!important; box-shadow:0 2px 9px rgba(16,17,34,.04)!important;
  display:block!important; text-align:left!important;
}
html.is-web [data-proto-state="rec"] .mc-week-stats .seg::before{
  content:attr(data-lab)!important; position:static!important; display:block!important;
  font-size:12px!important; color:var(--z-dim)!important; letter-spacing:0!important; background:none!important; width:auto!important; opacity:1!important; margin-bottom:3px!important;
}
html.is-web [data-proto-state="rec"] .mc-week-stats .seg + .seg::after{content:none!important}
/* 本周录音 seg：num + " 段" 内联显示「3 段」 */
html.is-web [data-proto-state="rec"] .mc-week-stats .seg{font-size:15px!important; color:var(--z-dim)!important}
/* 累计时长 seg：font-size:0 隐掉游离「累计 」前缀，只留 label + num */
html.is-web [data-proto-state="rec"] .mc-week-stats .seg[data-lab="累计时长"]{font-size:0!important}
html.is-web [data-proto-state="rec"] .mc-week-stats .seg[data-lab="累计时长"]::before{font-size:12px!important}
html.is-web [data-proto-state="rec"] .mc-week-stats .num{font-size:23px!important; font-weight:800!important; color:var(--z-ink)!important; line-height:1.15!important}

/* ========================= 录音 Tab · 录音库统一卡 + 文件图标 + 右侧 tag（Z 行） ========================= */
html.is-web [data-proto-state="rec"] .phone-rec-list{
  background:#fff!important; border:1px solid var(--z-line)!important; border-radius:16px!important;
  overflow:hidden!important; box-shadow:0 2px 9px rgba(16,17,34,.04)!important; padding:0!important;
  display:block!important; gap:0!important; margin-top:2px!important;
}
html.is-web [data-proto-state="rec"] .phone-rec-item{
  position:relative!important;
  background:transparent!important; border:none!important; border-radius:0!important; box-shadow:none!important;
  border-bottom:1px solid var(--z-line)!important;
  display:block!important; padding:14px 15px 14px 64px!important; margin:0!important;
}
html.is-web [data-proto-state="rec"] .phone-rec-item:last-child{border-bottom:none!important}
html.is-web [data-proto-state="rec"] .phone-rec-item::before{
  content:''!important; position:absolute!important; left:15px!important; top:50%!important; transform:translateY(-50%)!important;
  width:38px!important; height:38px!important; border-radius:10px!important;
  background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%235b6cff' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 3h9l3 3v15H6z'/%3E%3Cpath d='M15 3v3h3'/%3E%3C/svg%3E") center/19px no-repeat, var(--z-accentsf)!important;
}
html.is-web [data-proto-state="rec"] .phone-rec-item .title{
  margin:0 0 3px!important; display:block!important;
  white-space:nowrap!important; overflow:hidden!important; text-overflow:ellipsis!important; padding-right:74px!important;
  font-size:14.5px!important; font-weight:700!important; color:var(--z-ink)!important;
}
html.is-web [data-proto-state="rec"] .phone-rec-item .meta{
  margin:0!important; font-size:12px!important; color:var(--z-faint)!important;
}
/* tag 绝对定位到行右上（避免长标题换行） */
html.is-web [data-proto-state="rec"] .phone-rec-item .mc-rec-tags{
  position:absolute!important; right:15px!important; top:15px!important; display:inline-flex!important; gap:5px!important;
}
html.is-web [data-proto-state="rec"] .phone-rec-item .mc-rec-tag{
  font-size:11px!important; font-weight:600!important; padding:3px 9px!important; border-radius:20px!important; white-space:nowrap!important;
}
html.is-web [data-proto-state="rec"] .phone-rec-item .mc-rec-tag.t-draft{background:#e6f7ee!important; color:#12a150!important}
html.is-web [data-proto-state="rec"] .phone-rec-item .mc-rec-tag.t-idx{background:var(--z-accentsf)!important; color:var(--z-accent)!important}
html.is-web [data-proto-state="rec"] .phone-rec-item .mc-rec-tag.t-sum{background:#f1f2f6!important; color:var(--z-dim)!important}

/* 录音库筛选 chips → Z：active 填充蓝、inactive 白底描边 */
html.is-web [data-proto-state="rec"] .mc-rec-filters{display:flex!important; gap:9px!important; margin:0 0 12px!important; background:transparent!important; border:none!important; box-shadow:none!important; padding:0!important; flex-wrap:nowrap!important; overflow-x:auto!important}
html.is-web [data-proto-state="rec"] .mc-rec-filters .mc-rec-fchip{
  background:#fff!important; border:1px solid var(--z-line)!important; color:var(--z-dim)!important;
  border-radius:20px!important; padding:8px 16px!important; font-weight:600!important; font-size:13px!important;
  white-space:nowrap!important; box-shadow:none!important;
}
html.is-web [data-proto-state="rec"] .mc-rec-filters .mc-rec-fchip.on{
  background:var(--z-accentsf)!important; color:var(--z-accent)!important; border-color:transparent!important;
}

/* ========================= 录音 Tab · 内容区两侧留白（卡片不贴边，与顶栏 18px 对齐） ========================= */
/* Phase B 让内容全宽贴边 → 卡片右缘到屏边(0)，而顶栏铃铛在 18px → 不对齐。
   给录音视图加 18px 横向 padding，卡片内缩到 18px，与顶栏搜索/铃铛右缘对齐，贴 Z 卡片留白。 */
html.is-web .phone-view.active[data-proto-state="rec"]{
  padding-left:18px!important; padding-right:18px!important; box-sizing:border-box!important;
  display:flex!important; flex-direction:column!important;
}
/* Z 顺序：起录卡 → 本周2卡 → 录音库分区头 → 筛选 → 列表（DOM 里 block-h 在 week-stats 之前，flex order 纠正）。 */
html.is-web [data-proto-state="rec"] .mc-recrow{order:0}
html.is-web [data-proto-state="rec"] #mc-week-stats{order:1}
html.is-web [data-proto-state="rec"] .phone-block-h{order:2}
html.is-web [data-proto-state="rec"] .mc-rec-filters{order:3}
html.is-web [data-proto-state="rec"] .phone-rec-list{order:4}

/* ========================= 我的 Tab（网页版 Z 原型 1:1，注入 .mc-zme） ========================= */
/* 默认隐藏 app-15 账户面板各卡，只显注入的 Z 版；点 编辑资料/会员中心/豆钱包 → .mc-zme-off 反转
   （显 app-15 真功能卡、藏 Z 版），功能零丢失。 */
html.is-web [data-proto-state="me"] .mc-me-body.mc-zme-on:not(.mc-zme-off) > :not(.mc-zme){display:none!important}
html.is-web [data-proto-state="me"] .mc-me-body.mc-zme-off > .mc-zme{display:none!important}
html.is-web [data-proto-state="me"] .mc-zme{display:flex; flex-direction:column; gap:13px; padding:2px 0 6px}

/* 身份 hero（z .acct） */
html.is-web [data-proto-state="me"] .mc-zme-acct{
  background:var(--z-grad); border-radius:18px; padding:16px; color:#fff; display:flex; align-items:center; gap:13px;
}
html.is-web [data-proto-state="me"] .mc-zme-acct .av{
  width:52px; height:52px; border-radius:16px; background:rgba(255,255,255,.22);
  display:flex; align-items:center; justify-content:center; font-size:22px; font-weight:800; flex:0 0 auto;
}
html.is-web [data-proto-state="me"] .mc-zme-acct .ai{min-width:0; flex:1}
html.is-web [data-proto-state="me"] .mc-zme-acct .ai b{font-size:17px; font-weight:800; display:block}
html.is-web [data-proto-state="me"] .mc-zme-acct .ai p{font-size:11.5px; opacity:.88; margin-top:3px}
html.is-web [data-proto-state="me"] .mc-zme-acct .mem{margin-left:auto; text-align:right; flex:0 0 auto}
html.is-web [data-proto-state="me"] .mc-zme-acct .mem .lv{font-size:11px; font-weight:700; background:rgba(255,255,255,.25); padding:3px 9px; border-radius:20px; display:inline-block}
html.is-web [data-proto-state="me"] .mc-zme-acct .mem .bl{font-size:11px; opacity:.9; margin-top:6px}

/* 编辑资料 / 会员中心（z .acctbtns） */
html.is-web [data-proto-state="me"] .mc-zme-btns{display:flex; gap:10px}
html.is-web [data-proto-state="me"] .mc-zme-btns b{
  flex:1; text-align:center; background:var(--z-card); border:1px solid var(--z-line); border-radius:13px;
  padding:11px; font-size:12.5px; font-weight:700; color:var(--z-dim); cursor:pointer;
}
html.is-web [data-proto-state="me"] .mc-zme-btns b:active{background:var(--z-accentsf)}

/* 分区头（z .sec） */
html.is-web [data-proto-state="me"] .mc-zme-sec{display:flex; align-items:baseline; justify-content:space-between; margin:2px 2px -4px}
html.is-web [data-proto-state="me"] .mc-zme-sec h3{font-size:12.5px; font-weight:800; letter-spacing:.01em; color:var(--z-ink)}

/* 卡片基座（z .card） */
html.is-web [data-proto-state="me"] .mc-zme-card{background:var(--z-card); border:1px solid var(--z-line); border-radius:16px}

/* 会员钱包行（z .card + .ric/.rbody/.chev） */
html.is-web [data-proto-state="me"] .mc-zme-walletrow{display:flex; align-items:center; gap:11px; padding:14px 15px; cursor:pointer}
html.is-web [data-proto-state="me"] .mc-zme-walletrow .ric{
  width:34px; height:34px; border-radius:10px; background:var(--z-accentsf); flex:0 0 auto;
  display:flex; align-items:center; justify-content:center;
}
html.is-web [data-proto-state="me"] .mc-zme-walletrow .ric svg{width:18px; height:18px; stroke:var(--z-accent); fill:none; stroke-width:1.8}
html.is-web [data-proto-state="me"] .mc-zme-walletrow .rbody{flex:1; min-width:0}
html.is-web [data-proto-state="me"] .mc-zme-walletrow .rbody .t{font-size:13.5px; font-weight:600; color:var(--z-ink); line-height:1.3; overflow:hidden; text-overflow:ellipsis; white-space:nowrap}
html.is-web [data-proto-state="me"] .mc-zme-walletrow .rbody .d{font-size:11px; color:var(--z-faint); margin-top:2px}
html.is-web [data-proto-state="me"] .mc-zme-walletrow .chev{width:16px; height:16px; stroke:var(--z-faint); fill:none; stroke-width:2; flex:0 0 auto}

/* 设置列表（z .card.setrows） */
html.is-web [data-proto-state="me"] .mc-zme-setrows > .r{
  display:flex; align-items:center; gap:11px; padding:13px 14px; border-bottom:1px solid var(--z-line);
  font-size:13.5px; font-weight:600; color:var(--z-ink); cursor:pointer;
}
html.is-web [data-proto-state="me"] .mc-zme-setrows > .r:last-child{border-bottom:0}
html.is-web [data-proto-state="me"] .mc-zme-setrows > .r:active{background:#fafbff}
html.is-web [data-proto-state="me"] .mc-zme-setrows > .r svg.lead{width:18px; height:18px; stroke:var(--z-dim); fill:none; stroke-width:1.8; flex:0 0 auto}
html.is-web [data-proto-state="me"] .mc-zme-setrows > .r .cv{margin-left:auto; color:var(--z-faint); font-size:12px; font-weight:400}
html.is-web [data-proto-state="me"] .mc-zme-setrows > .r svg.chev{width:16px; height:16px; stroke:var(--z-faint); fill:none; stroke-width:2; flex:0 0 auto}
/* z：无 cv 的行 chev 紧跟标签（不右推）；有 cv 的行 cv 靠右、chev 再跟其后。故 chev 不设 margin-left:auto。 */

/* ============================================================================
   Wave A —— P0 核心链路二级页 Z 皮（录音中 / 转写 / 纪要 / 智能对话 / 草稿详情 / L2确认）
   CSS-only，作用域 html.is-web [data-proto-state=...]，不动 chunk 逻辑/数据绑定。
   ============================================================================ */
@keyframes zpulse{0%,100%{transform:scale(1);opacity:1}50%{transform:scale(.68);opacity:.5}}

/* ---------------- P0·录音中：is-recording 沉浸态（transcript 视图 + html.is-recording）---------------- */
/* 沉浸：录音中且 transcript 视图激活时，隐藏顶栏 + 底栏导航（只留状态栏），退出走取消/完成 */
html.is-web:not(.dark):is(.is-recording,.is-paused) .phone-screen:has(.phone-view.active[data-proto-state="transcript"]) > .phone-topbar,
html.is-web:not(.dark):is(.is-recording,.is-paused) .phone-screen:has(.phone-view.active[data-proto-state="transcript"]) > .phone-statusbar,
html.is-web:not(.dark):is(.is-recording,.is-paused) .phone-screen:has(.phone-view.active[data-proto-state="transcript"]) > .phone-bottombar{display:none!important}
/* 全局「录音中」悬浮回跳条(#mcRecSticky, body 级 position:fixed)——沉浸录音视图内隐藏（切走 Tab 仍显） */
html.is-web:not(.dark).is-recording:has(.phone-view.active[data-proto-state="transcript"]) #mcRecSticky{display:none!important}

/* 视图容器：纵向列，锁定为一屏高（height:100%，不是 min-height→内容不撑破屏），转写区内部滚动。 */
html.is-web:not(.dark):is(.is-recording,.is-paused) [data-proto-state="transcript"]{
  display:flex!important; flex-direction:column; align-items:center;
  padding:0 20px 16px!important; height:100%!important; box-sizing:border-box; overflow:hidden;
}
html.is-web:not(.dark):is(.is-recording,.is-paused) [data-proto-state="transcript"] > *{flex:0 0 auto; width:100%}

/* 顶部「● 录音中」标签（复用 block-h，隐原文用 ::after 写 z 文案 + ::before 红点脉冲） */
html.is-web:not(.dark):is(.is-recording,.is-paused) [data-proto-state="transcript"] .phone-block-h{
  order:0; margin:20px 0 0!important; padding:0!important; border:none!important; background:none!important;
  display:flex!important; align-items:center; justify-content:center; gap:7px; font-size:0!important;
  visibility:visible!important;
}
html.is-web:not(.dark):is(.is-recording,.is-paused) [data-proto-state="transcript"] .phone-block-h::before{
  content:""; width:10px; height:10px; border-radius:50%; background:var(--z-rec); animation:zpulse 1.4s infinite;
}
html.is-web:not(.dark):is(.is-recording,.is-paused) [data-proto-state="transcript"] .phone-block-h::after{
  content:"录音中"; font-size:13px; font-weight:700; color:var(--z-rec); letter-spacing:.03em;
}

/* 大时码：黑色 48px（覆盖 is-recording 的红色 mono）—— 与 z.html 原型 .z-tcode 一致 */
html.is-web:not(.dark):is(.is-recording,.is-paused) [data-proto-state="transcript"] .phone-rectimer{
  order:1; margin:22px 0 0!important; padding:0!important; font-size:48px!important; font-weight:700!important;
  color:var(--z-ink)!important; letter-spacing:-.01em; font-variant-numeric:tabular-nums;
  line-height:1!important; text-align:center; background:none!important;
}

/* 渐变波形（app 录音中默认藏波形显 orb；这里强制显波形、藏 orb） */
html.is-web:not(.dark):is(.is-recording,.is-paused) [data-proto-state="transcript"] .phone-waveform{
  order:2; height:52px!important; margin:20px 0 0!important; padding:0!important;
  display:flex!important; align-items:center; justify-content:center; gap:3px; width:100%;
}
html.is-web:not(.dark):is(.is-recording,.is-paused) [data-proto-state="transcript"] .phone-waveform .bar{
  width:4px!important; border-radius:3px!important; background:var(--z-grad)!important; opacity:1!important;
}
html.is-web:not(.dark):is(.is-recording,.is-paused) [data-proto-state="transcript"] .phone-waveform .bar:nth-child(1){height:14px!important}
html.is-web:not(.dark):is(.is-recording,.is-paused) [data-proto-state="transcript"] .phone-waveform .bar:nth-child(2){height:24px!important}
html.is-web:not(.dark):is(.is-recording,.is-paused) [data-proto-state="transcript"] .phone-waveform .bar:nth-child(3){height:36px!important}
html.is-web:not(.dark):is(.is-recording,.is-paused) [data-proto-state="transcript"] .phone-waveform .bar:nth-child(4){height:50px!important}
html.is-web:not(.dark):is(.is-recording,.is-paused) [data-proto-state="transcript"] .phone-waveform .bar:nth-child(5){height:60px!important}
html.is-web:not(.dark):is(.is-recording,.is-paused) [data-proto-state="transcript"] .phone-waveform .bar:nth-child(6){height:44px!important}
html.is-web:not(.dark):is(.is-recording,.is-paused) [data-proto-state="transcript"] .phone-waveform .bar:nth-child(7){height:30px!important}
html.is-web:not(.dark):is(.is-recording,.is-paused) [data-proto-state="transcript"] .phone-waveform .bar:nth-child(8){height:52px!important}
html.is-web:not(.dark):is(.is-recording,.is-paused) [data-proto-state="transcript"] .phone-waveform .bar:nth-child(9){height:30px!important}
html.is-web:not(.dark):is(.is-recording,.is-paused) [data-proto-state="transcript"] .phone-waveform .bar:nth-child(10){height:44px!important}
html.is-web:not(.dark):is(.is-recording,.is-paused) [data-proto-state="transcript"] .phone-waveform .bar:nth-child(11){height:60px!important}
html.is-web:not(.dark):is(.is-recording,.is-paused) [data-proto-state="transcript"] .phone-waveform .bar:nth-child(12){height:50px!important}
html.is-web:not(.dark):is(.is-recording,.is-paused) [data-proto-state="transcript"] .phone-waveform .bar:nth-child(13){height:36px!important}
html.is-web:not(.dark):is(.is-recording,.is-paused) [data-proto-state="transcript"] .phone-waveform .bar:nth-child(14){height:24px!important}
html.is-web:not(.dark):is(.is-recording,.is-paused) [data-proto-state="transcript"] .phone-waveform .bar:nth-child(15){height:14px!important}

/* orb 区：藏脉冲圆 + AI正在听（波形已是主视觉），保留 听/译为 语种选择（真功能）压成小行 */
html.is-web:not(.dark):is(.is-recording,.is-paused) [data-proto-state="transcript"] .mc-orb-zone{
  order:3; margin:10px 0 0!important; padding:0!important; background:none!important;
  height:auto!important; min-height:0!important; display:flex; flex-direction:column; align-items:center; gap:8px;
}
html.is-web:not(.dark):is(.is-recording,.is-paused) [data-proto-state="transcript"] .mc-orb,
html.is-web:not(.dark):is(.is-recording,.is-paused) [data-proto-state="transcript"] .mc-orb-status{display:none!important}
html.is-web:not(.dark):is(.is-recording,.is-paused) [data-proto-state="transcript"] .mc-orb-lang{
  margin:0!important; display:flex; gap:12px; flex-wrap:wrap; justify-content:center;
}

/* 实时转写卡（复用 phone-transcript，加 z 头「● 实时转写」）。
   flex:1 撑满剩余空间 + 内部滚动 → 底部 3 圆控件恒定可见，转写文字再多也不挤出屏幕。 */
html.is-web:not(.dark):is(.is-recording,.is-paused) [data-proto-state="transcript"] .phone-transcript{
  order:4; align-self:stretch; flex:1 1 auto!important; min-height:0!important;
  display:flex!important; flex-direction:column;
  background:var(--z-card)!important; border:1px solid var(--z-line)!important;
  border-radius:16px!important; margin:18px 0 0!important; padding:12px 14px 6px!important; overflow:hidden;
}
/* 「● 实时转写」小标题（固定不滚） */
html.is-web:not(.dark):is(.is-recording,.is-paused) [data-proto-state="transcript"] .phone-transcript::before{
  content:"实时转写"; flex:0 0 auto; display:flex; align-items:center; gap:6px; padding-left:13px; margin-bottom:8px;
  font-size:10.5px; font-weight:700; color:var(--z-faint); letter-spacing:.03em;
  background:radial-gradient(circle 3.5px at 3.5px 50%, var(--z-rec) 96%, transparent) no-repeat;
}
/* 🔴 web-polish 遗留的 ::after「完成后 AI 自动转写、抽决策、生成纪要」——z 详情不要这条冗余提示 */
html.is-web:not(.dark):is(.is-recording,.is-paused) [data-proto-state="transcript"] .phone-transcript::after{content:none!important; display:none!important}
/* 占位提示（未收到字时） */
html.is-web:not(.dark):is(.is-recording,.is-paused) [data-proto-state="transcript"] .phone-transcript .mc-stream-placeholder{
  color:var(--z-dim)!important; font-size:13px!important; text-align:left!important;
  padding:0!important; line-height:1.55!important;
}

/* 注入的实时转写文字容器 #mcStreamText：不再是「卡中卡」——去掉自带底色/描边/圆角，
   变成 phone-transcript 内部的滚动区（flex:1），字号收敛到可读的 15px（原 22px 太大挤屏）。 */
html.is-web:not(.dark):is(.is-recording,.is-paused) [data-proto-state="transcript"] .phone-transcript #mcStreamText{
  flex:1 1 auto!important; min-height:0!important; overflow-y:auto!important; overscroll-behavior:contain;
  margin:0!important; padding:0 1px!important; background:none!important; border:0!important; border-radius:0!important;
  box-shadow:none!important; backdrop-filter:none!important; max-height:none!important;
  font-size:14px!important; line-height:1.6!important; color:var(--z-ink)!important; text-align:left!important;
}
html.is-web:not(.dark):is(.is-recording,.is-paused) [data-proto-state="transcript"] .phone-transcript #mcStreamText::-webkit-scrollbar{display:none}
html.is-web:not(.dark):is(.is-recording,.is-paused) [data-proto-state="transcript"] #mcStreamText .mc-stream-src{
  font-size:14px!important; line-height:1.6!important;
}
html.is-web:not(.dark):is(.is-recording,.is-paused) [data-proto-state="transcript"] #mcStreamText .mc-stream-src .final{color:var(--z-ink)!important; font-weight:500!important}
html.is-web:not(.dark):is(.is-recording,.is-paused) [data-proto-state="transcript"] #mcStreamText .mc-stream-src .partial{color:var(--z-dim)!important; font-weight:400!important}
/* 空态占位 */
html.is-web:not(.dark):is(.is-recording,.is-paused) [data-proto-state="transcript"] #mcStreamText .mc-stream-src:empty{display:block!important}
html.is-web:not(.dark):is(.is-recording,.is-paused) [data-proto-state="transcript"] #mcStreamText .mc-stream-src:empty::before{
  content:"正在聆听，转写文字将实时显示…"; display:block; color:var(--z-faint); font-size:13px; font-weight:400;
  text-align:left; padding:2px 0; letter-spacing:.02em;
}
/* 译文行（开启翻译时）：z 主题浅底分隔，蓝调 */
html.is-web:not(.dark):is(.is-recording,.is-paused) [data-proto-state="transcript"] #mcStreamText .mc-stream-trg{
  margin-top:10px!important; padding-top:9px!important; border-top:1px solid var(--z-line)!important;
  font-size:14px!important; line-height:1.55!important; color:var(--z-accent)!important;
}
html.is-web:not(.dark):is(.is-recording,.is-paused) [data-proto-state="transcript"] #mcStreamText .mc-stream-trg .final{color:var(--z-accent)!important; font-weight:500!important}
html.is-web:not(.dark):is(.is-recording,.is-paused) [data-proto-state="transcript"] #mcStreamText .mc-stream-trg .partial{color:var(--z-g2,#22c3ee)!important; font-weight:400!important; opacity:.85}

/* 底部 3 圆控件(2026-07-09 z 定版美化)：取消/完成柔和悬浮 + 暂停大钮红径向渐变+呼吸光环(仅录音中,
   暂停态动画冻结);三圆光学居中,标签 12px 提对比;:active 按压回馈。设计源=z .z-ctrls/.z-cbt。 */
html.is-web:not(.dark):is(.is-recording,.is-paused) [data-proto-state="transcript"] .mc-rec-actions{
  order:5; margin:0!important; padding-top:16px!important; flex:0 0 auto;
  display:flex!important; align-items:center; justify-content:center; gap:38px; width:100%; background:none!important;
}
html.is-web:not(.dark):is(.is-recording,.is-paused) [data-proto-state="transcript"] .mc-rec-act{
  display:flex!important; flex-direction:column; align-items:center; gap:10px;
  background:none!important; border:none!important; box-shadow:none!important;
  padding:0!important; width:auto!important; min-width:0!important; height:auto!important;
}
html.is-web:not(.dark):is(.is-recording,.is-paused) [data-proto-state="transcript"] .mc-rec-act .ico{
  width:58px; height:58px; border-radius:50%; display:flex; align-items:center; justify-content:center;
  font-size:22px; line-height:1; background:var(--z-card); border:1px solid var(--z-line); color:var(--z-dim); margin:0!important;
  box-shadow:0 10px 22px -14px rgba(16,17,34,.28), inset 0 -2px 0 rgba(16,17,34,.03);
  transition:transform .12s ease;
}
html.is-web:not(.dark):is(.is-recording,.is-paused) [data-proto-state="transcript"] .mc-rec-act:active .ico{transform:scale(.94)}
html.is-web:not(.dark):is(.is-recording,.is-paused) [data-proto-state="transcript"] .mc-rec-act.pause .ico{
  width:76px; height:76px; font-size:26px; border-color:transparent; color:#fff; position:relative;
  background:radial-gradient(120% 120% at 30% 24%, #ff7d94, var(--z-rec) 58%, #f23d61);
  box-shadow:0 16px 30px -12px rgba(255,77,109,.55);
}
/* 呼吸光环:仅录音进行中;暂停态(is-paused)动画冻结只留细描边 */
html.is-web:not(.dark).is-recording [data-proto-state="transcript"] .mc-rec-act.pause .ico{animation:mc-recpulse 2.2s ease-out infinite}
html.is-web:not(.dark):is(.is-recording,.is-paused) [data-proto-state="transcript"] .mc-rec-act.pause .ico::after{
  content:""; position:absolute; inset:-7px; border-radius:50%; border:1.5px solid rgba(255,77,109,.28); pointer-events:none;
}
@keyframes mc-recpulse{0%{outline:0 solid rgba(255,77,109,.30);outline-offset:0}70%{outline:14px solid rgba(255,77,109,0);outline-offset:6px}100%{outline:14px solid rgba(255,77,109,0);outline-offset:6px}}
@media (prefers-reduced-motion:reduce){html.is-web.is-recording [data-proto-state="transcript"] .mc-rec-act.pause .ico{animation:none}}
html.is-web:not(.dark):is(.is-recording,.is-paused) [data-proto-state="transcript"] .mc-rec-act.done .ico{
  background:var(--z-grad); border-color:transparent; color:#fff;
  box-shadow:0 12px 26px -12px rgba(91,108,255,.5);
}
html.is-web:not(.dark):is(.is-recording,.is-paused) [data-proto-state="transcript"] .mc-rec-act .lbl{font-size:12px; color:var(--z-dim); font-weight:600; letter-spacing:.01em}
/* 2026-07-09 · 三键改 z 原型 SVG(此前 emoji ⏸ 在华为渲染成灰蓝系统 emoji,红圆上很丑)——SVG 需显式尺寸/描边 */
html.is-web:not(.dark):is(.is-recording,.is-paused) [data-proto-state="transcript"] .mc-rec-act .ico svg{
  width:23px; height:23px; stroke:currentColor; fill:none; stroke-width:2.2; stroke-linecap:round; stroke-linejoin:round; display:block;
}
html.is-web:not(.dark):is(.is-recording,.is-paused) [data-proto-state="transcript"] .mc-rec-act.pause .ico svg{width:27px; height:27px; stroke:#fff; stroke-width:2.5}
html.is-web:not(.dark):is(.is-recording,.is-paused) [data-proto-state="transcript"] .mc-rec-act.done .ico svg{stroke:#fff}

/* ---------------- P0·转写 + P0·纪要：注入式 z 录音详情 .mc-zdt（转写/纪要/章节/导图 四 Tab）---------------- */
html.is-web{--z-warn:#f59e0b; --z-warnsf:#fef3e2; --z-recsf:#ffe9ee; --z-ok:#16a34a; --z-oksf:#e7f7ee;}

/* summary 详情态：隐藏 app 原堆叠详情 + 顶栏（z 详情自带 .dh 头），只留 .mc-zdt */
/* #2a · 改为 catch-all：详情态下隐藏 .mc-zdt 之外的所有直接子节点（真实纪要卡 + 静态样机 + insights +
   分享条 + 离线音频…）。原来逐个列 id，任何漏列/新增/更名/嵌套更深的节点都会从 z 详情下方透出 → "内容错乱"。*/
html.is-web:not(.dark) .phone-view.active[data-proto-state="summary"].mc-zdt-on > *:not(.mc-zdt){display:none!important}
html.is-web:not(.dark) .phone-screen:has(.phone-view.active[data-proto-state="summary"].mc-zdt-on) > .phone-topbar,
html.is-web:not(.dark) .phone-screen:has(.phone-view.active[data-proto-state="summary"].mc-zdt-on) > .phone-bottombar{display:none!important}

/* 详情容器：撑满手机屏、纵向列（顶栏/底栏已隐，播放条钉底） */
/* 🔴 必须带 .active：否则纪要详情建过 .mc-zdt-on 后离开该视图(返回录音),这条 display:flex!important
   仍强制 summary 视图显示 → .mc-zdt 详情漏到首页下方。加 .active 后,非激活即回落 .phone-view{display:none}。 */
html.is-web:not(.dark) .phone-view.active[data-proto-state="summary"].mc-zdt-on{padding:0!important; height:100%!important; display:flex!important; flex-direction:column; min-height:0}
html.is-web .phone-view[data-proto-state="summary"]:not(.mc-zdt-on) .mc-zdt{display:none!important}
html.is-web .mc-zdt{display:flex; flex-direction:column; flex:1 1 auto; min-height:0; background:var(--z-bg); margin:0; }
html.is-web .mc-zdt .card{background:var(--z-card); border:1px solid var(--z-line); border-radius:16px}

/* .dh 头 */
html.is-web .mc-zdt-dh{padding:10px 14px 12px; display:flex; align-items:center; gap:9px; flex:0 0 auto}
html.is-web .mc-zdt-dh .bk{width:34px;height:34px;border-radius:11px;display:flex;align-items:center;justify-content:center;flex:0 0 auto;background:var(--z-card);border:1px solid var(--z-line);padding:0}
html.is-web .mc-zdt-dh .bk svg{width:20px;height:20px;stroke:var(--z-dim);fill:none;stroke-width:2}
html.is-web .mc-zdt-dh .tt{flex:1;min-width:0}
html.is-web .mc-zdt-dh .t1{font-size:17px;font-weight:800;color:var(--z-ink);line-height:1.25;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
html.is-web .mc-zdt-dh .t2{font-size:12px;color:var(--z-faint);margin-top:2px}
html.is-web .mc-zdt-dh .act{font-size:12.5px;color:var(--z-accent);font-weight:700;flex:0 0 auto;cursor:pointer}

/* Tab 段控 */
html.is-web .mc-zdt-tabs{display:flex;background:#eef0f6;border-radius:12px;padding:3px;gap:2px;margin:0 16px 2px;flex:0 0 auto}
html.is-web .mc-zdt-tabs > span{flex:1;text-align:center;font-size:12.5px;font-weight:600;color:var(--z-dim);padding:8px 0;border-radius:9px;cursor:pointer}
html.is-web .mc-zdt-tabs > span.on{background:var(--z-card);color:var(--z-ink);box-shadow:0 2px 6px rgba(16,17,34,.08)}

/* 滚动内容区 */
html.is-web .mc-zdt-scr{flex:1;overflow-y:auto;padding:8px 16px 16px;display:flex;flex-direction:column;gap:13px;min-height:0}
html.is-web .mc-zdt-scr::-webkit-scrollbar{display:none}
html.is-web .mc-zdt-c{padding:13px 14px}
html.is-web .mc-zdt .z-empty{text-align:center;color:var(--z-faint);font-size:13px;padding:30px 0}

/* 转写：搜索 + 发言人分段 */
html.is-web .mc-zdt .z-srch{display:flex;align-items:center;gap:8px;background:var(--z-card);border:1px solid var(--z-line);border-radius:12px;padding:10px 12px}
html.is-web .mc-zdt .z-srch svg{width:17px;height:17px;stroke:var(--z-faint);fill:none;stroke-width:2}
html.is-web .mc-zdt .z-srch span{font-size:13px;color:var(--z-faint)}
html.is-web .mc-zdt-segwrap{padding:2px 0}
html.is-web .mc-zdt .z-spk{display:flex;gap:11px;padding:13px 14px;border-bottom:1px solid var(--z-line)}
html.is-web .mc-zdt .z-spk:last-child{border-bottom:0}
html.is-web .mc-zdt .z-av{width:32px;height:32px;border-radius:50%;flex:0 0 auto;display:flex;align-items:center;justify-content:center;font-size:13px;font-weight:700;color:#fff;background:var(--z-accent)}
html.is-web .mc-zdt .z-av.b{background:var(--z-g2)}
html.is-web .mc-zdt .z-av.c{background:var(--z-warn)}
html.is-web .mc-zdt .z-av.d{background:#8b5cf6}
html.is-web .mc-zdt .z-spb{flex:1;min-width:0}
html.is-web .mc-zdt .z-spb .h{display:flex;align-items:baseline;gap:8px}
html.is-web .mc-zdt .z-spb .h b{font-size:13px;font-weight:600;color:var(--z-ink)}
html.is-web .mc-zdt .z-spb .h .t{font-size:11px;color:var(--z-faint);font-variant-numeric:tabular-nums}
html.is-web .mc-zdt .z-spb .x{font-size:13px;color:var(--z-dim);line-height:1.55;margin-top:3px}

/* 纪要：分区头/概览/决策/待办/邮件/章节 */
html.is-web .mc-zdt .z-blkh{display:flex;align-items:center;gap:7px;font-size:13px;font-weight:700;color:var(--z-ink)}
html.is-web .mc-zdt .z-blkh.gap{margin-bottom:9px}
html.is-web .mc-zdt .z-blkh.pad{padding:13px 14px 5px}
html.is-web .mc-zdt .z-blkh svg{width:19px;height:19px;stroke:var(--z-accent);fill:none;stroke-width:1.9}
html.is-web .mc-zdt .z-para{font-size:13px;color:var(--z-dim);line-height:1.65;margin-top:9px}
html.is-web .mc-zdt .z-nli{display:flex;gap:9px;padding:9px 0;border-bottom:1px solid var(--z-line)}
html.is-web .mc-zdt .z-nli:last-child{border-bottom:0}
html.is-web .mc-zdt .z-nn{flex:0 0 auto;min-width:20px;height:20px;padding:0 5px;border-radius:6px;background:var(--z-accentsf);color:var(--z-accent);font-size:11px;font-weight:700;display:flex;align-items:center;justify-content:center}
html.is-web .mc-zdt .z-nlt{font-size:13px;color:var(--z-ink);line-height:1.5}
html.is-web .mc-zdt .rows{display:flex;flex-direction:column}
html.is-web .mc-zdt .rows .r{display:flex;align-items:center;gap:11px;padding:11px 14px;border-bottom:1px solid var(--z-line)}
html.is-web .mc-zdt .rows .r:last-child{border-bottom:0}
html.is-web .mc-zdt .rbody{flex:1;min-width:0}
html.is-web .mc-zdt .rbody .t{font-size:13.5px;font-weight:600;color:var(--z-ink);line-height:1.3;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
html.is-web .mc-zdt .rbody .d{font-size:11px;color:var(--z-faint);margin-top:2px}
html.is-web .mc-zdt .ric{width:34px;height:34px;border-radius:10px;background:var(--z-accentsf);flex:0 0 auto;display:flex;align-items:center;justify-content:center}
html.is-web .mc-zdt .ric svg{width:17px;height:17px;stroke:var(--z-accent);fill:none;stroke-width:1.8}
html.is-web .mc-zdt .ric.rd{background:var(--z-recsf)}
html.is-web .mc-zdt .ric.rd svg{stroke:var(--z-rec)}
html.is-web .mc-zdt .ric.wn{background:var(--z-warnsf)}
html.is-web .mc-zdt .ric.wn svg{stroke:var(--z-warn)}
html.is-web .mc-zdt .tag{font-size:10.5px;font-weight:700;padding:2px 8px;border-radius:20px;white-space:nowrap;flex:0 0 auto}
html.is-web .mc-zdt .tag.r{color:var(--z-rec);background:var(--z-recsf)}
html.is-web .mc-zdt .tag.w{color:#c8760a;background:var(--z-warnsf)}
html.is-web .mc-zdt .tag.b{color:var(--z-accent);background:var(--z-accentsf)}
html.is-web .mc-zdt .tag.g{color:var(--z-ok);background:var(--z-oksf)}
html.is-web .mc-zdt .z-mini{font-size:10px;font-weight:700;padding:3px 7px;border-radius:8px;flex:0 0 auto;white-space:nowrap}
html.is-web .mc-zdt .z-mini.r{color:var(--z-rec);background:var(--z-recsf)}
html.is-web .mc-zdt .z-mini.w{color:#c8760a;background:var(--z-warnsf)}
html.is-web .mc-zdt .z-mini.b{color:var(--z-accent);background:var(--z-accentsf)}
html.is-web .mc-zdt .z-ct{font-size:11px;font-weight:700;color:var(--z-accent);background:var(--z-accentsf);border-radius:6px;padding:4px 7px;flex:0 0 auto;font-variant-numeric:tabular-nums}

/* 导图 */
html.is-web .mc-zdt .z-mind{display:flex;align-items:center;gap:14px;margin-top:11px}
html.is-web .mc-zdt .z-mroot{background:var(--z-grad);color:#fff;border-radius:12px;padding:14px 10px;font-size:12.5px;font-weight:700;text-align:center;flex:0 0 auto;width:92px;line-height:1.3;box-shadow:0 10px 20px -10px rgba(91,108,255,.6)}
html.is-web .mc-zdt .z-mbr{display:flex;flex-direction:column;gap:8px;flex:1;border-left:2px solid var(--z-line);padding-left:14px}
html.is-web .mc-zdt .z-mnode{background:var(--z-accentsf);color:var(--z-accent);border-radius:10px;padding:10px 11px;font-size:12px;font-weight:600}

/* 播放条 */
html.is-web .mc-zdt-playbar{flex:0 0 auto;display:flex;align-items:center;gap:11px;padding:11px 14px calc(13px + env(safe-area-inset-bottom,0));background:rgba(255,255,255,.92);backdrop-filter:blur(12px);border-top:1px solid var(--z-line)}
html.is-web .mc-zdt .z-pl{width:38px;height:38px;border-radius:50%;background:var(--z-grad);display:flex;align-items:center;justify-content:center;flex:0 0 auto;box-shadow:0 8px 16px -6px rgba(91,108,255,.55)}
html.is-web .mc-zdt .z-pl svg{width:20px;height:20px;fill:#fff;stroke:none}
html.is-web .mc-zdt .z-pgwrap{flex:1;min-width:0}
html.is-web .mc-zdt .z-pgt{height:4px;background:#eef0f7;border-radius:3px;overflow:hidden}
html.is-web .mc-zdt .z-pgt i{display:block;height:100%;background:var(--z-grad)}
html.is-web .mc-zdt .z-ptime{font-size:10px;color:var(--z-faint);margin-top:4px;font-variant-numeric:tabular-nums}
html.is-web .mc-zdt .z-spd{font-size:11.5px;font-weight:700;color:var(--z-accent);background:var(--z-accentsf);border-radius:20px;padding:5px 10px;flex:0 0 auto}

/* ---------------- P0·智能对话：chat 视图 z 皮（气泡/引用芯片/快捷追问/输入条）---------------- */
/* 沉浸：chat 激活时隐底栏导航（z 底部是 chatbar，非导航）；顶栏保留(带返回) */
html.is-web:not(.dark) .phone-screen:has(.phone-view.active[data-proto-state="chat"]) > .phone-bottombar{display:none!important}
/* 视图纵向列：消息区撑满滚动，快捷追问+输入条钉底。
   🔴 必须带 .active——否则未激活的 chat 视图被 display:flex!important 强制常显，
   「和 AI 对话」pill + 空消息区会漏到每个页面占大片空白（2026-07-05 修）。 */
html.is-web:not(.dark) .phone-view.active[data-proto-state="chat"]{display:flex!important; flex-direction:column; height:100%!important; padding:0!important; min-height:0}
/* block-h「和 AI 对话」→ z 居中问候 pill */
html.is-web:not(.dark) [data-proto-state="chat"] > .phone-block-h{
  order:0; flex:0 0 auto; align-self:center; margin:12px auto 2px!important; padding:5px 12px!important; border:1px solid var(--z-line)!important;
  background:var(--z-card)!important; border-radius:20px!important; font-size:11px!important; font-weight:700!important; color:var(--z-faint)!important;
}
html.is-web:not(.dark) [data-proto-state="chat"] > .phone-block-h .mc-ws-hint{display:none!important}
/* 消息区 */
/* 2026-07-09 · 修「聊天屏气泡下方空白断层 + 末条被截断」根因：base style.css:2836 的
   .mc-chat-msgs{max-height:360px}（旧版定高消息框遗留）没被 z 皮解除 → 无论 flex:1 都被死死卡在 360px，
   消息被压在上方 360px 定高框内滚、下方一大片死区、末条看着被截断。加 max-height:none 解除封顶，
   flex:1 才能撑满 block-h→chips 的空间、多消息滚动到底、末条紧邻输入区。 */
html.is-web:not(.dark) [data-proto-state="chat"] #mc-chat-msgs{
  order:1; flex:1 1 auto!important; height:auto!important; max-height:none!important; min-height:0!important; overflow-y:auto; display:flex; flex-direction:column; gap:13px; padding:8px 16px 4px!important;
}
html.is-web:not(.dark) [data-proto-state="chat"] #mc-chat-msgs::-webkit-scrollbar{display:none}
/* 气泡 */
html.is-web:not(.dark) [data-proto-state="chat"] .mc-chat-msg{max-width:84%; font-size:13.5px; line-height:1.62; padding:11px 13px; border-radius:16px; margin:0!important}
html.is-web:not(.dark) [data-proto-state="chat"] .mc-chat-user{align-self:flex-end; background:var(--z-grad)!important; color:#fff!important; border:none!important; border-bottom-right-radius:5px!important}
html.is-web:not(.dark) [data-proto-state="chat"] .mc-chat-asst{align-self:flex-start; background:var(--z-card)!important; border:1px solid var(--z-line)!important; color:var(--z-ink)!important; border-bottom-left-radius:5px!important}
html.is-web:not(.dark) [data-proto-state="chat"] .mc-chat-asst .mc-chat-body{color:var(--z-ink)}
/* 引用芯片 */
html.is-web:not(.dark) [data-proto-state="chat"] .mc-chat-sources{display:flex; flex-wrap:wrap; gap:6px; margin-top:9px; align-items:center}
html.is-web:not(.dark) [data-proto-state="chat"] .mc-chat-sources .lab{font-size:10.5px; color:var(--z-faint); opacity:1}
html.is-web:not(.dark) [data-proto-state="chat"] .mc-chat-src{
  display:inline-flex; align-items:center; gap:5px; font-size:10.5px!important; font-weight:700!important;
  color:var(--z-accent)!important; background:var(--z-accentsf)!important; border:none!important; border-radius:10px!important; padding:5px 9px!important;
}
/* 快捷追问 chips（margin-top:auto = msgs 万一填不满时把 chips+输入条钉到底的兜底，勿删） */
html.is-web:not(.dark) [data-proto-state="chat"] #mc-chat-quick{
  order:2; flex:0 0 auto; display:flex; gap:7px; overflow-x:auto; padding:9px 16px 0!important; margin:auto 0 0!important; border:none!important; background:none!important;
}
html.is-web:not(.dark) [data-proto-state="chat"] .mc-chat-q{
  flex:0 0 auto; font-size:11.5px!important; font-weight:600!important; color:var(--z-accent)!important; background:var(--z-accentsf)!important;
  border:none!important; border-radius:20px!important; padding:6px 12px!important; white-space:nowrap;
}
/* 输入条 → z-chatbar */
html.is-web:not(.dark) [data-proto-state="chat"] .mc-chat-input-row{
  order:3; flex:0 0 auto; display:flex; align-items:center; gap:8px; margin:0!important;
  background:var(--z-card)!important; border-top:1px solid var(--z-line)!important; padding:9px 16px calc(12px + env(safe-area-inset-bottom,0))!important;
}
html.is-web:not(.dark) [data-proto-state="chat"] .mc-chat-input{
  flex:1; background:var(--z-bg)!important; border:1px solid var(--z-line)!important; border-radius:14px!important;
  padding:11px 12px!important; font-size:12.5px!important; color:var(--z-ink)!important;
}
html.is-web:not(.dark) [data-proto-state="chat"] .mc-chat-send{
  width:auto!important; padding:0 16px!important; height:40px; border-radius:12px!important; background:var(--z-grad)!important;
  color:#fff!important; font-weight:700!important; font-size:13px!important; border:none!important; flex:0 0 auto;
}

/* ---------------- P0·L2确认：confirm 视图注入式 z .mc-zl2（闸门条 + 待发邮件卡 + 队列 + footbar）---------------- */
/* 隐藏 app 原 confirm 卡 + block-h + 顶栏/底栏（z 详情自带 dh + footbar） */
html.is-web:not(.dark) .phone-view[data-proto-state="confirm"].mc-zl2-on > .phone-block-h,
html.is-web:not(.dark) .phone-view[data-proto-state="confirm"].mc-zl2-on > .phone-confirm-card{display:none!important}
html.is-web:not(.dark) .phone-screen:has(.phone-view.active[data-proto-state="confirm"].mc-zl2-on) > .phone-topbar,
html.is-web:not(.dark) .phone-screen:has(.phone-view.active[data-proto-state="confirm"].mc-zl2-on) > .phone-bottombar{display:none!important}
html.is-web:not(.dark) .phone-view[data-proto-state="confirm"].mc-zl2-on{padding:0!important; height:100%!important; display:flex!important; flex-direction:column; min-height:0}
html.is-web .phone-view[data-proto-state="confirm"]:not(.mc-zl2-on) .mc-zl2{display:none!important}
html.is-web .mc-zl2{display:flex; flex-direction:column; flex:1 1 auto; min-height:0; background:var(--z-bg)}

/* dh 头 */
html.is-web .mc-zl2-dh{padding:10px 14px 12px; display:flex; align-items:center; gap:9px; flex:0 0 auto}
html.is-web .mc-zl2-dh .bk{width:34px;height:34px;border-radius:11px;display:flex;align-items:center;justify-content:center;flex:0 0 auto;background:var(--z-card);border:1px solid var(--z-line);padding:0}
html.is-web .mc-zl2-dh .bk svg{width:20px;height:20px;stroke:var(--z-dim);fill:none;stroke-width:2}
html.is-web .mc-zl2-dh .t1{font-size:17px;font-weight:800;color:var(--z-ink);line-height:1.25}
html.is-web .mc-zl2-dh .t2{font-size:12px;color:var(--z-faint);margin-top:2px}

/* 滚动区 */
html.is-web .mc-zl2-scr{flex:1;overflow-y:auto;padding:2px 16px 16px;display:flex;flex-direction:column;gap:13px;min-height:0}
html.is-web .mc-zl2-scr::-webkit-scrollbar{display:none}
html.is-web .mc-zl2 .card{background:var(--z-card);border:1px solid var(--z-line);border-radius:16px}

/* 红闸门条 */
html.is-web .mc-zl2 .z-alert{display:flex;align-items:center;gap:9px;background:var(--z-recsf);border:1px solid #ffd9e0;border-radius:13px;padding:11px 13px}
html.is-web .mc-zl2 .z-alert svg{width:18px;height:18px;stroke:var(--z-rec);fill:none;stroke-width:2;flex:0 0 auto}
html.is-web .mc-zl2 .z-alert span{font-size:13px;font-weight:700;color:var(--z-rec)}

/* 待发邮件卡 */
html.is-web .mc-zl2-mailc{padding:14px 15px}
html.is-web .mc-zl2-mh{display:flex;align-items:center;gap:11px}
html.is-web .mc-zl2 .ric{width:34px;height:34px;border-radius:10px;background:var(--z-accentsf);flex:0 0 auto;display:flex;align-items:center;justify-content:center}
html.is-web .mc-zl2 .ric svg{width:17px;height:17px;stroke:var(--z-accent);fill:none;stroke-width:1.8}
html.is-web .mc-zl2 .ric.rd{background:var(--z-recsf)}
html.is-web .mc-zl2 .ric.rd svg{stroke:var(--z-rec)}
html.is-web .mc-zl2 .rbody{flex:1;min-width:0}
html.is-web .mc-zl2 .rbody .t{font-size:13.5px;font-weight:600;color:var(--z-ink);line-height:1.3;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
html.is-web .mc-zl2 .rbody .d{font-size:11px;color:var(--z-faint);margin-top:2px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
html.is-web .mc-zl2 .tag{font-size:10.5px;font-weight:700;padding:2px 8px;border-radius:20px;white-space:nowrap;flex:0 0 auto}
html.is-web .mc-zl2 .tag.r{color:var(--z-rec);background:var(--z-recsf)}
html.is-web .mc-zl2 .tag.b{color:var(--z-accent);background:var(--z-accentsf)}
html.is-web .mc-zl2 .z-preview{font-size:12.5px;color:var(--z-dim);line-height:1.65;background:var(--z-bg);border-radius:11px;padding:10px 12px;margin-top:10px}

/* 队列分区头 + 行 */
html.is-web .mc-zl2-sec{display:flex;align-items:baseline;justify-content:space-between;margin:2px 2px -4px}
html.is-web .mc-zl2-sec h3{font-size:12.5px;font-weight:800;color:var(--z-ink);letter-spacing:.01em}
html.is-web .mc-zl2-sec a{font-size:11.5px;font-weight:600;color:var(--z-accent)}
html.is-web .mc-zl2 .rows{display:flex;flex-direction:column}
html.is-web .mc-zl2 .rows .r{display:flex;align-items:center;gap:11px;padding:11px 14px;border-bottom:1px solid var(--z-line)}
html.is-web .mc-zl2 .rows .r:last-child{border-bottom:0}

/* footbar */
html.is-web .mc-zl2-foot{flex:0 0 auto;padding:11px 14px calc(13px + env(safe-area-inset-bottom,0));background:var(--z-card);border-top:1px solid var(--z-line);display:flex;gap:10px}
html.is-web .mc-zl2-foot .fb{flex:1;text-align:center;padding:13px;border-radius:13px;font-size:14px;font-weight:700;border:1px solid var(--z-line);background:var(--z-card);color:var(--z-dim)}
html.is-web .mc-zl2-foot .fb.pri{background:var(--z-grad);color:#fff;border-color:transparent}
html.is-web .mc-zl2-foot .fb.danger{color:var(--z-rec);border-color:var(--z-recsf);background:var(--z-recsf)}

/* ---------------- P0·草稿详情：注入式覆盖层 .mc-zdraft（邮件草稿：闸门 + 收件人/主题/正文 + 复制/标已发）---------------- */
@keyframes zblink{0%,49%{opacity:1}50%,100%{opacity:0}}
html.is-web #mc-zdraft.mc-zdraft{position:absolute;inset:0;z-index:60;background:var(--z-bg);display:flex;flex-direction:column;min-height:0}
html.is-web .mc-zdraft .card{background:var(--z-card);border:1px solid var(--z-line);border-radius:16px}
/* dh */
html.is-web .mc-zdraft-dh{padding:10px 14px 12px;display:flex;align-items:center;gap:9px;flex:0 0 auto}
html.is-web .mc-zdraft-dh .bk{width:34px;height:34px;border-radius:11px;display:flex;align-items:center;justify-content:center;flex:0 0 auto;background:var(--z-card);border:1px solid var(--z-line);padding:0}
html.is-web .mc-zdraft-dh .bk svg{width:20px;height:20px;stroke:var(--z-dim);fill:none;stroke-width:2}
html.is-web .mc-zdraft-dh .tt{flex:1;min-width:0}
html.is-web .mc-zdraft-dh .t1{font-size:17px;font-weight:800;color:var(--z-ink);line-height:1.25}
html.is-web .mc-zdraft-dh .t2{font-size:12px;color:var(--z-faint);margin-top:2px}
html.is-web .mc-zdraft-dh .act{font-size:12.5px;color:var(--z-accent);font-weight:700;flex:0 0 auto;cursor:pointer}
/* scr */
html.is-web .mc-zdraft-scr{flex:1;overflow-y:auto;padding:2px 16px 16px;display:flex;flex-direction:column;gap:13px;min-height:0}
html.is-web .mc-zdraft-scr::-webkit-scrollbar{display:none}
/* 红闸门 */
html.is-web .mc-zdraft .z-alert{display:flex;align-items:center;gap:9px;background:var(--z-recsf);border:1px solid #ffd9e0;border-radius:13px;padding:11px 13px}
html.is-web .mc-zdraft .z-alert svg{width:18px;height:18px;stroke:var(--z-rec);fill:none;stroke-width:2;flex:0 0 auto}
html.is-web .mc-zdraft .z-alert span{font-size:13px;font-weight:700;color:var(--z-rec)}
/* 邮件卡 */
html.is-web .mc-zdraft-mail{overflow:hidden}
html.is-web .mc-zdraft-r{display:flex;gap:9px;padding:11px 14px;border-bottom:1px solid var(--z-line);font-size:12.5px}
html.is-web .mc-zdraft-r .mk{color:var(--z-faint);flex:0 0 42px}
html.is-web .mc-zdraft-r .mv{color:var(--z-ink);font-weight:600;flex:1;min-width:0;word-break:break-all}
html.is-web .mc-zdraft-body{padding:13px 14px;font-size:13px;line-height:1.75;color:var(--z-dim)}
html.is-web .mc-zdraft-body .z-cursor{display:inline-block;width:2px;height:15px;background:var(--z-accent);vertical-align:-2px;margin-left:1px;animation:zblink 1.1s step-end infinite}
/* footbar */
html.is-web .mc-zdraft-foot{flex:0 0 auto;padding:11px 14px calc(13px + env(safe-area-inset-bottom,0));background:var(--z-card);border-top:1px solid var(--z-line);display:flex;gap:10px}
html.is-web .mc-zdraft-foot .fb{flex:1;text-align:center;padding:13px;border-radius:13px;font-size:14px;font-weight:700;border:1px solid var(--z-line);background:var(--z-card);color:var(--z-dim)}
html.is-web .mc-zdraft-foot .fb.pri{background:var(--z-grad);color:#fff;border-color:transparent}
/* toast */
html.is-web .mc-zdraft-toast{position:fixed;left:50%;bottom:80px;transform:translateX(-50%) translateY(10px);background:rgba(16,17,34,.92);color:#fff;font-size:13px;padding:10px 16px;border-radius:12px;opacity:0;transition:opacity .25s,transform .25s;z-index:9999;pointer-events:none}
html.is-web .mc-zdraft-toast.show{opacity:1;transform:translateX(-50%) translateY(0)}

/* ============================================================
   Wave B —— P1 管理聚合逐屏 z 皮（CSS-only，作用域 html.is-web [data-proto-state]）。
   映射自 _proto/z.html P1 段；覆盖 app-18/app-17/app-24/app-03 注入的 i2 皮。
   附加设计令牌（warn/ok/surface），additive 不影响已上线 P0。 ============================================================ */
html.is-web{ --z-warn:#f59e0b; --z-warnsf:#fef3e2; --z-ok:#16a34a; --z-oksf:#e7f7ee; --z-recsf:#ffe9ee; --z-line2:#e2e4ef; }

/* ========================= P1·待办中心（todohub / app-18）========================= */
/* 顶栏标题副标由 MutationObserver 处理；此处只画 body */
/* statbar：单卡分隔 → 4 张独立圆角卡（z .z-statbar） */
html.is-web [data-proto-state="todohub"] .mc-th-statbar{
  display:grid!important; grid-template-columns:repeat(4,1fr); gap:8px;
  background:transparent!important; border:0!important; padding:0!important; margin:8px 0 4px!important;
}
html.is-web [data-proto-state="todohub"] .mc-th-si{
  background:var(--z-card); border:1px solid var(--z-line); border-radius:13px; padding:11px 5px;
}
html.is-web [data-proto-state="todohub"] .mc-th-si+.mc-th-si::before{display:none!important}
html.is-web [data-proto-state="todohub"] .mc-th-si .v{font-size:20px;font-weight:800;color:var(--z-ink)}
html.is-web [data-proto-state="todohub"] .mc-th-si.r .v{color:var(--z-rec)}
html.is-web [data-proto-state="todohub"] .mc-th-si.w .v{color:var(--z-warn)}
html.is-web [data-proto-state="todohub"] .mc-th-si .l{font-size:10.5px;color:var(--z-faint);margin-top:2px}
/* filters：z pill（active=accentsf） */
html.is-web [data-proto-state="todohub"] .mc-hub-bar{display:flex;gap:7px;flex-wrap:wrap;margin:2px 0 4px}
html.is-web [data-proto-state="todohub"] .mc-hub-pill{
  background:var(--z-card); border:1px solid var(--z-line); border-radius:20px;
  padding:6px 12px; font-size:11.5px; font-weight:600; color:var(--z-dim);
}
html.is-web [data-proto-state="todohub"] .mc-hub-pill.active{
  background:var(--z-accentsf)!important; border-color:transparent!important; color:var(--z-accent)!important;
}
html.is-web [data-proto-state="todohub"] .mc-hub-pill .n{color:inherit;opacity:.7;margin-left:3px;font-weight:700}
/* 分组头 → z .sec h3 */
html.is-web [data-proto-state="todohub"] .mc-th-grp{
  font-size:12.5px!important; font-weight:800!important; color:var(--z-ink)!important;
  letter-spacing:.01em; margin:8px 2px -2px!important; padding:0!important;
}
/* 待办项 → z 卡（每项独立圆角卡 + 柔阴影） */
html.is-web [data-proto-state="todohub"] .mc-th-item{
  background:var(--z-card); border:1px solid var(--z-line); border-radius:16px;
  padding:12px 14px; margin-bottom:9px; box-shadow:0 2px 10px rgba(16,17,34,.045);
}
html.is-web [data-proto-state="todohub"] .mc-th-item .mc-th-top{gap:8px;align-items:flex-start}
html.is-web [data-proto-state="todohub"] .mc-th-item .mc-th-title{font-size:13.5px;font-weight:600;color:var(--z-ink);line-height:1.35}
html.is-web [data-proto-state="todohub"] .mc-th-mini{
  font-size:10px;font-weight:700;padding:1px 6px;border-radius:7px;margin-right:6px;vertical-align:1px;
}
html.is-web [data-proto-state="todohub"] .mc-th-mini.r{color:var(--z-rec);background:var(--z-recsf)}
html.is-web [data-proto-state="todohub"] .mc-th-mini.w{color:#c8760a;background:var(--z-warnsf)}
html.is-web [data-proto-state="todohub"] .mc-th-mini.b{color:var(--z-accent);background:var(--z-accentsf)}
/* tag → z 药丸 */
html.is-web [data-proto-state="todohub"] .mc-th-item .tag{
  border-radius:20px!important; font-size:10.5px!important; font-weight:700!important; padding:2px 8px!important;
}
html.is-web [data-proto-state="todohub"] .mc-th-item .tag.warn{color:#c8760a!important;background:var(--z-warnsf)!important}
/* meta / src → z 副标 faint（src 原为红，压成 faint） */
html.is-web [data-proto-state="todohub"] .mc-th-item .mc-th-meta{font-size:11px;color:var(--z-faint);margin-top:5px}
html.is-web [data-proto-state="todohub"] .mc-th-item .mc-th-meta svg{stroke:var(--z-faint)}
html.is-web [data-proto-state="todohub"] .mc-th-item .mc-th-src{
  font-size:11px!important;color:var(--z-faint)!important;margin-top:3px;
}
html.is-web [data-proto-state="todohub"] .mc-th-item .mc-th-src svg{stroke:var(--z-faint)!important}

/* ========================= P1·产出内容/项目/日历（outputhub / app-18）========================= */
/* 子 Tab pill（复用 todohub 的 hub-pill z 皮） */
html.is-web [data-proto-state="outputhub"] .mc-hub-bar#mc-oh-tabs{display:flex;gap:7px;flex-wrap:wrap;margin:2px 0 6px}
html.is-web [data-proto-state="outputhub"] .mc-hub-pill{
  background:var(--z-card);border:1px solid var(--z-line);border-radius:20px;
  padding:6px 12px;font-size:11.5px;font-weight:600;color:var(--z-dim);
}
html.is-web [data-proto-state="outputhub"] .mc-hub-pill.active{
  background:var(--z-accentsf)!important;border-color:transparent!important;color:var(--z-accent)!important;
}
/* 分区提示 */
html.is-web [data-proto-state="outputhub"] .phone-block-h{font-size:12.5px;font-weight:800;color:var(--z-ink)}
/* 产出项 → z 卡（行卡：kind 徽标药丸 + 标题 + faint 副标） */
html.is-web [data-proto-state="outputhub"] .mc-oh-item{
  background:var(--z-card);border:1px solid var(--z-line);border-radius:16px;
  padding:12px 14px;margin-bottom:9px;box-shadow:0 2px 10px rgba(16,17,34,.045);
}
html.is-web [data-proto-state="outputhub"] .mc-oh-item .mc-oh-t{font-size:13.5px;font-weight:600;color:var(--z-ink);gap:8px;align-items:center}
html.is-web [data-proto-state="outputhub"] .mc-oh-item .mc-oh-kind{
  font-size:10.5px!important;font-weight:700!important;padding:2px 8px!important;border-radius:20px!important;
  background:var(--z-accentsf)!important;color:var(--z-accent)!important;display:inline-flex;align-items:center;gap:3px;
}
html.is-web [data-proto-state="outputhub"] .mc-oh-item .mc-oh-d{font-size:11px;color:var(--z-faint);margin-top:4px}
/* 空态 → z 居中淡 */
html.is-web [data-proto-state="outputhub"] .mc-hub-empty,
html.is-web [data-proto-state="todohub"] .mc-hub-empty{text-align:center;color:var(--z-faint);font-size:12.5px;padding:36px 20px;line-height:1.7}

/* ========================= P1·消息中心（浮层 .mc-msgs / app-17）========================= */
html.is-web .mc-msgs-panel{border-radius:20px 20px 0 0}
html.is-web .mc-msgs-head{padding:15px 16px 10px;font-weight:800;color:var(--z-ink)}
html.is-web .mc-msgs-grp{
  font-size:12.5px!important;font-weight:800!important;color:var(--z-ink)!important;
  padding:14px 16px 4px!important;letter-spacing:.01em;
}
/* item → z 行：icon 进 accentsf 圆角盒，z 排版 */
html.is-web .mc-msg-item{padding:12px 16px!important;gap:11px!important;align-items:center!important}
html.is-web .mc-msg-item .mc-msg-ico{
  width:34px!important;height:34px!important;border-radius:10px;background:var(--z-accentsf);
  display:flex;align-items:center;justify-content:center;color:var(--z-accent);
}
html.is-web .mc-msg-item .mc-msg-ico svg{width:17px;height:17px;stroke:var(--z-accent)}
/* 逾期类图标染红（按 tag.r 兄弟无法选 icon；用整条 :has 兜底红皮） */
html.is-web .mc-msg-item:has(.mc-msg-tag.r) .mc-msg-ico{background:var(--z-recsf);color:var(--z-rec)}
html.is-web .mc-msg-item:has(.mc-msg-tag.r) .mc-msg-ico svg{stroke:var(--z-rec)}
html.is-web .mc-msg-item:has(.mc-msg-tag.w) .mc-msg-ico{background:var(--z-warnsf);color:var(--z-warn)}
html.is-web .mc-msg-item:has(.mc-msg-tag.w) .mc-msg-ico svg{stroke:var(--z-warn)}
html.is-web .mc-msg-item .mc-msg-t{font-size:13.5px!important;font-weight:600;color:var(--z-ink)}
html.is-web .mc-msg-item .mc-msg-d{font-size:11px!important;color:var(--z-faint)!important;margin-top:2px}
html.is-web .mc-msg-item .mc-msg-tag{
  font-size:10.5px!important;font-weight:700!important;padding:2px 8px!important;border-radius:20px!important;align-self:center!important;
}
html.is-web .mc-msg-item .mc-msg-tag.r{color:var(--z-rec)!important;background:var(--z-recsf)!important}
html.is-web .mc-msg-item .mc-msg-tag.w{color:#c8760a!important;background:var(--z-warnsf)!important}
html.is-web .mc-msg-item .mc-msg-tag.g{color:var(--z-ok)!important;background:var(--z-oksf)!important}
/* 已读条灰显 */
html.is-web .mc-msg-item:not(.unread) .mc-msg-t{color:var(--z-faint)!important;font-weight:600}

/* ========================= P1·承诺跟进（initiatives / app-03）========================= */
html.is-web [data-proto-state="initiatives"] .phone-block-h{font-size:12.5px;font-weight:800;color:var(--z-ink)}
html.is-web [data-proto-state="initiatives"] #mc-init-scan,
html.is-web [data-proto-state="initiatives"] .mc-it-scan{color:var(--z-accent)!important;background:var(--z-accentsf)!important;border:none!important;border-radius:20px!important;font-weight:700!important;font-size:11.5px!important;padding:6px 12px!important}
/* 兑现率环卡 */
html.is-web [data-proto-state="initiatives"] #mc-init-ring{
  background:var(--z-card);border:1px solid var(--z-line);border-radius:16px;margin:8px 0 10px;
}
html.is-web [data-proto-state="initiatives"] .mc-cring{display:flex;align-items:center;gap:15px;padding:15px 16px}
html.is-web [data-proto-state="initiatives"] .mc-cring-ring{width:76px!important;height:76px!important;flex:0 0 auto}
html.is-web [data-proto-state="initiatives"] .mc-cring-in{font-size:19px!important;font-weight:800!important;color:var(--z-accent)!important}
html.is-web [data-proto-state="initiatives"] .mc-cring-h{font-size:15px;font-weight:700;color:var(--z-ink)}
html.is-web [data-proto-state="initiatives"] .mc-cring-d{font-size:11.5px;color:var(--z-faint);margin-top:3px;line-height:1.45}
/* 三态筛选 → z pill（active=accentsf） */
html.is-web [data-proto-state="initiatives"] .mc-cring-flt{display:flex;gap:7px;flex-wrap:wrap;margin:0 0 6px}
html.is-web [data-proto-state="initiatives"] .mc-cring-ft{
  background:var(--z-card)!important;border:1px solid var(--z-line)!important;border-radius:20px!important;
  padding:6px 12px!important;font-size:11.5px!important;font-weight:600!important;color:var(--z-dim)!important;
}
html.is-web [data-proto-state="initiatives"] .mc-cring-ft.active,
html.is-web [data-proto-state="initiatives"] .mc-cring-ft[aria-selected="true"]{
  background:var(--z-accentsf)!important;border-color:transparent!important;color:var(--z-accent)!important;
}
/* 初始化空态提示 */
html.is-web [data-proto-state="initiatives"] .mc-cring-empty,
html.is-web [data-proto-state="initiatives"] .mc-init-empty{text-align:center;color:var(--z-faint);font-size:12.5px;padding:30px 20px;line-height:1.7}
/* initiative 卡 → z 卡 */
html.is-web [data-proto-state="initiatives"] .mc-init-card{
  background:var(--z-card);border:1px solid var(--z-line);border-radius:16px;
  padding:14px 15px;margin-bottom:11px;box-shadow:0 2px 10px rgba(16,17,34,.045);
}
html.is-web [data-proto-state="initiatives"] .mc-init-h{gap:10px;align-items:flex-start}
html.is-web [data-proto-state="initiatives"] .mc-init-ico{
  width:34px;height:34px;border-radius:10px;background:var(--z-warnsf);color:var(--z-warn);
  display:flex;align-items:center;justify-content:center;flex:0 0 auto;font-size:15px;
}
html.is-web [data-proto-state="initiatives"] .mc-init-ttl{font-size:14px!important;font-weight:700!important;color:var(--z-ink)!important;line-height:1.35}
html.is-web [data-proto-state="initiatives"] .mc-init-rat{font-size:11.5px!important;color:var(--z-faint)!important;margin-top:3px;line-height:1.5}
html.is-web [data-proto-state="initiatives"] .mc-init-draft summary{font-size:11.5px;color:var(--z-accent);font-weight:600}
/* 底部按钮 → z 药丸（primary=渐变，非红） */
html.is-web [data-proto-state="initiatives"] .mc-init-foot{display:flex;gap:9px;margin-top:11px}
html.is-web [data-proto-state="initiatives"] .mc-init-btn{
  flex:1;text-align:center;padding:10px!important;border-radius:11px!important;font-size:12.5px!important;font-weight:700!important;
}
html.is-web [data-proto-state="initiatives"] .mc-init-btn-primary{background:var(--z-grad)!important;color:#fff!important;border:none!important}
html.is-web [data-proto-state="initiatives"] .mc-init-btn-ghost{background:var(--z-card)!important;border:1px solid var(--z-line)!important;color:var(--z-dim)!important}

/* ---------- P1·产出项目（outputhub projects Tab · chunk 重建结构）---------- */
html.is-web [data-proto-state="outputhub"] .mc-th-grp{font-size:12.5px!important;font-weight:800!important;color:var(--z-ink)!important;margin:6px 2px 4px!important;padding:0!important}
html.is-web [data-proto-state="outputhub"] .z-alert.mc-zpalert{display:flex;align-items:center;gap:9px;background:var(--z-recsf);border:1px solid #ffd9e0;border-radius:13px;padding:11px 13px;margin-bottom:4px}
html.is-web [data-proto-state="outputhub"] .z-alert.mc-zpalert>svg{width:17px;height:17px;stroke:var(--z-rec);fill:none;stroke-width:2;flex:0 0 auto}
html.is-web [data-proto-state="outputhub"] .z-alert.mc-zpalert .at{flex:1;font-size:12px;font-weight:600;color:#c0304b;line-height:1.35}
html.is-web [data-proto-state="outputhub"] .z-alert.mc-zpalert .ax{font-size:11.5px;font-weight:700;color:var(--z-rec);flex:0 0 auto}
html.is-web [data-proto-state="outputhub"] .mc-zproj{padding:13px 14px!important}
html.is-web [data-proto-state="outputhub"] .mc-zproj-h{display:flex;align-items:center;gap:11px}
html.is-web [data-proto-state="outputhub"] .mc-zproj-ic{width:34px;height:34px;border-radius:10px;background:var(--z-accentsf);flex:0 0 auto;display:flex;align-items:center;justify-content:center}
html.is-web [data-proto-state="outputhub"] .mc-zproj-ic svg{width:17px;height:17px;stroke:var(--z-accent);fill:none;stroke-width:1.8}
html.is-web [data-proto-state="outputhub"] .mc-zproj-tt{flex:1;min-width:0}
html.is-web [data-proto-state="outputhub"] .mc-zproj-tt .t{font-size:13.5px;font-weight:600;color:var(--z-ink)}
html.is-web [data-proto-state="outputhub"] .mc-zproj-tt .d{font-size:11px;color:var(--z-faint);margin-top:2px}
html.is-web [data-proto-state="outputhub"] .mc-zproj-pct{font-size:10.5px;font-weight:700;padding:2px 8px;border-radius:20px;white-space:nowrap}
html.is-web [data-proto-state="outputhub"] .mc-zproj-pct.w{color:#c8760a;background:var(--z-warnsf)}
html.is-web [data-proto-state="outputhub"] .mc-zproj-pct.b{color:var(--z-accent);background:var(--z-accentsf)}
html.is-web [data-proto-state="outputhub"] .mc-zproj-bar{display:flex;align-items:center;gap:8px;margin-top:12px}
html.is-web [data-proto-state="outputhub"] .mc-zproj-bar .bn{font-size:11.5px;width:60px;color:var(--z-dim)}
html.is-web [data-proto-state="outputhub"] .mc-zproj-bar .bt{flex:1;height:6px;background:#eef0f7;border-radius:4px;overflow:hidden}
html.is-web [data-proto-state="outputhub"] .mc-zproj-bar .bt i{display:block;height:100%;background:var(--z-grad)}
html.is-web [data-proto-state="outputhub"] .mc-zproj-bar .bv{font-size:11px;color:var(--z-faint);width:26px;text-align:right}
html.is-web [data-proto-state="outputhub"] .mc-zproj-chips{display:flex;gap:7px;flex-wrap:wrap;margin-top:9px}
html.is-web [data-proto-state="outputhub"] .mc-zproj-chips span{font-size:11.5px;font-weight:600;padding:6px 12px;border-radius:20px;background:var(--z-bg);border:1px solid var(--z-line);color:var(--z-dim)}
/* ---------- P1·产出日历（outputhub calendar Tab · chunk 重建结构）---------- */
html.is-web [data-proto-state="outputhub"] .z-cal.mc-zcal{display:grid;grid-template-columns:repeat(7,1fr);gap:5px;margin:2px 0 6px}
html.is-web [data-proto-state="outputhub"] .z-cal .d{text-align:center;padding:8px 0 12px;border-radius:11px;background:var(--z-card);border:1px solid var(--z-line);position:relative}
html.is-web [data-proto-state="outputhub"] .z-cal .d .w{font-size:10px;color:var(--z-faint)}
html.is-web [data-proto-state="outputhub"] .z-cal .d .n{font-size:14px;font-weight:700;margin-top:2px;color:var(--z-ink)}
html.is-web [data-proto-state="outputhub"] .z-cal .d.on{background:var(--z-grad);border-color:transparent}
html.is-web [data-proto-state="outputhub"] .z-cal .d.on .w,html.is-web [data-proto-state="outputhub"] .z-cal .d.on .n{color:#fff}
html.is-web [data-proto-state="outputhub"] .z-cal .d .dt{position:absolute;bottom:6px;left:50%;transform:translateX(-50%);width:4px;height:4px;border-radius:50%;background:var(--z-accent)}
html.is-web [data-proto-state="outputhub"] .z-cal .d.on .dt{background:#fff}
html.is-web [data-proto-state="outputhub"] .mc-zcalcard{padding:0!important}
html.is-web [data-proto-state="outputhub"] .z-ag{display:flex;gap:10px;padding:12px 14px;border-bottom:1px solid var(--z-line)}
html.is-web [data-proto-state="outputhub"] .z-ag:last-child{border-bottom:0}
html.is-web [data-proto-state="outputhub"] .z-ag .bx{width:3px;border-radius:3px;background:var(--z-accent);flex:0 0 auto}
html.is-web [data-proto-state="outputhub"] .z-ag .bx.r{background:var(--z-rec)}
html.is-web [data-proto-state="outputhub"] .z-ag .tm{font-size:12px;font-weight:700;color:var(--z-dim);width:42px;flex:0 0 auto}
html.is-web [data-proto-state="outputhub"] .z-ag .ab{flex:1;min-width:0}
html.is-web [data-proto-state="outputhub"] .z-ag .ab .t{font-size:13.5px;font-weight:600;color:var(--z-ink);line-height:1.3}
html.is-web [data-proto-state="outputhub"] .z-ag .ab .d{font-size:11px;color:var(--z-faint);margin-top:2px}
html.is-web [data-proto-state="outputhub"] .z-mini{display:inline-block;font-size:10px;font-weight:700;padding:1px 6px;border-radius:7px;margin-right:6px;vertical-align:1px}
html.is-web [data-proto-state="outputhub"] .z-mini.r{color:var(--z-rec);background:var(--z-recsf)}

/* ========================= P1·智能洞察（insight / app-03）========================= */
html.is-web [data-proto-state="insight"] .phone-block-h{font-size:12.5px;font-weight:800;color:var(--z-ink)}
html.is-web [data-proto-state="insight"] .mc-insight-toggle .mc-it-btn{background:var(--z-card)!important;border:1px solid var(--z-line)!important;border-radius:20px!important;color:var(--z-dim)!important;font-size:11.5px!important;font-weight:600!important;padding:5px 11px!important}
html.is-web [data-proto-state="insight"] .mc-insight-toggle .mc-it-btn.active{background:var(--z-accentsf)!important;border-color:transparent!important;color:var(--z-accent)!important}
/* 会员横幅（app 特有，z 无）——收敛成柔和一条 */
html.is-web [data-proto-state="insight"] .mc-tier-banner{background:linear-gradient(135deg,#fff7e6,#fef3e2)!important;border:1px solid #ffe6bf!important;border-radius:14px!important}
html.is-web [data-proto-state="insight"] .mc-tier-banner-cta{background:var(--z-warn)!important;color:#fff!important;border-radius:10px!important}
/* hero → z-report 周报卡（渐变） */
html.is-web [data-proto-state="insight"] .mc-isight-hero{background:linear-gradient(135deg,#eef0ff,#e8f8fc)!important;border:1px solid #e2e6ff!important;border-radius:16px!important;padding:14px 15px!important}
html.is-web [data-proto-state="insight"] .mc-isight-period{font-size:13px;font-weight:800;color:var(--z-ink);margin-bottom:10px}
html.is-web [data-proto-state="insight"] .mc-isight-kpis{display:grid!important;grid-template-columns:repeat(4,1fr)!important;gap:9px!important}
html.is-web [data-proto-state="insight"] .mc-isight-kpi{background:#fff!important;border-radius:11px!important;padding:9px 6px!important;text-align:center!important}
html.is-web [data-proto-state="insight"] .mc-isight-kpi-n{font-size:16px!important;font-weight:800!important;color:var(--z-ink)!important}
html.is-web [data-proto-state="insight"] .mc-isight-kpi-l{font-size:9.5px!important;color:var(--z-faint)!important;margin-top:1px}
/* tops chips → z */
html.is-web [data-proto-state="insight"] .mc-isight-tops{margin-top:2px}
html.is-web [data-proto-state="insight"] .mc-isight-chip{background:var(--z-accentsf)!important;color:var(--z-accent)!important;border:none!important;border-radius:20px!important;font-size:11.5px!important;font-weight:600!important;padding:5px 11px!important}
/* 给你的洞察 · 模式卡 → z-icard 行卡（保留左色条=severity） */
html.is-web [data-proto-state="insight"] .mc-isight-pat{background:var(--z-card)!important;border:1px solid var(--z-line)!important;border-radius:14px!important;padding:13px 14px 13px 16px!important;margin-bottom:9px!important;position:relative;overflow:hidden}
html.is-web [data-proto-state="insight"] .mc-isight-pat::before{content:"";position:absolute;left:0;top:0;bottom:0;width:4px;background:var(--z-accent)}
html.is-web [data-proto-state="insight"] .mc-isight-sev-high::before{background:var(--z-rec)}
html.is-web [data-proto-state="insight"] .mc-isight-sev-medium::before{background:var(--z-warn)}
html.is-web [data-proto-state="insight"] .mc-isight-pat-kind{font-size:12.5px!important;font-weight:700!important;color:var(--z-ink)!important;letter-spacing:0}
html.is-web [data-proto-state="insight"] .mc-isight-pat-sev{font-size:10px!important;font-weight:700;color:var(--z-faint)!important;text-transform:uppercase}
html.is-web [data-proto-state="insight"] .mc-isight-pat-reflect{color:var(--z-accent)!important;background:var(--z-accentsf)!important;border:none!important;border-radius:20px!important;font-size:11px!important;font-weight:600!important;padding:4px 10px!important;white-space:nowrap}
html.is-web [data-proto-state="insight"] .mc-isight-pat-body{font-size:11.5px!important;color:var(--z-dim)!important;line-height:1.55;margin-top:5px}
html.is-web [data-proto-state="insight"] .mc-isight-pat-tier{color:var(--z-faint)!important}
/* 盲区卡 */
html.is-web [data-proto-state="insight"] .mc-isight-blind,html.is-web [data-proto-state="insight"] .mc-isight-advice{background:var(--z-card)!important;border:1px solid var(--z-line)!important;border-radius:14px!important}

/* ========================= P1·同名合并（conflicts / app-03）========================= */
html.is-web [data-proto-state="conflicts"] .phone-block-h{font-size:12.5px;font-weight:800;color:var(--z-ink)}
html.is-web [data-proto-state="conflicts"] .mc-conf-learn-hint{
  display:flex;align-items:flex-start;gap:8px;background:linear-gradient(135deg,#eef0ff,#e8f8fc)!important;
  border:1px solid #e2e6ff!important;border-radius:12px!important;padding:11px 12px!important;
  font-size:12px!important;color:var(--z-dim)!important;line-height:1.55;margin-bottom:10px;
}
html.is-web [data-proto-state="conflicts"] .mc-conf-learn-ico{color:var(--z-accent)}
html.is-web [data-proto-state="conflicts"] .mc-conf-learn-hint u{color:var(--z-accent);text-decoration:none;font-weight:600}
/* merge 卡 → z */
html.is-web [data-proto-state="conflicts"] .mc-conf-card{
  background:var(--z-card)!important;border:1px solid var(--z-line)!important;border-radius:16px!important;
  padding:14px 15px!important;margin-bottom:11px!important;box-shadow:0 2px 10px rgba(16,17,34,.045);
}
html.is-web [data-proto-state="conflicts"] .mc-merge-top{display:flex;align-items:center;gap:11px;margin-bottom:8px}
html.is-web [data-proto-state="conflicts"] .mc-merge-avs{display:flex;flex:0 0 auto}
html.is-web [data-proto-state="conflicts"] .mc-merge-av{
  width:38px;height:38px;border-radius:50%;background:var(--z-accentsf)!important;color:var(--z-accent)!important;
  display:flex;align-items:center;justify-content:center;font-size:15px;font-weight:800;border:2px solid #fff;margin-left:-13px;
}
html.is-web [data-proto-state="conflicts"] .mc-merge-av:first-child{margin-left:0}
html.is-web [data-proto-state="conflicts"] .mc-merge-av svg{width:18px;height:18px;stroke:var(--z-accent)}
html.is-web [data-proto-state="conflicts"] .mc-merge-sim{margin-left:auto;font-size:12px!important;font-weight:800!important;color:var(--z-warn)!important;white-space:nowrap}
html.is-web [data-proto-state="conflicts"] .mc-merge-names{font-size:14.5px!important;font-weight:700!important;color:var(--z-ink)!important;letter-spacing:-.01em}
html.is-web [data-proto-state="conflicts"] .mc-merge-sub{font-size:11.5px!important;color:var(--z-dim)!important;line-height:1.55;margin:6px 0 11px!important}
/* 底部按钮 → z（primary=渐变 非红） */
html.is-web [data-proto-state="conflicts"] .mc-init-foot{display:flex;gap:9px;margin-top:0}
html.is-web [data-proto-state="conflicts"] .mc-init-btn{flex:1;text-align:center;padding:10px!important;border-radius:11px!important;font-size:12.5px!important;font-weight:700!important}
html.is-web [data-proto-state="conflicts"] .mc-init-btn-primary{background:var(--z-grad)!important;color:#fff!important;border:none!important}
html.is-web [data-proto-state="conflicts"] .mc-init-btn-ghost{background:var(--z-card)!important;border:1px solid var(--z-line)!important;color:var(--z-dim)!important}

/* ========================= P1·关系图谱（graph / app-24）========================= */
html.is-web [data-proto-state="graph"] .phone-block-h{font-size:12.5px;font-weight:800;color:var(--z-ink)}
html.is-web [data-proto-state="graph"] #mc-graph-wrap{
  background:linear-gradient(135deg,#eef0ff,#e8f8fc);border:1px solid #e2e6ff;border-radius:16px;padding:10px 8px 12px;margin-top:6px;
}
html.is-web [data-proto-state="graph"] .mc-graph-stat{font-size:11.5px!important;color:var(--z-dim)!important;text-align:center;font-weight:600;margin-bottom:2px}
/* SVG 节点 → z：白底 + accent 描边；中心(me)=accent 实心；边=accent */
html.is-web [data-proto-state="graph"] #mc-graph-svg .mc-gnode circle{fill:#fff!important;stroke:var(--z-accent)!important;stroke-width:2!important;opacity:1!important}
html.is-web [data-proto-state="graph"] #mc-graph-svg .mc-gnode[data-id="me"] circle{fill:var(--z-accent)!important;stroke:none!important}
html.is-web [data-proto-state="graph"] #mc-graph-svg .mc-gnode[data-id="me"] text{fill:#fff!important;font-weight:800}
html.is-web [data-proto-state="graph"] #mc-graph-svg text{fill:var(--z-ink)!important;font-weight:700}
html.is-web [data-proto-state="graph"] #mc-graph-svg .mc-gedge{stroke:var(--z-accent)!important}
html.is-web [data-proto-state="graph"] .mc-graph-cap{
  background:linear-gradient(135deg,#eef0ff,#e8f8fc)!important;border:1px solid #e2e6ff!important;
  border-radius:12px!important;color:var(--z-dim)!important;font-size:11.5px!important;
}

/* ========================= P1·全局搜索（浮层 #mc-gsearch / app-03）========================= */
html.is-web .mc-gsearch-panel{border-radius:16px;overflow:hidden}
html.is-web .mc-gsearch-inputwrap{
  display:flex;align-items:center;gap:9px;background:var(--z-card);border:1.5px solid var(--z-accent)!important;
  border-radius:13px;padding:11px 13px;box-shadow:0 0 0 3px var(--z-accentsf);margin:2px 0 8px;
}
html.is-web .mc-gsearch-icon{color:var(--z-accent)!important}
html.is-web #mc-gsearch-input{flex:1;border:none;outline:none;background:transparent;font-size:14px;font-weight:600;color:var(--z-ink)}
html.is-web .mc-gsearch-kbd{font-size:10px;color:var(--z-faint);background:var(--z-bg);border:1px solid var(--z-line);border-radius:6px;padding:2px 6px}
/* 分区头 → z .sec h3 */
html.is-web .mc-gsearch-h{font-size:12.5px!important;font-weight:800!important;color:var(--z-ink)!important;margin:10px 2px 2px!important;padding:0!important}
/* 命中项 → z 行卡 */
html.is-web .mc-gsearch-section{background:var(--z-card);border:1px solid var(--z-line);border-radius:16px;overflow:hidden;margin-bottom:4px}
html.is-web .mc-gsearch-item{display:flex;align-items:center;gap:11px;padding:12px 14px!important;border-bottom:1px solid var(--z-line)}
html.is-web .mc-gsearch-item:last-child{border-bottom:0}
html.is-web .mc-gsearch-it-title{font-size:13.5px!important;font-weight:600!important;color:var(--z-ink)!important}
html.is-web .mc-gsearch-it-sub{font-size:11px!important;color:var(--z-faint)!important;margin-top:2px}
html.is-web .mc-gsearch-hl{color:var(--z-accent)!important;font-weight:700!important;background:var(--z-accentsf)!important;border-radius:4px;padding:0 3px}
html.is-web .mc-gsearch-tip{text-align:center;color:var(--z-faint);font-size:12.5px;padding:30px 20px}

/* ========================= P1·人物详情（浮层 sheet/side · app-03）========================= */
/* 底部 sheet */
html.is-web .mc-sheet-panel{border-radius:20px 20px 0 0}
html.is-web .mc-sheet-h{font-size:17px!important;font-weight:800!important;color:var(--z-ink)!important}
html.is-web .mc-sheet-sub{font-size:11.5px!important;color:var(--z-faint)!important;margin-top:2px}
html.is-web .mc-sheet-section h6{font-size:12.5px!important;font-weight:800!important;color:var(--z-ink)!important;margin:14px 0 6px!important}
html.is-web .mc-sheet-section .mc-chips{display:flex;gap:7px;flex-wrap:wrap}
html.is-web .mc-sheet-section .mc-chips span,html.is-web .mc-sheet-section .mc-chip{font-size:11.5px!important;font-weight:600!important;padding:6px 12px!important;border-radius:20px!important;background:var(--z-card)!important;border:1px solid var(--z-line)!important;color:var(--z-dim)!important}
html.is-web .mc-sheet-section .mc-row{display:flex;align-items:center;gap:11px;padding:11px 0;border-bottom:1px solid var(--z-line)}
html.is-web .mc-sheet-section .mc-row:last-child{border-bottom:0}
html.is-web .mc-btn-merge{color:var(--z-accent)!important;background:var(--z-accentsf)!important;border:none!important;border-radius:11px!important;font-weight:700!important;padding:10px!important}
/* 侧抽屉 */
html.is-web .mc-side-panel{border-radius:20px 0 0 20px}
html.is-web .mc-side-head .mc-side-name{font-size:17px!important;font-weight:800!important;color:var(--z-ink)!important}
html.is-web .mc-side-head .mc-side-sub{font-size:11.5px!important;color:var(--z-faint)!important}
html.is-web .mc-side-btn{
  display:flex;align-items:center;gap:9px;padding:12px 14px!important;border-radius:12px!important;
  background:var(--z-bg)!important;border:1px solid var(--z-line)!important;color:var(--z-ink)!important;font-size:13px!important;font-weight:600!important;
}

/* ═══════════════════════════ Wave C · P2 设置/账户（2026-07-05）═══════════════════════════
   逐屏 Z 皮：专属词库 / 我的偏好 / 会员中心 reveal / 用量账单 reveal / 编辑资料 reveal。
   换绑手机·找回密码 走 index.html 注入的 .mc-zrebind/.mc-zforgot（原生 z 结构，见其内联样式）。 */

/* ───────────── P2·专属词库（[data-proto-state="vocab"] · app-23，真功能=行业包+自建术语）───────────── */
html.is-web [data-proto-state="vocab"] .phone-block-h{
  font-size:15px!important; font-weight:800!important; color:var(--z-ink)!important; margin:14px 2px 10px!important;
}
html.is-web [data-proto-state="vocab"] .phone-block-h .mc-ws-hint{font-size:11.5px!important; color:var(--z-faint)!important; font-weight:500}
/* 顶部说明 → z .insight 渐变提示条 */
html.is-web [data-proto-state="vocab"] .mc-vocab-intro{
  padding:11px 12px!important; background:linear-gradient(135deg,#eef0ff,#e8f8fc)!important;
  border:1px solid #e2e6ff!important; border-radius:12px!important; font-size:12px!important;
  color:var(--z-dim)!important; line-height:1.55!important; margin-bottom:2px!important;
}
/* 分区头 → z .sec h3 */
html.is-web [data-proto-state="vocab"] .mc-vocab-h{
  font-size:12.5px!important; font-weight:800!important; color:var(--z-ink)!important;
  letter-spacing:.01em; margin:12px 2px 6px!important;
}
/* 行业包行 → z 卡片行（首行圆角顶、末行圆角底，连成一张卡） */
html.is-web [data-proto-state="vocab"] .mc-vp{
  display:flex!important; align-items:center; gap:11px; padding:13px 14px!important;
  background:var(--z-card)!important; border:1px solid var(--z-line)!important; border-bottom-width:0!important;
}
html.is-web [data-proto-state="vocab"] .mc-vp:first-of-type{border-radius:16px 16px 0 0!important}
html.is-web [data-proto-state="vocab"] .mc-vp:last-of-type{border-radius:0 0 16px 16px!important; border-bottom-width:1px!important}
html.is-web [data-proto-state="vocab"] .mc-vp-ico{
  width:34px; height:34px; border-radius:10px; background:var(--z-accentsf)!important;
  display:flex; align-items:center; justify-content:center; flex:0 0 auto; font-size:16px;
}
html.is-web [data-proto-state="vocab"] .mc-vp-main{flex:1; min-width:0}
html.is-web [data-proto-state="vocab"] .mc-vp-name{font-size:14px!important; font-weight:600!important; color:var(--z-ink)!important}
html.is-web [data-proto-state="vocab"] .mc-vp-desc{font-size:11px!important; color:var(--z-faint)!important; margin-top:2px!important; overflow:hidden; text-overflow:ellipsis; white-space:nowrap}
/* 包开关 → z .z-tgl 药丸开关 */
html.is-web [data-proto-state="vocab"] .mc-vp-sw{
  width:42px!important; height:25px!important; border-radius:20px!important; background:#d7dae8!important;
  position:relative!important; flex:0 0 auto; margin-left:auto; border:none!important; padding:0!important; transition:background .18s;
}
html.is-web [data-proto-state="vocab"] .mc-vp-sw::after{
  content:""!important; position:absolute; top:3px; left:3px; width:19px; height:19px; border-radius:50%;
  background:#fff; box-shadow:0 1px 3px rgba(0,0,0,.25); transition:left .18s;
}
html.is-web [data-proto-state="vocab"] .mc-vp-sw.on{background:var(--z-grad)!important}
html.is-web [data-proto-state="vocab"] .mc-vp-sw.on::after{left:auto; right:3px}
/* 自建术语：输入行 + chips */
html.is-web [data-proto-state="vocab"] .mc-vt-add{
  display:flex!important; gap:9px; align-items:center; background:var(--z-card)!important;
  border:1px solid var(--z-line)!important; border-radius:13px!important; padding:8px 8px 8px 12px!important; margin-top:2px!important;
}
html.is-web [data-proto-state="vocab"] .mc-vt-input{
  flex:1!important; border:none!important; outline:none!important; background:transparent!important;
  font-size:13px!important; color:var(--z-ink)!important;
}
html.is-web [data-proto-state="vocab"] .mc-vt-addbtn{
  flex:0 0 auto!important; background:var(--z-grad)!important; color:#fff!important; border:none!important;
  border-radius:10px!important; padding:8px 16px!important; font-size:12.5px!important; font-weight:700!important;
}
html.is-web [data-proto-state="vocab"] .mc-vt-chips{display:flex!important; flex-wrap:wrap; gap:8px; margin-top:4px!important}
html.is-web [data-proto-state="vocab"] .mc-vt-chip{
  display:inline-flex!important; align-items:center; gap:6px; font-size:12px!important; font-weight:600!important;
  padding:6px 10px 6px 12px!important; border-radius:20px!important; background:var(--z-accentsf)!important;
  color:var(--z-accent)!important; border:none!important;
}
html.is-web [data-proto-state="vocab"] .mc-vt-chip b, html.is-web [data-proto-state="vocab"] .mc-vt-chip [data-del]{
  cursor:pointer; color:var(--z-accent)!important; opacity:.7; font-weight:700; font-size:13px;
}
html.is-web [data-proto-state="vocab"] .mc-vocab-count{
  font-size:11.5px!important; color:var(--z-faint)!important; text-align:center; margin-top:10px!important;
}

/* ───────────── P2·我的偏好（[data-proto-state="preferences"] · app-03，真功能=AI 学到的偏好规则库）───────────── */
html.is-web [data-proto-state="preferences"] .phone-block-h{
  font-size:15px!important; font-weight:800!important; color:var(--z-ink)!important; margin:14px 2px 10px!important;
  display:flex; align-items:center; gap:8px;
}
html.is-web [data-proto-state="preferences"] .phone-block-h .mc-ws-hint{font-size:11.5px!important; color:var(--z-faint)!important; font-weight:500}
html.is-web [data-proto-state="preferences"] #mc-pref-add{
  margin-left:auto!important; font-size:12px!important; color:var(--z-accent)!important; font-weight:700!important;
  background:var(--z-accentsf)!important; border:none!important; border-radius:10px!important; padding:6px 11px!important;
}
/* 筛选工具条 → z .filters 药丸 */
html.is-web [data-proto-state="preferences"] .mc-pref-toolbar{
  display:flex!important; flex-direction:column; gap:9px; margin:0 0 10px!important;
}
html.is-web [data-proto-state="preferences"] .mc-pref-kinds{display:flex!important; gap:7px; flex-wrap:wrap}
html.is-web [data-proto-state="preferences"] .mc-pref-kind{
  font-size:11.5px!important; font-weight:600!important; padding:6px 12px!important; border-radius:20px!important;
  background:var(--z-card)!important; border:1px solid var(--z-line)!important; color:var(--z-dim)!important;
}
html.is-web [data-proto-state="preferences"] .mc-pref-kind.active{
  background:var(--z-accentsf)!important; border-color:transparent!important; color:var(--z-accent)!important;
}
html.is-web [data-proto-state="preferences"] .mc-pref-mute-toggle{
  font-size:11.5px!important; color:var(--z-faint)!important; display:inline-flex; align-items:center; gap:6px;
}
/* 规则卡 → z .card + 内层排版 */
html.is-web [data-proto-state="preferences"] .mc-pref-list{display:flex!important; flex-direction:column; gap:10px}
html.is-web [data-proto-state="preferences"] .mc-pref-card{
  background:var(--z-card)!important; border:1px solid var(--z-line)!important; border-radius:16px!important;
  padding:13px 14px!important; box-shadow:0 2px 9px rgba(16,17,34,.04)!important;
}
html.is-web [data-proto-state="preferences"] .mc-pref-card.mc-pref-muted{opacity:.55}
html.is-web [data-proto-state="preferences"] .mc-pref-h{display:flex!important; align-items:center; gap:8px; flex-wrap:wrap; margin-bottom:7px}
html.is-web [data-proto-state="preferences"] .mc-pref-h .mc-pref-kind{
  font-size:10.5px!important; font-weight:700!important; padding:2px 9px!important; border-radius:20px!important;
  background:var(--z-accentsf)!important; color:var(--z-accent)!important; border:none!important;
}
html.is-web [data-proto-state="preferences"] .mc-pref-conf{font-size:10.5px!important; color:var(--z-faint)!important; font-weight:600}
html.is-web [data-proto-state="preferences"] .mc-pref-src{font-size:10.5px!important; color:var(--z-faint)!important; margin-left:auto}
html.is-web [data-proto-state="preferences"] .mc-pref-statement{font-size:13.5px!important; font-weight:600!important; color:var(--z-ink)!important; line-height:1.5}
html.is-web [data-proto-state="preferences"] .mc-pref-rationale{font-size:11.5px!important; color:var(--z-dim)!important; margin-top:5px!important; line-height:1.5}
html.is-web [data-proto-state="preferences"] .mc-pref-foot{display:flex!important; gap:8px; margin-top:11px}
html.is-web [data-proto-state="preferences"] .mc-pref-foot .mc-init-btn{
  font-size:12px!important; font-weight:700!important; padding:7px 13px!important; border-radius:11px!important;
  background:var(--z-accentsf)!important; color:var(--z-accent)!important; border:none!important;
}
html.is-web [data-proto-state="preferences"] .mc-pref-foot .mc-init-btn-ghost{
  background:var(--z-bg)!important; color:var(--z-dim)!important; border:1px solid var(--z-line)!important;
}

/* ───────────── P2·换绑手机 / 找回密码（index.html 注入的 .mc-zc-ov 全屏覆盖层，原生 z 结构）───────────── */
html.is-web .mc-zc-ov{position:absolute;inset:0;z-index:60;background:var(--z-bg);display:flex;flex-direction:column;min-height:0;animation:mczcIn .18s ease}
@keyframes mczcIn{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}
html.is-web .mc-zc-dh{flex:0 0 auto;padding:12px 14px 12px;display:flex;align-items:center;gap:9px;background:var(--z-card);border-bottom:1px solid var(--z-line)}
html.is-web .mc-zc-dh .bk{width:34px;height:34px;border-radius:11px;display:flex;align-items:center;justify-content:center;flex:0 0 auto;background:var(--z-bg);border:1px solid var(--z-line);cursor:pointer}
html.is-web .mc-zc-dh .bk svg{width:19px;height:19px;stroke:var(--z-ink);fill:none;stroke-width:2}
html.is-web .mc-zc-dh .tt{flex:1;min-width:0}
html.is-web .mc-zc-dh .t1{font-size:17px;font-weight:800;letter-spacing:-.01em;color:var(--z-ink)}
html.is-web .mc-zc-dh .t2{font-size:11.5px;color:var(--z-faint);margin-top:1px}
html.is-web .mc-zc-scr{flex:1;overflow-y:auto;padding:14px 16px;display:flex;flex-direction:column;gap:13px}
html.is-web .mc-zc-scr::-webkit-scrollbar{display:none}
html.is-web .mc-zc-sec{font-size:12.5px;font-weight:800;color:var(--z-ink);letter-spacing:.01em;margin:2px 2px -4px}
html.is-web .mc-zc-card{background:var(--z-card);border:1px solid var(--z-line);border-radius:16px;padding:14px 15px}
html.is-web .mc-zc-curr{display:flex;align-items:center;gap:11px}
html.is-web .mc-zc-curr .ric{width:34px;height:34px;border-radius:10px;background:var(--z-accentsf);flex:0 0 auto;display:flex;align-items:center;justify-content:center}
html.is-web .mc-zc-curr .ric svg{width:17px;height:17px;stroke:var(--z-accent);fill:none;stroke-width:1.8}
html.is-web .mc-zc-curr .rb{flex:1;min-width:0}
html.is-web .mc-zc-curr .rb .t{font-size:13.5px;font-weight:600;color:var(--z-ink)}
html.is-web .mc-zc-curr .rb .d{font-size:11px;color:var(--z-faint);margin-top:2px}
html.is-web .mc-zc-tag{font-size:10.5px;font-weight:700;padding:2px 8px;border-radius:20px;white-space:nowrap;color:#12996b;background:#e4f7ef}
/* 表单字段 */
html.is-web .mc-zc-form{display:flex;flex-direction:column;gap:11px}
html.is-web .mc-zc-fld{display:flex;align-items:center;gap:10px;background:var(--z-card);border:1.5px solid var(--z-line);border-radius:13px;padding:12px 13px;transition:border-color .15s,box-shadow .15s}
html.is-web .mc-zc-fld:focus-within{border-color:var(--z-accent);box-shadow:0 0 0 3px var(--z-accentsf)}
html.is-web .mc-zc-fld .z-fi{width:19px;height:19px;stroke:var(--z-faint);fill:none;stroke-width:1.9;flex:0 0 auto}
html.is-web .mc-zc-fld:focus-within .z-fi{stroke:var(--z-accent)}
html.is-web .mc-zc-cc{font-size:15px;font-weight:700;color:var(--z-dim);flex:0 0 auto}
html.is-web .mc-zc-inp{flex:1;min-width:0;border:none;outline:none;background:transparent;font-size:15px;font-weight:600;color:var(--z-ink);letter-spacing:.02em}
html.is-web .mc-zc-inp::placeholder{color:var(--z-faint);font-weight:400;letter-spacing:0}
html.is-web .mc-zc-code{font-size:12.5px;font-weight:700;color:var(--z-accent);flex:0 0 auto;cursor:pointer;white-space:nowrap;background:none;border:none;padding:0 2px}
html.is-web .mc-zc-code:disabled{color:var(--z-faint);cursor:default}
html.is-web .mc-zc-eye{width:19px;height:19px;stroke:var(--z-faint);fill:none;stroke-width:1.9;flex:0 0 auto;cursor:pointer}
html.is-web .mc-zc-hint{font-size:11.5px;color:var(--z-faint);line-height:1.5;padding:0 2px}
/* 找回密码底部密码规则提示：z 用强调蓝 */
html.is-web #mc-zforgot .mc-zc-hint{color:var(--z-accent)}
html.is-web .mc-zc-err{font-size:11.5px;color:var(--z-rec);font-weight:600;line-height:1.5;padding:2px 2px 0;display:none}
html.is-web .mc-zc-err.on{display:block}
/* 底部行动条 */
html.is-web .mc-zc-foot{flex:0 0 auto;padding:11px 14px 14px;background:var(--z-card);border-top:1px solid var(--z-line);display:flex;gap:10px}
html.is-web .mc-zc-fb{flex:1;text-align:center;padding:13px;border-radius:13px;font-size:14px;font-weight:700;border:1px solid var(--z-line);background:var(--z-card);color:var(--z-dim);cursor:pointer}
html.is-web .mc-zc-fb.pri{background:var(--z-grad);color:#fff;border-color:transparent}
html.is-web .mc-zc-fb:disabled{opacity:.55;cursor:default}
/* 轻量 toast */
html.is-web .mc-zc-toast{position:absolute;left:50%;bottom:88px;transform:translateX(-50%) translateY(8px);z-index:70;background:rgba(16,17,34,.92);color:#fff;font-size:12.5px;font-weight:600;padding:9px 16px;border-radius:20px;opacity:0;transition:opacity .2s,transform .2s;pointer-events:none;max-width:80%;text-align:center}
html.is-web .mc-zc-toast.show{opacity:1;transform:translateX(-50%) translateY(0)}

/* ───────────── P2·会员中心 / 用量账单 / 编辑资料（「我的」tab 下钻 reveal 的 app-15 卡）─────────────
   常驻 [data-proto-state="me"]（.mc-zme-on 时隐藏、dropThrough 后显示），!important 压过 app-15 注入的 #mc-me-style。 */
html.is-web [data-proto-state="me"] .mc-me-card{
  background:var(--z-card)!important; border:1px solid var(--z-line)!important; border-radius:16px!important;
  box-shadow:0 2px 9px rgba(16,17,34,.04)!important;
}
html.is-web [data-proto-state="me"] .mc-me-card-h{font-size:12.5px!important; font-weight:800!important; color:var(--z-ink)!important}
html.is-web [data-proto-state="me"] .mc-wallet-balance{
  background:var(--z-grad)!important; border:none!important; border-radius:20px!important; color:#fff!important;
  padding:17px 18px!important; position:relative; overflow:hidden;
}
html.is-web [data-proto-state="me"] .mc-wallet-balance::after{
  content:""; position:absolute; right:-24px; bottom:-30px; width:110px; height:110px; border-radius:50%; background:rgba(255,255,255,.13);
}
html.is-web [data-proto-state="me"] .mc-wallet-balance-loading{color:rgba(255,255,255,.9)!important}
html.is-web [data-proto-state="me"] .mc-wallet-bean-num{font-size:33px!important; font-weight:800!important; color:#fff!important; letter-spacing:-.02em}
html.is-web [data-proto-state="me"] .mc-wallet-bean-unit{font-size:13px!important; color:rgba(255,255,255,.85)!important; margin-left:3px}
html.is-web [data-proto-state="me"] .mc-wallet-bean-meta{color:rgba(255,255,255,.9)!important; font-size:11.5px!important; margin-top:4px}
html.is-web [data-proto-state="me"] .mc-wallet-tier-tag{background:rgba(255,255,255,.22)!important; color:#fff!important; border:none!important; border-radius:20px!important; padding:3px 10px!important; font-weight:700!important}
html.is-web [data-proto-state="me"] .mc-wallet-low{color:#fff!important; background:rgba(255,77,109,.85)!important; border-radius:20px; padding:2px 8px}
html.is-web [data-proto-state="me"] .mc-wallet-row-h{font-size:12.5px!important; font-weight:800!important; color:var(--z-ink)!important; margin:2px 0 7px!important}
html.is-web [data-proto-state="me"] .mc-wallet-redeem-row{display:flex!important; align-items:center; gap:9px}
html.is-web [data-proto-state="me"] .mc-wallet-redeem-input{
  flex:1!important; border:1px solid var(--z-line)!important; border-radius:11px!important; background:var(--z-bg)!important;
  padding:11px 12px!important; font-size:13px!important; color:var(--z-ink)!important; outline:none!important;
}
html.is-web [data-proto-state="me"] .mc-wallet-redeem-input:focus{border-color:var(--z-accent)!important; box-shadow:0 0 0 3px var(--z-accentsf)!important}
html.is-web [data-proto-state="me"] .mc-wallet-redeem-btn{
  flex:0 0 auto!important; background:var(--z-grad)!important; color:#fff!important; border:none!important;
  border-radius:11px!important; padding:11px 18px!important; font-size:13px!important; font-weight:700!important;
}
html.is-web [data-proto-state="me"] .mc-wallet-upgrade-btn,
html.is-web [data-proto-state="me"] .mc-wallet-checkin-btn{
  background:var(--z-accentsf)!important; color:var(--z-accent)!important; border:none!important; border-radius:12px!important; font-weight:700!important;
}
html.is-web [data-proto-state="me"] .mc-tier-table{width:100%; border-collapse:collapse; font-size:12px}
html.is-web [data-proto-state="me"] .mc-tier-table th{font-size:11.5px!important; font-weight:800!important; color:var(--z-ink)!important; padding:8px 6px!important; border-bottom:1px solid var(--z-line)!important; text-align:left}
html.is-web [data-proto-state="me"] .mc-tier-table td{font-size:12px!important; color:var(--z-dim)!important; padding:8px 6px!important; border-bottom:1px solid var(--z-line)!important}
html.is-web [data-proto-state="me"] .mc-tier-th-pro,
html.is-web [data-proto-state="me"] .mc-tier-td-pro{color:var(--z-accent)!important; font-weight:700!important}
html.is-web [data-proto-state="me"] .mc-me-bill > summary{font-size:13.5px!important; font-weight:700!important; color:var(--z-ink)!important; padding:13px 14px!important; display:flex; align-items:center; gap:10px}
html.is-web [data-proto-state="me"] .mc-me-bill-ico svg{stroke:var(--z-accent)!important}
html.is-web [data-proto-state="me"] .mc-me-bill-body{padding:2px 14px 12px!important}
html.is-web [data-proto-state="me"] .mc-wallet-usage-num b{font-size:18px!important; font-weight:800!important; color:var(--z-ink)!important}
html.is-web [data-proto-state="me"] .mc-wallet-usage-bar{display:flex!important; align-items:center; gap:8px; margin-bottom:7px}
html.is-web [data-proto-state="me"] .mc-wallet-usage-bar-lab{font-size:11.5px!important; color:var(--z-dim)!important; width:72px}
html.is-web [data-proto-state="me"] .mc-wallet-usage-bar-trk{flex:1!important; height:6px!important; background:#eef0f7!important; border-radius:4px!important; overflow:hidden}
html.is-web [data-proto-state="me"] .mc-wallet-usage-bar-fill{height:100%!important; background:var(--z-grad)!important}
html.is-web [data-proto-state="me"] .mc-wallet-usage-bar-val{font-size:11px!important; color:var(--z-faint)!important}
html.is-web [data-proto-state="me"] .mc-wallet-ledger-toggle{font-size:12px!important; font-weight:700!important; color:var(--z-dim)!important}
html.is-web [data-proto-state="me"] .mc-wallet-ledger-row{display:flex!important; align-items:center; gap:11px; padding:10px 0; border-bottom:1px solid var(--z-line)}
html.is-web [data-proto-state="me"] .mc-wallet-ledger-lab{font-size:13px!important; font-weight:600!important; color:var(--z-ink)!important}
html.is-web [data-proto-state="me"] .mc-wallet-ledger-time{font-size:11px!important; color:var(--z-faint)!important; margin-top:2px}
html.is-web [data-proto-state="me"] .mc-wallet-ledger-delta{font-size:13.5px!important; font-weight:800!important; color:var(--z-ink)!important; margin-left:auto}
html.is-web [data-proto-state="me"] #mc-acct-edit > div{color:var(--z-dim)!important}
html.is-web [data-proto-state="me"] #mc-acct-edit input,
html.is-web [data-proto-state="me"] #mc-acct-edit select{
  border:1px solid var(--z-line)!important; border-radius:12px!important; background:var(--z-bg)!important;
  padding:12px 13px!important; font-size:14px!important; color:var(--z-ink)!important; width:100%!important;
}
html.is-web [data-proto-state="me"] #mc-acct-edit input:focus,
html.is-web [data-proto-state="me"] #mc-acct-edit select:focus{border-color:var(--z-accent)!important; box-shadow:0 0 0 3px var(--z-accentsf)!important; outline:none!important}
html.is-web [data-proto-state="me"] #mc-acct-edit [data-act="save-all"]{
  background:var(--z-grad)!important; color:#fff!important; border:none!important; border-radius:13px!important; font-weight:700!important; padding:13px!important;
}
html.is-web [data-proto-state="me"] .mc-av-pick{border-radius:11px!important; border:1px solid var(--z-line)!important}
html.is-web [data-proto-state="me"] #mc-acct [data-act="edit"],
html.is-web [data-proto-state="me"] #mc-acct [data-act="logout"]{
  border:1px solid var(--z-line)!important; border-radius:12px!important; background:var(--z-card)!important; color:var(--z-dim)!important; font-weight:700!important;
}

/* ═══════════════ Wave D · 二级页 z 返回头整页（复用现有 has-back/.mc-navback 基础设施，不删样机壳=红线0）═══════════════
   ROOT tab(rec/agent/memory/me)不受影响；二级页(todohub/outputhub/graph/insight/initiatives/conflicts/preferences/vocab…)
   由 index.html 的 back-nav 脚本加 .has-back → 这里隐底栏 + 顶栏收成 z 返回头。 */
/* 隐底栏：z 二级页是返回头整页无底栏（同 chat 打法） */
html.is-web .phone-screen:has(.phone-topbar.has-back) > .phone-bottombar{display:none!important}
/* 返回头：藏 品牌图标 / 搜索 / 铃 / 会员徽标，只留 返回+标题+副标 */
html.is-web .phone-topbar.has-back::before{display:none!important}
html.is-web .phone-topbar.has-back #mc-top-search,
html.is-web .phone-topbar.has-back #mc-top-msg,
html.is-web .phone-topbar.has-back #mc-tier-badge{display:none!important}
/* 返回按钮 → z 圆角方块 chevron，占品牌图标那格 */
html.is-web .phone-topbar.has-back .mc-navback{
  position:static!important; grid-column:1!important; grid-row:1 / 3!important; align-self:center!important;
  width:34px!important; height:34px!important; border-radius:11px!important;
  border:1px solid var(--z-line)!important; background:var(--z-card)!important;
  color:transparent!important; font-size:0!important; opacity:1!important;
  display:flex!important; align-items:center!important; justify-content:center!important; margin:0!important;
}
html.is-web .phone-topbar.has-back .mc-navback::after{
  content:""!important; width:19px; height:19px; background:var(--z-ink);
  -webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M15 6l-6 6 6 6'/%3E%3C/svg%3E") center/contain no-repeat;
          mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M15 6l-6 6 6 6'/%3E%3C/svg%3E") center/contain no-repeat;
}
/* has-back 标题：去掉旧 absolute 返回让出的 padding；二级页标题 17px */
html.is-web .phone-topbar.has-back .title{padding-left:0!important; font-size:17px!important; align-self:end!important}
html.is-web .phone-topbar.has-back .sub{padding-left:0!important; align-self:start!important}

/* ── Wave D-3 · 审计小 polish ── */
/* 同名合并候选卡：z 无按钮上方分割线 */
html.is-web [data-proto-state="conflicts"] .mc-conf-card hr,
html.is-web [data-proto-state="conflicts"] .mc-conf-card .mc-conf-div{display:none!important}
/* 承诺跟进三态筛选：确保激活 chip 有 z 淡蓝填充（复用 .on/.active 双写） */
html.is-web [data-proto-state="initiatives"] .mc-cring-ft.on{background:var(--z-accentsf)!important;border-color:transparent!important;color:var(--z-accent)!important}
/* 洞察 severity 徽标 → z 淡色药丸（high 红/其余灰蓝） */
html.is-web [data-proto-state="insight"] .mc-isight-pat-kind{background:var(--z-accentsf)!important;color:var(--z-accent)!important;border-radius:20px!important;padding:2px 9px!important;display:inline-block}

/* 2026-07-08 修「录音完成转写中提示文字重叠」：is-stopping 时 mc-tx-hero 接管视觉，
   兄弟隐藏规则此前只写了 embed-android（style.css ~6201），web 侧漏配 →
   实时转写残留文字(#mcStreamText/占位符/波形/时码)与 hero 提示文案叠显。镜像补齐 web。 */
html.is-web.is-stopping [data-proto-state="transcript"] .phone-transcript{position:relative;min-height:380px;padding:0!important;background:transparent!important;border:0!important}
html.is-web.is-stopping [data-proto-state="transcript"] .phone-transcript > *:not(.mc-tx-hero){display:none!important}
html.is-web.is-stopping [data-proto-state="transcript"] .mc-rec-actions,
html.is-web.is-stopping [data-proto-state="transcript"] .phone-waveform,
html.is-web.is-stopping [data-proto-state="transcript"] > .phone-block-h,
html.is-web.is-stopping [data-proto-state="transcript"] .phone-rectimer{display:none!important}
