:root{
  --ink:#0C0E10; --ink-2:#5B6470; --muted:#6B7480;
  --page:#FFFFFF; --surface:#FFFFFF; --surface-2:#F7F8FA;
  --line:#EDEFF2; --line-2:#DDE1E6; --line-3:#F2F4F6;
  --accent:#0F62FE; --accent-ink:#0B4ECC; --accent-soft:#9DBBFB; --accent-wash:#EEF3FF;
  --ok:#0A6B52; --warn:#8A5A12; --warn-wash:#FFF6E6;
  --f-body:"Noto Sans SC","PingFang SC","Hiragino Sans GB","Microsoft YaHei",system-ui,sans-serif;
  --f-mono:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;
  --r:12px;
  color-scheme:light;
}
@media (prefers-color-scheme:dark){
  :root:not([data-theme="light"]){
    --ink:#EAECEF; --ink-2:#A2AAB4; --muted:#98A1AC;
    --page:#0C0E10; --surface:#14171A; --surface-2:#191D21;
    --line:#24282D; --line-2:#2E343A; --line-3:#1E2226;
    --accent:#5C94FF; --accent-ink:#8AB2FF; --accent-soft:#2B4E93; --accent-wash:#131C2E;
    --ok:#3BB894; --warn:#D9A13B; --warn-wash:#2A2113;
    color-scheme:dark;
  }
}
:root[data-theme="dark"]{
  --ink:#EAECEF; --ink-2:#A2AAB4; --muted:#98A1AC;
  --page:#0C0E10; --surface:#14171A; --surface-2:#191D21;
  --line:#24282D; --line-2:#2E343A; --line-3:#1E2226;
  --accent:#5C94FF; --accent-ink:#8AB2FF; --accent-soft:#2B4E93; --accent-wash:#131C2E;
  --ok:#3BB894; --warn:#D9A13B; --warn-wash:#2A2113;
  color-scheme:dark;
}

*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--page);color:var(--ink);font-family:var(--f-body);font-size:16px;line-height:1.7;-webkit-font-smoothing:antialiased}
img{max-width:100%}
a{color:var(--accent);text-decoration:none}
a:hover{color:var(--accent-ink)}
:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:6px}
h1,h2,h3{letter-spacing:-.02em}
.shell{max-width:1040px;margin:0 auto;padding-inline:clamp(20px,4vw,40px);padding-bottom:64px}
.mono{font-family:var(--f-mono);font-size:.95em}

