/* =====================================================================
   北京根本私募基金管理中心（有限合伙）· 官网样式系统
   主色取自公司介绍物料主色 #AF2B2D（与 Logo 渐变终点 #B8292D 同源）
   ===================================================================== */

:root{
  --red:#AF2B2D; --red-2:#8E1F22; --red-3:#C9453A;
  --clay:#D8A08B; --clay-2:#E9BEAB; --sand:#E2D3CB;
  --cream:#FAF4F0;
  --ink:#1A0F10; --ink-2:#241416; --ink-3:#33201F;
  --tx:#2A2325; --tx-soft:#6E6165; --tx-faint:#9A8F92;
  --line:#E8DED8; --surface:#fff;
  --font-serif:"Songti SC","Noto Serif SC","Source Han Serif SC",STSong,SimSun,Georgia,serif;
  --font-sans:-apple-system,BlinkMacSystemFont,"PingFang SC","Microsoft YaHei","Segoe UI",sans-serif;
  --font-mono:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;
  --maxw:1140px; --r:2px;
  --ease:cubic-bezier(.22,.61,.36,1);
}
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
body{margin:0;font-family:var(--font-sans);font-size:16px;line-height:1.75;color:var(--tx);background:var(--surface);-webkit-font-smoothing:antialiased}
h1,h2,h3,h4{font-family:var(--font-serif);font-weight:400;line-height:1.24;margin:0;letter-spacing:.01em}
h1{font-size:clamp(1.9rem,4.6vw,3.3rem)}
h2{font-size:clamp(1.45rem,2.7vw,2.05rem)}
h3{font-size:1.15rem}
p{margin:0 0 1.1em}
a{color:var(--red);text-decoration:none}
img{max-width:100%;height:auto;display:block}
ul,ol{margin:0 0 1.1em}
.container{width:100%;max-width:var(--maxw);margin:0 auto;padding:0 26px}
.section{padding:92px 0}
.section--cream{background:var(--cream)}
.section--ink{background:var(--ink);color:#fff}
.section--line{border-top:1px solid var(--line)}
.eyebrow{font-family:var(--font-mono);font-size:.72rem;letter-spacing:.16em;text-transform:uppercase;color:var(--red);margin:0 0 14px}
.lede{font-size:1.06rem;color:var(--tx-soft);max-width:64ch}

/* 板块大标题：编号 + 标题 + 副题 */
.sec{display:flex;align-items:baseline;gap:16px;padding-bottom:16px;margin:0 0 18px;border-bottom:2px solid var(--ink)}
.sec__k{font-family:var(--font-mono);font-size:.78rem;letter-spacing:.16em;text-transform:uppercase;color:var(--red);flex:none;padding-top:.35em}
.sec__t{font-family:var(--font-serif);font-weight:400;letter-spacing:.01em;line-height:1.24;margin:0;font-size:clamp(1.45rem,2.7vw,2.05rem);color:var(--tx)}
.sec__sub{font-size:1.08rem;color:var(--tx-soft);line-height:1.6;max-width:56ch;margin:0 0 26px}
.eyebrow--sub{display:flex;align-items:center;gap:11px;color:var(--tx);font-size:.82rem;letter-spacing:.08em;text-transform:none}
.eyebrow--sub::before{content:'';width:18px;height:2px;background:var(--red);flex:none}
.rule{width:44px;height:2px;background:var(--red);border:0;margin:22px 0 0}
.mono{font-family:var(--font-mono)}
.prose{max-width:74ch}
.prose h3{margin:2.2em 0 .6em}
.prose p{color:var(--tx-soft)}
.prose strong{color:var(--tx);font-weight:600}

/* ---------------- 风险提示条 ---------------- */
.riskbar{background:var(--ink);color:rgba(255,255,255,.62);font-size:.76rem;line-height:1.5;padding:9px 0;letter-spacing:.01em}
.riskbar .container{display:flex;gap:12px;align-items:baseline}
.riskbar b{color:var(--clay);font-weight:500;flex:none}

/* ---------------- Header ---------------- */
.hdr{position:sticky;top:0;z-index:60;background:rgba(255,255,255,.94);backdrop-filter:blur(10px);border-bottom:1px solid var(--line);transition:box-shadow .25s}
.hdr.is-stuck{box-shadow:0 1px 18px rgba(42,35,37,.06)}
.hdr__in{display:flex;align-items:center;justify-content:space-between;gap:26px;min-height:76px}
.hdr__brand{display:flex;align-items:center;gap:14px;color:var(--tx)}
.hdr__brand img{height:34px;width:auto}
.hdr__divider{width:1px;height:26px;background:var(--line)}
.hdr__ent{font-size:.7rem;line-height:1.3;letter-spacing:.06em;color:var(--tx-faint)}
.nav{display:flex;gap:20px;align-items:center}
.nav a{font-size:.88rem;color:var(--tx-soft);padding:4px 0;border-bottom:2px solid transparent;transition:color .2s,border-color .2s;white-space:nowrap}
@media (max-width:1180px){.nav{gap:13px}.nav a{font-size:.83rem}}
.nav a:hover{color:var(--red);border-bottom-color:var(--red)}
.nav a[aria-current]{color:var(--tx);border-bottom-color:var(--red)}
.burger{display:none;width:40px;height:40px;background:none;border:1px solid var(--line);border-radius:var(--r);cursor:pointer;position:relative;flex:none}
.burger span{position:absolute;left:11px;right:11px;height:1.5px;background:var(--tx);transition:transform .28s var(--ease),opacity .2s}
.burger span:nth-child(1){top:15px}
.burger span:nth-child(2){top:19px}
.burger span:nth-child(3){top:23px}
.burger[aria-expanded="true"] span:nth-child(1){transform:translateY(4px) rotate(45deg)}
.burger[aria-expanded="true"] span:nth-child(2){opacity:0}
.burger[aria-expanded="true"] span:nth-child(3){transform:translateY(-4px) rotate(-45deg)}
.drawer{display:none;background:var(--surface);border-top:1px solid var(--line);padding:10px 0 20px}
.drawer.is-open{display:block}
.drawer a{display:block;padding:13px 0;border-bottom:1px solid var(--line);color:var(--tx);font-size:.96rem}
.drawer a:last-child{border-bottom:0}

/* ---------------- Hero ---------------- */
.hero{position:relative;background:var(--ink);color:#fff;overflow:hidden;padding:118px 0 104px;min-height:88vh;display:flex;align-items:center}
.hero__in{position:relative;z-index:2;display:grid;grid-template-columns:1.02fr .98fr;gap:66px;align-items:center;width:100%}
.hero h1{color:#fff;max-width:23ch}
.hero__eyebrow{color:var(--clay)}
.hero__lede{color:rgba(255,255,255,.74);font-size:1.04rem;max-width:48ch;margin-top:26px}
.hero__actions{display:flex;gap:14px;flex-wrap:wrap;margin-top:34px}
.hero__note{margin:38px 0 0;font-size:.79rem;line-height:1.72;color:rgba(255,255,255,.46);max-width:52ch;border-left:2px solid rgba(175,43,45,.7);padding-left:16px}
.btn{display:inline-block;font-size:.9rem;padding:13px 26px;border-radius:var(--r);border:1px solid transparent;transition:background .2s,border-color .2s,color .2s;cursor:pointer;font-family:var(--font-sans)}
.btn--primary{background:var(--red);color:#fff;font-weight:500}
.btn--primary:hover{background:var(--red-3)}
.btn--ghost{border-color:rgba(255,255,255,.3);color:#fff}
.btn--ghost:hover{border-color:#fff;background:rgba(255,255,255,.06)}
.btn--outline{border-color:var(--line);color:var(--tx);background:none}
.btn--outline:hover{border-color:var(--red);color:var(--red)}
.btn[disabled]{opacity:.55;cursor:not-allowed}

/* ---------------- 背景层：代码 · 公式 · 模型图 ---------------- */
.codelane{position:absolute;inset:0;overflow:hidden;pointer-events:none;
  -webkit-mask-image:linear-gradient(180deg,transparent 0,#000 10%,#000 90%,transparent 100%);
  mask-image:linear-gradient(180deg,transparent 0,#000 10%,#000 90%,transparent 100%)}
.codelane .crcol{position:absolute;top:0;bottom:0;width:47%}
.codelane .crcol--l{left:1.5%;opacity:.4}
.codelane .crcol--r{left:52%;opacity:.12}
.codelane .crstrip{will-change:transform;animation:crUp 132s linear infinite}
.codelane .crcol--r .crstrip{animation-duration:166s;animation-delay:-58s}
@keyframes crUp{from{transform:translateY(0)}to{transform:translateY(-50%)}}
.codelane .critem{white-space:nowrap;font-family:var(--font-mono);font-size:12.5px;line-height:2.15;color:#B77A6E}
.codelane .critem--f{font-size:12px;color:#D9A491;line-height:2.4}
.codelane .crfig{margin:12px 0 16px}
.codelane .crfig svg{display:block;max-width:100%;height:auto}

/* ---------------- 注意力矩阵 ---------------- */
.attn{position:relative}
.attn__frame{position:relative;background:rgba(20,10,11,.72);border:1px solid rgba(175,43,45,.42);border-radius:var(--r);padding:20px}
.attn__bar{display:flex;justify-content:space-between;align-items:baseline;gap:14px;margin-bottom:14px}
.attn__bar span:first-child{font-family:var(--font-mono);font-size:10.5px;color:rgba(255,255,255,.5)}
.attn__focus{font-family:var(--font-mono);font-size:10.5px;color:var(--clay);letter-spacing:.06em}
.attn canvas{display:block;width:100%;height:auto;cursor:crosshair;touch-action:manipulation}
.attn__tip{position:absolute;pointer-events:none;opacity:0;transition:opacity .16s ease;background:#140A0B;border:1px solid rgba(175,43,45,.55);border-radius:var(--r);padding:7px 11px;font-family:var(--font-mono);font-size:11.5px;color:#fff;white-space:nowrap;z-index:5}
.attn__tip b{color:var(--clay);font-weight:400}
.attn__legend{margin:14px 0 0;font-size:11.5px;line-height:1.62;color:rgba(255,255,255,.42);font-family:var(--font-mono)}
.attn__legend em{color:var(--clay);font-style:normal}

/* ---------------- 结构性事实 ---------------- */
.facts{background:var(--ink-2);border-top:1px solid rgba(255,255,255,.07)}
.facts__grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:rgba(255,255,255,.08)}
.fact{background:var(--ink-2);padding:38px 26px 42px}
.fact b{display:block;font-family:var(--font-serif);font-size:clamp(1.3rem,1.9vw,1.8rem);font-weight:400;color:var(--clay);line-height:1.25;margin-bottom:10px}
.fact span{display:block;font-size:11.5px;color:rgba(255,255,255,.5);line-height:1.65}

/* ---------------- 卡片 ---------------- */
.cards3,.cards2{display:grid;gap:1px;background:var(--line);border:1px solid var(--line);margin-top:40px}
.cards3{grid-template-columns:repeat(3,1fr)}
.cards2{grid-template-columns:repeat(2,1fr)}
.card{background:var(--surface);padding:36px 30px}
.card__idx{font-family:var(--font-mono);font-size:.74rem;color:var(--red);display:block;margin-bottom:14px;letter-spacing:.1em}
.card h3{margin-bottom:10px}
.card p{font-size:.95rem;color:var(--tx-soft);margin:0}
.card p + p{margin-top:.7em}
.card ul{margin:.4em 0 0;padding-left:19px;font-size:.93rem;color:var(--tx-soft)}
.card li{margin-bottom:6px}

/* ---------------- 策略 Tabs ---------------- */
.tabs{display:grid;grid-template-columns:.4fr .6fr;gap:54px;align-items:start;margin-top:42px}
.tabs__list{display:flex;flex-direction:column;border-top:1px solid var(--line)}
.tabs__btn{text-align:left;background:none;border:0;border-bottom:1px solid var(--line);padding:20px 4px;cursor:pointer;font-family:var(--font-serif);font-size:1.08rem;color:var(--tx-soft);display:flex;gap:16px;align-items:baseline;transition:color .22s,padding .22s}
.tabs__btn:hover{color:var(--tx);padding-left:10px}
.tabs__btn em{font-family:var(--font-mono);font-style:normal;font-size:11px;color:var(--red);letter-spacing:.1em}
.tabs__btn[aria-selected="true"]{color:var(--tx)}
.tabs__btn[aria-selected="true"]::after{content:"";margin-left:auto;width:6px;height:6px;background:var(--red);border-radius:50%;align-self:center}
.tabs__panel{background:var(--surface);border:1px solid var(--line);border-radius:var(--r);padding:38px 36px}
.tabs__panel[hidden]{display:none}
.chips{display:flex;flex-wrap:wrap;gap:9px;margin-bottom:22px}
.chip{font-family:var(--font-mono);font-size:10.5px;letter-spacing:.08em;color:var(--tx-soft);border:1px solid var(--line);border-radius:var(--r);padding:5px 11px}
.tabs__panel h3{font-size:1.42rem;margin-bottom:14px}
.tabs__panel > p{color:var(--tx-soft)}
.tabs__head{font-family:var(--font-mono);font-size:10.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--tx-faint);margin:26px 0 12px}
.tabs__ul{margin:0;padding-left:20px;color:var(--tx-soft);font-size:.95rem}
.tabs__ul li{margin-bottom:7px}

/* ---------------- 正交双 / 门控交互 ---------------- */
.gate-ui{border:1px solid var(--line);border-radius:var(--r);margin-top:44px;overflow:hidden}
.gate-ui__hd{display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap;padding:22px 26px;background:var(--ink-3);color:#fff}
.gate-ui__hd h3{color:#fff;font-size:1.08rem}
.gate-ui__hd p{margin:0;font-family:var(--font-mono);font-size:10.5px;color:rgba(255,255,255,.5);letter-spacing:.08em}
.gate-ui__bd{padding:28px 26px}
.gate-ui__row{display:grid;grid-template-columns:1fr;gap:16px;margin-bottom:22px}
.layer{border:1px solid var(--line);border-radius:var(--r);padding:18px 20px;background:var(--surface);transition:border-color .25s,background .25s}
.layer--off{opacity:.42;background:var(--cream)}
.layer__t{display:flex;align-items:baseline;gap:10px;margin-bottom:8px}
.layer__t b{font-family:var(--font-mono);font-size:.72rem;letter-spacing:.12em;color:var(--red);font-weight:500}
.layer__t span{font-size:.74rem;color:var(--tx-faint)}
.layer p{margin:0;font-size:.9rem;color:var(--tx-soft)}
.lswitch{display:inline-flex;border:1px solid var(--line);border-radius:var(--r);overflow:hidden}
.lswitch button{background:none;border:0;padding:9px 16px;font-size:.82rem;color:var(--tx-soft);cursor:pointer;border-right:1px solid var(--line);transition:background .2s,color .2s}
.lswitch button:last-child{border-right:0}
.lswitch button[aria-pressed="true"]{background:var(--red);color:#fff}
.matrix-out{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--line);border:1px solid var(--line)}
.matrix-out > div{background:var(--surface);padding:18px 20px}
.matrix-out .mk{font-family:var(--font-mono);font-size:.7rem;letter-spacing:.1em;color:var(--tx-faint);margin-bottom:6px}
.matrix-out .mv{font-family:var(--font-serif);font-size:1.28rem;color:var(--tx);line-height:1.3}
.matrix-out .mv em{font-style:normal;color:var(--red)}
.matrix-out .mb{margin-top:10px;height:4px;background:var(--sand);border-radius:2px;overflow:hidden}
.matrix-out .mb i{display:block;height:100%;background:var(--red);transition:width .5s var(--ease)}
.note-s{font-size:.8rem;color:var(--tx-faint);margin:16px 0 0;font-family:var(--font-mono);line-height:1.6}

/* ---------------- 研究流水线 ---------------- */
.arch{display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:center;margin-top:44px}
.pipe{display:flex;flex-direction:column;gap:9px}
.pipe__row{background:var(--ink-3);border-radius:var(--r);height:44px;display:flex;align-items:center;padding:0 18px;color:rgba(255,255,255,.82);font-family:var(--font-mono);font-size:11.5px;letter-spacing:.06em;transition:background .25s,transform .25s;cursor:default}
.pipe__row span:last-child{margin-left:auto;opacity:.5;font-size:10px}
.pipe__row:hover{background:var(--red-2)}
.pipe__row--hl{background:linear-gradient(90deg,rgba(175,43,45,.34),rgba(175,43,45,.1));border:1px solid rgba(175,43,45,.6);color:var(--clay)}
.archlist{list-style:none;margin:26px 0 0;padding:0}
.archlist li{padding:17px 0;border-top:1px solid var(--line);font-size:.95rem;color:var(--tx-soft)}
.archlist b{display:block;font-family:var(--font-serif);font-weight:400;font-size:1.05rem;color:var(--tx);margin-bottom:5px}

/* ---------------- 子页页头 ---------------- */
.pagehd{position:relative;background:var(--ink);color:#fff;overflow:hidden;padding:78px 0 66px}
.pagehd__in{position:relative;z-index:2}
.pagehd h1{color:#fff;font-size:clamp(1.7rem,3.6vw,2.6rem);max-width:26ch}
.pagehd__lede{color:rgba(255,255,255,.7);max-width:60ch;margin:22px 0 0;font-size:1rem}
.crumb{font-family:var(--font-mono);font-size:.72rem;letter-spacing:.14em;text-transform:uppercase;color:var(--clay);margin:0 0 16px}
.crumb a{color:rgba(255,255,255,.55)}
.crumb a:hover{color:#fff}

/* ---------------- 团队 ---------------- */
.team{display:grid;grid-template-columns:1fr;gap:1px;background:var(--line);border:1px solid var(--line);margin-top:44px}
.member{background:var(--surface);padding:0;display:grid;grid-template-columns:290px 1fr;align-items:stretch}
.member__top{padding:32px 30px;border-bottom:0;border-right:1px solid var(--line);display:flex;align-items:center;gap:16px}
.member__mono{width:60px;height:60px;flex:none;border-radius:50%;background:var(--ink);color:var(--clay);display:flex;align-items:center;justify-content:center;font-family:var(--font-serif);font-size:1.5rem;letter-spacing:.02em}
.member__nm{font-family:var(--font-serif);font-size:1.3rem;line-height:1.2}
.member__rl{font-family:var(--font-mono);font-size:.7rem;letter-spacing:.1em;text-transform:uppercase;color:var(--red);margin-top:5px}
.member__bd{padding:30px 34px;display:flex;flex-direction:column;justify-content:center}
.member__bd dl{margin:0}
.member__bd dt{font-family:var(--font-mono);font-size:.68rem;letter-spacing:.12em;text-transform:uppercase;color:var(--tx-faint);margin-bottom:6px}
.member__bd dd{margin:0 0 16px;font-size:.92rem;color:var(--tx-soft);line-height:1.72}
.member__bd dd:last-child{margin-bottom:0}
.member__bd dd em{font-style:normal;color:var(--tx)}
.team--wide{grid-template-columns:repeat(3,1fr)}
.team-general{border:1px solid var(--line);border-radius:var(--r);padding:34px 32px;margin-top:26px;background:var(--cream)}
.team-general h3{margin-bottom:10px}
.team-general p{color:var(--tx-soft);font-size:.95rem;margin:0}
.team-general ul{margin:14px 0 0;padding-left:19px;color:var(--tx-soft);font-size:.93rem}
.team-general li{margin-bottom:6px}

/* ---------------- 时间线 / 流程 ---------------- */
.flow{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--line);border:1px solid var(--line);margin-top:40px}
.flow__col{background:var(--surface);padding:30px 28px}
.flow__hd{display:flex;align-items:baseline;gap:12px;padding-bottom:16px;border-bottom:1px solid var(--line);margin-bottom:18px}
.flow__hd b{font-family:var(--font-serif);font-size:1.18rem;font-weight:400}
.flow__hd span{font-family:var(--font-mono);font-size:.7rem;letter-spacing:.1em;color:var(--red)}
.flow__col ol{margin:0;padding-left:20px;color:var(--tx-soft);font-size:.93rem}
.flow__col li{margin-bottom:9px}
.flow__col li b{color:var(--tx);font-weight:600}

/* ---------------- 合规 / 表格 ---------------- */
.notice{background:#FBF1EE;border:1px solid #EFD9D3;border-left:3px solid var(--red);border-radius:var(--r);padding:24px 28px;margin:30px 0}
.notice__t{font-family:var(--font-mono);font-size:.72rem;letter-spacing:.14em;text-transform:uppercase;color:var(--red);font-weight:500;margin:0 0 10px}
.notice p{color:var(--tx-soft);font-size:.94rem}
.notice p:last-child{margin-bottom:0}
.notice ul{margin:10px 0 0;padding-left:20px;color:var(--tx-soft);font-size:.93rem}
.notice li{margin-bottom:6px}
.cmp{display:grid;grid-template-columns:1fr 1fr;gap:1px;background:var(--line);border:1px solid var(--line);margin-top:36px}
.cmp > div{background:var(--surface);padding:32px 30px}
.cmp h4{font-family:var(--font-sans);font-size:.78rem;letter-spacing:.1em;text-transform:uppercase;color:var(--red);font-weight:600;margin-bottom:16px}
.cmp ul{margin:0;padding-left:19px;color:var(--tx-soft);font-size:.93rem}
.cmp li{margin-bottom:8px}
.tbl{width:100%;border-collapse:collapse;margin-top:34px;font-size:.93rem}
.tbl th,.tbl td{border:1px solid var(--line);padding:14px 16px;text-align:left;vertical-align:top}
.tbl th{background:var(--cream);font-weight:600;font-family:var(--font-sans);font-size:.82rem;letter-spacing:.04em;color:var(--tx)}
.tbl td{color:var(--tx-soft)}
.tbl tbody tr:nth-child(even) td{background:#FDFAF8}
.tbl td b{color:var(--tx);font-weight:600}

/* ---------------- 联络 ---------------- */
.contact{display:grid;grid-template-columns:1fr 1fr;gap:1px;background:var(--line);border:1px solid var(--line);margin-top:40px}
.contact--one{grid-template-columns:1fr}
.contact > div{background:var(--surface);padding:34px 32px}
.contact h3{margin-bottom:14px}
.contact dl{margin:0}
.contact dt{font-family:var(--font-mono);font-size:.68rem;letter-spacing:.12em;text-transform:uppercase;color:var(--tx-faint);margin-bottom:5px}
.contact dd{margin:0 0 18px;font-size:.96rem;color:var(--tx-soft);line-height:1.7}
.contact dd:last-child{margin-bottom:0}
.contact a{word-break:break-all}
.mapbox{margin-top:26px;border:1px solid var(--line);border-radius:var(--r);overflow:hidden;background:var(--cream);min-height:200px;display:flex;align-items:center;justify-content:center}
.mapbox svg{display:block;width:100%;height:auto}

/* ---------------- 完整说明入口 ---------------- */
.morelink{display:block;margin-top:34px;border:1px solid var(--line);background:var(--surface);padding:32px 34px;position:relative;transition:border-color .25s var(--ease),background .25s var(--ease)}
.morelink::after{content:'';position:absolute;left:0;top:0;bottom:0;width:3px;background:var(--red);transform:scaleY(0);transform-origin:top;transition:transform .35s var(--ease)}
.morelink:hover{border-color:var(--red);background:var(--cream)}
.morelink:hover::after{transform:scaleY(1)}
.morelink__k{display:block;font-family:var(--font-mono);font-size:.68rem;letter-spacing:.16em;color:var(--tx-faint)}
.morelink__t{display:block;font-family:var(--font-serif);font-size:1.5rem;margin:8px 0 10px;color:var(--tx)}
.morelink__d{display:block;font-size:.93rem;color:var(--tx-soft);line-height:1.75;max-width:70ch}
.morelink__go{display:inline-block;margin-top:16px;font-size:.85rem;color:var(--red);letter-spacing:.04em}

/* ---------------- 因果掩码演示（前沿算法页） ---------------- */
.maskui{border:1px solid var(--line);border-radius:var(--r);margin-top:44px;overflow:hidden}
.maskui__hd{display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap;padding:22px 26px;background:var(--ink-3);color:#fff}
.maskui__hd h3{color:#fff;font-size:1.08rem}
.maskui__hd p{margin:0;font-family:var(--font-mono);font-size:10.5px;color:rgba(255,255,255,.5);letter-spacing:.08em}
.maskui__bd{padding:26px}
.maskui__ctl{display:flex;flex-wrap:wrap;gap:16px 28px;align-items:center;justify-content:center;margin-bottom:22px;padding-bottom:18px;border-bottom:1px solid var(--line)}
.maskui__ctlrow{display:flex;align-items:center;gap:10px}
.maskui__ctlrow label{font-family:var(--font-mono);font-size:.68rem;letter-spacing:.12em;color:var(--tx-faint);text-transform:uppercase}
.maskui__ctlrow output{font-family:var(--font-mono);font-size:.78rem;color:var(--red);min-width:48px}
.msrange{-webkit-appearance:none;appearance:none;width:140px;height:2px;background:var(--line);outline:none;cursor:pointer}
.msrange::-webkit-slider-thumb{-webkit-appearance:none;width:14px;height:14px;border-radius:50%;background:var(--red);cursor:pointer;border:2px solid var(--surface)}
.msrange::-moz-range-thumb{width:12px;height:12px;border-radius:50%;background:var(--red);cursor:pointer;border:2px solid var(--surface)}
.msbtn{font-family:var(--font-mono);font-size:.72rem;letter-spacing:.1em;padding:7px 14px;border:1px solid var(--line);background:var(--surface);color:var(--tx-soft);cursor:pointer;transition:.2s var(--ease)}
.msbtn:hover{border-color:var(--red);color:var(--red)}
.msbtn[aria-pressed="true"]{background:var(--red);border-color:var(--red);color:#fff}
.maskui__stage{display:flex;gap:12px;align-items:stretch;justify-content:center}
.maskui__ylab{writing-mode:vertical-rl;text-orientation:upright;font-family:var(--font-mono);font-size:.68rem;letter-spacing:.14em;color:var(--tx-faint);text-align:center;flex:none}
.maskui__main{flex:1;min-width:0}
.maskui__xlab{font-family:var(--font-mono);font-size:.68rem;letter-spacing:.14em;color:var(--tx-faint);text-align:center;margin-top:9px}
.maskgrid{display:grid;gap:2px;width:100%;max-width:330px;margin:0 auto}
.maskcell{aspect-ratio:1/1;background:var(--cream);border:1px solid var(--line);cursor:pointer;transition:background .3s var(--ease),border-color .3s var(--ease),opacity .3s var(--ease)}
.maskcell--on{background:var(--red);border-color:var(--red)}
.maskcell--leak{background:var(--clay);border-color:var(--clay)}
.maskcell--diag{background:var(--ink);border-color:var(--ink)}
.maskcell--out{background:var(--cream);opacity:.5;background-image:repeating-linear-gradient(45deg,transparent,transparent 3px,rgba(26,15,16,.09) 3px,rgba(26,15,16,.09) 4px)}
.maskcell--pend{background:#fff;opacity:.3}
.maskcell--ho{outline:1px solid var(--red);outline-offset:0;position:relative;z-index:2}
.maskcell--ho:not(.maskcell--on):not(.maskcell--leak):not(.maskcell--diag){background:var(--red-soft,var(--cream));border-color:var(--red)}
.maskui__prof{margin-top:20px;padding-top:18px;border-top:1px solid var(--line);text-align:center}
.profbar{display:grid;grid-template-columns:repeat(12,1fr);gap:2px;max-width:330px;margin:12px auto 0}
.profbar i{height:15px;display:block;background:var(--cream);border:1px solid var(--line);transition:background .25s var(--ease),opacity .25s var(--ease)}
.profbar i.on{background:var(--red);border-color:var(--red)}
.profbar i.diag{background:var(--ink);border-color:var(--ink)}
.profbar i.leak{background:var(--clay);border-color:var(--clay)}
.profbar i.out{opacity:.5;background-image:repeating-linear-gradient(45deg,transparent,transparent 3px,rgba(26,15,16,.09) 3px,rgba(26,15,16,.09) 4px)}
.maskui__read{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--line);border:1px solid var(--line);margin-top:22px}
.maskui__read > div{background:var(--surface);padding:16px 18px}
.maskui__read .mk{font-family:var(--font-mono);font-size:.68rem;letter-spacing:.1em;color:var(--tx-faint);margin-bottom:5px}
.maskui__read .mv{font-family:var(--font-serif);font-size:1.2rem}
.maskui__read .mv em{font-style:normal;color:var(--red)}
.maskui__legend{display:flex;gap:18px;flex-wrap:wrap;margin-top:16px;font-family:var(--font-mono);font-size:.74rem;color:var(--tx-faint)}
.maskui__legend span{display:flex;align-items:center;gap:7px}
.maskui__legend i{width:11px;height:11px;display:inline-block;border:1px solid transparent}
.maskui__tip{margin:16px 0 0;font-size:.8rem;line-height:1.7;color:var(--tx-faint);font-family:var(--font-mono);min-height:1.7em}

/* ---------------- CTA ---------------- */
.cta{background:var(--ink);color:#fff;padding:100px 0;text-align:center;position:relative;overflow:hidden}
.cta__in{position:relative;z-index:2}
.cta h2{color:#fff;max-width:20ch;margin:0 auto 20px}
.cta p{color:rgba(255,255,255,.6);max-width:46ch;margin:0 auto 32px}
.cta .btn + .btn{margin-left:12px}
.cta--pair h2,.cta--pair p{font-family:var(--font-serif);font-size:clamp(1.45rem,2.7vw,2.05rem);line-height:1.45;letter-spacing:.01em;color:#fff;max-width:18em;margin-left:auto;margin-right:auto}
.cta--pair h2{margin-bottom:14px}
.cta--pair p{margin-bottom:32px}

/* ---------------- Footer ---------------- */
.ftr{background:var(--ink-2);color:rgba(255,255,255,.6);padding:56px 0 30px;font-size:.85rem}
.ftr__grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:30px}
.ftr h4{color:#fff;font-family:var(--font-sans);font-size:.74rem;letter-spacing:.12em;text-transform:uppercase;margin-bottom:14px;font-weight:600}
.ftr ul{list-style:none;margin:0;padding:0}
.ftr li{margin-bottom:7px}
.ftr a{color:rgba(255,255,255,.7)}
.ftr a:hover{color:var(--clay)}
.ftr img{height:30px;width:auto;filter:brightness(0) invert(1);opacity:.9}
.ftr__legal{border-top:1px solid rgba(255,255,255,.3);margin-top:40px;padding-top:22px;font-size:.75rem;line-height:1.72;color:rgba(255,255,255,.52)}
.ftr__legal p{margin:0 0 .85em;max-width:96ch}
.ftr__legal strong{color:rgba(255,255,255,.86);font-weight:600}
.ftr__filings{display:flex;gap:18px;flex-wrap:wrap;margin-top:16px;font-family:var(--font-mono);font-size:.73rem;color:rgba(255,255,255,.5)}
/* 备案号未填前隐藏占位。拿到号码后删除 HTML 中的 class="pending" 即可显示 */
.ftr__filings .pending{display:none}
.ftr__filings a{color:inherit;border-bottom:1px solid rgba(255,255,255,.25)}
.ftr__filings a:hover{color:#fff;border-bottom-color:rgba(255,255,255,.6)}

/* ---------------- 合格投资者门槛 ---------------- */
.gate{position:fixed;inset:0;z-index:200;background:rgba(18,9,10,.96);backdrop-filter:blur(6px);display:flex;align-items:center;justify-content:center;padding:24px;overflow-y:auto}
.gate[hidden]{display:none}
.gate__box{background:#fff;max-width:640px;width:100%;border-radius:var(--r);padding:44px 44px 36px;border-top:3px solid var(--red)}
.gate__box h2{font-size:1.45rem;margin-bottom:8px}
.gate__sub{font-family:var(--font-mono);font-size:.72rem;letter-spacing:.1em;text-transform:uppercase;color:var(--red);margin-bottom:22px}
.gate__body{font-size:.9rem;line-height:1.78;color:var(--tx-soft);max-height:38vh;overflow-y:auto;padding:18px 8px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);margin-bottom:24px}
.gate__body b{color:var(--tx)}
.gate__actions{display:flex;gap:12px;flex-wrap:wrap}
.gate__actions .btn--primary{flex:1;text-align:center}
.gate__actions .btn--out{border-color:var(--line);color:var(--tx-soft);background:none}
.gate__actions .btn--out:hover{border-color:var(--tx-soft)}
.gate__foot{margin:16px 0 0;font-size:.72rem;color:var(--tx-faint);line-height:1.6}

/* =====================================================================
   量化平台页
   ===================================================================== */
.qv{min-height:62vh;padding:0 0 92px}
.qv__login{max-width:520px;margin:0 auto;padding:88px 0 60px}
.qv__card{border:1px solid var(--line);border-radius:var(--r);padding:38px 36px;background:var(--surface)}
.qv__card h2{font-size:1.4rem;margin-bottom:10px}
.qv__card > p{font-size:.92rem;color:var(--tx-soft)}
.field{margin:0 0 18px}
.field label{display:block;font-family:var(--font-mono);font-size:.7rem;letter-spacing:.12em;text-transform:uppercase;color:var(--tx-faint);margin-bottom:7px}
.field input{width:100%;padding:13px 15px;border:1px solid var(--line);border-radius:var(--r);font-family:var(--font-mono);font-size:.95rem;background:var(--surface);color:var(--tx);outline:none;transition:border-color .2s}
.field input:focus{border-color:var(--red)}
.qv__btn{width:100%;padding:14px;font-size:.95rem;display:flex;align-items:center;justify-content:center;gap:10px}
.qv__msg{margin-top:16px;font-size:.84rem;line-height:1.6;color:var(--red-2);min-height:1.2em}
.qv__msg--ok{color:var(--tx-soft)}
.qv__hint{margin:20px 0 0;font-size:.78rem;color:var(--tx-faint);line-height:1.7;font-family:var(--font-mono)}
.spin{width:13px;height:13px;border:2px solid rgba(255,255,255,.35);border-top-color:#fff;border-radius:50%;animation:sp .7s linear infinite;display:none}
.is-loading .spin{display:block}
@keyframes sp{to{transform:rotate(360deg)}}

.qv__bar{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;padding:18px 22px;border:1px solid var(--line);border-radius:var(--r);background:var(--cream);margin-top:34px}
.qv__bar b{font-weight:600}
.qv__bar span{font-family:var(--font-mono);font-size:.78rem;color:var(--tx-faint)}
.qv__bar .btn{padding:8px 16px;font-size:.8rem}

.qv__grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--line);border:1px solid var(--line);margin-top:26px}
.qstat{background:var(--surface);padding:26px 24px}
.qstat__k{font-family:var(--font-mono);font-size:.68rem;letter-spacing:.12em;text-transform:uppercase;color:var(--tx-faint);margin-bottom:8px}
.qstat__v{font-family:var(--font-serif);font-size:1.6rem;line-height:1.25}
.qstat__v em{font-style:normal;font-size:.9rem;color:var(--tx-soft);font-family:var(--font-sans)}
.qstat__d{font-size:.78rem;color:var(--tx-faint);margin-top:6px}

.qv__panels{display:grid;grid-template-columns:1.25fr .75fr;gap:26px;margin-top:26px}
.qpanel{border:1px solid var(--line);border-radius:var(--r);background:var(--surface);overflow:hidden}
.qpanel__hd{padding:18px 22px;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;align-items:baseline;gap:12px}
.qpanel__hd h3{font-size:1.02rem}
.qpanel__hd span{font-family:var(--font-mono);font-size:.7rem;letter-spacing:.1em;color:var(--tx-faint)}
.qpanel__bd{padding:22px}
.qpanel canvas{display:block;width:100%;height:auto}

.expo{list-style:none;margin:0;padding:0}
.expo li{padding:0 0 16px}
.expo li:last-child{padding-bottom:0}
.expo__t{display:flex;justify-content:space-between;gap:12px;font-size:.9rem;margin-bottom:7px}
.expo__t b{font-weight:600}
.expo__t span{font-family:var(--font-mono);color:var(--tx-soft)}
.expo__bar{height:6px;background:var(--sand);border-radius:2px;overflow:hidden;position:relative}
.expo__bar i{position:absolute;top:0;bottom:0;background:var(--red);transition:width .6s var(--ease),left .6s var(--ease)}
.expo__mid{position:absolute;top:-3px;bottom:-3px;left:50%;width:1px;background:var(--line)}

.qv__banner{border:1px dashed var(--clay);background:#FDF6F4;border-radius:var(--r);padding:16px 20px;margin-top:26px;font-size:.86rem;color:var(--tx-soft);line-height:1.7}
.qv__banner b{color:var(--red-2)}

.qv__empty{text-align:center;padding:56px 0;color:var(--tx-faint);font-size:.92rem}
.qv__api{margin-top:26px;border:1px solid var(--line);border-radius:var(--r);overflow:hidden}
.qv__api summary{padding:16px 22px;cursor:pointer;font-family:var(--font-mono);font-size:.8rem;letter-spacing:.06em;color:var(--tx-soft);background:var(--cream)}
.qv__api pre{margin:0;padding:20px 22px;background:var(--ink);color:rgba(255,255,255,.78);font-family:var(--font-mono);font-size:12px;line-height:1.75;overflow-x:auto;white-space:pre}

/* ---------------- 入场动画 ---------------- */
.rv{opacity:0;transform:translateY(20px);transition:opacity .8s var(--ease),transform .8s var(--ease)}
.rv.in{opacity:1;transform:none}

/* ---------------- 响应式 ---------------- */
@media (max-width:1040px){
  .nav{display:none}
  .burger{display:block}
  .hero{min-height:auto;padding:92px 0 78px}
  .hero__in{grid-template-columns:1fr;gap:56px}
  .codelane .crcol--r{display:none}
  .codelane .crcol--l{width:72%}
  .facts__grid,.cards3,.arch,.tabs,.cmp,.contact,.flow,.team,.qv__panels,.team--wide{grid-template-columns:1fr}
  .qv__grid{grid-template-columns:repeat(2,1fr)}
  .matrix-out{grid-template-columns:1fr}
  .attn__frame{max-width:400px;margin:0 auto;width:100%}
  .tabs{gap:28px}
}
@media (max-width:640px){
  .section{padding:64px 0}
  .facts__grid,.qv__grid{grid-template-columns:1fr}
  .gate__box{padding:30px 24px 26px}
  .hdr__ent{display:none}
  .pagehd{padding:56px 0 48px}
  .tbl{display:block;overflow-x:auto;white-space:nowrap}
  .mv,.member__top{flex-wrap:wrap}
  .member{grid-template-columns:1fr}
  .member__top{border-right:0;border-bottom:1px solid var(--line);padding:26px 24px}
  .member__bd{padding:24px}
  .profbar i{height:11px}
  .sec{flex-wrap:wrap;gap:6px 14px}
  .sec__t{font-size:1.35rem}
}
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  .codelane .crstrip,.spin{animation:none}
  .rv{opacity:1;transform:none;transition:none}
}
