/* ===== mustfix7 · 第 1 批：tokens + M2 字号/圆角/阴影收敛 + M3 正文链接 + M7 孤字 =====
   两站通用。加载位置：每页最后一个 <style> 之后（bian.one 已有先例：p0-article.css 的 <link> 就在 </style> 后）。
   只改样式，不改任何可见字、码、href。 */

/* ---------- tokens ---------- */
:root{
  /* 字号 10 档 */
  --t-fs-12:12px; --t-fs-14:14px; --t-fs-16:16px; --t-fs-18:18px; --t-fs-20:20px;
  --t-fs-24:24px; --t-fs-28:28px; --t-fs-32:32px; --t-fs-40:40px; --t-fs-48:48px;
  /* 行高 */
  --t-lh-h1:1.2; --t-lh-h2:1.3; --t-lh-h3:1.4; --t-lh-body:1.7; --t-lh-small:1.6;
  /* 字重 */
  --t-fw-body:400; --t-fw-strong:700; --t-fw-head:800;
  /* 颜色（沿用两站现有黑金值） */
  --t-bg:#0b0e11; --t-surface:#12161f; --t-text:#f2f4f7; --t-soft:#d4d9e2; --t-muted:#a5adba;
  --t-brand:#f0b90b; --t-brand-hi:#ffe07a;
  --t-link:#f0b90b; --t-link-hover:#ffe07a; --t-link-line:rgba(240,185,11,.55); --t-focus:#ffe07a;
  /* 圆角 4 档 */
  --t-r-s:8px; --t-r-m:12px; --t-r-l:16px; --t-r-pill:999px;
  /* 阴影 2 档 */
  --t-sh-1:0 10px 30px rgba(0,0,0,.24);
  --t-sh-2:0 18px 48px rgba(0,0,0,.42);
  /* 间距 */
  --t-sp-4:4px; --t-sp-8:8px; --t-sp-12:12px; --t-sp-16:16px; --t-sp-24:24px; --t-sp-32:32px; --t-sp-48:48px; --t-sp-64:64px;
  --t-tap:44px; --t-max:1120px;
  /* 把两站现有变量接到 tokens 上 */
  --radius:var(--t-r-l); --r:var(--t-r-l); --shadow:var(--t-sh-1);
}

/* ---------- M2 标题层级（移动优先：≤560 / 561–1023 / ≥1024） ---------- */
h1,.hero h1,.article h1,.article.p0 h1,.p0-hero h1{
  font-size:var(--t-fs-28); line-height:var(--t-lh-h1); font-weight:var(--t-fw-head); letter-spacing:-.01em;
}
main h2,.section-title,.article-body h2,.article.p0 h2,.p0-faq-block h2,.p0-dl-zone h2,.final-cta h2,.step-panel h2{
  font-size:var(--t-fs-24); line-height:var(--t-lh-h2); font-weight:var(--t-fw-strong); letter-spacing:0;
}
main h3,.card h3,.card.compact h3,.why-card h3,.faq-column h3,#verify-package h3,.mini-card h3,
.step h3,.p0-steps .step h3,.p0-compare .card h3,.p0-pf-card h3,.p0-fail-card h3,.p2-ios-card h3,.article.p0 h3{
  font-size:var(--t-fs-18); line-height:var(--t-lh-h3); font-weight:var(--t-fw-strong);
}
@media (min-width:561px){
  h1,.hero h1,.article h1,.article.p0 h1,.p0-hero h1{font-size:var(--t-fs-40)}
  main h2,.section-title,.article-body h2,.article.p0 h2,.p0-faq-block h2,.p0-dl-zone h2,.final-cta h2,.step-panel h2{font-size:var(--t-fs-28)}
  main h3,.card h3,.card.compact h3,.why-card h3,.faq-column h3,#verify-package h3,.mini-card h3,
  .step h3,.p0-steps .step h3,.p0-compare .card h3,.p0-pf-card h3,.p0-fail-card h3,.p2-ios-card h3,.article.p0 h3{font-size:var(--t-fs-20)}
}
@media (min-width:1024px){
  h1,.hero h1,.article h1,.article.p0 h1,.p0-hero h1{font-size:var(--t-fs-48)}
  main h2,.section-title,.article-body h2,.article.p0 h2,.p0-faq-block h2,.p0-dl-zone h2,.final-cta h2,.step-panel h2{font-size:var(--t-fs-32)}
}

