/* =========================================================
 * 灰度湾 V2 · AI驱动的科技项目商业化成长平台
 * 设计语言：浅色纸面 + 石墨墨色 + 科技蓝点缀
 * ========================================================= */
:root {
  --ink: #16181d;
  --ink-2: #3d424d;
  --ink-3: #6b7280;
  --line: #e6e8ee;
  --paper: #f7f8fa;
  --card: #ffffff;
  --accent: #2456e6;
  --accent-deep: #173cae;
  --accent-soft: #eaf0ff;
  --gold: #b98a2f;
  --gold-soft: #faf3e3;
  --green: #0e9f6e;
  --radius: 16px;
  --shadow: 0 8px 30px rgba(22, 24, 29, .07);
  --shadow-lg: 0 20px 60px rgba(22, 24, 29, .12);
  --font: "PingFang SC", "Microsoft YaHei", "Noto Sans SC", -apple-system, sans-serif;
}
* { margin: 0; padding: 0; box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  font-family: var(--font);
  color: var(--ink);
  background: var(--paper);
  line-height: 1.7;
  -webkit-font-smoothing: antialiased;
}
img { max-width: 100%; }
a { color: inherit; text-decoration: none; }
ul { list-style: none; }
.wrap { max-width: 1160px; margin: 0 auto; padding: 0 24px; }

/* ---------- 通用 ---------- */
.eyebrow {
  display: inline-flex; align-items: center; gap: 8px;
  font-size: 13px; font-weight: 600; letter-spacing: .12em;
  color: var(--accent); text-transform: uppercase;
  padding: 6px 14px; border-radius: 999px;
  background: var(--accent-soft);
  margin-bottom: 18px;
}
.sec-title { font-size: clamp(28px, 4vw, 40px); font-weight: 800; line-height: 1.3; letter-spacing: -.01em; }
.sec-sub { color: var(--ink-3); font-size: 17px; margin-top: 14px; max-width: 640px; }
.sec-head { margin-bottom: 48px; }
.sec-head.center { text-align: center; }
.sec-head.center .sec-sub { margin-left: auto; margin-right: auto; }
section { padding: 96px 0; }

