/* =====================================================================
   元仓 DollarVault — skin.css
   去模板化叠加层：加载在 Story 的 main.css 之后。
   只改"皮"（字体 / 文字色 / 导航 / 披露条 / 仪表盘 / 细节），
   不动 Story 的版面骨架、间距、图文编排与滚动动效（保留模板设计功力）。
   配色：保留 Story 浅色图片驱动设计，强调色已在 main.css 里换成鎏金 #BE8A3C。
   ===================================================================== */

:root{
  --gold:#BE8A3C;
  --gold-deep:#9C6F28;
  --ink:#16181C;
  --ink-soft:#3A3F46;
  --paper-line:rgba(20,24,28,.10);
  --display:"Smiley Sans Oblique","Archivo","Noto Sans SC",system-ui,-apple-system,"Segoe UI",Roboto,"PingFang SC","Microsoft YaHei",sans-serif;
  --sans-display:"Archivo","Noto Sans SC",system-ui,-apple-system,"Segoe UI",Roboto,"PingFang SC","Microsoft YaHei",sans-serif;
  --sans:"Public Sans","Noto Sans SC",system-ui,-apple-system,"Segoe UI",Roboto,"PingFang SC","Microsoft YaHei",sans-serif;
  --mono:"JetBrains Mono",ui-monospace,Menlo,Consolas,monospace;
}