/* ---------- M2 正文与小字归档 ---------- */
body{font-size:var(--t-fs-16); line-height:var(--t-lh-body)}
button{font:inherit}                       /* .tab-btn/.copy-btn 现为 13.333px Arial */
.lead,.hero .lead,.article .lead,.p0-hero .lead,.article.p0 .lead{font-size:var(--t-fs-16); line-height:var(--t-lh-body)}
@media (min-width:561px){.lead,.hero .lead,.article .lead,.p0-hero .lead,.article.p0 .lead{font-size:var(--t-fs-18)}}
.article.p0 p,.article.p0 li,.section-desc,.preflight-card p,.p0-steps .step p,.p0-pf-card li,
.p0-compare .card p,.p0-compare .card li,.p2-ios-card .body,
.invite-inline,.invite-inline strong,.trust-pill b,.preflight-title,.float-inner .btn,.tab-btn,
.hero-actions .backup-cta,.faq-grid summary,summary{font-size:var(--t-fs-16)}
.hero-actions .btn{font-size:var(--t-fs-18)}
.reward-main{font-size:var(--t-fs-20)}
.invite-code strong,.why-value,.benefit-card .amount{font-size:var(--t-fs-28)}
@media (min-width:1024px){.invite-code strong,.benefit-card .amount{font-size:var(--t-fs-32)}}
.nav-links,.links,.nav a.link,.nav-cta,.btn-small,.card-actions .btn,.hub-card a,.install-step span,
.hero-step p,.note-list,.aux-links,.lang-menu a,.copy-btn,.lang-current,.mobile-menu .mobile-lang a,
.breadcrumb,.article-meta,.article.p0 .caption,.p0-caption,.benefit-card .cap,.benefit-card .stage,.cta-sub,
.note,.mini-card p,.p0-disclose,.p0-pkg,.p2-ios-card .num,.preflight-links a,figcaption,.p2-ios-fig figcaption,footer,.footer p,.p0-fail-table th,.p0-fail-table td{font-size:var(--t-fs-14)}
.eyebrow,.trust-eyebrow,.tag,.p2-ios-dont .tag,.aff-bar,.aff-note,.aff-full,.qr-box .aff-note,.qr-box span,
.reward-note,.benefit-card .max-tag,.p0-update,.p0-pf-label,.p0-dl-zone .p0-status,.lang-switch a,.brand-sub{font-size:var(--t-fs-12)}

/* ---------- M2 圆角 4 档 ---------- */
.logo-mark,.path-num,.hero-num,.flow-num,.copy-btn,.lang-menu a,.p0-pkg,.qr-pattern,.qr-img,.logo{border-radius:var(--t-r-s)}
.btn,.btn-small,.card-actions .btn,.hamburger,.menu-btn,.preflight-links a,.tab-btn,.install-step,.float-inner .btn,
.hero-actions .btn,details,.faq details,.compare,.official-links a,.check-list li,.p0-disclose,.p2-ios-dont,.p0-dl-zone,
.p0-fail-card,.p0-fail-table,.p1b-funnel,.p0-fig,.p0-pf-card,.p2-ios-card,.p2-ios-fig img,.p2-ios-slot,.quota-callout,.risk-note{border-radius:var(--t-r-m)}
.card,.hero-card,.benefit-card,.hub-card,.invite-code,.lang-menu,.mini-card,.ok,.warning,.p0-faq-block,.path-item,.step,
.risk-box,.cta,.qr-box,.qr-fab,.reward-card,.article-body,.preflight-card,.tradfi-band,.why-card,.final-cta,.step-panel,.callout{border-radius:var(--t-r-l)}
.eyebrow,.tag,.lang-current,.lang-switch a,.mobile-links a,.mobile-menu .mobile-lang a,.benefit-card .max-tag,
.p0-dl-zone .p0-status,.p0-pf-label,.p0-update,.hamburger span,.p0-steps .step b,.step b{border-radius:var(--t-r-pill)}

