/* ═══════════════════════════════════════════════════
   SO WIZARD — C42b 编辑式编排层
   章节导轨（从头到尾的连贯气质）+ 全局光晕统一调性
   ═══════════════════════════════════════════════════ */
/* 顶部柔光：统一冷蓝调性，让 13 屏像同一支叙事 */
.global-grade {
  position: fixed; inset: 0; pointer-events: none; z-index: 9990;
  background: radial-gradient(90% 55% at 50% -12%, rgba(74,124,255,0.10), transparent 64%);
  mix-blend-mode: screen;
}

/* 章节导轨：左缘固定，dot + 名称 + 滚动进度填充 */
.chapter-rail {
  position: fixed; left: 26px; top: 50%; transform: translateY(-50%);
  z-index: 9000; display: flex; flex-direction: column;
  transition: opacity 0.45s ease;
}
.chapter-rail.rail-hidden { opacity: 0; pointer-events: none; }
.cr-track {
  position: absolute; left: 3px; top: 4px; bottom: 4px; width: 1px;
  background: rgba(255,255,255,0.10);
}
.cr-fill {
  position: absolute; left: 3px; top: 4px; width: 1px; height: 0%;
  background: linear-gradient(180deg, #4a7cff, #6d96ff);
  box-shadow: 0 0 8px rgba(74,124,255,0.6);
  transition: height 0.12s linear;
}
.cr-item {
  position: relative; display: flex; align-items: center; gap: 12px;
  padding: 8px 0; cursor: pointer;
}
.cr-dot {
  width: 7px; height: 7px; border-radius: 50%;
  background: rgba(255,255,255,0.22); border: 1px solid rgba(255,255,255,0.16);
  transition: all 0.35s ease; flex: none; z-index: 1;
}
.cr-label {
  font-size: 11px; letter-spacing: 0.06em; color: rgba(244,245,248,0.5);
  white-space: nowrap; opacity: 0; transform: translateX(-6px);
  transition: all 0.35s ease; font-weight: 500;
}
.cr-item:hover .cr-label { opacity: 0.85; transform: translateX(0); }
.cr-item.active .cr-dot {
  background: #6d96ff; border-color: #6d96ff; transform: scale(1.3);
  box-shadow: 0 0 0 4px rgba(74,124,255,0.16), 0 0 12px rgba(74,124,255,0.7);
}
.cr-item.active .cr-label { opacity: 1; transform: translateX(0); color: #fff; }

@media (max-width: 1024px) {
  .chapter-rail, .global-grade { display: none; }
}
