/* 对话速览（t-20261022-soow，js/chat-rail.js）：主聊天左边页边里一列细横线，一轮对话一根。
   静止时淡灰短线；当前轮最长、用正文色，上下几根依次变短（鱼眼，长度由 chat-rail.js 写 --len）；指针停在某根上，鱼眼移到那根、它变深灰，右边出一张玻璃底小卡（同对话里的引用预览）。
   位置、高度由 chat-rail.js 按聊天可见区写；窄屏、触屏不出现。 */
.chat-rail { position: absolute; z-index: 4; width: 28px; }
.chat-rail[hidden] { display: none; }
.chat-rail__list { margin: 0; padding: 0; list-style: none; overflow-y: auto; scrollbar-width: none; overscroll-behavior: contain; }
.chat-rail__list::-webkit-scrollbar { display: none; }
.chat-rail__tick { --len: 10px; display: flex; align-items: center; width: 28px; height: 10px; padding: 0; border: 0; background: none; cursor: pointer; }
.chat-rail__tick::before { content: ''; width: var(--len); height: 2px; border-radius: 1px; background: color-mix(in srgb, var(--border-strong) 45%, var(--muted)); transition: width 180ms cubic-bezier(.2, .8, .2, 1), background-color 140ms ease; }
.chat-rail:hover .chat-rail__tick::before { background: color-mix(in srgb, var(--border-strong) 20%, var(--muted)); }
.chat-rail__tick.is-hover::before { background: color-mix(in srgb, var(--ink) 65%, transparent); }
.chat-rail__tick.is-active::before { background: var(--ink); }
.chat-rail__tick:focus { outline: none; }
.chat-rail__tick:focus-visible::before { box-shadow: 0 0 0 2px var(--accent); }

.chat-rail-card {
  position: absolute; z-index: var(--z-scroll-pop); width: 300px; max-width: calc(100% - 60px); padding: 10px 14px 12px;
  border: 1px solid var(--border); border-radius: var(--r-md);
  background: color-mix(in srgb, var(--surface) 92%, transparent); -webkit-backdrop-filter: blur(22px) saturate(1.5); backdrop-filter: blur(22px) saturate(1.5);
  box-shadow: var(--shadow-pop); color: var(--ink); font-family: var(--font-sans); pointer-events: none;
  animation: chat-rail-card-in 120ms cubic-bezier(.2, .8, .2, 1);
}
.chat-rail-card[hidden] { display: none; }
.chat-rail-card__title { display: block; overflow: hidden; color: var(--ink); font-size: var(--fs-ui); font-weight: var(--fw-strong); line-height: var(--lh-ui); text-overflow: ellipsis; white-space: nowrap; }
.chat-rail-card__preview { display: -webkit-box; margin: 4px 0 0; overflow: hidden; color: var(--muted); font-size: var(--fs-caption); line-height: 1.6; -webkit-box-orient: vertical; -webkit-line-clamp: 3; overflow-wrap: anywhere; }
.chat-rail-card__preview[hidden] { display: none; }
@keyframes chat-rail-card-in { from { opacity: 0; transform: translateX(-4px); } }

@media (max-width: 1023px), (hover: none), (pointer: coarse) {
  .chat-rail, .chat-rail-card { display: none !important; }
}
@media (prefers-reduced-motion: reduce) {
  .chat-rail__tick::before { transition: none; }
  .chat-rail-card { animation: none; }
}