/* ---------- M2 阴影 2 档 ---------- */
.card,.hero-card,.benefit-card,.why-card,.preflight-card,.reward-card,.step-panel{box-shadow:var(--t-sh-1)}
.qr-box,.qr-fab,.mobile-menu,.lang-menu{box-shadow:var(--t-sh-2)}
.btn-primary,.btn.primary{box-shadow:none}

/* ---------- M3 正文内链接（只管句子里的链接；导航、按钮、整卡链接不在范围） ---------- */
main :is(p:not(.linkline),li,td,dd,blockquote,figcaption,.install-step span) a:not(.btn,[class*="btn"],.official-links a,nav a),
main :is(.callout,.warning,.risk-box,.soft-link:not(.p0-related),.p0-cta-soft) > a,
footer p a,footer p a.small-link{
  color:var(--t-link);
  text-decoration-line:underline; text-decoration-thickness:1px; text-underline-offset:3px;
  text-decoration-color:var(--t-link-line);
}
main :is(p:not(.linkline),li,td,dd,blockquote,figcaption,.install-step span) a:not(.btn,[class*="btn"],.official-links a,nav a):visited,
main :is(.callout,.warning,.risk-box,.soft-link:not(.p0-related),.p0-cta-soft) > a:visited,
footer p a:visited,footer p a.small-link:visited{color:var(--t-link)}
main :is(p:not(.linkline),li,td,dd,blockquote,figcaption,.install-step span) a:not(.btn,[class*="btn"],.official-links a,nav a):hover,
main :is(.callout,.warning,.risk-box,.soft-link:not(.p0-related),.p0-cta-soft) > a:hover,
footer p a:hover,footer p a.small-link:hover{color:var(--t-link-hover); text-decoration-color:currentColor; text-decoration-thickness:2px}
a:focus-visible,button:focus-visible,summary:focus-visible{outline:2px solid var(--t-focus); outline-offset:2px; border-radius:4px}

/* ---------- M7 孤字：pretty 只对块级容器生效 ---------- */
main :is(p,li,dd,figcaption,blockquote,summary,td,th),
.install-step,.section-desc,.lead,.note,.p0-disclose,.trust-line,.hero-step p,.mini-card p{text-wrap:pretty}
main h2,main h3,.section-title,.final-cta h2,summary{text-wrap:balance}
/* ===== mustfix7 · 第 2 批：M1 H1 断词 + M4 点按区域 + M6 窄屏表格 ===== */

/* ---------- M1 H1 不在词中间断 ---------- */
h1,.hero h1,.article h1,.article.p0 h1,.p0-hero h1{
  text-wrap:balance;            /* 各行长度接近，减少“末行一两个字” */
  word-break:keep-all;          /* 汉字之间不随便断，只在空格、标点处换行 */
  overflow-wrap:anywhere;       /* 兜底：一段不含空格/标点的字比整行还长时才硬断，防止横向溢出 */
  line-break:strict;            /* 行首不出现 ）」、。 等禁则标点 */
  white-space:normal;
  max-width:20em;
}
/* 居中的 Hero（zhuce 首页 .hero-inner、bian.one 首页类 .hero）让 max-width 后仍居中 */
.hero-inner h1,.hero:not(.p0-hero) > .container > h1{margin-left:auto; margin-right:auto}

/* M1 补偿：H1 字号/断行调整后，bianzhuce.vip 子页（main > .container > .hero）在 360 宽首屏仍放得下主 CTA。只动间距。 */
@media(max-width:560px){
  main > .container > .hero{padding-top:24px}
  main > .container > .hero h1{margin-bottom:12px}
  main > .container > .hero .lead{margin-bottom:16px}
  main > .container > .hero .hero-card{padding:20px}
}

