:root{
--bg:#fff;--bg2:#f6f6fb;--ink:#191b2e;--ink2:#4b4f68;--ink3:#83869c;
--line:#e7e7f0;--line2:#d3d4e2;
--accent:#4338ca;--accent-deep:#312e81;--accent-soft:#ecebfd;
--f:#1d6fb8;--f-soft:#e8f2fb;--i:#9a6206;--i-soft:#fdf3df;--o:#4338ca;--o-soft:#ecebfd;
--sos:#b3261e;--sos-soft:#fdecea;
--r:14px;--w:1000px;
--shadow:0 1px 2px rgba(25,27,46,.04),0 10px 28px -16px rgba(25,27,46,.14);
}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--bg);color:var(--ink);
font:16px/1.75 -apple-system,BlinkMacSystemFont,"Segoe UI","PingFang SC","Hiragino Sans GB","Microsoft YaHei",sans-serif;
font-feature-settings:"kern" 1}
a{color:var(--accent);text-decoration:none;border-bottom:1px solid var(--line2)}
a:hover{border-bottom-color:var(--accent)}
::selection{background:var(--accent-soft)}
.skip{position:absolute;left:-9999px}
.skip:focus{left:8px;top:8px;background:#fff;padding:8px 12px;border:1px solid var(--line2);z-index:9}
.wrap{max-width:var(--w);margin:0 auto;padding:0 20px}

/* header（51 号方案，JED 式收敛：品牌 mark＋分组下拉＋高亮求助＋汉堡抽屉）
   ★ 下拉与抽屉全部用 <details> 实现——零 JS 可用；底部那段 JS 只做互斥/外点关闭/Esc 增强。 */
.hd{border-bottom:1px solid var(--line);background:rgba(255,255,255,.94);position:sticky;top:0;z-index:50;backdrop-filter:saturate(1.4) blur(8px)}
.hd-in{display:flex;align-items:center;gap:16px;min-height:60px}
.brand{display:flex;align-items:center;gap:10px;border:0;color:var(--ink)}
.brand:hover{border:0}
.brand-mark{width:34px;height:34px;border-radius:9px;display:block;box-shadow:0 2px 8px -2px rgba(67,56,202,.45)}
.brand-name{font-size:18px;font-weight:700;letter-spacing:.02em;white-space:nowrap}
.nav{margin-left:auto;display:flex;gap:3px;align-items:center}
.nav a,.dd>summary{padding:7px 12px;border-radius:999px;border:0;font-size:13.5px;color:var(--ink2);white-space:nowrap;cursor:pointer;background:none;font-family:inherit;line-height:1.5}
.nav a:hover,.dd>summary:hover{background:var(--bg2);color:var(--ink)}
.nav a[aria-current="page"]{background:var(--accent-soft);color:var(--accent);font-weight:600}
.dd{position:relative}
.dd>summary{list-style:none;display:flex;align-items:center;gap:5px;user-select:none}
.dd>summary::-webkit-details-marker{display:none}
.dd>summary::after{content:"";width:7px;height:7px;border-right:1.6px solid currentColor;border-bottom:1.6px solid currentColor;transform:rotate(45deg) translateY(-2px);opacity:.55;transition:transform .18s}
.dd[open]>summary{background:var(--accent-soft);color:var(--accent)}
.dd[open]>summary::after{transform:rotate(225deg) translateY(-1px)}
.dd-menu{position:absolute;top:calc(100% + 10px);left:50%;transform:translateX(-50%);min-width:238px;background:#fff;border:1px solid var(--line);border-radius:14px;box-shadow:0 18px 44px -16px rgba(25,27,46,.28);padding:8px;z-index:60}
.dd-menu a{display:flex;align-items:center;gap:9px;padding:8px 12px;border-radius:9px;font-size:13.5px;color:var(--ink);border:0}
.dd-menu a:hover{background:var(--bg2)}
.dd-grid{display:grid;grid-template-columns:1fr 1fr;gap:1px}
.dd-all{border-top:1px solid var(--line);margin-top:6px;color:var(--accent)!important;font-weight:600}
.dd-p{align-items:flex-start}
.dd-p b{font-weight:600}
.dd-p small{display:block;font-size:12px;color:var(--ink3);margin-top:1px;font-weight:400}
.cdot{width:8px;height:8px;border-radius:50%;flex:none;margin-top:7px}
/* ★ 求助常驻入口（安全件，G11/G12 外的第三道保险）：实心红胶囊，桌面最右＋移动端不收抽屉 */
.nav a.sos{background:var(--sos);color:#fff;font-weight:600;padding:7px 15px}
.nav a.sos:hover{background:#8c1d18;color:#fff}
.hd-m{display:none;margin-left:auto;align-items:center;gap:10px}
.sos-m{background:var(--sos);color:#fff;font-weight:600;font-size:13px;padding:7px 13px;border-radius:999px;border:0;white-space:nowrap}
.sos-m:hover{background:#8c1d18;color:#fff}
.burger-dd{position:static}
.burger{list-style:none;width:38px;height:38px;border-radius:10px;border:1px solid var(--line);background:#fff;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4.5px;cursor:pointer}
.burger::-webkit-details-marker{display:none}
.burger span{width:16px;height:1.8px;background:var(--ink);border-radius:2px;transition:transform .2s,opacity .2s}
.burger-dd[open] .burger span:nth-child(1){transform:translateY(6.3px) rotate(45deg)}
.burger-dd[open] .burger span:nth-child(2){opacity:0}
.burger-dd[open] .burger span:nth-child(3){transform:translateY(-6.3px) rotate(-45deg)}
.drawer{position:absolute;top:100%;left:0;right:0;background:#fff;border-bottom:1px solid var(--line);box-shadow:0 24px 44px -20px rgba(25,27,46,.3);padding:8px 16px 18px;max-height:calc(100vh - 60px);max-height:calc(100dvh - 60px);overflow-y:auto;z-index:60}
.dr-h{font-size:12px;color:var(--ink3);margin:14px 4px 6px;letter-spacing:.08em}
.dr-g{display:grid;grid-template-columns:1fr 1fr;gap:2px}
.dr-g a{padding:9px 12px;border-radius:9px;font-size:14px;color:var(--ink);border:0;display:flex;align-items:center;gap:8px}
.dr-g a:hover{background:var(--bg2)}
.dr-g a.dr-all{grid-column:1/-1;color:var(--accent);font-weight:600}

/* ★ hero（首页专用，52 号方案）：深靛底（兜底）+ 星点 + 三张主题图纯 CSS 交叉轮播。
   轮播零 JS：三张图用同一 18s 动画、负 delay 错峰 6s，任何时候恰有一张在「可见窗」。
   图上始终压着品牌渐变——换图瞬间文字也不会读不清；图片加载失败时仍是原来的深靛 hero。 */
.hero{position:relative;overflow:hidden;color:#fff;padding:76px 0 62px;
background:
 radial-gradient(1100px 460px at 88% -12%,rgba(129,140,248,.38),transparent 62%),
 radial-gradient(880px 420px at -8% 112%,rgba(99,102,241,.28),transparent 58%),
 linear-gradient(150deg,#1e1b4b 0%,#312e81 58%,#3730a3 100%)}
.hero::after{content:"";position:absolute;inset:0;pointer-events:none;background-image:
 radial-gradient(1.6px 1.6px at 14% 26%,rgba(255,255,255,.55),transparent 100%),
 radial-gradient(1.2px 1.2px at 34% 64%,rgba(255,255,255,.35),transparent 100%),
 radial-gradient(1.8px 1.8px at 58% 18%,rgba(255,255,255,.45),transparent 100%),
 radial-gradient(1.2px 1.2px at 76% 52%,rgba(255,255,255,.30),transparent 100%),
 radial-gradient(1.6px 1.6px at 91% 30%,rgba(255,255,255,.45),transparent 100%),
 radial-gradient(1.2px 1.2px at 46% 86%,rgba(255,255,255,.28),transparent 100%)}
.hero .wrap{position:relative;z-index:2}
.hs{position:absolute;inset:0}
.hs picture{position:absolute;inset:0;opacity:0;animation:hsf 18s linear infinite}
.hs picture img{width:100%;height:100%;object-fit:cover;display:block}
.hs picture:nth-child(1){animation-delay:0s}
.hs picture:nth-child(2){animation-delay:-6s}
.hs picture:nth-child(3){animation-delay:-12s}
.hs::after{content:"";position:absolute;inset:0;background:linear-gradient(150deg,rgba(30,27,75,.88) 0%,rgba(49,46,129,.70) 55%,rgba(55,48,163,.52) 100%)}
@keyframes hsf{0%{opacity:0}7%{opacity:.95}25%{opacity:.95}38%{opacity:0}100%{opacity:0}}
.hsd{position:absolute;right:26px;bottom:20px;z-index:2;display:flex;gap:8px}
.hsd i{width:7px;height:7px;border-radius:50%;background:rgba(255,255,255,.42);animation:hsd 18s linear infinite}
.hsd i:nth-child(1){animation-delay:0s}
.hsd i:nth-child(2){animation-delay:-6s}
.hsd i:nth-child(3){animation-delay:-12s}
@keyframes hsd{0%{background:#fff;transform:scale(1.3)}25%{background:#fff;transform:scale(1.3)}38%,100%{background:rgba(255,255,255,.42);transform:scale(1)}}
@media(prefers-reduced-motion:reduce){
.hs picture{animation:none;opacity:0}
.hs picture:first-child{opacity:.95}
.hsd{display:none}
}
.hero .tag{display:inline-block;font-size:12.5px;color:#c7d2fe;background:rgba(255,255,255,.13);border:1px solid rgba(255,255,255,.18);padding:4px 12px;border-radius:999px;margin-bottom:18px}
.hero h1{font-size:clamp(27px,4.4vw,42px);line-height:1.28;margin:0 0 16px;font-weight:700;letter-spacing:-.015em;color:#fff;max-width:21em}
.hero .lede{font-size:17px;line-height:1.85;color:rgba(224,228,255,.86);margin:0;max-width:36em}
.hero .lede b{color:#fff;font-weight:600}
.cta{display:flex;gap:12px;margin-top:28px;flex-wrap:wrap}
.btn{display:inline-block;background:#fff;color:var(--accent-deep);font-weight:600;font-size:15.5px;padding:11px 24px;border-radius:999px;border:0;box-shadow:0 8px 20px -8px rgba(0,0,0,.45);transition:transform .15s,box-shadow .15s}
.btn:hover{transform:translateY(-1px);box-shadow:0 12px 26px -10px rgba(0,0,0,.5)}
.btn.ghost{background:rgba(255,255,255,.12);color:#fff;box-shadow:none;border:1px solid rgba(255,255,255,.35)}
.btn.ghost:hover{background:rgba(255,255,255,.2)}

/* section */
.sec{padding:46px 0 10px}
.sec>h2{font-size:23px;margin:0 0 8px;font-weight:700;letter-spacing:-.01em;display:flex;align-items:center;gap:11px}
.sec>h2::before{content:"";flex:none;width:6px;height:22px;border-radius:3px;background:linear-gradient(180deg,#6366f1,#4338ca)}
.sec>p.sub{margin:0 0 22px;color:var(--ink2);font-size:15px}

/* cards */
.grid{display:grid;gap:16px}
.c2{grid-template-columns:repeat(2,1fr)}
.c3{grid-template-columns:repeat(3,1fr)}
.card{position:relative;display:block;overflow:hidden;border:1px solid var(--line);border-radius:var(--r);padding:20px 22px;background:#fff;box-shadow:var(--shadow);transition:transform .16s,box-shadow .16s,border-color .16s}
.card::before{content:"";position:absolute;left:0;top:0;bottom:0;width:4px;background:var(--pc,var(--accent));border-radius:0 3px 3px 0}
.card:hover{transform:translateY(-3px);box-shadow:0 16px 32px -16px rgba(25,27,46,.28);border-color:var(--pc,var(--accent))}
.card h3{margin:0 0 7px;font-size:16.5px;font-weight:600;color:var(--ink);display:flex;align-items:center;gap:8px}
.card h3::before{content:"";flex:none;width:8px;height:8px;border-radius:50%;background:var(--pc,var(--accent))}
.card p{margin:0;font-size:13.5px;color:var(--ink2);line-height:1.7}
.card .meta{margin-top:12px;font-size:12px;color:var(--ink3)}
.pill{font-size:11.5px;color:var(--accent);background:var(--accent-soft);padding:2px 9px;border-radius:999px;font-weight:500}

/* ★ 二级页 hero（52 号方案）：每个非首页页面都有一张主题照片作背景——
   照片 + 左深右浅的压暗渐变（保证白字可读）+ 栏目色（--pc）在右上角的轻微晕染。
   文章页用紧凑款 .ph-art：面包屑、标题、描述、元信息都进深色区。 */
.phero{position:relative;overflow:hidden;color:#fff;padding:56px 0 42px;background:#1e1b4b}
.ph-bg{position:absolute;inset:0}
.ph-bg picture{position:absolute;inset:0}
.ph-bg img{width:100%;height:100%;object-fit:cover;display:block}
.ph-bg::after{content:"";position:absolute;inset:0;background:
linear-gradient(100deg,rgba(14,15,40,.88) 0%,rgba(14,15,40,.64) 46%,rgba(14,15,40,.26) 78%),
linear-gradient(180deg,rgba(10,10,28,.14),rgba(10,10,28,.40)),
radial-gradient(760px 340px at 88% -10%,color-mix(in srgb,var(--pc,var(--accent)) 42%,transparent),transparent 62%)}
.phero .wrap{position:relative;z-index:1}
.phero .kicker{font-size:12.5px;color:rgba(255,255,255,.7);margin:0 0 10px;letter-spacing:.04em}
.phero h1{font-size:30px;margin:0 0 10px;font-weight:700;letter-spacing:-.01em;color:#fff}
.phero .q{font-size:17px;color:#fff;margin:0 0 10px;font-weight:500}
.phero .d{margin:0;color:rgba(236,239,255,.86);max-width:38em;font-size:15.5px;line-height:1.8}
.ph-art{padding:42px 0 30px}
.phero .crumb{margin:0 0 14px;color:rgba(255,255,255,.62)}
.phero .crumb a{color:rgba(255,255,255,.78);border-bottom-color:rgba(255,255,255,.28)}
.phero .crumb a:hover{color:#fff;border-bottom-color:#fff}
.phero .art-desc{color:rgba(236,239,255,.86);border-bottom-color:rgba(255,255,255,.22)}
.phero .art-meta{color:rgba(255,255,255,.62)}
/* hero 之后紧跟的内容块留出呼吸间距 */
.phero+.wrap{margin-top:26px}

/* list */
.list{list-style:none;padding:0;margin:28px 0 0}
.list li{border-bottom:1px solid var(--line);padding:20px 0}
.list a.t{font-size:18px;font-weight:600;color:var(--ink);border:0}
.list a.t:hover{color:var(--accent)}
.list .d{color:var(--ink2);font-size:14px;margin:7px 0 0}
.list .meta{font-size:12px;color:var(--ink3);margin-top:8px}
.empty{border:1px dashed var(--line2);border-radius:var(--r);padding:24px;color:var(--ink3);font-size:14px;background:var(--bg2)}

/* article */
.prose{max-width:720px;font-size:16.5px;line-height:1.85}
.crumb{font-size:12.5px;color:var(--ink3);margin:26px 0 16px}
.crumb a{border:0;color:var(--ink3)}
.crumb a:hover{color:var(--accent)}
.art-h1{font-size:31px;line-height:1.32;margin:0 0 12px;font-weight:700;letter-spacing:-.01em}
.art-desc{font-size:16.5px;color:var(--ink2);margin:0 0 16px;padding-bottom:18px;border-bottom:1px solid var(--line)}
.art-meta{font-size:12.5px;color:var(--ink3);margin:0 0 4px}
.prose h2{font-size:21.5px;margin:38px 0 13px;font-weight:700;padding-top:6px}
.prose h3{font-size:17.5px;margin:26px 0 8px;font-weight:600}
.prose p{margin:0 0 15px}
.prose ul,.prose ol{margin:0 0 16px;padding-left:22px}
.prose li{margin:6px 0}
.prose blockquote{margin:20px 0;padding:2px 0 2px 16px;border-left:2px solid var(--line2);color:var(--ink2)}
.prose code{font:13px/1.6 ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;background:var(--bg2);padding:1px 5px;border-radius:4px}
.prose strong{font-weight:600}
.prose table{border-collapse:collapse;width:100%;font-size:14px;margin:0 0 16px}
.prose th,.prose td{border:1px solid var(--line);padding:8px 10px;text-align:left}
.prose th{background:var(--bg2);font-weight:600}
.scroll{overflow-x:auto;-webkit-overflow-scrolling:touch;margin:0 0 16px}
.scroll table{margin:0;min-width:420px}

/* ★ 三层标注 —— 本站的视觉签名（f 蓝 / i 琥珀 / o 靛，与 v1 一致） */
.layer{border:1px solid var(--line);border-left:3px solid var(--line2);border-radius:0 var(--r) var(--r) 0;
padding:13px 16px;margin:0 0 14px;background:#fff}
.layer>.lt{display:inline-block;font-size:11.5px;font-weight:600;letter-spacing:.04em;padding:1px 8px;border-radius:4px;margin-bottom:7px}
.layer p{margin:0 0 8px}
.layer p:last-child{margin-bottom:0}
.layer.f{border-left-color:var(--f);background:var(--f-soft)}
.layer.f>.lt{background:var(--f);color:#fff}
.layer.i{border-left-color:var(--i);background:var(--i-soft)}
.layer.i>.lt{background:var(--i);color:#fff}
.layer.o{border-left-color:var(--o);background:var(--o-soft)}
.layer.o>.lt{background:var(--o);color:#fff}
.layer .src{display:block;font-size:12.5px;color:var(--ink2);margin-top:8px;padding-top:8px;border-top:1px dashed var(--line2)}
.layer .pre{display:block;font-size:12.5px;color:var(--ink2);margin-top:6px}

.note{background:var(--bg2);border:1px solid var(--line);border-radius:var(--r);padding:16px 18px;margin:0 0 18px;font-size:14.5px;color:var(--ink2)}
.note b{color:var(--ink)}

/* ★ 处境问答块（solution 层）：页首先给直答，让「问题—答案—出处」在一个视区里 */
.qa{border:1px solid var(--line2);border-left:3px solid var(--accent);border-radius:0 var(--r) var(--r) 0;
background:var(--accent-soft);padding:18px 20px;margin:0 0 28px}
.qa-hd{margin:0 0 10px;font-size:12.5px;color:var(--accent);font-weight:600;letter-spacing:.02em}
.qa-i{margin:0 0 12px;padding:0 0 12px;border-bottom:1px dashed var(--line2)}
.qa-i:last-of-type{border-bottom:0;padding-bottom:0;margin-bottom:10px}
.qa-q{margin:0 0 5px;font-size:15.5px;font-weight:600;color:var(--ink);line-height:1.5}
.qa-a{margin:0;font-size:14.5px;color:var(--ink2);line-height:1.75}
.qa-src{margin:0;padding-top:10px;border-top:1px solid var(--line2);font-size:12.5px;color:var(--ink3);line-height:1.9}
.qa-src a{display:inline-block;margin:2px 10px 2px 0;max-width:100%;overflow-wrap:anywhere;vertical-align:top}

/* ★ 四条入口路径块（涨见识栏目专属，45 号方案）：纯静态 <details>，默认收起，无任何测试 */
.entry{border:1px solid var(--line2);border-radius:var(--r);padding:14px 16px;margin:0 0 20px;background:#fff;box-shadow:var(--shadow)}
.entry .qa-hd{margin:0 0 10px}
.ep{border:1px solid var(--line);border-radius:10px;margin:0 0 8px;background:var(--bg2)}
.ep:last-child{margin-bottom:2px}
.ep summary{cursor:pointer;padding:10px 12px;font-size:14px;display:flex;gap:10px;align-items:baseline;flex-wrap:wrap;list-style:none}
.ep summary::-webkit-details-marker{display:none}
.ep summary::before{content:"＋";color:var(--ink3);font-size:13px}
.ep[open] summary::before{content:"－"}
.ep[open]{background:#fff}
.ep summary b{font-weight:600;color:var(--ink)}
.ep summary span{font-size:12px;color:var(--ink3)}
.ep p{margin:0;padding:2px 12px 11px;font-size:14px;color:var(--ink2);line-height:1.7}

/* ★ 三轴分组（涨见识栏目页） */
.axis{border:1px solid var(--line);border-radius:var(--r);padding:20px 22px;margin:24px 0 0;background:#fff;box-shadow:var(--shadow)}
.axis h3{margin:0 0 4px;font-size:17px;font-weight:600;display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.axis .sd{margin:0 0 6px;font-size:13.5px;color:var(--ink2);line-height:1.7}
.axis .list{margin-top:14px}

/* 处境索引页 */
.sit{border:1px solid var(--line);border-radius:var(--r);padding:20px 22px;margin:0 0 16px;background:#fff;box-shadow:var(--shadow);scroll-margin-top:78px}
.sit h3{margin:0 0 4px;font-size:17px;font-weight:600;display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.sit .sd{margin:0 0 12px;font-size:13.5px;color:var(--ink2)}
.qlist{list-style:none;padding:0;margin:0}
.qlist li{padding:9px 0;border-top:1px solid var(--line);display:flex;gap:10px;align-items:baseline;flex-wrap:wrap}
.qlist li:first-child{border-top:0}
.qlist a{font-size:15px}
.qlist .who{font-size:12px;color:var(--ink3);white-space:nowrap}
.chips{display:flex;flex-wrap:wrap;gap:10px;margin:16px 0 0}
.chip{display:inline-block;font-size:14.5px;font-weight:500;padding:8px 16px;border:1px solid var(--line2);border-radius:999px;color:var(--ink2);background:#fff;transition:border-color .15s,color .15s,background .15s,transform .15s}
.chip:hover{border-color:var(--accent);color:var(--accent);background:var(--accent-soft);transform:translateY(-1px)}

/* ★ 求助页 / 热线卡片 */
.soscard{border:1px solid #f0c4c0;border-radius:var(--r);padding:22px 24px;margin:0 0 16px;background:linear-gradient(180deg,#fffafa,#fff);box-shadow:var(--shadow)}
.soscard .num{font-size:36px;font-weight:700;letter-spacing:.02em;color:var(--sos);line-height:1.2;border:0;display:block}
.soscard .num:hover{color:#8c1d18}
.soscard h3{margin:0 0 6px;font-size:16px;font-weight:600}
.soscard p{margin:0 0 8px;font-size:14px;color:var(--ink2);line-height:1.7}
.soscard .src{font-size:12.5px;color:var(--ink3)}
.soscard a{border:0}

/* footer */
.ft{border-top:1px solid var(--line);margin-top:60px;padding:38px 0 48px;background:var(--bg2)}
.ft .cols{display:grid;grid-template-columns:1.3fr 1fr 1fr;gap:26px}
.ft h4{font-size:12.5px;color:var(--ink3);margin:0 0 10px;font-weight:600;letter-spacing:.04em}
.ft ul{list-style:none;margin:0;padding:0}
.ft li{margin:6px 0;font-size:13.5px}
.ft a{border:0;color:var(--ink2)}
.ft a:hover{color:var(--accent)}
.ft .about{font-size:13.5px;color:var(--ink2);margin:0}
.ft .sib{margin:18px 0 0;padding:12px 14px;border:1px solid var(--line);border-radius:var(--r);background:#fff;font-size:13px;color:var(--ink2)}
.ft .end{margin:26px 0 0;padding-top:18px;border-top:1px solid var(--line);font-size:12.5px;color:var(--ink3);display:flex;flex-wrap:wrap;gap:6px 16px}
/* ★ 全站页脚热线块：每页都有（闸门 G11 盯着） */
.hotline{margin-top:18px;padding:15px 18px;border:1px solid #f0c4c0;border-left:3px solid var(--sos);border-radius:var(--r);background:#fff;font-size:14px;color:var(--ink2);line-height:1.9}
.hotline b{color:var(--sos)}
.hotline .tel{color:var(--sos);font-weight:700;border:0;font-size:16px;margin:0 2px}
.hotline .tel:hover{color:#8c1d18}
.hotline a.more{white-space:nowrap}

/* ★ 文章视觉组件（lib/visuals.mjs）：把数字/推理/对照重新编码一次，降低阅读疲劳。
   全部 HTML+CSS，零图片体积；文字可选中、可被 AI 读到；移动端自动重排。 */
.vz{margin:24px 0;padding:16px 18px 14px;border:1px solid var(--line);border-radius:14px;
background:#fff;box-shadow:0 1px 2px rgba(23,26,48,.04)}
.vz figcaption{display:flex;align-items:center;gap:7px;margin:0 0 13px;font-size:12.5px;
font-weight:700;color:var(--ink3);letter-spacing:.02em}
.vz figcaption::before{content:"";width:4px;height:13px;border-radius:2px;background:var(--accent);flex:none}
.vz-note{margin:11px 0 0;font-size:12.5px;line-height:1.75;color:var(--ink3)}
/* 关键数字卡组 */
.vz-numgrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(132px,1fr));gap:10px}
.vz-num{padding:12px 13px;border-radius:11px;background:#f5f6fb;border:1px solid #e8eaf4}
.vz-num b{display:block;font-size:27px;line-height:1.15;font-weight:800;color:var(--accent);
letter-spacing:-.02em;font-variant-numeric:tabular-nums}
.vz-num b i{font-style:normal;font-size:13px;font-weight:700;margin-left:2px;opacity:.8}
.vz-num span{display:block;margin-top:6px;font-size:12.5px;line-height:1.6;color:var(--ink2)}
.vz-num.vz-hot{background:#fff4f2;border-color:#f7d9d3}
.vz-num.vz-hot b{color:#d63b2f}
.vz-num.vz-cool{background:#f1f7ff;border-color:#d6e6f8}
.vz-num.vz-cool b{color:#1877c9}
/* 条形对比 */
.vz-bars .vz-row{display:grid;grid-template-columns:1fr auto;gap:5px 12px;
align-items:baseline;padding:8px 0;border-bottom:1px dashed var(--line)}
.vz-bars .vz-row:last-of-type{border-bottom:0}
.vz-bars .vz-k{grid-column:1;grid-row:1;font-size:13px;color:var(--ink2);line-height:1.45}
.vz-bars .vz-v{grid-column:2;grid-row:1;font-size:14.5px;font-weight:800;color:var(--ink);
text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}
.vz-bars .vz-track{grid-column:1/-1;grid-row:2;height:9px;border-radius:6px;
background:#eef0f7;overflow:hidden}
.vz-bars .vz-track i{display:block;height:100%;border-radius:6px;background:var(--accent)}
.vz-b-b .vz-track i{background:#ef4444}
.vz-b-c .vz-track i{background:#0ea5e9}
.vz-b-d .vz-track i{background:#8b5cf6}
.vz-b-m .vz-track i{background:#9aa2b8}
.vz-b-g .vz-track i{background:#10b981}
/* 左右对照 */
.vz-vs .vz-cols{display:grid;grid-template-columns:1fr auto 1fr;gap:10px;align-items:stretch}
.vz-col{padding:12px 13px;border-radius:11px;border:1px solid var(--line);background:#f7f8fc}
.vz-col .vz-tag{display:inline-block;font-size:11px;font-weight:700;padding:2px 8px;
border-radius:99px;background:#e9ebf5;color:var(--ink2);margin-bottom:7px}
.vz-col .vz-h{display:block;font-size:13.5px;line-height:1.5;margin-bottom:6px}
.vz-col ul{margin:0;padding-left:16px}
.vz-col li{font-size:13px;line-height:1.7;color:var(--ink2);margin:3px 0}
.vz-c-video{background:#fff6f4;border-color:#f6d8d2}
.vz-c-video .vz-tag{background:#fde3de;color:#b3352a}
.vz-c-study{background:#f2f8ff;border-color:#d3e4f7}
.vz-c-study .vz-tag{background:#dcecfb;color:#1668b0}
.vz-x{align-self:center;font-size:10.5px;font-weight:800;color:var(--ink3);
letter-spacing:.04em;padding:3px 7px;border-radius:99px;background:#eef0f7}
.vz-verdict{margin:12px 0 0;padding-top:10px;border-top:1px dashed var(--line);
font-size:13px;line-height:1.7;color:var(--ink2)}
.vz-verdict b{display:inline-block;margin-right:6px;font-size:11px;padding:2px 8px;
border-radius:99px;background:#fef3c7;color:#92400e}
/* 步骤流程 */
.vz-steps{display:flex;gap:8px;align-items:stretch}
.vz-step{position:relative;flex:1;min-width:0;padding:11px 12px;border-radius:11px;
background:#f5f6fb;border:1px solid #e8eaf4}
.vz-step+.vz-step::before{content:"";position:absolute;left:-8px;top:50%;width:8px;height:2px;
background:#c9cee0}
.vz-step .vz-n{display:inline-flex;align-items:center;justify-content:center;width:19px;height:19px;
border-radius:50%;background:var(--accent);color:#fff;font-size:11.5px;font-weight:800;margin-bottom:6px}
.vz-step b{display:block;font-size:13px;line-height:1.5;margin-bottom:3px}
.vz-step .vz-d{display:block;font-size:12px;line-height:1.6;color:var(--ink3)}
/* 分层拆解 */
.vz-stack{display:grid;gap:8px}
.vz-layer{position:relative;padding:11px 13px 11px 15px;border-radius:10px;background:#f7f8fc;
border:1px solid var(--line);border-left:3px solid var(--accent)}
.vz-layer b{display:block;font-size:13.5px;line-height:1.5;margin-bottom:3px}
.vz-layer.vz-haspill b{padding-right:74px}
.vz-layer span{display:block;font-size:12.5px;line-height:1.7;color:var(--ink2)}
.vz-pill{position:absolute;top:10px;right:11px;font-style:normal;font-size:10.5px;font-weight:700;
padding:2px 7px;border-radius:99px;background:#eef0f7;color:var(--ink3)}
/* 时间线 */
.vz-tls{position:relative;padding-left:58px}
.vz-tls::before{content:"";position:absolute;left:44px;top:6px;bottom:6px;width:2px;background:#e4e7f1}
.vz-tl{position:relative;padding:0 0 13px}
.vz-tl:last-child{padding-bottom:0}
.vz-tl .vz-y{position:absolute;left:-58px;top:0;width:52px;text-align:right;font-size:12px;
font-weight:800;color:var(--ink3);font-variant-numeric:tabular-nums}
.vz-tl::before{content:"";position:absolute;left:-16px;top:5px;width:9px;height:9px;border-radius:50%;
background:#fff;border:2px solid #c2c8dc}
.vz-tl b{display:block;font-size:13.5px;line-height:1.5}
.vz-tl span{display:block;font-size:12.5px;line-height:1.65;color:var(--ink2);margin-top:2px}
.vz-tl.vz-hi .vz-y{color:#b3352a}
.vz-tl.vz-hi::before{border-color:#b3352a;background:#b3352a}
/* 刻度尺 */
.vz-meter{padding-bottom:14px}
.vz-meter .vz-rail{position:relative;height:10px;border-radius:6px;margin:40px 24px 0;
background:linear-gradient(90deg,#dbeafe,#fef3c7,#fee2e2)}
.vz-pin{position:absolute;top:-30px;transform:translateX(-50%);width:64px;text-align:center}
.vz-pin b{display:block;font-size:14px;font-weight:800;line-height:1.1;
font-variant-numeric:tabular-nums;white-space:nowrap}
.vz-pin i{display:block;width:2px;height:34px;margin:3px auto 0;border-radius:2px;background:#475569}
.vz-p-a i{background:#475569}.vz-p-a b{color:#334155}
.vz-p-hot i{background:#dc2626}.vz-p-hot b{color:#b91c1c}
.vz-p-safe i{background:#059669}.vz-p-safe b{color:#047857}
.vz-axis{display:flex;justify-content:space-between;margin:7px 14px 0;font-size:11px;
color:var(--ink3);font-variant-numeric:tabular-nums}
.vz-legend{display:flex;flex-wrap:wrap;gap:5px 16px;margin:11px 0 0;padding:0;list-style:none}
.vz-legend li{display:flex;align-items:center;gap:5px;font-size:12px;line-height:1.6;color:var(--ink2)}
.vz-ldot{width:8px;height:8px;border-radius:50%;flex:none;background:#475569}
.vz-ldot.vz-p-hot{background:#dc2626}
.vz-ldot.vz-p-safe{background:#059669}
/* 文末清单卡 */
.vz-chks{display:grid;grid-template-columns:1fr 1fr;gap:9px}
.vz-chk{display:flex;gap:9px;padding:11px 12px;border-radius:10px;background:#f7f8fc;border:1px solid var(--line)}
.vz-chk .vz-n{flex:none;display:inline-flex;align-items:center;justify-content:center;width:20px;height:20px;
border-radius:6px;background:#e6e9f6;color:var(--accent);font-size:11.5px;font-weight:800}
.vz-chk b{display:block;font-size:13px;line-height:1.5;margin-bottom:2px}
.vz-chk span{display:block;font-size:12px;line-height:1.6;color:var(--ink3)}
/* 一句话小结 */
.vz-callout{display:flex;gap:10px;align-items:baseline;margin:20px 0;padding:11px 14px;
border-radius:10px;background:#f4f6ff;border-left:3px solid var(--accent);box-shadow:none}
.vz-callout b{flex:none;font-size:11px;font-weight:800;padding:2px 8px;border-radius:99px;
background:#e0e5fb;color:#3f3fa8}
.vz-callout span{font-size:13.5px;line-height:1.75;color:var(--ink2)}

/* ★ 深度图解（lib/diagrams.mjs）：SVG 机制图——循环、漏斗、连续谱、象限、因果链。
   与 .vz 数据卡分工：那个解决「量级看不见」，这个解决「结构看不见」。
   ★ viewBox 680 在手机上会被压到 0.47 倍，字会变成 6px → 窄屏改为横向滑动（min-width 560）。 */
.dg{padding-bottom:10px}
.dg-scroll{overflow-x:auto;overflow-y:hidden;-webkit-overflow-scrolling:touch;
margin:0 -4px;padding:0 4px}
.dg-svg{display:block;width:100%;height:auto}
.dg text{font-family:inherit}
.dg-node rect{fill:#f5f6fb;stroke:#e3e7f3;stroke-width:1}
.dg-t{font-size:14px;font-weight:700;fill:#1b1f33}
.dg-s{font-size:11.5px;fill:#6b7280}
.dg-xs{font-size:11px;fill:#8b91a3}
.dg-link{fill:none;stroke:#b9c0d4;stroke-width:2}
.dg-arrow-head{fill:#b9c0d4}
.dg-core rect{fill:#eef0fb;stroke:none}
.dg-core-t{font-size:14px;font-weight:800;fill:#4f46b8}
.dg-core-s{font-size:11.5px;fill:#6b7280}
/* 漏斗 */
.dg-stage polygon{stroke:none}
.dg-stage.dg-k0 polygon{fill:#dbe6fa}
.dg-stage.dg-k1 polygon{fill:#e5edfb}
.dg-stage.dg-k2 polygon{fill:#eef3fd}
.dg-stage.dg-k3 polygon{fill:#f5f8fe}
.dg-sl{font-size:13.5px;font-weight:700;fill:#2b3149}
.dg-sv{font-size:15px;font-weight:800;fill:#1b1f33}
/* 连续谱 */
.dg-end{font-size:12.5px;font-weight:700;fill:#2b3149}
.dg-pin line{stroke:#c2c8dc;stroke-width:1;stroke-dasharray:3 3}
.dg-pin circle{fill:#fff;stroke:#475569;stroke-width:2.5}
.dg-pin.dg-k1 circle{stroke:#b3352a}
.dg-pt{font-size:12.5px;font-weight:800;fill:#1b1f33}
.dg-ps{font-size:11px;fill:#8b91a3}
.dg-mid{font-size:11.5px;fill:#8b91a3}
/* 四象限 */
.dg-quad rect{stroke:none}
.dg-quad.dg-k0 rect{fill:#fbfbfd}
.dg-quad.dg-k1 rect{fill:#f1f7ff}
.dg-quad.dg-k2 rect{fill:#fff5f2}
.dg-quad.dg-k3 rect{fill:#f7f7fb}
.dg-qt{font-size:13px;font-weight:700;fill:#1b1f33}
.dg-qs{font-size:11.5px;fill:#6b7280}
.dg-axis{stroke:#c9cee0;stroke-width:2}
.dg-al{font-size:11.5px;font-weight:700;fill:#8b91a3}
/* 因果链 */
.dg-dash{fill:none;stroke:#c9cee0;stroke-width:1.6;stroke-dasharray:4 4}
.dg-branch rect{fill:#fff8e8;stroke:#f3e2bd;stroke-width:1}
.dg-chain .dg-t{font-size:13.5px}

/* 阶梯柱（时间窗 / 年龄梯度） */
.dg-bar rect{stroke:none}
.dg-bar.dg-k0 rect{fill:#e88478}
.dg-bar.dg-k1 rect{fill:#8fbce8}
.dg-bar.dg-k2 rect{fill:#79c69f}
.dg-bv{font-size:15px;font-weight:800;fill:#1b1f33}
.dg-bl{font-size:12px;font-weight:700;fill:#2b3149}
.dg-bs{font-size:11px;fill:#8b91a3}
.dg-band{fill:none;stroke:#c9cee0;stroke-width:1.5}
.dg-bandt{font-size:11.5px;font-weight:700;fill:#8b91a3}
/* 双场景反转 */
.dg-trend{fill:none;stroke-width:3}
.dg-up{stroke:#0f9d63}
.dg-down{stroke:#d9534f}
.dg-ft{font-size:12.5px;font-weight:700;fill:#1b1f33}
.dg-fs{font-size:11px;fill:#8b91a3}
.dg-fk{font-size:11.5px;font-weight:700;fill:#6b7280}
.dg-fl-c rect{fill:#eef0fb;stroke:none}
/* 占比环 */
.dg-arc.dg-k0{stroke:#5b8def}
.dg-arc.dg-k1{stroke:#ccd1e0}
.dg-arc.dg-k2{stroke:#e8a33d}
.dg-dc{font-size:25px;font-weight:800;fill:#1b1f33}
.dg-ds{font-size:11.5px;fill:#8b91a3}
.dg-lgs{display:flex;flex-wrap:wrap;gap:4px 16px;margin:8px 0 0;padding:0;
list-style:none;justify-content:center}
.dg-lgs li{display:flex;align-items:center;gap:6px;font-size:12px;color:#4b5563}
.dg-lgs i{width:9px;height:9px;border-radius:50%;background:#5b8def;flex:none}
.dg-lg.dg-k1 i{background:#ccd1e0}
.dg-lg.dg-k2 i{background:#e8a33d}
.dg-lgs b{font-weight:800;color:#1b1f33}

/* 分流树 */
.dg-root rect{fill:#eef0fb;stroke:none}
.dg-card rect{stroke:none}
.dg-card.dg-k0 rect{fill:#fff4f2}
.dg-card.dg-k1 rect{fill:#f2f8ff}
.dg-card.dg-k2 rect{fill:#f7f5ff}
.dg-ct{font-size:14px;font-weight:800;fill:#1b1f33}
.dg-cs{font-size:11.5px;fill:#6b7280}
.dg-cpill{fill:#fff;opacity:.85}
.dg-cpt{font-size:11px;font-weight:800;fill:#3f4759}
/* 嵌套层级 */
.dg-ring.dg-k0 rect{fill:#f4f6fb;stroke:#e4e8f3}
.dg-ring.dg-k1 rect{fill:#e9eefa;stroke:#d6def0}
.dg-ring.dg-k2 rect{fill:#dde6f8;stroke:#c9d6ef}
.dg-nt{font-size:14px;font-weight:800;fill:#1b1f33}
.dg-ns{font-size:11.5px;fill:#6b7280}
/* 双轨 */
.dg-grow.dg-k0{fill:#cfe3fa}
.dg-grow.dg-k1{fill:#b7d6f7}
.dg-grow.dg-k2{fill:#9ac7f2}
.dg-grow.dg-k3{fill:#7fb6e8}
.dg-dt{font-size:13px;font-weight:800;fill:#1b1f33}
.dg-ds2{font-size:11.5px;fill:#6b7280}
.dg-cell{fill:#e8ebf3}
.dg-cell.dg-on{fill:#d9534f}

/* 时间轴 */
.dg-tm line{stroke:#c9cee0;stroke-width:1.5}
.dg-tm circle{fill:#fff;stroke:#475569;stroke-width:2.5}
.dg-tm.dg-k1 circle{stroke:#b3352a;fill:#b3352a}
.dg-tt{font-size:12.5px;font-weight:800;fill:#1b1f33}
.dg-ts{font-size:11px;fill:#8b91a3}
/* 衰减曲线 */
.dg-curve{fill:none;stroke-width:3;stroke-linejoin:round;stroke-linecap:round}
.dg-curve.dg-k0{stroke:#d9534f}
.dg-curve.dg-k1{stroke:#2f7fd1}
.dg-dot{fill:#fff;stroke-width:2.5}
.dg-dot.dg-k0{stroke:#d9534f}
.dg-dot.dg-k1{stroke:#2f7fd1}
.dg-cl{font-size:12px;font-weight:800;paint-order:stroke;stroke:#fff;stroke-width:4;stroke-linejoin:round}
.dg-cl.dg-k0{fill:#b3352a}
.dg-cl.dg-k1{fill:#1f5f9e}
.dg-faint{stroke:#e6e9f2}
/* 吸收闭环 */
.dg-src rect{stroke:none}
.dg-src.dg-k0 rect,.dg-src.dg-k1 rect{fill:#f4f6fb}
.dg-src.dg-k2 rect,.dg-src.dg-k3 rect{fill:#f6f7fc}
.dg-sink circle{fill:#eef0fb;stroke:#d6dbf0;stroke-width:1.5}
.dg-in{stroke:#dcb3ae}

/* 延伸阅读卡组 */
.vz-nextg{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}
.vz-ncard{position:relative;display:block;padding:13px 14px;border-radius:11px;background:#f7f8fc;
border:1px solid var(--line);text-decoration:none;transition:transform .16s,border-color .16s,box-shadow .16s}
.vz-ncard:hover{transform:translateY(-2px);border-color:var(--accent);box-shadow:0 10px 22px -14px rgba(25,27,46,.28)}
.vz-ntag{position:absolute;top:11px;right:11px;font-style:normal;font-size:10px;font-weight:700;
padding:2px 7px;border-radius:99px;background:#e6e9f6;color:#4b52a8}
.vz-ncard b{display:block;font-size:13.5px;line-height:1.5;color:var(--ink);padding-right:76px}
.vz-ncard span{display:block;margin-top:5px;font-size:12px;line-height:1.65;color:var(--ink3)}

/* 快速回答块（GEO：首屏可抽取的答案层） */
.vz-ans{margin:0 0 26px;padding:16px 18px 15px;border:1px solid #dfe3f2;border-left:4px solid var(--accent);
border-radius:12px;background:#f7f8ff}
.vz-aq{display:block;font-size:15.5px;line-height:1.6;color:var(--ink);margin-bottom:7px}
.vz-aa{margin:0;font-size:14.5px;line-height:1.85;color:var(--ink2)}

@media(max-width:1023px){
.nav{display:none}
.hd-m{display:flex}
}
@media(max-width:860px){
.ft .cols{grid-template-columns:1fr 1fr}
.hero{padding:56px 0 46px}
.c3{grid-template-columns:repeat(2,1fr)}
.phero h1{font-size:26px}
.sec>h2{font-size:20px}
}
@media(max-width:720px){
.hd-in{min-height:54px;gap:10px}
.brand-mark{width:30px;height:30px;border-radius:8px}
.brand-name{font-size:16.5px}
.sos-m{font-size:12.5px;padding:6px 11px}
.hero{padding:44px 0 38px}
.hero h1{font-size:24px}
.hero .lede{font-size:15px;line-height:1.8}
.cta{gap:10px;margin-top:22px}
.btn{font-size:14.5px;padding:10px 20px}
.phero{padding:40px 0 30px}
.phero h1{font-size:23px}
.ph-art{padding:32px 0 24px}
.art-h1{font-size:23px}
.prose{font-size:15.5px}
.prose h2{font-size:18.5px;margin-top:30px}
.qa{padding:14px 15px}
.qa-q{font-size:15px}
.qa-a{font-size:14px}
.sit{padding:15px 16px}
.sec{padding:34px 0 8px}
.sec>h2{font-size:18px}
.sec>h2::before{height:18px;width:5px}
.soscard .num{font-size:30px}
.chip{font-size:13.5px;padding:7px 14px}
/* 视觉组件移动端重排：多列一律变单列，流程变竖排 */
.vz{margin:20px -2px;padding:14px 13px 12px;border-radius:12px}
.vz figcaption{font-size:12px;margin-bottom:11px}
.vz-numgrid{gap:8px}
.vz-num{padding:10px 11px}
.vz-num b{font-size:23px}
.vz-vs .vz-cols{grid-template-columns:1fr;gap:8px}
.vz-x{writing-mode:horizontal-tb;justify-self:center;padding:1px 0}
.vz-steps{flex-direction:column;gap:6px}
.vz-step+.vz-step::before{left:50%;top:-6px;width:2px;height:6px}
.vz-chks{grid-template-columns:1fr}
/* ★ 2026-10-29 修：延伸阅读三卡在窄屏仍是 3 列，卡片 min-content（b 的 76px 右内边距）
   把网格撑到 448px，导致全站文章页在 375/320 下横向溢出（真机必现，构建闸门查不出） */
.vz-nextg{grid-template-columns:1fr;gap:8px}
.vz-ncard b{padding-right:70px}
.vz-callout{padding:10px 12px;gap:8px;flex-wrap:wrap}
.vz-callout span{font-size:13px}
.vz-tls{padding-left:54px}
.vz-tl .vz-y{left:-54px;width:48px;font-size:11.5px}
.vz-tls::before{left:40px}
.vz-pin{width:78px}
.vz-pin b{font-size:13px}
.vz-pin span{font-size:10.5px}
/* 深度图解：窄屏保底宽度 + 横滑提示，避免 SVG 缩到字看不见 */
.dg-svg{min-width:520px}
.dg figcaption{display:block}
.dg figcaption::after{content:"← 左右滑动看全图 →";display:block;margin-top:3px;
font-weight:400;font-size:11px;color:#a3a8ba;letter-spacing:.02em}
.dg-scroll{margin:0 -13px;padding:0 13px 4px}
}
@media(max-width:560px){
.c2,.c3{grid-template-columns:1fr}
.ft .cols{grid-template-columns:1fr}
.wrap{padding:0 16px}
.hero h1{font-size:22px}
}