/* 站点头 */
.site-top{display:flex;align-items:center;gap:20px;padding:18px 0;border-bottom:1px solid var(--line)}
.wordmark{font-size:19px;font-weight:800;letter-spacing:-.01em;color:var(--ink)}
.wordmark em{font-style:normal;color:inherit}
.site-top nav{margin-left:auto;display:flex;align-items:center;gap:26px;font-size:14.5px}
.site-top nav a{color:var(--ink-2)}
.site-top nav a:hover{color:var(--ink)}
.site-top nav a.nav-cta{background:var(--accent);color:#fff;font-weight:500;padding:9px 18px;border-radius:999px}
.site-top nav a.nav-cta:hover{background:var(--accent-ink);color:#fff}
.site-top nav .nav-toggle{font:inherit;font-size:14.5px;color:var(--ink-2);background:none;border:0;padding:0;
  cursor:pointer;display:inline-flex;align-items:center;gap:6px}
.site-top nav .nav-toggle:hover{color:var(--ink)}
.site-top nav .nav-toggle::after{content:"◂";font-size:11px;color:var(--muted);line-height:1}
html.rail-hidden .site-top nav .nav-toggle::after{content:"▸"}
@media (max-width:640px){.site-top nav a:not(.nav-cta){display:none}}
@media (max-width:1000px){.site-top nav .nav-toggle{display:none}}

/* 首屏 */
.lp-hero{padding:clamp(40px,6vw,80px) 0 0}
.status-line{display:flex;flex-wrap:wrap;align-items:center;gap:8px 14px;font-size:14px;color:var(--ink-2);margin:0 0 22px}
.status-line .state{display:inline-flex;align-items:center;gap:7px;color:var(--ok);font-weight:500}
.status-line .state.prep{color:var(--warn)}
.status-line .dot{width:7px;height:7px;border-radius:50%;background:currentColor}
.status-line .sep{color:var(--line-2)}
.lp-hero h1{font-size:clamp(31px,4.6vw,54px);line-height:1.18;font-weight:800;letter-spacing:-.025em;margin:0 0 20px;max-width:17em;text-wrap:balance}
.lp-hero .sub{font-size:19px;color:var(--ink-2);line-height:1.65;margin:0 0 34px;max-width:28em;text-wrap:pretty}
.hero h1{font-size:clamp(32px,5vw,56px);line-height:1.15;font-weight:800;letter-spacing:-.025em;margin:0 0 20px;max-width:18em}
.hero .sub{font-size:19px;color:var(--ink-2);margin:0 0 30px;max-width:30em}

/* 查询入口 */
.ask{display:flex;flex-wrap:wrap;gap:12px;align-items:center;max-width:620px;margin:0}
.ask input{font:inherit;font-size:15.5px;flex:1 1 300px;min-width:220px;height:52px;padding:0 20px;
  border-radius:999px;border:1px solid var(--line-2);background:var(--surface);color:var(--ink)}
.price-note{font-size:13.5px;color:var(--muted);margin:14px 0 0;max-width:46em}
/* 常查品类标签 */
.chips{display:flex;flex-wrap:wrap;align-items:center;gap:8px 10px;margin:16px 0 0;font-size:13.5px}
.chips .k{color:var(--muted)}
.chips a{border:1px solid var(--line-2);border-radius:999px;padding:5px 13px;color:var(--ink-2);line-height:1.4}
.chips a:hover{border-color:var(--accent);color:var(--accent)}

.btn{display:inline-flex;align-items:center;justify-content:center;font:inherit;font-size:15.5px;font-weight:500;
  height:50px;padding:0 28px;border-radius:999px;border:1px solid transparent;cursor:pointer;white-space:nowrap}
.btn-main{background:var(--accent);color:#fff}
.btn-main:hover{background:var(--accent-ink);color:#fff}
.btn-ghost{background:transparent;color:var(--accent);border-color:var(--line-2)}
.btn-ghost:hover{border-color:var(--accent)}
.ask .btn{height:52px}

/* 三条事实 */
.facts{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:26px 40px;margin:clamp(36px,5vw,60px) 0 0}
.facts b{display:block;font-size:16.5px;font-weight:500;margin-bottom:5px}
.facts span{font-size:14.5px;color:var(--muted);line-height:1.6}

/* 来源条 */
.src-strip{font-size:14.5px;color:var(--ink-2);margin:clamp(30px,4vw,44px) 0 0;padding-top:20px;border-top:1px solid var(--line)}
.src-strip .k{color:var(--muted);margin-right:10px}

/* 样例区 */
.sample{padding:clamp(44px,6vw,76px) 0 0}
.sample-head{display:flex;flex-wrap:wrap;align-items:baseline;gap:12px;margin:0 0 6px}
.sample-head h2{font-size:clamp(21px,2.6vw,27px);font-weight:700;margin:0}
.tag-demo{font-size:12.5px;color:var(--warn);background:var(--warn-wash);border-radius:999px;padding:3px 10px}
.tag-live{font-size:12.5px;color:var(--ok);background:var(--accent-wash);border-radius:999px;padding:3px 10px}
.sample-note{font-size:15px;color:var(--muted);margin:0 0 clamp(26px,3.5vw,38px)}

.tiles{display:grid;grid-template-columns:repeat(auto-fit,minmax(168px,1fr));gap:28px 36px;margin:0}
.tile .lab{font-size:14px;color:var(--muted)}
.tile .val{font-size:34px;font-weight:700;line-height:1.1;letter-spacing:-.03em;margin-top:6px;font-variant-numeric:tabular-nums}
.tile .val small{font-size:15px;font-weight:400;color:var(--ink-2);margin-left:2px}
.tile .fine{font-size:13.5px;color:var(--muted);margin-top:6px}

figure{margin:clamp(30px,4vw,44px) 0 0;max-width:640px}
figcaption{font-size:13.5px;color:var(--muted);margin-top:16px}
.chart{display:block;width:100%;height:auto;max-width:520px}
.chart .bar{fill:var(--accent)}
.chart .val{fill:var(--ink);font-size:13px;font-weight:500;font-variant-numeric:tabular-nums}
.chart .cat{fill:var(--muted);font-size:13px}
.chart .base{stroke:var(--line-2);stroke-width:1}

.tbl-wrap{overflow-x:auto;margin:clamp(30px,4vw,44px) 0 0}
table{border-collapse:collapse;width:100%;font-size:15px;min-width:620px}
th{text-align:left;font-size:13.5px;font-weight:400;color:var(--muted);padding:0 20px 12px 0;border-bottom:1px solid var(--line-2);white-space:nowrap}
td{padding:16px 20px 16px 0;border-bottom:1px solid var(--line-3);white-space:nowrap}
th:last-child,td:last-child{padding-right:0}
tbody tr:last-child td{border-bottom:0}
td.num,th.num{text-align:right;font-variant-numeric:tabular-nums}
td.num{font-weight:500}
.src{font-size:13.5px;color:var(--muted);margin:14px 0 0}

.chain{display:grid;grid-template-columns:repeat(auto-fit,minmax(290px,1fr));gap:16px;margin:0}
.chain > div{background:var(--surface-2);border-radius:var(--r);padding:22px 24px;font-size:15px}
.chain > div:last-child{background:var(--accent-wash)}
.chain h3{margin:0 0 10px;font-size:13.5px;font-weight:500;color:var(--muted);letter-spacing:0}
.chain > div:last-child h3{color:var(--accent)}
.chain ul{margin:0;padding-left:20px}
.chain li{margin:3px 0;line-height:1.8}

.cards4{display:grid;grid-template-columns:repeat(auto-fit,minmax(215px,1fr));gap:26px 34px}
.cards4 > div{font-size:15px;line-height:1.7}
.cards4 b{display:block;font-size:13.5px;font-weight:500;color:var(--warn);margin-bottom:8px}
.cards4 > div:first-child b{color:var(--ok)}

.feed{display:grid;gap:0;max-width:800px}
.feed > div{padding:16px 0;border-top:1px solid var(--line-3);font-size:15.5px;line-height:1.65}
.feed > div:last-child{border-bottom:1px solid var(--line-3)}
.feed .meta{font-size:13.5px;color:var(--muted);font-variant-numeric:tabular-nums}

pre{background:#0C0E10;color:#E6E9ED;border-radius:var(--r);padding:20px 22px;overflow-x:auto;
  font-family:var(--f-mono);font-size:13px;line-height:1.8;margin:clamp(20px,3vw,28px) 0 0}

/* 谁在用 */
.uses-wrap{padding:clamp(44px,6vw,76px) 0 0}
.uses-wrap h2{font-size:clamp(21px,2.6vw,27px);font-weight:700;margin:0 0 clamp(24px,3vw,34px)}
.uses{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:30px 40px}
.uses .k{display:block;font-size:13.5px;font-weight:500;color:var(--accent);margin-bottom:8px}
.uses b{display:block;font-size:17.5px;font-weight:500;margin-bottom:6px}
.uses span{font-size:15px;color:var(--ink-2);line-height:1.65}

/* 证言位 */
.quote{margin:clamp(44px,6vw,76px) 0 0;background:var(--surface-2);border-radius:var(--r);
  padding:clamp(28px,4vw,48px);display:flex;flex-wrap:wrap;gap:24px 48px;align-items:flex-start}
.quote .lab{font-size:13.5px;font-weight:500;color:var(--warn);margin-bottom:12px}
.quote p{flex:3 1 340px;min-width:250px;font-size:clamp(18px,2.2vw,23px);font-weight:500;line-height:1.6;margin:0}
.quote .by{flex:1 1 180px;min-width:160px;font-size:14.5px;color:var(--ink-2);line-height:1.8}

/* 数据从哪来 / 常见问题 */
.about{padding:clamp(44px,6vw,76px) 0 0}
.about h2,.faq h2{font-size:clamp(21px,2.6vw,27px);font-weight:700;margin:0 0 clamp(20px,2.6vw,28px)}
.about dl{display:grid;grid-template-columns:minmax(6em,auto) minmax(0,1fr);gap:0;margin:0}
.about dt{padding:16px 0;border-top:1px solid var(--line);font-size:14.5px;color:var(--muted)}
.about dd{padding:16px 0 16px 32px;border-top:1px solid var(--line);margin:0;font-size:15.5px}
.about dl > :nth-last-child(2),.about dl > :last-child{border-bottom:1px solid var(--line)}
@media (max-width:560px){
  .about dl{grid-template-columns:minmax(0,1fr)}
  .about dt{border-bottom:0;padding-bottom:0}
  .about dd{padding:6px 0 16px;border-top:0}
}
.faq{padding:clamp(44px,6vw,76px) 0 0}
.faq dl{margin:0;max-width:46em}
.faq dt{font-size:17.5px;font-weight:500;margin-top:26px}
.faq dt:first-of-type{margin-top:0}
.faq dd{margin:8px 0 0;font-size:15.5px;color:var(--ink-2)}

/* 表单 */
.form-card{margin:clamp(44px,6vw,76px) 0 0;background:var(--surface);border:1px solid var(--line);border-radius:16px;
  padding:clamp(24px,3.2vw,40px);box-shadow:0 1px 2px rgba(16,24,40,.04),0 16px 40px -24px rgba(16,24,40,.16)}
.form-card h2{font-size:clamp(21px,2.6vw,26px);font-weight:700;margin:0 0 8px}
.form-card .lead{font-size:15.5px;color:var(--ink-2);margin:0 0 30px;max-width:42em}
.fields{display:grid;grid-template-columns:repeat(auto-fit,minmax(252px,1fr));gap:22px 28px}
.field{display:flex;flex-direction:column;gap:8px;min-width:0}
.field.wide{grid-column:1/-1}
label{font-size:14.5px;font-weight:500}
label .opt{font-weight:400;color:var(--muted);font-size:13.5px}
input[type=text],input[type=email],select{font:inherit;font-size:15.5px;height:46px;padding:0 14px;border-radius:10px;
  border:1px solid var(--line-2);background:var(--surface);color:var(--ink);width:100%}
textarea{font:inherit;font-size:15.5px;padding:13px 14px;border-radius:10px;border:1px solid var(--line-2);
  background:var(--surface);color:var(--ink);width:100%;min-height:92px;resize:vertical;line-height:1.6}
.radios{display:flex;flex-wrap:wrap;gap:10px}
.radios label{display:inline-flex;align-items:center;gap:8px;font-weight:400;font-size:14.5px;
  border:1px solid var(--line-2);border-radius:999px;padding:9px 16px;cursor:pointer}
.radios label:hover{border-color:var(--accent)}
.radios input{accent-color:var(--accent);margin:0}
.consent{display:flex;gap:10px;align-items:flex-start;font-size:14px;color:var(--ink-2);font-weight:400;margin:24px 0 0}
.consent input{margin-top:5px;accent-color:var(--accent)}
.submit-row{display:flex;flex-wrap:wrap;align-items:center;gap:16px;margin:26px 0 0}
.form-msg{font-size:13.5px;color:var(--warn)}
.form-msg.ok{color:var(--ok)}

/* lab 索引 */
.lab-group{display:flex;align-items:center;gap:9px;margin:34px 0 6px;font-size:14px;font-weight:500;color:var(--ok)}
.lab-group:first-of-type{margin-top:clamp(28px,3.6vw,44px)}
.lab-group .dot{width:7px;height:7px;border-radius:50%;background:currentColor}
.lab-list{display:grid;gap:0}
.lab-list a{display:flex;flex-wrap:wrap;align-items:baseline;gap:6px 18px;padding:16px 8px;
  border-bottom:1px solid var(--line-3);color:var(--ink);border-radius:8px}
.lab-list a:last-child{border-bottom:0}
.lab-list a:hover{background:var(--surface-2);color:var(--ink)}
.lab-list .c{font-size:13.5px;color:var(--muted);width:40px;flex:none}
.lab-list .t{flex:1 1 300px;min-width:0;font-size:16px;font-weight:500}
.lab-list .t small{display:block;font-size:14px;font-weight:400;color:var(--muted);line-height:1.5}
.lab-list .s{font-size:13.5px;color:var(--accent);font-family:var(--f-mono)}

/* 其他方向 */
.more{padding:clamp(40px,5vw,64px) 0 0}
.more h2{font-size:17.5px;font-weight:500;margin:0 0 16px}
.more-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:14px}
.more-grid a{border:1px solid var(--line);border-radius:var(--r);padding:18px 20px;color:var(--ink)}
.more-grid a:hover{border-color:var(--accent);color:var(--ink)}
.more-grid .c{font-size:13px;color:var(--muted)}
.more-grid b{display:block;font-size:15.5px;font-weight:500;margin-top:5px}

footer{margin:clamp(44px,6vw,76px) 0 0;padding-top:26px;border-top:1px solid var(--line);
  font-size:13.5px;color:var(--muted);line-height:1.9}
footer a{color:var(--muted)}
footer a:hover{color:var(--ink-2)}
footer .row{display:flex;flex-wrap:wrap;gap:6px 24px}

/* 首页：判据 */
.why{padding:clamp(40px,5vw,64px) 0 0}
.why h2{font-size:clamp(20px,2.4vw,25px);font-weight:700;margin:0 0 clamp(20px,2.6vw,28px)}

/* 首页：左侧方向栏。
   12 个方向常驻左栏，从首屏就在，主栏才有一条不被打断的主线；sticky 让它一路跟着。
   不做折叠或标签页——收起来会偏置点击分布，而点击分布正是这轮要测的东西。
   DOM 顺序是 首屏 → 侧栏 → 主栏，窄屏塌成一列时顺序正好；宽屏靠 grid-area 把侧栏挪到左边。 */
body.with-rail .shell{max-width:1240px}
.home{display:grid;grid-template-columns:244px minmax(0,1fr);
  grid-template-areas:"rail hero" "rail main";
  column-gap:clamp(36px,4.5vw,72px);row-gap:0;align-items:start}
.home>.lp-hero{grid-area:hero}
.home>.rail{grid-area:rail}
.home>.hmain{grid-area:main;min-width:0}
@media (max-width:1000px){
  .home{grid-template-columns:minmax(0,1fr);grid-template-areas:none}
  .home>.lp-hero,.home>.rail,.home>.hmain{grid-area:auto}
}

.rail{position:sticky;top:24px;margin-top:clamp(40px,6vw,80px)}
@media (max-width:1000px){
  .rail{position:static;margin:clamp(30px,4vw,44px) 0 0;padding-top:24px;border-top:1px solid var(--line)}
}
.rail>h2{font-size:15px;font-weight:600;margin:0}
.rail>.hint{font-size:13px;color:var(--muted);margin:5px 0 20px;line-height:1.65;max-width:34em}
.rail section{margin:0 0 18px}
.rail section:last-child{margin-bottom:0}
.rail h3{font-size:12.5px;font-weight:500;color:var(--muted);margin:0 0 4px;letter-spacing:0}
.rail ul{list-style:none;margin:0;padding:0}
.rail a{display:flex;align-items:baseline;gap:7px;padding:6px 10px;margin-left:-10px;border-radius:8px;
  font-size:14.5px;line-height:1.5;color:var(--ink-2)}
.rail a:hover{background:var(--surface-2);color:var(--accent)}
.rail a.on{color:var(--accent);font-weight:500;background:var(--accent-wash)}

/* 收起：只在宽屏生效。窄屏侧栏是内联的一段，收起了就没有入口再打开它。 */
@media (min-width:1001px){
  html.rail-hidden .home{grid-template-columns:minmax(0,1fr);grid-template-areas:"hero" "main"}
  html.rail-hidden .rail{display:none}
  /* 收起后把版心收回 1040，正文不至于拉得太宽 */
  html.rail-hidden body.with-rail .shell{max-width:1040px}
}
@media (max-width:1000px){
  .rail ul{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:0 12px}
  .rail a{padding:8px 10px}
}

/* ---- 行业页、品类页、关于页（第一批 SEO） ---- */
.crumbs{display:flex;flex-wrap:wrap;align-items:center;gap:4px 7px;font-size:13px;color:var(--muted);margin:0 0 14px}
.crumbs a{color:var(--muted);text-decoration:none}
.crumbs a:hover{color:var(--accent)}
.crumbs .sep{opacity:.55}
.answer{font-size:clamp(15.5px,1.6vw,17px);line-height:1.85;color:var(--ink-2);max-width:48em;margin:16px 0 0}
.status-line .sep{margin:0 7px;opacity:.6}
.cols{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px 30px;margin-top:30px}
@media (max-width:760px){.cols{grid-template-columns:minmax(0,1fr)}}
.rank h3{font-size:15px;font-weight:600;margin:0 0 8px}
/* 全站 table 有 min-width:620px、单元格不换行；排行表放在两栏里，要去掉这两条 */
.rank table{width:100%;min-width:0}
.rank th{padding-bottom:8px}
.rank td{white-space:normal;overflow-wrap:anywhere;padding:10px 14px 10px 0}
.rank td.num{white-space:nowrap;padding-right:0}
.rank th.n,.rank td.n{width:2.4em;color:var(--muted)}
h2.sec{font-size:clamp(17px,2vw,20px);font-weight:700;margin:36px 0 12px}
table.notices td{vertical-align:top;white-space:normal}
table.notices td.num{white-space:nowrap}
table.notices td.t{min-width:14em}
table.notices td.p{min-width:8em}
td.nowrap{white-space:nowrap}
.ind-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:14px;margin-top:clamp(30px,4vw,44px)}
.ind-card{display:flex;flex-direction:column;gap:6px;padding:16px 18px;border:1px solid var(--line);border-radius:12px;
  text-decoration:none;color:inherit;background:var(--surface)}
.ind-card:hover{border-color:var(--accent)}
.ind-card b{font-size:16px}
.ind-card .stat{font-size:13.5px;color:var(--accent);word-break:keep-all}
.ind-card .sn,.ind-card .top{font-size:13px;color:var(--muted);line-height:1.65}
.cat-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(172px,1fr));gap:8px;margin-top:clamp(30px,4vw,44px)}
.cat-grid a{display:flex;justify-content:space-between;align-items:baseline;gap:8px;padding:9px 12px;border:1px solid var(--line);
  border-radius:9px;text-decoration:none;color:inherit;font-size:14px}
