/* ============================================================================
   鹿朋商管 · 站内 AI 搜索
   ----------------------------------------------------------------------------
   · 所有类名以 .lp-ai- 开头，只影响本模块，不会碰到站点现有样式
   · 配色直接复用站点变量（--lp-primary / --lp-accent / --lp-ink ...）
   · 三个入口共用一套样式：首页 Hero 搜索、导航浮层、搜索结果页
   ========================================================================== */

.lp-ai-hero,
.lp-ai-drawer,
.lp-ai-main {
  --lp-ai-serif: "Noto Serif SC", "Songti SC", "STSong", "SimSun", serif;
  --lp-ai-shadow: 0 24px 60px -30px rgba(20, 35, 43, .45);
  font-family: "PingFang SC", "HarmonyOS Sans SC", "Microsoft YaHei", "Source Han Sans SC", system-ui, sans-serif;
}

/* ============================================================================
   一、首页 Hero 搜索区
   ========================================================================== */

/* 首页 Hero 内可用宽度受父容器 max-w-3xl 限制，这里跟随父级，不再放大 */
.lp-ai-hero { max-width: 100%; }

/* --- 搜索框 ---
   高度 60px：比通栏大搜索低一档，配 44px 按钮，四周留 8px 内边距，
   视觉上是一枚「精致的小控件」而不是一块横幅。 */
.lp-ai-hero__box {
  display: flex;
  align-items: center;
  gap: 12px;
  height: 60px;
  padding: 0 8px 0 20px;
  background: rgba(255, 255, 255, .97);
  border-radius: 12px;
  box-shadow: 0 18px 48px -24px rgba(0, 0, 0, .55);
  transition: box-shadow .25s ease, transform .25s ease;
}

.lp-ai-hero__box:focus-within {
  box-shadow: 0 22px 56px -22px rgba(0, 0, 0, .65), 0 0 0 3px rgba(184, 137, 75, .28);
}

/* 图标跟随框高缩到 20px。SVG 自带 width/height 属性，这里用 CSS 覆盖 */
.lp-ai-hero__ico { flex: none; display: block; width: 20px; height: 20px; }

/* 输入区：输入框 + 打字机示例问句叠层 */
.lp-ai-hero__field {
  position: relative;
  flex: 1 1 auto;
  min-width: 0;
  height: 100%;
  display: flex;
  align-items: center;
}

.lp-ai-hero__input {
  width: 100%;
  height: 100%;
  border: 0;
  outline: 0;
  background: transparent;
  font-size: 16px;
  color: var(--lp-ink);
  letter-spacing: .01em;
}

.lp-ai-hero__input::placeholder { color: transparent; }
.lp-ai-hero__input::-webkit-search-cancel-button { -webkit-appearance: none; }

/* 打字机层：只在输入框为空且未聚焦时显示 */
.lp-ai-hero__ghost {
  position: absolute;
  inset: 0;
  display: flex;
  align-items: center;
  gap: 2px;
  pointer-events: none;
  font-size: 16px;
  color: #8b979d;
  letter-spacing: .01em;
  white-space: nowrap;
  overflow: hidden;
}

.lp-ai-hero__ghost.is-hidden { display: none; }
.lp-ai-hero__ghost em { font-style: normal; }

/* 打字机光标（JS 在输入框右侧叠一个，输入框本体不放光标） */
.lp-ai-hero__caret {
  flex: none;
  width: 2px;
  height: 20px;
  margin-left: 1px;
  background: var(--lp-primary);
  opacity: .8;
  animation: lpAiBlink 1.05s steps(2, start) infinite;
}

.lp-ai-hero__btn {
  flex: none;
  height: 44px;
  padding: 0 22px;
  border: 0;
  border-radius: 9px;
  background: var(--lp-primary);
  color: #fff;
  font-size: 14.5px;
  letter-spacing: .06em;
  cursor: pointer;
  transition: background .2s ease;
}

