
  body.eva-message-hierarchy-ready .eva-msg .wk-sidebar-tabbar[data-eva-project-recent-switcher="true"] {
    display: flex;
    margin: 0;
    /* 与标题栏连成一体：Tab 贴标题下方，共享 16px 左内边距，去掉容器自身留白。 */
    padding: 0 var(--gds-space-4);
    background: transparent;
  }

  /* 标题栏与关注/最近 Tab 之间不再断开：仅在存在该 Tab 的消息 surface 下
   * 去掉公共标题栏底线，由 Tab 自身的弱基线承接。其它入口的 .eva-rail-header
   * 契约不受影响。 */
  body.eva-message-hierarchy-ready
    .eva-channel-surface:has(.wk-sidebar-tabbar[data-eva-project-recent-switcher="true"])
    .ch-list__top.eva-rail-header {
    border-bottom: 0;
  }


  body.eva-message-hierarchy-ready .eva-msg .ch-list-search {
    flex: 1;
    min-width: 0;
    width: auto;
  }



  /* 线性 Tab：对齐项目详情 .collab-tabs 语言——透明容器、下划线选中、
   * 无胶囊无投影。两项等宽二分，底部一条极弱基线（去分割线、保留弱基线）。
   * 选中下划线由容器 ::before 承担并滑向目标项，满足《切换控件动效规范》
   * 「同一指示器滑向目标」；线性形态下指示器即下划线，而非胶囊背景。 */
  body.eva-message-hierarchy-ready .eva-msg .wk-sidebar-tabbar[data-eva-project-recent-switcher="true"] .wk-sidebar-tabbar__container {
    position: relative;
    isolation: isolate;
    display: flex;
    gap: 0;
    width: 100%;
    box-sizing: border-box;
    padding: 0;
    border-radius: 0;
    background: transparent;
    box-shadow: none;
    border-bottom: var(--gds-border-standard) solid var(--eva-rail-divider);
  }

  /* 滑动下划线：宽度为单个 Tab（两项等宽，各 50%），压在弱基线之上。 */
  body.eva-message-hierarchy-ready .eva-msg .wk-sidebar-tabbar[data-eva-project-recent-switcher="true"] .wk-sidebar-tabbar__container::before {
    content: "";
    position: absolute;
    left: 0;
    bottom: -1px;
    width: 50%;
    height: 2px;
    background: var(--eva-action-primary);
    pointer-events: none;
    transition: transform var(--eva-switch-duration) var(--eva-switch-easing);
  }
  body.eva-message-hierarchy-ready .eva-msg .wk-sidebar-tabbar[data-eva-project-recent-switcher="true"] .wk-sidebar-tabbar__container:has(.wk-sidebar-tabbar__btn:nth-child(2).wk-sidebar-tabbar__btn--active)::before {
    transform: translateX(100%);
  }

  body.eva-message-hierarchy-ready .eva-msg .wk-sidebar-tabbar[data-eva-project-recent-switcher="true"] .wk-sidebar-tabbar__btn {
    position: relative;
    z-index: 1;
    flex: 1;
    min-width: 0;
    /* 32px = GDS §14 触控下限，且与标题栏 32px 图标按钮同节奏。 */
    min-height: 32px;
    height: 32px;
    justify-content: center;
    padding: 0 var(--gds-space-1);
    border-radius: 0;
    background: transparent;
    color: var(--semi-color-text-2);
    font-size: 14px;
    font-weight: 400;
    transition: color var(--eva-switch-color-duration) ease;
  }

  body.eva-message-hierarchy-ready .eva-msg .wk-sidebar-tabbar[data-eva-project-recent-switcher="true"] .wk-sidebar-tabbar__btn:hover {
    background: transparent;
    color: var(--semi-color-text-0);
  }

  body.eva-message-hierarchy-ready .eva-msg .wk-sidebar-tabbar[data-eva-project-recent-switcher="true"] .wk-sidebar-tabbar__btn--active,
  body.eva-message-hierarchy-ready .eva-msg .wk-sidebar-tabbar[data-eva-project-recent-switcher="true"] .wk-sidebar-tabbar__btn--active:hover {
    background: transparent;
    color: var(--eva-action-primary);
    font-weight: var(--eva-fw-medium);
    box-shadow: none;
  }

  body.eva-message-hierarchy-ready .eva-msg .wk-sidebar-tabbar[data-eva-project-recent-switcher="true"] .wk-sidebar-tabbar__btn:focus-visible {
    outline: var(--eva-border-focus-w) solid var(--eva-border-focus);
    outline-offset: -2px;
  }

  @media (prefers-reduced-motion: reduce) {
    body.eva-message-hierarchy-ready .eva-msg .wk-sidebar-tabbar[data-eva-project-recent-switcher="true"] .wk-sidebar-tabbar__container::before { transition: none; }
  }

  body.eva-message-hierarchy-ready .eva-msg .wk-sidebar-tabbar[data-eva-project-recent-switcher="true"] .wk-sidebar-tabbar__badge {
    display: none;
  }