.cat-grid a b{font-weight:500}
.cat-grid a:hover{border-color:var(--accent);color:var(--accent)}
.cat-grid a span{color:var(--muted);font-size:12.5px;white-space:nowrap}
.subs,.more{padding:clamp(44px,6vw,76px) 0 0}
.subs h2,.more h2{font-size:clamp(21px,2.6vw,27px);font-weight:700;margin:0 0 clamp(16px,2vw,22px)}
.sub-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:12px}
.sub-grid div{padding:12px 14px;border-radius:10px;background:var(--surface-2)}
.sub-grid b{display:block;font-size:14.5px;margin-bottom:4px}
.sub-grid span{font-size:12.5px;color:var(--muted);line-height:1.65}
.uses b a{color:inherit;text-decoration:none}
.uses b a:hover{color:var(--accent)}
.home-ind{padding:clamp(40px,5vw,64px) 0 0}
.home-ind h2{font-size:clamp(20px,2.4vw,25px);font-weight:700;margin:0 0 6px}
.home-ind .hint{font-size:14px;color:var(--muted);margin:0}
.home-ind .ind-grid{margin-top:18px}
footer .fcols{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:22px;padding-bottom:22px;margin-bottom:18px;
  border-bottom:1px solid var(--line)}
@media (max-width:1000px){footer .fcols{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media (max-width:760px){footer .fcols{grid-template-columns:repeat(2,minmax(0,1fr))}}
footer .fcols h4{font-size:13px;font-weight:600;margin:0 0 8px;color:var(--ink-2)}
footer .fcols ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:5px}
footer .fcols a{text-decoration:none;font-size:13px}

/* ---- 指南、场景、问答、方向汇总（第二批 SEO） ---- */
.prose{max-width:46em;padding:clamp(28px,4vw,44px) 0 0;font-size:16px;line-height:1.9;color:var(--ink)}
.prose h2{font-size:clamp(19px,2.2vw,23px);font-weight:700;line-height:1.4;margin:clamp(34px,4.5vw,48px) 0 14px}
.prose h2:first-child{margin-top:0}
.prose h3{font-size:17px;font-weight:600;margin:26px 0 10px}
.prose p{margin:0 0 14px}
.prose ul,.prose ol{margin:0 0 16px;padding-left:1.4em}
.prose li{margin:6px 0}
.prose li::marker{color:var(--muted)}
.prose strong{font-weight:600}
.prose a{color:var(--accent);text-decoration:none;border-bottom:1px solid transparent}
.prose a:hover{border-bottom-color:currentColor}
.prose blockquote{margin:0 0 16px;padding:12px 16px;border-left:3px solid var(--accent);background:var(--surface-2);border-radius:0 var(--r) var(--r) 0}
.prose blockquote p{margin:0}
.prose .tbl-wrap{margin:6px 0 20px}
.prose table{min-width:540px;font-size:14.5px;line-height:1.7}
.prose th{white-space:nowrap;padding:0 16px 10px 0}
.prose td{white-space:normal;vertical-align:top;padding:12px 16px 12px 0}
.prose td:first-child,.prose th:first-child{min-width:6.5em}
/* 指南、场景页：各段标题同一级大小，段间距收紧一点 */
.article .faq,.article .refs,.article .reading{padding-top:clamp(40px,5vw,56px)}
.article .about.profile{padding-top:clamp(28px,4vw,40px)}
.article .faq h2,.article .profile h2,.article .scn-data h2.sec{font-size:clamp(19px,2.2vw,23px);font-weight:700;margin:0 0 16px}
.article .scn-data{padding-top:clamp(36px,4.5vw,52px)}
.refs{padding:clamp(40px,5vw,60px) 0 0;max-width:46em}
.refs h2{font-size:clamp(19px,2.2vw,23px);font-weight:700;margin:0 0 14px}
.refs ul{margin:0;padding-left:1.2em;font-size:14.5px;line-height:1.8;color:var(--ink-2)}
.refs a{color:var(--ink-2)}
.refs a:hover{color:var(--accent)}
.reading{padding:clamp(40px,5vw,60px) 0 0}
.reading h2{font-size:clamp(19px,2.2vw,23px);font-weight:700;margin:0 0 16px}
.rd-cols{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:18px 30px}
.rd-cols h3{font-size:13.5px;font-weight:500;color:var(--muted);margin:0 0 8px}
.rd-cols ul{list-style:none;margin:0;padding:0}
.rd-cols li{margin:0 0 10px;font-size:15px;line-height:1.55}
.rd-cols li span{display:block;font-size:13px;color:var(--muted)}
.md-note{margin-top:clamp(30px,4vw,44px)}
.md-note a{color:var(--muted)}
.glist{padding:clamp(20px,3vw,30px) 0 0}
.gl{list-style:none;margin:0;padding:0;border-top:1px solid var(--line)}
.gl li{border-bottom:1px solid var(--line)}
.gl a{display:block;padding:16px 0;text-decoration:none;color:inherit}
.gl a:hover b{color:var(--accent)}
.gl b{display:block;font-size:17px;font-weight:600;margin-bottom:6px}
.gl span{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;font-size:14.5px;color:var(--ink-2);line-height:1.7}
.scn-list{padding:clamp(30px,4vw,44px) 0 0}
.scn-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:14px}
.scn-card{display:flex;flex-direction:column;gap:6px;padding:16px 18px;border:1px solid var(--line);border-radius:12px;text-decoration:none;color:inherit;background:var(--surface)}
.scn-card:hover{border-color:var(--accent)}
.scn-card .k{font-size:13px;color:var(--accent)}
.scn-card b{font-size:16px;line-height:1.5}
.scn-card .who{font-size:13px;color:var(--muted);line-height:1.6}
.profile dd.links{display:flex;flex-wrap:wrap;gap:6px 14px}
.profile dd.links a{color:var(--accent);text-decoration:none}
.scn-data h2.sec{margin-top:0}
.scn-data .status-line{margin:0 0 6px}
.wenda{padding:clamp(34px,4.5vw,56px) 0 0}
.wenda dd{margin-bottom:4px}
.qa-src{display:inline-block;margin-left:6px;font-size:13px;color:var(--muted);text-decoration:none}
.qa-src:hover{color:var(--accent)}
.dir-group .hint{font-size:14px;color:var(--muted);margin:-14px 0 22px}

