/* 锟乾 · 答案引力场 — 站点样式（HUD 语言） */
* { margin: 0; padding: 0; box-sizing: border-box; }
html, body {
  width: 100%; height: 100%;
  background: var(--kq-bg); color: var(--kq-ink);
  font-family: var(--kq-font-cn);
  overflow: hidden;
  -webkit-user-select: none; user-select: none;
}
#view { position: fixed; inset: 0; width: 100%; height: 100%; display: block; touch-action: none; }
button { font-family: inherit; }

/* ── overlays ── */
.overlay {
  position: fixed; inset: 0; z-index: var(--kq-z-overlay);
  display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 18px;
  background: radial-gradient(ellipse at 50% 44%, #0A101E, #04060C);
  transition: opacity 0.8s ease;
  text-align: center; padding: 20px;
}
.overlay.fadeout { opacity: 0; pointer-events: none; }
.hidden { display: none !important; }
.load-name { font-size: 19px; font-weight: 800; letter-spacing: 0.35em; padding-left: 0.35em; }
.load-name span { display: block; font-family: var(--kq-font-mono); font-size: 9px; letter-spacing: 0.42em; color: var(--kq-dim); margin-top: 8px; }
.load-tip { font-family: var(--kq-font-mono); font-size: 10px; letter-spacing: 0.3em; color: var(--kq-dim); animation: pulse 2s infinite; }
#fallback p { max-width: 420px; color: var(--kq-dim); font-size: 13px; line-height: 1.8; white-space: pre-wrap; }
@keyframes pulse { 50% { opacity: 0.4; } }

/* ── HUD frame ── */
.hudframe { position: fixed; inset: 0; z-index: var(--kq-z-hud); pointer-events: none; }
.hc { position: absolute; width: 24px; height: 24px; border: 1px solid rgba(45,212,238,0.45); }
.hc.tl { top: 16px; left: 16px; border-right: 0; border-bottom: 0; }
.hc.tr { top: 16px; right: 16px; border-left: 0; border-bottom: 0; }
.hc.bl { bottom: 16px; left: 16px; border-right: 0; border-top: 0; }
.hc.br { bottom: 16px; right: 16px; border-left: 0; border-top: 0; }
.hud-read {
  position: absolute; bottom: 24px; left: 54px;
  font-family: var(--kq-font-mono); font-size: 10px;
  letter-spacing: var(--kq-track-hud); color: rgba(127,227,242,0.7);
}

/* ── nav：动态徽章 · 三段式 ── */
.nav {
  position: fixed; top: 0; left: 0; right: 0; z-index: var(--kq-z-nav);
  display: flex; align-items: center; justify-content: space-between;
  padding: 16px 46px;
}
.nav::before {  /* 顶部极淡暗化，保证亮场景下导航清晰 */
  content: ""; position: absolute; left: 0; right: 0; top: 0; height: 104px;
  background: linear-gradient(rgba(4, 6, 12, 0.55), transparent);
  pointer-events: none; z-index: -1;
}
.nav__brand {
  display: flex; align-items: center; gap: 14px;
  background: none; border: 0; color: var(--kq-ink); cursor: pointer;
  font-size: 18px; font-weight: 800; letter-spacing: 0.2em;
}
.nav__brand b { color: var(--kq-cyan); }
.brandmark { display: block; }
.bm-yao path { transition: stroke 0.3s; }
.nav__brand:hover .bm-yao path {
  stroke: #C9F4FB;
  stroke-dasharray: 48; animation: yaoflash 0.6s ease;
}
@keyframes yaoflash { from { stroke-dashoffset: 48; } to { stroke-dashoffset: 0; } }

.nav__links {
  position: absolute; left: 50%; top: 50%; transform: translate(-50%, -50%);
  display: flex; gap: 14px;
  width: max-content;  /* 绝对定位收缩适应只有半视口宽，不解除会导致全称折行 */
}
.nav__links button {
  position: relative;
  background: none; border: 0;
  /* 各业务用自身星系主题色的亮变体（--nac 内联注入），与星盘标注同一套色彩语言 */
  color: color-mix(in srgb, var(--nac, #C9D6E2) 72%, #FFFFFF 28%);
  font-size: 15.5px; font-weight: 700; letter-spacing: 0.16em;
  padding: 10px 16px; cursor: pointer; white-space: nowrap;
  text-shadow: 0 1px 6px rgba(0, 0, 0, 0.95), 0 0 18px rgba(0, 0, 0, 0.7);
  transition: color 0.25s, text-shadow 0.25s; font-family: var(--kq-font-cn);
}
.nav__links button:hover {
  color: #FFFFFF;
  text-shadow: 0 1px 6px rgba(0, 0, 0, 0.95), 0 0 16px var(--nac, rgba(45, 212, 238, 0.6));
}
.nav__links button.on {
  color: #FFFFFF;
  text-shadow: 0 1px 6px rgba(0, 0, 0, 0.95), 0 0 14px color-mix(in srgb, var(--nac, transparent) 55%, transparent);
}
.nav__links button.on::after {
  content: ""; position: absolute; left: 24%; right: 24%; bottom: 3px; height: 2px;
  background: var(--nac, var(--kq-cyan));
  box-shadow: 0 0 8px var(--nac, var(--kq-cyan));
}
.nav .cta {
  background: rgba(255, 179, 92, 0.08);
  border: 1px solid var(--kq-line-amber); color: #FFC98F;
  font-size: 14px; font-weight: 700; letter-spacing: 0.18em; padding: 10px 22px; cursor: pointer;
  text-shadow: 0 1px 6px rgba(0, 0, 0, 0.9);
  transition: all 0.25s;
}
.nav .cta:hover { background: rgba(255, 179, 92, 0.16); box-shadow: 0 0 18px rgba(255, 179, 92, 0.25); }

/* ── 无框光标注：锚环 + 斜引线 + 悬浮文字，无任何盒子 ── */
#labels { position: fixed; inset: 0; z-index: var(--kq-z-content); pointer-events: none; }
.glabel {
  position: absolute; width: 0; height: 0; overflow: visible;
  background: none; border: 0; padding: 0; cursor: pointer;
  color: var(--kq-ink);
  opacity: 0; transition: opacity 0.3s ease;
  pointer-events: none;
  transform-origin: 0 0;
}
.glabel__ring {
  position: absolute; left: -7px; top: -7px;
  width: 14px; height: 14px; border: 1px solid var(--gc, var(--kq-cyan));
  border-radius: 50%;
  transition: border-color 0.25s, box-shadow 0.25s;
}
.glabel__ring::after {
  content: ""; position: absolute; inset: -7px;
  border: 1px solid color-mix(in srgb, var(--gc, var(--kq-cyan)) 40%, transparent); border-radius: 50%;
  animation: ringpulse 2.4s infinite;
}
@keyframes ringpulse {
  0% { transform: scale(0.7); opacity: 1; }
  100% { transform: scale(1.5); opacity: 0; }
}
.glabel__lead { position: absolute; left: 4px; top: -36px; width: 64px; height: 36px; }
.glabel__lead path {
  fill: none; stroke: color-mix(in srgb, var(--gc, var(--kq-cyan)) 60%, transparent); stroke-width: 1;
  transition: stroke 0.25s;
}
/* 星系标注：中文名用各星系主题色亮变体（--gc 由 hud.js 注入），加大加粗，
   多层暗晕保证亮星系背景下可读 */
.glabel__tx {
  position: absolute; left: 36px; top: -60px; text-align: left; white-space: nowrap;
  font-size: 16px; font-weight: 800; letter-spacing: 0.26em;
  color: var(--gc, var(--kq-ink));
  text-shadow: 0 1px 4px rgba(0, 0, 0, 0.95), 0 0 12px rgba(0, 0, 0, 0.9), 0 0 26px rgba(0, 0, 0, 0.8);
  transition: color 0.25s;
}
.glabel__tx::before {  /* 柔和暗晕保证可读，非盒子 */
  content: ""; position: absolute; inset: -14px -26px;
  background: radial-gradient(ellipse at 30% 50%, rgba(4, 6, 12, 0.72), transparent 74%);
  z-index: -1;
}
.glabel__tx i {
  display: block; font-style: normal; font-family: var(--kq-font-mono);
  font-size: 9px; font-weight: 600; letter-spacing: 0.34em;
  color: var(--gc, var(--kq-dim)); opacity: 0.78; margin-top: 6px;
}
.glabel:hover .glabel__tx { color: #FFFFFF; }
.glabel:hover .glabel__lead path { stroke: var(--gc, var(--kq-cyan-soft)); }
.glabel:hover .glabel__ring {
  border-color: #FFFFFF;
  box-shadow: 0 0 12px color-mix(in srgb, var(--gc, var(--kq-amber)) 65%, transparent);
}
@media (max-width: 720px) {
  .glabel__tx { font-size: 13px; letter-spacing: 0.2em; }
  .glabel__tx i { font-size: 8px; }
}

/* ── hero beat ── */
#hero-beat {
  position: fixed; left: 7vw; top: 50%; transform: translateY(-50%) translateX(-16px);
  z-index: var(--kq-z-content); max-width: 560px; pointer-events: none;
  opacity: 0; transition: opacity 0.9s ease, transform 0.9s ease;
}
#hero-beat.show { opacity: 1; transform: translateY(-50%) translateX(0); }
.hb-kicker { font-family: var(--kq-font-mono); font-size: 11px; letter-spacing: var(--kq-track-kicker); color: var(--kq-cyan-soft); margin-bottom: 18px; }
#hero-beat h1 {
  font-size: clamp(30px, 4.6vw, 52px); font-weight: 800; line-height: 1.35;
  text-shadow: 0 4px 40px rgba(0,0,0,0.9);
}
#hero-beat h1 b { color: var(--kq-amber); }
#hero-beat p { margin-top: 16px; color: var(--kq-dim); font-size: 14px; letter-spacing: 0.12em; }

/* ── 启动幕布：盖住首帧编译/缓冲分配，预热完成后揭开 ── */
#boot-veil {
  position: fixed; inset: 0; z-index: calc(var(--kq-z-overlay) + 2);
  background: #04060C;
  transition: opacity 0.7s ease;
}
#boot-veil.gone { opacity: 0; pointer-events: none; }

/* ── 场景原生开场 ── */
#intro-ui {
  position: fixed; inset: 0; z-index: var(--kq-z-overlay);
  pointer-events: none;
}
#intro-canvas { position: absolute; inset: 0; width: 100%; height: 100%; }
#intro-brand {
  position: absolute; left: 50%; top: 68%; transform: translateX(-50%);
  text-align: center; opacity: 0; transition: opacity 0.6s ease; pointer-events: none;
}
#intro-brand.show { opacity: 1; }
#intro-brand .cn { font-size: clamp(24px, 3.6vw, 36px); font-weight: 800; letter-spacing: 0.35em; padding-left: 0.35em; }
#intro-brand .cn b { color: var(--kq-cyan); }
#intro-brand .en { font-family: var(--kq-font-mono); font-size: 10px; letter-spacing: 0.5em; color: var(--kq-dim); margin-top: 10px; }
#intro-brand .line { margin-top: 14px; font-size: 13px; color: var(--kq-ink); letter-spacing: 0.2em; opacity: 0.85; }
.intro-tip {
  position: absolute; bottom: 4.5vh; left: 50%; transform: translateX(-50%);
  font-family: var(--kq-font-mono); font-size: 10px; letter-spacing: 0.3em; color: var(--kq-dim);
  animation: pulse 2s infinite;
}