.lp-ai-hero__btn:hover { background: #0a3f48; }

/* --- 引导行：示例问句标题 + 预约顾问入口 ---
   两者同排。左「可以这样问」是下方问句的引导，右「或直接预约顾问评估」
   是给不想打字的访客的退路，放一行省掉一整行高度。 */
.lp-ai-hero__meta {
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  gap: 22px;
  margin-top: 20px;
}

.lp-ai-hero__label {
  margin: 0;
  font-size: 13px;
  color: rgba(255, 255, 255, .5);
  letter-spacing: .04em;
}

.lp-ai-hero__chips {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-top: 13px;
}

.lp-ai-hero__chip {
  display: inline-flex;
  align-items: center;
  padding: 10px 18px;
  border-radius: 100px;
  border: 1px solid rgba(255, 255, 255, .22);
  background: rgba(255, 255, 255, .09);
  color: rgba(255, 255, 255, .85);
  font-size: 14px;
  line-height: 1.2;
  text-decoration: none;
  transition: background .2s ease, border-color .2s ease, color .2s ease;
}

.lp-ai-hero__chip:hover {
  background: rgba(255, 255, 255, .16);
  border-color: rgba(255, 255, 255, .38);
  color: #fff;
}

/* --- 退路链接（在 .lp-ai-hero__meta 行内，不再自带上边距） --- */
.lp-ai-hero__alt {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  margin-top: 0;
  color: rgba(255, 255, 255, .6);
  font-size: 14px;
  text-decoration: none;
  transition: color .2s ease;
}

.lp-ai-hero__alt i {
  font-style: normal;
  color: var(--lp-accent);
  transition: transform .2s ease;
}

.lp-ai-hero__alt:hover { color: rgba(255, 255, 255, .92); }
.lp-ai-hero__alt:hover i { transform: translateX(4px); }

/* ============================================================================
   二、站内搜索浮层（导航触发）
   ========================================================================== */

.lp-ai-drawer {
  position: fixed;
  inset: 0;
  z-index: 9000;
  display: block;
  visibility: hidden;
  pointer-events: none;
}

.lp-ai-drawer.is-open {
  visibility: visible;
  pointer-events: auto;
}

.lp-ai-drawer__scrim {
  position: absolute;
  inset: 0;
  background: rgba(20, 35, 43, .34);
  opacity: 0;
  transition: opacity .22s ease;
}

.lp-ai-drawer.is-open .lp-ai-drawer__scrim { opacity: 1; }

.lp-ai-drawer__panel {
  position: absolute;
  top: var(--lp-nav-h, 76px);
  left: 0;
  right: 0;
  background: var(--lp-paper);
  border-bottom: 1px solid var(--lp-line);
  box-shadow: 0 40px 80px -40px rgba(20, 35, 43, .5);
  transform: translateY(-12px);
  opacity: 0;
  transition: transform .26s cubic-bezier(.2, .7, .3, 1), opacity .2s ease;
  max-height: calc(100vh - var(--lp-nav-h, 76px));
  overflow-y: auto;
  overscroll-behavior: contain;
}

.lp-ai-drawer.is-open .lp-ai-drawer__panel {
  transform: translateY(0);
  opacity: 1;
}

.lp-ai-drawer__panel .lp-wrap { padding-top: 32px; padding-bottom: 22px; }

/* --- 输入框 --- */
.lp-ai-drawer__form {
  display: flex;
  align-items: center;
  gap: 12px;
  height: 64px;
  padding: 0 10px 0 22px;
  background: #fff;
  border: 1px solid var(--lp-line);
  border-radius: 12px;
  transition: border-color .2s ease, box-shadow .2s ease;
}

.lp-ai-drawer__form:focus-within {
  border-color: #c9d4d6;
  box-shadow: 0 0 0 3px rgba(11, 74, 84, .08);
}

.lp-ai-drawer__ico { flex: none; color: var(--lp-primary); }

.lp-ai-drawer__input {
  flex: 1 1 auto;
  min-width: 0;
  height: 100%;
  border: 0;
  outline: 0;
  background: transparent;
  font-size: 16.5px;
  color: var(--lp-ink);
}

.lp-ai-drawer__input::placeholder { color: #9aa6ab; }
.lp-ai-drawer__input::-webkit-search-cancel-button { -webkit-appearance: none; }

.lp-ai-btn {
  flex: none;
  height: 44px;
  padding: 0 22px;
  border: 0;
  border-radius: 8px;
  font-size: 14px;
  letter-spacing: .05em;
  cursor: pointer;
  transition: background .2s ease, opacity .2s ease;
}

.lp-ai-btn--deep { background: var(--lp-primary); color: #fff; }
.lp-ai-btn--deep:hover { background: #0a3f48; }

.lp-ai-btn--gold { background: var(--lp-accent); color: #fff; width: 100%; height: 46px; font-size: 14.5px; }
.lp-ai-btn--gold:hover { background: #a97b3e; }
.lp-ai-btn[disabled] { opacity: .6; cursor: default; }

/* --- 两栏 --- */
.lp-ai-drawer__cols {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 400px;
  gap: 72px;
  margin-top: 30px;
}

.lp-ai-drawer__label {
  margin: 0 0 10px;
  font-size: 11px;
  color: var(--lp-muted);
  letter-spacing: .16em;
  font-weight: 600;
}

.lp-ai-drawer__list { display: flex; flex-direction: column; }

/* 猜你想问 */
.lp-ai-hint {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  height: 50px;
  padding: 0 12px;
  border-radius: 6px;
  color: rgba(20, 35, 43, .85);
  font-size: 15px;
  text-decoration: none;
  transition: background .16s ease, color .16s ease;
}

.lp-ai-hint + .lp-ai-hint { border-top: 1px solid #f1ece3; }
.lp-ai-hint i { font-style: normal; color: var(--lp-muted); opacity: .5; transition: transform .16s ease, opacity .16s ease; }
.lp-ai-hint:hover,
.lp-ai-hint.is-active { background: #f1f4f4; color: var(--lp-primary); }
.lp-ai-hint:hover i,
.lp-ai-hint.is-active i { opacity: 1; transform: translateX(3px); }

/* 按来源浏览 */
.lp-ai-kind {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  padding: 13px 14px;
  margin-bottom: 8px;
  border-radius: 8px;
  background: #f5f2ec;
  text-decoration: none;
  transition: background .16s ease;
}

.lp-ai-kind:hover { background: #efe9de; }

.lp-ai-kind__name {
  display: inline-flex;
  align-items: center;
  gap: 9px;
  font-size: 14px;
  font-weight: 500;
  color: var(--lp-ink);
}

.lp-ai-kind__n { font-size: 12px; color: var(--lp-muted); }

.lp-ai-dot {
  display: inline-block;
  width: 6px;
  height: 6px;
  border-radius: 50%;
  flex: none;
}

.lp-ai-dot--deep { background: var(--lp-primary); }
.lp-ai-dot--mid  { background: #2f6b74; }
.lp-ai-dot--warm { background: var(--lp-accent); }
.lp-ai-dot--soft { background: #9aa6ac; }

/* --- 底部提示 --- */
.lp-ai-drawer__foot {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
  margin-top: 26px;
  padding-top: 16px;
  border-top: 1px solid var(--lp-line);
  font-size: 12px;
  color: var(--lp-muted);
}

.lp-ai-kbd { color: #a7b0b4; letter-spacing: .06em; }

/* ============================================================================
   三、搜索结果页
   ========================================================================== */

.lp-ai-main {
  background: var(--lp-bg);
  padding: calc(var(--lp-nav-h, 76px) + 52px) 0 80px;
  min-height: 100vh;
}

/* 站点内容容器在宽屏下会放宽到 1440，正文行宽会偏长（约 60 字/行）。
   搜索结果页以「读答案」为主，这里收窄到 1240，主栏约 772px、每行约 45 字。 */
.lp-ai-main > .lp-wrap { max-width: 1240px; }

.lp-ai-head { max-width: 1200px; }

.lp-ai-eyebrow {
  margin: 0 0 12px;
  font-size: 11px;
  font-weight: 600;
  letter-spacing: .16em;
  color: var(--lp-accent);
}

.lp-ai-qrow {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 14px;
}

.lp-ai-q {
  margin: 0;
  font-family: var(--lp-ai-serif);
  font-size: 26px;
  font-weight: 600;
  line-height: 1.45;
  letter-spacing: .01em;
  color: var(--lp-ink);
}

.lp-ai-q-edit {
  font-family: inherit;
  font-size: 21px;
  font-weight: 600;
  color: var(--lp-ink);
  background: #fff;
  border: 1px solid #cfd8da;
  border-radius: 8px;
  padding: 6px 12px;
  outline: 0;
  min-width: 420px;
  max-width: 100%;
}

.lp-ai-edit {
  flex: none;
  padding: 5px 12px;
  border: 1px solid var(--lp-line);
  border-radius: 100px;
  background: transparent;
  color: var(--lp-muted);
  font-size: 12.5px;
  cursor: pointer;
  transition: border-color .2s ease, color .2s ease;
}

.lp-ai-edit:hover { border-color: #cfc6b6; color: var(--lp-ink); }

.lp-ai-meta {
  display: flex;
  align-items: center;
  gap: 8px;
  margin: 12px 0 0;
  font-size: 12.5px;
  color: var(--lp-muted);
  min-height: 20px;
}

.lp-ai-dot-loading {
  display: inline-block;
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: var(--lp-primary);
  animation: lpAiPulse 1.1s ease-in-out infinite;
}

/* --- 栅格 --- */
.lp-ai-grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 348px;
  gap: 56px;
  margin-top: 34px;
  align-items: start;
}

.lp-ai-col-main { min-width: 0; }
.lp-ai-col-side { display: flex; flex-direction: column; gap: 20px; }

/* --- 通用卡片 --- */
.lp-ai-card {
  background: #fff;
  border: 1px solid var(--lp-line);
  border-radius: 16px;
}

/* --- AI 回答卡 --- */
.lp-ai-answer { padding: 26px 30px 22px; }

.lp-ai-answer__head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  padding-bottom: 16px;
}

.lp-ai-answer__id {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  font-size: 12.5px;
  font-weight: 600;
  letter-spacing: .12em;
  color: var(--lp-primary);
}

.lp-ai-answer__src { font-size: 11.5px; color: #9aa6ac; }

.lp-ai-answer__body {
  font-size: 15.5px;
  line-height: 1.95;
  color: #2a3a42;
  min-height: 92px;
}

.lp-ai-answer__body p { margin: 0 0 16px; }
.lp-ai-answer__body p:last-child { margin-bottom: 0; }

.lp-ai-point {
  display: flex;
  gap: 10px;
  margin: 0 0 10px;
  padding-left: 2px;
}

.lp-ai-point__dot { color: var(--lp-accent); flex: none; font-weight: 700; }
.lp-ai-point__txt { flex: 1 1 auto; }

.lp-ai-caret {
  display: inline-block;
  width: 2px;
  height: 1.05em;
  margin-left: 2px;
  vertical-align: -2px;
  background: var(--lp-primary);
  animation: lpAiBlink 1.05s steps(2, start) infinite;
}

/* 引用角标 */
.lp-ai-cite {
  display: inline-block;
  min-width: 15px;
  height: 15px;
  padding: 0 3px;
  margin: 0 1px;
  border-radius: 3px;
  background: #dde8ea;
  color: #0a3f48;
  font-size: 10px;
  font-weight: 700;
  line-height: 15px;
  text-align: center;
  text-decoration: none;
  vertical-align: 3px;
  cursor: pointer;
  transition: background .16s ease, color .16s ease;
}

.lp-ai-cite:hover { background: var(--lp-primary); color: #fff; }

.lp-ai-answer__foot {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
  flex-wrap: wrap;
  margin-top: 20px;
  padding-top: 14px;
  border-top: 1px solid #f2eee6;
  font-size: 11.5px;
  color: #9aa6ac;
}

.lp-ai-answer__fb { color: var(--lp-primary); cursor: pointer; letter-spacing: .02em; }
.lp-ai-answer__fb:hover { text-decoration: underline; }

/* 骨架屏 */
.lp-ai-skel { display: flex; flex-direction: column; gap: 12px; padding: 6px 0; }

.lp-ai-skel span {
  display: block;
  height: 13px;
  border-radius: 4px;
  background: linear-gradient(90deg, #f0eee9 25%, #f7f5f1 37%, #f0eee9 63%);
  background-size: 400% 100%;
  animation: lpAiShimmer 1.4s ease infinite;
}

.lp-ai-skel span:nth-child(1) { width: 92%; }
.lp-ai-skel span:nth-child(2) { width: 100%; }
.lp-ai-skel span:nth-child(3) { width: 68%; }

/* --- 来源区 --- */
.lp-ai-sources { margin-top: 36px; }

.lp-ai-sources__head {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 16px;
  margin-bottom: 16px;
}

.lp-ai-sources__head h2 {
  margin: 0;
  font-size: 13px;
  font-weight: 600;
  letter-spacing: .1em;
  color: var(--lp-ink);
}

.lp-ai-sources__head span { font-size: 11.5px; color: #9aa6ac; }

.lp-ai-group + .lp-ai-group { margin-top: 14px; }

/* 双列来源卡 */
.lp-ai-duo {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 24px;
}

.lp-ai-src {
  display: flex;
  flex-direction: column;
  gap: 12px;
  padding: 22px;
  background: #fff;
  border: 1px solid var(--lp-line);
  border-radius: 12px;
  text-decoration: none;
  transition: border-color .2s ease, transform .2s ease, box-shadow .2s ease;
}

.lp-ai-src:hover {
  border-color: #cfc6b6;
  transform: translateY(-2px);
  box-shadow: 0 18px 36px -28px rgba(20, 35, 43, .5);
}

.lp-ai-src__tag { align-self: flex-start; }

.lp-ai-src__h {
  margin: 0;
  font-size: 16.5px;
  font-weight: 600;
  color: var(--lp-ink);
  letter-spacing: .01em;
}

.lp-ai-src__d {
  margin: 0;
  font-size: 13px;
  line-height: 1.75;
  color: var(--lp-muted);
  display: -webkit-box;
  -webkit-line-clamp: 3;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

.lp-ai-src__go { margin-top: auto; font-size: 12.5px; font-weight: 500; color: var(--lp-primary); letter-spacing: .03em; }

/* 标签 */
.lp-ai-tag {
  display: inline-flex;
  align-items: center;
  padding: 5px 10px;
  border-radius: 4px;
  font-size: 11px;
  font-weight: 600;
  letter-spacing: .06em;
  white-space: nowrap;
}

.lp-ai-tag--deep { background: #e9eff0; color: var(--lp-primary); }
.lp-ai-tag--mid  { background: #eaf1f2; color: #2f6b74; }
.lp-ai-tag--warm { background: #f5efe3; color: #8a6531; }
.lp-ai-tag--soft { background: #f1efeb; color: #7d8a90; }

/* 工具行 */
.lp-ai-tools { padding: 18px 22px 8px; }

.lp-ai-tools__head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
}

.lp-ai-tools__hint { font-size: 11.5px; color: #9aa6ac; }

.lp-ai-tools__rows { margin-top: 4px; }

.lp-ai-tool {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 14px 0;
  text-decoration: none;
  border-top: 1px solid #f4f1ea;
}

.lp-ai-tool:first-child { border-top: 0; }
.lp-ai-tool__n { font-size: 14.5px; font-weight: 500; color: var(--lp-ink); flex: none; }
.lp-ai-tool__d { font-size: 12.5px; color: #9aa6ac; flex: 1 1 auto; min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.lp-ai-tool__go { font-size: 12.5px; font-weight: 500; color: var(--lp-primary); flex: none; }
.lp-ai-tool:hover .lp-ai-tool__d { color: var(--lp-muted); }

/* 新媒体横带 */
.lp-ai-media {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
  padding: 16px 22px;
}

.lp-ai-media__left { display: flex; align-items: center; gap: 14px; min-width: 0; flex-wrap: wrap; }
.lp-ai-media__list { font-size: 13px; color: var(--lp-muted); }
.lp-ai-media__more { flex: none; font-size: 12.5px; font-weight: 500; color: var(--lp-accent); text-decoration: none; }
.lp-ai-media__more:hover { text-decoration: underline; }

/* 延伸阅读 */
.lp-ai-read { padding: 18px 22px 8px; }

.lp-ai-read__head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  font-size: 11px;
  font-weight: 600;
  letter-spacing: .16em;
  color: #9aa6ac;
}

.lp-ai-read__count { font-weight: 400; letter-spacing: 0; }

.lp-ai-read__rows { margin-top: 4px; }

.lp-ai-read__row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
  padding: 13px 0;
  border-top: 1px solid #f4f1ea;
  text-decoration: none;
}

.lp-ai-read__row:first-child { border-top: 0; }
.lp-ai-read__t { font-size: 14px; color: #2a3a42; min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.lp-ai-read__row:hover .lp-ai-read__t { color: var(--lp-primary); }
.lp-ai-read__m { flex: none; font-size: 11.5px; color: #9aa6ac; }

/* --- 侧栏：留资卡 --- */
.lp-ai-lead { padding: 26px 24px 22px; }

.lp-ai-lead__h {
  margin: 0;
  font-size: 16px;
  font-weight: 600;
  letter-spacing: .01em;
  color: var(--lp-ink);
}

.lp-ai-lead__d {
  margin: 10px 0 18px;
  font-size: 13px;
  line-height: 1.8;
  color: var(--lp-muted);
}

.lp-ai-input {
  display: block;
  width: 100%;
  height: 42px;
  margin-bottom: 8px;
  padding: 0 12px;
  border: 1px solid var(--lp-line);
  border-radius: 8px;
  background: var(--lp-bg);
  font-size: 13px;
  color: var(--lp-ink);
  outline: 0;
  transition: border-color .16s ease, background .16s ease;
}

.lp-ai-input::placeholder { color: #9aa6ac; }
.lp-ai-input:focus { border-color: #b9c6c8; background: #fff; }

/* 项目阶段下拉：去掉系统样式，自己画一个细箭头，和输入框同一视觉语言 */
.lp-ai-select {
  height: 42px;
  padding-right: 30px;
  -webkit-appearance: none;
  appearance: none;
  background-image: url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6' viewBox='0 0 10 6'%3E%3Cpath d='M1 1l4 4 4-4' fill='none' stroke='%239aa6ac' stroke-width='1.3' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: right 12px center;
  background-size: 10px 6px;
  cursor: pointer;
}
.lp-ai-select.is-empty { color: #9aa6ac; }

.lp-ai-textarea {
  height: auto;
  min-height: 56px;
  padding: 10px 12px;
  line-height: 1.6;
  resize: vertical;
  font-family: inherit;
}

.lp-ai-lead form .lp-ai-btn--gold { margin-top: 6px; }

.lp-ai-lead__tip {
  margin: 10px 0 0;
  font-size: 11px;
  line-height: 1.6;
  color: #9aa6ac;
}

.lp-ai-lead__tip.is-ok { color: var(--lp-primary); }
.lp-ai-lead__tip.is-err { color: #c0392b; }

/* 侧栏小工具 */
.lp-ai-side-tools { padding: 4px 6px; }

.lp-ai-side-title {
  margin: 0 0 6px;
  padding: 0 8px;
  font-size: 11px;
  font-weight: 600;
  letter-spacing: .16em;
  color: #9aa6ac;
}

.lp-ai-side-link {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 10px 8px;
  font-size: 13.5px;
  color: #2a3a42;
  text-decoration: none;
  border-radius: 6px;
  transition: background .16s ease, color .16s ease;
}

.lp-ai-side-link i { font-style: normal; font-size: 12px; color: #b4b0a6; transition: transform .16s ease; }
.lp-ai-side-link:hover { background: #efeae1; color: var(--lp-primary); }
.lp-ai-side-link:hover i { transform: translateX(3px); }

/* 回答口径 */
.lp-ai-scope {
  padding: 16px 18px;
  border-radius: 12px;
  background: #edf1f1;
}

.lp-ai-scope__t {
  margin: 0 0 8px;
  font-size: 11px;
  font-weight: 600;
  letter-spacing: .16em;
  color: #5c7078;
}

.lp-ai-scope__d {
  margin: 0;
  font-size: 12.5px;
  line-height: 1.8;
  color: var(--lp-muted);
}

/* --- 空状态 --- */
.lp-ai-empty {
  padding: 34px 30px;
  background: #fff;
  border: 1px solid var(--lp-line);
  border-radius: 16px;
}

.lp-ai-empty__h {
  margin: 0 0 16px;
  font-size: 16px;
  font-weight: 600;
  color: var(--lp-ink);
}

.lp-ai-empty__list { display: flex; flex-direction: column; }

.lp-ai-empty__item {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  padding: 14px 0;
  border-top: 1px solid #f2eee6;
  font-size: 15px;
  color: #2a3a42;
  text-decoration: none;
}

.lp-ai-empty__item:first-child { border-top: 0; }
.lp-ai-empty__item i { font-style: normal; color: var(--lp-primary); opacity: .5; }
.lp-ai-empty__item:hover { color: var(--lp-primary); }
.lp-ai-empty__item:hover i { opacity: 1; }

/* ============================================================================
   四、动画
   ========================================================================== */

@keyframes lpAiBlink { 0%, 49% { opacity: 1; } 50%, 100% { opacity: 0; } }
@keyframes lpAiPulse { 0%, 100% { opacity: .3; transform: scale(.85); } 50% { opacity: 1; transform: scale(1); } }
@keyframes lpAiShimmer { 0% { background-position: 100% 50%; } 100% { background-position: 0 50%; } }

@media (prefers-reduced-motion: reduce) {
  .lp-ai-hero__caret,
  .lp-ai-caret,
  .lp-ai-dot-loading,
  .lp-ai-skel span { animation: none; }
}

/* ============================================================================
   五、响应式
   ========================================================================== */

@media (max-width: 1100px) {
  .lp-ai-grid { grid-template-columns: minmax(0, 1fr); gap: 34px; }
  .lp-ai-col-side { flex-direction: row; flex-wrap: wrap; }
  .lp-ai-col-side > * { flex: 1 1 320px; }
  .lp-ai-drawer__cols { grid-template-columns: minmax(0, 1fr) 340px; gap: 40px; }
}

@media (max-width: 860px) {
  .lp-ai-drawer__panel { top: 0; max-height: 100vh; border-radius: 0 0 16px 16px; }
  .lp-ai-drawer__cols { grid-template-columns: minmax(0, 1fr); gap: 24px; }
  .lp-ai-drawer__col--side { order: 2; }
  .lp-ai-kbd { display: none; }
  .lp-ai-kbd + * { margin-left: 0; }
  .lp-ai-drawer__foot { justify-content: flex-start; }
}

@media (max-width: 768px) {
  .lp-ai-hero__box { height: 54px; padding: 0 7px 0 15px; gap: 10px; border-radius: 11px; }
  .lp-ai-hero__input { font-size: 15px; }
  /* 窄屏放不下长问句，改用它自带的 placeholder 提示，别再让打字机被裁一半 */
  .lp-ai-hero__ghost { display: none; }
  .lp-ai-hero__input::placeholder { color: #8b979d; }
  .lp-ai-hero__caret { display: none; }
  .lp-ai-hero__btn { height: 40px; padding: 0 15px; font-size: 13.5px; border-radius: 8px; }
  .lp-ai-hero__chip { padding: 8px 14px; font-size: 13px; }
  /* 移动端：问句横滑一行，别让它竖排占掉半屏 */
  .lp-ai-hero__chips {
    flex-wrap: nowrap;
    overflow-x: auto;
    padding-bottom: 4px;
    scrollbar-width: none;
    -webkit-overflow-scrolling: touch;
  }
  .lp-ai-hero__chips::-webkit-scrollbar { display: none; }
  .lp-ai-hero__chip { flex: none; }
  /* 窄屏两个元素可能换行，换行后各自靠左，不再额外加间距 */
  .lp-ai-hero__meta { gap: 6px 14px; margin-top: 16px; }
  .lp-ai-hero__alt { margin-top: 0; font-size: 13px; }

  .lp-ai-main { padding-top: calc(var(--lp-nav-h, 76px) + 32px); padding-bottom: 56px; }
  .lp-ai-q { font-size: 21px; }
  .lp-ai-q-edit { min-width: 100%; font-size: 18px; }
  .lp-ai-answer { padding: 20px 18px 16px; border-radius: 14px; }
  .lp-ai-answer__body { font-size: 15px; line-height: 1.9; }
  .lp-ai-answer__head { flex-wrap: wrap; gap: 6px; }
  .lp-ai-duo { grid-template-columns: 1fr; gap: 12px; }
  .lp-ai-src { padding: 18px; }
  .lp-ai-media { flex-direction: column; align-items: flex-start; gap: 12px; }
  .lp-ai-tool { flex-wrap: wrap; gap: 6px; }
  .lp-ai-tool__d { flex-basis: 100%; white-space: normal; }
  .lp-ai-col-side { flex-direction: column; }
  .lp-ai-drawer__panel .lp-wrap { padding-top: 20px; }
  .lp-ai-drawer__form { height: 56px; padding: 0 8px 0 16px; }
  .lp-ai-drawer__input { font-size: 15px; }
  .lp-ai-hint { height: 46px; font-size: 14px; }
}

/* ============================================================================
   留资提交成功弹窗
   ----------------------------------------------------------------------------
   为什么不用 alert()：alert 只是一个系统框，说不清「同一个手机号提交一次就够」
   这件事，也没法带品牌视觉；部分移动端浏览器还会把连续 alert 当成干扰拦掉。
   弹窗打开期间锁住页面滚动，让「这一轮已经结束」这个感觉更明确。
   ========================================================================== */

.lp-ai-modal {
  position: fixed;
  inset: 0;
  z-index: 9999;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 24px 20px;
}

.lp-ai-modal[hidden] { display: none; }

.lp-ai-modal__mask {
  position: absolute;
  inset: 0;
  background: rgba(10, 30, 36, .5);
  touch-action: none;   /* 移动端减少滑动穿透到背景 */
  opacity: 0;
  transition: opacity .2s ease;
}

.lp-ai-modal__card {
  position: relative;
  width: 100%;
  max-width: 352px;
  padding: 30px 26px 22px;
  background: var(--lp-paper, #fdfcfa);
  border-radius: 16px;
  box-shadow: 0 24px 64px rgba(9, 28, 34, .28);
  text-align: center;
  opacity: 0;
  transform: translateY(10px) scale(.98);
  transition: opacity .22s ease, transform .24s cubic-bezier(.2, .8, .3, 1);
}

.lp-ai-modal.is-open .lp-ai-modal__mask { opacity: 1; }
.lp-ai-modal.is-open .lp-ai-modal__card { opacity: 1; transform: none; }

.lp-ai-modal__x {
  position: absolute;
  top: 10px;
  right: 10px;
  width: 30px;
  height: 30px;
  padding: 0;
  border: 0;
  border-radius: 50%;
  background: transparent;
  color: #a8b1b4;
  font-size: 13px;
  line-height: 30px;
  cursor: pointer;
  transition: background .16s ease, color .16s ease;
}

.lp-ai-modal__x:hover { background: #efeae1; color: var(--lp-ink, #14232b); }

.lp-ai-modal__icon { display: block; width: 52px; height: 52px; margin: 0 auto 14px; }

.lp-ai-modal__h {
  margin: 0 0 10px;
  font-size: 17.5px;
  font-weight: 600;
  letter-spacing: .01em;
  color: var(--lp-ink, #14232b);
}

.lp-ai-modal__d {
  margin: 0;
  padding: 0 4px;
  font-size: 13px;
  line-height: 1.85;
  color: var(--lp-muted, #6b7a82);
}

/* 「不用重复提交」单独一行并用主色：这是弹窗存在的核心理由，
   不能淹没在正文里。字号与正文一致——小一号反而因为颜色深而显得更重。 */
.lp-ai-modal__note {
  margin: 6px 0 0;
  padding: 0 4px;
  font-size: 13px;
  line-height: 1.85;
  color: var(--lp-primary, #0b4a54);
}

.lp-ai-modal__call {
  margin: 14px 0 18px;
  font-size: 13px;
  color: #8b979d;
}

.lp-ai-modal__call a {
  color: var(--lp-primary, #0b4a54);
  font-weight: 600;
  text-decoration: none;
  border-bottom: 1px solid rgba(11, 74, 84, .28);
}

.lp-ai-modal__ok { height: 44px; font-size: 14px; }

/* 提交成功后表单锁定：不是「禁用」的灰，而是「已完成」的灰。
   金色按钮换成中性底 + 深字，白字压在浅底上对比度不够。 */
.lp-ai-lead form.is-done .lp-ai-input {
  background: #f2efea;
  color: #9aa6ac;
  border-color: #e7e2d8;
}

.lp-ai-lead form.is-done .lp-ai-btn--gold {
  background: #e6e0d4;
  color: #7d7568;
  opacity: 1;
  cursor: default;
}

@media (max-width: 768px) {
  .lp-ai-modal__card { padding: 26px 20px 20px; }
  .lp-ai-modal__h { font-size: 16.5px; }
  .lp-ai-modal__d { font-size: 12.8px; }
}