/* ---- 月报、对比、小工具、给 AI 与开发者（第三批） ---- */
.month-nav{display:flex;flex-wrap:wrap;gap:6px 22px;margin:18px 0 0;font-size:14.5px}
.mbars .chart{max-width:760px}
.chart .bar.on{fill:var(--accent-ink)}
.chart .bar:not(.on){fill:var(--accent-soft)}
.chart .yr{fill:var(--muted);font-size:11.5px}
table.months{min-width:0}
table.months td{white-space:normal;padding-top:12px;padding-bottom:12px}
table.months td.p{overflow-wrap:anywhere}
table.inds th.shr,table.inds td.shr{width:42%;font-variant-numeric:tabular-nums}
table.inds td.shr .bar{display:inline-block;vertical-align:middle;width:calc(100% - 3.6em);max-width:240px;height:8px;
  border-radius:4px;background:var(--line-3);margin-right:10px;overflow:hidden}
table.inds td.shr .bar i{display:block;height:100%;background:var(--accent-soft);border-radius:4px}
.prose code{font-family:var(--f-mono);font-size:.9em;background:var(--surface-2);border-radius:4px;padding:1px 5px}
.prose pre.code{margin:6px 0 18px;font-size:12.5px;line-height:1.7;white-space:pre}
.prose pre.code code{background:none;padding:0;font-size:inherit;color:inherit}
.tool-wrap{padding:clamp(30px,4vw,44px) 0 0}
.tool{border:1px solid var(--line-2);border-radius:var(--r);padding:clamp(18px,3vw,26px);background:var(--surface)}
.tool-h{font-size:17px;font-weight:600;margin:0 0 14px}
.tool-h:not(:first-child){margin-top:30px;padding-top:24px;border-top:1px solid var(--line)}
.tool-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:14px 18px}
.tool label{display:flex;flex-direction:column;gap:6px;font-size:13.5px;color:var(--muted)}
.tool .tool-block{margin-top:16px}
.tool input,.tool select,.tool textarea{font:inherit;font-size:15px;color:var(--ink);background:var(--page);
  border:1px solid var(--line-2);border-radius:8px;padding:9px 11px;width:100%;min-width:0}