/* 开场期间导航整排与站点刻度隐藏（此时点击会被 intro 守卫吞掉，可见不可点更糟）；
   进入首页 #home-link 不在此列——它是开场期间唯一的可点出口。
   点击可用性由文件尾部「层级与点击通道」段统一管理（仅 intro-done 后按钮可点） */
.nav__brand, .nav__links, .stationbar { opacity: 0; transition: opacity 0.45s ease; }
body.intro-done .nav__brand, body.intro-done .nav__links, body.intro-done .stationbar { opacity: 1; }

/* ── 边缘推返 ── */
.edge-return {
  position: fixed; top: 0; bottom: 0; left: 0; width: 74px;
  z-index: var(--kq-z-hud); pointer-events: none;
  display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 12px;
  background: linear-gradient(90deg, rgba(45, 212, 238, 0.10), transparent);
  opacity: 0; transition: opacity 0.25s ease;
}
.edge-return--r { left: auto; right: 0; background: linear-gradient(-90deg, rgba(45, 212, 238, 0.10), transparent); }
.edge-return.show { opacity: 1; }
.edge-return svg { width: 40px; height: 40px; }
.er-track { fill: none; stroke: rgba(45, 212, 238, 0.25); stroke-width: 2; }
.er-fill {
  fill: none; stroke: var(--kq-amber); stroke-width: 2; stroke-linecap: round;
  stroke-dasharray: 100.5; stroke-dashoffset: 100.5;
  transform: rotate(-90deg); transform-origin: center;
}
.edge-return span {
  writing-mode: vertical-rl; font-family: var(--kq-font-mono);
  font-size: 10px; letter-spacing: 0.3em; color: var(--kq-cyan-soft);
}