/* Octo-Web six-dot handles: parent channels only; child threads travel with them. */
.eva-follow-channel, .eva-follow-category { position: relative; }
.eva-follow-channel.is-dragging, .eva-follow-category.is-dragging { z-index: 2; opacity: .85; }
.eva-follow-category-title { position: relative; display: flex; align-items: center; min-width: 0; }
.eva-follow-category-title > .wk-category-header { flex: 1; min-width: 0; }
body.eva-message-hierarchy-ready .eva-msg .wk-conv-compact-drag-handle,
.eva-follow-category-handle {
  display: inline-flex; flex-shrink: 0; align-items: center; justify-content: center;
  position: absolute; left: 6px; top: 50%; transform: translateY(-50%);
  width: 14px; height: 20px; margin: 0; padding: 0; border: 0;
  background: transparent; color: var(--wk-icon-muted, var(--semi-color-text-2));
  cursor: grab; opacity: 0; pointer-events: none; touch-action: none;
  transition: opacity 150ms;
}
body.eva-message-hierarchy-ready .eva-msg .wk-conv-compact-item:hover .wk-conv-compact-drag-handle,
body.eva-message-hierarchy-ready .eva-msg .wk-conv-compact-drag-handle:focus-visible,
.eva-follow-category-title:hover .eva-follow-category-handle,
.eva-follow-category-handle:focus-visible { opacity: 1; pointer-events: auto; }
body.eva-message-hierarchy-ready .eva-msg .wk-conv-compact-drag-handle:active,
.eva-follow-category-handle:active { cursor: grabbing; }
.wk-conv-compact-drag-handle:focus-visible, .eva-follow-category-handle:focus-visible {
  outline: 2px solid var(--semi-color-primary); outline-offset: 2px;
}

.eva-follow-category { margin-bottom: 8px; }
.eva-follow-category-handle { left: 0; }
.eva-follow-category-title { gap: 6px; min-height: 32px; margin-bottom: 2px; padding: 0 8px 0 14px; border-radius: 8px; }
/* 组间留白：连续频道块之间 4px 呼吸感（对齐密度稿优化列 --group-gap，首块紧跟项目头不加）。 */
body.eva-message-hierarchy-ready .eva-msg .eva-follow-channel + .eva-follow-channel { margin-top: 4px; }
body.eva-message-hierarchy-ready .eva-msg .eva-follow-category-title > .wk-category-header { padding: 0; background: transparent; }
/* 分组标题字色三处统一 secondaryAccessible（GDS §14：12px 结构标签是必要信息，
   muted 白底 2.85 不达标；关注/Agent/个人页原为 86909C / 4A4A4A / 939393 三个值） */