/* ---------- M4 移动端点按区域 ≥44×44 ---------- */
@media (max-width:900px){
  header .btn,header .btn-small{min-height:var(--t-tap)}
  a.logo{min-height:var(--t-tap)}
  .hamburger{width:var(--t-tap); height:var(--t-tap)}
  .hub-card a{display:flex; align-items:center; min-height:var(--t-tap); padding-top:4px; padding-bottom:4px}
  .preflight-links a,.card-actions .btn,.btn-small,.copy-btn{min-height:var(--t-tap); min-width:var(--t-tap)}
  .footer-links a{display:inline-flex; align-items:center; min-height:var(--t-tap); min-width:var(--t-tap)}
  .mobile-menu .mobile-lang a,.mobile-links a{display:inline-flex; align-items:center; justify-content:center; min-height:var(--t-tap); min-width:var(--t-tap)}
  /* 句中/行内的小链接：用“内边距 + 等量负外边距”扩大点按区，不改变排版 */
  .breadcrumb a,div.muted > a,.section-head .small-link,.soft-link a{display:inline-block; padding:11px 8px; margin:-11px -8px}
  .related a,.p0-related a,.linkline a,a.linkline{display:inline-flex; align-items:center; min-height:var(--t-tap); min-width:var(--t-tap)}
  .academy-list a{display:flex; align-items:center; min-height:var(--t-tap); border-top:1px solid var(--line)}
  summary{min-height:var(--t-tap)}
  .faq details{padding-top:0; padding-bottom:0}
  .faq summary{padding:10px 0}
  .faq details p{margin:0 0 14px}
}

/* ---------- M6 窄屏表格：横向滚动容器 + 无字滚动提示 ---------- */
.table-wrap,table.diff,.compare{
  background:
    linear-gradient(to right,var(--t-bg) 30%,rgba(11,14,17,0)) left center/24px 100% no-repeat local,
    linear-gradient(to left,var(--t-bg) 30%,rgba(11,14,17,0)) right center/24px 100% no-repeat local,
    radial-gradient(farthest-side at 0 50%,rgba(240,185,11,.35),transparent) left center/12px 100% no-repeat scroll,
    radial-gradient(farthest-side at 100% 50%,rgba(240,185,11,.35),transparent) right center/12px 100% no-repeat scroll;
}
.table-wrap table.diff{background:none}
@media (max-width:560px){
  .table-wrap{overflow-x:auto; -webkit-overflow-scrolling:touch; overscroll-behavior-x:contain}
  table.diff:not(.table-wrap table.diff){display:block; overflow-x:auto; -webkit-overflow-scrolling:touch}
  table.diff,.compare{font-size:var(--t-fs-14)}
  table.diff th,table.diff td,.compare th,.compare td{
    padding:10px 12px; min-width:18em; overflow-wrap:normal; word-break:normal; line-height:1.6;
  }
  table.diff th:first-child,table.diff td:first-child,.compare th:first-child,.compare td:first-child{min-width:6em; width:auto}
}
@media (max-width:640px){
  .compare{display:block; overflow-x:auto; -webkit-overflow-scrolling:touch}
}

/* bian.one 卡片化表格（.p0-fail-cards）在 360 宽被 <code> 撑出 12px 横向溢出 */
.p0-fail-cards{grid-template-columns:minmax(0,1fr)}
.p0-fail-card code{overflow-wrap:anywhere}
/* ===== mustfix7 · 第 3 批：M5 页头统一（默认方案：只改样式，不增删任何导航项/文字） ===== */
.container{max-width:var(--t-max); padding-left:20px; padding-right:20px}
@media (max-width:560px){.container{padding-left:16px; padding-right:16px}}

header .container.nav{max-width:var(--t-max); height:auto; min-height:68px; column-gap:24px}
@media (max-width:900px){header .container.nav{min-height:60px}}

/* bianzhuce.vip 三套页头 */
a.logo{font-size:var(--t-fs-18); font-weight:800; gap:10px; display:inline-flex; align-items:center}
a.logo .logo-mark{width:30px; height:30px; flex:0 0 30px}
.nav-links,.nav a.link{font-size:var(--t-fs-14); gap:24px}
header .btn,header .btn-small{min-height:40px; padding:8px 16px; font-size:var(--t-fs-14); border-radius:var(--t-r-m)}
@media (max-width:900px){header .btn,header .btn-small{min-height:var(--t-tap)}}

/* bian.one 页头（同尺寸体系） */
.brand-title{font-size:var(--t-fs-20); line-height:1.2}
.brand-sub{font-size:var(--t-fs-12); line-height:1.5}
.menu-btn{width:var(--t-tap); height:var(--t-tap); font-size:var(--t-fs-24); border-radius:var(--t-r-m)}