.tool textarea{font-family:var(--f-mono);font-size:14px;line-height:1.6;resize:vertical}
.tool input:focus,.tool select:focus,.tool textarea:focus{outline:2px solid var(--accent);outline-offset:0;border-color:transparent}
.tool .tbl-wrap{margin:16px 0 0}
.tool table{min-width:0;font-size:14.5px}
.tool th{padding:0 10px 8px 0}
.tool td{padding:6px 10px 6px 0;white-space:normal}
.tool .tool-res{min-width:580px}
.tool .tool-res td,.tool .tool-res th{white-space:nowrap}
.tool-in td:nth-child(1){width:30%}
.tool-in td:nth-child(2){width:38%}
.tool-in td:nth-child(3){width:22%}
.tool-in td:nth-child(4){width:40px}
.tool-del{font:inherit;font-size:18px;line-height:1;color:var(--muted);background:none;border:0;cursor:pointer;padding:6px}
.tool-del:hover{color:var(--ink)}
.tool-actions{display:flex;flex-wrap:wrap;align-items:center;gap:10px 16px;margin:14px 0 0}
.tool-actions .btn{font-size:14px;padding:8px 16px;border:1px solid var(--line-2);border-radius:999px;background:var(--surface);color:var(--ink)}
.tool-actions .btn:hover{border-color:var(--accent);color:var(--accent)}
.tool-preset{font-size:13px;color:var(--muted)}
.tool-hint{font-size:13.5px;color:var(--muted);margin:12px 0 0}
.tool-hint .warn,.tool-note.warn,.tool .warn{color:var(--warn);font-weight:500}
.tool-out{margin:18px 0 0}
.tool-out .tbl-wrap{margin:0}
.tool-res tr.on td{background:var(--accent-wash)}
.tool-res .tag{display:inline-block;font-size:12px;color:var(--accent);border:1px solid var(--accent-soft);border-radius:999px;padding:0 7px;margin-left:4px}
.tool-res td.hit{color:var(--warn);font-weight:600}
.tool-big{font-size:17px;margin:0}
.tool-big b{font-size:28px;letter-spacing:-.02em;font-variant-numeric:tabular-nums}
.tool-note{font-size:14px;color:var(--ink-2);margin:10px 0 0}
.tool-res small{color:var(--muted)}
@media (max-width:560px){
  .tool-row{grid-template-columns:repeat(2,minmax(0,1fr))}
  .tool input,.tool select,.tool textarea{font-size:14.5px;padding:8px 9px}
  .tool td{padding:5px 6px 5px 0}
  .tool-in td:nth-child(1){width:27%}
  .tool-in td:nth-child(2){width:41%}
  .tool-in td:nth-child(3){width:22%}
  .tool table{font-size:13.5px}
}

