:root{
  --accent:#5b8fd6;
  --accent-rgb:91,143,214;
  --accent2:#4fb3a5;
  --bg:#08090a;
  --bg-elevated:#0d0f14;
  --surface:rgba(255,255,255,.032);
  --surface-hover:rgba(255,255,255,.06);
  --border:rgba(255,255,255,.08);
  --border-strong:rgba(255,255,255,.16);
  --text:rgba(255,255,255,.85);
  --text-secondary:rgba(255,255,255,.55);
  --text-tertiary:rgba(255,255,255,.35);
  --up:#34d399; --down:#f87171; --warn:#fbbf24;
  --radius-sm:6px; --radius:8px; --radius-lg:12px; --radius-xl:16px; --radius-full:9999px;
  --font-display:'Outfit','Noto Serif SC',Georgia,'Songti SC',serif;
  --font-body:-apple-system,'PingFang SC','Microsoft YaHei',Segoe UI,sans-serif;
  --font-mono:'IBM Plex Mono',ui-monospace,SFMono-Regular,Consolas,monospace;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;color:var(--text);font-family:var(--font-body);
  line-height:1.75;-webkit-font-smoothing:antialiased;
  background:
    radial-gradient(ellipse 60% 42% at 18% -6%,rgba(var(--accent-rgb),.10),transparent),
    radial-gradient(ellipse 52% 46% at 84% 104%,rgba(79,179,165,.055),transparent),
    var(--bg);
  background-attachment:fixed;
}
.mono{font-family:var(--font-mono);font-variant-numeric:tabular-nums}
/* 只写左右 padding：用简写会把 section 的上下留白一起清零（类优先级高于元素） */
.wrap{max-width:1080px;margin:0 auto;padding-left:24px;padding-right:24px}
section{padding:84px 0}
/* 内容直接显示：不做淡入/位移动画，避免每次点导航都先「空白一下」 */
.reveal{opacity:1}

