/*
Theme Name: AUCN Research Institute
Theme URI: https://www.aucn.org
Author: AUCN
Description: 澳中股票研究站主题 —— 深色墨底英雄区 + 宣纸亮底正文 + A4 同版式研报页。零计算：所有数字来自发布层 payload，模板不做任何算术。
Version: 0.4.3
Requires at least: 6.0
Requires PHP: 7.4
License: Proprietary
Text Domain: aucn
*/

/* ══════════════════════════════════════════════
   1. 设计令牌 —— 全部取自 AUCN_A4版式层，未新增表外值
   ══════════════════════════════════════════════ */
:root{
  /* 宣纸阶（亮底正文） */
  --pp:#FBF8F2; --pp1:#F4EEE2; --pp2:#E8DFCB; --pp3:#C9BFA7; --cd:#FFFDF9;
  /* 墨阶 */
  --i0:#1A1814; --i1:#2C2822; --i2:#5C564B; --i3:#8A8276;
  /* 深色区（以墨色为底，不是通用黑） */
  --dk0:#151310; --dk1:#221F19; --dk2:#2E2A22; --dkl:#3A352B;
  --pl0:#F4EEE2; --pl1:#C9BFA7; --pl2:#8A8276;
  /* 品牌色（实测自印章 logo） */
  --seal:#B63A2E; --seal-d:#D05B49;     /* 朱红 / 深色区提亮 */
  --jade:#3F7A5C; --jade-d:#54A57C;     /* 青玉 / 深色区提亮 */
  --navy:#183560; --navy-d:#5A8AD0;     /* 藏青 / 深色区提亮 */
  --gold:#C08A2E; --gold-d:#DCAA4C;     /* 鎏金 / 深色区提亮 */
  /* 字体 */
  --ui:"Inter",-apple-system,BlinkMacSystemFont,"Segoe UI","PingFang SC","Microsoft YaHei",sans-serif;
  --mo:"JetBrains Mono","SF Mono",Consolas,"Courier New",monospace;
  --dp:"Cormorant Garamond",Georgia,"Songti SC","Noto Serif SC",serif;
  /* 版心 */
  --wrap:clamp(1180px,90vw,1800px); --gap:14px; --r:6px;
  --sh1:0 1px 1px rgba(26,24,20,.03),0 5px 14px rgba(26,24,20,.045);
  --sh2:0 2px 3px rgba(26,24,20,.04),0 12px 26px rgba(26,24,20,.085);
}

/* ══ 2. 基础 ══
   ★分界线画在「数据 vs 文章」：全站深色，只有研报正文页走宣纸。
     数据密集区在深色上更聚光；长文本在纸墨上更耐读，且与下载的 A4 逐字同版。 */
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;
  /* ★流体根字号：唯一旋钮，全站 rem 跟着它走。
     下限 16px 与 rem 换算基准相同 —— 窄屏与改版前逐像素一致。 */
  font-size:clamp(16px,calc(13.05px + 0.27vw),19.5px)}
body{margin:0;background:var(--dk0);color:var(--pl1);font-family:var(--ui);
  font-size:0.9375rem;line-height:1.7;font-variant-numeric:tabular-nums;
  -webkit-font-smoothing:antialiased}
img{max-width:100%;height:auto;display:block}
a{color:var(--seal-d);text-decoration:none}
a:hover{text-decoration:underline}
::selection{background:rgba(208,91,73,.28)}
.wrap{max-width:var(--wrap);margin:0 auto;padding:0 22px}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;
  clip:rect(0,0,0,0);white-space:nowrap;border:0}
:focus-visible{outline:2px solid var(--seal);outline-offset:2px}