/* ── 引力源常驻返回 ── */
#core-back {
  position: fixed; right: 30px; top: 50%; transform: translateY(-50%);
  z-index: var(--kq-z-nav);
  writing-mode: vertical-rl; padding: 16px 11px;
  background: rgba(11, 15, 26, 0.5); backdrop-filter: blur(6px);
  border: 1px solid var(--kq-line); color: var(--kq-cyan-soft);
  font-family: var(--kq-font-mono); font-size: 11px; letter-spacing: 0.3em;
  cursor: pointer; opacity: 0; pointer-events: none; transition: all 0.4s ease;
}
#core-back.show { opacity: 1; pointer-events: auto; }
#core-back:hover { color: var(--kq-amber); border-color: var(--kq-line-amber); }

/* ── 站点指示器 ── */
.stationbar {
  position: fixed; left: 50%; bottom: 3.6vh; transform: translateX(-50%);
  z-index: var(--kq-z-nav); text-align: center;
}
#ticks { display: flex; gap: 10px; justify-content: center; }
.tick {
  width: 26px; height: 3px; border: 0; cursor: pointer;
  background: rgba(232, 237, 242, 0.18); transition: background 0.3s;
}
.tick:hover { background: rgba(127, 227, 242, 0.6); }
.tick.on { background: var(--kq-amber); box-shadow: 0 0 8px rgba(255, 179, 92, 0.6); }
#stname {
  margin-top: 10px; font-family: var(--kq-font-mono);
  font-size: 10px; letter-spacing: 0.3em; color: var(--kq-dim);
}