/* ---------- Hero ---------- */
.hero{padding:72px 0 56px}
.hero-grid{display:grid;grid-template-columns:1fr;gap:40px;align-items:start}
@media(min-width:900px){.hero-grid{grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);gap:56px}}
.eyebrow{
  display:inline-flex;align-items:center;gap:8px;font-size:12px;letter-spacing:.14em;
  text-transform:uppercase;color:var(--accent);font-weight:600;
  border:1px solid rgba(var(--accent-rgb),.32);border-radius:var(--radius-full);
  padding:8px 16px;background:rgba(var(--accent-rgb),.07);
}
.hero h1{
  font-family:var(--font-display);font-weight:700;
  font-size:clamp(30px,4.4vw,50px);line-height:1.12;letter-spacing:-.02em;
  margin:24px 0 0;color:#fff;
}
.hero h1 .grand{
  background:linear-gradient(112deg,var(--accent) 6%,var(--accent2) 92%);
  -webkit-background-clip:text;background-clip:text;color:transparent;
}
.hero p.lede{margin:16px 0 0;font-size:16px;color:var(--text-secondary);max-width:56ch}
.meta-row{display:flex;flex-wrap:wrap;gap:8px;margin-top:24px}
.chip{
  font-size:12px;color:var(--text-secondary);border:1px solid var(--border);
  border-radius:var(--radius-sm);padding:8px 16px;background:var(--surface);
}
.stat-stack{display:grid;gap:14px}
.stat{
  background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);
  padding:24px;box-shadow:0 4px 24px rgba(0,0,0,.4);
  transition:transform .3s cubic-bezier(.2,0,0,1),border-color .3s ease,box-shadow .3s ease;
}
.stat:hover{transform:translateY(-2px);border-color:var(--border-strong);box-shadow:0 8px 32px rgba(0,0,0,.45)}
.stat.key{
  border-color:rgba(var(--accent-rgb),.3);
  box-shadow:inset 0 0 6px rgba(var(--accent-rgb),.13),inset 0 0 12px rgba(var(--accent-rgb),.07),0 4px 24px rgba(0,0,0,.4);
}
.stat .v{font-family:var(--font-mono);font-variant-numeric:tabular-nums;font-size:30px;line-height:1.1;color:#fff;font-weight:400}
.stat .v.acc{color:var(--accent)}
.stat .v.warnc{color:var(--warn)}
.stat .k{font-size:12px;letter-spacing:.06em;color:var(--text-tertiary);margin-top:8px}

/* ---------- Section heading ---------- */
.shead{display:flex;gap:20px;align-items:baseline;margin-bottom:32px}
.shead .num{
  font-family:var(--font-mono);font-size:13px;color:var(--accent);
  border:1px solid rgba(var(--accent-rgb),.3);border-radius:var(--radius-sm);
  padding:8px;flex:none;background:rgba(var(--accent-rgb),.06);
}
.shead h2{
  font-family:var(--font-display);font-weight:700;font-size:clamp(22px,2.7vw,32px);
  letter-spacing:-.02em;line-height:1.22;color:#fff;margin:0;
}
.shead .desc{color:var(--text-secondary);font-size:14px;margin:8px 0 0}

/* ---------- Cards / grids ---------- */
.card{
  background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);
  padding:24px;box-shadow:0 4px 24px rgba(0,0,0,.4);
}
.grid-2{display:grid;gap:16px;grid-template-columns:1fr}
@media(min-width:760px){.grid-2{grid-template-columns:1fr 1fr}}
.bento{display:grid;gap:16px;grid-template-columns:repeat(2,1fr)}
@media(min-width:860px){.bento{grid-template-columns:repeat(4,1fr)}}
.bento .b-lg{grid-column:span 2;grid-row:span 2}
.bento .b-wide{grid-column:span 2}
@media(max-width:859px){.bento .b-lg,.bento .b-wide{grid-column:span 2;grid-row:auto}}
.card h3{font-family:var(--font-display);font-size:18px;font-weight:600;margin:0 0 10px;color:#fff;letter-spacing:-.01em}
.card p{margin:8px 0 0;font-size:14.5px;color:var(--text)}
.muted{color:var(--text-secondary)}
.tiny{font-size:12.5px;color:var(--text-tertiary)}

/* ---------- Table ---------- */
.tbl-wrap{overflow-x:auto;border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--surface)}
table{border-collapse:collapse;width:100%;min-width:520px;font-size:14px}
thead th{
  text-align:left;font-weight:600;color:#fff;font-size:12.5px;letter-spacing:.04em;
  padding:16px;background:rgba(255,255,255,.04);border-bottom:1px solid var(--border-strong);
  white-space:nowrap;
}
tbody td{padding:16px;border-bottom:1px solid rgba(255,255,255,.05);color:var(--text);vertical-align:top}
tbody tr:last-child td{border-bottom:none}
tbody tr{transition:background .2s ease}
tbody tr:hover{background:var(--surface-hover)}
td.num,th.num{font-family:var(--font-mono);font-variant-numeric:tabular-nums;white-space:nowrap}
.up{color:var(--up)} .down{color:var(--down)} .warnc{color:var(--warn)} .acc{color:var(--accent)}
strong{color:#fff;font-weight:600}

/* ---------- Quote ---------- */
.quote{
  border-left:3px solid var(--accent);background:linear-gradient(100deg,rgba(var(--accent-rgb),.08),transparent 72%);
  border-radius:0 var(--radius-lg) var(--radius-lg) 0;padding:32px;
}
.quote p{
  font-family:'Noto Serif SC',var(--font-display);font-size:clamp(18px,2.5vw,25px);
  line-height:1.55;color:#fff;margin:0;letter-spacing:.01em;
}
.quote .sub{margin-top:16px;font-size:14px;color:var(--text-secondary);font-family:var(--font-body)}

/* ---------- Timeline ---------- */
.tl{position:relative;padding-left:24px}
.tl::before{content:'';position:absolute;left:8px;top:8px;bottom:8px;width:2px;
  background:linear-gradient(180deg,var(--accent),rgba(var(--accent-rgb),.05))}
.tl-item{position:relative;padding:0 0 24px}
.tl-item:last-child{padding-bottom:0}
.tl-item::before{content:'';position:absolute;left:-24px;top:8px;width:12px;height:12px;border-radius:50%;
  background:var(--bg);border:2px solid var(--accent)}
.tl-item .t{font-size:12px;letter-spacing:.08em;color:var(--accent);font-weight:600}
.tl-item .h{font-family:var(--font-display);font-size:16px;color:#fff;margin-top:4px;font-weight:600}
.tl-item .d{font-size:14px;color:var(--text-secondary);margin-top:6px}

/* ---------- Accordion ---------- */
details.acc-item{
  background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);
  margin-bottom:12px;overflow:hidden;
}
details.acc-item[open]{border-color:var(--border-strong)}
details.acc-item summary{
  cursor:pointer;list-style:none;padding:24px;display:flex;align-items:center;gap:16px;
  font-family:var(--font-display);font-size:17px;font-weight:600;color:#fff;
}
details.acc-item summary::-webkit-details-marker{display:none}
details.acc-item summary .tag{
  font-family:var(--font-mono);font-size:11px;font-weight:400;color:var(--accent);
  border:1px solid rgba(var(--accent-rgb),.3);border-radius:var(--radius-sm);
  padding:4px 8px;background:rgba(var(--accent-rgb),.06);flex:none;
}
details.acc-item summary .arw{margin-left:auto;color:var(--text-tertiary);transition:transform .3s ease;font-size:13px}
details.acc-item[open] summary .arw{transform:rotate(90deg)}
details.acc-item .body{padding:0 24px 24px;animation:blurIn .45s cubic-bezier(.16,1,.3,1)}
@keyframes blurIn{from{opacity:0;filter:blur(6px)}to{opacity:1;filter:none}}

/* ---------- Lists ---------- */
ol.const{counter-reset:c;list-style:none;padding:0;margin:0}
ol.const>li{
  counter-increment:c;position:relative;padding:16px 0 16px 48px;
  border-bottom:1px solid rgba(255,255,255,.05);font-size:14.5px;
}
ol.const>li:last-child{border-bottom:none}
ol.const>li::before{
  content:counter(c,decimal-leading-zero);position:absolute;left:0;top:16px;
  font-family:var(--font-mono);font-size:12px;color:var(--accent);
  border:1px solid rgba(var(--accent-rgb),.28);border-radius:var(--radius-sm);
  padding:2px 7px;background:rgba(var(--accent-rgb),.06);
}
ul.plain{margin:8px 0 0;padding-left:20px}
ul.plain li{margin:7px 0;font-size:14.5px}

/* ---------- Callouts ---------- */
.callout{
  border-radius:var(--radius-lg);padding:24px;font-size:14.5px;
  border:1px solid var(--border);background:var(--surface);
}
.callout.warn{border-color:rgba(251,191,36,.28);background:rgba(251,191,36,.05)}
.callout.warn .lbl{color:var(--warn)}
.callout.info{border-color:rgba(var(--accent-rgb),.26);background:rgba(var(--accent-rgb),.05)}
.callout.info .lbl{color:var(--accent)}
.callout .lbl{font-size:12px;letter-spacing:.12em;text-transform:uppercase;font-weight:600;display:block;margin-bottom:8px}

/* ---------- Footer ---------- */
.foot{border-top:1px solid var(--border);padding:40px 0 64px;margin-top:24px}
.foot .row{display:flex;flex-wrap:wrap;gap:16px;justify-content:space-between;align-items:center;font-size:13px;color:var(--text-tertiary)}
.kbd{font-family:var(--font-mono);font-size:12.5px;color:var(--text-secondary);
  background:rgba(255,255,255,.04);border:1px solid var(--border);border-radius:var(--radius-sm);padding:2px 7px}
a{color:var(--accent);text-decoration:none;border-bottom:1px solid rgba(var(--accent-rgb),.3)}
a:hover{border-bottom-color:var(--accent)}

/* =====================================================================
   QUANT TERMINAL THEME —— 深色量化研究风格
   深空底色 / 极光光晕 / 精密网格 / 玻璃拟态 / 霓虹数据色
   ===================================================================== */
:root{
  --accent:#38e0ff;
  --accent-rgb:56,224,255;
  --accent2:#a78bfa;
  --accent2-rgb:167,139,250;
  --bg:#03060c;
  --bg-elevated:#070c15;
  --surface:rgba(255,255,255,.032);
  --surface-hover:rgba(255,255,255,.06);
  --border:rgba(150,190,255,.10);
  --border-strong:rgba(170,205,255,.22);
  --text:rgba(230,240,255,.87);
  --text-secondary:rgba(196,214,242,.60);
  --text-tertiary:rgba(170,192,224,.36);
  --up:#2ee6a8; --down:#ff5d73; --warn:#ffc857;
  --radius-sm:6px; --radius:9px; --radius-lg:14px; --radius-xl:18px;
  --glass:linear-gradient(158deg,rgba(255,255,255,.058),rgba(255,255,255,.014) 46%,rgba(56,224,255,.035));
  --shadow-card:0 1px 0 rgba(255,255,255,.05) inset,0 30px 70px -40px rgba(0,0,0,.95);
}
html{background:#03060c}
body{background:none;color:var(--text);line-height:1.78}
::selection{background:rgba(var(--accent-rgb),.28);color:#fff}
a{color:#7fe9ff;border-bottom-color:rgba(var(--accent-rgb),.28)}
a:hover{border-bottom-color:var(--accent)}
::-webkit-scrollbar{width:11px;height:11px}
::-webkit-scrollbar-track{background:#04070d}
::-webkit-scrollbar-thumb{background:linear-gradient(180deg,rgba(var(--accent-rgb),.5),rgba(var(--accent2-rgb),.5));
  border-radius:99px;border:3px solid #04070d}
::-webkit-scrollbar-thumb:hover{background:linear-gradient(180deg,rgba(var(--accent-rgb),.8),rgba(var(--accent2-rgb),.8))}

/* ---------- 背景层 ---------- */
.bg-aurora,.bg-grid,.bg-noise,.bg-stars,.bg-beam,.bg-topglow{position:fixed;z-index:-1;pointer-events:none}
.bg-aurora{inset:-8%;
  background:
    radial-gradient(46% 42% at 22% 14%,rgba(56,224,255,.34),transparent 66%),
    radial-gradient(44% 40% at 80% 8%,rgba(167,139,250,.30),transparent 68%),
    radial-gradient(54% 46% at 62% 90%,rgba(45,110,255,.26),transparent 70%),
    radial-gradient(34% 30% at 28% 68%,rgba(46,230,168,.15),transparent 72%);
  filter:blur(46px) saturate(140%);animation:aurora 36s ease-in-out infinite alternate}
@keyframes aurora{
  0%{transform:translate3d(0,0,0) scale(1)}
  50%{transform:translate3d(-3%,2%,0) scale(1.09)}
  100%{transform:translate3d(3%,-2.5%,0) scale(1.03)}
}
.bg-beam{inset:-40%;opacity:.9;mix-blend-mode:screen;
  background:linear-gradient(114deg,transparent 36%,rgba(56,224,255,.12) 46%,rgba(167,139,250,.11) 54%,transparent 64%);
  filter:blur(34px);animation:sweep 28s ease-in-out infinite alternate}
@keyframes sweep{
  0%{transform:translate3d(-16%,-7%,0) rotate(-2deg)}
  100%{transform:translate3d(16%,7%,0) rotate(2deg)}
}
.bg-stars{inset:0;opacity:.6;
  background-image:
    radial-gradient(1.4px 1.4px at 18% 26%,rgba(255,255,255,.55),transparent 62%),
    radial-gradient(1.2px 1.2px at 72% 12%,rgba(160,222,255,.55),transparent 62%),
    radial-gradient(1.6px 1.6px at 46% 68%,rgba(196,178,255,.5),transparent 62%);
  background-size:440px 440px,600px 600px,760px 760px;
  animation:stars 180s linear infinite}
@keyframes stars{
  from{background-position:0 0,0 0,0 0}
  to{background-position:0 -440px,-600px 0,760px -760px}
}
.bg-topglow{inset:0;
  background:
    radial-gradient(62% 300px at 50% -70px,rgba(56,224,255,.20),transparent 72%),
    radial-gradient(44% 240px at 10% 0,rgba(167,139,250,.18),transparent 76%),
    radial-gradient(48% 260px at 90% 2%,rgba(56,224,255,.16),transparent 76%)}
.bg-grid{inset:0;
  background-image:
    linear-gradient(rgba(140,190,255,.075) 1px,transparent 1px),
    linear-gradient(90deg,rgba(140,190,255,.075) 1px,transparent 1px);
  background-size:64px 64px,64px 64px;
  -webkit-mask-image:radial-gradient(ellipse 105% 74% at 50% 0%,#000 0%,rgba(0,0,0,.45) 46%,transparent 84%);
  mask-image:radial-gradient(ellipse 105% 74% at 50% 0%,#000 0%,rgba(0,0,0,.45) 46%,transparent 84%)}
.bg-noise{inset:0;opacity:.055;mix-blend-mode:soft-light;
  background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='200' height='200'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='3' stitchTiles='stitch'/></filter><rect width='100%25' height='100%25' filter='url(%23n)'/></svg>");
  background-size:200px 200px}
@media (prefers-reduced-motion:reduce){.bg-aurora,.bg-beam,.bg-stars{animation:none}}

/* ---------- 滚动进度 ---------- */
.sprog{position:fixed;top:0;left:0;height:2px;width:0;z-index:90;
  background:linear-gradient(90deg,#38e0ff,#a78bfa,#2ee6a8);
  box-shadow:0 0 14px rgba(var(--accent-rgb),.85)}

/* ---------- 顶部导航 + 行情条 ---------- */
.topnav{position:sticky;top:0;z-index:60;
  background:linear-gradient(180deg,rgba(4,7,13,.94),rgba(4,7,13,.74));
  backdrop-filter:blur(20px) saturate(160%);-webkit-backdrop-filter:blur(20px) saturate(160%)}
.topnav::after{content:'';position:absolute;left:0;right:0;bottom:0;height:1px;
  background:linear-gradient(90deg,transparent,rgba(var(--accent-rgb),.55),rgba(var(--accent2-rgb),.5),transparent)}
.tape{overflow:hidden;border-bottom:1px solid rgba(255,255,255,.05);
  background:linear-gradient(90deg,rgba(56,224,255,.055),rgba(167,139,250,.055));
  -webkit-mask-image:linear-gradient(90deg,transparent,#000 5%,#000 95%,transparent);
  mask-image:linear-gradient(90deg,transparent,#000 5%,#000 95%,transparent)}
.tape-track{display:flex;align-items:center;width:max-content;animation:tape 52s linear infinite}
.tape:hover .tape-track{animation-play-state:paused}
.tape span{font-family:var(--font-mono);font-size:11px;letter-spacing:.08em;
  color:var(--text-tertiary);padding:7px 0;white-space:nowrap;text-transform:uppercase}
.tape span b{color:rgba(255,255,255,.82);font-weight:400;margin-left:8px}
.tape i{color:rgba(var(--accent-rgb),.45);font-style:normal;padding:0 16px;font-size:8px}
@keyframes tape{from{transform:translateX(0)}to{transform:translateX(-50%)}}
@media (prefers-reduced-motion:reduce){.tape-track{animation:none}}
.nav-inner{display:flex;align-items:center;gap:20px;height:60px}
.brand{font-family:var(--font-display);font-weight:700;font-size:15.5px;color:#fff;
  border-bottom:none;letter-spacing:-.01em;white-space:nowrap;
  display:flex;align-items:center;gap:9px}
.brand i{width:7px;height:7px;border-radius:50%;background:var(--accent);display:block;
  box-shadow:0 0 12px rgba(var(--accent-rgb),.95);animation:pulse 2.6s ease-in-out infinite}
@keyframes pulse{0%,100%{opacity:1;transform:scale(1)}50%{opacity:.45;transform:scale(.8)}}
.brand .ver{font-family:var(--font-mono);font-size:10px;font-weight:400;letter-spacing:.08em;
  color:var(--accent);border:1px solid rgba(var(--accent-rgb),.32);border-radius:99px;
  padding:1px 7px;background:rgba(var(--accent-rgb),.08)}
.navlinks{display:flex;gap:4px;overflow-x:auto;margin-left:auto;scrollbar-width:none}
.navlinks::-webkit-scrollbar{display:none}
.navlinks a{font-size:13.5px;font-weight:600;letter-spacing:.01em;color:var(--text-secondary);border-bottom:none;
  padding:7px 16px;border-radius:99px;white-space:nowrap;border:1px solid transparent;
  transition:color .2s ease,background .2s ease,border-color .2s ease,box-shadow .25s ease}
.navlinks a:hover{color:#fff;background:rgba(255,255,255,.05);border-bottom:none}
.navlinks a.on{color:#fff;background:rgba(var(--accent-rgb),.14);
  border-color:rgba(var(--accent-rgb),.4);box-shadow:0 0 22px -6px rgba(var(--accent-rgb),.75)}
.navmeta{font-size:10.5px;letter-spacing:.14em;color:var(--text-tertiary);white-space:nowrap}
@media(max-width:980px){.navmeta{display:none}}
@media(max-width:760px){
  .nav-inner{height:auto;padding:10px 0;flex-wrap:wrap;gap:9px}
  .navlinks{margin-left:0;width:100%}
}
.pgfoot-links{display:flex;flex-wrap:wrap;gap:8px}
.pgfoot-links a{font-size:13px;color:var(--text-secondary);border-bottom:none;
  border:1px solid var(--border);border-radius:99px;padding:6px 15px;
  background:rgba(255,255,255,.03);transition:all .22s ease}
.pgfoot-links a:hover{color:#fff;border-color:rgba(var(--accent-rgb),.45);
  box-shadow:0 0 20px -8px rgba(var(--accent-rgb),.9)}

/* ---------- 容器与标题 ---------- */
/* 只能写左右 padding：简写 `padding:0 26px` 会因类选择器优先级高于 section，
   把 section 的上下留白一起清零，导致 01/02 编号区块贴在一起。 */
.wrap{max-width:1160px;margin:0 auto;padding-left:26px;padding-right:26px}
.hero{position:relative;padding:64px 0 56px}
.hero::before{content:'';position:absolute;left:0;right:0;top:-90px;height:420px;z-index:-1;
  background:radial-gradient(46% 60% at 28% 40%,rgba(var(--accent-rgb),.16),transparent 72%),
             radial-gradient(40% 54% at 76% 8%,rgba(var(--accent2-rgb),.14),transparent 74%);
  pointer-events:none}
.hero h1{letter-spacing:-.032em;text-shadow:0 0 70px rgba(var(--accent-rgb),.14)}
.hero h1 .grand{background:linear-gradient(104deg,#38e0ff 4%,#a78bfa 52%,#2ee6a8 96%);
  -webkit-background-clip:text;background-clip:text;color:transparent}
.eyebrow{position:relative;overflow:hidden;
  border-color:rgba(var(--accent-rgb),.36);background:rgba(var(--accent-rgb),.09);
  color:#9deeff;box-shadow:0 0 28px -12px rgba(var(--accent-rgb),.9);
  font-family:var(--font-mono);font-size:11px;letter-spacing:.16em}
.chip{font-family:var(--font-mono);font-size:11.5px;letter-spacing:.05em;
  border-color:var(--border);background:rgba(255,255,255,.032);
  transition:border-color .22s ease,color .22s ease}
.chip:hover{border-color:rgba(var(--accent-rgb),.4);color:#fff}
.shead .num{color:#9deeff;border-color:rgba(var(--accent-rgb),.34);
  background:rgba(var(--accent-rgb),.10);box-shadow:0 0 26px -10px rgba(var(--accent-rgb),.95);
  letter-spacing:.06em}
.shead h2{letter-spacing:-.026em}
.shead h2::after{content:'';display:block;width:64px;height:2px;margin-top:14px;border-radius:2px;
  background:linear-gradient(90deg,var(--accent),rgba(var(--accent2-rgb),.15))}
.en{font-family:var(--font-mono);font-size:10.5px;letter-spacing:.18em;text-transform:uppercase;
  color:rgba(var(--accent-rgb),.6);margin-top:6px}

/* ---------- 玻璃卡片 + 渐变描边 ---------- */
.card,.stat,.chartbox,.tbl-wrap{
  position:relative;background:var(--glass);border:1px solid transparent;
  backdrop-filter:blur(12px) saturate(130%);-webkit-backdrop-filter:blur(12px) saturate(130%);
  box-shadow:var(--shadow-card);
  transition:transform .35s cubic-bezier(.2,0,0,1),box-shadow .35s ease}
.card::before,.stat::before,.chartbox::before,.tbl-wrap::before{
  content:'';position:absolute;inset:0;border-radius:inherit;padding:1px;pointer-events:none;
  background:linear-gradient(150deg,rgba(255,255,255,.30),rgba(255,255,255,0) 38%,rgba(var(--accent-rgb),.42));
  -webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);
  -webkit-mask-composite:xor;mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);
  mask-composite:exclude;opacity:.7;transition:opacity .3s ease}
.card:hover::before,.stat:hover::before,.chartbox:hover::before{opacity:1}
.card:hover,.stat:hover{transform:translateY(-3px);
  box-shadow:0 1px 0 rgba(255,255,255,.06) inset,0 36px 80px -42px rgba(0,0,0,1)}
.card{border-radius:var(--radius-lg);padding:26px}
.stat{border-radius:var(--radius-lg);padding:24px}
.stat .v{font-size:31px;color:#fff}
.stat .v.acc{color:#9deeff;text-shadow:0 0 42px rgba(var(--accent-rgb),.5)}
.stat.key{border-color:rgba(var(--accent-rgb),.42);
  box-shadow:0 0 60px -26px rgba(var(--accent-rgb),.95),inset 0 0 40px -26px rgba(var(--accent-rgb),.9),var(--shadow-card)}
.stat.key::before{background:linear-gradient(150deg,rgba(var(--accent-rgb),.75),rgba(255,255,255,0) 42%,rgba(var(--accent2-rgb),.7));opacity:1}
.chartbox{border-radius:var(--radius-lg);padding:20px 18px 14px;
  background-image:var(--glass),linear-gradient(rgba(140,190,255,.045) 1px,transparent 1px),
    linear-gradient(90deg,rgba(140,190,255,.045) 1px,transparent 1px);
  background-size:auto,32px 32px,32px 32px}
.chartbox .lg{display:flex;flex-wrap:wrap;gap:16px;margin-bottom:14px}

/* ---------- 表格 ---------- */
.tbl-wrap{border-radius:var(--radius-lg)}
table{font-size:13.5px}
thead th{background:linear-gradient(180deg,rgba(var(--accent-rgb),.11),rgba(var(--accent-rgb),.03));
  border-bottom:1px solid rgba(var(--accent-rgb),.26);color:rgba(232,244,255,.82);
  font-family:var(--font-mono);font-size:10.5px;letter-spacing:.11em;text-transform:uppercase;
  padding:14px 16px;position:sticky;top:0;z-index:2;backdrop-filter:blur(8px)}
tbody td{padding:14px 16px;border-bottom:1px solid rgba(255,255,255,.05)}
tbody tr:nth-child(even){background:rgba(255,255,255,.014)}
tbody tr:hover{background:rgba(var(--accent-rgb),.055)}
td.num,th.num{font-family:var(--font-mono)}
.up{color:var(--up);text-shadow:0 0 26px rgba(46,230,168,.28)}
.down{color:var(--down);text-shadow:0 0 26px rgba(255,93,115,.22)}
.warnc{color:var(--warn)}
.acc{color:var(--accent)}

/* ---------- 其它 ---------- */
.quote{border-left:2px solid var(--accent);border-radius:0 var(--radius-lg) var(--radius-lg) 0;
  background:linear-gradient(100deg,rgba(var(--accent-rgb),.10),rgba(var(--accent2-rgb),.03) 55%,transparent 78%);
  box-shadow:0 0 70px -40px rgba(var(--accent-rgb),1)}
ol.const{counter-reset:c;list-style:none;padding:0;margin:0}
ol.const>li{counter-increment:c;position:relative;padding:16px 0 16px 48px;
  border-bottom:1px solid rgba(255,255,255,.05);font-size:14.5px}
ol.const>li:last-child{border-bottom:none}
ol.const>li::before{content:counter(c,decimal-leading-zero);position:absolute;left:0;top:16px;
  font-family:var(--font-mono);font-size:12px;color:#9deeff;
  border:1px solid rgba(var(--accent-rgb),.3);border-radius:var(--radius-sm);
  padding:2px 7px;background:rgba(var(--accent-rgb),.08);
  box-shadow:0 0 20px -8px rgba(var(--accent-rgb),.95)}
details.acc-item{border-radius:var(--radius-lg);background:var(--glass);border-color:var(--border);
  box-shadow:var(--shadow-card)}
details.acc-item[open]{border-color:rgba(var(--accent-rgb),.34);
  box-shadow:0 0 60px -34px rgba(var(--accent-rgb),1)}
details.acc-item summary .tag{color:#9deeff;border-color:rgba(var(--accent-rgb),.34);
  background:rgba(var(--accent-rgb),.09)}
.callout{border-radius:var(--radius-lg);backdrop-filter:blur(10px)}
.callout.info{border-color:rgba(var(--accent-rgb),.3);background:rgba(var(--accent-rgb),.055);
  box-shadow:0 0 60px -40px rgba(var(--accent-rgb),1)}
.callout.warn{border-color:rgba(255,200,87,.3);background:rgba(255,200,87,.055)}
.kbd{font-family:var(--font-mono);background:rgba(255,255,255,.05);border-color:var(--border)}
.foot{border-top:none;position:relative}
.foot::before{content:'';position:absolute;left:0;right:0;top:0;height:1px;
  background:linear-gradient(90deg,transparent,rgba(var(--accent-rgb),.4),rgba(var(--accent2-rgb),.4),transparent)}
.foot .row{font-family:var(--font-mono);font-size:11.5px;letter-spacing:.06em}
section{padding:88px 0}
h1,h2,h3,.stat .v,.card .mono{font-variant-numeric:tabular-nums}

/* ---------- 标题字体统一（全站标题一律使用展示字体） ---------- */
h1,h2,h3,h4,h5,h6,
.hero h1,.shead h2,.card h3,.brand,.navlinks a,.pgfoot-links a,
details.acc-item summary,.tl-item .h,.quote p{font-family:var(--font-display)}

/* =====================================================================
   移动端适配（≤760px / ≤420px）
   手机上：收紧留白与字号、表格与图表可横向滑动、关掉重绘开销大的
   背景动画与毛玻璃，做到点开即见、滑动顺畅。
   ===================================================================== */
@media(max-width:760px){
  .wrap{padding-left:16px;padding-right:16px}
  section{padding:54px 0}
  .hero{padding:34px 0 30px}
  .hero-grid{gap:22px}
  .hero h1{font-size:clamp(26px,7.8vw,34px);margin-top:16px}
  .hero p.lede{font-size:14.5px;margin-top:12px}
  .eyebrow{font-size:11px;padding:6px 12px;letter-spacing:.1em}
  .meta-row{gap:6px;margin-top:16px}
  .chip{font-size:11.5px;padding:6px 12px}
  .stat-stack{gap:10px}
  .stat{padding:17px}
  .stat .v{font-size:25px}
  .stat .k{font-size:11.5px;margin-top:6px}
  .shead{gap:12px;margin-bottom:20px}
  .shead .num{font-size:11.5px;padding:6px}
  .shead h2{font-size:20px;line-height:1.3}
  .shead h2::after{width:46px;margin-top:10px}
  .shead .desc{font-size:13px}
  .card,.callout{padding:17px}
  .card h3{font-size:16px}
  .grid-2,.bento{gap:12px}
  .quote{padding:20px}
  .quote p{font-size:17px}
  .tbl-wrap{-webkit-overflow-scrolling:touch}
  table{font-size:12.5px;min-width:440px}
  thead th{padding:10px 11px;font-size:10px;letter-spacing:.06em}
  tbody td{padding:11px}
  .chartbox{padding:14px 12px 10px;overflow-x:auto;-webkit-overflow-scrolling:touch}
  .chartbox svg{min-width:540px}
  .chartbox .lg{gap:12px;margin-bottom:10px}
  ol.const>li{padding:13px 0 13px 40px;font-size:13.5px}
  ol.const>li::before{top:13px;font-size:11px;padding:1px 6px}
  ul.plain li{font-size:13.5px;margin:5px 0}
  .tiny{font-size:11.5px}
  details.acc-item summary{padding:16px;font-size:15px;gap:12px}
  details.acc-item .body{padding:0 16px 18px}
  .tl{padding-left:20px}
  .foot{padding:30px 0 42px;margin-top:0}
  .foot .row{flex-direction:column;align-items:flex-start;gap:7px;font-size:11.5px}
  .pgfoot-links{gap:6px}
  .pgfoot-links a{font-size:12px;padding:5px 12px}
  /* 导航：隐藏跑马灯行情条，链接横向滑动 */
  .tape{display:none}
  .nav-inner{height:auto;padding:9px 0;gap:8px}
  .brand{font-size:14.5px}
  .brand .ver{font-size:9.5px}
  .navlinks a{font-size:12.5px;padding:6px 11px}
  /* 背景：减少重绘 */
  .bg-aurora,.bg-beam,.bg-stars{animation:none}
  .bg-beam,.bg-stars{display:none}
  .bg-aurora{filter:blur(30px) saturate(130%)}
  .card,.stat,.chartbox,.tbl-wrap{backdrop-filter:none;-webkit-backdrop-filter:none}
  .topnav{backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}
}
@media(max-width:420px){
  section{padding:46px 0}
  .hero h1{font-size:23px}
  .shead h2{font-size:18.5px}
  .stat .v{font-size:23px}
  table{min-width:400px}
}

/* ---- 字体（woff2 外链，同目录 fonts/）---- */
@font-face{font-family:'Outfit';font-style:normal;font-display:swap;font-weight:600;src:url(fonts/outfit-latin-600-normal.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'Outfit';font-style:normal;font-display:swap;font-weight:700;src:url(fonts/outfit-latin-700-normal.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'IBM Plex Mono';font-style:normal;font-display:swap;font-weight:400;src:url(fonts/ibm-plex-mono-latin-400-normal.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