body.eva-message-hierarchy-ready .eva-msg .eva-follow-category-title .wk-category-header__name { color: var(--eva-text-secondary-accessible); font-size: 12px; font-weight: 400; line-height: 16px; }
body.eva-message-hierarchy-ready .eva-msg .eva-follow-channel > .wk-conv-compact-item:not(.wk-conv-compact-item--thread) { min-height: 32px; padding-inline-start: var(--eva-rail-identity-content-inset); }
body.eva-message-hierarchy-ready .eva-msg .eva-follow-channel > .wk-conv-compact-item--thread { min-height: 32px; padding-inline-start: var(--eva-rail-team-thread-inset); gap: 6px; }
.eva-follow-category-title > .wk-category-header { flex: 1; min-width: 0; }
.eva-follow-category-title .eva-space-task-button { flex: none; }

/* 最近行合并为两行：项目图标挂在名称行最右侧（时间之后），不再占用独立项目行。
 * 名称行本身 gap 6px，图标只需不参与收缩，右端对齐由时间行的 margin-left:auto 决定。 */
.eva-msg .wk-conversationlist-item-name > .wk-conv-project-icon { flex: none; }

/* Designer v132 conversation states; category titles stay unfilled. */
body.eva-message-hierarchy-ready .eva-msg .eva-follow-channel > .wk-conv-compact-item {
  border-radius: 8px;
}
body.eva-message-hierarchy-ready .eva-msg .eva-follow-channel > .wk-conv-compact-item:hover {
  background: var(--eva-conversation-row-hover);
}
body.eva-message-hierarchy-ready .eva-msg .eva-follow-channel > .wk-conv-compact-item--selected,
body.eva-message-hierarchy-ready .eva-msg .eva-follow-channel > .wk-conv-compact-item--selected:hover {
  background: var(--eva-conversation-row-selected);
}

/* 关注树名称梯度：群名 14/22/500，子区名 14/22/400；仅「未读」升到 600。
 * 字阶按 GDS §4.2 label/labelMedium 与 EvaMate §4.2 Body·Medium / Title·Small，
 * 行高统一 22px（GDS「信息密集的 14px 标签保持 22px」）。
 * 2026-09-20 用户决定：选中态不再加字重——600 是「未读」的专属语义，
 * 选中由蓝底表达（EvaMate §71「selected 用于弱选中」，避免两种状态共用同一字重）。
 * 限定 .eva-follow-channel，我的 AI（eva-ai-team__*）不受影响。 */
body.eva-message-hierarchy-ready .eva-msg .eva-follow-channel > .wk-conv-compact-item:not(.wk-conv-compact-item--thread) .wk-conv-compact-name {
  font-size: 14px;
  font-weight: 500;
  line-height: 22px;
  /* 容器行字色与 AI 小队行/个人页文件夹行同源 text-primary；
     原 0.9 透明黑来自 vendor --wk-text-strong，非规范档。 */
  color: var(--eva-text-primary);
}
body.eva-message-hierarchy-ready .eva-msg .eva-follow-channel > .wk-conv-compact-item--unread:not(.wk-conv-compact-item--thread) .wk-conv-compact-name {
  font-weight: 600;
}
body.eva-message-hierarchy-ready .eva-msg .eva-follow-channel > .wk-conv-compact-item--thread .wk-conv-compact-name {
  font-size: 14px;
  font-weight: 400;
  line-height: 22px;
  color: var(--eva-text-secondary);
}
/* 2026-09-20 用户决定：子区未读不加字重（右侧已有未读计数徽标承担状态），
   600 是「未读」语义只用于无计数场景；未读子区仅保留深一档的字色。 */
/* 2026-09-20 用户决定：子区未读不做任何字重字色特殊处理——
   未读状态完全由右侧计数徽标承担（vendor 的 unread 500/0.9 特殊值均已被
   上方基线规则的更高特异度覆盖）。 */

@media (prefers-reduced-motion: reduce) {
  body.eva-message-hierarchy-ready .eva-msg .wk-sidebar-tabbar[data-eva-project-recent-switcher="true"] .wk-sidebar-tabbar__btn { transition: none; }
}

body.eva-message-hierarchy-ready .eva-msg .eva-follow-category-title .eva-space-task-button {
  background: transparent;
  border-radius: 8px;
  cursor: pointer;
  transition: background-color 150ms ease;
}
body.eva-message-hierarchy-ready .eva-msg .eva-follow-category-title .eva-space-task-button:hover,
body.eva-message-hierarchy-ready .eva-msg .eva-follow-category-title .eva-space-task-button:focus-visible {
  background: var(--semi-color-fill-1);
}