/* ── 星系聚光舞台：内容居中站 C 位，全屏追光暗化，无任何板 ── */
.panel {
  --pac: var(--kq-amber);
  position: fixed; inset: 0; z-index: var(--kq-z-nav);
  display: flex;
  background: radial-gradient(ellipse at 50% 44%,
    rgba(4, 6, 12, 0.66) 0%, rgba(4, 6, 12, 0.58) 42%, rgba(4, 6, 12, 0.86) 100%);
  opacity: 0; pointer-events: none;
  transition: opacity 0.55s ease;
  overflow-y: auto; overscroll-behavior: contain;
  scrollbar-width: none;
  padding: 96px 24px 64px;
}
.panel::-webkit-scrollbar { display: none; }
.panel.open { opacity: 1; pointer-events: auto; }
.panel__x {
  position: absolute; top: 92px; right: 46px; z-index: 2;
  background: none; border: 1px solid var(--kq-line); color: var(--kq-dim);
  font-family: var(--kq-font-mono); font-size: 10px; letter-spacing: 0.2em;
  padding: 8px 16px; cursor: pointer;
  transition: color 0.25s, border-color 0.25s;
}
.panel__x:hover { color: var(--kq-cyan-soft); border-color: var(--kq-cyan); }
.p-in { width: min(760px, 94vw); margin: auto; text-align: center; }
/* 逐项上浮入场 */
.p-in > * { opacity: 0; transform: translateY(12px); transition: opacity 0.5s ease, transform 0.5s ease; }
.panel.open .p-in > * { opacity: 1; transform: none; }
.panel.open .p-in > *:nth-child(1) { transition-delay: 0.06s; }
.panel.open .p-in > *:nth-child(2) { transition-delay: 0.12s; }
.panel.open .p-in > *:nth-child(3) { transition-delay: 0.18s; }
.panel.open .p-in > *:nth-child(4) { transition-delay: 0.24s; }
.panel.open .p-in > *:nth-child(5) { transition-delay: 0.30s; }
.panel.open .p-in > *:nth-child(6) { transition-delay: 0.36s; }
.panel.open .p-in > *:nth-child(7) { transition-delay: 0.42s; }
.panel.open .p-in > *:nth-child(8) { transition-delay: 0.48s; }
.panel.open .p-in > *:nth-child(9) { transition-delay: 0.54s; }

