*,*::before,*::after{box-sizing:border-box}
:root{
  --paper:#F7F8F8;
  --ink:#0D1A20;
  --mid:#4E626A;
  --faint:#8B9AA1;
  --rule:#DDE2E2;
  --rule-soft:#E9EDED;
  --accent:#0B6E7F;
  --rising:#BF4F1B;
  --stable:#5A7A82;
  --grid:rgba(13,26,32,.032);
  --lat:"IBM Plex Sans",-apple-system,sans-serif;
  --cjk:"PingFang SC","Hiragino Sans GB","Microsoft YaHei","Noto Sans CJK SC","Noto Sans SC",sans-serif;
}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
body{
  margin:0;background:var(--paper);color:var(--ink);
  font-family:var(--lat),var(--cjk);
  font-size:15px;line-height:1.68;
  font-variant-numeric:tabular-nums;
  -webkit-font-smoothing:antialiased;
}

/* ══ 三层底纹：坐标网格 / 轨迹 / 光晕 ══ */
body::before{
  content:"";position:fixed;inset:0;z-index:0;pointer-events:none;
  background-image:
    linear-gradient(var(--grid) 1px,transparent 1px),
    linear-gradient(90deg,var(--grid) 1px,transparent 1px);
  background-size:64px 64px;
}
body::after{
  content:"";position:fixed;top:-20%;right:-10%;width:70vw;height:70vw;
  z-index:0;pointer-events:none;
  background:radial-gradient(circle,rgba(11,110,127,.055) 0%,transparent 62%);
}
.page{position:relative;z-index:1}
.wrap{max-width:1180px;margin:0 auto;padding:0 32px}

a{color:inherit;text-decoration:none}
:focus-visible{outline:2px solid var(--accent);outline-offset:3px}

/* ══ 顶栏 ══ */
.top{display:flex;align-items:center;gap:38px;padding:20px 0;
  border-bottom:1px solid var(--rule)}
.brand{display:flex;flex-direction:column;line-height:1.1}
.brand b{font-size:23px;font-weight:700;letter-spacing:.01em}
.brand i{font-style:normal;font-size:10.5px;color:var(--faint);
  letter-spacing:.06em;margin-top:3px}
nav{display:flex;gap:26px;font-size:14px;margin-left:auto}
nav a{color:var(--mid);padding-bottom:2px}
nav a:hover{color:var(--ink)}
nav a.on{color:var(--ink);font-weight:500;
  box-shadow:inset 0 -2px 0 var(--accent)}
.langs{display:flex;border:1px solid var(--rule);border-radius:2px;
  font-size:12px;overflow:hidden}
.langs a{padding:4px 10px;color:var(--faint)}
.langs a.on{background:var(--ink);color:var(--paper)}

/* ══ HERO ══ */
.hero{display:grid;grid-template-columns:1fr 480px;gap:52px;
  align-items:center;padding:60px 0 56px}
.livetag{display:inline-flex;align-items:center;gap:8px;
  font-size:11.5px;letter-spacing:.13em;color:var(--rising);
  margin-bottom:22px}
.dot{width:7px;height:7px;border-radius:50%;background:var(--rising)}
@media(prefers-reduced-motion:no-preference){
  .dot{animation:bl 3.2s ease-in-out infinite}
  @keyframes bl{0%,100%{opacity:1}50%{opacity:.25}}
  /* 雷达生命迹象：中心呼吸、升温节点扩散、信号向中心流动 */
  .r-core{transform-box:fill-box;transform-origin:center;
    animation:breathe 5.5s ease-in-out infinite}
  @keyframes breathe{0%,100%{transform:scale(1);opacity:1}
    50%{transform:scale(1.055);opacity:.9}}
  .r-ring{transform-box:fill-box;transform-origin:center;
    animation:ripple 4.6s ease-out infinite}
  @keyframes ripple{0%{transform:scale(1);opacity:.5}
    70%{transform:scale(2.3);opacity:0}100%{opacity:0}}
  .r-flow{animation:flow 4.2s linear infinite;opacity:0}
  .r-flow.f2{animation-delay:1.4s}
  .r-flow.f3{animation-delay:2.8s}
  @keyframes flow{0%{opacity:0;transform:translate(0,0)}
    12%{opacity:.85}88%{opacity:.5}
    100%{opacity:0;transform:translate(var(--dx),var(--dy))}}
}
h1{font-family:var(--cjk);font-size:clamp(34px,4.6vw,53px);
  font-weight:700;line-height:1.16;letter-spacing:-.01em;margin:0}