/* ══ 3. 深色区：系统条 / 导航 / 英雄区 / 走马灯 ══ */
.aucn-sys{background:#0F0E0B;color:var(--pl1);font:500 0.625rem/1.3 var(--mo);letter-spacing:.06em}
.aucn-sys .wrap{display:flex;align-items:center;gap:13px;padding-top:6px;padding-bottom:6px}
.sys-dot{width:5px;height:5px;border-radius:50%;background:var(--jade-d);flex:0 0 5px;
  animation:aucn-bp 1.6s infinite}
@keyframes aucn-bp{0%,100%{opacity:1}50%{opacity:.2}}
.sys-log{flex:1;min-width:0;overflow:hidden;height:14px;position:relative}
.sys-log ul{position:absolute;margin:0;padding:0;list-style:none;width:100%;
  animation:aucn-roll 14s steps(6) infinite}
.sys-log li{height:14px;line-height:14px;color:#6F6A5E;white-space:nowrap;
  overflow:hidden;text-overflow:ellipsis}
.sys-log b{color:var(--pl1);font-weight:500}
@keyframes aucn-roll{to{transform:translateY(-84px)}}
.sys-build{color:#6F6A5E;white-space:nowrap}

/* ★★不再在这里裁切。原来是 overflow:hidden，而手机下拉菜单是
   .aucn-dark 的绝对定位后代 —— **祖先的 overflow:hidden 一样会裁掉它**，
   这和 z-index 是两套完全独立的机制，改 z-index 治不了它。
   2026-08-21 实测：非首页的 .aucn-dark 只有 197px 高（底边 229），
   导航底边 91、菜单需 325px → 只露出约三项，其余被裁。
   首页因为有 hero 所以够高，**看起来一切正常** —— 这类只在部分页面出现的
   缺陷最容易被当成偶发。
   ★裁切的本意只是拦住两层会溢出的装饰（.dk-scan 左溢 120px 的扫光、
     .dk-glow 上溢 89px 的光晕）。所以**只裁该裁的**：给装饰层单独一个
     裁切容器，别让整块跟着一起裁。 */
.aucn-dark{background:var(--dk0);position:relative}
/* 装饰层的裁切容器：只包住三层特效，不影响菜单等真实内容 */
.dk-fx{position:absolute;inset:0;overflow:hidden;pointer-events:none;z-index:0}
.dk-grid{position:absolute;inset:0;pointer-events:none;
  background-image:linear-gradient(rgba(201,191,167,.055) .5px,transparent .5px),
                   linear-gradient(90deg,rgba(201,191,167,.055) .5px,transparent .5px);
  background-size:30px 30px}
.dk-scan{position:absolute;top:0;left:-32%;width:34%;height:100%;pointer-events:none;
  background:linear-gradient(90deg,transparent,rgba(90,138,208,.07),rgba(208,91,73,.07),transparent);
  animation:aucn-sweep 7.5s cubic-bezier(.45,0,.55,1) infinite}
@keyframes aucn-sweep{to{left:104%}}
.dk-glow{position:absolute;top:-45%;left:50%;width:70%;height:130%;pointer-events:none;
  background:radial-gradient(closest-side,rgba(90,138,208,.13),transparent 72%)}

/* ★★z-index 必须**高于 .aucn-hero**（它也是 3，且在 DOM 里更靠后 → 会压在上面）。
   2026-08-21 实测的手机菜单"点不动"就出在这里：
   `.aucn-menu` 写着 z-index:20，但它在 .aucn-nav 内部，
   而 .aucn-nav（position:relative + z-index:3）**自己开了一个层叠上下文** ——
   那个 20 只在这个上下文里有效，对外仍然只有 3。
   于是下拉菜单渲染在 hero 底下：**看得见、点不到**，
   每一次点击都落在 SECTION.aucn-hero 与 H1 上。
   ★"写了 z-index 却不起作用"几乎总是层叠上下文问题，
     而它的症状（元素可见但不可点）看起来完全不像层级问题。 */
.aucn-nav{position:relative;z-index:10;border-bottom:.5px solid var(--dkl)}
.aucn-nav .wrap{display:flex;align-items:center;gap:18px;padding-top:12px;padding-bottom:12px}
.brand{display:flex;align-items:center;gap:10px;flex:0 0 auto}
.brand img{height:34px;width:auto;border-radius:5px}
.brand .bn{font:700 0.875rem/1.1 var(--ui);letter-spacing:.18em;color:var(--pl0)}
.brand .bt{font:500 0.46875rem var(--ui);letter-spacing:.26em;color:var(--pl2);text-transform:uppercase}
.aucn-menu{display:flex;gap:17px;list-style:none;margin:0;padding:0}
.aucn-menu a{font-size:0.78125rem;color:var(--pl1);position:relative;padding:3px 0;white-space:nowrap;text-decoration:none}
.aucn-menu a::after{content:"";position:absolute;left:0;bottom:-1px;width:0;height:1.5px;
  background:var(--seal-d);transition:width .3s}
.aucn-menu a:hover::after,.aucn-menu .current-menu-item>a::after{width:100%}
.aucn-menu a:hover{text-decoration:none}
.aucn-menu .current-menu-item>a{color:var(--seal-d);font-weight:600}
/* 列分组表头 —— ★让「读数」与「台账结算规格」在视觉上仍是两块，
   但不再用两张表去分。两张表会把同一批标的列两遍，读者看到的是重复。 */
.aucn thead tr.grp th{border-bottom:0;padding-bottom:2px;font-size:0.5625rem;
  letter-spacing:.16em;text-transform:uppercase;color:var(--pl2)}
.aucn thead tr.grp .grp-a{border-bottom:1.5px solid var(--navy-d)}
.aucn thead tr.grp .grp-b{border-bottom:1.5px solid var(--gold-d)}
/* ★第三组「现价起算」= 本站 2026-08-20 起的排序轴。
   底线比另外两组粗一档 —— 视觉权重要与它在方法论里的地位一致：
   前两组是"若回踩到触发价则如何"，这一组是"今天真去做如何"。 */
.aucn thead tr.grp .grp-c{border-bottom:2.5px solid var(--seal-d)}

/* 语言切换 —— ★margin-left:auto 从时钟移到这里：
   它现在是右侧第一个元素，把「推到最右」的职责一起接过来。
   两个元素都写 auto 会平分剩余空间，中间裂开一道缝。 */
.nav-lang{margin-left:auto;font:600 0.625rem var(--ui);letter-spacing:.12em;
  color:var(--pl1);border:.5px solid var(--dkl);border-radius:2px;
  padding:3px 8px;text-decoration:none;white-space:nowrap;transition:.2s}
.nav-lang:hover{color:var(--seal-d);border-color:var(--seal-d);text-decoration:none}
.nav-clock{margin-left:14px;font:500 0.59375rem var(--mo);color:var(--pl2);letter-spacing:.1em;white-space:nowrap}

/* 站内搜索 —— 菜单最后一栏。★放在 .nav-lang（margin-left:auto）之前，
   于是它紧贴菜单末尾，而语言与时钟仍被推到最右。 */
.nav-search{display:flex;align-items:center;gap:4px;margin-left:17px;
  border:.5px solid var(--dkl);border-radius:2px;padding:2px 4px 2px 8px;
  background:rgba(255,255,255,.03);transition:.2s}
.nav-search:focus-within{border-color:var(--seal-d);background:rgba(255,255,255,.06)}
.nav-search input{width:118px;background:none;border:0;outline:none;
  font:400 0.71875rem var(--ui);color:var(--pl1);padding:3px 0}
.nav-search input::placeholder{color:var(--pl3,#6b665e)}
.nav-search button{background:none;border:0;padding:2px 3px;cursor:pointer;
  color:var(--pl2);display:flex;align-items:center}
.nav-search button:hover{color:var(--seal-d)}
/* 账户 —— ★独立一栏（HENG 2026-08-21）。
   原来是一个 <a>，现在是一个 <nav> 里装两条动作链接：
   未登录 = 登录·注册；已登录 = 用户名·退出。
   ★与左边的栏目菜单之间画一道竖线：它不是第八个栏目，是另一类东西。 */
.nav-acct{display:flex;align-items:center;gap:9px;margin-left:14px;padding-left:14px;
  border-left:.5px solid var(--dkl);white-space:nowrap}
.nav-acct a{font:600 0.71875rem var(--ui);color:var(--pl1);text-decoration:none;
  border-bottom:1px solid transparent;transition:.2s}
.nav-acct a:hover{color:var(--seal-d);border-bottom-color:var(--seal-d);text-decoration:none}
/* 注册是"下一步"，给它一个实心块 —— 两条平权的文字链等于没有主次 */
.nav-acct .acct-join{padding:3px 8px;border:.5px solid var(--seal-d);border-radius:2px;
  color:var(--seal-d);border-bottom-width:.5px}
.nav-acct .acct-join:hover{background:var(--seal-d);color:var(--dk0,#151310);
  border-bottom-color:var(--seal-d)}
/* 退出是"低频且不可误触"的动作：弱化，但不要弱到看不见 */
.nav-acct .acct-out{color:var(--pl3,#6b665e);font-weight:500}
.nav-acct .acct-out:hover{color:var(--pl1)}
/* 登录态的小圆点：一眼看出"已进来了"，不必读文字 */
.nav-acct .acct-dot{display:inline-block;width:5px;height:5px;border-radius:50%;
  background:var(--seal-d);margin-right:6px;vertical-align:middle}
.nav-acct .acct-me{max-width:11em;overflow:hidden;text-overflow:ellipsis;
  display:inline-block;vertical-align:middle}

/* 研报库的市场筛选条 + 成组小标题（HENG 2026-08-22：研报要分类） */
.mk-filter{display:flex;gap:8px;flex-wrap:wrap;margin:0 0 18px}
.mk-filter a{font:600 0.71875rem var(--ui);color:var(--pl1);text-decoration:none;
  padding:5px 13px;border:.5px solid var(--dkl);border-radius:2px;
  min-height:32px;display:inline-flex;align-items:center;transition:.2s}
.mk-filter a:hover{color:var(--seal-d);border-color:var(--seal-d);text-decoration:none}
.mk-filter a.on{color:var(--dk0,#151310);background:var(--seal-d);border-color:var(--seal-d)}
/* ★小标题占满一行，让"成组"这件事在版面上看得见 —— 只靠卡上的小标签看不出来 */
.mk-group{font:600 0.75rem var(--ui);letter-spacing:.14em;color:var(--seal-d);
  margin:14px 0 2px;padding-bottom:6px;border-bottom:.5px solid var(--dkl)}
.mk-group:first-child{margin-top:0}

.nav-toggle{display:none;margin-left:auto;background:none;border:0;padding:6px;cursor:pointer}
.nav-toggle span{display:block;width:19px;height:1.5px;background:var(--pl1);margin:3.5px 0;transition:.25s}

.aucn-hero{position:relative;z-index:3;padding:34px 0 28px}
.hero-kicker{font:600 0.53125rem var(--ui);letter-spacing:.3em;text-transform:uppercase;
  color:var(--seal-d);margin-bottom:11px;display:flex;align-items:center;gap:9px}
.hero-kicker i{width:26px;height:1px;background:var(--seal-d);flex:0 0 26px}
.aucn-hero h1{font:300 2.625rem/1.06 var(--dp);color:var(--pl0);letter-spacing:-.015em;margin:0 0 11px}
.aucn-hero h1 b{font-weight:400;color:var(--gold-d)}
.hero-sub{font:400 0.78125rem/1.65 var(--ui);color:var(--pl1);max-width:480px;margin:0 0 22px}

.idx-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}
.idx{background:var(--dk1);border:.5px solid var(--dkl);border-radius:var(--r);
  padding:13px 14px;position:relative;transition:transform .3s,border-color .3s}
.idx:hover{transform:translateY(-2px);border-color:var(--pl2)}
.idx::before{content:"";position:absolute;top:5px;left:5px;width:7px;height:7px;
  border:.5px solid var(--dkl);border-width:.5px 0 0 .5px}
.idx-lab{font:600 0.46875rem var(--ui);letter-spacing:.19em;text-transform:uppercase;
  color:var(--pl2);margin-bottom:7px;display:flex;gap:6px;align-items:center}
.idx-chip{width:4px;height:4px;border-radius:1px;flex:0 0 4px}
.idx-val{font:700 1.3125rem/1 var(--mo);color:var(--pl0);letter-spacing:-.03em}
.idx-pct{font:700 0.6875rem var(--mo);display:block;margin-top:4px}
.idx-sub{font:400 0.53125rem var(--mo);color:var(--pl2);margin-top:5px;
  white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.idx-spark{width:100%;height:20px;display:block;margin-top:7px}
.idx-spark path{stroke-dasharray:320;stroke-dashoffset:320;animation:aucn-draw 2.4s ease-out forwards}
@keyframes aucn-draw{to{stroke-dashoffset:0}}

.aucn-ticker{position:relative;z-index:3;background:#0F0E0B;border-top:.5px solid var(--dkl);
  overflow:hidden;padding:7px 0}
.tk-track{display:flex;gap:26px;width:max-content;animation:aucn-tk 34s linear infinite;
  font:500 0.625rem var(--mo)}
.tk-track span{color:var(--pl1);white-space:nowrap}
@keyframes aucn-tk{to{transform:translateX(-50%)}}

/* ══ 4. 数据区（深色）：仪表 / 卡片 / 表格 / 门禁 ══ */
.aucn-body{padding:24px 0 34px;background:var(--dk0);position:relative}
/* 数据区也铺一层极淡网格，与英雄区连成一片，不出现"断层" */
.aucn-body::before{content:"";position:absolute;inset:0;pointer-events:none;
  background-image:linear-gradient(rgba(201,191,167,.03) .5px,transparent .5px),
                   linear-gradient(90deg,rgba(201,191,167,.03) .5px,transparent .5px);
  background-size:30px 30px}
.aucn-body>*{position:relative;z-index:1}

.gauges{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--gap);margin-bottom:var(--gap)}
.gauge{background:var(--dk1);border:.5px solid var(--dkl);border-radius:var(--r);
  padding:14px;text-align:center;transition:transform .3s,border-color .3s}
.gauge:hover{transform:translateY(-2px);border-color:var(--pl2)}
.gauge svg{width:60px;height:60px}
.gauge circle:first-child{stroke:var(--dk2)}          /* 仪表底环 */
.gauge .fg{transform:rotate(-90deg);transform-origin:50% 50%;stroke-dasharray:157;
  animation:aucn-gauge 1.8s cubic-bezier(.2,.85,.25,1) forwards}
@keyframes aucn-gauge{from{stroke-dashoffset:157}}
.gauge .gv{font:700 0.9375rem var(--mo);fill:var(--pl0)}
.gauge .gt{font:600 0.5rem var(--ui);letter-spacing:.15em;text-transform:uppercase;
  color:var(--pl2);margin-top:5px}
.gauge .gs{font:400 0.5625rem var(--mo);color:var(--pl1);margin-top:2px}

.grid{display:grid;grid-template-columns:repeat(12,1fr);gap:var(--gap)}
.col-4{grid-column:span 4}.col-5{grid-column:span 5}.col-6{grid-column:span 6}
.col-7{grid-column:span 7}.col-8{grid-column:span 8}.col-12{grid-column:span 12}

.card{background:var(--dk1);border:.5px solid var(--dkl);border-radius:var(--r);
  padding:15px 16px;position:relative;transition:transform .3s,border-color .3s}
.card:hover{transform:translateY(-2px);border-color:var(--pl2)}
/* 十字准星：深色上比阴影更能造出"仪器"感 */
.card::before,.card::after{content:"";position:absolute;width:7px;height:7px;
  border-color:var(--dkl);border-style:solid}
.card::before{top:5px;left:5px;border-width:.5px 0 0 .5px}
.card::after{bottom:5px;right:5px;border-width:0 .5px .5px 0}
.card-h{display:flex;align-items:baseline;gap:9px;margin-bottom:12px;
  padding-bottom:8px;border-bottom:.5px solid var(--dkl)}
.card-h h2,.card-h h3{font:600 0.75rem var(--ui);color:var(--pl0);margin:0}
.card-note{margin-left:auto;font:500 0.5rem var(--mo);color:var(--pl2);
  letter-spacing:.1em;text-transform:uppercase;white-space:nowrap}

.heat{display:grid;grid-template-columns:repeat(4,1fr);gap:5px}
.heat-b{border-radius:3px;padding:8px 7px;font:500 0.59375rem var(--ui);
  background:var(--dk2);border:.5px solid var(--dkl);color:var(--pl1);
  opacity:0;animation:aucn-fade .5s forwards}
.heat-b b{display:block;font:700 0.6875rem var(--mo);margin-top:2px}
@keyframes aucn-fade{to{opacity:1}}

table.aucn{width:100%;border-collapse:collapse}
table.aucn th{font:600 0.5rem var(--ui);letter-spacing:.13em;text-transform:uppercase;
  color:var(--pl2);text-align:left;padding:0 0 7px;border-bottom:.5px solid var(--dkl)}
table.aucn td{font:400 0.71875rem var(--ui);color:var(--pl1);padding:9px 0;
  border-bottom:.5px solid rgba(58,53,43,.55);vertical-align:top}
table.aucn tr:last-child td{border-bottom:none}
table.aucn tbody tr{transition:background .2s}
table.aucn tbody tr:hover td{background:rgba(46,42,34,.6)}
.sym{font:700 0.71875rem var(--mo);color:var(--pl0)}
.mono{font-family:var(--mo);font-weight:500}
.bar{height:2.5px;background:var(--dk2);border-radius:2px;margin-top:5px;overflow:hidden}
.bar i{display:block;height:100%;border-radius:2px;transform:scaleX(0);transform-origin:left;
  animation:aucn-grow 1.5s cubic-bezier(.2,.85,.25,1) forwards}
@keyframes aucn-grow{to{transform:scaleX(1)}}
.score{font:700 0.6875rem var(--mo);padding:2px 6px;border-radius:3px;border:.5px solid}
.score.hi{color:var(--jade-d);border-color:rgba(84,165,124,.45);background:rgba(84,165,124,.12)}
.score.mid{color:var(--gold-d);border-color:rgba(220,170,76,.45);background:rgba(220,170,76,.12)}
.score.lo{color:var(--pl1);border-color:var(--dkl);background:var(--dk2)}

.gates .row{display:flex;align-items:center;gap:9px;font:400 0.65625rem var(--ui);color:var(--pl1);
  padding:6px 0;border-bottom:.5px solid rgba(58,53,43,.55);opacity:0;
  animation:aucn-slide .45s forwards}
.gates .row:last-child{border-bottom:none}
@keyframes aucn-slide{from{opacity:0;transform:translateX(-6px)}to{opacity:1;transform:none}}
.gates .dot{width:5px;height:5px;border-radius:50%;flex:0 0 5px}
.gates .n{margin-left:auto;font:600 0.5625rem var(--mo);color:var(--pl2);white-space:nowrap}
.dot.ok{background:var(--jade-d)}.dot.warn{background:var(--gold-d)}
.dot.bad{background:var(--seal-d)}.dot.na{background:var(--pl2)}

.note{font:400 0.59375rem/1.6 var(--ui);color:var(--pl2);margin-top:10px;
  padding-top:8px;border-top:.5px solid rgba(58,53,43,.55)}
.note b{color:var(--pl1)}
.note a{color:var(--gold-d)}

/* 涨跌色 —— 深色为全站默认；纸墨研报页在 §5 里覆盖回深色版 */
.w-up,.cn-down{color:var(--jade-d)}
.w-down,.cn-up{color:var(--seal-d)}
.flat{color:var(--pl2)}

/* ══ 5. 纸墨区：个股研报（与 A4 docx 同版式）══
   ★全站唯一的亮底页型。界线是「数据 vs 文章」：
     数据密集区在深色上聚光，长文本在纸墨上耐读，
     且与用户下载的 A4 文件逐字同版 —— 这是花钱买不到的信任信号。 */
.paper{background:var(--pp);padding:34px 0 44px;color:var(--i1)}
/* 纸墨页内的涨跌色回到深色版（浅底上提亮色会发飘） */
.paper .w-up,.paper .cn-down{color:var(--jade)}
.paper .w-down,.paper .cn-up{color:var(--seal)}
.paper .flat{color:var(--i3)}
.paper a{color:var(--seal)}
.paper .note{color:var(--i3);border-top-color:var(--pp2)}
.paper .note b{color:var(--i2)}
.paper .sheet{max-width:min(47.5rem,100%);margin:0 auto;padding:0 24px}
.paper .kicker{font:600 0.5625rem var(--ui);letter-spacing:.24em;text-transform:uppercase;
  color:var(--seal);margin-bottom:12px}
.paper h1{font:300 2.5rem/1.12 var(--dp);color:var(--i0);letter-spacing:-.02em;margin:0 0 16px}
.paper .lede{font:400 1.0625rem/1.55 var(--dp);color:var(--i2);margin:0 0 22px}
.paper .meta{display:flex;gap:20px;flex-wrap:wrap;font:400 0.6875rem var(--mo);color:var(--i3);
  border-top:.5px solid var(--pp3);border-bottom:.5px solid var(--pp3);
  padding:11px 0;margin-bottom:26px}
.paper .verdict{background:var(--pp1);padding:18px 22px;display:flex;gap:20px;
  align-items:flex-start;margin-bottom:24px;border-radius:4px}
.paper .verdict img{width:62px;height:62px;flex:0 0 62px}
.paper h2{font:400 1.5625rem/1.25 var(--dp);color:var(--i0);margin:32px 0 12px;
  padding-bottom:7px;border-bottom:.5px solid var(--pp2)}
.paper h3{font:600 0.875rem var(--ui);color:var(--i1);margin:22px 0 9px}
.paper p{font-family:var(--dp);font-size:0.96875rem;line-height:1.78;color:var(--i1);margin:0 0 15px}
.paper table{width:100%;border-collapse:collapse;margin:18px 0;font-family:var(--ui);font-size:0.78125rem}
.paper th{background:var(--pp1);text-align:left;padding:8px 10px;font-weight:600;
  color:var(--i1);border-bottom:.5px solid var(--pp3)}
.paper td{padding:8px 10px;border-bottom:.5px solid var(--pp2);color:var(--i2)}
.lenses{display:flex;gap:7px;flex-wrap:wrap;margin:16px 0}
.lens{font:500 0.625rem var(--ui);padding:4px 10px;border-radius:3px;background:var(--pp1);
  color:var(--i2);border:.5px solid var(--pp2)}
.lens.cta{background:var(--i0);border-color:var(--i0);color:var(--pl0);font-weight:600}

/* ══ 6. 付费墙 / 免责 ══（深色为默认，纸墨页单独覆盖）*/
.aucn-paywall{background:var(--dk1);border:.5px solid var(--dkl);
  border-left:2.5px solid var(--gold-d);border-radius:4px;
  padding:20px 22px;margin:20px 0;text-align:center}
.aucn-paywall .pw-k{font:600 0.53125rem var(--ui);letter-spacing:.24em;text-transform:uppercase;
  color:var(--gold-d);margin-bottom:9px}
.aucn-paywall p{margin:0 0 7px;font-size:0.84375rem;color:var(--pl0)}
.aucn-paywall .pw-note{font-size:0.6875rem;color:var(--pl2)}
.aucn-paywall .pw-dev{color:var(--seal-d)}
/* 会员表单 —— 登录/注册/申请三页共用。★版式沿用宣纸正文，不另起一套。 */
.aucn-form{margin:18px 0 8px}
.aucn-form label{display:block;font:600 0.71875rem var(--ui);color:var(--i2);
  margin-bottom:13px;letter-spacing:.02em}
.aucn-form label.inline{display:flex;align-items:center;gap:7px;font-weight:400}
.aucn-form input[type=text],.aucn-form input[type=email],
.aucn-form input[type=password],.aucn-form input[type=search]{
  display:block;width:100%;box-sizing:border-box;margin-top:5px;
  font:400 0.9375rem var(--ui);color:var(--i0);background:var(--cd);
  border:.5px solid var(--pp3);border-radius:2px;padding:11px 12px;
  transition:.15s}
.aucn-form input:focus{outline:none;border-color:var(--seal);
  box-shadow:0 0 0 2px rgba(155,45,45,.10)}
.aucn-form button{font:600 0.8125rem var(--ui);letter-spacing:.06em;color:var(--pl0,#F7F4EE);
  background:var(--i0);border:.5px solid var(--i0);border-radius:2px;
  padding:12px 26px;cursor:pointer;transition:.18s;margin-top:4px}
.aucn-form button:hover{background:var(--seal);border-color:var(--seal)}
.aucn-form .cf-turnstile{margin:6px 0 14px}

.paper .aucn-paywall{background:var(--pp1);border-color:var(--pp3);border-left-color:var(--gold)}
.paper .aucn-paywall .pw-k{color:var(--gold)}
.paper .aucn-paywall p{color:var(--i1)}
.paper .aucn-paywall .pw-note{color:var(--i3)}
.paper .aucn-paywall .pw-dev{color:var(--seal)}

.aucn-disclaimer{border:.5px solid var(--dkl);border-left:2.5px solid var(--seal-d);
  border-radius:4px;background:var(--dk1);padding:13px 16px;
  font:400 0.59375rem/1.72 var(--ui);color:var(--pl1);margin:22px 0}
.aucn-disclaimer b{color:var(--seal-d)}
.aucn-disclaimer .d-sub{display:block;margin-top:6px;color:var(--pl2)}
.aucn-disclaimer .d-sub b{color:var(--pl1)}
.paper .aucn-disclaimer{background:var(--pp1);border-color:var(--pp2);
  border-left-color:var(--seal);color:var(--i2)}
.paper .aucn-disclaimer b{color:var(--seal)}
.paper .aucn-disclaimer .d-sub{color:var(--i3)}
.paper .aucn-disclaimer .d-sub b{color:var(--i2)}

/* ══ 7. 页脚 ══ */
.aucn-foot{background:#0F0E0B;color:var(--pl2);padding:30px 0 26px;
  border-top:.5px solid var(--dkl);margin-top:0}
.aucn-foot .wrap{display:flex;gap:30px;flex-wrap:wrap;align-items:flex-start}
/* 页脚方形印章：与右侧栏目块齐高（h4 + 三行链接 ≈ 112px），视觉上顶底齐平 */
.aucn-foot .foot-seal{width:112px;height:112px;border-radius:10px;flex:0 0 112px}
.aucn-foot a{color:var(--pl1)}
.aucn-foot .fcol{font-size:0.75rem;line-height:2.05;min-width:104px}
.aucn-foot h4{font:600 0.53125rem var(--ui);letter-spacing:.2em;text-transform:uppercase;
  color:var(--pl2);margin:0 0 10px}
.aucn-foot ul{list-style:none;margin:0;padding:0}
.foot-legal{border-top:.5px solid var(--dkl);margin-top:22px;padding-top:16px;
  font:400 0.59375rem/1.75 var(--ui);color:#6F6A5E;width:100%}

/* ══ 8. 响应式：电脑 / 平板竖版 / 手机竖版 ══ */
@media (max-width:1024px){                 /* 平板 */
  .idx-grid{grid-template-columns:repeat(2,1fr)}
  .gauges{grid-template-columns:repeat(2,1fr)}
  .col-4,.col-5,.col-6,.col-7,.col-8{grid-column:span 12}
  .aucn-hero h1{font-size:2.125rem}
  .paper h1{font-size:2.125rem}
}
@media (max-width:768px){                  /* 平板竖版 */
  .wrap{padding:0 18px}
  .aucn-hero{padding:26px 0 22px}
  .aucn-hero h1{font-size:1.8125rem}
}
@media (max-width:600px){                  /* 手机竖版 */
  body{font-size:0.90625rem}
  .wrap{padding:0 15px}
  /* ★触控目标 ≥44×44。原来是 31×31（19px 宽的三条杠 + 6px 内边距）——
     视觉上够看，**手指点不准**：这是"手机菜单没法点"的第二个原因。
     用 flex 居中让三条杠仍在正中，只是把可点区域撑到 44。 */
  .nav-toggle{display:flex;flex-direction:column;align-items:center;justify-content:center;
    min-width:44px;min-height:44px;padding:0;order:2;margin-left:0}
  .aucn-menu{display:none;position:absolute;top:100%;left:0;right:0;background:var(--dk1);
    flex-direction:column;gap:0;padding:8px 0;border-bottom:.5px solid var(--dkl);z-index:20}
  .aucn-menu.open{display:flex}
  /* ★内边距挪到 <a> 上，让**整行**可点。原来 padding 在 li 上、
     a 是行内元素只有 21px 高 —— 点在文字旁边的空白处不会触发跳转，
     而那片空白看起来明明是同一个菜单项。 */
  .aucn-menu li{padding:0;border-bottom:.5px solid var(--dkl)}
  .aucn-menu li a{display:block;padding:13px 18px}
  .aucn-nav .wrap{position:relative}
  /* ★手机上时钟隐藏，但语言切换**必须留着** ——
     手机是英文读者最可能用的设备，藏掉切换等于没做这个功能。
     位置挪到汉堡按钮左边。
     ★用 order 而不是靠 DOM 顺序：原来汉堡与语言键**都有 margin-left:auto**，
       flex 会把剩余空间在两者之间**平分**（实测各 469px），
       结果汉堡飘在导航条中间。只留一个 auto，另一个用 order 排位。 */
  .nav-clock{display:none}
  .nav-lang{order:1;margin-left:auto;margin-right:8px;padding:2px 7px;font-size:0.59375rem}
  /* ★搜索框与账户入口在手机上由 aucn.js 搬进 <ul> 当成两行菜单项，
     所以这里只需按"菜单行"来写样式 —— 不用知道菜单有多高。
     （硬塞进导航条会把汉堡挤没；绝对定位在"菜单下方"则要猜菜单高度。） */
  .aucn-menu li.nav-extra{padding:0}
  /* ★手机上这一栏被 aucn.js 搬进 <ul> 当菜单项。
     它现在装的是两条链接，所以要按"一行两个"排，
     并且每个的触控目标不小于 44px —— 否则"看得见按不中"（同 #73 那次）。 */
  .nav-extra-acct .nav-acct{display:flex;margin:0;padding:8px 18px;gap:14px;
    border-left:0;border-top:.5px solid var(--dkl)}
  .nav-extra-acct .nav-acct a{font-size:0.875rem;display:flex;align-items:center;
    min-height:44px;border-bottom:0}
  .nav-extra-acct .nav-acct .acct-join{padding:0 14px;min-height:40px}
  .nav-extra-search .nav-search{display:flex;margin:0;border:0;border-radius:0;
    padding:9px 12px 9px 18px;background:rgba(255,255,255,.04)}
  /* 16px：iOS 上小于 16px 的输入框会触发自动放大，整页跟着跳 */
  .nav-extra-search .nav-search input{flex:1;width:auto;font-size:1rem;padding:10px 0}
  .nav-extra-search .nav-search button{min-width:44px;min-height:44px;justify-content:center}
  /* ★表格里的标的链接：桌面上是 16px 高的行内文字，手机上点不准。
     改成块级 + 上下内边距，让**整格宽度**都是可点区域。
     ★这类"看得见但按不中"的问题不会报错，只会让人以为链接坏了 ——
       和上面那个层叠陷阱是同一种：症状不像原因。 */
  table.aucn .sym{font-size:0.78125rem;line-height:1.4}
  table.aucn .sym a{display:block;padding:7px 0;min-height:30px}
  .aucn-hero h1{font-size:1.5625rem}
  .hero-sub{font-size:0.71875rem;margin-bottom:17px}
  .idx-grid{gap:8px}
  .idx-val{font-size:1.0625rem}
  .gauges{gap:8px}
  .grid{gap:10px}
  .heat{grid-template-columns:repeat(2,1fr)}
  .sys-build{display:none}
  .paper .sheet{padding:0 15px}
  .paper h1{font-size:1.6875rem}
  .paper p{font-size:0.90625rem}
  /* 表格窄屏：藏掉次要列，保住可读性 */
  table.aucn .col-hide-sm{display:none}
}

/* ══ 9. 无障碍：尊重系统的减少动效偏好 ══
   正经机构站都做这个。前庭敏感的用户看满屏动效是受罪。 */
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{
    animation-duration:.001ms!important;animation-iteration-count:1!important;
    transition-duration:.001ms!important;scroll-behavior:auto!important}
  .idx-spark path{stroke-dashoffset:0}
  .bar i{transform:scaleX(1)}
  .heat-b,.gates .row{opacity:1}
}

/* ══ 10. 打印：研报页直接可打，与 A4 一致 ══ */
@media print{
  .aucn-sys,.aucn-nav,.aucn-ticker,.aucn-foot,.aucn-paywall{display:none!important}
  body{background:#fff;color:#1A1814}
  .aucn-body,.aucn-dark{background:#fff!important}
  .card,.gauge{background:#fff!important;border-color:#C9BFA7!important}
  .card-h h2,.sym{color:#1A1814!important}
  table.aucn td,.note,.gates .row{color:#2C2822!important}
  .paper .sheet{max-width:100%}
}

/* ══ 11. 分页导航（深色）══ */
.navigation.pagination{margin-top:22px}
.nav-links{display:flex;gap:7px;flex-wrap:wrap;align-items:center}
.page-numbers{display:inline-block;min-width:32px;text-align:center;
  padding:5px 10px;border:.5px solid var(--dkl);border-radius:4px;
  background:var(--dk1);color:var(--pl1);font:500 0.71875rem var(--mo);text-decoration:none}
.page-numbers:hover{border-color:var(--pl2);text-decoration:none}
.page-numbers.current{background:var(--seal-d);border-color:var(--seal-d);color:#151310;font-weight:700}


/* ══ 研报内嵌图表（HENG 2026-08-22：让报告直观一点）══
   ★宽度由 payload 里那个数直接给（style="width:NN%"），CSS 不参与换算 ——
     图与表里的数字必然一致，因为它们是同一个数。
   ★纸面（研报正文走宣纸底）与深色区各一套色，靠 .paper 前缀区分。 */
.aucn-chart{margin:14px 0 16px}
.chart-row{display:flex;align-items:center;gap:10px;margin:5px 0}
.chart-row .cl{flex:0 0 6.5rem;font:600 0.6875rem var(--ui);color:var(--i2);
  text-align:right;letter-spacing:.02em}
.chart-row .ct{flex:1;height:0.6875rem;background:var(--pp1);border-radius:2px;
  overflow:hidden;box-shadow:inset 0 0 0 .5px var(--pp2)}
.chart-row .cf{display:block;height:100%;border-radius:2px;min-width:2px;
  transition:none}
.chart-row .cv{flex:0 0 7.5rem;font:700 0.6875rem var(--mo);color:var(--i1)}
.chart-stack{display:flex;height:1.1rem;border-radius:3px;overflow:hidden;
  box-shadow:inset 0 0 0 .5px var(--pp2);background:var(--pp1);margin:6px 0 8px}
.chart-stack .seg{display:block;height:100%}
.chart-key{display:flex;flex-wrap:wrap;gap:14px;margin-bottom:4px}
.chart-key .k{font:500 0.65625rem var(--ui);color:var(--i2);
  display:flex;align-items:center;gap:5px}
.chart-key .k i{width:0.625rem;height:0.625rem;border-radius:2px;display:inline-block}
.chart-note{font:400 0.65625rem var(--ui)!important;color:var(--i3)!important;
  margin:2px 0 0!important;line-height:1.6!important}
/* 四色：与站上品牌色同源 */
.c-seal{background:var(--seal)} .c-jade{background:var(--jade)}
.c-navy{background:var(--navy)} .c-gold{background:var(--gold)}
.c-ink{background:var(--i3)}
@media (max-width:600px){
  .chart-row{flex-wrap:wrap}
  .chart-row .cl{flex:0 0 100%;text-align:left}
  .chart-row .cv{flex:0 0 auto}
}


/* ══════════════════════════════════════════════════════════════════════
   ★2026-08-23 浅色导航条（HENG：「感觉还是浅色底好看」）
   ──────────────────────────────────────────────────────────────────────
   起因：标头换成印章 LOGO 后，那枚印章是**镂空**的（中心透明），
   放在深色导航条上中间会透出深色 ⇒ 糊成一团。印章本来就是
   「盖在纸上」的东西，页脚/打印/研报都在浅底上用它，所以那三处一直好看。

   ★为什么写成**追加的覆盖块**而不是就地改那 16 处：
     这是审美决定，可能要撤。成块的撤起来是删一段，就地改要逐处还原。
     ⇒ 若这版留下来了，后续应折回原处、删掉本块（别让覆盖层长期存在）。

   ★★调色层：浅底用 --seal / --i*，**不是** --seal-d / --pl*。
     后者是「深色区提亮版」。#125 首页仪表环就是用错这一层，
     对比度掉到 1.12:1。改任何一处颜色前先问：这块底是深是浅。

   ★不动的东西：首页 hero 与非首页深色带仍是深色（.aucn-hero 在
     .aucn-dark 里，与 .aucn-nav 是兄弟）。浅报头压深横幅，接缝是有意的。
   ══════════════════════════════════════════════════════════════════════ */
.aucn-nav{background:var(--pp);border-bottom:.5px solid var(--pp2)}
.aucn-nav .brand img{height:34px;width:34px}
.aucn-nav .aucn-menu a{color:var(--i1)}
.aucn-nav .aucn-menu a:hover{color:var(--seal)}
.aucn-nav .aucn-menu .current-menu-item>a,
.aucn-nav .aucn-menu .current_page_item>a{color:var(--seal)}
.aucn-nav .nav-lang{color:var(--i2);border-color:var(--pp2)}
.aucn-nav .nav-lang:hover{color:var(--seal);border-color:var(--seal)}
.aucn-nav .nav-clock{color:var(--i3)}
.aucn-nav .nav-search{border-color:var(--pp2);background:rgba(26,24,20,.02)}
.aucn-nav .nav-search:focus-within{border-color:var(--seal);background:rgba(26,24,20,.04)}
.aucn-nav .nav-search input{color:var(--i1)}
.aucn-nav .nav-search input::placeholder{color:var(--i3)}
.aucn-nav .nav-search button{color:var(--i2)}
.aucn-nav .nav-search button:hover{color:var(--seal)}
.aucn-nav .nav-acct{border-left-color:var(--pp2)}
.aucn-nav .nav-acct a{color:var(--i1)}
.aucn-nav .nav-acct a:hover{color:var(--seal);border-bottom-color:var(--seal)}
.aucn-nav .nav-acct .acct-join{border-color:var(--seal);color:var(--seal)}
.aucn-nav .nav-acct .acct-join:hover{background:var(--seal);color:var(--pp)}
.aucn-nav .nav-acct .acct-out{color:var(--i3)}
.aucn-nav .nav-acct .acct-out:hover{color:var(--i1)}
.aucn-nav .nav-toggle span{background:var(--i1)}

/* ★手机下拉菜单是绝对定位挂在导航条下方的 —— 它原本假设自己落在深色里
     （background:var(--dk1)、边框 --dkl、搜索框 rgba(255,255,255,.04)）。
     导航条变浅后这三处都得跟着翻，否则一点汉堡就掉出一块黑。
   ★这类「跟着一起改」的地方，是改配色时最容易漏的 —— 因为平时看不见它。 */
@media (max-width:600px){
  .aucn-nav .aucn-menu{background:var(--pp);border-bottom-color:var(--pp2)}
  .aucn-nav .aucn-menu li{border-bottom-color:var(--pp2)}
  .aucn-nav .nav-extra-acct .nav-acct{border-top-color:var(--pp2)}
  .aucn-nav .nav-extra-search .nav-search{background:rgba(26,24,20,.03)}
}