/* ---- 第五批：未上线方向页的说明块 ---- */
.prep-note{margin:18px 0 6px;padding:16px 18px;border:1px solid var(--line);border-left:3px solid var(--warn);
  border-radius:12px;background:var(--surface-2);max-width:760px}
.prep-note p{margin:0;font-size:15px;line-height:1.7;color:var(--ink-2)}
.prep-note p+p{margin-top:10px}
.prep-note b{color:var(--ink)}

/* ---- 第四批：顶部下拉导航取代左侧方向栏，版心放宽 ---- */
.shell{max-width:1320px;min-width:0}
body.article .shell{max-width:980px}
body.with-rail .shell{max-width:1320px}
.home{display:block}
.home>.hmain{min-width:0}
.rail{display:none}

.site-top{position:relative;gap:14px}
.wordmark em{color:var(--accent)}
.site-top nav{margin-left:auto;display:flex;align-items:center;gap:2px;font-size:14.5px;position:relative}
.site-top nav .nav-link,.site-top nav .nav-btn{display:inline-flex;align-items:center;align-self:stretch;gap:5px;padding:8px 12px;
  border-radius:999px;border:0;background:none;font:inherit;font-size:14.5px;line-height:1.4;color:var(--ink-2);
  cursor:pointer;white-space:nowrap}