h1 span{color:var(--accent)}
.sub{font-family:var(--lat);font-size:clamp(16px,1.6vw,20px);
  font-weight:500;color:var(--mid);letter-spacing:.02em;margin:14px 0 0}
.lede{margin:22px 0 0;color:var(--mid);max-width:30em;font-size:15px}
.cta{display:flex;gap:12px;margin-top:32px;flex-wrap:wrap}
.btn{display:inline-flex;align-items:center;gap:8px;padding:11px 20px;
  font-size:14px;border:1px solid var(--ink);border-radius:2px}
.btn.solid{background:var(--ink);color:var(--paper)}
.btn.ghost{color:var(--ink);border-color:var(--rule)}
.btn.ghost:hover{border-color:var(--ink)}

/* ══ 信息雷达 ══ */
.radar{position:relative}
.radar svg{width:100%;height:auto;display:block;overflow:visible}
.rlabel{font-family:var(--lat);font-size:10.5px;font-weight:600;
  letter-spacing:.07em;fill:var(--mid)}
.rnum{font-family:var(--lat);font-size:15px;font-weight:600;fill:var(--ink)}
.rstate{font-family:var(--lat);font-size:9px;letter-spacing:.06em}
.rcore{font-family:var(--lat);font-weight:700;fill:var(--ink)}
.rfoot{margin:14px 0 0;font-size:11.5px;color:var(--faint);
  display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap}

/* ══ LIVE STRIP ══ */
.strip{border-top:1px solid var(--rule);border-bottom:1px solid var(--rule);
  display:grid;grid-template-columns:repeat(6,1fr)}
.st{padding:22px 20px 20px;border-left:1px solid var(--rule-soft)}
.st:first-child{border-left:0;padding-left:0}
.st-v{font-size:27px;font-weight:600;line-height:1.05;letter-spacing:-.01em}
.st-v u{text-decoration:none;font-size:14px;font-weight:500;
  color:var(--mid);margin-left:4px}
.st-l{font-size:12.5px;color:var(--mid);margin-top:7px}
.st-s{font-size:10.5px;color:var(--faint);margin-top:3px;
  font-family:var(--lat);letter-spacing:.02em}

/* ══ 品牌记忆句 ══ */
.claim{padding:46px 0 10px;text-align:center}
.claim-zh{font-family:var(--cjk);font-size:clamp(22px,2.9vw,32px);
  font-weight:600;margin:0;letter-spacing:.01em}
.claim-zh span{color:var(--rising)}
.claim-en{font-family:var(--lat);font-size:13px;letter-spacing:.09em;
  color:var(--faint);margin:11px 0 0}

/* ══ 区块通用 ══ */
.sec{padding:54px 0}
.sec-h{display:flex;align-items:flex-end;gap:16px;margin-bottom:26px}
.sec-h h2{font-family:var(--cjk);font-size:24px;font-weight:700;margin:0}
.sec-h p{margin:0;color:var(--faint);font-size:13.5px;flex:1}
.sec-h a{font-size:13px;color:var(--accent);white-space:nowrap}

/* ══ 信号卡 ══ */
/* minmax(0,1fr) 而非 1fr：1fr 的 auto 最小值会让列被长内容撑开，
   实测一条 100 字符的 URL 把主信号卡从两列压成一列（2026-09-27） */
.cards{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}
.card.primary{grid-column:span 2;grid-row:span 2}
.rule{font-family:var(--lat);font-size:10.5px;color:var(--faint);
  letter-spacing:.03em;margin:-14px 0 18px}
.rule b{color:var(--mid);font-weight:500}
@media(max-width:980px){.cards{grid-template-columns:repeat(2,minmax(0,1fr))}
  .card.primary{grid-column:span 2;grid-row:auto}}
@media(max-width:560px){.cards{grid-template-columns:minmax(0,1fr)}
  .card.primary{grid-column:auto}}

/* 主信号卡：更多呼吸与层次 */
.card.primary{padding:20px}
.card.primary .spark{height:74px}
.card.primary .spark svg{height:74px}
.card.primary .c-title{font-size:19px;font-weight:600;line-height:1.45;margin-top:2px}
.card.primary .c-sum{font-size:13.5px;margin-top:9px;flex:0 0 auto}
.card.primary .p-src{margin-top:auto;padding-top:16px}
.card.primary .c-figs{gap:26px;padding:13px 0 15px}
.card.primary .c-fig b{font-size:22px}
.p-tag{align-self:flex-start;font-family:var(--lat);font-size:9.5px;
  letter-spacing:.11em;color:var(--paper);background:var(--rising);
  padding:3px 8px;border-radius:2px;margin-bottom:11px}