.p-tag {
  font-family: var(--kq-font-mono); font-size: 11px;
  letter-spacing: 0.42em; color: var(--kq-cyan); margin-bottom: 22px;
}
.panel h2 {
  font-size: clamp(40px, 5.8vw, 64px); font-weight: 900;
  line-height: 1.3; letter-spacing: 0.02em;
  text-shadow: 0 4px 34px rgba(0, 0, 0, 0.8);
}
.panel h2 b { color: var(--pac); }
.p-rule {
  display: block; width: 76px; height: 2px; margin: 24px auto 20px;
  background: linear-gradient(90deg, transparent, var(--pac), transparent);
}
.p-lead { color: #D9E3EC; font-size: 18px; line-height: 1.9; }

/* 四步：keynote 横向时间线 */
.p-steps {
  list-style: none; margin-top: 38px;
  display: grid; grid-template-columns: repeat(4, 1fr);
}
.p-steps li { padding: 6px 20px; border-left: 1px solid rgba(255, 255, 255, 0.10); }
.p-steps li:first-child { border-left: 0; }
.p-steps i {
  font-family: var(--kq-font-mono); font-style: normal;
  font-size: 18px; color: var(--pac); letter-spacing: 0.1em;
}
.p-steps b { display: block; font-size: 19px; font-weight: 800; margin-top: 13px; letter-spacing: 0.05em; }
.p-steps span { display: block; font-size: 13.5px; color: #A7B2BD; margin-top: 10px; line-height: 1.8; }

.p-sub {
  font-family: var(--kq-font-mono); font-size: 10px;
  letter-spacing: 0.36em; color: var(--kq-cyan-soft); margin: 38px 0 14px;
}
.p-read { font-family: var(--kq-font-mono); font-size: 15px; line-height: 2.15; color: #E4EDF4; }
.p-read i { font-style: normal; font-size: 12px; color: var(--kq-cyan-soft); }

.p-case {
  margin: 34px auto 0; max-width: 500px; text-align: left;
  border-left: 2px solid var(--pac); padding: 4px 0 4px 22px;
}
.p-case__tag {
  font-family: var(--kq-font-mono); font-size: 9px;
  letter-spacing: 0.3em; color: var(--pac); margin-bottom: 8px;
}
.p-case b { font-size: 18px; }
.p-case p { font-size: 14px; color: #A7B2BD; margin-top: 8px; line-height: 1.9; }

.p-note {
  display: inline-block; margin-top: 30px;
  font-family: var(--kq-font-mono); font-size: 10px;
  letter-spacing: 0.2em; color: var(--kq-dim);
  border-left: 2px solid rgba(255, 255, 255, 0.12); padding-left: 12px;
}
.p-cta {
  display: inline-block; margin-top: 44px; padding: 17px 78px;
  background: none; border: 1px solid var(--pac); color: var(--pac);
  font-size: 15px; letter-spacing: 0.34em; cursor: pointer;
  transition: box-shadow 0.3s, background 0.3s;
}
.p-cta:hover {
  background: color-mix(in srgb, var(--pac) 10%, transparent);
  box-shadow: 0 0 28px color-mix(in srgb, var(--pac) 32%, transparent),
              inset 0 0 16px color-mix(in srgb, var(--pac) 12%, transparent);
}
@media (max-width: 900px) {
  .p-steps { grid-template-columns: 1fr 1fr; row-gap: 28px; }
  .p-steps li:nth-child(3) { border-left: 0; }
}
@media (max-width: 560px) {
  .panel h2 { font-size: 34px; }
  .p-steps { grid-template-columns: 1fr; }
  .p-steps li {
    border-left: 0; border-top: 1px solid rgba(255, 255, 255, 0.08);
    padding: 18px 0 0; margin-top: 18px;
  }
  .p-steps li:first-child { border-top: 0; margin-top: 0; padding-top: 0; }
}

/* ── toast ── */
#toast {
  position: fixed; left: 50%; bottom: 9vh; transform: translateX(-50%);
  z-index: var(--kq-z-toast);
  background: rgba(11,15,26,0.9); border: 1px solid var(--kq-line);
  color: var(--kq-cyan-soft); font-size: 12px; letter-spacing: 0.12em;
  padding: 10px 22px; opacity: 0; pointer-events: none; transition: opacity 0.3s;
}
#toast.show { opacity: 1; }

/* ── mobile ── */
@media (max-width: 720px) {
  .nav { padding: 12px 16px; }
  .nav__brand span { display: none; }
  .brandmark { height: 38px; }
  .nav__links { position: static; transform: none; gap: 2px; }
  .nav__links button { padding: 8px 8px; font-size: 11px; letter-spacing: 0.08em; }
  .nav .cta { padding: 8px 12px; font-size: 11px; letter-spacing: 0.1em; }
  #hero-beat { left: 6vw; right: 6vw; max-width: none; }
  .panel { padding: 84px 18px 48px; }
  .hud-read { left: 18px; bottom: 46px; }
}

/* ═══════════════════════════════════════════════════════════
   开场门厅整合（2026-07-27）：进入首页 / 三列步骤 / 答案核心
   ═══════════════════════════════════════════════════════════ */

/* ── 进入首页：常驻右上，z 高于开场层（overlay=40），动画期间同样可点。
      设计语言与 HUD 统一：半透明深底 + 琥珀描边 + 角标 + 呼吸光（全场唯一角标按钮，醒目但不突兀）── */
#home-link {
  position: fixed; top: 20px; right: 46px;
  z-index: calc(var(--kq-z-overlay) + 1);
  display: inline-flex; align-items: center; gap: 10px;
  padding: 12px 22px; padding-left: calc(22px + 0.3em);
  background: rgba(11, 15, 26, 0.5);
  backdrop-filter: blur(8px); -webkit-backdrop-filter: blur(8px);
  border: 1px solid rgba(255, 179, 92, 0.5);
  color: var(--kq-amber); text-decoration: none;
  font-size: 15px; font-weight: 600; letter-spacing: 0.3em;
  text-shadow: 0 0 14px rgba(255, 179, 92, 0.35);
  animation: homebreathe 3s ease-in-out infinite;
  transition: background 0.25s ease, color 0.25s ease, box-shadow 0.25s ease;
}
/* HUD 角标：呼应 .hc 框角语言 */
#home-link::before {
  content: ""; position: absolute; top: -5px; left: -5px; width: 12px; height: 12px;
  border-top: 1px solid var(--kq-amber); border-left: 1px solid var(--kq-amber); opacity: 0.85;
}
#home-link::after {
  content: ""; position: absolute; bottom: -5px; right: -5px; width: 12px; height: 12px;
  border-bottom: 1px solid var(--kq-amber); border-right: 1px solid var(--kq-amber); opacity: 0.85;
}
#home-link span { font-weight: 400; transition: transform 0.25s ease; }
#home-link:hover {
  background: rgba(255, 179, 92, 0.14);
  color: #FFD9A8;
  box-shadow: 0 0 30px rgba(255, 179, 92, 0.45), inset 0 0 14px rgba(255, 179, 92, 0.10);
  animation-play-state: paused;
}
#home-link:hover span { transform: translateX(4px); }
@keyframes homebreathe {
  0%, 100% { box-shadow: 0 0 12px rgba(255, 179, 92, 0.14); border-color: rgba(255, 179, 92, 0.42); }
  50%      { box-shadow: 0 0 26px rgba(255, 179, 92, 0.42); border-color: rgba(255, 179, 92, 0.85); }
}