.site-top nav .nav-link:hover,.site-top nav .nav-btn:hover{color:var(--ink);background:var(--surface-2)}
.site-top nav .nav-link.on,.site-top nav .nav-btn.on{color:var(--accent)}
/* 下拉那一组要撑满导航高度，按钮底边才贴着下面那条看不见的桥 */
.site-top nav .nav-drop{align-self:stretch;display:flex;align-items:stretch}
.nav-btn::after{content:"";width:0;height:0;border:4px solid transparent;border-top-color:currentColor;
  margin:4px 0 0 1px;opacity:.55}
.nav-drop.open>.nav-btn::after{transform:rotate(180deg);margin-top:-3px}
.nav-panel{display:none;position:absolute;top:calc(100% + 14px);right:0;z-index:40;
  background:var(--surface);border:1px solid var(--line);border-radius:16px;
  box-shadow:0 20px 50px rgba(12,14,16,.13);padding:clamp(20px,2.4vw,30px) clamp(22px,2.6vw,34px);
  min-width:min(540px,calc(100vw - 40px));max-width:min(1040px,calc(100vw - 40px))}
.nav-drop.open .nav-panel{display:block}
/* 按钮和面板之间留了 14px 空隙，用一条看不见的桥接上，鼠标挪过去时不算「离开」 */
.nav-panel::before{content:"";position:absolute;left:0;right:0;top:-15px;height:15px}
.nav-cols{display:grid;grid-template-columns:repeat(3,minmax(190px,1fr));gap:24px 40px}
.nav-cols h4{margin:0 0 10px;padding-bottom:9px;border-bottom:1px solid var(--line);
  font-size:13px;font-weight:500;color:var(--muted)}
.nav-cols ul,.nav-grid{list-style:none;margin:0;padding:0}
.nav-grid{display:grid;grid-template-columns:repeat(4,minmax(150px,1fr));gap:0 24px}
.nav-grid.two{grid-template-columns:repeat(3,minmax(190px,1fr))}
.nav-panel li{margin:0}
.nav-panel a{display:block;padding:7px 9px;margin-left:-9px;border-radius:9px;color:var(--ink);font-size:15px;line-height:1.5}
.nav-panel a:hover{background:var(--surface-2);color:var(--accent)}
.nav-panel a .sub{display:block;font-size:12.5px;color:var(--muted);line-height:1.5}
.nav-panel .tag{margin-left:6px;font-size:11.5px;color:var(--warn)}
.nav-more{margin:18px 0 0;font-size:13.5px;color:var(--muted)}
.nav-burger{display:none;width:40px;height:36px;border:1px solid var(--line-2);border-radius:10px;
  background:var(--surface);cursor:pointer;margin-left:auto;position:relative}
.nav-burger span,.nav-burger span::before,.nav-burger span::after{position:absolute;left:11px;width:17px;height:1.6px;
  background:var(--ink);border-radius:2px;content:""}
.nav-burger span{top:17px}
.nav-burger span::before{top:-6px;left:0}
.nav-burger span::after{top:6px;left:0}
.site-top.nav-open .nav-burger span{background:transparent}
.site-top.nav-open .nav-burger span::before{transform:rotate(45deg);top:0}
.site-top.nav-open .nav-burger span::after{transform:rotate(-45deg);top:0}

@media (max-width:1000px){
  .nav-cols{grid-template-columns:repeat(2,minmax(160px,1fr))}
  .nav-grid{grid-template-columns:repeat(3,minmax(140px,1fr))}
  .nav-grid.two{grid-template-columns:repeat(2,minmax(160px,1fr))}
}
@media (max-width:900px){
  .site-top{flex-wrap:wrap;align-items:center}
  .nav-burger{display:block}
  .site-top nav{display:none;order:3;width:100%;flex-direction:column;align-items:stretch;gap:0;
    margin:4px 0 12px;padding-top:10px;border-top:1px solid var(--line)}
  .site-top.nav-open nav{display:flex}
  .site-top nav a:not(.nav-cta){display:block}
  .site-top nav .nav-link,.site-top nav .nav-btn{justify-content:space-between;padding:11px 4px;border-radius:0;
    font-size:16px;color:var(--ink);width:100%}
  .site-top nav .nav-btn::after{margin-top:6px}
  .site-top nav .nav-drop{display:block}
  .nav-panel::before{display:none}
  .nav-panel{position:static;display:none;border:0;border-radius:0;box-shadow:none;padding:2px 0 10px 12px;
    min-width:0;max-width:none;background:none}
  .nav-drop:hover .nav-panel{display:none}
  .nav-drop.open .nav-panel{display:block}
  .nav-cols,.nav-grid,.nav-grid.two{grid-template-columns:minmax(0,1fr);gap:10px 0}
  .nav-cols h4{margin-bottom:4px;padding-bottom:6px}
  .nav-panel a{font-size:15px;padding:8px 9px}
  .nav-more{margin:10px 0 0}
  .site-top nav .nav-cta{align-self:flex-start;margin:10px 0 0}
}

/* ---- 首页：12 个方向 ---- */
.dirs-home{padding:clamp(40px,5vw,64px) 0 0}
.dirs-home h2{font-size:clamp(20px,2.4vw,25px);font-weight:700;margin:0 0 8px}
.dirs-home .hint{font-size:14.5px;color:var(--muted);margin:0 0 clamp(20px,2.6vw,30px)}
.dir-cols{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:24px 34px}
.dir-cols h3{font-size:13px;font-weight:500;color:var(--muted);margin:0 0 10px;padding-bottom:9px;
  border-bottom:1px solid var(--line)}