.turns{margin-top:16px;padding-top:14px;border-top:1px solid var(--rule-soft)}
.tn{display:flex;gap:14px;padding:7px 0;font-size:12.5px}
.tn b{font-family:var(--lat);font-weight:600;color:var(--rising);
  flex:0 0 auto;font-size:11.5px;padding-top:2px}
.tn i{font-style:normal;color:var(--mid)}
.p-src{display:flex;gap:6px;flex-wrap:wrap;margin-top:12px}
.p-src span{font-family:var(--lat);font-size:10px;color:var(--mid);
  border:1px solid var(--rule-soft);background:var(--paper);
  padding:3px 8px;border-radius:2px;letter-spacing:.03em}
.card{background:#fff;border:1px solid var(--rule);border-radius:3px;
  padding:14px;display:flex;flex-direction:column;min-width:0}
.c-top{display:flex;justify-content:space-between;align-items:center;
  font-family:var(--lat);font-size:10px;letter-spacing:.1em;margin-bottom:13px}
.c-cat{color:var(--mid);font-weight:600}
.c-state{font-weight:600;display:inline-flex;align-items:center;gap:4px}
.s-rising{color:var(--rising)}
.s-active{color:var(--accent)}
.s-stable{color:var(--stable)}
.s-new{color:var(--ink);background:#EEF3F3;padding:2px 6px;border-radius:2px}
.spark{height:38px;margin-bottom:5px}
.spark svg{width:100%;height:38px;display:block}
.c-axis{display:flex;justify-content:space-between;
  font-family:var(--lat);font-size:9px;color:var(--faint);
  padding-bottom:11px;border-bottom:1px solid var(--rule-soft);
  letter-spacing:.04em}
.c-figs{display:flex;gap:14px;padding:11px 0 13px}
.c-fig b{display:block;font-size:16px;font-weight:600;line-height:1.1}
.c-fig i{font-style:normal;display:block;font-family:var(--lat);
  font-size:9.5px;color:var(--faint);letter-spacing:.05em;margin-top:2px}
.c-title{font-size:14.5px;font-weight:500;line-height:1.5;
  font-family:var(--cjk)}
.c-sum{font-size:12.5px;color:var(--mid);line-height:1.6;margin-top:6px;
  flex:1}
.c-foot{display:flex;justify-content:space-between;align-items:center;
  font-family:var(--lat);font-size:10px;color:var(--faint);
  margin-top:13px;padding-top:11px;border-top:1px solid var(--rule-soft);
  letter-spacing:.04em}

/* ══ 双栏：曲线 + 产出 ══ */
.duo{display:grid;grid-template-columns:1.32fr 1fr;gap:20px;align-items:start}
.panel{background:#fff;border:1px solid var(--rule);border-radius:3px;
  padding:20px}
.p-h{display:flex;align-items:baseline;gap:12px;margin-bottom:4px}
.p-h h3{font-family:var(--cjk);font-size:17px;font-weight:700;margin:0}
.p-h span{font-size:12px;color:var(--faint);flex:1}
.p-note{font-size:11.5px;color:var(--faint);margin:0 0 16px}
.chart svg{width:100%;height:auto;display:block}
.out{display:flex;flex-direction:column}
.o-row{display:flex;gap:12px;padding:13px 0;
  border-bottom:1px solid var(--rule-soft)}
.o-row:last-child{border-bottom:0}
.o-idx{font-family:var(--lat);font-size:10.5px;color:var(--faint);
  padding-top:3px;min-width:22px}
.o-b{flex:1}
.o-t{font-size:13.5px;line-height:1.5;font-family:var(--cjk)}
.o-m{font-family:var(--lat);font-size:10px;color:var(--faint);
  margin-top:5px;letter-spacing:.04em}

/* ══ 信息流程 ══ */
.pipe{display:flex;align-items:stretch;gap:0}
.pn{flex:1;background:#fff;border:1px solid var(--rule);border-radius:3px;
  padding:16px 15px}
.pn b{display:block;font-family:var(--cjk);font-size:16px;font-weight:600}
.pn span{display:block;font-family:var(--lat);font-size:9.5px;
  letter-spacing:.11em;color:var(--accent);margin-top:4px}
.pn i{font-style:normal;display:block;font-size:12px;color:var(--mid);
  margin-top:8px;line-height:1.5}
.pa{display:flex;align-items:center;padding:0 11px;color:var(--rule);
  font-size:15px;flex:0 0 auto}
.pipe-back{display:flex;align-items:center;gap:12px;margin-top:0}
.pb-arc{flex:1;height:26px;border:1px solid var(--rule);border-top:0;
  border-radius:0 0 4px 4px;margin:0 60px 0 60px;
  border-left-color:var(--rule);border-right-color:var(--rule)}
.pb-t{font-family:var(--lat);font-size:10.5px;letter-spacing:.06em;
  color:var(--faint);flex:0 0 auto;padding-top:22px}
@media(max-width:900px){
  .pipe{flex-wrap:wrap;gap:10px}
  .pn{flex:1 1 calc(50% - 5px)}
  .pa{display:none}
  .pb-arc{display:none}
  .pb-t{padding-top:10px}
}

/* ══ ASK + 入口 ══ */
.tail{display:grid;grid-template-columns:1.25fr 1fr;gap:20px;
  align-items:start;padding-bottom:58px}
.ask{background:#fff;border:1px solid var(--rule);border-radius:3px;padding:24px}
.ask-h{display:flex;align-items:center;gap:11px;margin-bottom:8px}
.ask-h h3{font-size:20px;font-weight:700;margin:0}
.badge{font-family:var(--lat);font-size:10px;letter-spacing:.09em;
  color:var(--rising);border:1px solid var(--rising);padding:3px 8px;
  border-radius:2px}
.qs{margin-top:18px}
.q{padding:13px 0;border-top:1px solid var(--rule-soft)}
.q:first-child{border-top:0;padding-top:4px}
.q b{display:block;font-family:var(--cjk);font-size:14.5px;font-weight:500}
.q i{font-style:normal;display:block;font-size:12.5px;color:var(--mid);
  margin-top:5px;line-height:1.6}
.q-note{margin:14px 0 0;padding-top:13px;border-top:1px solid var(--rule-soft);
  font-size:11.5px;color:var(--faint);line-height:1.6}
.doors{display:grid;grid-template-columns:1fr 1fr;gap:1px;
  background:var(--rule);border:1px solid var(--rule)}
.door{background:#fff;padding:17px 16px}
.door b{display:block;font-size:14.5px;font-weight:600;font-family:var(--cjk)}
.door i{font-style:normal;display:block;font-size:11.5px;color:var(--faint);
  margin-top:4px}

footer{border-top:1px solid var(--rule);padding:26px 0 42px;
  display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap;
  font-size:12px;color:var(--faint)}

@media(max-width:1000px){
  .hero{grid-template-columns:1fr;gap:38px}
  .strip{grid-template-columns:repeat(3,1fr)}
  .st{border-left:1px solid var(--rule-soft);padding-left:20px}
  .st:nth-child(3n+1){border-left:0;padding-left:0}
  .duo,.tail{grid-template-columns:1fr}
  .flowbar{grid-template-columns:repeat(2,1fr)}
  .top{flex-wrap:wrap;gap:14px 20px;padding-bottom:0}
  nav{margin-left:0;order:3;width:100%;overflow-x:auto;
    gap:20px;padding:12px 0 11px;border-top:1px solid var(--rule-soft);
    -webkit-overflow-scrolling:touch;scrollbar-width:none}
  nav::-webkit-scrollbar{display:none}
  nav a{white-space:nowrap;flex:0 0 auto}
  .langs{margin-left:auto}
}
@media(max-width:600px){
  .strip{grid-template-columns:repeat(2,1fr)}
  .st:nth-child(3n+1){border-left:1px solid var(--rule-soft);padding-left:20px}
  .st:nth-child(2n+1){border-left:0;padding-left:0}
}

/* 观察中：有记录但样本不足，尚不能判断趋势 */
.s-watch{color:var(--faint)}

/* ══════════════════════════════════════════════════════════
   二级页面 —— 观察 / 系统 / 实验室
   沿用首页的视觉语言：浅色、坐标网格、数据为视觉主体
   ══════════════════════════════════════════════════════════ */

/* 页头 */
.ph{display:flex;justify-content:space-between;align-items:flex-end;gap:24px;
  padding:52px 0 30px;border-bottom:1px solid var(--rule);flex-wrap:wrap}
.ph-t{font-family:var(--cjk);font-size:clamp(28px,3.6vw,40px);font-weight:700;
  margin:0;letter-spacing:-.01em}
.ph-s{margin:11px 0 0;color:var(--mid);font-size:15px;max-width:36em}
.ph-m{font-family:var(--lat);font-size:11.5px;color:var(--faint);
  letter-spacing:.03em;text-align:right;max-width:24em;line-height:1.6}

/* 视角筛选（纯 CSS，无 JS） */
.filt input{position:absolute;opacity:0;pointer-events:none}
.filt-l{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:22px}
.filt-l label{font-size:13px;color:var(--mid);background:#fff;
  border:1px solid var(--rule);border-radius:2px;padding:6px 13px;
  cursor:pointer;display:inline-flex;align-items:center;gap:7px;
  user-select:none}
.filt-l label:hover{border-color:var(--mid)}
.filt-l label span{font-family:var(--lat);font-size:10.5px;color:var(--faint)}
#lf-all:checked~.filt-l label[for=lf-all],
#lf-official:checked~.filt-l label[for=lf-official],
#lf-tech:checked~.filt-l label[for=lf-tech],
#lf-tradfi:checked~.filt-l label[for=lf-tradfi],
#lf-macro:checked~.filt-l label[for=lf-macro],
#lf-crypto:checked~.filt-l label[for=lf-crypto]{
  background:var(--ink);color:var(--paper);border-color:var(--ink)}
#lf-all:checked~.filt-l label[for=lf-all] span,
#lf-official:checked~.filt-l label[for=lf-official] span,
#lf-tech:checked~.filt-l label[for=lf-tech] span,
#lf-tradfi:checked~.filt-l label[for=lf-tradfi] span,
#lf-macro:checked~.filt-l label[for=lf-macro] span,
#lf-crypto:checked~.filt-l label[for=lf-crypto] span{color:rgba(247,248,248,.6)}
#lf-official:checked~.srs .sr:not([data-lens=official]),
#lf-tech:checked~.srs .sr:not([data-lens=tech]),
#lf-tradfi:checked~.srs .sr:not([data-lens=tradfi]),
#lf-macro:checked~.srs .sr:not([data-lens=macro]),
#lf-crypto:checked~.srs .sr:not([data-lens=crypto]){display:none}

/* 信号行 */
.srs{border:1px solid var(--rule);border-radius:3px;background:#fff}
.sr{display:grid;grid-template-columns:118px 152px 122px 1fr;gap:18px;
  padding:16px 18px;border-top:1px solid var(--rule-soft);align-items:center}
.sr:first-child{border-top:0}
.sr-l{display:flex;flex-direction:column;gap:6px}
.sr-cat{font-family:var(--lat);font-size:10px;letter-spacing:.09em;
  color:var(--mid);font-weight:600}
.sr-sp svg{display:block;width:100%;height:34px}
.sr-m{display:flex;gap:16px}
.sr-f b{display:block;font-size:16px;font-weight:600;line-height:1.1}
.sr-f i{font-style:normal;display:block;font-family:var(--lat);font-size:9px;
  color:var(--faint);letter-spacing:.05em;margin-top:2px}
.sr-t{font-family:var(--cjk);font-size:14.5px;font-weight:500;line-height:1.5}
.sr-s{font-size:12.5px;color:var(--mid);line-height:1.6;margin-top:4px}
.sr-src{font-family:var(--lat);font-size:10px;color:var(--faint);
  letter-spacing:.04em;margin-top:6px}

/* 系统页 · 分层 */
.lys{display:grid;grid-template-columns:repeat(auto-fit,minmax(268px,1fr));
  gap:1px;background:var(--rule);border:1px solid var(--rule)}
.ly{background:#fff;padding:18px 17px}
.ly b{display:block;font-family:var(--cjk);font-size:16px;font-weight:600;
  margin-bottom:8px}
.ly p{margin:0;font-size:13px;color:var(--mid);line-height:1.68}

/* 系统页 · 视角 */
.lzs{display:grid;grid-template-columns:repeat(auto-fit,minmax(168px,1fr));
  gap:1px;background:var(--rule);border:1px solid var(--rule)}
.lz{background:#fff;padding:17px 16px}
.lz b{display:block;font-family:var(--cjk);font-size:15px;font-weight:600}
.lz i{font-style:normal;display:block;font-family:var(--lat);font-size:11.5px;
  color:var(--faint);margin-top:5px}

/* 系统页 · 规模 */
.flowbar2{display:grid;grid-template-columns:repeat(auto-fit,minmax(148px,1fr));
  gap:1px;background:var(--rule);border:1px solid var(--rule)}
.flowbar2 .fl{background:#fff;padding:18px 16px}
.flowbar2 .fl-v{font-size:23px;font-weight:600;line-height:1.1}
.flowbar2 .fl-d{font-size:12px;color:var(--mid);margin-top:6px}

/* 实验室页 */
.lbs{display:grid;grid-template-columns:repeat(auto-fit,minmax(282px,1fr));
  gap:14px}
.lb{background:#fff;border:1px solid var(--rule);border-radius:3px;
  padding:18px;display:flex;flex-direction:column}
.lb-h b{font-family:var(--cjk);font-size:16px;font-weight:600;line-height:1.45}
.lb-b{margin:11px 0 0;font-size:13px;color:var(--mid);line-height:1.65;flex:1}
.lb-f{margin-top:15px;padding-top:13px;border-top:1px solid var(--rule-soft)}
.lb-on,.lb-plan{font-family:var(--lat);font-size:10px;letter-spacing:.09em;
  padding:3px 9px;border-radius:2px}
.lb-on{color:var(--accent);border:1px solid rgba(11,110,127,.35)}
.lb-plan{color:var(--faint);border:1px solid var(--rule)}

@media(max-width:900px){
  .sr{grid-template-columns:1fr 1fr;gap:12px}
  .sr-b{grid-column:1/-1}
  .ph{align-items:flex-start}
  .ph-m{text-align:left}
}
@media(max-width:560px){
  .sr{grid-template-columns:1fr}
}

/* 长 URL 与超长英文词强制折行 —— 否则会撑开所在的网格列 */
.c-title,.c-sum,.sr-t,.sr-s,.o-t,.voice-t,.voice-s{
  overflow-wrap:anywhere;word-break:break-word}
.sr{min-width:0}
.sr-b,.sr-sp{min-width:0}

/* ══════════════════════════════════════════════════════════
   研究页与文章详情
   配图原则（2026-09-28 确立）：
     · 画文章的矛盾结构，不画主题 —— 一张能用在任何文章上的图不该用
     · 时间线用素材里的真实日期，不用示意
     · 底部必须有素材统计带，它说明这篇不是拍脑袋写的
     · 左右构图承载论证的对立两方
   ══════════════════════════════════════════════════════════ */

/* 列表 */
.ics{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,420px),1fr));
  gap:20px}
.ic{display:block;background:#fff;border:1px solid var(--rule);border-radius:3px;
  overflow:hidden;border-bottom:1px solid var(--rule);min-width:0}
.ic:hover{border-color:var(--mid)}
.ic-img{aspect-ratio:16/9;overflow:hidden;background:var(--paper);
  border-bottom:1px solid var(--rule-soft)}
.ic-img img{width:100%;height:100%;object-fit:cover;display:block}
.ic-b{padding:18px 20px 20px}
.ic-m{display:flex;gap:14px;font-family:var(--lat);font-size:11px;
  color:var(--faint);letter-spacing:.04em;margin-bottom:9px}
.ic-t{font-family:var(--cjk);font-size:21px;font-weight:700;line-height:1.38;
  margin:0;letter-spacing:-.005em}
.ic-s{margin:9px 0 0;font-size:13.5px;color:var(--mid);line-height:1.65}
.ic-d{margin-top:14px;padding-top:12px;border-top:1px solid var(--rule-soft);
  font-size:11.5px;color:var(--faint)}
.ic-d b{color:var(--ink);font-weight:600;font-family:var(--lat)}
.ic-g{display:flex;gap:6px;flex-wrap:wrap;margin-top:11px}
.ic-g span{font-size:11px;color:var(--mid);background:var(--paper);
  border:1px solid var(--rule-soft);padding:3px 9px;border-radius:2px}

/* 文章页 */
.art-page{max-width:760px;margin:0 auto;padding-bottom:40px}
.art-h{padding:54px 0 26px}
.art-k{font-family:var(--lat);font-size:11px;letter-spacing:.14em;
  color:var(--accent);margin-bottom:16px}
.art-h h1{font-family:var(--cjk);font-size:clamp(30px,4.4vw,44px);font-weight:700;
  line-height:1.26;margin:0;letter-spacing:-.015em}
.art-sub{margin:14px 0 0;font-size:17px;color:var(--mid);line-height:1.6}
.art-meta{display:flex;gap:18px;flex-wrap:wrap;margin-top:20px;
  padding-top:16px;border-top:1px solid var(--rule);
  font-family:var(--lat);font-size:11.5px;color:var(--faint);letter-spacing:.03em}

.art-cover{margin:0 0 4px;border:1px solid var(--rule);border-radius:3px;
  overflow:hidden}
.art-cover img{width:100%;height:auto;display:block}

.art-mats{display:flex;gap:1px;background:var(--rule);border:1px solid var(--rule);
  border-top:0;flex-wrap:wrap;margin-bottom:30px}
.am{background:#fff;padding:13px 17px;flex:1;min-width:88px}
.am b{display:block;font-size:19px;font-weight:600;line-height:1.1;
  font-family:var(--lat)}
.am i{font-style:normal;display:block;font-size:11px;color:var(--faint);
  margin-top:4px}
.am-src{background:#fff;padding:13px 17px;flex:2.2;min-width:200px;
  font-size:11.5px;color:var(--mid);line-height:1.5}
.am-src i{font-style:normal;display:block;font-size:10px;color:var(--faint);
  letter-spacing:.07em;margin-bottom:4px;font-family:var(--lat)}

/* 正文排版 —— 阅读优先 */
.art-body{font-size:16.5px;line-height:1.82;color:#1B2A2E}
.art-body h2{font-family:var(--cjk);font-size:24px;font-weight:700;
  margin:48px 0 16px;padding-top:4px;letter-spacing:-.01em}
.art-body h3{font-family:var(--cjk);font-size:18px;font-weight:600;
  margin:34px 0 12px}
.art-body h4{font-family:var(--cjk);font-size:16px;font-weight:600;
  margin:26px 0 10px}
.art-body p{margin:0 0 20px}
.art-body strong{font-weight:600;color:var(--ink)}
.art-body em{font-style:normal;color:var(--mid);font-size:14.5px}
.art-body hr{border:0;border-top:1px solid var(--rule);margin:42px 0}
.art-body ul{margin:0 0 20px;padding-left:1.3em}
.art-body li{margin-bottom:9px}
.art-body code{font-size:14px;background:var(--paper);padding:2px 6px;
  border-radius:2px;border:1px solid var(--rule-soft)}
/* 段内的强调判断句 —— 以加粗开头的整段视为判断，给出左侧标记 */
.art-body p > strong:first-child:last-child{display:block;
  border-left:2px solid var(--accent);padding:2px 0 2px 15px;
  margin-left:-17px;font-size:16px}

.tw{overflow-x:auto;margin:0 0 26px;border:1px solid var(--rule);
  border-radius:3px;background:#fff}
.art-body table{width:100%;border-collapse:collapse;font-size:13.5px}
.art-body th{text-align:left;padding:11px 14px;background:var(--paper);
  border-bottom:1px solid var(--rule);font-weight:600;font-size:12.5px;
  white-space:nowrap}
.art-body td{padding:10px 14px;border-bottom:1px solid var(--rule-soft);
  vertical-align:top;line-height:1.6}
.art-body tbody tr:last-child td{border-bottom:0}

.art-back{margin-top:48px;padding-top:26px;border-top:1px solid var(--rule)}

@media(max-width:700px){
  .art-h{padding:38px 0 20px}
  .art-body{font-size:16px}
  .art-body h2{font-size:21px;margin:38px 0 14px}
  .am{min-width:72px;padding:11px 13px}
  .am-src{flex:1 1 100%}
}

/* 移动端：区块头改竖排。
   .sec-h 是横排 flex（标题 + 说明 + 链接），窄屏下三者挤在一行，
   中间的说明文字被压成一列字（2026-09-28 手机端实测）。 */
@media(max-width:700px){
  .sec-h{flex-direction:column;align-items:flex-start;gap:8px}
  .sec-h h2{font-size:21px}
  .sec-h p{font-size:13px}
  .sec-h a{align-self:flex-start}
  .rule{margin:0 0 16px;line-height:1.7}
}

/* ══════════════════════════════════════════════════════════
   产出栏目 —— 币种网格 / 月度入口 / 内容条目
   ══════════════════════════════════════════════════════════ */

.cgs{display:grid;grid-template-columns:repeat(auto-fill,minmax(112px,1fr));
  gap:1px;background:var(--rule);border:1px solid var(--rule)}
.cg{background:#fff;padding:15px 14px;display:block}
.cg:hover{background:var(--paper)}
.cg b{display:block;font-family:var(--lat);font-size:15px;font-weight:600;
  letter-spacing:.02em}
.cg i{font-style:normal;display:block;font-size:11px;color:var(--faint);
  margin-top:4px}

.mgs{display:grid;grid-template-columns:repeat(auto-fill,minmax(152px,1fr));
  gap:1px;background:var(--rule);border:1px solid var(--rule)}
.mg{background:#fff;padding:15px 16px;display:block}
.mg:hover{background:var(--paper)}
.mg b{display:block;font-family:var(--lat);font-size:16px;font-weight:600}
.mg i{font-style:normal;display:block;font-size:11.5px;color:var(--faint);
  margin-top:4px}

.ops{border:1px solid var(--rule);border-radius:3px;background:#fff}
.op{padding:18px 20px;border-top:1px solid var(--rule-soft)}
.op:first-child{border-top:0}
.op-m{display:flex;align-items:center;gap:11px;flex-wrap:wrap;
  font-family:var(--lat);font-size:10.5px;color:var(--faint);
  letter-spacing:.04em;margin-bottom:9px}
.op-w{font-weight:600;color:var(--mid)}
.op-c{border:1px solid var(--rule-soft);background:var(--paper);
  padding:2px 7px;border-radius:2px;color:var(--accent);font-weight:600}
.op-t{font-family:var(--cjk);font-size:16px;font-weight:600;line-height:1.5;
  margin:0}
.op-b{margin:8px 0 0;font-size:14px;color:var(--mid);line-height:1.78;
  overflow-wrap:anywhere}
.op-gs{display:flex;gap:6px;flex-wrap:wrap;margin-top:11px}
.op-g{font-size:11px;color:var(--faint);background:var(--paper);
  border:1px solid var(--rule-soft);padding:2px 8px;border-radius:2px}

@media(max-width:600px){
  .op{padding:15px 15px}
  .cgs{grid-template-columns:repeat(auto-fill,minmax(92px,1fr))}
}

/* ══════════════════════════════════════════════════════════
   判断账本页 —— 台账体例，不用卡片
   左侧色条表示状态：待检验 / 成立 / 被推翻 / 部分成立
   ══════════════════════════════════════════════════════════ */

.jgs{display:flex;flex-direction:column;gap:14px}
.jg{background:#fff;border:1px solid var(--rule);border-radius:3px;
  padding:20px 22px;border-left-width:3px;border-left-style:solid}
.jg.j-open{border-left-color:var(--faint)}
.jg.j-ok{border-left-color:var(--accent)}
.jg.j-no{border-left-color:var(--rising)}
.jg.j-part{border-left-color:#8A7A2B}
.jg.j-exp{border-left-color:var(--rule)}

.jg-h{display:flex;align-items:baseline;gap:14px;flex-wrap:wrap;
  font-family:var(--lat);font-size:11px;color:var(--faint);
  letter-spacing:.04em;margin-bottom:12px}
.jg-id{font-weight:600;color:var(--ink);font-size:12.5px}
.jg-st{font-weight:600}
.j-open .jg-st{color:var(--faint)}
.j-ok .jg-st{color:var(--accent)}
.j-no .jg-st{color:var(--rising)}
.j-part .jg-st{color:#8A7A2B}
.jg-src{margin-left:auto}

.jg-c{font-family:var(--cjk);font-size:16.5px;font-weight:500;line-height:1.66;
  margin:0;color:var(--ink)}

.jg-b,.jg-f,.jg-o,.jg-l{margin-top:15px;padding-top:13px;
  border-top:1px solid var(--rule-soft)}
.jg-b i,.jg-f i,.jg-o i,.jg-l i{font-style:normal;display:block;
  font-family:var(--lat);font-size:10px;letter-spacing:.1em;
  color:var(--faint);margin-bottom:7px}
.jg-f i,.jg-l i{color:var(--rising)}
.jg-b ul{margin:0;padding-left:1.15em}
.jg-b li{font-size:13.5px;color:var(--mid);line-height:1.7;margin-bottom:5px}
.jg-f p,.jg-o p,.jg-l p{margin:0;font-size:13.5px;color:var(--mid);
  line-height:1.72}
.jg-l p{color:var(--ink);font-weight:500}

.jg-t{margin-top:15px;padding-top:12px;border-top:1px solid var(--rule-soft);
  font-family:var(--lat);font-size:11px;color:var(--faint);letter-spacing:.04em}

@media(max-width:700px){
  .jg{padding:16px 16px}
  .jg-src{margin-left:0;width:100%}
  .jg-c{font-size:15.5px}
}