/* ── 三列步骤（建站/系统/AI定制 面板）── */
.p-steps--3 { grid-template-columns: repeat(3, 1fr); }

/* ── 面板主 CTA 由 button 改 a 后的通用修正 ── */
a.p-cta { text-decoration: none; }

/* ── 面板次级链接：进入首页查看详情 ── */
.p-more {
  display: block; margin-top: 20px;
  font-size: 13px; letter-spacing: 0.2em; color: var(--kq-dim);
  text-decoration: none; transition: color 0.25s;
}
.p-more:hover { color: var(--kq-cyan-soft); }

/* ── 答案核心（SC.07）转化入口 ── */
#core-cta {
  position: fixed; left: 50%; top: 50%; transform: translate(-50%, -46%);
  z-index: var(--kq-z-nav); text-align: center;
  width: min(560px, 88vw);  /* 绝对定位收缩适应只有半视口，须显式给宽 */
  opacity: 0; pointer-events: none;
  transition: opacity 0.6s ease, transform 0.6s ease;
}
#core-cta.show { opacity: 1; pointer-events: auto; transform: translate(-50%, -50%); }
#core-cta .cc-kicker {
  font-family: var(--kq-font-mono); font-size: 11px;
  letter-spacing: 0.42em; color: var(--kq-amber); margin-bottom: 20px;
}
#core-cta h3 {
  font-size: clamp(28px, 4vw, 42px); font-weight: 900; line-height: 1.4;
  text-shadow: 0 4px 34px rgba(0, 0, 0, 0.85);
}
#core-cta p { margin-top: 14px; color: var(--kq-dim); font-size: 14px; letter-spacing: 0.1em; }
#core-cta .p-cta { --pac: var(--kq-amber); margin-top: 34px; padding: 16px 52px; }