.dir-cols ul{list-style:none;margin:0;padding:0}
.dir-cols li{margin:0 0 12px;font-size:15px;line-height:1.5}
.dir-cols li span{display:block;font-size:13px;color:var(--muted);line-height:1.6;margin-top:2px}
.dir-cols li .tag{display:inline;margin-left:6px;font-size:11.5px;color:var(--warn)}
@media (max-width:900px){.dir-cols{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:520px){.dir-cols{grid-template-columns:minmax(0,1fr)}}

/* ---- 样例区：逐年金额横条 + 还缺谁 ---- */
.sample-cols{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(260px,.85fr);gap:clamp(24px,3vw,44px);
  align-items:start;margin:clamp(28px,3.5vw,44px) 0 0}
@media (max-width:820px){.sample-cols{grid-template-columns:minmax(0,1fr)}}
.ybars{display:grid;gap:14px}
.ybar{display:grid;grid-template-columns:5.6em minmax(0,1fr) 5.2em;align-items:center;gap:14px;font-size:14.5px}
.ybar .yr{color:var(--muted);font-variant-numeric:tabular-nums}
.ybar .track{display:block;height:12px;border-radius:6px;background:var(--line-3);overflow:hidden}
.ybar .track i{display:block;height:100%;background:var(--accent);border-radius:6px}
.ybar .track i.part{background:var(--accent-soft)}
.ybar .amt{text-align:right;font-weight:500;font-variant-numeric:tabular-nums}
.ybars-wrap .src{margin-top:16px}
.gap-card{background:var(--surface);border:1px solid var(--line);border-radius:var(--r);padding:20px 24px}
.gap-card h3{margin:0 0 12px;font-size:14px;font-weight:600;color:var(--accent)}
.gap-card ul{margin:0;padding-left:18px}
.gap-card li{font-size:14.5px;line-height:1.7;margin:0 0 8px;color:var(--ink)}
.gap-card .fine{margin:14px 0 0;font-size:12.5px;color:var(--muted);line-height:1.7}
.sample .tbl-wrap{margin-top:clamp(28px,3.5vw,44px)}
.sample table td.p{white-space:normal;overflow-wrap:anywhere}
.sample table td.nowrap{white-space:nowrap}

/* ---- 第五批：采购意向区 ---- */
.intent{margin:18px 0 6px}
.intent-top{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:18px}
.intent-top>div{padding:14px 16px;border:1px solid var(--line);border-radius:12px;background:var(--surface)}
.intent-top b{display:block;font-size:26px;line-height:1.2;color:var(--ink);font-variant-numeric:tabular-nums}
.intent-top span{font-size:13px;color:var(--muted)}
.intent-bars{margin:0 0 18px}
.ib{display:flex;align-items:center;gap:10px;padding:2px 0;font-size:13px;color:var(--ink-2)}
.ib .m{width:62px;color:var(--muted);font-variant-numeric:tabular-nums}
.ib .bar{flex:1;height:10px;border-radius:5px;background:var(--surface-2);overflow:hidden}
.ib .bar i{display:block;height:100%;border-radius:5px;background:var(--accent);opacity:.75}
.ib .v{width:66px;text-align:right;font-variant-numeric:tabular-nums}
.intent-tbl td:first-child{white-space:nowrap;color:var(--muted);font-variant-numeric:tabular-nums}
.tag-x{display:inline-flex;align-items:center;gap:6px;padding:4px 10px;margin:0 6px 6px 0;border:1px solid var(--line);
  border-radius:999px;font-size:13px;color:var(--ink-2);background:var(--surface)}
.tag-x i{font-style:normal;color:var(--muted);font-size:12px;font-variant-numeric:tabular-nums}
@media (max-width:760px){
  .intent-top{grid-template-columns:repeat(2,1fr)}
  .ib .m{width:54px}
}

/* ---- 第六批（2026-10-09）：产品形态测试的留资与方向结果区 ---- */
/* 首屏「要一份……」按钮：和查询框并排的第二个动作，点了跳到登记表 */
.cta-row{display:flex;flex-wrap:wrap;align-items:center;gap:10px 16px;margin:18px 0 0;font-size:14px;color:var(--muted)}
.cta-row .btn{font-size:15px;padding:9px 18px}
/* 登记表里给机器人填的陷阱栏：正常人看不到，读屏也跳过 */
.field.hp{position:absolute !important;left:-10000px;top:auto;width:1px;height:1px;overflow:hidden}
/* 品牌份额表：右边一根横条，长短按出现次数 */
table.share{min-width:520px}
table.share th.n,table.share td.n{width:2.6em;color:var(--muted)}
table.share td.p{min-width:8em}
table.share .bar-col{width:34%;min-width:120px}
.hbar{display:block;height:8px;border-radius:4px;background:var(--surface-2);overflow:hidden}
.hbar i{display:block;height:100%;border-radius:4px;background:var(--accent);opacity:.75}
table.lines td.p{min-width:7em}
table.fields-tbl{min-width:0}
table.fields-tbl td{white-space:normal;vertical-align:top}
table.fields-tbl td.mono{white-space:nowrap;color:var(--ink-2)}
pre.api-sample{font-size:12.5px;line-height:1.7;max-height:440px}
/* 内部索引：每个方向下面列三条带参数的链接 */
.lab-item{border-bottom:1px solid var(--line-3);padding-bottom:12px}
.lab-list .lab-item a{border-bottom:0}
.lab-links{display:grid;grid-template-columns:auto minmax(0,1fr);gap:4px 14px;margin:0 8px;font-size:13px}
.lab-links dt{color:var(--muted)}
.lab-links dd{margin:0;overflow-wrap:anywhere;color:var(--ink-2)}
@media (max-width:560px){.status-line .sep{display:none}}