.btn {
  display: inline-flex; align-items: center; justify-content: center; gap: 8px;
  padding: 14px 30px; border-radius: 999px;
  font-size: 15px; font-weight: 600; cursor: pointer;
  border: 1.5px solid transparent; transition: all .25s ease;
  font-family: var(--font);
}
.btn-primary { background: var(--accent); color: #fff; box-shadow: 0 8px 24px rgba(36, 86, 230, .35); }
.btn-primary:hover { background: var(--accent-deep); transform: translateY(-2px); }
.btn-ghost { border-color: var(--line); color: var(--ink); background: #fff; }
.btn-ghost:hover { border-color: var(--ink); transform: translateY(-2px); }
.btn-dark { background: var(--ink); color: #fff; }
.btn-dark:hover { background: #000; transform: translateY(-2px); }

/* ---------- 导航 ---------- */
.nav {
  position: fixed; inset: 0 0 auto 0; z-index: 100;
  background: rgba(247, 248, 250, .85);
  backdrop-filter: blur(14px); -webkit-backdrop-filter: blur(14px);
  border-bottom: 1px solid transparent;
  transition: border-color .3s;
}
.nav.scrolled { border-bottom-color: var(--line); }
.nav-inner { display: flex; align-items: center; height: 68px; gap: 32px; }
.logo { display: flex; align-items: center; gap: 10px; font-weight: 800; font-size: 19px; letter-spacing: .02em; }
.logo-mark {
  width: 34px; height: 34px; border-radius: 10px;
  background: linear-gradient(135deg, #2b303b 0%, #16181d 60%);
  display: grid; place-items: center; color: #fff; font-size: 15px; font-weight: 800;
  position: relative; overflow: hidden;
}
.logo-mark::after {
  content: ""; position: absolute; right: -6px; bottom: -6px;
  width: 18px; height: 18px; border-radius: 50%;
  background: var(--accent); opacity: .9;
}
.logo small { font-size: 11px; color: var(--ink-3); font-weight: 500; letter-spacing: .1em; }
.nav-links { display: flex; gap: 20px; margin-left: auto; font-size: 14px; color: var(--ink-2); }
.nav-links a { position: relative; padding: 4px 0; white-space: nowrap; }
.nav-links a:hover { color: var(--accent); }
.nav-actions { display: flex; align-items: center; gap: 10px; margin-left: 22px; }
.nav-cta { padding: 9px 20px; font-size: 14px; }
.nav-login { padding: 9px 20px; font-size: 14px; background: transparent; }
.nav-login:hover { border-color: var(--ink); transform: none; }
.nav-toggle { display: none; margin-left: auto; background: none; border: 0; font-size: 22px; cursor: pointer; }
@media (max-width: 1080px) {
  .nav-links { gap: 14px; font-size: 13px; }
  .nav-actions { margin-left: 12px; }
}
@media (max-width: 900px) {
  .nav-links { display: none; }
  .nav-toggle { display: block; }
  .nav-links.open {
    display: flex; flex-direction: column; gap: 14px;
    position: absolute; top: 68px; left: 0; right: 0;
    background: #fff; padding: 20px 24px 28px; border-bottom: 1px solid var(--line);
  }
  .nav-actions { display: none; }
}

/* ---------- Hero ---------- */
.hero {
  padding: 180px 0 110px;
  background:
    radial-gradient(900px 480px at 85% -10%, rgba(36, 86, 230, .10), transparent 60%),
    radial-gradient(700px 420px at 0% 20%, rgba(185, 138, 47, .08), transparent 60%),
    var(--paper);
  position: relative; overflow: hidden;
}
.hero-net {
  position: absolute; inset: 0; width: 100%; height: 100%;
  pointer-events: none; z-index: 0;
}
.hero .wrap { position: relative; z-index: 1; }
.hero-center { text-align: center; max-width: 920px; }
.hero h1 { font-size: clamp(36px, 5.2vw, 58px); font-weight: 800; line-height: 1.25; letter-spacing: -.015em; }
.hero h1 .grad {
  background: linear-gradient(120deg, var(--accent), #5f8bff);
  -webkit-background-clip: text; background-clip: text; -webkit-text-fill-color: transparent;
}
.hero-kws {
  margin-top: 26px; display: flex; flex-wrap: wrap; justify-content: center;
  gap: 6px 10px; font-size: clamp(17px, 2.4vw, 24px); font-weight: 800;
}
.hero-kws span {
  background: linear-gradient(120deg, var(--accent), #5f8bff);
  -webkit-background-clip: text; background-clip: text; -webkit-text-fill-color: transparent;
  letter-spacing: .02em;
}
.hero-kws i { font-style: normal; color: #c9cedb; font-weight: 300; }
.hero-sub { font-size: clamp(18px, 2.2vw, 22px); color: var(--accent); font-weight: 600; margin: 18px auto 0; letter-spacing: .01em; }
.beta-badge {
  display: inline-block; margin: 22px auto 0; padding: 7px 18px;
  font-size: 14px; font-weight: 600; letter-spacing: .03em;
  color: #8a6a1f; background: rgba(185, 138, 47, .14);
  border: 1px solid rgba(185, 138, 47, .38); border-radius: 999px;
}
.hero-tag { font-size: 17px; color: var(--ink-2); margin: 26px auto 0; max-width: 640px; }
.hero-tag strong { color: var(--accent); }
.br-pc { display: none; }
@media (min-width: 720px) { .br-pc { display: inline; } }

/* Hero 核心输入框 */
.hero-inputbox {
  margin: 44px auto 0; max-width: 780px;
  background: var(--card); border: 1px solid var(--line);
  border-radius: 22px; box-shadow: var(--shadow-lg); padding: 22px;
  position: relative; text-align: left;
}
.hero-inputbox::before {
  content: ""; position: absolute; inset: -1px; border-radius: 23px; z-index: -1;
  background: linear-gradient(140deg, rgba(36,86,230,.4), transparent 40%, rgba(185,138,47,.35));
}
.hi-prompt {
  font-size: 19px; font-weight: 800; color: var(--ink);
  margin-bottom: 14px; display: flex; align-items: center; gap: 10px;
}
.hi-prompt::before {
  content: ""; width: 4px; height: 20px; border-radius: 2px;
  background: linear-gradient(180deg, var(--accent), #5f8bff); flex: none;
}
.hero-input-row { display: flex; gap: 12px; }
.hero-input-row textarea {
  flex: 1; resize: none; border-radius: 14px;
  border: 1px solid var(--line); background: var(--paper);
  color: var(--ink); font-family: var(--font); font-size: 16px;
  padding: 16px 18px; line-height: 1.6; outline: none; transition: border-color .25s;
}
.hero-input-row textarea:focus { border-color: var(--accent); }
.hero-input-row textarea::placeholder { color: #a0a7b4; font-size: 16px; }
.hero-examples { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 14px; }
.hero-examples button {
  font-size: 12.5px; color: var(--ink-2); background: var(--paper);
  border: 1px solid var(--line); border-radius: 999px;
  padding: 7px 14px; cursor: pointer; font-family: var(--font); transition: all .2s;
}
.hero-examples button:hover { color: var(--accent); border-color: var(--accent); background: var(--accent-soft); }

.hero-proof { display: flex; justify-content: center; gap: 48px; margin-top: 48px; }
.hero-proof .num { font-size: 26px; font-weight: 800; }
.hero-proof .num span { color: var(--accent); }
.hero-proof .lbl { font-size: 13px; color: var(--ink-3); margin-top: 2px; }
.hero-capability-note {
  max-width: 680px; margin: 20px auto 0;
  font-size: 12.5px; line-height: 1.7; color: var(--ink-3);
  padding: 10px 14px; background: var(--gold-soft);
  border: 1px solid #f0e2c0; border-radius: 10px; text-align: left;
}
.hero-capability-note b { color: #916a17; }
.hero-btns { display: flex; gap: 14px; margin-top: 36px; flex-wrap: wrap; justify-content: center; }
.btn-demo {
  border: 1.5px solid rgba(36, 86, 230, .45); color: var(--accent); background: #fff;
  box-shadow: 0 4px 16px rgba(36, 86, 230, .12);
}
.btn-demo:hover { background: var(--accent-soft); border-color: var(--accent); transform: translateY(-2px); }

/* ---------- Hero 真实成果 · 客户见证 ---------- */
.hero-stories { margin-top: 48px; text-align: left; }
.hs-head { text-align: center; margin-bottom: 22px; }
.hs-eyebrow {
  display: inline-block; font-size: 12.5px; font-weight: 700; letter-spacing: .12em;
  color: var(--green); padding: 5px 14px; border-radius: 999px;
  background: rgba(14, 159, 110, .1); border: 1px solid rgba(14, 159, 110, .28);
  margin-bottom: 10px;
}
.hs-head h3 { font-size: clamp(18px, 2.4vw, 24px); font-weight: 800; color: var(--ink); letter-spacing: -.01em; }
.hs-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 18px; }
.hs-card {
  background: var(--card); border: 1px solid var(--line); border-radius: var(--radius);
  padding: 24px 22px; position: relative; overflow: hidden;
  transition: transform .3s ease, box-shadow .3s ease;
}
.hs-card:hover { transform: translateY(-4px); box-shadow: var(--shadow-lg); }
.hs-card::before {
  content: ""; position: absolute; left: 0; top: 0; bottom: 0; width: 3px;
}
.hs-card:nth-child(1)::before { background: var(--accent); }
.hs-card:nth-child(2)::before { background: var(--green); }
.hs-card:nth-child(3)::before { background: var(--gold); }
.hs-tag { display: inline-block; font-size: 12px; font-weight: 700; padding: 3px 12px; border-radius: 999px; margin-bottom: 14px; }
.hs-tag-blue { color: var(--accent); background: var(--accent-soft); }
.hs-tag-green { color: var(--green); background: rgba(14, 159, 110, .1); }
.hs-tag-gold { color: #8a6a1f; background: var(--gold-soft); }
.hs-body { font-size: 14.5px; line-height: 1.8; color: var(--ink-2); }
.hs-hl { color: var(--accent); font-weight: 700; }
.hs-meta { margin-top: 16px; font-size: 12px; color: var(--green); font-weight: 600; letter-spacing: .03em; }

/* ---------- Hero 微信分享入口 ---------- */
.hero-share { margin-top: 26px; display: flex; align-items: center; justify-content: center; gap: 14px; flex-wrap: wrap; }
.hs-share-btn {
  display: inline-flex; align-items: center; gap: 8px;
  padding: 12px 24px; border-radius: 999px; font-size: 14.5px; font-weight: 600;
  color: var(--accent); background: #fff; border: 1.5px solid var(--line);
  cursor: pointer; font-family: var(--font); transition: all .25s ease;
}
.hs-share-btn:hover { border-color: var(--accent); background: var(--accent-soft); transform: translateY(-2px); }
.hs-share-tip { font-size: 13px; color: var(--ink-3); }

/* ---------- 分享二维码弹窗 ---------- */
.share-qr-modal .gdw-modal { text-align: center; max-width: 400px; max-height: calc(100dvh - 32px); overflow-y: auto; padding: 36px 30px 30px; position: relative; }
.share-qr-modal .gdw-modal::before {
  content: ""; position: absolute; left: 0; right: 0; top: 0; height: 4px;
  background: linear-gradient(90deg, var(--accent), #5f8bff, var(--gold));
}
.sq-head { display: flex; flex-direction: column; align-items: center; gap: 4px; }
.sq-logo {
  width: 46px; height: 46px; border-radius: 13px; margin-bottom: 8px;
  background: linear-gradient(135deg, #2b303b 0%, #16181d 60%);
  display: grid; place-items: center; color: #fff; font-size: 19px; font-weight: 800;
  position: relative; overflow: hidden; box-shadow: 0 6px 18px rgba(22,24,29,.25);
}
.sq-logo::after {
  content: ""; position: absolute; right: -8px; bottom: -8px;
  width: 22px; height: 22px; border-radius: 50%;
  background: var(--accent); opacity: .9;
}
.sq-head h3 { font-size: 19px; font-weight: 800; color: var(--ink); letter-spacing: -.01em; }
.sq-sub { font-size: 13.5px; color: var(--ink-3); }
.share-qr-box {
  margin: 22px auto 10px; width: 216px; height: 216px; padding: 14px;
  background: #fff; border: 1px solid var(--line); border-radius: 18px;
  box-shadow: 0 10px 36px rgba(22, 24, 29, .12); display: flex; align-items: center; justify-content: center;
  position: relative;
}
.share-qr-box::after {
  content: ""; position: absolute; inset: -6px; border-radius: 22px; z-index: -1;
  background: linear-gradient(140deg, rgba(36,86,230,.28), transparent 45%, rgba(185,138,47,.24));
}
.share-qr-box canvas, .share-qr-box img { width: 100%; height: 100%; display: block; image-rendering: pixelated; }
.sq-caption { font-size: 12px; color: var(--ink-3); margin-bottom: 14px; letter-spacing: .04em; line-height: 1.7; }
.share-qr-url {
  margin: 0 auto; max-width: 100%; font-size: 12.5px; color: var(--ink-2);
  word-break: break-all; padding: 10px 14px; background: var(--paper);
  border-radius: 10px; border: 1px dashed var(--line); user-select: all; cursor: text;
}
.share-qr-actions { margin-top: 20px; display: flex; gap: 12px; justify-content: center; flex-wrap: wrap; }
.share-qr-actions .btn { padding: 11px 24px; font-size: 14px; }

/* 手机端：紧凑排版，确保按钮完整可见可点 */
@media (max-width: 640px) {
  .gdw-modal-mask { padding: 14px; align-items: end; }
  .share-qr-modal .gdw-modal {
    max-width: 100%; max-height: calc(100dvh - 28px);
    padding: 28px 20px 22px; border-radius: 20px;
  }
  .sq-head h3 { font-size: 17px; }
  .sq-sub { font-size: 12.5px; }
  .sq-logo { width: 40px; height: 40px; font-size: 17px; margin-bottom: 6px; }
  .share-qr-box { width: 178px; height: 178px; padding: 11px; margin: 16px auto 8px; }
  .sq-caption { font-size: 11.5px; margin-bottom: 10px; }
  .share-qr-url { font-size: 12px; padding: 9px 12px; }
  .share-qr-actions { margin-top: 14px; gap: 10px; }
  .share-qr-actions .btn { padding: 11px 18px; font-size: 13.5px; flex: 1; min-width: 130px; }
}

@media (max-width: 860px) {
  .hs-grid { grid-template-columns: 1fr; }
}

/* ---------- 六大机会入口 ---------- */
.types-grid { display: grid; grid-template-columns: repeat(5, 1fr); gap: 18px; }
.types-grid.six { grid-template-columns: repeat(3, 1fr); }
.type-card {
  background: var(--card); border: 1px solid var(--line); border-radius: var(--radius);
  padding: 28px 22px; transition: all .3s ease; position: relative; overflow: hidden;
}
.type-card:hover { transform: translateY(-6px); box-shadow: var(--shadow-lg); border-color: transparent; }
.type-card::after {
  content: ""; position: absolute; left: 0; right: 0; bottom: 0; height: 3px;
  background: var(--accent); transform: scaleX(0); transition: transform .3s; transform-origin: left;
}
.type-card:hover::after { transform: scaleX(1); }
.type-icon { font-size: 30px; margin-bottom: 14px; }
.type-card h3 { font-size: 18px; font-weight: 700; margin-bottom: 8px; }
.type-card p { font-size: 13.5px; color: var(--ink-3); line-height: 1.65; }
.type-card.entry { display: flex; flex-direction: column; cursor: pointer; min-height: 190px; }
.entry-no {
  font-size: 15px; font-weight: 800; color: var(--accent);
  width: 34px; height: 34px; border-radius: 10px; background: var(--accent-soft);
  display: grid; place-items: center; margin-bottom: 14px;
}
.entry-go {
  margin-top: auto; padding-top: 14px;
  font-size: 13px; font-weight: 700; color: var(--accent);
  opacity: 0; transform: translateX(-6px); transition: all .3s;
}
.type-card.entry:hover .entry-go { opacity: 1; transform: none; }
.entry-formula {
  margin: 44px auto 0; max-width: 860px; text-align: center;
  background: linear-gradient(150deg, #101319, #1d2333); color: #fff;
  border-radius: 20px; padding: 30px 32px; box-shadow: var(--shadow-lg);
}
.entry-formula .f-item {
  display: inline-block; font-size: 15px; font-weight: 700;
  padding: 8px 18px; border-radius: 999px;
  background: rgba(255,255,255,.08); border: 1px solid rgba(255,255,255,.12);
}
.entry-formula .f-item.hl { background: rgba(95,139,255,.2); border-color: #5f8bff; color: #b9ccff; }
.entry-formula .f-arrow { color: #5f8bff; font-weight: 800; margin: 0 8px; }
.entry-formula p { margin-top: 16px; font-size: 13px; color: #9aa3b2; }
@media (max-width: 1000px) { .types-grid, .types-grid.six { grid-template-columns: repeat(3, 1fr); } }
@media (max-width: 640px) {
  .types-grid, .types-grid.six { grid-template-columns: repeat(2, 1fr); }
  .entry-formula .f-arrow { margin: 0 4px; }
  .entry-formula .f-item { font-size: 13px; padding: 6px 12px; }
}

/* ---------- AI 匹配引擎 ---------- */
.engine { background: linear-gradient(180deg, #101319 0%, #171b24 100%); color: #eef1f6; }
.engine .sec-sub { color: #9aa3b2; }
.engine .eyebrow { background: rgba(95, 139, 255, .14); color: #8fb0ff; }
.engine-box {
  background: rgba(255, 255, 255, .04);
  border: 1px solid rgba(255, 255, 255, .09);
  border-radius: 24px; padding: 40px;
  backdrop-filter: blur(8px);
}
/* 双向模式切换 */
.mode-tabs { display: flex; gap: 10px; margin-bottom: 18px; flex-wrap: wrap; }
.mode-tabs button {
  font-family: var(--font); font-size: 13.5px; font-weight: 700; cursor: pointer;
  border-radius: 999px; padding: 9px 20px; transition: all .25s;
  background: rgba(255,255,255,.04); color: #8b93a3; border: 1px solid rgba(255,255,255,.1);
}
.mode-tabs button.on {
  color: #fff; border-color: #5f8bff;
  background: rgba(95,139,255,.16); box-shadow: 0 0 18px rgba(95,139,255,.2);
}
.mode-tabs button:hover:not(.on) { color: #dbe3f2; border-color: rgba(255,255,255,.25); }

/* 结果页方向标签 */
.side-tag {
  display: inline-block; margin-bottom: 12px;
  font-size: 12px; font-weight: 700; letter-spacing: .06em;
  color: #8fb0ff; background: rgba(95,139,255,.12);
  border: 1px solid rgba(95,139,255,.3); border-radius: 999px; padding: 5px 16px;
}
.side-tag.rev { color: #7ee2b8; background: rgba(46,204,143,.1); border-color: rgba(46,204,143,.35); }

.engine-input-row { display: flex; gap: 14px; }
.engine-input-row textarea {
  flex: 1; resize: none; height: 96px; border-radius: 14px;
  border: 1px solid rgba(255,255,255,.14); background: rgba(255,255,255,.06);
  color: #fff; font-family: var(--font); font-size: 15px; padding: 16px 18px; line-height: 1.6;
  outline: none; transition: border-color .25s;
}
.engine-input-row textarea:focus { border-color: #5f8bff; }
.engine-input-row textarea::placeholder { color: #6d7687; }
.engine-go {
  align-self: stretch; padding: 0 30px; border-radius: 14px;
  background: linear-gradient(135deg, #3b68f0, #2456e6); color: #fff;
  border: 0; font-size: 16px; font-weight: 700; cursor: pointer; font-family: var(--font);
  transition: all .25s; white-space: nowrap;
}
.engine-go:hover { transform: translateY(-2px); box-shadow: 0 10px 30px rgba(36,86,230,.45); }
.engine-samples { display: flex; gap: 10px; flex-wrap: wrap; margin-top: 16px; align-items: center; }
.engine-samples button {
  font-size: 13px; color: #aeb7c6; background: rgba(255,255,255,.05);
  border: 1px solid rgba(255,255,255,.1); border-radius: 999px;
  padding: 7px 16px; cursor: pointer; font-family: var(--font); transition: all .2s;
}
.engine-samples button:hover { color: #fff; border-color: #5f8bff; }
.search-samples { margin-top: 10px; }
.search-samples button { border-style: dashed; color: #9fb6e8; }
.search-samples button:hover { color: #fff; border-color: #7ee2b8; }
.samples-label { font-size: 12px; color: #6d7687; letter-spacing: .04em; margin-right: 2px; }
/* 两阶段匹配流程：需求理解 + 生态搜索 */
.ai-phase {
  display: none; margin-top: 28px;
  background: rgba(255,255,255,.03); border: 1px solid rgba(255,255,255,.08);
  border-radius: 16px; padding: 22px 24px;
}
.ai-phase.show { display: block; animation: floatIn .4s ease both; }
.phase-title { font-size: 16px; font-weight: 700; color: #fff; display: flex; align-items: center; gap: 8px; margin-bottom: 16px; }
.phase-icon { font-size: 18px; }
.dots i { font-style: normal; animation: dotBlink 1.4s infinite; display: inline-block; }
.dots i:nth-child(2) { animation-delay: .2s; }
.dots i:nth-child(3) { animation-delay: .4s; }
@keyframes dotBlink { 0%, 60%, 100% { opacity: .2; } 30% { opacity: 1; } }

.dim-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(220px, 1fr)); gap: 10px; }
.dim-chip {
  background: rgba(95,139,255,.09); border: 1px solid rgba(95,139,255,.25);
  border-radius: 12px; padding: 10px 14px;
  display: flex; flex-direction: column; gap: 4px;
  animation: floatIn .35s ease both;
}
.dim-chip.empty { background: rgba(255,255,255,.03); border-color: rgba(255,255,255,.08); }
.dim-chip.empty b { color: #6d7687; font-weight: 400; }
.dim-label { font-size: 11.5px; color: #8b93a3; letter-spacing: .06em; }
.dim-chip b { font-size: 14px; color: #dbe3f2; font-weight: 600; margin-right: 6px; }
.dim-meter { display: block; height: 4px; border-radius: 2px; background: rgba(255,255,255,.1); margin-top: 4px; overflow: hidden; }
.dim-meter i { display: block; height: 100%; border-radius: 2px; background: linear-gradient(90deg, #3b68f0, #7ee2b8); animation: meterGrow .8s ease both; }
@keyframes meterGrow { from { width: 0; } }

.pipeline { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; }
.pl-chip {
  font-size: 13.5px; font-weight: 600; color: #6d7687;
  border: 1px solid rgba(255,255,255,.1); background: rgba(255,255,255,.03);
  border-radius: 999px; padding: 8px 16px; transition: all .35s;
}
.pl-chip.on {
  color: #fff; border-color: #5f8bff; background: rgba(95,139,255,.16);
  box-shadow: 0 0 18px rgba(95,139,255,.25);
}
.pl-chip.hl.on { border-color: #7ee2b8; background: rgba(46,204,143,.16); box-shadow: 0 0 18px rgba(46,204,143,.3); }
.pl-arrow { color: #4d5566; font-weight: 700; }
.pipeline-note { margin-top: 16px; font-size: 12.5px; color: #7b8496; line-height: 1.7; }

.engine-results { display: none; margin-top: 32px; }
.engine-results.show { display: block; }
@keyframes floatIn { from { opacity: 0; transform: translateY(10px); } }

/* 匹配结果总览 */
.match-summary { text-align: center; margin-bottom: 30px; }
.match-summary h3 { font-size: clamp(22px, 3vw, 30px); font-weight: 800; color: #fff; }
.match-summary h3 em {
  font-style: normal; font-size: 1.25em;
  background: linear-gradient(120deg, #5f8bff, #7ee2b8);
  -webkit-background-clip: text; background-clip: text; -webkit-text-fill-color: transparent;
}
.tier-chips { display: flex; justify-content: center; gap: 12px; margin-top: 16px; flex-wrap: wrap; }
.tier-chip {
  font-size: 14px; font-weight: 600; color: #cdd7ec;
  border: 1px solid rgba(255,255,255,.14); border-radius: 999px; padding: 8px 20px;
  transition: all .25s;
}
.tier-chip b { font-size: 16px; }
.tier-chip.t-high b { color: #7ee2b8; }
.tier-chip.t-mid b { color: #8fb0ff; }
.tier-chip.t-low b { color: #d8b25f; }
.tier-chip:hover { border-color: #5f8bff; background: rgba(95,139,255,.1); }
.match-intent { margin-top: 14px; font-size: 13.5px; color: #9aa3b2; }
.match-disclaimer {
  margin: 16px auto 0; max-width: 680px; font-size: 13px; line-height: 1.8;
  color: #b9a06a; background: rgba(185,138,47,.1);
  border: 1px dashed rgba(216,178,95,.45); border-radius: 12px; padding: 12px 18px;
}
.match-disclaimer b { color: #d8b25f; }

/* 分级区块 */
.tier-block { margin-bottom: 34px; scroll-margin-top: 90px; }
.tier-head { font-size: 18px; font-weight: 800; color: #fff; display: flex; align-items: baseline; gap: 12px; margin-bottom: 16px; }
.tier-head span { font-size: 13px; font-weight: 600; color: #8b93a3; }
.tier-head.t-high::before { content: ""; width: 10px; height: 10px; border-radius: 3px; background: #2ecc8f; align-self: center; }
.tier-head.t-mid::before { content: ""; width: 10px; height: 10px; border-radius: 3px; background: #5f8bff; align-self: center; }
.tier-head.t-low::before { content: ""; width: 10px; height: 10px; border-radius: 3px; background: #b98a2f; align-self: center; }

/* 机会卡片：为什么匹配 */
.oc {
  background: rgba(255,255,255,.04); border: 1px solid rgba(255,255,255,.09);
  border-radius: 16px; padding: 20px 22px; margin-bottom: 14px;
  animation: floatIn .45s ease both; transition: all .25s;
}
.oc:hover { background: rgba(255,255,255,.07); border-color: rgba(95,139,255,.35); }
.oc.open { border-color: #5f8bff; background: rgba(95,139,255,.07); }
.oc-top { display: flex; align-items: center; gap: 10px; flex-wrap: wrap; }
.oc-top b { font-size: 17px; color: #fff; }
.oc-potential {
  font-size: 12px; font-weight: 700; border-radius: 999px; padding: 4px 12px; white-space: nowrap;
}
.oc-potential.t-high { color: #7ee2b8; background: rgba(46,204,143,.12); border: 1px solid rgba(46,204,143,.35); }
.oc-potential.t-mid { color: #8fb0ff; background: rgba(95,139,255,.12); border: 1px solid rgba(95,139,255,.35); }
.oc-potential.t-low { color: #d8b25f; background: rgba(185,138,47,.12); border: 1px solid rgba(216,178,95,.35); }
.oc-status {
  margin-left: auto; font-size: 12px; font-weight: 700; color: #d8b25f;
  background: rgba(185,138,47,.12); border: 1px solid rgba(216,178,95,.35);
  border-radius: 999px; padding: 4px 12px; white-space: nowrap;
}

/* 企业机会画像字段 */
.profile-grid {
  display: grid; grid-template-columns: repeat(3, 1fr); gap: 10px; margin-top: 14px;
}
.pf {
  background: rgba(255,255,255,.03); border: 1px solid rgba(255,255,255,.07);
  border-radius: 10px; padding: 10px 14px;
  display: flex; flex-direction: column; gap: 3px;
}
.pf i { font-style: normal; font-size: 11px; color: #6d7687; letter-spacing: .05em; }
.pf b { font-size: 13.5px; color: #dbe3f2; font-weight: 600; line-height: 1.5; }
@media (max-width: 720px) { .profile-grid { grid-template-columns: repeat(2, 1fr); } }

.oc-why { display: none; margin-top: 14px; background: rgba(13,17,23,.4); border: 1px solid rgba(255,255,255,.07); border-radius: 12px; padding: 14px 16px; }
.oc-why-t { font-size: 13px; font-weight: 700; color: #d8b25f; margin-bottom: 8px; }
.oc-why ul { display: grid; gap: 6px; }
.oc-why li { font-size: 13.5px; color: #c3cad8; display: flex; gap: 8px; align-items: flex-start; line-height: 1.55; }
.oc-why li::before { content: "✓"; color: #7ee2b8; font-weight: 800; flex: none; font-size: 12px; margin-top: 2px; }
.oc-track {
  display: flex; flex-wrap: wrap; align-items: center; gap: 6px; margin-top: 12px;
}
.oc-track span {
  font-size: 11.5px; color: #6d7687; border: 1px solid rgba(255,255,255,.1);
  border-radius: 999px; padding: 3px 10px;
}
.oc-track span.on { color: #d8b25f; border-color: rgba(216,178,95,.5); background: rgba(185,138,47,.12); font-weight: 700; }
.oc-track i { font-style: normal; color: #4d5566; font-size: 11px; }
.oc-path {
  margin-top: 14px; font-size: 13px; color: #9aa3b2; line-height: 1.7;
  border-left: 3px solid #5f8bff; padding: 10px 16px;
  background: rgba(95,139,255,.07); border-radius: 0 10px 10px 0;
}
.oc-path b { color: #cdd7ec; }
.oc-btns { display: flex; gap: 10px; margin-top: 16px; flex-wrap: wrap; }
.oc-btns button {
  font-family: var(--font); font-size: 13.5px; font-weight: 700; cursor: pointer;
  border-radius: 999px; padding: 9px 22px; transition: all .25s;
}
.oc-view { background: transparent; color: #dbe3f2; border: 1px solid rgba(255,255,255,.2); }
.oc-view:hover { border-color: #fff; color: #fff; }
.oc-ask { background: linear-gradient(135deg, #3b68f0, #2456e6); color: #fff; border: 0; }
.oc-ask:hover { transform: translateY(-2px); box-shadow: 0 8px 22px rgba(36,86,230,.4); }

/* 11 维匹配分析 */
.dim-analysis { margin-top: 14px; }
.da-t { font-size: 12px; font-weight: 700; color: #6d7687; letter-spacing: .06em; margin-bottom: 8px; }
.da-grid { display: flex; flex-wrap: wrap; gap: 6px; }
.da-chip {
  font-size: 11.5px; color: #9aa3b2;
  border: 1px solid rgba(255,255,255,.1); border-radius: 8px; padding: 4px 10px;
  display: inline-flex; align-items: center; gap: 6px;
}
.da-chip b { font-weight: 800; }
.da-chip i { font-style: normal; color: #5d6474; font-size: 10.5px; }
.da-chip[data-lv="强"] { color: #7ee2b8; border-color: rgba(46,204,143,.4); background: rgba(46,204,143,.08); }
.da-chip[data-lv="中"] { color: #8fb0ff; border-color: rgba(95,139,255,.35); background: rgba(95,139,255,.07); }
.da-chip[data-lv="弱"] { color: #d8b25f; border-color: rgba(216,178,95,.35); background: rgba(185,138,47,.07); }
.da-chip[data-lv="—"] { opacity: .55; }

/* 全局 Toast */
.gdw-toast {
  position: fixed; left: 50%; bottom: 36px; transform: translate(-50%, 20px);
  max-width: min(560px, 90vw); z-index: 200;
  background: rgba(16,19,25,.95); color: #eef1f6; font-size: 14px; line-height: 1.7;
  border: 1px solid rgba(95,139,255,.4); border-radius: 14px; padding: 16px 22px;
  box-shadow: 0 20px 60px rgba(0,0,0,.45);
  opacity: 0; pointer-events: none; transition: all .35s ease;
}
.gdw-toast.show { opacity: 1; transform: translate(-50%, 0); }
.engine-footnote { margin-top: 20px; font-size: 12.5px; color: #6d7687; }
.engine-footnote b { color: #aeb7c6; }

/* ---------- 产品逻辑（V1 vs V2） ---------- */
.logic { background: var(--card); }
.logic-grid { display: grid; grid-template-columns: 5fr 7fr; gap: 22px; align-items: stretch; }
.logic-card { border-radius: 22px; padding: 34px 32px; }
.logic-card.v1 { background: var(--paper); border: 1.5px dashed #cdd2dc; display: flex; flex-direction: column; }
.logic-card.v2 {
  background: linear-gradient(155deg, #101319 0%, #1c2436 100%); color: #eef1f6;
  box-shadow: var(--shadow-lg); position: relative; overflow: hidden;
}
.logic-card.v2::before {
  content: ""; position: absolute; top: -80px; right: -80px; width: 240px; height: 240px;
  border-radius: 50%; background: radial-gradient(circle, rgba(95,139,255,.22), transparent 70%);
}
.logic-tag {
  display: inline-block; font-size: 12px; font-weight: 700; letter-spacing: .1em;
  padding: 4px 14px; border-radius: 999px; margin-bottom: 16px;
}
.logic-card.v1 .logic-tag { background: #eceef3; color: var(--ink-3); }
.logic-card.v2 .logic-tag { background: rgba(95,139,255,.18); color: #8fb0ff; }
.logic-card h3 { font-size: 22px; font-weight: 800; margin-bottom: 22px; }
.logic-card.v1 h3 { color: var(--ink-3); }
.logic-steps { display: grid; gap: 0; flex: 1; }
.logic-steps li {
  position: relative; font-size: 14.5px; color: var(--ink-2);
  padding: 14px 0 14px 30px;
}
.logic-steps li::before {
  content: ""; position: absolute; left: 8px; top: 22px; width: 9px; height: 9px;
  border-radius: 50%; background: #c3c8d2;
}
.logic-steps li::after {
  content: ""; position: absolute; left: 12px; top: 34px; bottom: 2px; width: 1px;
  background: #d8dce4;
}
.logic-steps li:last-child::after { display: none; }
.logic-steps li:last-child { color: var(--ink-3); font-weight: 600; }
.logic-verdict {
  margin-top: 18px; font-size: 13.5px; color: var(--ink-3);
  background: #eceef3; border-radius: 10px; padding: 12px 16px;
}
.logic-verdict::before { content: "⚠ "; }
.logic-flow { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; counter-reset: v2; }
.logic-flow li {
  counter-increment: v2; position: relative;
  background: rgba(255,255,255,.05); border: 1px solid rgba(255,255,255,.09);
  border-radius: 12px; padding: 14px 14px 14px 46px;
  display: flex; flex-direction: column; gap: 2px;
}
.logic-flow li::before {
  content: counter(v2); position: absolute; left: 14px; top: 14px;
  width: 22px; height: 22px; border-radius: 7px;
  background: rgba(95,139,255,.2); color: #8fb0ff;
  font-size: 12px; font-weight: 800; display: grid; place-items: center;
}
.logic-flow li b { font-size: 14px; color: #fff; }
.logic-flow li span { font-size: 12px; color: #8b93a3; line-height: 1.5; }
.logic-flow li.fork { border-color: rgba(216,178,95,.45); background: rgba(185,138,47,.1); }
.logic-flow li.fork::before { background: rgba(185,138,47,.25); color: #d8b25f; }
.logic-flow li.human { border-color: rgba(46,204,143,.4); background: rgba(46,204,143,.08); }
.logic-flow li.human::before { background: rgba(46,204,143,.2); color: #7ee2b8; }
.logic-quote { text-align: center; margin: 56px auto 0; max-width: 760px; }
.logic-quote p { font-size: clamp(20px, 3vw, 28px); font-weight: 600; color: var(--ink-2); line-height: 1.6; }
.logic-quote b { color: var(--accent); font-weight: 800; }
.logic-chain {
  margin: 26px auto 0; width: fit-content; max-width: 100%;
  display: flex; flex-wrap: wrap; justify-content: center; align-items: center; gap: 4px 10px;
  background: linear-gradient(150deg, #101319, #1d2333); color: #fff;
  border-radius: 999px; padding: 14px 30px; font-size: 15px; font-weight: 700;
  box-shadow: var(--shadow);
}
.logic-chain i { font-style: normal; color: #5f8bff; font-weight: 800; }
.logic-chain span { white-space: nowrap; }
@media (max-width: 560px) { .logic-chain { border-radius: 18px; font-size: 13px; } }
.src-head { text-align: center; margin: 64px 0 32px; }
.src-head h3 { font-size: 24px; font-weight: 800; }
.src-head p { color: var(--ink-3); font-size: 15px; margin-top: 8px; }
.src-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 16px; }
.src-grid.seven { grid-template-columns: repeat(4, 1fr); }
.src-grid.seven .src-cell:last-child { grid-column: span 1; }
.src-footnote { text-align: center; margin: 26px auto 0; max-width: 880px; font-size: 13px; color: var(--ink-3); letter-spacing: .02em; line-height: 1.9; }
.src-footnote b { color: var(--accent); }
.src-cell {
  background: var(--paper); border: 1px solid var(--line); border-radius: var(--radius);
  padding: 24px; transition: all .3s;
}
.src-cell:hover { transform: translateY(-4px); box-shadow: var(--shadow); border-color: #cfd6e4; }
.src-icon { font-size: 26px; display: block; margin-bottom: 12px; }
.src-cell b { font-size: 16px; display: block; margin-bottom: 6px; }
.src-cell p { font-size: 13px; color: var(--ink-3); line-height: 1.6; }
@media (max-width: 900px) {
  .logic-grid { grid-template-columns: 1fr; }
  .logic-flow { grid-template-columns: 1fr; }
  .src-grid, .src-grid.seven { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 560px) { .src-grid, .src-grid.seven { grid-template-columns: 1fr; } }

/* ---------- 商业机会雷达 ---------- */
.radar { background: linear-gradient(160deg, #0d1117 0%, #131a2b 100%); color: #eef1f6; }
.radar .sec-sub { color: #9aa3b2; }
.radar .eyebrow { background: rgba(95,139,255,.14); color: #8fb0ff; }
.radar-grid { display: grid; grid-template-columns: 5fr 6fr; gap: 48px; align-items: center; }

/* 雷达扫描视觉 */
.radar-visual { text-align: center; }
.radar-scope {
  position: relative; width: min(380px, 80vw); aspect-ratio: 1; margin: 0 auto;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(36,86,230,.12) 0%, rgba(13,17,23,.4) 70%);
  border: 1px solid rgba(95,139,255,.25);
  overflow: hidden;
}
.radar-scope .ring {
  position: absolute; inset: 0; margin: auto; border-radius: 50%;
  border: 1px solid rgba(95,139,255,.18);
}
.radar-scope .r1 { width: 33%; height: 33%; }
.radar-scope .r2 { width: 66%; height: 66%; }
.radar-scope .r3 { width: 92%; height: 92%; }
.radar-scope .sweep {
  position: absolute; inset: 0; border-radius: 50%;
  background: conic-gradient(from 0deg, rgba(95,139,255,.45) 0deg, rgba(95,139,255,.08) 60deg, transparent 90deg);
  animation: radarSweep 4s linear infinite;
}
@keyframes radarSweep { to { transform: rotate(360deg); } }
.radar-scope .blip {
  position: absolute; width: 10px; height: 10px; border-radius: 50%;
  background: #5f8bff; box-shadow: 0 0 12px rgba(95,139,255,.9);
  transition: all .3s;
}
.radar-scope .blip::after {
  content: ""; position: absolute; inset: -6px; border-radius: 50%;
  border: 1px solid rgba(95,139,255,.6);
  animation: blipPulse 2s ease-out infinite;
}
.radar-scope .blip.hot { background: #7ee2b8; box-shadow: 0 0 16px rgba(126,226,184,1); transform: scale(1.5); }
@keyframes blipPulse { from { transform: scale(.6); opacity: 1; } to { transform: scale(2.2); opacity: 0; } }
.radar-core {
  position: absolute; inset: 0; margin: auto; width: 44px; height: 44px;
  border-radius: 50%; background: linear-gradient(135deg, #2b303b, #16181d);
  border: 1px solid rgba(95,139,255,.5);
  display: grid; place-items: center; color: #fff; font-weight: 800; font-size: 17px;
}
.radar-caption { margin-top: 20px; font-size: 13px; color: #7b8496; letter-spacing: .06em; }

/* 机会信息流 */
.radar-feed { display: grid; gap: 12px; }
.feed-demo-tag {
  justify-self: start; font-size: 12px; font-weight: 700; letter-spacing: .08em;
  color: #d8b25f; background: rgba(185,138,47,.14);
  border: 1px dashed rgba(216,178,95,.5); border-radius: 999px; padding: 5px 14px;
}
.opp-item {
  display: grid; grid-template-columns: 1fr auto; grid-template-rows: auto auto;
  gap: 4px 14px; align-items: center;
  background: rgba(255,255,255,.04); border: 1px solid rgba(255,255,255,.09);
  border-radius: 14px; padding: 15px 18px; transition: all .35s;
}
.opp-item .opp-cross {
  grid-column: 1; font-size: 12px; font-weight: 700; color: #8fb0ff; letter-spacing: .04em;
}
.opp-item p { grid-column: 1; font-size: 14.5px; color: #dbe3f2; line-height: 1.55; }
.opp-pill {
  grid-column: 2; grid-row: 1 / span 2;
  font-size: 12px; font-weight: 700; white-space: nowrap;
  color: #7ee2b8; background: rgba(46,204,143,.12);
  border: 1px solid rgba(46,204,143,.3); border-radius: 999px; padding: 6px 14px;
}
.opp-item.hot {
  background: rgba(95,139,255,.1); border-color: rgba(95,139,255,.45);
  transform: translateX(6px); box-shadow: 0 8px 28px rgba(36,86,230,.18);
}
.radar-note {
  margin-top: 32px; font-size: 13px; color: #8b93a3; line-height: 1.8;
  border: 1px dashed rgba(255,255,255,.15); border-radius: 12px; padding: 14px 18px;
}
.radar-note strong { color: #d8b25f; }
@media (max-width: 900px) {
  .radar-grid { grid-template-columns: 1fr; gap: 36px; }
  .radar-scope { width: min(300px, 76vw); }
}

/* ---------- 流程（V1 五步闭环升级） ---------- */
.flow { background: var(--paper); }
.flow-track { display: grid; grid-template-columns: repeat(5, 1fr); gap: 16px; counter-reset: step; }
.flow-step {
  background: var(--card); border: 1px solid var(--line); border-radius: var(--radius);
  padding: 26px 22px; position: relative; transition: all .3s;
}
.flow-step:hover { box-shadow: var(--shadow); transform: translateY(-4px); }
.flow-step .no {
  font-size: 12px; font-weight: 800; letter-spacing: .1em; color: var(--accent);
  margin-bottom: 12px; display: inline-block; padding: 3px 10px;
  background: var(--accent-soft); border-radius: 999px;
}
.flow-step h3 { font-size: 17px; font-weight: 700; margin-bottom: 6px; }
.flow-step p { font-size: 13px; color: var(--ink-3); line-height: 1.6; }
@media (max-width: 1000px) { .flow-track { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 560px) { .flow-track { grid-template-columns: 1fr; } }

/* ---------- 深圳科技商业机会地图 ---------- */
.map-sec { background: var(--paper); }
.map-demo-tag {
  width: fit-content; margin: -20px auto 26px; font-size: 12px; font-weight: 700; letter-spacing: .08em;
  color: var(--gold); background: var(--gold-soft);
  border: 1px dashed rgba(185,138,47,.5); border-radius: 999px; padding: 5px 14px;
}
.map-layout { display: grid; grid-template-columns: 7fr 5fr; gap: 24px; align-items: stretch; }
.sz-map {
  display: grid; gap: 12px;
  grid-template-areas:
    "r1c1 r1c2 r1c3 r1c4"
    "r2c1 r2c2 r2c3 r2c4"
    "r3c1 bay bay bay";
  background:
    radial-gradient(500px 300px at 20% 100%, rgba(36,86,230,.06), transparent 60%),
    var(--card);
  border: 1px solid var(--line); border-radius: 22px; padding: 18px;
  position: relative;
}
.sz-map::after {
  content: "深圳湾 · 珠江口"; position: absolute; left: 26%; right: 4%; bottom: 14px;
  grid-area: bay; text-align: center; font-size: 12px; letter-spacing: .3em; color: #aab4c8;
  border-top: 1.5px dashed #d5dbe8; padding-top: 14px; pointer-events: none;
}
.sz-tile {
  font-family: var(--font); cursor: pointer; text-align: left;
  background: var(--paper); border: 1.5px solid var(--line); border-radius: 16px;
  padding: 16px; display: flex; flex-direction: column; gap: 8px;
  transition: all .25s; min-height: 108px;
}
.r1c1 { grid-area: r1c1; } .r1c2 { grid-area: r1c2; } .r1c3 { grid-area: r1c3; } .r1c4 { grid-area: r1c4; }
.r2c1 { grid-area: r2c1; } .r2c2 { grid-area: r2c2; } .r2c3 { grid-area: r2c3; } .r2c4 { grid-area: r2c4; }
.r3c1 { grid-area: r3c1; }
.sz-tile:hover { transform: translateY(-3px); box-shadow: var(--shadow); border-color: #c3cde0; }
.sz-tile.on { border-color: var(--accent); background: var(--accent-soft); box-shadow: 0 8px 26px rgba(36,86,230,.16); }
.sz-name { font-size: 16px; font-weight: 800; color: var(--ink); }
.sz-name small { font-size: 10.5px; color: var(--ink-3); font-weight: 500; margin-left: 6px; }
.sz-total { font-size: 22px; font-weight: 800; color: var(--accent); line-height: 1; }
.sz-total i { font-style: normal; font-size: 11px; color: var(--ink-3); font-weight: 500; margin-left: 6px; }
.sz-dots { display: flex; gap: 5px; margin-top: auto; }
.sz-dots i { width: 9px; height: 9px; border-radius: 50%; display: inline-block; }
.map-side { display: flex; flex-direction: column; gap: 14px; }
.map-legend {
  display: flex; flex-wrap: wrap; gap: 8px 18px;
  font-size: 12.5px; color: var(--ink-2); font-weight: 600;
}
.map-legend span { display: inline-flex; align-items: center; gap: 6px; }
.map-legend i { width: 10px; height: 10px; border-radius: 3px; display: inline-block; }
.map-panel {
  flex: 1; background: var(--card); border: 1px solid var(--line); border-radius: 18px;
  padding: 22px; overflow-y: auto; max-height: 420px;
}
.map-panel h4 { font-size: 18px; font-weight: 800; margin-bottom: 14px; }
.map-panel-empty { text-align: center; color: var(--ink-3); font-size: 14.5px; line-height: 2; padding: 60px 10px; }
.mp-row {
  display: flex; align-items: center; gap: 10px; font-size: 13.5px; color: var(--ink-2);
  padding: 7px 0; border-bottom: 1px dashed var(--line);
}
.mp-row i { width: 10px; height: 10px; border-radius: 3px; }
.mp-row b { margin-left: auto; font-size: 15px; }
.mp-sub { font-size: 12px; font-weight: 700; color: var(--ink-3); letter-spacing: .08em; margin: 16px 0 8px; }
.mp-co {
  display: flex; align-items: baseline; gap: 10px; padding: 7px 10px;
  border-radius: 8px; font-size: 13px;
}
.mp-co:hover { background: var(--paper); }
.mp-co b { font-weight: 600; }
.mp-co span { color: var(--ink-3); font-size: 12px; }
.mp-none { font-size: 13px; color: var(--ink-3); padding: 8px 0; }
.map-note {
  margin-top: 24px; font-size: 13px; color: var(--ink-3); line-height: 1.8;
  border: 1px dashed #d0d5df; border-radius: 12px; padding: 14px 18px; background: var(--card);
}
.map-note strong { color: var(--gold); }
@media (max-width: 900px) {
  .map-layout { grid-template-columns: 1fr; }
  .sz-map { grid-template-areas: "r1c1 r1c2" "r1c3 r1c4" "r2c1 r2c2" "r2c3 r2c4" "r3c1 r3c1"; }
  .sz-map::after { display: none; }
  .map-panel { max-height: none; }
}

/* ---------- 机会状态全周期 ---------- */
.status-sec { background: var(--card); }
.status-track {
  display: grid; grid-template-columns: repeat(7, 1fr); gap: 12px;
  position: relative;
}
.status-track::before {
  content: ""; position: absolute; top: 21px; left: 4%; right: 4%; height: 2px;
  background: linear-gradient(90deg, #5f8bff, #d8b25f, #2ecc8f); opacity: .35;
}
.st-step { position: relative; text-align: center; padding: 0 6px; }
.st-dot {
  display: block; width: 14px; height: 14px; border-radius: 50%;
  margin: 14px auto 18px; position: relative; z-index: 1;
  border: 3px solid var(--card);
}
.st-step.ai .st-dot { background: #5f8bff; box-shadow: 0 0 0 4px rgba(95,139,255,.2); }
.st-step.verify .st-dot { background: #d8b25f; box-shadow: 0 0 0 4px rgba(216,178,95,.2); }
.st-step.human .st-dot { background: #8b93a3; box-shadow: 0 0 0 4px rgba(139,147,163,.15); }
.st-step.done .st-dot { background: #2ecc8f; box-shadow: 0 0 0 4px rgba(46,204,143,.2); }
.st-step h4 { font-size: 14.5px; font-weight: 800; margin-bottom: 6px; }
.st-step p { font-size: 12px; color: var(--ink-3); line-height: 1.6; min-height: 58px; }
.st-tag {
  display: inline-block; margin-top: 8px; font-size: 11px; font-weight: 700;
  letter-spacing: .08em; padding: 3px 12px; border-radius: 999px;
}
.st-step.ai .st-tag { background: var(--accent-soft); color: var(--accent-deep); }
.st-step.verify .st-tag { background: var(--gold-soft); color: var(--gold); }
.st-step.human .st-tag { background: #eceef3; color: var(--ink-3); }
.st-step.done .st-tag { background: #e8f7f1; color: var(--green); }
.status-honesty {
  margin: 48px auto 0; max-width: 860px; text-align: center;
  background: var(--paper); border: 1px solid var(--line); border-radius: 16px;
  padding: 22px 28px; font-size: 14.5px; color: var(--ink-2); line-height: 1.8;
}
.status-honesty b { color: var(--accent); }
@media (max-width: 1000px) {
  .status-track { grid-template-columns: repeat(4, 1fr); gap: 20px 12px; }
  .status-track::before { display: none; }
  .st-step p { min-height: 0; }
}
@media (max-width: 560px) { .status-track { grid-template-columns: repeat(2, 1fr); } }

/* ---------- 数据生态 ---------- */
.stats { background: var(--ink); color: #f2f4f8; }
.stats .sec-sub { color: #9aa3b2; }
.stats .eyebrow { background: rgba(255,255,255,.08); color: #c8d2e4; }
.stats-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 20px; margin-top: 10px; }
.stat-cell {
  border: 1px solid rgba(255,255,255,.1); border-radius: var(--radius);
  padding: 34px 28px; background: rgba(255,255,255,.03);
}
.stat-cell .num { font-size: 44px; font-weight: 800; line-height: 1; }
.stat-cell .num span { color: #6f96ff; }
.stat-cell .lbl { margin-top: 12px; font-size: 15px; font-weight: 600; }
.stat-cell .sub { font-size: 12.5px; color: #8b93a3; margin-top: 4px; }
@media (max-width: 800px) { .stats-grid { grid-template-columns: repeat(2, 1fr); } }

/* ---------- 服务模式（免费→付费→成功付费） ---------- */
.services { background: var(--paper); }
.model-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 18px; }
.model-card {
  background: var(--card); border: 1px solid var(--line); border-radius: var(--radius);
  padding: 28px 24px; transition: all .3s; display: flex; flex-direction: column; gap: 12px;
  position: relative;
}
.model-card:hover { transform: translateY(-6px); box-shadow: var(--shadow-lg); }
.model-card.free { border-color: var(--accent); box-shadow: 0 10px 34px rgba(36,86,230,.12); }
.model-card.success { background: linear-gradient(160deg, #101319, #1c2436); border-color: transparent; }
.model-card.success h3 { color: #fff; }
.model-card.success p { color: #9aa3b2; }
.model-badge {
  align-self: flex-start; font-size: 12px; font-weight: 800; letter-spacing: .08em;
  padding: 4px 14px; border-radius: 999px;
  background: var(--accent-soft); color: var(--accent-deep);
}
.model-badge.pay { background: #eceef3; color: var(--ink-2); }
.model-badge.win { background: rgba(46,204,143,.16); color: #7ee2b8; }
.model-card h3 { font-size: 18px; font-weight: 800; }
.model-card p { font-size: 13.5px; color: var(--ink-3); line-height: 1.7; flex: 1; }
.model-link { font-size: 13.5px; font-weight: 700; color: var(--accent); }
.model-link:hover { text-decoration: underline; }
.model-chain {
  margin: 40px auto 0; max-width: 820px; text-align: center;
  background: var(--card); border: 1px solid var(--line); border-radius: 999px;
  padding: 16px 28px; font-size: 15px; font-weight: 700; color: var(--ink-2);
  box-shadow: var(--shadow);
}
.model-chain i { font-style: normal; color: var(--accent); margin: 0 10px; }
.model-chain .hl { color: var(--accent); }
.model-note { text-align: center; margin-top: 22px; font-size: 13.5px; color: var(--ink-3); }
.model-note a { color: var(--accent); font-weight: 600; }
@media (max-width: 1000px) { .model-grid { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 560px) {
  .model-grid { grid-template-columns: 1fr; }
  .model-chain { font-size: 13px; border-radius: 18px; }
  .model-chain i { margin: 0 5px; }
}

/* ---------- 黑卡俱乐部（保留 V1） ---------- */
.club { background: linear-gradient(180deg, #14161c, #1c202a); color: #eef1f6; }
.club .sec-sub { color: #9aa3b2; }
.club .eyebrow { background: rgba(185,138,47,.18); color: #d8b25f; }
.club-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 18px; }
.club-card {
  border: 1px solid rgba(255,255,255,.1); border-radius: 20px; padding: 30px 26px;
  background: rgba(255,255,255,.03); display: flex; flex-direction: column; gap: 16px;
  transition: all .3s; position: relative;
}
.club-card:hover { transform: translateY(-6px); border-color: rgba(216,178,95,.5); }
.club-card.hot { border-color: var(--gold); background: linear-gradient(180deg, rgba(185,138,47,.12), rgba(255,255,255,.03)); }
.club-badge { font-size: 11px; letter-spacing: .14em; color: #d8b25f; font-weight: 700; }
.club-card h3 { font-size: 20px; font-weight: 800; }
.club-card .desc { font-size: 13px; color: #9aa3b2; }
.club-feats { display: grid; gap: 10px; flex: 1; }
.club-feats li { font-size: 13px; color: #c3cad8; display: flex; gap: 8px; align-items: flex-start; }
.club-feats li::before { content: "✓"; color: #7ee2b8; font-weight: 700; flex: none; }
.club-price { font-size: 22px; font-weight: 800; color: #fff; }
.club-price small { font-size: 12.5px; color: #8b93a3; font-weight: 400; }
.club-card .btn { width: 100%; }
@media (max-width: 1000px) { .club-grid { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 560px) { .club-grid { grid-template-columns: 1fr; } }

/* ---------- 价值观对比（不是什么 / 而是） ---------- */
.notis { background: var(--card); }
.notis-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 24px; }
.notis-box { border-radius: 20px; padding: 36px; }
.notis-box.no { background: var(--paper); border: 1px dashed #d0d5df; }
.notis-box.yes { background: linear-gradient(150deg, #101319, #1d2333); color: #fff; box-shadow: var(--shadow-lg); }
.notis-box h3 { font-size: 20px; font-weight: 800; margin-bottom: 20px; }
.notis-box.no h3 { color: var(--ink-3); }
.notis-box li { display: flex; gap: 10px; padding: 8px 0; font-size: 14.5px; align-items: baseline; }
.notis-box.no li { color: var(--ink-3); }
.notis-box.no li::before { content: "✕"; color: #c0c5d0; flex: none; }
.notis-box.yes li { color: #d5dcea; }
.notis-box.yes li::before { content: "→"; color: #6f96ff; flex: none; font-weight: 700; }
.notis-box.yes .big { margin-top: 22px; font-size: 17px; font-weight: 700; color: #fff; line-height: 1.7; border-top: 1px solid rgba(255,255,255,.12); padding-top: 20px; }
@media (max-width: 800px) { .notis-grid { grid-template-columns: 1fr; } }

/* 人工服务入口 */
.human-cta {
  text-align: center; margin: 40px auto 0; max-width: 640px;
  background: linear-gradient(150deg, rgba(185,138,47,.14), rgba(95,139,255,.08));
  border: 1px solid rgba(216,178,95,.4); border-radius: 20px; padding: 34px 30px;
}
.human-cta h3 { font-size: 22px; font-weight: 800; color: #fff; }
.human-cta p { font-size: 14px; color: #b9c0ce; margin: 12px 0 20px; line-height: 1.7; }
.human-apply-btn {
  font-family: var(--font); font-size: 15px; font-weight: 800; cursor: pointer;
  color: #16181d; background: linear-gradient(135deg, #e6c477, #d8b25f);
  border: 0; border-radius: 999px; padding: 13px 34px; transition: all .25s;
}
.human-apply-btn:hover { transform: translateY(-2px); box-shadow: 0 10px 28px rgba(216,178,95,.4); }

/* 对接申请表单弹窗 */
.gdw-modal-mask {
  position: fixed; inset: 0; z-index: 300;
  background: rgba(13, 17, 23, .6); backdrop-filter: blur(6px);
  display: grid; place-items: center; padding: 20px;
  opacity: 0; pointer-events: none; transition: opacity .3s;
}
.gdw-modal-mask.show { opacity: 1; pointer-events: auto; }
.gdw-modal {
  position: relative; width: min(520px, 100%); max-height: 90vh; overflow-y: auto;
  background: #fff; border-radius: 22px; padding: 34px 32px;
  box-shadow: 0 30px 90px rgba(0,0,0,.4);
  transform: translateY(16px); transition: transform .3s;
}
.gdw-modal-mask.show .gdw-modal { transform: none; }
.gm-close {
  position: absolute; top: 14px; right: 16px; width: 34px; height: 34px;
  border: 0; border-radius: 50%; background: var(--paper); color: var(--ink-3);
  font-size: 18px; cursor: pointer; transition: all .2s;
}
.gm-close:hover { background: #e8eaf0; color: var(--ink); }
.gm-form h3, .gm-success h3 { font-size: 21px; font-weight: 800; color: var(--ink); }
.gm-sub { font-size: 13px; color: var(--ink-3); margin: 8px 0 20px; line-height: 1.7; }
.gm-form label { display: block; font-size: 13px; font-weight: 700; color: var(--ink-2); margin-bottom: 14px; }
.gm-form input, .gm-form textarea, .gm-form select {
  display: block; width: 100%; margin-top: 6px;
  font-family: var(--font); font-size: 14.5px; color: var(--ink);
  border: 1px solid var(--line); border-radius: 10px; padding: 11px 14px;
  outline: none; transition: border-color .2s; background: var(--paper); resize: none;
}
.gm-form input:focus, .gm-form textarea:focus, .gm-form select:focus { border-color: var(--accent); background: #fff; }
.gm-err { font-size: 12.5px; color: #d0453e; min-height: 18px; margin: 2px 0 8px; }
.gm-privacy { font-size: 11.5px; color: var(--ink-3); line-height: 1.6; margin: 2px 0 10px; }
.gm-submit:disabled { opacity: .6; cursor: not-allowed; }
.gm-submit {
  width: 100%; font-family: var(--font); font-size: 15px; font-weight: 800; cursor: pointer;
  color: #fff; background: var(--accent); border: 0; border-radius: 999px; padding: 14px;
  transition: all .25s;
}
.gm-submit:hover { background: var(--accent-deep); }
.gm-success { display: none; text-align: center; padding: 26px 10px; }
.gm-check {
  width: 64px; height: 64px; margin: 0 auto 18px; border-radius: 50%;
  background: #e8f7f1; color: var(--green); font-size: 30px; font-weight: 800;
  display: grid; place-items: center;
}
.gm-success p { font-size: 14.5px; color: var(--ink-2); margin: 12px 0 22px; line-height: 1.8; }
.gm-done {
  font-family: var(--font); font-size: 14px; font-weight: 700; cursor: pointer;
  color: var(--ink); background: var(--paper); border: 1px solid var(--line);
  border-radius: 999px; padding: 11px 36px; transition: all .2s;
}
.gm-done:hover { border-color: var(--ink); }

/* ---------- 我的商业机会 ---------- */
.dash { background: var(--paper); }
.dash .sec-sub b { color: var(--ink-2); font-weight: 600; }
.dash-box {
  background: var(--card); border: 1px solid var(--line); border-radius: 22px;
  box-shadow: var(--shadow); overflow: hidden;
}
.dash-tabs {
  display: flex; flex-wrap: wrap; gap: 4px;
  padding: 14px 18px; background: var(--paper); border-bottom: 1px solid var(--line);
}
.dash-tabs button {
  font-family: var(--font); font-size: 13.5px; font-weight: 600; cursor: pointer;
  color: var(--ink-3); background: transparent; border: 1px solid transparent;
  border-radius: 999px; padding: 9px 16px; transition: all .2s;
  display: inline-flex; align-items: center; gap: 7px;
}
.dash-tabs button:hover { color: var(--ink); background: #eceef3; }
.dash-tabs button.on { color: #fff; background: var(--ink); }
.dash-count {
  font-size: 11px; font-weight: 800; min-width: 20px; height: 20px; padding: 0 6px;
  border-radius: 999px; background: #e2e5ec; color: var(--ink-2);
  display: inline-grid; place-items: center;
}
.dash-tabs button.on .dash-count { background: var(--accent); color: #fff; }
.dash-panel { display: none; padding: 22px 24px; min-height: 220px; }
.dash-panel.on { display: grid; gap: 10px; align-content: start; animation: floatIn .35s ease both; }
.dash-item {
  display: flex; flex-direction: column; gap: 4px;
  border: 1px solid var(--line); border-radius: 12px; padding: 14px 18px;
  transition: all .2s;
}
.dash-item:hover { border-color: #c9d2e4; box-shadow: var(--shadow); }
.dash-item b { font-size: 14.5px; font-weight: 600; line-height: 1.6; }
.dash-meta { font-size: 12px; color: var(--ink-3); }
.dash-empty {
  text-align: center; color: var(--ink-3); font-size: 15px; line-height: 2;
  padding: 44px 20px;
}
.dash-empty small { font-size: 13px; }
/* 收藏按钮 */
.oc-fav {
  background: transparent; color: #d8b25f; border: 1px solid rgba(216,178,95,.4);
}
.oc-fav:hover { background: rgba(185,138,47,.12); border-color: #d8b25f; }
.oc-fav.on { background: rgba(185,138,47,.16); border-color: #d8b25f; }

/* ---------- CTA ---------- */
.cta-final { text-align: center; padding: 110px 0; }
.cta-final .sec-title { max-width: 720px; margin: 0 auto; }
.cta-final .sec-sub { margin: 18px auto 0; }
.cta-final .hero-btns { justify-content: center; }

/* ---------- 页脚 ---------- */
.footer { background: var(--ink); color: #8b93a3; padding: 64px 0 36px; font-size: 13.5px; }
.footer-grid { display: grid; grid-template-columns: 1.4fr 1fr 1fr 1fr; gap: 40px; margin-bottom: 48px; }
.footer h4 { color: #fff; font-size: 14px; margin-bottom: 16px; }
.footer li { padding: 5px 0; }
.footer a:hover { color: #fff; }
.footer-brand p { max-width: 280px; margin-top: 14px; line-height: 1.7; }
.footer-bottom { border-top: 1px solid rgba(255,255,255,.08); padding-top: 24px; display: flex; justify-content: space-between; flex-wrap: wrap; gap: 12px; }
@media (max-width: 800px) { .footer-grid { grid-template-columns: 1fr 1fr; } }

/* ---------- 响应式 Hero ---------- */
@media (max-width: 960px) {
  .hero { padding: 140px 0 80px; }
  .hero-proof { flex-wrap: wrap; gap: 28px; }
  section { padding: 72px 0; }
  .engine-box { padding: 26px; }
  .engine-input-row { flex-direction: column; }
  .engine-go { padding: 16px; }
}
@media (max-width: 640px) {
  .hero-input-row { flex-direction: column; }
  .hero-kws i { display: none; }
  .hero-kws { gap: 6px 16px; }
}

/* 滚动进场动画 */
.reveal { opacity: 0; transform: translateY(26px); transition: opacity .7s ease, transform .7s ease; }
.reveal.in { opacity: 1; transform: none; }

/* =========================================================
 * V2.0 第二阶段 · 新增组件
 * ========================================================= */

/* ---------- Hero 入口 pill ---------- */
.hero-entries { display: flex; gap: 12px; justify-content: center; flex-wrap: wrap; margin-top: 30px; }
.he-pill {
  font-family: var(--font); font-size: 15px; font-weight: 700;
  padding: 11px 26px; border-radius: 999px; cursor: pointer;
  border: 1.5px solid var(--line); background: #fff; color: var(--ink);
  transition: all .25s;
}
.he-pill:hover { transform: translateY(-2px); box-shadow: var(--shadow); }
.he-customer:hover { border-color: var(--accent); color: var(--accent); }
.he-partner:hover { border-color: var(--green); color: var(--green); }
.he-capital:hover { border-color: var(--gold); color: var(--gold); }
.he-more { border-style: dashed; color: var(--ink-3); }
.hero-free-note { margin-top: 18px; font-size: 13px; color: var(--green); font-weight: 600; text-align: center; }

/* ---------- 三大核心入口 ---------- */
.core-entries { display: grid; grid-template-columns: repeat(3, 1fr); gap: 22px; }
.core-card {
  background: var(--card); border: 1px solid var(--line); border-radius: var(--radius);
  padding: 30px 26px; cursor: pointer; transition: all .3s; position: relative; overflow: hidden;
}
.core-card::before { content: ""; position: absolute; top: 0; left: 0; right: 0; height: 4px; }
.cc-customer::before { background: var(--accent); }
.cc-partner::before { background: var(--green); }
.cc-capital::before { background: var(--gold); }
.core-card:hover { transform: translateY(-6px); box-shadow: var(--shadow-lg); border-color: transparent; }
.cc-head { display: flex; align-items: center; gap: 12px; margin-bottom: 8px; }
.cc-no {
  width: 30px; height: 30px; border-radius: 9px; display: grid; place-items: center;
  font-size: 15px; font-weight: 800; color: #fff; flex: none;
}
.cc-customer .cc-no { background: var(--accent); }
.cc-partner .cc-no { background: var(--green); }
.cc-capital .cc-no { background: var(--gold); }
.cc-head h3 { font-size: 22px; font-weight: 800; }
.cc-go { margin-left: auto; font-size: 13px; font-weight: 700; color: var(--ink-3); }
.core-card:hover .cc-go { color: var(--accent); }
.cc-q { font-size: 14.5px; color: var(--ink-2); margin-bottom: 16px; font-weight: 600; }
.cc-tags { display: flex; flex-wrap: wrap; gap: 7px; }
.cc-tags span {
  font-size: 12px; color: var(--ink-2); background: var(--paper);
  border: 1px solid var(--line); border-radius: 999px; padding: 4px 11px;
}

/* ---------- 更多需求 ---------- */
.more-entry {
  margin-top: 22px; display: grid; grid-template-columns: 1.1fr 1fr; gap: 28px;
  background: var(--ink); color: #eef1f6; border-radius: var(--radius); padding: 34px 32px;
}
.me-left h3 { font-size: 22px; font-weight: 800; margin-bottom: 10px; }
.me-left p { font-size: 14px; color: #b9c0ce; line-height: 1.75; margin-bottom: 20px; }
.me-right { display: flex; flex-wrap: wrap; gap: 10px; align-content: center; }
.me-right span {
  font-size: 13px; padding: 8px 16px; border-radius: 999px;
  background: rgba(255,255,255,.07); border: 1px solid rgba(255,255,255,.12); color: #dbe3f2;
}

/* ---------- 商业机会池 ---------- */
.pool { background: var(--card); }
.sec-head-row { display: flex; align-items: flex-start; justify-content: space-between; gap: 24px; }
.pool-publish { flex: none; }
.pool-legend {
  display: flex; flex-wrap: wrap; align-items: center; gap: 8px 10px;
  padding: 16px 20px; background: var(--paper); border: 1px solid var(--line);
  border-radius: 14px; font-size: 13px; margin-bottom: 22px;
}
.lg-type, .lg-status {
  font-size: 12.5px; font-weight: 700; padding: 4px 12px; border-radius: 999px;
  border: 1px solid var(--line); background: #fff; color: var(--ink-2);
}
.lg-type b, .lg-status b { font-weight: 800; margin-left: 2px; }
.lg-type.t-customer { color: var(--accent); border-color: #c9d6fb; background: var(--accent-soft); }
.lg-type.t-partner { color: var(--green); border-color: #bfe8d8; background: #e8f7f1; }
.lg-type.t-capital { color: var(--gold); border-color: #ecdcb6; background: var(--gold-soft); }
.lg-type.t-other { color: #6d7687; }
.lg-status { cursor: pointer; }
.lg-status:hover { border-color: var(--ink); }
.lg-div { color: #cfd4de; }
.lg-title { font-size: 12.5px; color: var(--ink-3); font-weight: 600; }

.pool-filter { background: var(--paper); border: 1px solid var(--line); border-radius: 14px; padding: 18px 20px; display: grid; gap: 14px; margin-bottom: 20px; }
.pf-row { display: flex; align-items: center; gap: 16px; flex-wrap: wrap; }
.pf-label { font-size: 13px; font-weight: 700; color: var(--ink-3); flex: none; width: 68px; }
.pf-chips { display: flex; gap: 8px; flex-wrap: wrap; }
.pf-chips button {
  font-family: var(--font); font-size: 13px; padding: 7px 16px; border-radius: 999px;
  border: 1px solid var(--line); background: #fff; color: var(--ink-2); cursor: pointer; transition: all .2s;
}
.pf-chips button.on, .pf-chips button:hover { background: var(--ink); color: #fff; border-color: var(--ink); }
.pf-selects { display: flex; gap: 10px; flex-wrap: wrap; flex: 1; }
.pf-selects select, .pf-selects input {
  font-family: var(--font); font-size: 13px; padding: 8px 14px; border-radius: 10px;
  border: 1px solid var(--line); background: #fff; color: var(--ink); min-width: 140px;
}
.pf-selects input { flex: 1; min-width: 200px; }
.pf-reset {
  font-family: var(--font); font-size: 13px; padding: 8px 18px; border-radius: 10px;
  border: 1px solid var(--line); background: #fff; cursor: pointer; color: var(--ink-3);
}
.pf-reset:hover { border-color: var(--ink); color: var(--ink); }

.pool-count { font-size: 14px; color: var(--ink-3); margin-bottom: 16px; }
.pool-count b { color: var(--accent); font-size: 17px; font-weight: 800; }
.pool-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(340px, 1fr)); gap: 18px; }

.opp-card {
  background: var(--card); border: 1px solid var(--line); border-radius: 16px;
  padding: 20px 22px; transition: all .28s; display: flex; flex-direction: column;
}
.opp-card:hover { box-shadow: var(--shadow); transform: translateY(-3px); border-color: #d5dbe8; }
.opp-card.open { box-shadow: var(--shadow-lg); }
.oppc-head { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; margin-bottom: 10px; }
.oppc-id { font-size: 11.5px; font-weight: 700; color: var(--ink-3); font-family: ui-monospace, monospace; }
.oppc-type { font-size: 11.5px; font-weight: 700; padding: 3px 10px; border-radius: 999px; }
.oppc-type.t-customer { color: var(--accent); background: var(--accent-soft); }
.oppc-type.t-partner { color: var(--green); background: #e8f7f1; }
.oppc-type.t-capital { color: var(--gold); background: var(--gold-soft); }
.oppc-type.t-other { color: #6d7687; background: var(--paper); }
.oppc-status {
  margin-left: auto; font-size: 11.5px; font-weight: 700; padding: 3px 10px; border-radius: 999px;
  border: 1px solid;
}
.oppc-status.st-history { color: #7c5cd6; border-color: #d9d0f5; background: #f3f0fd; }
.oppc-status.st-demo { color: var(--gold); border-color: #ecdcb6; background: var(--gold-soft); }
.oppc-status.st-market { color: var(--accent); border-color: #c9d6fb; background: var(--accent-soft); }
.oppc-status.st-open { color: var(--green); border-color: #bfe8d8; background: #e8f7f1; }
.oppc-status.st-verified { color: #146c43; border-color: #a9ddc4; background: #ddf5e9; }
.oppc-title { font-size: 17px; font-weight: 800; line-height: 1.45; margin-bottom: 12px; }
.oppc-meta { display: grid; gap: 5px; margin-bottom: 12px; }
.oppc-meta span { font-size: 13px; color: var(--ink-2); }
.oppc-meta i, .oppc-quick i { font-style: normal; color: var(--ink-3); font-size: 12px; margin-right: 8px; }
.oppc-desc { font-size: 13.5px; color: var(--ink-2); line-height: 1.7; margin-bottom: 12px; }
.oppc-quick { font-size: 13px; color: var(--ink-2); background: var(--paper); border-radius: 10px; padding: 10px 14px; margin-bottom: 12px; }
.oppc-foot { display: flex; justify-content: space-between; gap: 10px; font-size: 12px; color: var(--ink-3); margin-bottom: 14px; }
.oppc-src { font-weight: 600; color: var(--ink-2); }
.oppc-actions { display: flex; gap: 8px; margin-top: auto; }
.oppc-btn {
  flex: 1; font-family: var(--font); font-size: 13px; font-weight: 600;
  padding: 9px 8px; border-radius: 10px; border: 1px solid var(--line);
  background: #fff; color: var(--ink-2); cursor: pointer; transition: all .2s;
}
.oppc-btn:hover { border-color: var(--accent); color: var(--accent); }
.oppc-respond-btn { background: var(--accent); border-color: var(--accent); color: #fff; }
.oppc-respond-btn:hover { background: var(--accent-deep); color: #fff; }
.oppc-detail { display: none; margin-top: 16px; border-top: 1px dashed var(--line); padding-top: 16px; }
.opp-card.open .oppc-detail { display: block; }
.od-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 10px 18px; margin-bottom: 14px; }
.od-grid i { font-style: normal; font-size: 12px; color: var(--ink-3); display: block; margin-bottom: 2px; }
.od-grid b { font-size: 13px; font-weight: 600; color: var(--ink); }
.od-life { margin-bottom: 14px; }
.od-life-t { font-size: 12px; font-weight: 700; color: var(--ink-3); display: block; margin-bottom: 8px; }
.od-lc { font-size: 11px; color: var(--ink-3); border: 1px solid var(--line); border-radius: 999px; padding: 3px 9px; display: inline-block; margin: 2px 0; }
.od-lc.on { color: var(--accent); border-color: #c9d6fb; background: var(--accent-soft); font-weight: 700; }
.od-life i { font-style: normal; color: #cfd4de; font-size: 10px; margin: 0 4px; }
.od-disclaimer { font-size: 12.5px; color: var(--gold); background: var(--gold-soft); border: 1px solid #ecdcb6; border-radius: 10px; padding: 10px 14px; line-height: 1.65; }
.pool-empty { grid-column: 1 / -1; text-align: center; padding: 50px 20px; color: var(--ink-3); font-size: 15px; }
.pool-empty a { color: var(--accent); font-weight: 700; }
.pool-more { text-align: center; margin-top: 28px; }

.demo-disclaimer {
  margin-top: 34px; background: var(--gold-soft); border: 1px solid #ecdcb6;
  border-radius: 14px; padding: 22px 24px;
}
.demo-disclaimer b { font-size: 15px; color: var(--gold); display: block; margin-bottom: 8px; }
.demo-disclaimer p { font-size: 13.5px; color: #6b5a33; line-height: 1.85; }
.demo-disclaimer p b { display: inline; font-size: inherit; color: #5c4c28; margin: 0; }

/* ---------- 雷达升级 ---------- */
.radar-stats { margin-bottom: 40px; }
.rs-highlight {
  background: rgba(255,255,255,.05); border: 1px solid rgba(255,255,255,.1);
  border-radius: 16px; padding: 22px 26px; margin-bottom: 18px; position: relative;
}
.rs-tag {
  position: absolute; top: -10px; left: 24px; font-size: 11px; font-weight: 700;
  color: #d8b25f; background: #131a2b; border: 1px solid rgba(216,178,95,.4);
  padding: 2px 10px; border-radius: 999px;
}
.rs-highlight p { font-size: 15px; color: #cdd7ec; line-height: 1.8; }
.rs-highlight b { color: #8fb0ff; font-weight: 800; }
.rs-tiles { display: grid; grid-template-columns: repeat(4, 1fr); gap: 14px; }
.rs-tile {
  background: rgba(255,255,255,.04); border: 1px solid rgba(255,255,255,.08);
  border-radius: 14px; padding: 18px; text-align: center;
}
.rs-num { display: block; font-size: 28px; font-weight: 800; color: #fff; }
.rs-lbl { font-size: 12.5px; color: #98a1b1; margin-top: 4px; display: block; }
.rs-funnel { margin-top: 22px; padding-top: 22px; border-top: 1px dashed rgba(255,255,255,.12); }
.rs-funnel-head { display: flex; align-items: baseline; gap: 12px; flex-wrap: wrap; margin-bottom: 18px; }
.rs-funnel-head b { font-size: 15px; color: #fff; }
.rs-funnel-head span { font-size: 12.5px; color: #8b93a3; }
.rs-funnel-track { display: flex; flex-wrap: wrap; gap: 8px 14px; align-items: stretch; }
.rs-fnode {
  position: relative; flex: 1 1 auto; min-width: 104px;
  background: rgba(255,255,255,.05); border: 1px solid rgba(255,255,255,.1);
  border-radius: 12px; padding: 14px 12px 12px; text-align: center;
}
.rs-fnode::after {
  content: ""; position: absolute; left: 0; right: 0; bottom: 0; height: 3px;
  background: linear-gradient(90deg, #5f8bff, #7ee2b8); border-radius: 0 0 12px 12px;
  width: var(--w, 100%);
}
.rs-fnode b { display: block; font-size: 22px; font-weight: 800; color: #fff; }
.rs-fnode span { display: block; font-size: 12.5px; color: #cdd7ec; margin-top: 2px; }
.rs-fnode i { font-style: normal; display: block; font-size: 11px; color: #7b8496; margin-top: 3px; }
.rs-farrow { position: absolute; right: -11px; top: 50%; transform: translateY(-50%); font-style: normal; color: #4d5566; font-size: 12px; z-index: 1; }
.rs-funnel-note { margin-top: 14px; font-size: 11.5px; color: #6d7687; line-height: 1.7; }
@media (max-width: 640px) { .rs-farrow { display: none; } .rs-fnode { flex-basis: calc(50% - 7px); } }
.feed-tabs { display: flex; gap: 8px; flex-wrap: wrap; margin-bottom: 14px; }
.feed-tabs button {
  font-family: var(--font); font-size: 12.5px; padding: 6px 14px; border-radius: 999px;
  border: 1px solid rgba(255,255,255,.14); background: rgba(255,255,255,.04);
  color: #aeb7c6; cursor: pointer; transition: all .2s;
}
.feed-tabs button.on, .feed-tabs button:hover { background: #5f8bff; border-color: #5f8bff; color: #fff; }
.opp-pill.pill-resp { background: rgba(46,204,143,.16); color: #7ee2b8; }
.opp-pill.st-hist { background: rgba(124,92,214,.18); color: #b9a6f0; }
.opp-pill.st-demo { background: rgba(216,178,95,.16); color: #d8b25f; }
.opp-pill.st-market { background: rgba(95,139,255,.16); color: #8fb0ff; }
.opp-pill.st-open { background: rgba(46,204,143,.16); color: #7ee2b8; }
.opp-pill.st-verified { background: rgba(46,204,143,.22); color: #a6f0cc; }
.radar-hot { display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px; margin-top: 40px; position: relative; }
.rh-col { background: rgba(255,255,255,.04); border: 1px solid rgba(255,255,255,.08); border-radius: 14px; padding: 20px 22px; }
.rh-col h4 { font-size: 14px; font-weight: 700; color: #dbe3f2; margin-bottom: 12px; }
.rh-row { display: flex; justify-content: space-between; padding: 6px 0; font-size: 13.5px; color: #aeb7c6; border-bottom: 1px dashed rgba(255,255,255,.06); }
.rh-row:last-child { border-bottom: 0; }
.rh-row b { color: #8fb0ff; font-weight: 800; }
.rh-note { position: absolute; bottom: -26px; left: 0; font-size: 12px; color: #6d7687; }

/* ---------- 机会状态体系 ---------- */
.status-demo-tag {
  display: inline-block; margin: 0 auto 30px; font-size: 12.5px; font-weight: 700;
  color: var(--gold); background: var(--gold-soft); border: 1px dashed #d9bd7e;
  padding: 6px 16px; border-radius: 999px;
}
.status-sec .sec-head.center + .status-demo-tag { display: block; width: max-content; }
.status-cards { display: grid; grid-template-columns: repeat(5, 1fr); gap: 16px; }
.sc-card {
  background: var(--paper); border: 1px solid var(--line); border-radius: 14px;
  padding: 22px 20px; border-top: 4px solid;
}
.sc-card.st-history { border-top-color: #7c5cd6; }
.sc-card.st-demo { border-top-color: var(--gold); }
.sc-card.st-market { border-top-color: var(--accent); }
.sc-card.st-open { border-top-color: var(--green); }
.sc-card.st-verified { border-top-color: #146c43; }
.sc-top { display: flex; align-items: center; gap: 8px; margin-bottom: 10px; }
.sc-mark { font-size: 16px; }
.sc-card h3 { font-size: 17px; font-weight: 800; }
.sc-card > p { font-size: 13px; color: var(--ink-2); line-height: 1.7; margin-bottom: 12px; }
.sc-rule { font-size: 12px; color: var(--ink-3); border-top: 1px dashed var(--line); padding-top: 10px; line-height: 1.6; }

.lifecycle { margin-top: 52px; }
.lifecycle h3 { font-size: 20px; font-weight: 800; margin-bottom: 20px; }
.lc-track { display: flex; flex-wrap: wrap; align-items: center; gap: 6px; }
.lc-step {
  display: inline-flex; align-items: center; gap: 6px; font-size: 12.5px; font-weight: 600;
  padding: 7px 14px; border-radius: 999px; border: 1px solid var(--line); background: #fff; color: var(--ink-2);
}
.lc-step i { font-style: normal; font-size: 10.5px; font-weight: 800; width: 17px; height: 17px; border-radius: 50%; display: grid; place-items: center; background: var(--paper); color: var(--ink-3); }
.lc-step.lc-ai { border-color: #c9d6fb; background: var(--accent-soft); color: var(--accent-deep); }
.lc-step.lc-ai i { background: var(--accent); color: #fff; }
.lc-step.lc-human { border-color: #ecdcb6; background: var(--gold-soft); color: #7a5c1c; }
.lc-step.lc-human i { background: var(--gold); color: #fff; }
.lc-step.lc-mid { border-color: #bfe8d8; background: #e8f7f1; color: #0b6b4b; }
.lc-step.lc-mid i { background: var(--green); color: #fff; }
.lc-step.lc-done { border-color: #146c43; background: #146c43; color: #fff; }
.lc-step.lc-done i { background: #fff; color: #146c43; }
.lc-arrow { font-style: normal; color: #cfd4de; font-size: 12px; }
.lc-note { margin-top: 18px; font-size: 13.5px; color: var(--ink-3); line-height: 1.8; }
.trust-statement {
  margin-top: 44px; background: var(--ink); color: #eef1f6; border-radius: 16px; padding: 28px 30px;
}
.trust-statement b { color: #fff; font-size: 16px; }
.trust-statement p { margin-top: 10px; font-size: 14px; color: #b9c0ce; line-height: 1.85; }
.trust-statement p b { color: #fff; font-size: inherit; }
.truth-note { display: inline-block; margin-top: 10px; font-size: 12.5px; color: #d8b25f; }

/* ---------- 资源方响应 ---------- */
.respond { background: var(--paper); }
.respond-grid { display: grid; grid-template-columns: 1fr 1.05fr; gap: 26px; }
.respond-kinds, .respond-flow { background: var(--card); border: 1px solid var(--line); border-radius: var(--radius); padding: 30px; }
.respond-kinds h3, .respond-flow h3 { font-size: 19px; font-weight: 800; margin-bottom: 18px; }
.rk-list { display: grid; gap: 10px; }
.rk-item {
  display: flex; align-items: center; gap: 12px; font-size: 14.5px; font-weight: 600;
  padding: 14px 18px; border: 1px solid var(--line); border-radius: 12px; cursor: pointer; transition: all .25s;
}
.rk-item span { font-size: 18px; }
.rk-item:hover { border-color: var(--accent); background: var(--accent-soft); color: var(--accent-deep); transform: translateX(4px); }
.rk-note { margin-top: 16px; font-size: 12.5px; color: var(--ink-3); }
.rf-steps { display: grid; gap: 14px; counter-reset: rf; }
.rf-steps li { display: flex; flex-direction: column; gap: 2px; padding-left: 42px; position: relative; }
.rf-steps li::before {
  counter-increment: rf; content: counter(rf);
  position: absolute; left: 0; top: 0; width: 28px; height: 28px; border-radius: 9px;
  background: var(--accent-soft); color: var(--accent); font-weight: 800; font-size: 13px;
  display: grid; place-items: center;
}
.rf-steps li b { font-size: 14.5px; }
.rf-steps li span { font-size: 13px; color: var(--ink-3); }
.respond-flow .btn { margin-top: 22px; }

/* ---------- 可信网络 ---------- */
.trust { background: var(--card); }
.trust-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 18px; }
.trust-card { background: var(--paper); border: 1px solid var(--line); border-radius: 14px; padding: 26px 24px; transition: all .3s; }
.trust-card:hover { transform: translateY(-4px); box-shadow: var(--shadow); }
.tc-icon { font-size: 26px; }
.trust-card h3 { font-size: 17px; font-weight: 800; margin: 12px 0 8px; }
.trust-card p { font-size: 13.5px; color: var(--ink-3); line-height: 1.75; }

/* ---------- 企业成长服务 ---------- */
.growth { background: var(--paper); }
.growth-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 16px; }
.growth-cell { background: var(--card); border: 1px solid var(--line); border-radius: 14px; padding: 22px 20px; transition: all .3s; }
.growth-cell:hover { border-color: var(--accent); transform: translateY(-3px); }
.growth-cell b { font-size: 15.5px; font-weight: 800; display: block; margin-bottom: 6px; }
.growth-cell p { font-size: 13px; color: var(--ink-3); }
.growth-note { margin-top: 24px; font-size: 13.5px; color: var(--ink-3); text-align: center; line-height: 1.8; max-width: 760px; margin-left: auto; margin-right: auto; }
.growth-note b { color: var(--ink-2); }

/* ---------- 免费模式 ---------- */
.free-grid { display: grid; grid-template-columns: repeat(5, 1fr); gap: 16px; margin-bottom: 32px; }
.free-cell {
  background: var(--card); border: 1px solid var(--line); border-radius: 14px;
  padding: 24px 18px; text-align: center; font-size: 14px; color: var(--ink-2);
}
.free-cell b { display: block; margin-top: 8px; font-size: 22px; font-weight: 800; color: var(--green); }

/* ---------- 我的商业机会（9 标签页） ---------- */
.dash { background: var(--paper); }
.dash-box { background: var(--card); border: 1px solid var(--line); border-radius: var(--radius); padding: 26px; box-shadow: var(--shadow); }
.dash-tabs { display: flex; gap: 8px; flex-wrap: wrap; border-bottom: 1px solid var(--line); padding-bottom: 16px; margin-bottom: 22px; }
.dash-tabs button {
  font-family: var(--font); font-size: 13.5px; font-weight: 600; padding: 9px 16px;
  border-radius: 999px; border: 1px solid var(--line); background: #fff; color: var(--ink-2);
  cursor: pointer; transition: all .2s; display: inline-flex; align-items: center; gap: 7px;
}
.dash-tabs button.on { background: var(--ink); color: #fff; border-color: var(--ink); }
.dash-count { font-size: 11.5px; font-weight: 800; background: var(--paper); color: var(--ink-3); border-radius: 999px; padding: 1px 8px; }
.dash-tabs button.on .dash-count { background: rgba(255,255,255,.2); color: #fff; }
.d2-panel { display: none; }
.d2-panel.on { display: block; }
.d2-head { display: flex; justify-content: space-between; align-items: baseline; gap: 12px; margin-bottom: 14px; flex-wrap: wrap; }
.d2-head span:first-child { font-size: 15px; font-weight: 800; }
.d2-tip { font-size: 12px; color: var(--ink-3); }
.d2-item {
  border: 1px solid var(--line); border-radius: 12px; padding: 16px 18px; margin-bottom: 10px;
  display: flex; flex-direction: column; gap: 6px; background: var(--paper);
}
.d2-item b { font-size: 14.5px; }
.d2-meta { font-size: 12.5px; color: var(--ink-3); }
.d2-row { display: flex; gap: 10px; margin-top: 6px; flex-wrap: wrap; }
.d2-stage-sel {
  font-family: var(--font); font-size: 12.5px; padding: 6px 12px; border-radius: 9px;
  border: 1px solid var(--line); background: #fff; color: var(--ink-2);
}
.d2-advance {
  font-family: var(--font); font-size: 12.5px; font-weight: 600; padding: 6px 14px;
  border-radius: 9px; border: 1px solid var(--accent); background: var(--accent-soft);
  color: var(--accent); cursor: pointer;
}
.d2-advance:hover { background: var(--accent); color: #fff; }
.d2-stage { font-size: 11.5px; font-weight: 700; color: var(--accent); background: var(--accent-soft); border-radius: 999px; padding: 3px 10px; align-self: flex-start; }
.d2-empty { text-align: center; padding: 44px 20px; color: var(--ink-3); font-size: 15px; line-height: 1.9; }

/* =========================================================
 * Phase 2 · 弹窗体系
 * ========================================================= */
.p2-mask {
  position: fixed; inset: 0; z-index: 2000; display: none;
  background: rgba(13,17,23,.55); backdrop-filter: blur(3px);
  align-items: flex-start; justify-content: center; padding: 40px 20px; overflow-y: auto;
}
.p2-mask.show { display: flex; }
.p2-modal {
  position: relative; width: 100%; max-width: 620px; background: #fff;
  border-radius: 18px; box-shadow: var(--shadow-lg); animation: p2in .28s ease both;
}
.p2-modal-share { max-width: 480px; }
@keyframes p2in { from { opacity: 0; transform: translateY(18px) scale(.98); } }
.p2-close {
  position: absolute; top: 14px; right: 16px; width: 32px; height: 32px; border-radius: 50%;
  border: 0; background: var(--paper); color: var(--ink-3); font-size: 20px; cursor: pointer; z-index: 2;
}
.p2-close:hover { background: var(--line); color: var(--ink); }
.p2-body { padding: 30px 32px 28px; }
.p2-body h3 { font-size: 21px; font-weight: 800; margin-bottom: 8px; }
.p2-sub { font-size: 14px; color: var(--ink-3); line-height: 1.7; margin-bottom: 20px; }
.p2-sub b { color: var(--ink-2); }
.p2-label { display: block; font-size: 13.5px; font-weight: 700; color: var(--ink-2); margin-bottom: 8px; }
.p2-body label { display: block; font-size: 13px; font-weight: 600; color: var(--ink-2); margin-bottom: 12px; }
.p2-body label input, .p2-body label textarea, .p2-body label select {
  display: block; width: 100%; margin-top: 6px; padding: 11px 14px; border-radius: 10px;
  border: 1px solid var(--line); background: var(--paper); color: var(--ink);
  font-family: var(--font); font-size: 14px;
}
.p2-body label input:focus, .p2-body label textarea:focus { outline: none; border-color: var(--accent); background: #fff; }
.p2-body > textarea, .pub-body > textarea {
  width: 100%; padding: 13px 15px; border-radius: 12px; border: 1px solid var(--line);
  background: var(--paper); font-family: var(--font); font-size: 14.5px; color: var(--ink); resize: vertical;
}
.p2-body > textarea:focus { outline: none; border-color: var(--accent); background: #fff; }
.p2-row2 { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; }
.p2-err { color: #d0453e; font-size: 13px; min-height: 18px; margin: 4px 0 8px; }
.p2-foot { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-top: 8px; flex-wrap: wrap; }
.p2-foot-col { flex-direction: column; align-items: stretch; }
.p2-free { font-size: 12.5px; color: var(--green); font-weight: 700; }
.p2-primary {
  font-family: var(--font); font-size: 15px; font-weight: 700; padding: 13px 28px;
  border-radius: 999px; border: 0; background: var(--accent); color: #fff; cursor: pointer;
  box-shadow: 0 8px 22px rgba(36,86,230,.3);
}
.p2-primary:hover { background: var(--accent-deep); }
.p2-ghost {
  font-family: var(--font); font-size: 14px; font-weight: 600; padding: 12px 22px;
  border-radius: 999px; border: 1px solid var(--line); background: #fff; color: var(--ink-2); cursor: pointer;
}
.p2-ghost:hover { border-color: var(--ink); color: var(--ink); }
.p2-note { font-size: 12.5px; color: var(--ink-3); line-height: 1.8; margin-top: 14px; }
.p2-done { text-align: center; }
.p2-check {
  width: 62px; height: 62px; border-radius: 50%; margin: 6px auto 16px; display: grid; place-items: center;
  background: #e8f7f1; color: var(--green); font-size: 30px; font-weight: 800;
}
.p2-done h3 { margin-bottom: 8px; }
.p2-done-flow {
  display: flex; flex-wrap: wrap; gap: 6px; justify-content: center; align-items: center;
  margin: 20px 0; font-size: 12px;
}
.p2-done-flow span { padding: 5px 12px; border-radius: 999px; border: 1px solid var(--line); color: var(--ink-3); }
.p2-done-flow span.on { background: var(--accent-soft); border-color: #c9d6fb; color: var(--accent); font-weight: 700; }
.p2-done-flow i { font-style: normal; color: #cfd4de; }
.p2-done .p2-primary, .p2-done .p2-ghost { margin: 4px 4px 0; }

/* 资源响应表单 */
.rf-section { margin-bottom: 18px; }
.rk-checks { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; }
.rk-check { display: flex !important; align-items: center; gap: 8px; margin-bottom: 0 !important; font-size: 13px !important; font-weight: 500 !important; padding: 9px 12px; border: 1px solid var(--line); border-radius: 10px; cursor: pointer; background: #fff; }
.rk-check input { width: auto !important; margin: 0 !important; padding: 0 !important; accent-color: var(--accent); }
.rk-check:has(input:checked) { border-color: var(--accent); background: var(--accent-soft); color: var(--accent-deep); font-weight: 700 !important; }

/* 分享卡片 */
.share-card {
  border: 1px solid var(--line); border-radius: 16px; padding: 24px;
  background: linear-gradient(160deg, #f7f9ff, #ffffff); margin-bottom: 20px;
}
.sc-brand { font-size: 12px; font-weight: 700; letter-spacing: .08em; color: var(--accent); margin-bottom: 10px; }
.sc-title { font-size: 19px; font-weight: 800; line-height: 1.45; margin-bottom: 16px; }
.sc-rows { display: grid; gap: 7px; margin-bottom: 14px; }
.sc-rows span { font-size: 13.5px; color: var(--ink-2); }
.sc-rows i { font-style: normal; color: var(--ink-3); display: inline-block; width: 74px; }
.sc-status { display: inline-block; font-size: 12px; font-weight: 700; padding: 4px 12px; border-radius: 999px; border: 1px solid; }
.sc-status.st-history { color: #7c5cd6; border-color: #d9d0f5; background: #f3f0fd; }
.sc-status.st-demo { color: var(--gold); border-color: #ecdcb6; background: var(--gold-soft); }
.sc-status.st-market { color: var(--accent); border-color: #c9d6fb; background: var(--accent-soft); }
.sc-status.st-open { color: var(--green); border-color: #bfe8d8; background: #e8f7f1; }
.sc-status.st-verified { color: #146c43; border-color: #a9ddc4; background: #ddf5e9; }
.sc-cta { font-size: 13.5px; color: var(--ink-2); margin: 14px 0 10px; font-weight: 600; }
.sc-code { font-size: 11.5px; color: var(--ink-3); font-family: ui-monospace, monospace; }
.share-btns { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }
.share-btn {
  font-family: var(--font); font-size: 13.5px; font-weight: 600; padding: 12px;
  border-radius: 11px; border: 1px solid var(--line); background: #fff; color: var(--ink-2); cursor: pointer; transition: all .2s;
}
.share-btn:hover { transform: translateY(-2px); box-shadow: var(--shadow); }
.sb-wechat:hover { border-color: #07c160; color: #07c160; }
.sb-copy:hover, .sb-group:hover, .sb-moments:hover { border-color: var(--accent); color: var(--accent); }

/* 发布流程 */
.pub-body { padding-top: 26px; }
.pub-step { font-size: 12.5px; font-weight: 700; color: var(--accent); background: var(--accent-soft); display: inline-block; padding: 4px 12px; border-radius: 999px; margin-bottom: 14px; }
.pub-types { display: flex; gap: 8px; flex-wrap: wrap; margin-bottom: 18px; }
.pub-types button {
  font-family: var(--font); font-size: 13.5px; font-weight: 600; padding: 9px 20px; border-radius: 999px;
  border: 1px solid var(--line); background: #fff; color: var(--ink-2); cursor: pointer; transition: all .2s;
}
.pub-types button.on { background: var(--ink); color: #fff; border-color: var(--ink); }
.pub-qtpl { display: flex; align-items: center; gap: 8px; margin: 12px 0 4px; flex-wrap: wrap; }
.pub-qtpl span { font-size: 12.5px; color: var(--ink-3); }
.pub-qtpl button {
  font-family: var(--font); font-size: 12.5px; color: var(--accent); background: var(--accent-soft);
  border: 1px dashed #c9d6fb; border-radius: 999px; padding: 6px 14px; cursor: pointer;
}
.pub-ai { font-size: 20px; font-weight: 800; margin-bottom: 8px; }
.pub-dots i { animation: p2blink 1.2s infinite; }
.pub-dots i:nth-child(2) { animation-delay: .2s; }
.pub-dots i:nth-child(3) { animation-delay: .4s; }
@keyframes p2blink { 0%, 100% { opacity: .2; } 50% { opacity: 1; } }
.pub-dims { display: grid; grid-template-columns: 1fr 1fr; gap: 9px; margin: 16px 0 20px; }
.pub-dim { border: 1px solid var(--line); border-radius: 11px; padding: 11px 14px; background: var(--paper); }
.pub-dim i { font-style: normal; font-size: 11.5px; color: var(--ink-3); display: block; margin-bottom: 3px; }
.pub-dim b { font-size: 13.5px; font-weight: 600; color: var(--ink); }
.pub-dim.empty { opacity: .62; }
.pub-dim.empty b { color: var(--ink-3); font-weight: 500; }
.pub-confirm { background: var(--paper); border: 1px solid var(--line); border-radius: 14px; padding: 22px 24px; margin: 8px 0 20px; }
.pc-q { font-size: 16px; color: var(--ink-2); line-height: 1.7; }
.pc-q b { color: var(--ink); font-weight: 800; }
.pc-fields { display: flex; flex-wrap: wrap; gap: 7px; margin: 16px 0; }
.pc-fields span { font-size: 12.5px; color: var(--ink-2); background: #fff; border: 1px solid var(--line); border-radius: 999px; padding: 5px 13px; }
.pc-fields i { font-style: normal; color: var(--ink-3); margin-right: 6px; }
.pc-ask { font-size: 14px; font-weight: 700; color: var(--accent); }

/* ---------- 响应式 · Phase 2 ---------- */
@media (max-width: 1080px) {
  .status-cards { grid-template-columns: repeat(2, 1fr); }
  .free-grid { grid-template-columns: repeat(3, 1fr); }
  .trust-grid { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 960px) {
  .core-entries { grid-template-columns: 1fr; }
  .more-entry { grid-template-columns: 1fr; gap: 20px; }
  .respond-grid { grid-template-columns: 1fr; }
  .growth-grid { grid-template-columns: repeat(2, 1fr); }
  .radar-hot { grid-template-columns: 1fr; }
  .rh-note { position: static; display: block; margin-top: 10px; }
  .rs-tiles { grid-template-columns: repeat(2, 1fr); }
  .sec-head-row { flex-direction: column; }
  .pf-label { width: auto; }
}
@media (max-width: 640px) {
  .status-cards { grid-template-columns: 1fr; }
  .free-grid { grid-template-columns: repeat(2, 1fr); }
  .trust-grid, .growth-grid { grid-template-columns: 1fr; }
  .pub-dims { grid-template-columns: 1fr; }
  .p2-row2 { grid-template-columns: 1fr; }
  .rk-checks { grid-template-columns: 1fr; }
  .share-btns { grid-template-columns: 1fr; }
  .p2-body { padding: 26px 20px 22px; }
  .pool-grid { grid-template-columns: 1fr; }
  .od-grid { grid-template-columns: 1fr; }
}


/* =========================================================
 * 灰度湾 V2.1 · AI 商业机会雷达
 * ---------------------------------------------------------
 * 设计语言延续：浅色纸面 + 石墨墨色 + 科技蓝 + 商务金
 * 区块：.radar-mine（雷达）、.rd-*（弹窗与卡片）
 * ========================================================= */

/* ---------- 雷达区块 ---------- */
.radar-mine {
  padding: 92px 0 84px;
  background:
    radial-gradient(900px 420px at 12% 0%, rgba(36,86,230,.07), transparent 62%),
    radial-gradient(760px 380px at 88% 18%, rgba(185,138,47,.07), transparent 60%),
    var(--paper);
  border-bottom: 1px solid var(--line);
}
.rm-start { max-width: 880px; margin: 0 auto 26px; }
.rms-left { background: var(--card); border: 1px solid var(--line); border-radius: var(--radius); box-shadow: var(--shadow); padding: 18px; }
.rm-inputrow { display: flex; gap: 10px; }
.rm-inputrow input {
  flex: 1; border: 1.5px solid var(--line); border-radius: 12px; padding: 14px 16px;
  font-family: var(--font); font-size: 15px; color: var(--ink); background: #fff;
}
.rm-inputrow input:focus { outline: none; border-color: var(--accent); box-shadow: 0 0 0 4px var(--accent-soft); }
.rm-quick { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; margin-top: 14px; }
.rmq-label { font-size: 12.5px; color: var(--ink-3); }
.rm-quick button {
  border: 1px solid var(--line); background: #fff; color: var(--ink-2);
  border-radius: 999px; padding: 6px 13px; font-size: 12.5px; cursor: pointer; font-family: var(--font);
  transition: .18s;
}
.rm-quick button:hover { border-color: var(--accent); color: var(--accent); background: var(--accent-soft); }

/* ---------- 画像摘要 ---------- */
.rm-summary:empty { display: none; }
.rds-head {
  display: flex; flex-wrap: wrap; align-items: center; gap: 12px;
  background: var(--card); border: 1px solid var(--line); border-left: 4px solid var(--accent);
  border-radius: var(--radius); padding: 16px 20px; box-shadow: var(--shadow); margin-bottom: 14px;
}
.rds-who { display: flex; flex-direction: column; gap: 2px; }
.rds-who b { font-size: 16px; font-weight: 800; }
.rds-who span { font-size: 12.5px; color: var(--ink-3); }
.rds-market { color: var(--gold) !important; font-weight: 600; }
.rds-wants { margin-left: auto; font-size: 13px; color: var(--accent); font-weight: 600; }
.rds-need {
  background: var(--accent-soft); border-radius: 12px; padding: 12px 16px;
  font-size: 13.5px; color: var(--ink-2); margin-bottom: 14px;
}
.rds-need b { color: var(--accent-deep); }
.rd-search-note {
  display: flex; flex-direction: column; gap: 3px;
  background: var(--gold-soft, #faf3e3); border: 1px solid var(--gold); border-left: 4px solid var(--gold);
  border-radius: 12px; padding: 12px 16px; margin-bottom: 14px;
  font-size: 13px; color: var(--ink-2);
}
.rd-search-note b { color: var(--gold); font-weight: 700; }
.rd-search-note span { font-size: 12px; color: var(--ink-3); }
.rds-stats { display: grid; grid-template-columns: repeat(4, 1fr); gap: 12px; margin-bottom: 12px; }
.rds-stat {
  background: var(--card); border: 1px solid var(--line); border-radius: 14px;
  padding: 14px 16px; display: flex; flex-direction: column; gap: 2px; position: relative; overflow: hidden;
}
.rds-stat::before { content: ""; position: absolute; left: 0; top: 0; bottom: 0; width: 3px; background: var(--line); }
.rds-stat.t-hot::before { background: #d0453e; }
.rds-stat.t-study::before { background: var(--gold); }
.rds-stat.t-watch::before { background: var(--accent); }
.rds-stat.t-low::before { background: #b9bec9; }
.rds-stat b { font-size: 26px; font-weight: 800; line-height: 1.15; }
.rds-stat span { font-size: 13px; color: var(--ink-2); font-weight: 600; }
.rds-stat i { font-size: 11.5px; color: var(--ink-3); font-style: normal; }
.rds-note { font-size: 12.5px; color: var(--ink-3); margin-bottom: 22px; line-height: 1.75; }
.rds-note b { color: var(--ink-2); }

/* ---------- 雷达卡片 ---------- */
.rm-cards { display: grid; grid-template-columns: repeat(2, 1fr); gap: 18px; }
.rd-card {
  background: var(--card); border: 1px solid var(--line); border-radius: var(--radius);
  box-shadow: var(--shadow); padding: 20px; position: relative; transition: .2s;
}
.rd-card:hover { box-shadow: var(--shadow-lg); transform: translateY(-3px); }
.rd-card.tier-hot { border-top: 3px solid #d0453e; }
.rd-card.tier-study { border-top: 3px solid var(--gold); }
.rd-card.tier-watch { border-top: 3px solid var(--accent); }
.rdc-top { display: flex; align-items: center; justify-content: space-between; margin-bottom: 12px; }
.rdc-tier { font-size: 12.5px; font-weight: 700; padding: 4px 10px; border-radius: 999px; background: var(--paper); border: 1px solid var(--line); }
.tier-hot .rdc-tier { background: #fdeceb; border-color: #f5cdca; color: #b3352e; }
.tier-study .rdc-tier { background: var(--gold-soft); border-color: #eddcc0; color: #8a6620; }
.tier-watch .rdc-tier { background: var(--accent-soft); border-color: #ccdaf9; color: var(--accent-deep); }
.rdc-score { font-size: 12px; color: var(--ink-3); display: flex; align-items: baseline; gap: 3px; }
.rdc-score b { font-size: 24px; font-weight: 800; color: var(--ink); line-height: 1; }
.rdc-score i { font-style: normal; }
/* 商业行动价值徽章（PRD 6.2） */
.rdc-action { font-size: 12px; color: var(--ink-3); display: flex; align-items: baseline; gap: 3px; margin-left: 14px; padding-left: 14px; border-left: 1px solid var(--line); }
.rdc-action b { font-size: 16px; font-weight: 800; color: var(--ink-3); line-height: 1; }
.rdc-action i { font-style: normal; }
.rdc-action.hi b { color: #0a7d56; }
.rdc-action.mid b { color: var(--accent-deep); }

/* 维度条 */
.rdc-bars { display: grid; grid-template-columns: repeat(2, 1fr); gap: 5px 14px; margin-bottom: 14px; }
.rdc-bar { display: grid; grid-template-columns: 62px 1fr 18px; align-items: center; gap: 7px; font-size: 11.5px; color: var(--ink-3); }
.rdc-bar i { font-style: normal; white-space: nowrap; }
.rdc-bar em { height: 5px; background: var(--line); border-radius: 99px; overflow: hidden; display: block; }
.rdc-bar em b { display: block; height: 100%; background: linear-gradient(90deg, var(--accent), #5b83ee); border-radius: 99px; }
.tier-hot .rdc-bar em b { background: linear-gradient(90deg, #d0453e, #e4726b); }
.tier-study .rdc-bar em b { background: linear-gradient(90deg, var(--gold), #d7b061); }
.rdc-bar u { text-decoration: none; font-weight: 700; }

.rdc-title { font-size: 17px; font-weight: 800; line-height: 1.5; margin-bottom: 10px; }
.rdc-meta { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; margin-bottom: 12px; }
.rdc-type { font-size: 12px; color: var(--accent-deep); background: var(--accent-soft); border-radius: 6px; padding: 2px 8px; font-weight: 600; }
.rdc-pid { font-size: 11.5px; color: var(--ink-3); font-family: ui-monospace, Menlo, monospace; }
.rdc-sig { font-size: 11.5px; border-radius: 6px; padding: 2px 8px; }
.rdc-sig.sig-ok { background: #e7f7f0; color: #0b7a55; }
.rdc-sig.sig-warn { background: #fdf4e3; color: #8a6620; }
.rdc-intro { font-size: 13.5px; color: var(--ink-2); line-height: 1.8; margin-bottom: 14px; }
.rdc-brief { display: flex; flex-direction: column; gap: 10px; margin-bottom: 14px; }
.rdc-brief i { display: block; font-size: 11.5px; color: var(--gold); font-weight: 700; letter-spacing: .04em; font-style: normal; margin-bottom: 3px; }
.rdc-brief p { font-size: 13px; color: var(--ink-2); line-height: 1.8; }
.rdc-tags { display: flex; flex-wrap: wrap; gap: 6px; margin-bottom: 14px; }
.rdc-tags span { font-size: 11.5px; color: var(--ink-3); background: var(--paper); border: 1px solid var(--line); border-radius: 6px; padding: 2px 8px; }
.rdc-foot { display: flex; flex-wrap: wrap; gap: 10px; align-items: center; padding-top: 12px; border-top: 1px dashed var(--line); font-size: 11.5px; color: var(--ink-3); }
.rdc-src { color: var(--ink-2); }
.rdc-status { border-radius: 6px; padding: 2px 8px; font-weight: 600; }
.proj-verified { background: #e7f7f0; color: #0b7a55; }
.proj-pending { background: #fdf4e3; color: #8a6620; }
.proj-ai { background: #eef0ff; color: #4a4fb0; }
.proj-insufficient { background: #f1f2f5; color: var(--ink-3); }
.rdc-applied { color: var(--green); font-weight: 700; }

.rdc-actions { display: flex; gap: 10px; margin-top: 14px; }
.rd-btn {
  border: 1px solid var(--line); background: #fff; color: var(--ink-2);
  border-radius: 9px; padding: 8px 14px; font-size: 12.5px; cursor: pointer; font-family: var(--font);
  transition: .18s; font-weight: 600;
}
.rd-btn:hover { border-color: var(--accent); color: var(--accent); background: var(--accent-soft); }

/* 为什么匹配 */
.rdc-why { display: none; margin-top: 14px; background: var(--paper); border: 1px solid var(--line); border-radius: 12px; padding: 16px; }
.rd-card.why-open .rdc-why { display: block; }
.rdw-head { font-size: 12.5px; font-weight: 800; color: var(--ink); margin-bottom: 10px; }
.rdw-row { display: grid; grid-template-columns: 96px 34px 1fr; gap: 8px; align-items: baseline; font-size: 12.5px; padding: 5px 0; border-bottom: 1px dashed var(--line); }
.rdw-row:last-of-type { border-bottom: none; }
.rdw-row b { color: var(--ink-2); font-weight: 600; }
.rdw-row span { font-weight: 800; color: var(--accent-deep); }
.rdw-row i { font-style: normal; color: var(--ink-3); }
.rdw-sum { font-size: 13px; color: var(--ink); background: var(--card); border-left: 3px solid var(--accent); border-radius: 0 8px 8px 0; padding: 10px 12px; margin-top: 10px; font-weight: 600; }
.rdw-note { font-size: 11.5px; color: var(--ink-3); margin-top: 8px; }

/* 7 个问题 */
.rdc-detail:empty { display: none; }
.rdq-head { font-size: 12.5px; font-weight: 800; color: var(--ink); margin: 14px 0 8px; }
.rdq { padding: 10px 0; border-bottom: 1px dashed var(--line); }
.rdq:last-of-type { border-bottom: none; }
.rdq b { display: block; font-size: 13px; color: var(--accent-deep); margin-bottom: 4px; }
.rdq p { font-size: 13px; color: var(--ink-2); line-height: 1.85; }
.rdq p b { display: inline; color: var(--ink); }
.rdq-note { font-size: 11.5px; color: var(--ink-3); margin-top: 10px; }

/* 反馈 */
.rdc-fb { margin-top: 16px; padding-top: 14px; border-top: 1px solid var(--line); }
.rdf-label { font-size: 11.5px; color: var(--ink-3); display: block; margin-bottom: 8px; }
.rdf-btns { display: flex; flex-wrap: wrap; gap: 7px; }
.rd-fb {
  border: 1px solid var(--line); background: #fff; color: var(--ink-2);
  border-radius: 999px; padding: 5px 12px; font-size: 12px; cursor: pointer; font-family: var(--font); transition: .18s;
}
.rd-fb:hover { border-color: var(--accent); color: var(--accent); }
.rd-fb.on { background: var(--accent); border-color: var(--accent); color: #fff; font-weight: 600; }
.rd-fb-primary { border-color: var(--accent); color: var(--accent); font-weight: 700; }
.rd-fb-primary.on { background: var(--accent-deep); border-color: var(--accent-deep); color: #fff; }

.rd-empty { grid-column: 1 / -1; text-align: center; padding: 44px 20px; color: var(--ink-3); font-size: 14px; background: var(--card); border: 1px dashed var(--line); border-radius: var(--radius); }
.rm-foot { display: flex; flex-wrap: wrap; gap: 12px; align-items: center; justify-content: space-between; margin-top: 22px; font-size: 12.5px; color: var(--ink-3); }
.rm-foot b { color: var(--accent); }

/* ---------- 雷达弹窗 ---------- */
.rd-mask { position: fixed; inset: 0; background: rgba(18,20,26,.5); backdrop-filter: blur(3px); z-index: 200; display: none; overflow-y: auto; padding: 34px 16px; }
.rd-mask.show { display: block; }
.rd-modal {
  max-width: 780px; margin: 0 auto; background: var(--card); border-radius: 18px;
  box-shadow: var(--shadow-lg); position: relative; overflow: hidden;
  animation: rdIn .22s ease-out;
}
.rd-modal-sm { max-width: 560px; }
@keyframes rdIn { from { opacity: 0; transform: translateY(14px); } to { opacity: 1; transform: none; } }
.rd-close { position: absolute; right: 14px; top: 12px; border: none; background: none; font-size: 24px; color: var(--ink-3); cursor: pointer; line-height: 1; }
.rd-close:hover { color: var(--ink); }
.rd-head { padding: 26px 28px 8px; }
.rd-eyebrow { font-size: 11.5px; letter-spacing: .16em; color: var(--accent); font-weight: 700; }
.rd-head h3 { font-size: 22px; font-weight: 800; margin: 6px 0 6px; }
.rd-head p { font-size: 13.5px; color: var(--ink-3); line-height: 1.8; }
.rd-body { padding: 8px 28px 26px; }
.rd-q { padding: 16px 0; border-top: 1px solid var(--line); }
.rd-q:first-of-type { border-top: none; }
.rd-qno { display: inline-block; font-size: 11px; font-weight: 800; color: var(--accent); background: var(--accent-soft); border-radius: 6px; padding: 2px 8px; margin-right: 8px; }
.rd-q > b { font-size: 15px; font-weight: 800; }
.rd-hint { font-size: 11.5px; color: var(--ink-3); margin-left: 8px; }
.rd-row3 { display: grid; grid-template-columns: repeat(3, 1fr); gap: 12px; margin-top: 12px; }
.rd-row2 { display: grid; grid-template-columns: repeat(2, 1fr); gap: 12px; margin-bottom: 12px; }
.rd-q label, .rd-body label { display: flex; flex-direction: column; gap: 5px; font-size: 12px; color: var(--ink-3); font-weight: 600; }
.rd-body input, .rd-body textarea {
  border: 1.5px solid var(--line); border-radius: 10px; padding: 10px 12px;
  font-family: var(--font); font-size: 13.5px; color: var(--ink); background: #fff; resize: vertical;
}
.rd-body input:focus, .rd-body textarea:focus { outline: none; border-color: var(--accent); box-shadow: 0 0 0 3px var(--accent-soft); }
.rd-full { margin-bottom: 12px; }
.rd-needs, .rd-markets { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 12px; }
.rd-need, .rd-market {
  border: 1.5px solid var(--line); background: #fff; color: var(--ink-2);
  border-radius: 999px; padding: 7px 14px; font-size: 13px; cursor: pointer; font-family: var(--font); transition: .16s;
}
.rd-need:hover, .rd-market:hover { border-color: var(--accent); color: var(--accent); }
.rd-need.on, .rd-market.on { background: var(--accent); border-color: var(--accent); color: #fff; font-weight: 600; }
.rd-err { color: #c8372f; font-size: 12.5px; min-height: 18px; margin: 4px 0 8px; }
.rd-foot { display: flex; flex-wrap: wrap; gap: 12px; align-items: center; justify-content: space-between; padding-top: 16px; border-top: 1px solid var(--line); }
.rd-free { font-size: 12px; color: var(--green); }
.rd-primary {
  border: none; background: var(--accent); color: #fff; border-radius: 11px;
  padding: 12px 22px; font-size: 14px; font-weight: 700; cursor: pointer; font-family: var(--font); transition: .18s;
}
.rd-primary:hover { background: var(--accent-deep); }
.rd-perm { background: var(--gold-soft); border-left: 3px solid var(--gold); border-radius: 0 10px 10px 0; padding: 12px 14px; font-size: 12.5px; color: #7a5b1c; line-height: 1.8; margin-bottom: 16px; }
.rd-done { text-align: center; padding: 20px 0 8px; }
.rd-check { width: 54px; height: 54px; border-radius: 50%; background: var(--green); color: #fff; font-size: 26px; line-height: 54px; margin: 0 auto 14px; }
.rd-done h3 { font-size: 19px; font-weight: 800; margin-bottom: 6px; }
.rd-sub { font-size: 13px; color: var(--ink-3); margin-bottom: 14px; }
.rd-flow { display: flex; flex-wrap: wrap; gap: 8px; justify-content: center; align-items: center; margin: 14px 0; font-size: 12px; color: var(--ink-3); }
.rd-flow span { border: 1px solid var(--line); border-radius: 999px; padding: 4px 11px; }
.rd-flow span.on { background: var(--accent-soft); border-color: #ccdaf9; color: var(--accent-deep); font-weight: 600; }
.rd-flow i { font-style: normal; color: var(--ink-3); }
.rd-note { font-size: 12px; color: var(--ink-3); line-height: 1.8; margin: 12px 0 18px; }

/* ---------- 信息缺口追问（PRD 3.2） ---------- */
.rd-clarify { background: #f7f9ff; border: 1px solid #dbe5fb; border-left: 3px solid var(--accent); border-radius: 12px; padding: 18px 20px; }
.rd-clarify .rdc-q { font-size: 15px; color: var(--ink); margin-bottom: 8px; line-height: 1.6; }
.rd-clarify .rdc-q i { font-style: normal; margin-right: 6px; }
.rd-clarify .rdc-q b { color: var(--ink); }
.rd-clarify .rdc-why { font-size: 12.5px; color: var(--ink-3); line-height: 1.6; margin-bottom: 14px; }
.rd-clarify textarea { width: 100%; border: 1px solid var(--line); border-radius: 10px; padding: 12px 14px; font-size: 14px; font-family: var(--font); resize: vertical; min-height: 58px; color: var(--ink); background: #fff; }
.rd-clarify textarea:focus { outline: none; border-color: var(--accent); box-shadow: 0 0 0 3px var(--accent-soft); }
.rd-clarify .rdc-actions { display: flex; gap: 10px; margin-top: 14px; flex-wrap: wrap; }
.rd-clarify .rdc-note { font-size: 12px; color: var(--ink-3); margin-top: 12px; }


/* ---------- 已隐藏模块的说明块 ---------- */
.club-note { max-width: 720px; margin: 0 auto 26px; background: rgba(255,255,255,.05); border: 1px solid rgba(255,255,255,.13); border-radius: 14px; padding: 18px 20px; }
.club-note b { color: #d8b25f; font-size: 13px; letter-spacing: .04em; }
.club-note p { font-size: 13px; color: #9aa3b2; line-height: 1.85; margin-top: 6px; }

/* ---------- 响应式 ---------- */
@media (max-width: 980px) {
  .rm-cards { grid-template-columns: 1fr; }
  .rds-stats { grid-template-columns: repeat(2, 1fr); }
  .rd-row3 { grid-template-columns: 1fr; }
}
@media (max-width: 640px) {
  .radar-mine { padding: 64px 0 58px; }
  .rm-inputrow { flex-direction: column; }
  .rdc-bars { grid-template-columns: 1fr; }
  .rd-row2 { grid-template-columns: 1fr; }
  .rd-modal { border-radius: 14px; }
  .rd-head, .rd-body { padding-left: 18px; padding-right: 18px; }
}

/* =========================================================
 * V2.1 · AI 接入状态与 AI 理由（DeepSeek）
 * ========================================================= */
.rds-ai{margin:10px 0 0;padding:9px 13px;border-radius:10px;font-size:12.5px;line-height:1.6;
  display:flex;align-items:center;gap:8px;border:1px solid var(--line);background:var(--card);color:var(--ink-2)}
.rds-ai b{color:var(--ink)}
.rds-ai-dot{width:7px;height:7px;border-radius:50%;background:var(--ink-3);flex:0 0 auto}
.rds-ai.ok{border-color:rgba(14,159,110,.32);background:rgba(14,159,110,.05)}
.rds-ai.ok b{color:var(--green)}
.rds-ai.ok .rds-ai-dot{background:var(--green);box-shadow:0 0 0 3px rgba(14,159,110,.16)}
.rds-ai.off{border-color:rgba(185,138,47,.3);background:rgba(185,138,47,.05)}
.rds-ai.off .rds-ai-dot{background:var(--gold)}
.rdw-ai{margin:2px 0 12px;padding:11px 13px;border-radius:9px;font-size:13px;line-height:1.72;
  background:rgba(36,86,230,.045);border-left:3px solid var(--accent);color:var(--ink)}
.rdw-note.ai{border-top-color:rgba(14,159,110,.3);color:var(--ink-2)}
.rdw-note.ai b{color:var(--green)}
@media (max-width:640px){
  .rds-ai{font-size:12px;padding:8px 11px;align-items:flex-start}
  .rdw-ai{font-size:12.5px}
}

/* =========================================================
 * V2.1 · 审核门禁（Mvp验证指令）
 *   未审核项目降级为「参考线索」：视觉上做弱化 + 明确警示条
 *   原则：不隐藏、不伪装，只降权 + 如实标注
 * ========================================================= */
.rd-card.rd-gated {
  border-style: dashed;
  border-color: #d8d2c4;
  background: linear-gradient(180deg, #fdfcf9 0%, var(--card) 60%);
}
.rd-card.rd-gated .rdc-title { font-weight: 600; }
.rd-card.rd-gated::after { display: none; }

.rdc-gate {
  display: flex; flex-direction: column; gap: 3px;
  padding: 9px 12px; margin: -2px 0 12px;
  border-radius: var(--radius);
  background: var(--gold-soft);
  border: 1px solid #e8d9bd;
  border-left: 3px solid var(--gold);
}
.rdc-gate b { font-size: 12.5px; font-weight: 700; color: #8a6620; letter-spacing: .2px; }
.rdc-gate span { font-size: 12px; line-height: 1.55; color: #977a45; }

/* 门禁卡片的档位标签统一用中性灰金，避免"强烈推荐"的红色误导 */
.rd-card.rd-gated .rdc-tier {
  background: #f6f3ec; border-color: #e3dccd; color: #7d7360;
}
.rd-card.rd-gated .rdc-score b { color: var(--ink-3); }

/* 摘要区的门禁说明条 */
.rds-gate {
  display: flex; align-items: flex-start; gap: 9px;
  margin: 0 0 16px; padding: 12px 15px;
  border-radius: var(--radius);
  background: var(--gold-soft); border: 1px solid #e8d9bd;
  border-left: 3px solid var(--gold);
  font-size: 13px; line-height: 1.7; color: #8a6620;
}
.rds-gate b { font-weight: 700; }
.rds-gate i {
  font-style: normal; flex: 0 0 auto; font-size: 15px; line-height: 1.4;
}

@media (max-width: 640px) {
  .rdc-gate { padding: 8px 10px; }
  .rdc-gate span { font-size: 11.5px; }
  .rds-gate { padding: 10px 12px; font-size: 12.5px; }
}

/* ---- 机会卡片 · 尚未确认的信息（Mvp验证指令 10 要素之五） ---- */
.rdc-unconfirmed {
  padding: 9px 12px; border-radius: var(--radius);
  background: #fbf9f4; border: 1px dashed #e3dccd;
}
.rdc-unconfirmed i { color: #8a6620; }
.rdc-unconfirmed ul { margin: 2px 0 0; padding-left: 16px; }
.rdc-unconfirmed li {
  font-size: 12.5px; line-height: 1.7; color: var(--ink-3);
  list-style: disc;
}
.rdc-unconfirmed li::marker { color: var(--gold); }
.rdc-foot .rdc-src { display: block; line-height: 1.6; }
@media (max-width: 640px) {
  .rdc-unconfirmed { padding: 8px 10px; }
  .rdc-unconfirmed li { font-size: 12px; }
}

/* =========================================================
 * V2.2 · 统一匹配模型 UI（MVP 第四阶段）
 *   商业目标选择 + 路径徽章 + 11 要素卡片
 * ========================================================= */

/* ---- 第一步：商业目标选择 ---- */
.rm-goals { max-width: 940px; margin: 0 auto 26px; }
.rmg-q {
  text-align: center; font-size: 17px; font-weight: 700; color: var(--ink);
  margin-bottom: 16px; letter-spacing: -.01em;
}
.rmg-list { display: grid; grid-template-columns: repeat(auto-fit, minmax(280px, 1fr)); gap: 10px; }
.rmg-card {
  display: flex; align-items: center; gap: 12px;
  padding: 15px 17px; text-align: left; cursor: pointer;
  background: var(--card); border: 1px solid var(--line); border-radius: var(--radius);
  box-shadow: var(--shadow); transition: .18s;
}
.rmg-card:hover { border-color: var(--accent); transform: translateY(-2px); }
.rmg-card.on { border-color: var(--accent); background: var(--accent-soft); }
.rmg-icon { font-size: 21px; flex: 0 0 auto; }
.rmg-main { flex: 1; display: flex; flex-direction: column; gap: 3px; min-width: 0; }
.rmg-main b { font-size: 14.5px; font-weight: 700; color: var(--ink); }
.rmg-main i { font-size: 11.5px; color: var(--ink-3); font-style: normal; }
.rmg-go { flex: 0 0 auto; font-size: 17px; color: var(--ink-3); }
.rmg-card.on .rmg-go { color: var(--accent); }

/* ---- 路径徽章 ---- */
.rm-path-badge {
  display: flex; flex-wrap: wrap; align-items: center; gap: 9px;
  margin-bottom: 12px;
}
.rmpb-tag {
  font-size: 12px; font-weight: 700; padding: 4px 11px; border-radius: 999px;
  background: var(--accent-soft); color: var(--accent-deep); border: 1px solid #ccdaf9;
}
.rmpb-q { font-size: 13.5px; font-weight: 600; color: var(--ink); }
.rmpb-mv { font-size: 11.5px; color: var(--ink-3); }

/* ---- 摘要区：路径维度展示 ---- */
.rds-dims {
  display: flex; flex-wrap: wrap; align-items: center; gap: 7px;
  padding: 10px 0 4px; font-size: 12.5px; color: var(--ink-3);
}
.rds-dims b { color: var(--ink-2); font-weight: 600; }
.rds-dim {
  display: inline-flex; align-items: center; gap: 4px;
  padding: 3px 9px; border-radius: 999px;
  background: var(--paper); border: 1px solid var(--line); font-size: 11.5px; color: var(--ink-2);
}
.rds-dim i {
  font-style: normal; font-weight: 700; color: var(--accent-deep);
  background: var(--accent-soft); border-radius: 999px; padding: 0 5px; font-size: 10.5px;
}
.rds-nomatch {
  margin: 8px 0 0; padding: 10px 13px; border-radius: var(--radius);
  background: var(--gold-soft); border-left: 3px solid var(--gold);
  font-size: 12.5px; line-height: 1.7; color: #8a6620;
}

/* ---- 路径化卡片 ---- */
.rd-path-A { border-left: 3px solid var(--accent); }
.rd-path-B { border-left: 3px solid var(--green); }
.rd-path-C { border-left: 3px solid var(--gold); }
.rd-path-D { border-left: 3px solid #7c5cd6; }

.rd-card.rd-blocked {
  opacity: .72; border-style: dashed; background: #fbfaf7;
}
.rd-card.rd-blocked .rdc-gate { background: #f4f1ea; border-color: #ddd6c7; border-left-color: #a89a7e; }
.rd-card.rd-blocked .rdc-gate b { color: #7a6d55; }
.rd-card.rd-blocked .rdc-gate span { color: #8d8270; }
.rd-card.rd-blocked .rdc-tier { background: #f2efe8; border-color: #e0d9ca; color: #7d7360; }

.rdc-path-desc { color: var(--ink-3); font-size: 12.5px; }

/* AI 理由块 */
.rdc-ai-reason {
  margin: 12px 0; padding: 11px 14px; border-radius: var(--radius);
  background: var(--accent-soft); border-left: 3px solid var(--accent);
  font-size: 13px; line-height: 1.75; color: var(--ink-2);
}
.rdc-ai-reason b { display: block; font-size: 11.5px; color: var(--accent-deep); margin-bottom: 4px; }
.rdc-ai-reason i { font-style: normal; color: var(--ink-3); font-size: 12px; }

/* 隐藏/被排除提示条 */
.rd-hidden-note {
  display: flex; align-items: center; justify-content: center; flex-wrap: wrap; gap: 10px;
  padding: 14px; margin-top: 14px; text-align: center;
  border: 1px dashed var(--line); border-radius: var(--radius);
  background: var(--paper); font-size: 12.5px; color: var(--ink-3);
}
.rd-hidden-note b { color: var(--ink-2); }

/* 空态 */
.rd-empty {
  padding: 30px 26px; text-align: center;
  background: var(--card); border: 1px dashed var(--line); border-radius: var(--radius);
}
.rd-empty b { display: block; font-size: 15px; color: var(--ink); margin-bottom: 10px; }
.rd-empty p { font-size: 13px; line-height: 1.8; color: var(--ink-3); margin: 6px 0; }

/* 验证状态标签配色 */
.rdc-status.ov-real { background: var(--paper); border-color: var(--line); color: var(--ink-2); }
.rdc-status.ov-public { background: var(--accent-soft); border-color: #ccdaf9; color: var(--accent-deep); }
.rdc-status.ov-demand { background: var(--gold-soft); border-color: #eddcc0; color: #8a6620; }
.rdc-status.ov-verified { background: #e6f7f0; border-color: #bfe6d7; color: #0e7a54; }
.rdc-status.ov-demo { background: #f3f1ec; border-color: #e0dbd0; color: #857c6b; }

@media (max-width: 640px) {
  .rmg-list { grid-template-columns: 1fr; }
  .rmg-q { font-size: 15.5px; }
  .rmg-card { padding: 13px 14px; }
  .rdc-ai-reason { font-size: 12.5px; padding: 10px 12px; }
}

/* =========================================================
 * 灰度湾 MVP 第五阶段 · 目标对象 / 商业机会关系样式
 * ---------------------------------------------------------
 * 新增：自匹配识别条、目标粒度徽章（四级）、机会卡片补充文本、
 *       被排除候选列表、类型级连接警示
 * ========================================================= */

/* ⑪ 自匹配识别结果条 */
.rds-self {
  display: flex; gap: 10px; align-items: flex-start;
  padding: 11px 14px; margin: 12px 0;
  background: rgba(36, 86, 230, .06);
  border: 1px solid rgba(36, 86, 230, .22);
  border-left: 3px solid var(--accent);
  border-radius: 10px;
  font-size: 13px; line-height: 1.7; color: var(--ink-2);
}
.rds-self i { font-style: normal; font-size: 14px; line-height: 1.5; }
.rds-self b { color: var(--ink); }

/* ⑫ 目标对象粒度徽章（四级）*/
.rdc-grain,
.rdc-grain-inline {
  display: inline-block; border-radius: 6px;
  padding: 2px 8px; font-size: 11px; font-weight: 700;
  letter-spacing: .02em; white-space: nowrap;
  border: 1px solid transparent;
}
.rdc-grain-inline { margin-right: 6px; }

/* type —— 潜在目标类型（最弱，禁止展示为已找到的机构） */
.rgb-type {
  background: rgba(185, 138, 47, .12);
  color: #8a6520;
  border-color: rgba(185, 138, 47, .34);
}
/* scenario —— 应用 / 验证场景 */
.rgb-scenario {
  background: rgba(120, 120, 140, .12);
  color: #5c6270;
  border-color: rgba(120, 120, 140, .3);
}
/* industry —— 行业类别目标 */
.rgb-industry {
  background: rgba(36, 86, 230, .1);
  color: #1d47c4;
  border-color: rgba(36, 86, 230, .3);
}
/* organization —— 具体机构（唯一可联系的粒度） */
.rgb-organization {
  background: rgba(14, 159, 110, .13);
  color: #0a7d56;
  border-color: rgba(14, 159, 110, .38);
}

/* 需求类型徽章（PRD 4.4：已知/隐性/潜在/未来） */
.rdc-dnature {
  display: inline-block; border-radius: 6px;
  padding: 2px 8px; font-size: 11px; font-weight: 700;
  letter-spacing: .02em; white-space: nowrap;
  border: 1px solid transparent;
}
/* known 已知需求 —— 绿（有公开采购/交付信号） */
.dn-known { background: rgba(14, 159, 110, .13); color: #0a7d56; border-color: rgba(14, 159, 110, .38); }
/* implicit 隐性需求 —— 蓝（业务/流程存在问题，未公开采购） */
.dn-implicit { background: rgba(36, 86, 230, .1); color: #1d47c4; border-color: rgba(36, 86, 230, .3); }
/* latent 潜在需求 —— 金（技术可能解决问题，尚需验证 · 核心能力） */
.dn-latent { background: rgba(185, 138, 47, .13); color: #8a6520; border-color: rgba(185, 138, 47, .36); }
/* future 未来需求 —— 灰（技术/条件成熟后才可能出现） */
.dn-future { background: rgba(120, 120, 140, .12); color: #5c6270; border-color: rgba(120, 120, 140, .3); }


/* ⑬ 卡片内补充说明文本（不抢主文本层级） */
.rdc-sub {
  display: inline-block;
  font-size: 12px; color: var(--ink-3); line-height: 1.75;
}
.rdc-sub b { color: #c0392b; font-weight: 700; }

/* ⑭ 被排除候选列表（自匹配 / 同源 / 无交集 / 成熟度） */
.rd-exc {
  display: flex; flex-direction: column; gap: 3px;
  padding: 9px 12px; margin-bottom: 8px;
  background: var(--card);
  border: 1px solid var(--line);
  border-left: 3px solid #b9bec9;
  border-radius: 8px;
}
.rd-exc b { font-size: 12.5px; color: var(--ink-2); font-weight: 700; }
.rd-exc span { font-size: 11.5px; color: var(--ink-3); line-height: 1.7; }

/* ⑮ 类型级 / 场景级目标对象的连接警示条 */
.rd-perm-warn {
  background: rgba(185, 138, 47, .09) !important;
  border-left-color: var(--gold) !important;
  color: #7a5717 !important;
}
.rd-perm-warn b { color: #6a4a10; }

/* ⑯ 机会卡片：目标对象行的强调 */
.rdc-brief > div > p > b:first-of-type { color: var(--ink); }

/* =========================================================
 * 灰度湾 MVP 第五阶段 · 数据核实流程（最小可用审核）
 * ========================================================= */
.ap-wrap { margin-top: 34px; }
.ap-wrap .sec-title.sm { font-size: 24px; }

.ap-head {
  display: flex; flex-wrap: wrap; gap: 18px;
  align-items: flex-start; justify-content: space-between;
  padding: 18px 20px; margin-top: 20px;
  background: var(--card); border: 1px solid var(--line);
  border-radius: var(--radius); box-shadow: var(--shadow);
}
.ap-head h3 { font-size: 18px; font-weight: 800; margin-bottom: 6px; }
.ap-head p { font-size: 13px; color: var(--ink-3); line-height: 1.8; max-width: 560px; }
.ap-tabs { display: flex; flex-wrap: wrap; gap: 8px; }
.ap-tab {
  display: inline-flex; align-items: center; gap: 6px;
  padding: 8px 13px; border: 1px solid var(--line); background: #fff;
  border-radius: 9px; font-size: 13px; font-weight: 700; color: var(--ink-2);
  cursor: pointer; transition: .16s;
}
.ap-tab:hover { border-color: var(--accent); color: var(--accent); }
.ap-tab.on { background: var(--accent); border-color: var(--accent); color: #fff; }
.ap-tab i {
  font-style: normal; font-size: 11.5px; font-weight: 800;
  padding: 1px 6px; border-radius: 20px;
  background: rgba(0, 0, 0, .07); color: inherit;
}
.ap-tab.on i { background: rgba(255, 255, 255, .25); }

/* 固定警示条 */
.ap-warn {
  margin-top: 14px; padding: 13px 16px;
  background: rgba(192, 57, 43, .06);
  border: 1px solid rgba(192, 57, 43, .22);
  border-left: 3px solid #c0392b;
  border-radius: 10px;
  font-size: 13px; line-height: 1.85; color: #7d3a33;
}
.ap-warn b { color: #a6352a; }
.ap-warn.soft {
  background: rgba(36, 86, 230, .05);
  border-color: rgba(36, 86, 230, .2);
  border-left-color: var(--accent);
  color: #2b437a;
}
.ap-warn.soft b { color: #1d47c4; }

.ap-body { margin-top: 18px; }

/* 统计条 */
.ap-stats { display: grid; grid-template-columns: repeat(auto-fit, minmax(118px, 1fr)); gap: 10px; margin-bottom: 16px; }
.ap-stat {
  position: relative; padding: 13px 15px;
  background: var(--card); border: 1px solid var(--line);
  border-radius: 10px; overflow: hidden;
}
.ap-stat::before { content: ""; position: absolute; left: 0; top: 0; bottom: 0; width: 3px; background: var(--line); }
.ap-stat b { display: block; font-size: 24px; font-weight: 800; line-height: 1.15; }
.ap-stat span { font-size: 12.5px; color: var(--ink-3); font-weight: 600; }
.ap-stat.as-pending::before { background: #b9bec9; }
.ap-stat.as-review::before { background: var(--accent); }
.ap-stat.as-confirmed::before { background: var(--green); }
.ap-stat.as-insuf::before { background: var(--gold); }
.ap-stat.as-rejected::before { background: #c0392b; }

/* 筛选按钮 */
.ap-filter { display: flex; flex-wrap: wrap; gap: 7px; margin-bottom: 14px; }
.ap-fbtn {
  padding: 6px 12px; border: 1px solid var(--line); background: #fff;
  border-radius: 20px; font-size: 12.5px; font-weight: 600; color: var(--ink-3); cursor: pointer; transition: .16s;
}
.ap-fbtn:hover { border-color: var(--accent); color: var(--accent); }
.ap-fbtn.on { background: var(--ink); border-color: var(--ink); color: #fff; }

/* 列表卡片 */
.ap-list { display: grid; grid-template-columns: repeat(auto-fill, minmax(320px, 1fr)); gap: 12px; }
.ap-card {
  padding: 15px 17px; background: var(--card);
  border: 1px solid var(--line); border-radius: var(--radius);
  display: flex; flex-direction: column; gap: 8px;
  transition: .18s;
}
.ap-card:hover { border-color: var(--accent); box-shadow: 0 6px 20px rgba(36, 86, 230, .09); }
.apc-top { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; }
.apc-id {
  font-size: 11.5px; font-weight: 800; letter-spacing: .04em;
  padding: 2px 8px; border-radius: 6px;
  background: rgba(36, 86, 230, .1); color: #1d47c4;
}
.apc-kind { font-size: 11.5px; color: var(--ink-3); font-weight: 600; }
.apc-name { font-size: 15px; font-weight: 700; line-height: 1.55; color: var(--ink); }
.apc-meta { font-size: 12px; color: var(--ink-3); line-height: 1.7; }
.apc-meta.warn { color: #a6352a; font-weight: 600; }
.apc-bar { height: 4px; background: var(--line); border-radius: 4px; overflow: hidden; }
.apc-bar b { display: block; height: 100%; background: var(--green); border-radius: 4px; }
.ap-open {
  align-self: flex-start; margin-top: 2px;
  padding: 7px 14px; border: 1px solid var(--accent); background: transparent;
  color: var(--accent); border-radius: 8px; font-size: 12.5px; font-weight: 700; cursor: pointer; transition: .16s;
}
.ap-open:hover { background: var(--accent); color: #fff; }

/* 状态徽章 */
.ap-status {
  display: inline-flex; align-items: center; gap: 4px;
  padding: 2px 9px; border-radius: 20px;
  font-size: 11.5px; font-weight: 700;
}
.as-pending   { background: rgba(120, 120, 140, .12); color: #5c6270; }
.as-review    { background: rgba(36, 86, 230, .12);  color: #1d47c4; }
.as-confirmed { background: rgba(14, 159, 110, .13); color: #0a7d56; }
.as-insuf     { background: rgba(185, 138, 47, .14); color: #8a6520; }
.as-rejected  { background: rgba(192, 57, 43, .1);   color: #a6352a; }

/* 模态框 */
.ap-mask {
  position: fixed; inset: 0; z-index: 90;
  background: rgba(14, 18, 30, .55);
  display: none; align-items: center; justify-content: center; padding: 24px;
}
.ap-mask.show { display: flex; }
.ap-modal {
  position: relative; width: min(820px, 100%); max-height: 88vh; overflow: auto;
  background: #fff; border-radius: 16px; padding: 26px 28px;
  box-shadow: 0 24px 60px rgba(0, 0, 0, .28);
}
.ap-close {
  position: absolute; right: 16px; top: 14px;
  width: 32px; height: 32px; border: none; background: transparent;
  font-size: 22px; color: var(--ink-3); cursor: pointer; border-radius: 8px;
}
.ap-close:hover { background: var(--line); color: var(--ink); }
.apm-head { padding-bottom: 16px; border-bottom: 1px solid var(--line); margin-bottom: 18px; }
.apm-head h3 { font-size: 19px; font-weight: 800; margin: 8px 0 6px; line-height: 1.5; }
.apm-head p { font-size: 13px; color: var(--ink-3); margin-bottom: 10px; }

.apm-sec { margin-bottom: 22px; }
.apm-sec h4 {
  font-size: 14px; font-weight: 800; color: var(--ink);
  padding-bottom: 8px; margin-bottom: 12px; border-bottom: 1px solid var(--line);
}
.apm-note { font-size: 12.5px; color: var(--ink-3); line-height: 1.8; margin-top: 10px; }
.apm-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 14px; margin-top: 14px; }
.apm-time { font-size: 12px; color: var(--ink-3); }

.ap-table { width: 100%; border-collapse: collapse; font-size: 12.5px; }
.ap-table th {
  text-align: left; padding: 9px 10px; background: #f6f7fa;
  font-weight: 700; color: var(--ink-2); border-bottom: 1px solid var(--line);
  font-size: 12px; letter-spacing: .02em;
}
.ap-table td { padding: 10px; border-bottom: 1px solid var(--line); vertical-align: top; line-height: 1.7; color: var(--ink-2); }
.ap-table td b { display: block; color: var(--ink); font-size: 13px; margin-bottom: 2px; }
.ap-table td i { font-style: normal; font-size: 11.5px; color: var(--ink-3); }
.av-ok { color: var(--green); font-weight: 600; }
.av-missing { color: #b9bec9; font-style: italic; }
.ap-check { font-size: 11.5px; font-weight: 700; color: #b9bec9; }
.ap-check.ok { color: var(--green); }

/* 表单 */
.ap-form { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; margin-bottom: 12px; }
.ap-form label, .ap-full { display: flex; flex-direction: column; gap: 5px; font-size: 12.5px; font-weight: 700; color: var(--ink-2); }
.ap-full { margin-bottom: 12px; }
.ap-form input, .ap-form select, .ap-full textarea, .ap-form textarea {
  padding: 9px 11px; border: 1px solid var(--line); border-radius: 8px;
  font-size: 13px; font-family: inherit; color: var(--ink); background: #fff;
  font-weight: 400;
}
.ap-form input:focus, .ap-form select:focus, .ap-form textarea:focus { outline: none; border-color: var(--accent); }
.apm-sec > label { display: flex; flex-direction: column; gap: 5px; font-size: 12.5px; font-weight: 700; color: var(--ink-2); }
.apm-sec > label input, .apm-sec > label textarea {
  padding: 9px 11px; border: 1px solid var(--line); border-radius: 8px;
  font-size: 13px; font-family: inherit; font-weight: 400;
}
.ap-primary {
  padding: 9px 20px; border: none; background: var(--accent); color: #fff;
  border-radius: 9px; font-size: 13.5px; font-weight: 700; cursor: pointer; transition: .16s;
}
.ap-primary:hover { background: #1d47c4; }

/* 机构档案列表 */
.ap-orglist { display: flex; flex-direction: column; gap: 10px; }
.ap-org {
  position: relative; padding: 12px 14px;
  background: #f6f7fa; border: 1px solid var(--line); border-radius: 10px;
  display: flex; flex-direction: column; gap: 4px;
}
.ap-org b { font-size: 14px; color: var(--ink); }
.ap-org span { font-size: 12px; color: var(--ink-3); line-height: 1.7; }
.ap-orgref { font-family: ui-monospace, "SF Mono", Consolas, monospace; font-size: 11.5px !important; }
.ap-orgcat { color: var(--accent) !important; font-weight: 600; }
.ap-del {
  position: absolute; right: 12px; top: 12px;
  padding: 4px 10px; border: 1px solid rgba(192, 57, 43, .3);
  background: transparent; color: #c0392b; border-radius: 7px;
  font-size: 11.5px; font-weight: 700; cursor: pointer;
}
.ap-del:hover { background: #c0392b; color: #fff; }

@media (max-width: 720px) {
  .ap-form { grid-template-columns: 1fr; }
  .ap-list { grid-template-columns: 1fr; }
  .ap-head { flex-direction: column; }
  .ap-modal { padding: 20px 18px; }
  .ap-table { font-size: 12px; }
}

/* =========================================================
 * 灰度湾 · 目标机构自动发现引擎（第六阶段）
 * 命名前缀：.dc-（discovery）
 * 说明：本区块位于浅色纸面上，使用深色文字；仅 banner 使用深色底 + 浅色字
 * ========================================================= */

.dc-section { margin-top: 64px; }

.dc-wrap {
  background: var(--card);
  border: 1px solid var(--line);
  border-radius: var(--radius);
  box-shadow: var(--shadow);
  overflow: hidden;
}

.dc-head { padding: 28px 30px 0; }
.dc-head h3 { font-size: 22px; font-weight: 700; color: var(--ink); letter-spacing: -.01em; }
.dc-head-sub { margin-top: 10px; font-size: 14px; line-height: 1.75; color: var(--ink-2); max-width: 860px; }
.dc-head-sub b { color: var(--ink); }

/* ---------- 能力边界声明 ---------- */
.dc-banner {
  margin: 20px 30px 0;
  background: linear-gradient(140deg, #14161c 0%, #1d2230 100%);
  border-radius: 12px;
  padding: 18px 20px;
  color: #e8ecf4;
}
.dc-banner-h {
  display: flex; align-items: center; gap: 8px;
  font-size: 13px; font-weight: 700; letter-spacing: .02em;
  color: #fff;
}
.dc-dot {
  width: 7px; height: 7px; border-radius: 50%;
  background: var(--gold); box-shadow: 0 0 0 4px rgba(185,138,47,.18);
}
.dc-banner-b { margin-top: 12px; }
.dc-banner-b p { font-size: 13px; line-height: 1.85; color: #b9c1d1; margin-bottom: 6px; }
.dc-banner-b p:last-child { margin-bottom: 0; }
.dc-banner-b b { color: #fff; }
.dc-banner-b code {
  font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
  font-size: 12px; background: rgba(255,255,255,.09);
  padding: 2px 7px; border-radius: 5px; color: #d7c79a;
}

/* ---------- 概览数字 ---------- */
.dc-stats {
  display: flex; flex-wrap: wrap; gap: 0;
  margin: 22px 30px 0;
  border: 1px solid var(--line); border-radius: 12px; overflow: hidden;
}
.dc-stat {
  flex: 1 1 0; min-width: 130px;
  padding: 16px 18px;
  border-right: 1px solid var(--line);
  background: #fcfcfe;
}
.dc-stat:last-child { border-right: none; }
.dc-stat b { display: block; font-size: 26px; font-weight: 700; color: var(--accent); letter-spacing: -.02em; }
.dc-stat span { display: block; margin-top: 5px; font-size: 12px; color: var(--ink-3); }
.dc-stat.is-exc b { color: var(--ink-3); }
.dc-stat.is-ok b { color: var(--green); }
.dc-stat.is-no b { color: var(--gold); }

.dc-stats2 {
  margin: 12px 30px 0;
  display: flex; flex-wrap: wrap; gap: 10px 22px;
  font-size: 12px; color: var(--ink-3);
}
.dc-stats2 i {
  font-style: normal; display: inline-block;
  background: var(--paper); border: 1px solid var(--line);
  border-radius: 20px; padding: 3px 10px; margin-right: 6px;
  color: var(--ink-2);
}

/* ---------- 标签页 ---------- */
.dc-tabs {
  display: flex; flex-wrap: wrap; gap: 6px;
  margin: 24px 30px 0; padding-bottom: 0;
  border-bottom: 1px solid var(--line);
}
.dc-tab {
  appearance: none; border: none; background: transparent; cursor: pointer;
  font-family: var(--font); font-size: 14px; font-weight: 600;
  color: var(--ink-3); padding: 10px 14px;
  border-bottom: 2px solid transparent; margin-bottom: -1px;
  transition: color .16s;
}
.dc-tab:hover { color: var(--ink-2); }
.dc-tab.on { color: var(--accent); border-bottom-color: var(--accent); }
.dc-tab em {
  font-style: normal; font-size: 11px; font-weight: 700;
  background: var(--accent-soft); color: var(--accent);
  border-radius: 10px; padding: 1px 7px; margin-left: 6px;
}

.dc-body { padding: 22px 30px 30px; }
.dc-list { display: flex; flex-direction: column; gap: 12px; }
.dc-empty { padding: 30px; text-align: center; color: var(--ink-3); font-size: 14px; }

/* ---------- 搜索任务卡片 ---------- */
.dc-task {
  border: 1px solid var(--line); border-radius: 12px;
  padding: 16px 18px; background: #fcfcfe;
  border-left: 3px solid var(--line);
}
.dc-task.ts-ok { border-left-color: var(--green); }
.dc-task.ts-noresult { border-left-color: var(--gold); }
.dc-task.ts-failed { border-left-color: #d9534f; }
.dc-task.ts-skipped { border-left-color: var(--ink-3); }

.dc-task-h { display: flex; align-items: center; flex-wrap: wrap; gap: 8px; }
.dc-task-sup { font-size: 13px; font-weight: 700; color: var(--ink); }
.dc-path {
  font-size: 11px; font-weight: 700; border-radius: 5px; padding: 2px 7px;
  background: var(--accent-soft); color: var(--accent);
}
.dc-path.dp-A { background: #eef3ff; color: #2456e6; }
.dc-path.dp-B { background: #eaf7f0; color: #0e9f6e; }
.dc-path.dp-C { background: #fdf3e3; color: #b98a2f; }
.dc-path.dp-D { background: #f2eefb; color: #7346c9; }

.dc-ts { font-size: 11px; font-weight: 700; border-radius: 20px; padding: 3px 10px; }
.dc-ts.ts-ok { background: #e6f6ef; color: #0b7d56; }
.dc-ts.ts-noresult { background: #fbf1dd; color: #916a17; }
.dc-ts.ts-failed { background: #fdecec; color: #b83a36; }
.dc-ts.ts-skipped { background: #f0f1f4; color: #6b7280; }
.dc-ts.ts-pending { background: #f0f1f4; color: #6b7280; }
.dc-ts.ts-running { background: #eaf0ff; color: #2456e6; }

.dc-task-l { margin-top: 10px; font-size: 14px; color: var(--ink-2); line-height: 1.6; }
.dc-task-q {
  margin-top: 10px; display: flex; align-items: baseline; gap: 9px; flex-wrap: wrap;
  font-size: 12px; color: var(--ink-3);
}
.dc-task-q span { flex: 0 0 auto; }
.dc-task-q code {
  font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
  font-size: 12px; background: #f2f4f8; color: var(--ink-2);
  padding: 3px 9px; border-radius: 6px; word-break: break-all;
}
.dc-task-m {
  margin-top: 9px; display: flex; flex-wrap: wrap; gap: 16px;
  font-size: 12px; color: var(--ink-3);
}
.dc-task-orgs { margin-top: 11px; display: flex; flex-wrap: wrap; gap: 7px; }
.dc-orgchip {
  appearance: none; cursor: pointer; font-family: var(--font);
  font-size: 12px; font-weight: 600;
  background: var(--accent-soft); color: var(--accent);
  border: 1px solid #d3e0ff; border-radius: 20px; padding: 4px 12px;
  transition: background .15s;
}
.dc-orgchip:hover { background: #dfe9ff; }
.dc-task-note {
  margin-top: 11px; font-size: 13px; line-height: 1.7; color: var(--ink-2);
  padding: 10px 13px; background: #f7f8fb; border-radius: 8px;
}
.dc-task-lesson {
  margin-top: 8px; font-size: 12px; line-height: 1.7; color: #8a6d1f;
  padding: 9px 13px; background: var(--gold-soft); border-radius: 8px;
}

/* ---------- 机构档案卡片 ---------- */
.dc-card {
  border: 1px solid var(--line); border-radius: 12px;
  background: #fff; overflow: hidden;
}
.dc-card-h { padding: 15px 18px; cursor: pointer; transition: background .15s; }
.dc-card-h:hover { background: #fafbfd; }
.dc-card-t { display: flex; align-items: center; flex-wrap: wrap; gap: 9px; }
.dc-card-name { font-size: 15px; font-weight: 700; color: var(--ink); }
.dc-card-sub {
  margin-top: 9px; display: flex; align-items: center; flex-wrap: wrap;
  gap: 12px; font-size: 12px; color: var(--ink-3);
}
.dc-arrow { margin-left: auto; font-size: 17px; color: var(--ink-3); font-weight: 400; }

.dc-kind {
  font-size: 11px; font-weight: 700; border-radius: 5px; padding: 2px 8px;
  background: #eef1f6; color: #495066;
}
.dc-kind.dk-enterprise { background: #eaf0ff; color: #2456e6; }
.dc-kind.dk-channel { background: #fdf3e3; color: #b98a2f; }
.dc-kind.dk-integrator { background: #f2eefb; color: #7346c9; }
.dc-kind.dk-partner { background: #eaf7f0; color: #0e9f6e; }
.dc-kind.dk-research { background: #eef6f8; color: #2a7f95; }
.dc-kind.dk-unknown { background: #f0f1f4; color: #6b7280; }

.dc-conf { font-size: 11px; font-weight: 700; border-radius: 5px; padding: 2px 8px; }
.dc-conf.cf-high { background: #e6f6ef; color: #0b7d56; }
.dc-conf.cf-medium { background: #fbf1dd; color: #916a17; }
.dc-conf.cf-low { background: #f0f1f4; color: #6b7280; }

.dc-opp { font-size: 11px; font-weight: 700; border-radius: 20px; padding: 3px 10px; }
.dc-opp.os-found { background: #eef3ff; color: #2456e6; }
.dc-opp.os-verified { background: #e6f6ef; color: #0b7d56; }
.dc-opp.os-contacted { background: #fdf3e3; color: #b98a2f; }
.dc-opp.os-declined { background: #f0f1f4; color: #6b7280; }

.dc-region { color: var(--ink-3); }

.dc-card-body { display: none; padding: 4px 18px 20px; border-top: 1px solid var(--line); }
.dc-card.open .dc-card-body { display: block; }

.dc-field { margin-top: 16px; }
.dc-field label {
  display: block; font-size: 11px; font-weight: 700; letter-spacing: .04em;
  text-transform: uppercase; color: var(--ink-3); margin-bottom: 7px;
}
.dc-field > div { font-size: 13.5px; line-height: 1.75; color: var(--ink-2); }
.dc-field > div b { color: var(--ink); }
.dc-field a { color: var(--accent); text-decoration: none; word-break: break-all; }
.dc-field a:hover { text-decoration: underline; }
.dc-na { color: var(--ink-3); font-style: italic; }
.dc-rel { padding: 11px 14px; background: #f7f8fb; border-radius: 8px; }

.dc-sup {
  display: inline-block; font-size: 12px; font-weight: 600;
  background: #eef1f6; color: #495066; border-radius: 5px;
  padding: 2px 8px; margin-right: 6px;
}

/* 事实 / 推断 / 未确认 */
.dc-claims { display: flex; flex-direction: column; gap: 7px; }
.dc-claim-row { display: flex; gap: 9px; align-items: flex-start; }
.dc-claim-row span { flex: 1; font-size: 13px; line-height: 1.7; color: var(--ink-2); }
.dc-claim {
  flex: 0 0 auto; width: 18px; height: 18px; line-height: 18px;
  text-align: center; border-radius: 50%; font-size: 10px; margin-top: 2px;
}
.dc-claim.cm-fact { background: #e6f6ef; color: #0b7d56; }
.dc-claim.cm-inference { background: #fdf3e3; color: #b98a2f; }
.dc-claim.cm-unknown { background: #f0f1f4; color: #969ba6; }
.dc-claim-row.cr-fact span { color: var(--ink); }

.dc-unc { padding: 12px 14px; background: #fdf8f0; border-radius: 8px; border: 1px solid #f2e5c9; }
.dc-unc label { color: #916a17; }
.dc-unc > div { color: #6d5416; }

/* 来源 */
.dc-srcs { display: flex; flex-direction: column; gap: 8px; }
.dc-srcrow { display: flex; align-items: center; flex-wrap: wrap; gap: 8px; }
.dc-srcrow a { font-size: 12px !important; }
.dc-srcrow em { font-style: normal; font-size: 11px; color: var(--ink-3); }
.dc-src {
  font-size: 11px; font-weight: 700; border-radius: 5px; padding: 2px 8px;
  flex: 0 0 auto;
}
.dc-src.r5 { background: #e6f6ef; color: #0b7d56; }
.dc-src.r4 { background: #eaf7f0; color: #0e9f6e; }
.dc-src.r3 { background: #eef3ff; color: #2456e6; }
.dc-src.r2 { background: #fbf1dd; color: #916a17; }
.dc-src.r1 { background: #fdecec; color: #b83a36; }

/* ---------- 排除项 ---------- */
.dc-excnote {
  padding: 13px 16px; background: #f7f8fb; border-radius: 10px;
  font-size: 13px; line-height: 1.75; color: var(--ink-2); margin-bottom: 14px;
}
.dc-excnote b { color: var(--ink); }
.dc-card.is-excluded { background: #fbfbfc; border-style: dashed; }
.dc-exc-badge {
  font-size: 11px; font-weight: 700; border-radius: 5px; padding: 2px 8px;
  background: #fdecec; color: #b83a36;
}

/* ---------- 剩余限制 ---------- */
.dc-limit {
  padding: 15px 18px; border: 1px solid var(--line); border-radius: 12px;
  background: #fcfcfe;
}
.dc-limit b { display: block; font-size: 13.5px; color: var(--ink); margin-bottom: 7px; }
.dc-limit p { font-size: 13px; line-height: 1.75; color: var(--ink-2); }

/* ---------- 响应式 ---------- */
@media (max-width: 760px) {
  .dc-head, .dc-body { padding-left: 18px; padding-right: 18px; }
  .dc-banner, .dc-stats, .dc-stats2, .dc-tabs { margin-left: 18px; margin-right: 18px; }
  .dc-stat { flex: 1 1 45%; min-width: 0; border-bottom: 1px solid var(--line); }
  .dc-stat b { font-size: 21px; }
  .dc-tabs { overflow-x: auto; flex-wrap: nowrap; }
  .dc-tab { white-space: nowrap; }
  .dc-card-sub { gap: 7px; }
  .dc-arrow { display: none; }
}

/* ---------- 第七阶段：机构质量分级 ---------- */
.dc-grade {
  font-size: 11px; font-weight: 700; border-radius: 5px; padding: 2px 8px;
}
.dc-grade.g-a { background: #e6f6ef; color: #0b7d56; border: 1px solid #b6e5d0; }
.dc-grade.g-b { background: #eaf0ff; color: #2456e6; border: 1px solid #cfdcff; }
.dc-grade.g-c { background: #fbf1dd; color: #916a17; border: 1px solid #ecd9ab; }
.dc-grade.g-d { background: #fdecec; color: #b83a36; border: 1px solid #f2c8c5; }

.dc-grade-legend {
  margin: 14px 30px 0; padding: 11px 14px;
  background: #f7f8fb; border: 1px solid var(--line); border-radius: 10px;
  display: flex; align-items: center; flex-wrap: wrap; gap: 8px;
  font-size: 12px; color: var(--ink-3);
}
.dc-gl-title { font-weight: 700; color: var(--ink-2); }
.dc-gl { padding: 2px 9px; border-radius: 5px; font-weight: 700; font-size: 11px; }
.dc-gl-note { color: var(--ink-3); font-style: italic; }

.dc-dims { display: flex; flex-wrap: wrap; gap: 6px; }
.dc-dim {
  font-size: 11px; font-weight: 600; border-radius: 20px; padding: 3px 10px;
  cursor: default;
}
.dc-dim.dv-verified { background: #e6f6ef; color: #0b7d56; }
.dc-dim.dv-partial { background: #fbf1dd; color: #916a17; }
.dc-dim.dv-none { background: #f0f1f4; color: #9aa0ab; text-decoration: line-through; }
.dc-grade-note {
  margin-top: 8px; font-size: 12.5px; line-height: 1.7; color: var(--ink-2);
  padding: 9px 12px; background: #fafbfd; border-radius: 8px; border-left: 3px solid var(--accent-soft);
}

@media (max-width: 760px) {
  .dc-grade-legend { margin-left: 18px; margin-right: 18px; }
}

/* =========================================================
 * 资源匹配引擎（V2 第一阶段）
 * ========================================================= */
.res-engine { padding: 72px 0 48px; }
.res-inputbox {
  max-width: 820px; margin: 28px auto 0; background: var(--card);
  border: 1px solid var(--line); border-radius: var(--radius);
  padding: 26px 28px; box-shadow: var(--shadow);
}
.res-field { display: flex; flex-direction: column; gap: 8px; }
.res-field label { font-size: 13px; font-weight: 700; color: var(--ink-2); }
.res-field textarea, .res-field input, .res-field select {
  border: 1px solid var(--line); border-radius: 10px; padding: 12px 14px;
  font-size: 15px; font-family: var(--font); color: var(--ink); background: #fff;
  resize: vertical; outline: none;
}
.res-field textarea:focus, .res-field input:focus, .res-field select:focus {
  border-color: var(--accent); box-shadow: 0 0 0 3px var(--accent-soft);
}
.res-field-row { display: grid; grid-template-columns: 1fr 1fr 1fr; gap: 14px; margin-top: 14px; }
.res-actions { display: flex; align-items: center; gap: 14px; margin-top: 20px; }
.res-hint { font-size: 12.5px; color: var(--ink-3); }
.res-examples { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; margin-top: 18px; }
.res-examples-label { font-size: 12.5px; color: var(--ink-3); font-weight: 600; }
.res-examples button {
  font-size: 12.5px; color: var(--accent); background: var(--accent-soft);
  border: none; border-radius: 20px; padding: 6px 12px; cursor: pointer;
}
.res-examples button:hover { background: #dbe6ff; }

.res-results { max-width: 820px; margin: 18px auto 0; }
/* 状态条（容器） */
.res-status {
  max-width: 820px; margin: 22px auto 0;
  font-size: 13px; line-height: 1.6; padding: 12px 16px; border-radius: 10px;
}
.res-status.ok { background: var(--accent-soft); color: var(--ink-2); border: 1px solid #dbe6ff; }
.res-status.err { background: #fdece9; color: #7c2d1d; border: 1px solid #f5c6bb; }
.res-status b { display: block; margin-bottom: 4px; }
/* 状态徽章（内嵌于状态区的小标签） */
.res-searching, .res-done, .res-fail {
  display: inline-block; font-size: 13.5px; font-weight: 600; padding: 8px 14px; border-radius: 8px;
}
.res-searching { color: var(--accent); background: var(--accent-soft); }
.res-done { color: #0b7d56; background: #e6f6ef; }
.res-fail { color: #b3412e; background: #fdece9; }
.res-empty { text-align: center; padding: 40px 20px; color: var(--ink-3); }
.res-empty b { color: var(--ink-2); font-size: 17px; }
.res-empty p { margin-top: 8px; font-size: 14px; }

.res-list { display: flex; flex-direction: column; gap: 16px; }
.res-card {
  background: var(--card); border: 1px solid var(--line); border-radius: var(--radius);
  padding: 20px 22px; box-shadow: var(--shadow);
  transition: transform .2s ease, box-shadow .2s ease;
}
.res-card:hover { transform: translateY(-2px); box-shadow: var(--shadow-lg); }
.res-top { display: flex; align-items: center; gap: 10px; flex-wrap: wrap; }
.res-kind { font-size: 13px; font-weight: 700; color: var(--accent); background: var(--accent-soft); padding: 4px 12px; border-radius: 20px; }
.res-rel { font-size: 12.5px; color: var(--ink-2); background: #f0f1f4; padding: 4px 10px; border-radius: 20px; }
.res-verify { font-size: 12.5px; font-weight: 700; padding: 4px 10px; border-radius: 20px; }
.rv-unverified { color: #916a17; background: #fbf1dd; }
.rv-partial { color: #916a17; background: #fbf1dd; }
.rv-verified { color: #0b7d56; background: #e6f6ef; }
.res-name { font-size: 19px; font-weight: 800; margin: 12px 0 8px; color: var(--ink); }
.res-meta { display: flex; flex-wrap: wrap; gap: 14px; font-size: 13px; color: var(--ink-3); margin-bottom: 10px; }
.res-desc { font-size: 14px; color: var(--ink-2); line-height: 1.7; }
.res-reasons { margin-top: 12px; padding: 12px 14px; background: #fafbfd; border-radius: 10px; border-left: 3px solid var(--accent); }
.res-reasons-t { font-size: 13px; font-weight: 700; color: var(--ink-2); margin-bottom: 6px; }
.res-reasons ul { list-style: none; }
.res-reasons li { font-size: 13.5px; color: var(--ink-2); padding: 3px 0; }
.res-reasons li::before { content: "· "; color: var(--accent); font-weight: 800; }
.res-links { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 12px; }
.res-link { font-size: 13.5px; color: var(--accent); text-decoration: none; font-weight: 600; }
.res-link:hover { text-decoration: underline; }
.res-official { color: var(--green); }
.res-contact { font-size: 13px; color: var(--ink-2); margin-top: 10px; padding: 8px 12px; background: var(--gold-soft); border-radius: 8px; }
.res-verify-note { font-size: 12.5px; color: #916a17; margin-top: 10px; }
.res-next { font-size: 13px; color: var(--ink-3); margin-top: 8px; }
.res-btns { display: flex; gap: 10px; margin-top: 14px; flex-wrap: wrap; }
.res-detail-btn, .res-fav-btn, .res-apply-btn {
  border: 1px solid var(--line); background: #fff; color: var(--ink-2);
  font-size: 13px; font-weight: 600; padding: 8px 16px; border-radius: 8px; cursor: pointer;
}
.res-detail-btn:hover, .res-fav-btn:hover { border-color: var(--ink); }
.res-fav-btn.on { color: var(--gold); border-color: var(--gold); }
.res-apply-btn { background: var(--accent); color: #fff; border-color: var(--accent); }
.res-apply-btn:hover { background: var(--accent-deep); }
.res-retry { text-align: center; margin-top: 20px; }

@media (max-width: 760px) {
  .res-field-row { grid-template-columns: 1fr; }
  .res-actions { flex-direction: column; align-items: stretch; }
  .res-hint { text-align: center; }
}