/* ── 移动端：导航全称独占顶行；进入首页悬浮在导航行下方右侧 ── */
@media (max-width: 720px) {
  #home-link {
    top: 64px; right: 12px;
    padding: 8px 12px; padding-left: calc(12px + 0.14em);
    font-size: 12px; letter-spacing: 0.14em; gap: 6px;
  }
  .nav__links .cta { display: none; }
  .nav__links button {
    font-size: 10.5px; font-weight: 600; letter-spacing: 0.04em;
    padding: 8px 5px;
  }
  .nav__links { gap: 2px; }
}

/* ── 移动端修正：三列步骤降为单列（追加规则在文件尾，需自带移动端分支）── */
@media (max-width: 720px) {
  .p-steps--3 { grid-template-columns: 1fr; }
  .p-steps--3 li {
    border-left: 0; border-top: 1px solid rgba(255, 255, 255, 0.08);
    padding: 18px 0 0; margin-top: 18px;
  }
  .p-steps--3 li:first-child { border-top: 0; margin-top: 0; padding-top: 0; }
  /* 返回轨道按钮：下移到「进入首页」(top:64,高约34px)之下，互不遮挡；内容随之下移 */
  .panel { padding-top: 152px; }
  .panel__x { top: 106px; right: 12px; }
  /* 答案核心 CTA 收窄内边距，保证 88vw 内单行 */
  #core-cta .p-cta { padding: 16px 28px; }
}

