/* Path A / 双主线引导蒙层 — 跟随亮暗主题 */
.path-a-spotlight {
  position: fixed;
  inset: 0;
  /* 高于任务中心 FAB(9300)，避免引导「下一步」被挡住点不了 */
  z-index: 9450;
  pointer-events: none;
}
.path-a-spotlight.hidden { display: none; }

.path-a-spotlight-hole {
  position: fixed;
  border-radius: 10px;
  box-shadow: 0 0 0 9999px rgba(15, 23, 42, 0.62);
  pointer-events: none;
  transition: top 0.2s ease, left 0.2s ease, width 0.2s ease, height 0.2s ease, opacity 0.15s ease;
  z-index: 9451;
}

.path-a-spotlight-card {
  position: fixed;
  left: 50%;
  bottom: 24px;
  transform: translateX(-50%);
  width: min(520px, calc(100vw - 32px));
  background: var(--app-card);
  color: var(--app-text);
  border-radius: 16px;
  padding: 18px 20px;
  box-shadow: var(--app-shadow);
  border: 1px solid var(--app-border);
  pointer-events: auto;
  z-index: 9452;
}

.path-a-spotlight-card-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  margin-bottom: 6px;
}

.path-a-spotlight-step-label {
  font-size: 12px;
  font-weight: 600;
  color: var(--app-primary);
  letter-spacing: 0.04em;
}

.path-a-spotlight-title {
  margin: 0 0 6px;
  font-size: 17px;
  color: var(--app-text);
}

.path-a-spotlight-card .meta {
  color: var(--app-muted);
}

.path-a-spotlight-next {
  margin: 8px 0 0;
  color: var(--app-tip-fg, #ffcf8b);
  font-weight: 500;
}

.path-a-spotlight-dots {
  display: flex;
  gap: 6px;
  margin-top: 12px;
}

.path-a-spotlight-dot {
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: var(--app-chip-bg);
}
.path-a-spotlight-dot.is-active { background: var(--app-primary); }

.path-a-spotlight-actions {
  display: flex;
  gap: 8px;
  flex-wrap: wrap;
  justify-content: flex-end;
  margin-top: 14px;
}

.path-a-spotlight-card-head .path-a-spotlight-close,
.path-a-spotlight-card .btn-ghost {
  color: var(--app-text-secondary);
}
.path-a-spotlight-card .btn-ghost:hover {
  background: var(--app-hover);
  color: var(--app-text);
}

.path-a-spotlight--modal-open .path-a-spotlight-hole,
.path-a-spotlight--modal-open .path-a-spotlight-card {
  opacity: 0;
  pointer-events: none;
}

/* 双主线：选线阶段全屏蒙层 + 居中引导卡 */
.dual-path-spotlight--pick {
  pointer-events: auto;
  background: rgba(10, 10, 20, 0.72);
}
.dual-path-spotlight--pick .path-a-spotlight-hole { display: none; }
.dual-path-spotlight--pick .dual-path-pick-card {
  bottom: auto;
  top: 50%;
  transform: translate(-50%, -50%);
}
.dual-path-pick-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 10px;
  margin-top: 14px;
}
@media (max-width: 520px) {
  .dual-path-pick-grid { grid-template-columns: 1fr; }
}
.dual-path-pick-btn {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 4px;
  text-align: left;
  padding: 14px 14px;
  border-radius: 12px;
  border: 1px solid var(--app-border);
  background: var(--app-surface);
  color: var(--app-text);
  cursor: pointer;
  font: inherit;
  transition: border-color 0.15s, box-shadow 0.15s, background 0.15s;
}
.dual-path-pick-btn strong {
  font-size: 15px;
  color: var(--app-text);
}
.dual-path-pick-btn .meta,
.dual-path-pick-btn span {
  color: var(--app-muted);
  font-size: 12px;
  line-height: 1.45;
}
.dual-path-pick-btn:hover {
  border-color: rgba(var(--app-primary-rgb), 0.45);
  background: var(--app-primary-soft);
  box-shadow: 0 0 0 3px var(--app-primary-soft);
}
.dual-path-tour-path {
  margin: 0 0 4px;
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.04em;
  color: var(--app-primary);
}

/* 关闭按钮（若存在） */
.path-a-spotlight-close,
#dualPathPickCard [aria-label="关闭"],
.dual-path-pick-card button[aria-label="关闭"] {
  color: var(--app-muted);
  background: transparent;
  border: none;
  cursor: pointer;
  font-size: 20px;
  line-height: 1;
}
.path-a-spotlight-close:hover,
#dualPathPickCard [aria-label="关闭"]:hover {
  color: var(--app-text);
}