/* Shared overlay scrollbar: visual rail width never depends on native gutter. */
.eva-list-scroll-overlay { position:relative;flex:1;min-height:0;min-width:0;overflow:hidden; }
body.eva-message-hierarchy-ready .eva-msg .eva-list-scroll-overlay > .ch-list__scroll { height:100%;width:100%;box-sizing:border-box;overflow-y:auto;scrollbar-width:none;scrollbar-gutter:auto; }
.eva-list-scroll-native::-webkit-scrollbar { display:none; }
.eva-list-scroll-content { display:flow-root; }
.eva-list-scroll-track { position:absolute;top:0;bottom:0;right:4px;width:7px;pointer-events:none; }
.eva-list-scroll-thumb { width:7px;border-radius:999px;background:#c7cdd2;pointer-events:auto;touch-action:none;cursor:default; }

.eva-list-scroll-track { opacity:0;visibility:hidden;transition:opacity 150ms ease,visibility 150ms; }
.eva-list-scroll-track.is-visible { opacity:1;visibility:visible; }
@media(prefers-reduced-motion:reduce) { .eva-list-scroll-track { transition:none; } }

/* 置顶区：通栏底色作为「背景上的一块特殊区域」，行级 hover/选中仍是各自独立的圆角
 * 矩形容器，两者分走不同视觉通道，可叠加共存而不互相抹除。
 * · 通栏由 ::before 承担，不改行盒本身 → list-insets 的左右对称几何不受影响。
 * · -10px 精确抵消 .ch-list__scroll 的 10px 水平内边距，齐到中栏两边且不产生横向溢出。
 * · bottom:-1px 跨过行间 1px 间隙，相邻置顶行连成整片，中间不出现细白线（即分割线）。
 * · isolation 把负层级锁在列表内容层，保证通栏底稳定压在行背景之下、容器背景之上。
 * 色阶以「未置顶行 hover 的明度增量」为基准 1.0，全部由 --eva-conversation-row-hover
 * 派生，不引入独立色值：通栏取 0.7×，置顶区内 hover 取约 1.2×。注意同色叠加无法超过
 * 100%（hover 压在 hover 上仍是 hover），故 1.2× 由混入色阶下一档 neutral-200 实现。 */
body.eva-message-hierarchy-ready .eva-msg .eva-list-scroll-content:has(.eva-recent-conversation-pinned) {
  isolation: isolate;
}
.ch-layout .wk-conversationlist-item.eva-recent-conversation-pinned::before {
  content: "";
  position: absolute;
  z-index: -1;
  top: 0;
  bottom: -1px;
  left: -10px;
  right: -10px;
  /* 0.7× 基准：未置顶 hover 七成 + 白底三成。 */
  background: color-mix(in srgb, var(--eva-conversation-row-hover) 70%, var(--eva-surface-primary));
  pointer-events: none;
}
/* 末行收口，通栏不越过置顶区边界。 */
.ch-layout .eva-recent-conversation-pinned:not(:has(+ .eva-recent-conversation-pinned))::before {
  bottom: 0;
}
/* 区内 hover：圆角矩形容器形态不变，底色约 1.2× 基准，压在通栏之上仍清晰可辨。 */
.ch-layout .wk-conversationlist-item.eva-recent-conversation-pinned:not(.wk-conversationlist-item-selected):hover {
  background-color: color-mix(in srgb, var(--eva-conversation-row-hover) 75%, var(--eva-c-neutral-200));
}

/* 列表紧贴关注/最近 Tab：去掉 vendor .ch-list__scroll 的 10px 顶部内边距，
 * 消除 Tab 基线与首行之间的空隙。仅限带该 Tab 的消息中栏，其它入口不受影响。 */
body.eva-message-hierarchy-ready .eva-msg .eva-list-scroll-overlay > .ch-list__scroll {
  padding-top: 0;
}