/* ---- type: swap Story's thin Source Sans Pro for our pairing ---- */
body, input, select, textarea{
  font-family:var(--sans);
  font-weight:400;
  color:#1B1E23;
  letter-spacing:0;
}
h1,h2,h3,h4,h5,h6{
  font-family:var(--display);
  font-weight:800;
  font-synthesis:none;
  letter-spacing:-.01em;
  color:var(--ink);
  text-transform:none;
}
h1{line-height:1.1}
strong,b{font-weight:600;color:var(--ink)}
p.major{font-weight:400;color:#33373D}
a{font-weight:500}

/* mono accents reused by new components */
.kicker{font-family:var(--mono);font-size:.74rem;letter-spacing:.16em;text-transform:uppercase;
  color:var(--gold-deep);font-weight:500;display:inline-block;margin-bottom:1rem}

/* ---- disclosure bar (new) ---- */
.disclosure-bar{background:var(--ink);color:#C9CCC6;font-family:var(--sans);
  font-size:.78rem;line-height:1.5}
.disclosure-bar .inner{max-width:1400px;margin:0 auto;padding:.5rem 2rem;
  display:flex;flex-wrap:wrap;gap:.4rem 1.4rem;justify-content:center;text-align:center}
.disclosure-bar b{color:#fff;font-weight:600}

/* ---- sticky header / nav (new) ---- */
.site-header{position:sticky;top:0;z-index:1000;background:rgba(255,255,255,.9);
  backdrop-filter:saturate(150%) blur(10px);border-bottom:1px solid var(--paper-line)}
@supports not (backdrop-filter:blur(1px)){.site-header{background:#fff}}
.site-header .inner{max-width:1400px;margin:0 auto;padding:0 2rem;height:70px;
  display:flex;align-items:center;justify-content:space-between;gap:1rem}
.brand{display:flex;align-items:center;gap:.55rem;font-family:var(--sans-display);font-weight:800;
  font-size:1.24rem;color:var(--ink);text-decoration:none;letter-spacing:-.01em}
.brand:hover{text-decoration:none}
.brand .mk{width:30px;height:30px;border-radius:7px;display:grid;place-items:center;
  background:var(--gold);color:#fff;font-family:var(--mono);font-weight:700;font-size:.95rem;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.4)}
.brand .en{font-family:var(--mono);font-weight:500;font-size:.66rem;letter-spacing:.14em;
  text-transform:uppercase;color:var(--gold-deep)}
.topnav{display:flex;align-items:center;gap:1.5rem}
.topnav a{color:#43474D;font-size:.93rem;font-weight:500;text-decoration:none}
.topnav a:hover{color:var(--ink);text-decoration:none}
.topnav a.ncta{color:var(--gold-deep);border:1px solid rgba(190,138,60,.45);
  padding:.4rem .85rem;border-radius:8px}
.topnav a.ncta:hover{background:rgba(190,138,60,.08)}
.topnav a.lang{font-family:var(--mono);font-size:.72rem;letter-spacing:.04em;
  border:1px solid var(--paper-line);padding:.32rem .62rem;border-radius:7px;color:#43474D}
.topnav a.lang:hover{border-color:rgba(190,138,60,.45);color:var(--gold-deep)}
.navbtn{display:none;background:none;border:1px solid var(--paper-line);border-radius:8px;
  width:42px;height:38px;cursor:pointer;color:var(--ink)}
.navbtn svg{width:20px;height:20px;display:block;margin:auto;stroke:currentColor;fill:none;stroke-width:2}
@media (max-width:900px){
  .navbtn{display:block}
  .topnav{position:absolute;top:70px;left:0;right:0;flex-direction:column;align-items:stretch;
    gap:0;background:#fff;border-bottom:1px solid var(--paper-line);padding:.3rem 2rem 1rem;display:none}
  .topnav.open{display:flex}
  .topnav a{padding:.85rem .1rem;border-top:1px solid var(--paper-line);font-size:1rem}
  .topnav a.ncta{margin-top:.7rem;text-align:center}
}

/* ---- signature: 美元容器对照仪表盘 (new, styled to sit inside Story wrapper) ---- */
.dash{max-width:60rem;margin:2.5rem auto 0;border:1px solid var(--paper-line);border-radius:14px;
  overflow:hidden;box-shadow:0 30px 60px -40px rgba(20,24,28,.4);background:#fff;text-align:left}
.dash-top{display:flex;align-items:center;justify-content:space-between;gap:1rem;
  padding:.8rem 1.15rem;background:var(--ink);color:#fff}
.dash-top .t{font-family:var(--mono);font-size:.74rem;letter-spacing:.1em;text-transform:uppercase;color:#EBD9B6}
.dash-top .d{width:9px;height:9px;border-radius:50%;background:var(--gold);box-shadow:0 0 0 4px rgba(190,138,60,.25)}
table.dashgrid{width:100%;border-collapse:collapse;font-size:.9rem;margin:0}
table.dashgrid th,table.dashgrid td{padding:.72rem .85rem;text-align:left;
  border-bottom:1px solid var(--paper-line);vertical-align:middle;line-height:1.45}
table.dashgrid thead th{font-family:var(--mono);font-weight:500;font-size:.68rem;letter-spacing:.06em;
  text-transform:uppercase;color:#7A7F86;background:#F7F6F3}
table.dashgrid tbody th{font-family:var(--display);font-weight:700;color:var(--ink);font-size:.98rem}
table.dashgrid tbody th .s{display:block;font-family:var(--sans);font-weight:400;font-size:.76rem;color:#80858C;margin-top:.15rem}
table.dashgrid tbody tr:last-child td,table.dashgrid tbody tr:last-child th{border-bottom:0}
.lvl{font-family:var(--mono);font-size:.82rem;color:var(--ink-soft)}
.dashgrid tr.bridge{background:rgba(190,138,60,.08)}
.dashgrid tr.bridge th{color:var(--gold-deep)}
.dash-foot{padding:.65rem 1.15rem;background:#F7F6F3;color:#7A7F86;font-family:var(--mono);
  font-size:.72rem;border-top:1px solid var(--paper-line)}
.dashcards{display:none}
@media (max-width:736px){
  table.dashgrid{display:none}
  .dashcards{display:block}
  .dashcards .c{padding:1rem 1.15rem;border-bottom:1px solid var(--paper-line);text-align:left}
  .dashcards .c:last-child{border-bottom:0}
  .dashcards .c h4{font-family:var(--display);font-size:1.05rem;margin:0 0 .6rem;color:var(--gold-deep)}
  .dashcards .c dl{margin:0;display:grid;grid-template-columns:auto 1fr;gap:.35rem .9rem}
  .dashcards .c dt{font-family:var(--mono);font-size:.7rem;letter-spacing:.04em;text-transform:uppercase;color:#80858C;padding-top:.1rem}
  .dashcards .c dd{margin:0;font-size:.88rem;color:#3A3F46}
}

/* ---- caution note inside spotlight ---- */
.cnote{border:1px solid rgba(190,138,60,.4);background:rgba(190,138,60,.07);border-radius:12px;
  padding:1rem 1.15rem;margin-top:1.4rem;font-size:.95rem;color:#3A3F46}
.cnote b{color:var(--ink)}

/* ---- numbered steps inside spotlight ---- */
ol.flow{list-style:none;margin:1.5rem 0 0;padding:0;counter-reset:f}
ol.flow li{position:relative;padding:0 0 1.1rem 2.8rem;counter-increment:f}
ol.flow li::before{content:counter(f,decimal-leading-zero);position:absolute;left:0;top:-.1rem;
  font-family:var(--mono);font-size:.82rem;color:var(--gold-deep);border:1px solid rgba(190,138,60,.45);
  border-radius:8px;width:1.9rem;height:1.9rem;display:grid;place-items:center}
ol.flow li:last-child{padding-bottom:0}
ol.flow li b{display:block;color:var(--ink);margin-bottom:.12rem}
ol.flow li span{color:#42474E}

/* ---- checklist ---- */
ul.tick{list-style:none;margin:1.6rem auto 0;padding:0;max-width:42rem;text-align:left;display:grid;gap:.7rem}
ul.tick li{position:relative;padding-left:2rem;color:#33373D}
ul.tick li::before{content:"";position:absolute;left:0;top:.3em;width:1.15rem;height:1.15rem;
  border:1px solid var(--gold);border-radius:5px;background:rgba(190,138,60,.12)}
ul.tick li::after{content:"";position:absolute;left:.37rem;top:.42em;width:.36rem;height:.62rem;
  border:solid var(--gold-deep);border-width:0 2px 2px 0;transform:rotate(40deg)}

/* ---- guide items: make Story icon-grid items into real links ---- */
.items.guides a{color:inherit;text-decoration:none;display:block}
.items.guides a:hover h3{color:var(--gold-deep)}
.items.guides .rt{font-family:var(--mono);font-size:.74rem;color:#80858C;display:block;margin-top:.5rem}

/* 居中 wrapper 段的按钮行默认居中（页脚等） */
.wrapper.align-center .actions{justify-content:center;margin-left:0;margin-right:0}
/* #checklist：居中标题/导语 + 居中卡片（卡内左对齐），与 #dashboard 同款骨架，保持上下一致 */
.check-card{width:fit-content;max-width:min(40rem,100%);margin:2rem auto 0;text-align:left;
  border:1px solid var(--paper-line);border-radius:14px;background:#fff;
  padding:1.6rem 2rem 1.8rem;box-shadow:0 30px 60px -44px rgba(20,24,28,.42)}
.check-card ul.tick{margin:0;max-width:none}
#checklist .check-card .actions{justify-content:flex-start;margin:1.4rem 0 0}
#checklist .check-card .actions li:first-child{padding-left:0}

/* ---- 工具：换汇点差计算器（§27.3 搜索需求资产 · 纯本地计算 · §27.7 诚实） ---- */
.calc,.pick,.chk{scroll-margin-top:88px}
.calc{border:1px solid var(--paper-line);border-radius:14px;background:#fff;
  padding:1.4rem 1.5rem 1.5rem;margin:1.9rem 0;box-shadow:0 30px 60px -44px rgba(20,24,28,.4)}
.calc-h{display:flex;align-items:center;gap:.6rem;margin-bottom:.5rem}
.calc-h > .icon{color:var(--gold-deep);font-size:1.1rem}
.calc-h h3{margin:0;font-size:1.12rem}
.calc-lead{font-size:.9rem;color:#5B6066;margin:0 0 1.1rem;line-height:1.55}
.calc-grid{display:grid;gap:.9rem;grid-template-columns:1fr 1fr 1fr}
.calc-grid label{display:flex;flex-direction:column;gap:.35rem;font-size:.8rem;color:#43474D;font-weight:500;line-height:1.35}
.calc-grid input{font-family:var(--mono);font-size:1rem;padding:.6rem .7rem;border:1px solid var(--paper-line);
  border-radius:8px;background:#fff;color:var(--ink);width:100%}
.calc-grid input:focus{outline:2px solid var(--gold);outline-offset:1px;border-color:var(--gold)}
.calc-out{margin-top:1.15rem;padding-top:1rem;border-top:1px solid var(--paper-line)}
.calc-hint{color:#80858C;font-size:.9rem;margin:0}
.calc-rows{display:grid;gap:.45rem}
.calc-rows > div{display:flex;justify-content:space-between;align-items:baseline;gap:1rem;font-size:.95rem;color:#3A3F46}
.calc-rows > div b{font-family:var(--mono);color:var(--ink);white-space:nowrap}
.calc-rows > div.hl b{color:var(--gold-deep)}
.calc-verdict{margin:.95rem 0 0;font-size:.96rem;color:var(--ink);line-height:1.6}
.calc-verdict b{color:var(--gold-deep)}
.calc-foot{margin:1rem 0 0;font-size:.77rem;color:#80858C;line-height:1.5}
@media (max-width:560px){.calc-grid{grid-template-columns:1fr}}

/* ---- 工具：容器分流判断器（.pick） ---- */
.pick{border:1px solid var(--paper-line);border-radius:14px;background:#fff;padding:1.4rem 1.5rem 1.5rem;
  margin:1.9rem 0;box-shadow:0 30px 60px -44px rgba(20,24,28,.4)}
.pick-h{display:flex;align-items:center;gap:.6rem;margin-bottom:.5rem}
.pick-h > .icon{color:var(--gold-deep);font-size:1.1rem}
.pick-h h3{margin:0;font-size:1.12rem}
.pick-lead{font-size:.9rem;color:#5B6066;margin:0 0 1.1rem;line-height:1.55}
.pick-grid{display:grid;gap:.9rem}
.pick-grid label{display:flex;flex-direction:column;gap:.35rem;font-size:.84rem;color:#43474D;font-weight:600}
.pick-grid select{font-family:var(--sans);font-size:.95rem;padding:.55rem .6rem;border:1px solid var(--paper-line);
  border-radius:8px;background:#fff;color:var(--ink)}
.pick-grid select:focus{outline:2px solid var(--gold);outline-offset:1px;border-color:var(--gold)}
.pick-out{margin-top:1.15rem;padding:1.1rem 1.2rem;border-radius:10px;background:#F7F6F3;border:1px solid var(--paper-line)}
.pick-out .pk-rec{font-size:1.05rem;color:var(--ink);margin:0 0 .35rem}
.pick-out .pk-rec b{color:var(--gold-deep)}
.pick-out .pk-why{font-size:.93rem;color:#3A3F46;margin:0 0 .6rem;line-height:1.6}
.pick-out a.pk-link{font-family:var(--mono);font-size:.84rem;font-weight:600}
.pick-foot{margin:1rem 0 0;font-size:.77rem;color:#80858C;line-height:1.5}

/* ---- 工具：可勾选注册前核对清单（.chk） ---- */
.chk{border:1px solid var(--paper-line);border-radius:14px;background:#fff;padding:1.3rem 1.5rem 1.4rem;
  margin:1.6rem 0;box-shadow:0 30px 60px -44px rgba(20,24,28,.4)}
.chk-h{display:flex;align-items:center;gap:.6rem;margin-bottom:1rem}
.chk-h > .icon{color:var(--gold-deep);font-size:1.1rem}
.chk-h h3{margin:0;font-size:1.12rem;flex:1}
.chk-count{font-family:var(--mono);font-size:.8rem;color:var(--gold-deep);background:rgba(190,138,60,.13);
  padding:.22rem .6rem;border-radius:999px;white-space:nowrap}
.chk-list{list-style:none;margin:0;padding:0;display:grid;gap:.15rem}
.chk-list li{margin:0}
.chk-list label{display:flex;gap:.7rem;align-items:flex-start;padding:.6rem .25rem;cursor:pointer;border-radius:8px}
.chk-list label:hover{background:rgba(190,138,60,.05)}
.chk-list input{margin-top:.25rem;width:1.05rem;height:1.05rem;accent-color:var(--gold-deep);flex:0 0 auto;cursor:pointer}
.chk-list span{font-size:.93rem;color:#33373D;line-height:1.55}
.chk-list label.done span{color:#8A8F96}
.chk-cta{margin-top:1rem;padding-top:1rem;border-top:1px solid var(--paper-line)}
.chk-gate{font-size:.9rem;color:#80858C;margin:0}
.chk-foot{margin:.9rem 0 0;font-size:.77rem;color:#80858C;line-height:1.5}

/* consent banner (Consent Mode v2 · 同意前不跟踪) */
.consent-bar{position:fixed;left:0;right:0;bottom:0;z-index:1200;background:var(--ink);color:#D7DAD4;
  font-size:.84rem;line-height:1.55;padding:.8rem 1.15rem;display:flex;flex-wrap:wrap;gap:.6rem 1.2rem;
  align-items:center;justify-content:center;box-shadow:0 -10px 34px -22px rgba(0,0,0,.7)}
.consent-bar a{color:var(--gold)}
.consent-bar .consent-btns{display:flex;gap:.5rem;flex:0 0 auto}
.consent-bar button{font:inherit;cursor:pointer;border:1px solid rgba(255,255,255,.28);background:transparent;
  color:#D7DAD4;padding:.42rem .95rem;border-radius:7px}
.consent-bar button.primary{background:var(--gold);border-color:var(--gold);color:#16110a;font-weight:600}
.consent-bar button:hover{border-color:var(--gold)}

/* footer legal-link row (站级可达性 §27.4) */
.foot-legal{font-size:.82rem;color:#8A8F96;margin:0 0 .55rem;line-height:1.7}
.foot-legal a{color:#8A8F96}
.foot-legal a:hover{color:var(--gold-deep)}

/* keep the footer credit subtle but present */
#wrapper > footer .credit{font-size:.8rem;color:#8A8F96}
#wrapper > footer .credit a{color:#8A8F96}

/* ---- checklist + 出站核对卡 module (不露码；真链与码只在 go/) ---- */
.checklist-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:clamp(1.6rem,4vw,3rem);
  align-items:start;text-align:left;max-width:62rem;margin-inline:auto}
.checklist-grid .checklist-copy h2{margin-top:0}
.checklist-grid ul.tick{margin:1.4rem 0 0;max-width:none}
.checklist-grid ul.actions{justify-content:flex-start;margin-top:1.6rem}
@media (max-width:820px){.checklist-grid{grid-template-columns:1fr}}

.exitcard{background:#fff;border:1px solid var(--paper-line);border-radius:14px;
  box-shadow:0 30px 60px -42px rgba(20,24,28,.45);overflow:hidden}
.exitcard .exitcard-h{display:flex;align-items:center;gap:.65rem;padding:1rem 1.25rem;
  border-bottom:1px solid var(--paper-line);background:#F7F6F3}
.exitcard .exitcard-h h3{margin:0;font-size:1.1rem}
.exitcard .exitcard-h .icon{color:var(--gold-deep);font-size:1.15rem}
.exitcard dl{margin:0;padding:.35rem 1.25rem .1rem}
.exitcard dt{font-family:var(--mono);font-size:.67rem;letter-spacing:.07em;text-transform:uppercase;
  color:var(--gold-deep);margin-top:.95rem}
.exitcard dd{margin:.22rem 0 0;color:#33373D;font-size:.92rem;line-height:1.55}
.exitcard dd code{font-family:var(--mono);font-size:.9rem;color:var(--ink);
  background:rgba(20,24,28,.05);padding:.08rem .42rem;border-radius:5px}
.exitcard dd span{display:block;color:#80858C;font-size:.79rem;margin-top:.15rem}
.exitcard .exit-cta{display:block;margin:1.15rem 1.25rem .2rem;text-align:center}
.exitcard .exit-foot{margin:.75rem 1.25rem 1.2rem;color:#8A8F96;font-size:.76rem;line-height:1.5}

/* ---- 出站核对横幅（首屏顶部 · 不露码；像免责条那样的一条 bar） ---- */
.exit-banner{background:rgba(190,138,60,.10);border-bottom:1px solid rgba(190,138,60,.32)}
.exit-banner .inner{max-width:1400px;margin:0 auto;padding:.5rem 1.5rem;display:flex;align-items:center;
  gap:1rem 1.25rem;flex-wrap:nowrap}
/* marquee: text scrolls, CTA stays fixed on the right */
.exit-banner .eb-marquee{flex:1 1 auto;min-width:0;overflow:hidden;
  -webkit-mask-image:linear-gradient(90deg,transparent 0,#000 30px,#000 calc(100% - 30px),transparent 100%);
          mask-image:linear-gradient(90deg,transparent 0,#000 30px,#000 calc(100% - 30px),transparent 100%)}
.exit-banner .eb-track{display:flex;width:max-content;will-change:transform;animation:eb-marquee 38s linear infinite}
.exit-banner .eb-marquee:hover .eb-track{animation-play-state:paused}
.exit-banner .eb-item{display:inline-flex;align-items:center;gap:.5rem;padding-right:4rem;white-space:nowrap;
  color:#3A3F46;font-size:.85rem;line-height:1.5}
.exit-banner .eb-item > .icon{color:var(--gold-deep);font-size:1rem}
.exit-banner .eb-item b{color:var(--ink);font-weight:700}
.exit-banner .eb-item code{font-family:var(--mono);font-size:.83rem;color:var(--ink);
  background:rgba(20,24,28,.06);padding:.05rem .4rem;border-radius:5px}
.exit-banner .eb-cta{flex:0 0 auto;font-weight:600;font-size:.84rem;color:#fff;background:var(--ink);
  padding:.5rem 1.05rem;border-radius:999px;text-decoration:none;white-space:nowrap;
  display:inline-flex;align-items:center;gap:.35rem}
.exit-banner .eb-cta:hover{background:#000;text-decoration:none}
@keyframes eb-marquee{from{transform:translateX(0)}to{transform:translateX(-50%)}}
@media (prefers-reduced-motion:reduce){
  .exit-banner .eb-track{animation:none}
  .exit-banner .eb-marquee{overflow-x:auto}
}
@media (max-width:680px){.exit-banner .inner{padding:.45rem 1rem;gap:.7rem}}

/* ====================================================================
   文章页（指南）版式 —— 侧栏 TOC + 长正文
   ==================================================================== */
.article-head{background:#F7F6F3;border-bottom:1px solid var(--paper-line)}
.article-head .inner{max-width:1180px;margin:0 auto;padding:2.4rem 2rem 2rem}
.breadcrumb{font-family:var(--mono);font-size:.74rem;color:#80858C;margin:0 0 1.1rem;
  display:flex;gap:.45rem;flex-wrap:wrap}
.breadcrumb a{color:#80858C}.breadcrumb a:hover{color:var(--gold-deep)}
.article-head h1{font-size:clamp(1.9rem,1.25rem + 2.6vw,3rem);line-height:1.08;margin:0 0 .7rem;max-width:24ch}
.article-head h1 small{display:block;font-family:var(--sans);font-weight:500;font-size:.42em;
  color:#6B7075;margin-top:.7rem;letter-spacing:0;line-height:1.4}
.byline{font-family:var(--mono);font-size:.78rem;color:#6B7075;margin:0}
.byline a{color:var(--gold-deep)}

.article-grid{max-width:1180px;margin:0 auto;padding:2.2rem 2rem 3.5rem;display:grid;
  grid-template-columns:236px 1fr;gap:clamp(1.6rem,4vw,3.5rem);align-items:start}
@media (max-width:920px){.article-grid{grid-template-columns:1fr;padding-top:1.6rem}}

.toc{position:sticky;top:86px;display:flex;flex-direction:column;gap:1rem}
@media (max-width:920px){.toc{position:static}}
.toc-box{border:1px solid var(--paper-line);border-radius:12px;padding:1.05rem 1.15rem;background:#fff}
.toc-box h2{font-size:.7rem;font-family:var(--mono);letter-spacing:.1em;text-transform:uppercase;
  color:var(--gold-deep);margin:0 0 .85rem}
.toc-list{list-style:none;margin:0;padding:0;counter-reset:toc;display:grid;gap:.5rem}
.toc-list li{counter-increment:toc}
.toc-list a{color:#43474D;font-size:.85rem;line-height:1.4;display:flex;gap:.55rem;align-items:baseline}
.toc-list a::before{content:counter(toc,decimal-leading-zero);font-family:var(--mono);color:var(--gold);
  font-size:.72rem;flex:0 0 auto}
.toc-list a:hover{color:var(--gold-deep);text-decoration:none}
.toc-cta{border:1px solid rgba(190,138,60,.32);border-radius:12px;padding:1rem 1.15rem;
  background:rgba(190,138,60,.07)}
.toc-cta h3{font-size:.92rem;margin:0 0 .4rem}
.toc-cta p{font-size:.82rem;color:#5B6066;margin:0 0 .8rem;line-height:1.5}
.toc-cta a.button{font-size:.82rem;padding:.5rem .9rem}
.toc-rel{font-size:.85rem}
.toc-rel h3{font-size:.7rem;font-family:var(--mono);letter-spacing:.1em;text-transform:uppercase;
  color:#80858C;margin:0 0 .7rem}
.toc-rel ul{list-style:none;margin:0;padding:0;display:grid;gap:.6rem}
.toc-rel a{color:#43474D;line-height:1.4;font-size:.85rem}
.toc-rel a:hover{color:var(--gold-deep)}

/* ---- 正文排版 ---- */
.post{max-width:74ch;min-width:0}
.post .lede{font-size:1.12rem;line-height:1.7;color:#33373D;margin:0 0 1.8rem}
.post h2{font-size:clamp(1.4rem,1.1rem + 1.3vw,1.92rem);line-height:1.18;margin:2.6rem 0 .9rem;
  scroll-margin-top:88px}
.post h3{font-size:1.18rem;margin:1.7rem 0 .55rem}
.post p{margin:0 0 1.1rem;font-size:1.02rem;line-height:1.8;color:#2C3036}
.post ul,.post ol{margin:0 0 1.2rem;padding-left:1.35rem}
.post li{margin:.42rem 0;line-height:1.72;color:#2C3036}
.post strong{color:var(--ink);font-weight:600}
.post a{color:var(--gold-deep);text-decoration:underline;text-underline-offset:2px}
.post a:hover{color:var(--ink)}
.post blockquote{margin:1.5rem 0;padding:.2rem 0 .2rem 1.2rem;border-left:3px solid var(--gold);
  font-size:1.08rem;color:#3A3F46;font-style:normal}

/* ---- 对照表 ---- */
.ratecard{margin:1.7rem 0;border:1px solid var(--paper-line);border-radius:12px;overflow:auto}
table.rate{width:100%;border-collapse:collapse;font-size:.92rem;min-width:32rem}
table.rate th,table.rate td{padding:.72rem .85rem;border-bottom:1px solid var(--paper-line);
  text-align:left;vertical-align:top;line-height:1.5}
table.rate thead th{background:#F7F6F3;font-family:var(--mono);font-size:.7rem;letter-spacing:.05em;
  text-transform:uppercase;color:#7A7F86;font-weight:500;white-space:nowrap}
table.rate tbody th{font-weight:700;color:var(--ink)}
table.rate tbody tr:last-child td,table.rate tbody tr:last-child th{border-bottom:0}
table.rate tr.is-bridge{background:rgba(190,138,60,.08)}
table.rate tr.is-bridge th{color:var(--gold-deep)}
.rate-note{font-size:.8rem;color:#80858C;margin:.5rem 0 0;font-family:var(--mono)}

/* ---- 步骤 ---- */
ol.steps{list-style:none;counter-reset:st;padding:0;margin:1.4rem 0}
ol.steps li{position:relative;padding:.1rem 0 1rem 2.8rem;counter-increment:st;line-height:1.72}
ol.steps li::before{content:counter(st);position:absolute;left:0;top:0;width:1.85rem;height:1.85rem;
  border-radius:8px;background:var(--ink);color:#fff;font-family:var(--mono);font-size:.85rem;
  display:grid;place-items:center}
ol.steps li:last-child{padding-bottom:0}

/* ---- 提示框 ---- */
.note{border:1px solid var(--paper-line);border-radius:12px;padding:1rem 1.2rem;margin:1.5rem 0;
  background:#F7F6F3;color:#33373D;font-size:.96rem;line-height:1.65}
.note b{color:var(--ink)}
.note.danger{border-color:rgba(193,86,60,.38);background:rgba(193,86,60,.06)}
.note.tip{border-color:rgba(190,138,60,.34);background:rgba(190,138,60,.07)}

/* ---- FAQ ---- */
.faq{margin:1.3rem 0}
.faq .q{margin:0 0 1.1rem}
.faq .q strong{display:block;color:var(--ink);margin-bottom:.25rem;font-size:1.02rem}
.faq .q span{display:block;color:#2C3036;line-height:1.75}

/* ---- 作者卡 / 资料来源 ---- */
.updated{font-size:.88rem;color:#6B7075;border-top:1px solid var(--paper-line);margin-top:2rem;
  padding-top:1.1rem;line-height:1.65}
.author-card{display:flex;gap:1rem;align-items:flex-start;border-top:1px solid var(--paper-line);
  margin-top:1.6rem;padding-top:1.5rem}
.author-card .av{width:54px;height:54px;border-radius:50%;flex:0 0 auto;display:grid;place-items:center;
  background:linear-gradient(160deg,var(--gold),var(--gold-deep));color:#fff;font-family:var(--display);
  font-size:1.45rem;font-synthesis:none;box-shadow:inset 0 1px 0 rgba(255,255,255,.3)}
.author-card .ac h3{font-size:1rem;margin:0 0 .3rem}
.author-card .ac p{font-size:.9rem;color:#5B6066;margin:0;line-height:1.6}
.author-card .ac a{color:var(--gold-deep)}

/* ====================================================================
   上传缓存防混用 · 图片/品牌兜底尺寸
   防止 CDN/浏览器缓存新旧资源混用时，图片以原始尺寸撑破版面。
   只限制宽度(不动 height)，以免破坏 Story 全屏 banner 的 object-fit:cover。
   ==================================================================== */
img{max-width:100%}                                   /* 任何内容图都不横向溢出容器 */
.brand .mk{flex:0 0 auto}                              /* 品牌标记固定 30×30，缓存混用不被撑大 */
.brand img{height:30px;width:auto;flex:0 0 auto}      /* 若日后换成图片 logo 的兜底高度 */
.author-card .av{flex:0 0 auto}                        /* 头像方块固定尺寸 */