/* ═══ 层级与点击通道（2026-07-27 审查修复）═══ */
/* 面板打开时导航与站点刻度被同层面板盖住：抬高一层。
   条本体放行点击（空白区不拦截面板的"点空白返回轨道"），仅按钮接收；
   开场期间按钮不可点（与隐藏状态一致），intro-done 后恢复 */
.nav, .stationbar { z-index: calc(var(--kq-z-nav) + 2); pointer-events: none; }
.nav__links { pointer-events: none; }
body.intro-done .nav button,
body.intro-done .stationbar button { pointer-events: auto; }

/* ── 中间宽度断点（721–1240px：iPad 竖/横屏、小窗桌面）：全称导航压缩，防止与两侧碰撞 ── */
@media (max-width: 1240px) and (min-width: 721px) {
  .nav { padding: 16px 30px; }
  .nav__links { gap: 4px; }
  .nav__links button { font-size: 12.5px; letter-spacing: 0.06em; padding: 8px 8px; }
  .nav__links .cta { font-size: 12.5px; letter-spacing: 0.08em; padding: 8px 12px; }
  #home-link { right: 30px; font-size: 13px; letter-spacing: 0.2em; padding: 10px 16px; }
}
/* 更窄的平板竖屏段：获取方案让位（面板与答案核心内均有同款 CTA，不损转化） */
@media (max-width: 880px) and (min-width: 721px) {
  .nav__links .cta { display: none; }
  .nav__brand span { display: none; }
}

/* ═══ 引力源宣言 · 光之五行（2026-07-27 文案定稿；二轮：主体加强）═══ */
#hero-beat { max-width: 620px; }
#hero-beat::before {  /* 宣言主体的柔和暗晕：把文字从星海中托出来 */
  content: ""; position: absolute; inset: -60px -90px -60px -70px;
  background: radial-gradient(ellipse at 42% 50%, rgba(4, 6, 12, 0.66), rgba(4, 6, 12, 0.3) 55%, transparent 76%);
  z-index: -1;
}
#hero-beat .hb-ask {
  font-size: clamp(34px, 5vw, 58px); line-height: 1.25;
  text-shadow: 0 2px 10px rgba(0, 0, 0, 0.95), 0 4px 40px rgba(0, 0, 0, 0.9);
}
#hero-beat .hb-lines {
  margin-top: 20px; color: #DCE6EF;
  font-size: clamp(19px, 2.1vw, 25px); line-height: 1.95; letter-spacing: 0.1em;
  text-shadow: 0 1px 6px rgba(0, 0, 0, 0.9);
}
#hero-beat .hb-shine {
  margin-top: 12px;
  font-size: clamp(34px, 5.4vw, 62px); font-weight: 900; line-height: 1.35;
  color: var(--kq-amber);
  animation: shinebreath 4s ease-in-out infinite;  /* 「发光的那部分」字面意义地发光 */
}
#hero-beat .hb-sign {
  margin-top: 24px; color: var(--kq-ink);
  /* 字距与左上角品牌一致的紧凑观感 */
  font-size: clamp(22px, 2.2vw, 28px); font-weight: 800; letter-spacing: 0.06em;
  display: flex; align-items: center; gap: 14px;
}
#hero-beat .hb-sign b { color: var(--kq-cyan); }
#hero-beat .hb-mark { height: clamp(40px, 3.6vw, 52px); width: auto; flex: none; filter: drop-shadow(0 0 12px rgba(45, 212, 238, 0.35)); }
@keyframes shinebreath {
  0%, 100% { text-shadow: 0 0 22px rgba(255, 179, 92, 0.35), 0 4px 40px rgba(0, 0, 0, 0.9); }
  50%      { text-shadow: 0 0 46px rgba(255, 179, 92, 0.75), 0 4px 40px rgba(0, 0, 0, 0.9); }
}
