/* roulang page: index */
:root{
    --brand:#1B6BE0;
    --brand-dark:#0D3F8F;
    --brand-soft:#EAF1FD;
    --racing:#FF6B2B;
    --racing-dark:#E85A1B;
    --state:#12B8A6;
    --page:#F6F8FB;
    --card:#FFFFFF;
    --line:#EDF1F7;
    --stroke:#E6ECF4;
    --ink:#101828;
    --bodyink:#475467;
    --muted:#8C9AAB;
    --danger:#D92D20;
    --r-sm:8px;
    --r-md:10px;
    --r-lg:16px;
    --r-xl:20px;
    --shadow-card:0 1px 2px rgba(16,24,40,.04), 0 8px 24px -12px rgba(27,107,224,.12);
    --shadow-hover:0 12px 32px -12px rgba(27,107,224,.22);
  }

  *,*::before,*::after{ box-sizing:border-box; }

  html.site-root{ -webkit-text-size-adjust:100%; }

  html.site-root body,
  body.site-body{
    margin:0;
    font-family:"PingFang SC","Microsoft YaHei","Hiragino Sans GB","Source Han Sans SC",system-ui,-apple-system,"Segoe UI",sans-serif;
    font-size:16px;
    line-height:1.75;
    color:var(--bodyink);
    background:var(--page);
    -webkit-font-smoothing:antialiased;
  }

  h1,h2,h3,h4{ margin:0; color:var(--ink); font-weight:700; letter-spacing:-.02em; line-height:1.25; }
  p{ margin:0; }
  ul{ margin:0; padding:0; list-style:none; }
  img{ display:block; max-width:100%; height:auto; }
  a{ color:inherit; text-decoration:none; }
  button{ font-family:inherit; cursor:pointer; }

  :focus-visible{ outline:2px solid var(--brand); outline-offset:2px; border-radius:6px; }

  .container-x{ width:100%; max-width:1200px; margin:0 auto; padding-left:20px; padding-right:20px; }
  @media (min-width:768px){ .container-x{ padding-left:32px; padding-right:32px; } }

  .section-y{ padding-top:64px; padding-bottom:64px; }
  @media (min-width:768px){ .section-y{ padding-top:96px; padding-bottom:96px; } }

  .eyebrow{ font-size:12px; font-weight:600; letter-spacing:.12em; color:var(--brand); }
  .lead{ font-size:16px; line-height:1.8; color:var(--bodyink); }
  .meta-text{ font-size:13px; color:var(--muted); }

  /* ---------- 按钮 ---------- */
  .btn{ display:inline-flex; align-items:center; justify-content:center; gap:8px;
    height:48px; padding:0 24px; border-radius:var(--r-md); font-size:15px; font-weight:600;
    border:1px solid transparent; transition:background-color .2s ease-out, color .2s ease-out,
    box-shadow .2s ease-out, transform .2s ease-out, border-color .2s ease-out; white-space:nowrap; }
  .btn:active{ transform:scale(.99); }
  .btn-primary{ background:var(--racing); color:#fff; box-shadow:0 8px 20px -12px rgba(255,107,43,.9); }
  .btn-primary:hover{ background:var(--racing-dark); box-shadow:0 12px 26px -12px rgba(255,107,43,.95); }
  .btn-outline{ background:#fff; color:var(--brand); border-color:#CBDDF8; }
  .btn-outline:hover{ background:var(--brand-soft); border-color:var(--brand); }
  .btn-soft{ background:var(--brand-soft); color:var(--brand-dark); }
  .btn-soft:hover{ background:#DDE9FB; }
  .btn-sm{ height:40px; padding:0 18px; font-size:14px; }
  .btn-block{ width:100%; }
  @media (max-width:640px){ .btn{ min-height:48px; } }

  .text-link{ color:var(--brand); font-size:14px; font-weight:600; display:inline-flex; align-items:center; gap:6px; }
  .text-link:hover{ color:var(--brand-dark); text-decoration:underline; text-underline-offset:4px; }
  .text-link svg{ transition:transform .2s ease-out; }
  .text-link:hover svg{ transform:translateX(3px); }

  /* ---------- 徽章 / 标签 ---------- */
  .badge{ display:inline-flex; align-items:center; gap:6px; font-size:12px; font-weight:600;
    padding:4px 10px; border-radius:999px; line-height:1.5; }
  .badge-brand{ background:var(--brand-soft); color:var(--brand); }
  .badge-state{ background:#E3F7F4; color:#0B8E80; }
  .badge-gray{ background:#F2F5F9; color:#5B6B7F; }
  .badge-racing{ background:#FFF0E8; color:#D9561A; }

  /* ---------- 导航 ---------- */
  .site-header{ position:sticky; top:0; z-index:50; padding:12px 0; background:rgba(246,248,251,.92);
    backdrop-filter:saturate(1.2) blur(6px); transition:padding .2s ease-out, box-shadow .2s ease-out; }
  .site-header.is-scrolled{ padding:6px 0; }
  .nav-panel{ display:flex; align-items:center; justify-content:space-between; gap:16px;
    background:#fff; border:1px solid var(--stroke); border-radius:var(--r-lg);
    box-shadow:var(--shadow-card); padding:10px 14px; transition:box-shadow .2s ease-out; }
  .site-header.is-scrolled .nav-panel{ box-shadow:var(--shadow-hover); }
  .brand{ display:flex; align-items:center; gap:10px; flex-shrink:0; }
  .brand-mark{ width:28px; height:28px; border-radius:9px; background:var(--brand); color:#fff;
    display:flex; align-items:center; justify-content:center; flex-shrink:0; }
  .brand-name{ font-size:17px; font-weight:700; letter-spacing:-.01em; color:var(--ink); line-height:1.2; }
  .brand-sub{ font-size:11px; color:var(--muted); letter-spacing:.08em; }
  .nav-list{ display:none; align-items:center; gap:8px; }
  @media (min-width:1024px){ .nav-list{ display:flex; } }
  .nav-chip{ display:inline-flex; align-items:center; gap:8px; height:40px; padding:0 12px;
    border-radius:var(--r-chip); border:1px solid transparent; font-size:14px; font-weight:600;
    color:var(--bodyink); position:relative; transition:background-color .2s ease-out, color .2s ease-out, border-color .2s ease-out; }
  .nav-chip svg{ color:var(--muted); transition:color .2s ease-out; }
  .nav-chip:hover{ background:var(--brand-soft); color:var(--brand-dark); }
  .nav-chip:hover svg{ color:var(--brand); }
  .nav-chip.is-active{ background:#fff; border-color:#BFD7F7; color:var(--brand); }
  .nav-chip.is-active svg{ color:var(--brand); }
  .nav-chip.is-active::before{ content:""; position:absolute; left:12px; right:12px; top:-1px; height:2px;
    background:var(--brand); border-radius:2px; }
  .nav-actions{ display:flex; align-items:center; gap:10px; }
  .nav-cta{ display:none; }
  @media (min-width:1024px){ .nav-cta{ display:inline-flex; } }
  .burger{ width:40px; height:40px; border-radius:var(--r-chip); border:1px solid var(--stroke);
    background:#fff; display:flex; align-items:center; justify-content:center; color:var(--bodyink); }
  @media (min-width:1024px){ .burger{ display:none; } }
  .burger:hover{ background:var(--brand-soft); color:var(--brand); }

  .drawer{ position:fixed; inset:0; z-index:60; display:none; }
  .drawer.is-open{ display:block; }
  .drawer-mask{ position:absolute; inset:0; background:rgba(16,24,40,.45); }
  .drawer-panel{ position:absolute; top:0; right:0; width:min(360px,88vw); height:100%; background:#fff;
    padding:20px; display:flex; flex-direction:column; gap:16px; box-shadow:-16px 0 40px -24px rgba(16,24,40,.4); overflow-y:auto; }
  .drawer-item{ display:flex; align-items:center; justify-content:space-between; gap:12px; padding:14px;
    border:1px solid var(--stroke); border-radius:var(--r-md); font-size:15px; font-weight:600; color:var(--ink); }
  .drawer-item svg:first-child{ color:var(--brand); }
  .drawer-item.is-active{ border-color:#BFD7F7; background:var(--brand-soft); color:var(--brand-dark); }

  /* ---------- Hero ---------- */
  .hero{ position:relative; overflow:hidden; background:
      radial-gradient(900px 420px at 82% -10%, #E4EEFD 0%, rgba(246,248,251,0) 70%), var(--page); }
  .hero-title{ font-size:clamp(28px,4.4vw,44px); line-height:1.2; }
  .hero-sub{ font-size:16px; line-height:1.85; color:var(--bodyink); max-width:520px; }
  .hero-media{ border-radius:var(--r-xl); background:var(--brand-soft); padding:18px; border:1px solid #DCE8FA; }
  .hero-shot{ border-radius:var(--r-lg); border:1px solid #fff; box-shadow:0 18px 40px -24px rgba(13,63,143,.45); overflow:hidden; background:#fff; }
  .dot-sep{ display:flex; flex-wrap:wrap; align-items:center; gap:8px; font-size:13px; color:var(--muted); }
  .dot-sep i{ width:4px; height:4px; border-radius:50%; background:#C6D2E1; display:inline-block; }

  /* ---------- 卡片 ---------- */
  .card{ background:#fff; border:1px solid var(--stroke); border-radius:var(--r-lg); box-shadow:var(--shadow-card);
    transition:transform .2s ease-out, box-shadow .2s ease-out, border-color .2s ease-out; }
  .card:hover{ transform:translateY(-2px); box-shadow:var(--shadow-hover); }
  .card-pad{ padding:24px; }
  .icon-box{ width:44px; height:44px; border-radius:12px; background:var(--brand-soft); color:var(--brand);
    display:flex; align-items:center; justify-content:center; }
  .card h3{ font-size:19px; line-height:1.4; }
  .card p{ font-size:14.5px; line-height:1.8; color:var(--bodyink); }

  .bento-big{ grid-column:span 1; }
  @media (min-width:1024px){ .bento-big{ grid-column:span 2; } }

  /* ---------- 轮播 ---------- */
  .rail-wrap{ position:relative; }
  .rail{ display:flex; gap:20px; overflow-x:auto; scroll-snap-type:x mandatory; padding:4px 4px 8px;
    scrollbar-width:none; -ms-overflow-style:none; }
  .rail::-webkit-scrollbar{ display:none; }
  .rail-item{ flex:0 0 86vw; scroll-snap-align:start; }
  @media (min-width:640px){ .rail-item{ flex-basis:44%; } }
  @media (min-width:1024px){ .rail-item{ flex-basis:calc((100% - 40px) / 2.5); } }
  .rail-shot{ border-radius:var(--r-lg); overflow:hidden; border:1px solid var(--stroke); background:#fff; box-shadow:var(--shadow-card); }
  .rail-shot img{ aspect-ratio:16 / 10; object-fit:cover; width:100%; }
  .rail-btn{ width:40px; height:40px; border-radius:50%; background:#fff; border:1px solid var(--stroke);
    display:flex; align-items:center; justify-content:center; color:var(--brand); box-shadow:var(--shadow-card); }
  .rail-btn:hover{ background:var(--brand-soft); }
  .rail-dot{ width:8px; height:8px; border-radius:999px; background:#C6D2E1; border:none; padding:0; transition:width .2s ease-out, background-color .2s ease-out; }
  .rail-dot.is-active{ width:22px; background:var(--brand); }

  /* ---------- 规格键值 ---------- */
  .spec-row{ display:flex; align-items:center; justify-content:space-between; gap:16px; padding:12px 0; border-bottom:1px solid var(--line); }
  .spec-row:last-child{ border-bottom:none; }
  .spec-key{ font-size:13.5px; color:var(--muted); }
  .spec-val{ font-size:14px; font-weight:600; color:var(--ink); font-variant-numeric:tabular-nums; }

  /* ---------- 评价墙 ---------- */
  .quote-card{ background:#fff; border:1px solid var(--stroke); border-radius:var(--r-lg); padding:22px;
    box-shadow:var(--shadow-card); transition:transform .2s ease-out, box-shadow .2s ease-out; }
  .quote-card:hover{ transform:translateY(-2px); box-shadow:var(--shadow-hover); }
  .avatar{ width:36px; height:36px; border-radius:999px; background:var(--brand-soft); color:var(--brand-dark);
    font-size:14px; font-weight:700; display:flex; align-items:center; justify-content:center; }
  .stars{ display:flex; gap:2px; color:var(--racing); }
  @media (min-width:1024px){ .quote-col-offset{ margin-top:32px; } }

  /* ---------- 最新信息 ---------- */
  .news-card{ display:flex; flex-direction:column; gap:12px; padding:22px; background:#fff;
    border:1px solid var(--stroke); border-radius:var(--r-lg); box-shadow:var(--shadow-card);
    transition:transform .2s ease-out, box-shadow .2s ease-out, border-color .2s ease-out; height:100%; }
  .news-card:hover{ transform:translateY(-2px); box-shadow:var(--shadow-hover); border-color:#D6E4F8; }
  .news-card h3{ font-size:16.5px; line-height:1.5; display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; }
  .news-card:hover h3{ color:var(--brand); }
  .news-card p{ font-size:14px; line-height:1.8; color:var(--bodyink); display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; }
  .news-meta{ display:flex; align-items:center; justify-content:space-between; gap:12px; margin-top:auto; padding-top:12px; border-top:1px solid var(--line); }
  .empty-box{ border:1.5px dashed var(--stroke); border-radius:var(--r-lg); min-height:180px;
    display:flex; flex-direction:column; align-items:center; justify-content:center; gap:12px; background:#fff; text-align:center; padding:24px; }

  /* ---------- 下载转化块 ---------- */
  .download-block{ background:var(--brand-soft); border:1px solid #D8E6FA; border-radius:var(--r-xl); padding:28px; }
  .qr-box{ width:120px; height:120px; background:#fff; border:1px solid var(--stroke); border-radius:12px;
    position:relative; display:flex; align-items:center; justify-content:center; color:var(--brand); flex-shrink:0; }
  .qr-box::before,.qr-box::after{ content:""; position:absolute; width:14px; height:14px; border:2px solid var(--brand); }
  .qr-box::before{ top:8px; left:8px; border-right:none; border-bottom:none; border-top-left-radius:4px; }
  .qr-box::after{ bottom:8px; right:8px; border-left:none; border-top:none; border-bottom-right-radius:4px; }
  .dl-btn{ display:flex; align-items:center; gap:12px; background:#fff; border:1px solid var(--stroke);
    border-radius:var(--r-md); padding:12px 16px; min-height:48px; transition:border-color .2s ease-out, box-shadow .2s ease-out, transform .2s ease-out; }
  .dl-btn:hover{ border-color:#BFD7F7; box-shadow:var(--shadow-card); transform:translateY(-1px); }
  .dl-btn strong{ display:block; font-size:15px; font-weight:600; color:var(--ink); }
  .dl-btn span{ font-size:12px; color:var(--muted); }

  /* ---------- FAQ ---------- */
  .faq-list{ background:#fff; border:1px solid var(--stroke); border-radius:var(--r-lg); overflow:hidden; box-shadow:var(--shadow-card); }
  .faq-item{ border-bottom:1px solid var(--line); position:relative; }
  .faq-item:last-child{ border-bottom:none; }
  .faq-item::before{ content:""; position:absolute; left:0; top:0; bottom:0; width:3px; background:var(--brand);
    opacity:0; transition:opacity .2s ease-out; }
  .faq-item.is-open::before{ opacity:1; }
  .faq-q{ width:100%; display:flex; align-items:center; justify-content:space-between; gap:16px;
    padding:20px 22px; background:transparent; border:none; text-align:left; font-size:16px; font-weight:600; color:var(--ink); }
  .faq-q:hover{ color:var(--brand); }
  .faq-sign{ color:var(--brand); font-size:20px; line-height:1; flex-shrink:0; transition:transform .2s ease-out; }
  .faq-item.is-open .faq-sign{ transform:rotate(45deg); }
  .faq-a{ display:none; padding:0 22px 22px; font-size:15px; line-height:1.8; color:var(--bodyink); }
  .faq-item.is-open .faq-a{ display:block; }

  /* ---------- CTA 条 ---------- */
  .cta-band{ background:#fff; border:1px solid var(--stroke); border-radius:var(--r-xl); padding:32px;
    box-shadow:var(--shadow-card); }

  /* ---------- 页脚 ---------- */
  .site-footer{ background:#F1F5FA; border-top:1px solid var(--stroke); margin-top:8px; }
  .footer-grid{ display:grid; gap:32px; }
  @media (min-width:768px){ .footer-grid{ grid-template-columns:repeat(2,minmax(0,1fr)); } }
  @media (min-width:1024px){ .footer-grid{ grid-template-columns:1.4fr 1fr 1fr 1fr; } }
  .footer-title{ font-size:14px; font-weight:700; color:var(--ink); letter-spacing:.02em; }
  .footer-link{ display:inline-flex; align-items:center; gap:6px; font-size:14px; color:var(--bodyink); padding:5px 0; }
  .footer-link:hover{ color:var(--brand); text-decoration:underline; text-underline-offset:4px; }
  .footer-bottom{ border-top:1px solid var(--stroke); font-size:12px; color:var(--muted); }
  .footer-qr{ width:104px; height:104px; border-radius:12px; background:#fff; border:1px solid var(--stroke);
    display:flex; align-items:center; justify-content:center; color:var(--brand); }

  @media (prefers-reduced-motion: reduce){
    *{ transition:none !important; animation:none !important; }
  }

/* roulang page: article */
:root{
  --cloud:#1B6BE0;
  --cloud-deep:#0D3F8F;
  --cloud-soft:#EAF1FD;
  --racing:#FF6B2B;
  --racing-deep:#F05A18;
  --status:#12B8A6;
  --status-deep:#0B8C7E;
  --page:#F6F8FB;
  --card:#FFFFFF;
  --line:#EDF1F7;
  --stroke:#E6ECF4;
  --ink:#101828;
  --bodyink:#475467;
  --muted:#8C9AAB;
  --danger:#D92D20;
  --r-sm:8px;
  --r-md:10px;
  --r-card:16px;
  --r-big:20px;
  --r-pill:999px;
  --shadow-card:0 1px 2px rgba(16,24,40,.04), 0 8px 24px -12px rgba(27,107,224,.12);
  --shadow-lift:0 12px 32px -12px rgba(27,107,224,.22);
  --font-cn:"PingFang SC","Microsoft YaHei","Hiragino Sans GB","Source Han Sans SC",system-ui,sans-serif;
}
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth;font-family:var(--font-cn)}
body{
  margin:0;
  font-family:var(--font-cn);
  font-size:16px;
  line-height:1.75;
  color:var(--bodyink);
  background:var(--page);
  -webkit-font-smoothing:antialiased;
}
img{max-width:100%;height:auto;display:block}
a{color:var(--cloud);text-decoration:none;transition:color .18s ease}
a:hover{color:var(--cloud-deep);text-decoration:underline}
button{font-family:inherit;font-size:inherit;cursor:pointer}
h1,h2,h3,h4{color:var(--ink);margin:0;font-weight:700;letter-spacing:-.02em;line-height:1.3}
p{margin:0}
ul,ol{margin:0;padding:0;list-style:none}
:focus-visible{outline:2px solid var(--cloud);outline-offset:2px;border-radius:6px}
.container-x{width:100%;max-width:1200px;margin:0 auto;padding-left:20px;padding-right:20px}
@media (min-width:768px){.container-x{padding-left:32px;padding-right:32px}}

/* ============ 导航 ============ */
.site-header{position:sticky;top:0;z-index:50;padding:12px 0;background:var(--page);transition:padding .2s ease}
.site-header.is-scrolled{padding:6px 0}
.nav-panel{
  display:flex;align-items:center;gap:14px;
  background:var(--card);border:1px solid var(--stroke);border-radius:var(--r-card);
  box-shadow:var(--shadow-card);padding:8px 14px;transition:box-shadow .2s ease;
}
.site-header.is-scrolled .nav-panel{box-shadow:var(--shadow-lift)}
.brand{display:inline-flex;align-items:center;gap:10px;color:var(--ink);flex:0 0 auto}
.brand:hover{color:var(--cloud-deep);text-decoration:none}
.brand-mark{
  width:32px;height:32px;border-radius:var(--r-md);background:var(--cloud-soft);color:var(--cloud);
  display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto;
}
.brand-name{font-size:17px;font-weight:700;letter-spacing:-.01em;white-space:nowrap}
.brand-short{display:none;font-size:16px;font-weight:700;white-space:nowrap}
.nav-list{display:flex;align-items:center;gap:6px;margin:0 auto}
.nav-chip{
  position:relative;display:inline-flex;align-items:center;gap:8px;height:40px;padding:0 12px;
  border-radius:var(--r-md);font-size:14px;font-weight:600;color:var(--bodyink);
  transition:background-color .18s ease,color .18s ease;
}
.nav-chip svg{color:var(--muted);transition:color .18s ease;flex:0 0 auto}
.nav-chip:hover{background:var(--cloud-soft);color:var(--cloud);text-decoration:none}
.nav-chip:hover svg{color:var(--cloud)}
.nav-chip.is-active{color:var(--cloud);background:var(--cloud-soft)}
.nav-chip.is-active svg{color:var(--cloud)}
.nav-chip.is-active::before{
  content:"";position:absolute;top:-1px;left:12px;right:12px;height:2px;
  background:var(--cloud);border-radius:2px;
}
.nav-actions{margin-left:auto;display:flex;align-items:center;gap:10px}
.nav-toggle{
  display:none;width:40px;height:40px;border-radius:var(--r-md);border:1px solid var(--stroke);
  background:#fff;color:var(--ink);align-items:center;justify-content:center;transition:background-color .18s ease;
}
.nav-toggle:hover{background:var(--cloud-soft)}

/* 抽屉 */
.nav-drawer{position:fixed;inset:0;z-index:80;display:none}
.nav-drawer.is-open{display:block}
.nav-drawer-backdrop{position:absolute;inset:0;background:rgba(16,24,40,.4)}
.nav-drawer-panel{
  position:absolute;top:0;right:0;bottom:0;width:min(340px,88vw);background:#fff;
  padding:18px 18px 24px;display:flex;flex-direction:column;gap:10px;overflow-y:auto;
  box-shadow:-16px 0 40px -20px rgba(16,24,40,.35);
}
.drawer-head{display:flex;align-items:center;gap:10px;padding-bottom:14px;border-bottom:1px solid var(--line)}
.drawer-close{
  margin-left:auto;width:36px;height:36px;border-radius:var(--r-md);border:1px solid var(--stroke);
  background:#fff;color:var(--bodyink);display:inline-flex;align-items:center;justify-content:center;
}
.drawer-close:hover{background:var(--cloud-soft);color:var(--cloud)}
.drawer-list{display:flex;flex-direction:column;gap:8px;margin-top:6px}
.drawer-item{
  display:flex;align-items:center;gap:10px;min-height:48px;padding:0 12px;border:1px solid var(--stroke);
  border-radius:var(--r-md);color:var(--ink);font-size:15px;font-weight:600;background:#fff;
}
.drawer-item svg:first-child{color:var(--cloud)}
.drawer-item svg:last-child{margin-left:auto;color:var(--muted)}
.drawer-item:hover{background:var(--cloud-soft);border-color:#D7E6FB;text-decoration:none;color:var(--cloud)}
.drawer-item.is-active{background:var(--cloud-soft);border-color:#C9DEFB;color:var(--cloud)}

/* ============ 按钮与徽章 ============ */
.btn{
  display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:48px;padding:0 22px;
  border-radius:var(--r-md);font-size:15px;font-weight:600;border:1px solid transparent;white-space:nowrap;
  transition:background-color .2s ease,color .2s ease,border-color .2s ease,box-shadow .2s ease,transform .15s ease;
}
.btn:hover{text-decoration:none}
.btn:active{transform:scale(.99)}
.btn-primary{background:var(--racing);color:#fff;box-shadow:0 8px 20px -12px rgba(255,107,43,.75)}
.btn-primary:hover{background:var(--racing-deep);color:#fff}
.btn-outline{background:#fff;color:var(--cloud);border-color:var(--stroke);box-shadow:var(--shadow-card)}
.btn-outline:hover{border-color:var(--cloud);color:var(--cloud-deep)}
.btn-ghost{background:transparent;color:var(--cloud);border-color:transparent;padding:0 8px;min-height:40px}
.btn-ghost:hover{color:var(--cloud-deep);text-decoration:underline}
.btn-sm{min-height:40px;padding:0 16px;font-size:14px}
.btn-block{width:100%}
.badge{display:inline-flex;align-items:center;gap:6px;font-size:12px;font-weight:600;line-height:1.5;padding:4px 10px;border-radius:var(--r-pill);white-space:nowrap}
.badge-blue{background:var(--cloud-soft);color:var(--cloud-deep)}
.badge-teal{background:rgba(18,184,166,.13);color:var(--status-deep)}
.badge-gray{background:#F2F4F7;color:var(--bodyink)}
.tag{display:inline-flex;align-items:center;font-size:12px;padding:4px 10px;border-radius:var(--r-pill);background:#F2F4F7;color:#475467}
.tag:hover{background:var(--cloud-soft);color:var(--cloud-deep);text-decoration:none}

/* ============ 通用板块 ============ */
.section{padding:56px 0}
@media (min-width:768px){.section{padding:80px 0}}
.card{
  background:var(--card);border:1px solid var(--stroke);border-radius:var(--r-card);
  box-shadow:var(--shadow-card);transition:box-shadow .2s ease,transform .2s ease;
}
.card-hover:hover{box-shadow:var(--shadow-lift);transform:translateY(-2px)}
.section-head{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:12px;margin-bottom:24px}
.section-title{font-size:26px;line-height:1.35}
@media (min-width:768px){.section-title{font-size:28px}}
.section-sub{font-size:14px;color:var(--muted);margin-top:8px;max-width:640px}
.eyebrow{display:inline-flex;align-items:center;gap:8px;font-size:12px;font-weight:600;color:var(--cloud-deep);background:var(--cloud-soft);border-radius:var(--r-pill);padding:4px 12px;letter-spacing:.02em}
.divider{height:1px;background:var(--line);border:0;margin:0}

/* ============ 面包屑 ============ */
.crumb{display:flex;flex-wrap:wrap;align-items:center;gap:8px;font-size:14px;color:var(--muted);padding-top:12px}
.crumb a{color:var(--bodyink)}
.crumb a:hover{color:var(--cloud)}
.crumb-sep{color:#C7D2E0}
.crumb-now{color:var(--muted);max-width:min(560px,70vw);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;display:inline-block;vertical-align:bottom}

/* ============ 文章主体 ============ */
.article-shell{padding-top:20px;padding-bottom:24px}
.article-layout{display:grid;grid-template-columns:minmax(0,1fr);gap:32px;margin-top:20px}
@media (min-width:1024px){
  .article-layout{grid-template-columns:minmax(0,8fr) minmax(0,4fr);gap:40px;align-items:start}
}
.article-main{background:#fff;border:1px solid var(--stroke);border-radius:var(--r-big);box-shadow:var(--shadow-card);padding:24px 20px 32px}
@media (min-width:768px){.article-main{padding:36px 40px 44px}}
.article-title{font-size:clamp(24px,3.4vw,34px);line-height:1.3;letter-spacing:-.02em}
.article-meta{display:flex;flex-wrap:wrap;align-items:center;gap:10px;font-size:13px;color:var(--muted);margin-top:16px;padding-bottom:18px;border-bottom:1px solid var(--line)}
.article-meta .meta-item{display:inline-flex;align-items:center;gap:6px}
.meta-dot{width:3px;height:3px;border-radius:50%;background:#C7D2E0;display:inline-block}
.article-body{max-width:760px;font-size:16px;line-height:1.85;color:var(--bodyink);padding-top:22px}
.article-body > * + *{margin-top:1.2em}
.article-body h2{font-size:22px;line-height:1.45;padding-left:12px;border-left:4px solid var(--cloud);margin-top:2em;margin-bottom:.8em}
.article-body h3{font-size:18px;line-height:1.5;margin-top:1.7em;margin-bottom:.6em}
.article-body h4{font-size:16px;margin-top:1.4em;margin-bottom:.5em}
.article-body p{margin-top:1.2em}
.article-body ul,.article-body ol{margin-top:1em;padding-left:0}
.article-body ul li{position:relative;padding-left:18px;margin-top:.6em}
.article-body ul li::before{content:"";position:absolute;left:0;top:.72em;width:6px;height:6px;border-radius:2px;background:var(--cloud)}
.article-body ol{counter-reset:item}
.article-body ol li{position:relative;padding-left:26px;margin-top:.6em;counter-increment:item}
.article-body ol li::before{
  content:counter(item);position:absolute;left:0;top:.25em;width:18px;height:18px;border-radius:50%;
  background:var(--cloud-soft);color:var(--cloud-deep);font-size:11px;font-weight:700;display:flex;align-items:center;justify-content:center;
}
.article-body a{color:var(--cloud);text-decoration:underline}
.article-body strong{color:var(--ink)}
.article-body blockquote{
  background:var(--cloud-soft);border-left:3px solid var(--cloud);border-radius:0 var(--r-sm) var(--r-sm) 0;
  padding:14px 18px;color:#344054;font-size:15px;
}
.article-body img{border-radius:12px;margin:1.4em auto;box-shadow:var(--shadow-card)}
.article-body figure{margin:1.6em 0}
.article-body figcaption{font-size:13px;color:var(--muted);text-align:center;margin-top:8px}
.article-body table{width:100%;border-collapse:collapse;font-size:14px;border:1px solid var(--line);border-radius:12px;overflow:hidden}
.article-body th,.article-body td{border-bottom:1px solid var(--line);padding:10px 14px;text-align:left;vertical-align:top}
.article-body thead th{background:#F7F9FC;color:var(--ink);font-weight:600}
.article-body tr:last-child td{border-bottom:0}
.article-body pre{background:#0F1B2D;color:#E6EDF7;border-radius:12px;padding:16px;overflow-x:auto;font-size:13px}

/* 文末区 */
.article-end{margin-top:40px;padding-top:24px;border-top:1px solid var(--line)}
.tag-row{display:flex;flex-wrap:wrap;gap:8px}
.pager-grid{display:grid;grid-template-columns:1fr;gap:14px;margin-top:22px}
@media (min-width:640px){.pager-grid{grid-template-columns:1fr 1fr}}
.pager-card{
  display:block;background:#fff;border:1px solid var(--stroke);border-radius:var(--r-card);padding:16px 18px;
  transition:box-shadow .2s ease,transform .2s ease,border-color .2s ease;
}
.pager-card:hover{box-shadow:var(--shadow-lift);transform:translateY(-2px);border-color:#D7E6FB;text-decoration:none}
.pager-dir{font-size:12px;color:var(--muted);display:inline-flex;align-items:center;gap:6px}
.pager-title{display:block;font-size:15px;font-weight:600;color:var(--ink);margin-top:8px;line-height:1.6}
.pager-card:hover .pager-title{color:var(--cloud)}
.rel-grid{display:grid;grid-template-columns:1fr;gap:18px;margin-top:20px}
@media (min-width:640px){.rel-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
.rel-card{
  display:block;background:#fff;border:1px solid var(--stroke);border-radius:var(--r-card);overflow:hidden;
  box-shadow:var(--shadow-card);transition:box-shadow .2s ease,transform .2s ease;
}
.rel-card:hover{box-shadow:var(--shadow-lift);transform:translateY(-2px);text-decoration:none}
.rel-thumb{width:100%;aspect-ratio:16/10;object-fit:cover;background:var(--cloud-soft)}
.rel-body{padding:14px 16px 16px}
.rel-title{font-size:15px;font-weight:600;color:var(--ink);line-height:1.6;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.rel-card:hover .rel-title{color:var(--cloud)}
.rel-time{font-size:12px;color:var(--muted);margin-top:10px;display:flex;align-items:center;justify-content:space-between;gap:8px}
.back-row{margin-top:24px}
.back-link{display:inline-flex;align-items:center;gap:8px;font-size:14px;font-weight:600}

/* 空态 */
.empty-state{
  border:1.5px dashed var(--stroke);border-radius:var(--r-big);background:#fff;
  padding:48px 24px;display:flex;flex-direction:column;align-items:center;text-align:center;gap:14px;min-height:260px;justify-content:center;
}
.empty-icon{width:84px;height:84px;border-radius:50%;background:var(--cloud-soft);color:var(--cloud);display:flex;align-items:center;justify-content:center}
.empty-state h1{font-size:22px}
.empty-text{font-size:15px;color:var(--bodyink);max-width:420px}

/* ============ 侧栏 ============ */
.article-side{display:flex;flex-direction:column;gap:20px}
@media (min-width:1024px){.article-side{position:sticky;top:96px}}
.side-card{background:#fff;border:1px solid var(--stroke);border-radius:var(--r-card);box-shadow:var(--shadow-card);padding:18px}
.side-title{font-size:15px;font-weight:700;color:var(--ink);display:flex;align-items:center;gap:8px;padding-bottom:12px;border-bottom:1px solid var(--line)}
.side-title svg{color:var(--cloud)}
.cat-list{display:flex;flex-direction:column;gap:8px;margin-top:14px}
.cat-item{
  display:flex;align-items:center;gap:10px;min-height:44px;padding:0 12px;border-radius:var(--r-md);
  border:1px solid var(--stroke);font-size:14px;font-weight:600;color:var(--bodyink);background:#fff;
  transition:background-color .18s ease,border-color .18s ease,color .18s ease;
}
.cat-item svg{color:var(--muted)}
.cat-item:hover{background:var(--cloud-soft);border-color:#D7E6FB;color:var(--cloud);text-decoration:none}
.cat-item:hover svg{color:var(--cloud)}
.cat-item.is-active{background:var(--cloud-soft);border-color:#C9DEFB;color:var(--cloud-deep)}
.cat-item.is-active svg{color:var(--cloud)}
.mini-list{margin-top:6px}
.mini-item{display:block;padding:12px 0;border-bottom:1px solid var(--line)}
.mini-item:last-child{border-bottom:0;padding-bottom:0}
.mini-item:hover{text-decoration:none}
.mini-title{font-size:14px;font-weight:600;color:var(--ink);line-height:1.6;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.mini-item:hover .mini-title{color:var(--cloud)}
.mini-time{font-size:12px;color:var(--muted);margin-top:6px}
.side-cta{background:var(--cloud-soft);border:1px solid #D7E6FB;border-radius:var(--r-card);padding:18px}
.side-cta h3{font-size:16px;margin-bottom:8px}
.side-cta p{font-size:13px;color:var(--bodyink);line-height:1.8}
.side-cta .btn{margin-top:14px}

/* ============ 下载转化块 ============ */
.download-band{
  background:var(--cloud-soft);border:1px solid #DCE9FB;border-radius:var(--r-big);
  padding:28px 22px;display:grid;grid-template-columns:1fr;gap:26px;
}
@media (min-width:900px){.download-band{grid-template-columns:200px minmax(0,1fr);padding:36px 40px;gap:36px;align-items:center}}
.qr-box{
  position:relative;width:160px;height:160px;background:#fff;border:1px solid var(--stroke);border-radius:12px;
  display:flex;align-items:center;justify-content:center;color:var(--cloud);
}
.qr-corner{position:absolute;width:16px;height:16px;border:2px solid var(--cloud);border-radius:3px}
.qr-corner.tl{top:-2px;left:-2px;border-right:0;border-bottom:0}
.qr-corner.tr{top:-2px;right:-2px;border-left:0;border-bottom:0}
.qr-corner.bl{bottom:-2px;left:-2px;border-right:0;border-top:0}
.qr-corner.br{bottom:-2px;right:-2px;border-left:0;border-top:0}
.platform-grid{display:grid;grid-template-columns:1fr;gap:12px;margin-top:18px}
@media (min-width:760px){.platform-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
.platform-btn{
  display:flex;align-items:center;gap:12px;min-height:64px;padding:12px 16px;background:#fff;
  border:1px solid var(--stroke);border-radius:var(--r-card);transition:box-shadow .2s ease,transform .2s ease,border-color .2s ease;
}
.platform-btn:hover{box-shadow:var(--shadow-lift);transform:translateY(-2px);border-color:#D7E6FB;text-decoration:none}
.platform-icon{width:38px;height:38px;border-radius:var(--r-md);background:var(--cloud-soft);color:var(--cloud);display:flex;align-items:center;justify-content:center;flex:0 0 auto}
.platform-name{font-size:15px;font-weight:600;color:var(--ink);display:block}
.platform-note{font-size:12px;color:var(--muted);display:block;margin-top:2px}
.check-row{display:flex;flex-wrap:wrap;align-items:center;gap:8px 18px;margin-top:18px;font-size:13px;color:var(--bodyink)}
.check-row span{display:inline-flex;align-items:center;gap:6px}
.check-row svg{color:var(--status)}

/* ============ FAQ ============ */
.faq-list{background:#fff;border:1px solid var(--stroke);border-radius:var(--r-card);box-shadow:var(--shadow-card);overflow:hidden}
.faq-item{border-bottom:1px solid var(--line)}
.faq-item:last-child{border-bottom:0}
.faq-q{
  width:100%;display:flex;align-items:center;gap:14px;text-align:left;background:transparent;border:0;
  padding:18px 20px;font-size:16px;font-weight:600;color:var(--ink);position:relative;
}
.faq-q:hover{background:#FBFCFE}
.faq-q .faq-sign{margin-left:auto;width:20px;height:20px;flex:0 0 auto;color:var(--cloud);position:relative}
.faq-q .faq-sign::before,.faq-q .faq-sign::after{
  content:"";position:absolute;background:currentColor;border-radius:2px;transition:transform .2s ease;
}
.faq-q .faq-sign::before{left:3px;right:3px;top:9px;height:2px}
.faq-q .faq-sign::after{top:3px;bottom:3px;left:9px;width:2px}
.faq-item.is-open .faq-q .faq-sign::after{transform:scaleY(0)}
.faq-item.is-open .faq-q::before{content:"";position:absolute;left:0;top:14px;bottom:14px;width:3px;background:var(--cloud);border-radius:0 3px 3px 0}
.faq-a{max-height:0;overflow:hidden;transition:max-height .26s ease}
.faq-a-inner{padding:0 20px 20px 20px;font-size:15px;line-height:1.8;color:var(--bodyink)}

/* ============ 底部 CTA ============ */
.cta-band{
  background:#fff;border:1px solid var(--stroke);border-radius:var(--r-big);box-shadow:var(--shadow-card);
  padding:32px 24px;display:grid;grid-template-columns:1fr;gap:22px;
}
@media (min-width:900px){.cta-band{grid-template-columns:minmax(0,1fr) auto;align-items:center;padding:40px 44px}}
.cta-band h2{font-size:24px}
.cta-band p{margin-top:10px;font-size:15px;color:var(--bodyink);max-width:620px}
.cta-actions{display:flex;flex-wrap:wrap;gap:12px}
@media (max-width:640px){.cta-actions .btn{width:100%}}

/* ============ 页脚 ============ */
.site-footer{background:#F1F5FA;border-top:1px solid var(--stroke);margin-top:72px}
.footer-grid{display:grid;grid-template-columns:1fr;gap:30px}
@media (min-width:640px){.footer-grid{grid-template-columns:1fr 1fr}}
@media (min-width:1024px){.footer-grid{grid-template-columns:1.5fr 1fr 1fr 1fr;gap:36px}}
.footer-title{font-size:14px;font-weight:700;color:var(--ink)}
.footer-link{font-size:14px;color:var(--bodyink);line-height:2}
.footer-link:hover{color:var(--cloud)}
.footer-qr{
  width:96px;height:96px;background:#fff;border:1px solid var(--stroke);border-radius:12px;
  display:flex;align-items:center;justify-content:center;color:var(--cloud);
}
.meta-text{font-size:12px;color:var(--muted);line-height:1.8}
.footer-bottom{border-top:1px solid var(--stroke);font-size:12px;color:var(--muted)}

/* ============ 响应式 ============ */
@media (max-width:1023px){
  .nav-list{display:none}
  .nav-toggle{display:inline-flex}
  .nav-actions .btn{display:none}
}
@media (max-width:639px){
  .brand-name{display:none}
  .brand-short{display:inline-block}
  .article-title{font-size:24px}
  .section-title{font-size:22px}
  .qr-box{width:140px;height:140px}
  .footer-bottom{flex-direction:column;gap:8px}
}
@media (max-width:400px){
  .brand-short{font-size:15px}
}

/* roulang page: category1 */
:root{
    --brand:#1B6BE0;
    --brand-deep:#0D3F8F;
    --brand-soft:#EAF1FD;
    --accent:#FF6B2B;
    --accent-deep:#E85A1C;
    --teal:#12B8A6;
    --bg:#F6F8FB;
    --card:#FFFFFF;
    --line:#EDF1F7;
    --border:#E6ECF4;
    --text:#475467;
    --title:#101828;
    --muted:#8C9AAB;
    --danger:#D92D20;
    --r-sm:8px;
    --r-md:10px;
    --r-lg:16px;
    --r-xl:20px;
    --r-pill:999px;
    --shadow-card:0 1px 2px rgba(16,24,40,.04), 0 8px 24px -12px rgba(27,107,224,.12);
    --shadow-hover:0 12px 32px -12px rgba(27,107,224,.22);
    --shadow-nav:0 2px 10px rgba(16,24,40,.05), 0 14px 30px -22px rgba(27,107,224,.35);
    --font-cn:"PingFang SC","Microsoft YaHei","Hiragino Sans GB","Source Han Sans SC",system-ui,-apple-system,"Segoe UI",sans-serif;
    --container:1200px;
  }

  *,*::before,*::after{box-sizing:border-box;}
  html{-webkit-text-size-adjust:100%;scroll-behavior:smooth;}
  body{
    margin:0;
    font-family:var(--font-cn);
    background:var(--bg);
    color:var(--text);
    font-size:16px;
    line-height:1.75;
    -webkit-font-smoothing:antialiased;
    text-rendering:optimizeLegibility;
  }
  h1,h2,h3,h4,p,ul,ol,figure,blockquote{margin:0;}
  ul,ol{list-style:none;padding:0;}
  img{max-width:100%;display:block;}
  button{font-family:inherit;}
  a{color:var(--brand);text-decoration:none;transition:color .2s ease-out;}
  a:hover{color:var(--brand-deep);text-decoration:underline;}
  :focus-visible{outline:2px solid var(--brand);outline-offset:2px;border-radius:4px;}

  .container-x{width:100%;max-width:var(--container);margin:0 auto;padding:0 20px;}
  @media (min-width:768px){.container-x{padding:0 32px;}}

  /* ---------- 顶部卡片化导航 ---------- */
  .site-header{position:sticky;top:0;z-index:50;padding-top:12px;transition:padding .2s ease-out;}
  .site-header.is-scrolled{padding-top:6px;}
  .nav-panel{
    display:flex;align-items:center;gap:16px;
    background:var(--card);border:1px solid var(--border);
    border-radius:var(--r-lg);box-shadow:var(--shadow-nav);
    padding:11px 14px;transition:box-shadow .2s ease-out,padding .2s ease-out;
  }
  .site-header.is-scrolled .nav-panel{padding:8px 14px;box-shadow:0 10px 28px -18px rgba(27,107,224,.45);}
  .brand{display:flex;align-items:center;gap:10px;flex-shrink:0;}
  .brand:hover{text-decoration:none;}
  .brand-mark{
    width:28px;height:28px;border-radius:9px;background:var(--brand-soft);color:var(--brand);
    display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;
  }
  .brand-name{font-size:17px;font-weight:700;letter-spacing:-.01em;color:var(--title);white-space:nowrap;}
  .nav-list{display:none;align-items:center;gap:6px;flex:1;min-width:0;}
  @media (min-width:1024px){.nav-list{display:flex;}}
  .nav-chip{
    position:relative;display:inline-flex;align-items:center;gap:8px;
    height:40px;padding:0 12px;border-radius:var(--r-md);
    font-size:14px;font-weight:600;color:var(--text);
    transition:background .2s ease-out,color .2s ease-out,box-shadow .2s ease-out;
  }
  .nav-chip svg{color:var(--muted);transition:color .2s ease-out;flex-shrink:0;}
  .nav-chip:hover{background:var(--brand-soft);color:var(--brand);text-decoration:none;}
  .nav-chip:hover svg{color:var(--brand);}
  .nav-chip.is-active{color:var(--brand);background:var(--brand-soft);box-shadow:inset 0 0 0 1px rgba(27,107,224,.28);}
  .nav-chip.is-active svg{color:var(--brand);}
  .nav-chip.is-active::before{
    content:"";position:absolute;left:12px;right:12px;top:-2px;height:2px;
    border-radius:2px;background:var(--brand);
  }
  .nav-actions{display:flex;align-items:center;gap:10px;margin-left:auto;}
  .nav-cta{display:none;}
  @media (min-width:640px){.nav-cta{display:inline-flex;}}
  .nav-toggle{
    display:inline-flex;align-items:center;justify-content:center;
    width:40px;height:40px;border-radius:var(--r-md);
    border:1px solid var(--border);background:#fff;color:var(--title);cursor:pointer;
    transition:background .2s ease-out,color .2s ease-out;
  }
  .nav-toggle:hover{background:var(--brand-soft);color:var(--brand);}
  @media (min-width:1024px){.nav-toggle{display:none;}}
  .nav-drawer{
    display:none;margin-top:10px;background:var(--card);border:1px solid var(--border);
    border-radius:var(--r-lg);box-shadow:var(--shadow-card);padding:14px;
  }
  .nav-drawer.is-open{display:block;}
  @media (min-width:1024px){.nav-drawer.is-open{display:none;}}
  .drawer-title{font-size:13px;font-weight:600;color:var(--muted);padding:2px 4px 10px;}
  .drawer-item{
    display:flex;align-items:center;justify-content:space-between;gap:10px;
    min-height:48px;padding:0 12px;border-radius:var(--r-md);
    font-size:15px;font-weight:600;color:var(--text);
  }
  .drawer-item svg{color:var(--muted);flex-shrink:0;}
  .drawer-item:hover{background:var(--brand-soft);color:var(--brand);text-decoration:none;}
  .drawer-item.is-active{background:var(--brand-soft);color:var(--brand);box-shadow:inset 0 0 0 1px rgba(27,107,224,.28);}
  .drawer-item.is-active svg{color:var(--brand);}
  .drawer-cta{margin-top:12px;}

  /* ---------- 按钮 ---------- */
  .btn{
    display:inline-flex;align-items:center;justify-content:center;gap:8px;
    height:48px;padding:0 22px;border-radius:var(--r-md);
    font-size:15px;font-weight:600;border:1px solid transparent;cursor:pointer;
    text-align:center;transition:background .2s ease-out,color .2s ease-out,box-shadow .2s ease-out,transform .12s ease-out;
  }
  .btn:active{transform:scale(.99);}
  .btn-accent{background:var(--accent);color:#fff;}
  .btn-accent:hover{background:var(--accent-deep);color:#fff;text-decoration:none;}
  .btn-ghost{background:#fff;color:var(--brand);border-color:rgba(27,107,224,.35);}
  .btn-ghost:hover{background:var(--brand-soft);color:var(--brand-deep);text-decoration:none;}
  .btn-sm{height:40px;padding:0 16px;font-size:14px;}
  .btn-block{width:100%;}

  /* ---------- 页头区 ---------- */
  .page-hero{padding:34px 0 6px;}
  @media (min-width:768px){.page-hero{padding:44px 0 10px;}}
  .breadcrumb{display:flex;flex-wrap:wrap;align-items:center;gap:8px;font-size:14px;color:var(--muted);}
  .breadcrumb a{color:var(--muted);}
  .breadcrumb a:hover{color:var(--brand);text-decoration:none;}
  .breadcrumb .sep{color:#C7D2E0;}
  .breadcrumb .current{color:var(--muted);}
  .hero-grid{display:grid;gap:26px;margin-top:20px;}
  @media (min-width:1024px){
    .hero-grid{grid-template-columns:minmax(0,1fr) 360px;align-items:center;gap:44px;}
  }
  h1.page-title{
    font-size:clamp(28px,4.6vw,40px);line-height:1.2;font-weight:700;
    letter-spacing:-.02em;color:var(--title);
  }
  .page-lead{margin-top:16px;font-size:16px;line-height:1.9;color:var(--text);max-width:660px;}
  .hero-tags{display:flex;flex-wrap:wrap;gap:8px;margin-top:20px;}
  .hero-figure{
    border-radius:var(--r-xl);background:var(--brand-soft);
    border:1px solid #DCE8FA;padding:14px;
  }
  .hero-figure img{width:100%;height:auto;aspect-ratio:16/10;object-fit:cover;border-radius:14px;}

  /* ---------- 板块基础 ---------- */
  .section{padding:52px 0;}
  @media (min-width:768px){.section{padding:72px 0;}}
  .section-head{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:14px;margin-bottom:28px;}
  h2.sec-title{
    font-size:clamp(22px,2.6vw,28px);line-height:1.32;font-weight:700;
    letter-spacing:-.02em;color:var(--title);position:relative;padding-left:14px;
  }
  h2.sec-title::before{
    content:"";position:absolute;left:0;top:.28em;bottom:.28em;width:4px;
    border-radius:4px;background:var(--brand-deep);
  }
  .sec-desc{margin-top:12px;font-size:15px;line-height:1.85;color:var(--text);max-width:680px;}
  .sec-link{font-size:14px;font-weight:600;white-space:nowrap;display:inline-flex;align-items:center;gap:6px;}
  .sec-link svg{transition:transform .2s ease-out;}
  .sec-link:hover{text-decoration:none;}
  .sec-link:hover svg{transform:translateX(2px);}

  /* ---------- 徽章 ---------- */
  .badge{
    display:inline-flex;align-items:center;gap:6px;
    padding:4px 10px;border-radius:var(--r-pill);
    font-size:12px;font-weight:600;background:var(--brand-soft);color:var(--brand);
  }
  .badge-teal{background:rgba(18,184,166,.12);color:#0E8F82;}
  .badge-gray{background:#F1F4F9;color:#5A6B80;}

  /* ---------- 横向图文列表卡 ---------- */
  .list-stack{display:flex;flex-direction:column;gap:16px;}
  .media-card{
    display:grid;background:var(--card);border:1px solid var(--border);
    border-radius:var(--r-lg);box-shadow:var(--shadow-card);overflow:hidden;
    transition:transform .2s ease-out,box-shadow .2s ease-out;
  }
  .media-card:hover{transform:translateY(-2px);box-shadow:var(--shadow-hover);}
  @media (min-width:640px){.media-card{grid-template-columns:200px minmax(0,1fr);}}
  .media-thumb{position:relative;background:var(--brand-soft);overflow:hidden;}
  .media-thumb img{width:100%;height:100%;min-height:170px;aspect-ratio:20/13;object-fit:cover;}
  @media (min-width:640px){.media-thumb img{min-height:130px;height:100%;}}
  .thumb-index{
    position:absolute;top:10px;left:10px;padding:3px 9px;border-radius:var(--r-pill);
    background:rgba(255,255,255,.94);color:var(--brand);font-size:12px;font-weight:700;
    letter-spacing:.04em;font-variant-numeric:tabular-nums;
  }
  .media-body{padding:16px 18px;display:flex;flex-direction:column;gap:8px;}
  .media-body h3{font-size:18px;font-weight:700;line-height:1.4;color:var(--title);letter-spacing:-.01em;}
  .media-body p{
    font-size:15px;line-height:1.8;color:var(--text);
    display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;
  }
  .media-meta{
    display:flex;align-items:center;justify-content:space-between;gap:12px;
    margin-top:4px;padding-top:12px;border-top:1px solid var(--line);
    font-size:12.5px;color:var(--muted);
  }
  .media-meta .meta-right{display:inline-flex;align-items:center;gap:10px;}
  .media-arrow{
    display:inline-flex;align-items:center;justify-content:center;
    width:26px;height:26px;border-radius:var(--r-pill);background:var(--brand-soft);color:var(--brand);
    transition:transform .2s ease-out;
  }
  .media-card:hover .media-arrow{transform:translateX(2px);}

  /* ---------- Bento 错落卡 ---------- */
  .bento{display:grid;gap:20px;}
  @media (min-width:900px){
    .bento{grid-template-columns:repeat(2,minmax(0,1fr));}
    .bento-lg{grid-column:span 2;}
    .bento-wide{grid-column:span 2;}
  }
  @media (min-width:1024px){
    .bento{grid-template-columns:repeat(4,minmax(0,1fr));}
    .bento-lg{grid-column:span 2;}
    .bento-wide{grid-column:span 4;}
  }
  .bento-card{
    background:var(--card);border:1px solid var(--border);border-radius:var(--r-lg);
    box-shadow:var(--shadow-card);padding:22px;
    transition:transform .2s ease-out,box-shadow .2s ease-out;
  }
  .bento-card:hover{transform:translateY(-2px);box-shadow:var(--shadow-hover);}
  .bento-icon{
    width:40px;height:40px;border-radius:12px;background:var(--brand-soft);color:var(--brand);
    display:inline-flex;align-items:center;justify-content:center;margin-bottom:16px;
  }
  .bento-card h3{font-size:17px;font-weight:700;line-height:1.45;color:var(--title);letter-spacing:-.01em;}
  .bento-card p{margin-top:10px;font-size:15px;line-height:1.85;color:var(--text);}
  .bento-figure{margin:-22px -22px 18px;background:var(--brand-soft);overflow:hidden;border-radius:15px 15px 0 0;}
  .bento-figure img{width:100%;height:210px;object-fit:cover;}
  .bento-wide .bento-inline{display:flex;flex-direction:column;gap:16px;}
  @media (min-width:768px){
    .bento-wide .bento-inline{flex-direction:row;align-items:center;justify-content:space-between;}
    .bento-wide .bento-inline .bento-text{max-width:720px;}
  }
  .bento-wide .bento-inline{display:flex;}
  .bento-wide{padding:24px;}

  /* ---------- 对照说明卡 ---------- */
  .note-grid{display:grid;gap:20px;}
  @media (min-width:768px){.note-grid{grid-template-columns:repeat(2,minmax(0,1fr));}}
  .note-card{
    background:var(--card);border:1px solid var(--border);border-left:3px solid var(--brand);
    border-radius:var(--r-lg);padding:20px 22px;box-shadow:var(--shadow-card);
    transition:transform .2s ease-out,box-shadow .2s ease-out;
  }
  .note-card:hover{transform:translateY(-2px);box-shadow:var(--shadow-hover);}
  .note-card h3{font-size:16px;font-weight:700;line-height:1.5;color:var(--title);}
  .note-card p{margin-top:10px;font-size:15px;line-height:1.85;color:var(--text);}
  .note-card .note-tail{
    margin-top:12px;padding-top:12px;border-top:1px solid var(--line);
    font-size:12.5px;color:var(--muted);
  }

  /* ---------- FAQ ---------- */
  .faq{background:var(--card);border:1px solid var(--border);border-radius:var(--r-lg);box-shadow:var(--shadow-card);overflow:hidden;}
  .faq-item + .faq-item{border-top:1px solid var(--line);}
  .faq-q{
    width:100%;display:flex;align-items:center;justify-content:space-between;gap:16px;
    padding:18px 20px;background:none;border:0;cursor:pointer;text-align:left;
    font-size:16px;font-weight:600;color:var(--title);line-height:1.6;
    transition:background .2s ease-out;
  }
  .faq-q:hover{background:#F8FAFD;}
  .faq-item.is-open{box-shadow:inset 3px 0 0 var(--brand);}
  .faq-icon{
    flex-shrink:0;width:20px;height:20px;position:relative;color:var(--brand);
  }
  .faq-icon::before,.faq-icon::after{
    content:"";position:absolute;background:currentColor;border-radius:2px;
    transition:transform .25s ease-out,opacity .25s ease-out;
  }
  .faq-icon::before{left:0;right:0;top:9px;height:2px;}
  .faq-icon::after{top:0;bottom:0;left:9px;width:2px;}
  .faq-item.is-open .faq-icon::after{transform:scaleY(0);opacity:0;}
  .faq-a{max-height:0;overflow:hidden;transition:max-height .3s ease-out;}
  .faq-a p{padding:0 20px 20px;font-size:15px;line-height:1.85;color:var(--text);}

  /* ---------- CTA 下载块 ---------- */
  .cta-block{padding:0 0 8px;}
  .cta-download{
    background:var(--brand-soft);border:1px solid #DCE8FA;border-radius:var(--r-xl);
    padding:26px;
  }
  @media (min-width:900px){
    .cta-download{display:grid;grid-template-columns:200px minmax(0,1fr);gap:34px;align-items:center;padding:36px;}
  }
  .qr-wrap{display:flex;flex-direction:column;align-items:center;gap:10px;margin-bottom:22px;}
  @media (min-width:900px){.qr-wrap{margin-bottom:0;}}
  .qr-box{
    width:140px;height:140px;background:#fff;border:1px solid var(--border);border-radius:14px;
    position:relative;display:flex;align-items:center;justify-content:center;color:var(--brand);
  }
  .qr-box::before,.qr-box::after{
    content:"";position:absolute;width:16px;height:16px;border:2px solid var(--brand);border-radius:4px;
  }
  .qr-box::before{top:-1px;left:-1px;border-right-color:transparent;border-bottom-color:transparent;}
  .qr-box::after{bottom:-1px;right:-1px;border-left-color:transparent;border-top-color:transparent;}
  .qr-caption{font-size:12.5px;color:var(--muted);}
  .cta-title{font-size:clamp(20px,2.4vw,26px);font-weight:700;color:var(--title);letter-spacing:-.02em;line-height:1.35;}
  .cta-sub{margin-top:10px;font-size:15px;line-height:1.85;color:var(--text);max-width:680px;}
  .platform-list{display:grid;gap:12px;margin-top:20px;}
  @media (min-width:640px){.platform-list{grid-template-columns:repeat(3,minmax(0,1fr));}}
  .platform-btn{
    display:flex;align-items:center;gap:12px;min-height:64px;padding:12px 14px;
    background:#fff;border:1px solid var(--border);border-radius:var(--r-md);
    color:var(--title);transition:transform .2s ease-out,box-shadow .2s ease-out,border-color .2s ease-out;
  }
  .platform-btn:hover{text-decoration:none;transform:translateY(-2px);box-shadow:var(--shadow-hover);border-color:rgba(27,107,224,.35);}
  .platform-btn svg{color:var(--brand);flex-shrink:0;}
  .platform-btn .p-name{display:block;font-size:15px;font-weight:600;line-height:1.3;}
  .platform-btn .p-sub{display:block;font-size:12px;color:var(--muted);line-height:1.5;}
  .checksum{
    display:flex;flex-wrap:wrap;gap:6px 18px;margin-top:20px;padding-top:16px;
    border-top:1px solid rgba(27,107,224,.16);font-size:12.5px;color:var(--muted);
    font-variant-numeric:tabular-nums;
  }

  /* ---------- 页脚 ---------- */
  .site-footer{background:#F1F5FA;border-top:1px solid var(--border);margin-top:72px;}
  .footer-grid{display:grid;gap:32px;}
  @media (min-width:768px){.footer-grid{grid-template-columns:repeat(2,minmax(0,1fr));}}
  @media (min-width:1024px){.footer-grid{grid-template-columns:1.5fr 1fr 1fr 1fr;gap:28px;}}
  .footer-title{font-size:14px;font-weight:700;color:var(--title);}
  .footer-link{font-size:14px;color:var(--text);}
  .footer-link:hover{color:var(--brand);}
  .footer-qr{
    width:96px;height:96px;background:#fff;border:1px solid var(--border);border-radius:12px;
    display:flex;align-items:center;justify-content:center;color:var(--brand);
  }
  .meta-text{font-size:12.5px;color:var(--muted);}
  .footer-bottom{border-top:1px solid var(--border);font-size:12.5px;color:var(--muted);}

  /* 页脚内工具类兜底 */
  .site-footer .py-14{padding-top:56px;padding-bottom:56px;}
  @media (min-width:768px){.site-footer .py-14{padding-top:64px;padding-bottom:64px;}}
  .site-footer .mt-4{margin-top:16px;}
  .site-footer .mb-3{margin-bottom:12px;}
  .site-footer .mt-3{margin-top:12px;}
  .site-footer .mt-12{margin-top:48px;}
  .site-footer .pt-6{padding-top:24px;}
  .site-footer .text-\[14px\]{font-size:14px;}

  @media (prefers-reduced-motion:reduce){
    *{transition:none !important;animation:none !important;scroll-behavior:auto !important;}
  }

/* roulang page: category3 */
:root{
    --brand:#1B6BE0;
    --brand-deep:#0D3F8F;
    --brand-soft:#EAF1FD;
    --accent:#FF6B2B;
    --accent-dark:#EA5A19;
    --teal:#12B8A6;
    --page:#F6F8FB;
    --card:#FFFFFF;
    --line:#EDF1F7;
    --border:#E6ECF4;
    --text:#475467;
    --title:#101828;
    --muted:#8C9AAB;
    --danger:#D92D20;
    --r-sm:8px;
    --r-md:10px;
    --r-lg:16px;
    --r-xl:20px;
    --shadow-card:0 1px 2px rgba(16,24,40,.04), 0 8px 24px -12px rgba(27,107,224,.12);
    --shadow-hover:0 12px 32px -12px rgba(27,107,224,.22);
    --font-cn:"PingFang SC","Microsoft YaHei","Hiragino Sans GB","Source Han Sans SC",system-ui,-apple-system,"Segoe UI",sans-serif;
  }

  *,*::before,*::after{ box-sizing:border-box; }

  html{ -webkit-text-size-adjust:100%; scroll-behavior:smooth; }

  html body.site-body{
    margin:0;
    font-family:var(--font-cn);
    font-size:16px;
    line-height:1.75;
    color:var(--text);
    background-color:var(--page);
    -webkit-font-smoothing:antialiased;
  }

  img{ display:block; max-width:100%; }
  a{ color:var(--brand); text-decoration:none; transition:color .2s ease-out; }
  a:hover{ color:var(--brand-deep); }
  a:focus-visible,button:focus-visible,input:focus-visible{
    outline:2px solid var(--brand);
    outline-offset:2px;
    border-radius:6px;
  }
  button{ font-family:inherit; }
  h1,h2,h3,h4{ color:var(--title); font-weight:700; letter-spacing:-.02em; margin:0; }
  h1{ font-size:clamp(28px,4.2vw,40px); line-height:1.25; }
  h2{ font-size:clamp(22px,3vw,28px); line-height:1.35; }
  h3{ font-size:20px; line-height:1.4; }
  p{ margin:0; }
  ul{ margin:0; padding:0; list-style:none; }
  .num{ font-variant-numeric:tabular-nums; }

  .container-x{
    width:100%;
    max-width:1200px;
    margin:0 auto;
    padding-left:20px;
    padding-right:20px;
  }
  @media (min-width:768px){
    .container-x{ padding-left:32px; padding-right:32px; }
  }

  /* ---------- 卡片化导航面板 ---------- */
  .site-header{
    position:sticky;
    top:0;
    z-index:50;
    background:var(--page);
    padding:12px 0 8px;
    transition:padding .2s ease-out;
  }
  .nav-panel{
    display:flex;
    align-items:center;
    gap:14px;
    background:var(--card);
    border:1px solid var(--border);
    border-radius:var(--r-lg);
    box-shadow:var(--shadow-card);
    padding:9px 14px;
    transition:box-shadow .2s ease-out,padding .2s ease-out;
  }
  .site-header.is-scrolled .nav-panel{
    box-shadow:var(--shadow-hover);
    padding-top:5px;
    padding-bottom:5px;
  }
  .brand{
    display:inline-flex;
    align-items:center;
    gap:10px;
    flex:0 0 auto;
    color:var(--title);
  }
  .brand:hover{ color:var(--brand-deep); }
  .brand-mark{
    width:28px;
    height:28px;
    flex:0 0 28px;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    border-radius:9px;
    background:var(--brand);
    color:#fff;
  }
  .brand-name{
    font-size:17px;
    font-weight:700;
    letter-spacing:-.01em;
    white-space:nowrap;
  }
  .nav-list{
    display:none;
    align-items:center;
    gap:8px;
    flex:1 1 auto;
    min-width:0;
    overflow-x:auto;
    scrollbar-width:none;
  }
  .nav-list::-webkit-scrollbar{ display:none; }
  .nav-chip{
    position:relative;
    display:inline-flex;
    align-items:center;
    gap:8px;
    height:40px;
    padding:0 12px;
    border-radius:var(--r-md);
    border:1px solid transparent;
    font-size:14px;
    font-weight:500;
    color:var(--text);
    white-space:nowrap;
    transition:background-color .2s ease-out,color .2s ease-out,border-color .2s ease-out;
  }
  .nav-chip svg{ flex:0 0 auto; color:var(--muted); transition:color .2s ease-out; }
  .nav-chip:hover{
    background:var(--brand-soft);
    color:var(--brand);
  }
  .nav-chip:hover svg{ color:var(--brand); }
  .nav-chip.is-active{
    background:var(--brand-soft);
    color:var(--brand);
    border-color:var(--brand);
    font-weight:600;
  }
  .nav-chip.is-active svg{ color:var(--brand); }
  .nav-chip.is-active::before{
    content:"";
    position:absolute;
    top:-1px;
    left:12px;
    right:12px;
    height:2px;
    border-radius:2px;
    background:var(--brand);
  }
  .nav-actions{
    display:flex;
    align-items:center;
    gap:10px;
    margin-left:auto;
    flex:0 0 auto;
  }
  .nav-toggle{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    width:40px;
    height:40px;
    border-radius:var(--r-md);
    border:1px solid var(--border);
    background:#fff;
    color:var(--title);
    cursor:pointer;
    transition:background-color .2s ease-out,border-color .2s ease-out,color .2s ease-out;
  }
  .nav-toggle:hover{ background:var(--brand-soft); border-color:var(--brand); color:var(--brand); }

  .mobile-drawer{
    display:none;
    background:var(--card);
    border:1px solid var(--border);
    border-radius:var(--r-lg);
    box-shadow:var(--shadow-card);
    padding:16px;
    margin-top:10px;
  }
  .mobile-drawer.is-open{ display:block; }
  .drawer-head{
    display:flex;
    align-items:center;
    gap:10px;
    padding-bottom:12px;
    margin-bottom:12px;
    border-bottom:1px solid var(--line);
  }
  .drawer-head .brand-name{ font-size:16px; white-space:normal; line-height:1.4; }
  .drawer-nav{ display:flex; flex-direction:column; gap:8px; }
  .drawer-nav .nav-chip{
    width:100%;
    height:48px;
    justify-content:flex-start;
    background:#FBFCFE;
    border-color:var(--border);
  }
  .drawer-nav .nav-chip .chip-arrow{ margin-left:auto; color:var(--muted); }
  .drawer-nav .nav-chip.is-active{
    background:var(--brand-soft);
    border-color:var(--brand);
  }
  .drawer-cta{ margin-top:14px; }

  @media (min-width:1024px){
    .nav-list{ display:flex; }
    .nav-toggle{ display:none; }
    .mobile-drawer{ display:none !important; }
  }

  /* ---------- 按钮 ---------- */
  .btn{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:8px;
    min-height:48px;
    padding:0 22px;
    border-radius:var(--r-md);
    border:1px solid transparent;
    font-size:15px;
    font-weight:600;
    letter-spacing:0;
    cursor:pointer;
    transition:background-color .2s ease-out,color .2s ease-out,border-color .2s ease-out,transform .16s ease-out,box-shadow .2s ease-out;
  }
  .btn:active{ transform:scale(.99); }
  .btn-primary{
    background:var(--accent);
    color:#fff;
    box-shadow:0 8px 20px -12px rgba(255,107,43,.9);
  }
  .btn-primary:hover{ background:var(--accent-dark); color:#fff; }
  .btn-outline{
    background:#fff;
    color:var(--brand);
    border-color:var(--brand);
  }
  .btn-outline:hover{ background:var(--brand-soft); color:var(--brand-deep); border-color:var(--brand-deep); }
  .btn-sm{ min-height:40px; font-size:14px; padding:0 16px; }
  .btn-block{ width:100%; }

  /* ---------- 页头区 ---------- */
  .page-main{ padding-bottom:8px; }
  .breadcrumb{
    display:flex;
    align-items:center;
    flex-wrap:wrap;
    gap:8px;
    font-size:14px;
    color:var(--muted);
    margin-bottom:18px;
  }
  .breadcrumb a{ color:var(--brand); }
  .breadcrumb a:hover{ text-decoration:underline; }
  .breadcrumb .sep{ color:#C6D1DE; }
  .breadcrumb .current{ color:var(--muted); }

  .cathead{
    background:var(--card);
    border:1px solid var(--border);
    border-radius:var(--r-xl);
    box-shadow:var(--shadow-card);
    padding:28px;
    display:grid;
    gap:24px;
  }
  @media (min-width:1024px){
    .cathead{ grid-template-columns:minmax(0,1fr) 320px; align-items:center; padding:36px; gap:32px; }
  }
  .eyebrow{
    display:inline-flex;
    align-items:center;
    gap:8px;
    font-size:12px;
    font-weight:600;
    color:var(--brand);
    background:var(--brand-soft);
    border-radius:999px;
    padding:4px 10px;
    margin-bottom:14px;
  }
  .cathead h1{ margin-bottom:14px; }
  .cathead-lead{
    font-size:16px;
    line-height:1.85;
    color:var(--text);
    max-width:56ch;
  }
  .cathead-imgwrap{
    background:var(--brand-soft);
    border-radius:var(--r-lg);
    padding:12px;
    position:relative;
  }
  .cathead-imgwrap img{
    width:100%;
    aspect-ratio:320/200;
    object-fit:cover;
    border-radius:12px;
    background:#DCE7F8;
  }
  .cathead-meta{
    display:flex;
    flex-wrap:wrap;
    gap:10px 18px;
    margin-top:18px;
    font-size:13px;
    color:var(--muted);
  }
  .cathead-meta span{ display:inline-flex; align-items:center; gap:6px; }
  .dot{ width:4px; height:4px; border-radius:999px; background:#C6D1DE; display:inline-block; }

  /* ---------- 板块 ---------- */
  .section{ padding:64px 0 0; }
  @media (min-width:768px){
    .section{ padding:88px 0 0; }
  }
  .section-head{
    display:flex;
    flex-direction:column;
    gap:10px;
    margin-bottom:28px;
  }
  @media (min-width:768px){
    .section-head{
      flex-direction:row;
      align-items:flex-end;
      justify-content:space-between;
      gap:24px;
    }
  }
  .section-head p{ font-size:15px; color:var(--text); max-width:62ch; }
  .section-index{
    font-size:13px;
    font-weight:700;
    color:var(--brand);
    letter-spacing:.08em;
    margin-bottom:8px;
    display:block;
  }
  .text-link{
    display:inline-flex;
    align-items:center;
    gap:6px;
    font-size:14px;
    font-weight:600;
    color:var(--brand);
    white-space:nowrap;
  }
  .text-link:hover{ color:var(--brand-deep); text-decoration:underline; }
  .text-link svg{ transition:transform .2s ease-out; }
  .text-link:hover svg{ transform:translateX(2px); }

  /* ---------- 问答卡网格 ---------- */
  .qa-grid{
    display:grid;
    gap:20px;
    grid-template-columns:1fr;
  }
  @media (min-width:700px){
    .qa-grid{ grid-template-columns:repeat(2,minmax(0,1fr)); gap:22px; }
  }
  .qa-card{
    position:relative;
    background:var(--card);
    border:1px solid var(--border);
    border-radius:var(--r-lg);
    box-shadow:var(--shadow-card);
    padding:22px 24px 22px 28px;
    overflow:hidden;
    transition:transform .2s ease-out,box-shadow .2s ease-out,border-color .2s ease-out;
  }
  .qa-card::before{
    content:"";
    position:absolute;
    left:0;
    top:20px;
    bottom:20px;
    width:3px;
    border-radius:0 3px 3px 0;
    background:var(--brand);
  }
  .qa-card:hover{
    transform:translateY(-2px);
    box-shadow:var(--shadow-hover);
    border-color:#D3E2F8;
  }
  .qa-card h3{
    font-size:16px;
    font-weight:600;
    line-height:1.5;
    margin-bottom:10px;
    display:flex;
    gap:10px;
    align-items:flex-start;
  }
  .qa-card h3 .q-index{
    flex:0 0 auto;
    font-size:12px;
    font-weight:700;
    color:var(--brand);
    background:var(--brand-soft);
    border-radius:6px;
    padding:2px 7px;
    margin-top:2px;
    letter-spacing:.02em;
  }
  .qa-card p{
    font-size:15px;
    line-height:1.8;
    color:var(--text);
  }
  .qa-tags{
    display:flex;
    flex-wrap:wrap;
    gap:8px;
    margin-top:14px;
  }
  .tag{
    font-size:12px;
    font-weight:500;
    color:#5A6779;
    background:#F2F5FA;
    border-radius:999px;
    padding:4px 10px;
  }

  /* ---------- 自查清单 ---------- */
  .checklist-wrap{
    display:grid;
    gap:24px;
    grid-template-columns:1fr;
  }
  @media (min-width:1024px){
    .checklist-wrap{ grid-template-columns:minmax(0,340px) minmax(0,1fr); gap:28px; align-items:start; }
  }
  .checklist-media{
    background:var(--brand-soft);
    border-radius:var(--r-xl);
    padding:14px;
    border:1px solid #DCE7F8;
  }
  .checklist-media img{
    width:100%;
    aspect-ratio:4/3;
    object-fit:cover;
    border-radius:14px;
    background:#DCE7F8;
  }
  .checklist-media-text{
    padding:16px 6px 6px;
  }
  .checklist-media-text h3{ font-size:18px; margin-bottom:8px; }
  .checklist-media-text p{ font-size:14px; line-height:1.8; color:var(--text); }
  .checklist-card{
    background:var(--card);
    border:1px solid var(--border);
    border-radius:var(--r-lg);
    box-shadow:var(--shadow-card);
    overflow:hidden;
  }
  .check-row{
    display:grid;
    grid-template-columns:1fr;
    gap:6px;
    padding:18px 22px;
    border-bottom:1px solid var(--line);
  }
  .check-row:last-child{ border-bottom:none; }
  @media (min-width:640px){
    .check-row{
      grid-template-columns:150px minmax(0,1fr) auto;
      align-items:center;
      gap:18px;
    }
  }
  .check-row .k{
    font-size:14px;
    font-weight:600;
    color:var(--title);
  }
  .check-row .v{
    font-size:14px;
    color:var(--text);
    line-height:1.7;
  }
  .badge{
    display:inline-flex;
    align-items:center;
    gap:6px;
    font-size:12px;
    font-weight:600;
    border-radius:999px;
    padding:4px 10px;
    white-space:nowrap;
  }
  .badge-teal{ color:#0B8377; background:#E1F7F4; }
  .badge-blue{ color:var(--brand-deep); background:var(--brand-soft); }
  .badge-warn{ color:#B4480F; background:#FFF0E7; }

  /* ---------- FAQ ---------- */
  .faq-card{
    background:var(--card);
    border:1px solid var(--border);
    border-radius:var(--r-lg);
    box-shadow:var(--shadow-card);
    overflow:hidden;
  }
  .faq-item{ border-bottom:1px solid var(--line); }
  .faq-item:last-child{ border-bottom:none; }
  .faq-q{
    width:100%;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:16px;
    text-align:left;
    background:transparent;
    border:none;
    border-left:3px solid transparent;
    padding:20px 22px;
    font-size:16px;
    font-weight:600;
    color:var(--title);
    cursor:pointer;
    transition:background-color .2s ease-out,border-color .2s ease-out,color .2s ease-out;
  }
  .faq-q:hover{ background:#FAFCFF; color:var(--brand); }
  .faq-item.is-open .faq-q{
    color:var(--brand);
    border-left-color:var(--brand);
    background:#FBFDFF;
  }
  .faq-icon{
    flex:0 0 auto;
    position:relative;
    width:20px;
    height:20px;
    color:var(--brand);
  }
  .faq-icon::before,.faq-icon::after{
    content:"";
    position:absolute;
    background:currentColor;
    border-radius:2px;
    transition:transform .2s ease-out,opacity .2s ease-out;
  }
  .faq-icon::before{ left:3px; right:3px; top:9px; height:2px; }
  .faq-icon::after{ top:3px; bottom:3px; left:9px; width:2px; }
  .faq-item.is-open .faq-icon::after{ transform:scaleY(0); opacity:0; }
  .faq-a{
    display:none;
    padding:0 22px 22px 22px;
    border-left:3px solid var(--brand);
    font-size:15px;
    line-height:1.85;
    color:var(--text);
  }
  .faq-item.is-open .faq-a{ display:block; }

  /* ---------- 浅蓝 CTA 卡 ---------- */
  .cta-soft{
    background:var(--brand-soft);
    border:1px solid #D8E6FA;
    border-radius:var(--r-xl);
    padding:28px;
    display:grid;
    gap:22px;
  }
  @media (min-width:768px){
    .cta-soft{ padding:36px; grid-template-columns:minmax(0,1fr) auto; align-items:center; gap:32px; }
  }
  .cta-soft h2{ font-size:clamp(20px,2.6vw,26px); margin-bottom:10px; }
  .cta-soft p{ font-size:15px; line-height:1.85; color:var(--text); max-width:60ch; }
  .cta-actions{
    display:flex;
    flex-wrap:wrap;
    gap:12px;
  }
  @media (max-width:767px){
    .cta-actions{ flex-direction:column; }
    .cta-actions .btn{ width:100%; }
  }

  /* ---------- 下载 CTA ---------- */
  .cta-download{
    background:var(--brand-soft);
    border:1px solid #D8E6FA;
    border-radius:var(--r-xl);
    padding:28px;
    display:grid;
    gap:26px;
  }
  @media (min-width:1024px){
    .cta-download{ grid-template-columns:200px minmax(0,1fr); padding:36px; align-items:center; gap:36px; }
  }
  .qr-box{
    position:relative;
    width:120px;
    height:120px;
    background:#fff;
    border:1px solid var(--border);
    border-radius:12px;
    display:flex;
    align-items:center;
    justify-content:center;
    color:var(--brand);
  }
  .qr-box .corner{
    position:absolute;
    width:14px;
    height:14px;
    border:2px solid var(--brand);
  }
  .qr-box .c1{ top:8px; left:8px; border-right:none; border-bottom:none; border-radius:4px 0 0 0; }
  .qr-box .c2{ top:8px; right:8px; border-left:none; border-bottom:none; border-radius:0 4px 0 0; }
  .qr-box .c3{ bottom:8px; left:8px; border-right:none; border-top:none; border-radius:0 0 0 4px; }
  .qr-box .c4{ bottom:8px; right:8px; border-left:none; border-top:none; border-radius:0 0 4px 0; }
  .qr-side{
    display:flex;
    flex-direction:column;
    gap:14px;
    align-items:flex-start;
  }
  .platform-buttons{
    display:grid;
    gap:12px;
    grid-template-columns:1fr;
    width:100%;
  }
  @media (min-width:640px){
    .platform-buttons{ grid-template-columns:repeat(3,minmax(0,1fr)); }
  }
  .platform-btn{
    display:flex;
    align-items:center;
    gap:12px;
    min-height:64px;
    background:#fff;
    border:1px solid var(--border);
    border-radius:var(--r-md);
    padding:12px 16px;
    color:var(--title);
    transition:transform .2s ease-out,box-shadow .2s ease-out,border-color .2s ease-out,color .2s ease-out;
  }
  .platform-btn:hover{
    transform:translateY(-2px);
    box-shadow:var(--shadow-hover);
    border-color:var(--brand);
    color:var(--brand);
  }
  .platform-btn .pi{
    width:36px;
    height:36px;
    flex:0 0 36px;
    border-radius:9px;
    background:var(--brand-soft);
    color:var(--brand);
    display:inline-flex;
    align-items:center;
    justify-content:center;
  }
  .platform-btn .pt{ font-size:15px; font-weight:600; line-height:1.3; }
  .platform-btn .ps{ font-size:12px; color:var(--muted); }
  .verify-line{
    display:flex;
    flex-wrap:wrap;
    gap:10px 18px;
    font-size:12.5px;
    color:var(--text);
  }
  .verify-line span{ display:inline-flex; align-items:center; gap:6px; }

  /* ---------- 页脚 ---------- */
  .site-footer{
    margin-top:88px;
    background:#F1F5FA;
    border-top:1px solid var(--border);
  }
  .footer-grid{
    display:grid;
    gap:32px;
    grid-template-columns:1fr;
  }
  @media (min-width:640px){
    .footer-grid{ grid-template-columns:repeat(2,minmax(0,1fr)); }
  }
  @media (min-width:1024px){
    .footer-grid{ grid-template-columns:1.5fr 1fr 1fr 1fr; gap:28px; }
  }
  .footer-title{
    font-size:14px;
    font-weight:700;
    color:var(--title);
    letter-spacing:-.01em;
  }
  .footer-link{
    display:inline-block;
    padding:5px 0;
    font-size:14px;
    color:var(--text);
  }
  .footer-link:hover{ color:var(--brand); text-decoration:underline; }
  .footer-qr{
    width:96px;
    height:96px;
    background:#fff;
    border:1px solid var(--border);
    border-radius:12px;
    display:flex;
    align-items:center;
    justify-content:center;
    color:var(--brand);
  }
  .footer-bottom{
    border-top:1px solid var(--border);
    font-size:12px;
    color:var(--muted);
  }
  .meta-text{ font-size:12.5px; color:var(--muted); }
  .site-footer .brand-mark{ width:26px; height:26px; flex:0 0 26px; border-radius:8px; }
  .site-footer .brand-name{ font-size:16px; }

  @media (max-width:520px){
    .btn{ font-size:14px; padding:0 18px; }
    .cathead{ padding:22px; }
    .qa-card{ padding:20px 18px 20px 22px; }
    .qr-box{ width:104px; height:104px; }
  }

  @media (prefers-reduced-motion:reduce){
    *{ transition:none !important; animation:none !important; }
    html{ scroll-behavior:auto; }
  }

/* roulang page: category2 */
:root {
    --brand: #1B6BE0;
    --brand-deep: #0D3F8F;
    --brand-light: #EAF1FD;
    --accent: #FF6B2B;
    --accent-deep: #E85A1C;
    --ok: #12B8A6;
    --bg: #F6F8FB;
    --card: #FFFFFF;
    --line: #EDF1F7;
    --stroke: #E6ECF4;
    --body: #475467;
    --title: #101828;
    --muted: #8C9AAB;
    --danger: #D92D20;
    --r-sm: 8px;
    --r-md: 10px;
    --r-lg: 16px;
    --r-xl: 20px;
    --sh-card: 0 1px 2px rgba(16, 24, 40, .04), 0 8px 24px -12px rgba(27, 107, 224, .12);
    --sh-hover: 0 12px 32px -12px rgba(27, 107, 224, .22);
    --font: "PingFang SC", "Microsoft YaHei", "Hiragino Sans GB", "Source Han Sans SC", system-ui, sans-serif;
  }

  *, *::before, *::after { box-sizing: border-box; }

  html { -webkit-text-size-adjust: 100%; scroll-behavior: smooth; }

  body {
    margin: 0;
    font-family: var(--font);
    font-size: 16px;
    line-height: 1.75;
    color: var(--body);
    background: var(--bg);
    -webkit-font-smoothing: antialiased;
    text-rendering: optimizeLegibility;
  }

  img { display: block; max-width: 100%; height: auto; }

  a { color: var(--brand); text-decoration: none; transition: color .18s ease; }
  a:hover { color: var(--brand-deep); }

  h1, h2, h3, h4 { margin: 0; color: var(--title); font-weight: 700; letter-spacing: -.02em; }

  ul, ol { margin: 0; padding: 0; list-style: none; }

  button { font-family: inherit; }

  :focus-visible { outline: 2px solid var(--brand); outline-offset: 2px; border-radius: 6px; }

  .container-x { width: 100%; max-width: 1200px; margin: 0 auto; padding: 0 20px; }
  @media (min-width: 768px) { .container-x { padding: 0 32px; } }

  /* ============ 顶部导航 ============ */
  .site-header {
    position: sticky;
    top: 0;
    z-index: 50;
    padding: 12px 0;
    background: var(--bg);
    transition: padding .2s ease;
  }
  .site-header.is-scrolled { padding: 6px 0; }

  .nav-card {
    display: flex;
    align-items: center;
    gap: 14px;
    padding: 10px 14px;
    background: #fff;
    border: 1px solid var(--stroke);
    border-radius: var(--r-lg);
    box-shadow: var(--sh-card);
    transition: box-shadow .2s ease;
  }
  .site-header.is-scrolled .nav-card { box-shadow: 0 10px 28px -14px rgba(27, 107, 224, .3); }

  .brand { display: inline-flex; align-items: center; gap: 10px; flex: 0 0 auto; }
  .brand-mark {
    width: 28px; height: 28px; border-radius: 9px;
    background: var(--brand-light); color: var(--brand);
    display: inline-flex; align-items: center; justify-content: center;
    flex: 0 0 auto;
  }
  .brand-name {
    font-size: 17px; font-weight: 700; letter-spacing: -.01em;
    color: var(--brand-deep); white-space: nowrap;
  }
  .brand:hover .brand-name { color: var(--brand); }

  .nav-list { display: flex; align-items: center; gap: 6px; margin-left: auto; }

  .nav-chip {
    position: relative;
    display: inline-flex; align-items: center; gap: 8px;
    height: 40px; padding: 0 12px;
    border-radius: var(--r-md);
    border: 1px solid transparent;
    font-size: 14px; color: var(--body);
    white-space: nowrap;
    transition: background-color .18s ease, color .18s ease, border-color .18s ease;
  }
  .nav-chip svg { color: var(--muted); transition: color .18s ease; flex: 0 0 auto; }
  .nav-chip:hover { background: var(--brand-light); color: var(--brand-deep); }
  .nav-chip:hover svg { color: var(--brand); }
  .nav-chip.is-active {
    color: var(--brand);
    font-weight: 600;
    background: #fff;
    border-color: var(--brand);
  }
  .nav-chip.is-active svg { color: var(--brand); }
  .nav-chip.is-active::before {
    content: "";
    position: absolute; left: 12px; right: 12px; top: -3px;
    height: 2px; border-radius: 2px; background: var(--brand);
  }

  .nav-actions { display: flex; align-items: center; gap: 10px; margin-left: 6px; }

  .nav-toggle {
    display: inline-flex; align-items: center; justify-content: center;
    width: 40px; height: 40px;
    border: 1px solid var(--stroke); border-radius: var(--r-md);
    background: #fff; color: var(--title); cursor: pointer;
    transition: background-color .18s ease, border-color .18s ease;
  }
  .nav-toggle:hover { background: var(--brand-light); border-color: var(--brand); color: var(--brand); }

  .drawer { display: none; margin-top: 10px; }
  .drawer.is-open { display: block; }
  .drawer-panel {
    background: #fff;
    border: 1px solid var(--stroke);
    border-radius: var(--r-lg);
    box-shadow: var(--sh-card);
    padding: 16px;
  }
  .drawer-brand { display: flex; align-items: center; gap: 10px; padding: 4px 4px 14px; border-bottom: 1px solid var(--line); }
  .drawer-title { font-size: 12px; font-weight: 600; color: var(--muted); letter-spacing: .04em; padding: 14px 4px 8px; }
  .drawer-list { display: flex; flex-direction: column; gap: 8px; }
  .drawer-chip {
    display: flex; align-items: center; gap: 12px;
    min-height: 48px; padding: 0 14px;
    border: 1px solid var(--stroke); border-radius: var(--r-md);
    color: var(--body); font-size: 15px;
    transition: background-color .18s ease, border-color .18s ease, color .18s ease;
  }
  .drawer-chip svg { color: var(--muted); flex: 0 0 auto; }
  .drawer-chip .chev { margin-left: auto; color: #C9D3E0; }
  .drawer-chip:hover { background: var(--brand-light); color: var(--brand-deep); border-color: #CFE0FA; }
  .drawer-chip.is-active { color: var(--brand); border-color: var(--brand); font-weight: 600; background: var(--brand-light); }
  .drawer-chip.is-active svg { color: var(--brand); }

  @media (max-width: 1023px) {
    .nav-list { display: none; }
    .nav-cta-desktop { display: none; }
  }
  @media (min-width: 1024px) {
    .nav-toggle { display: none; }
    .drawer { display: none !important; }
  }

  /* ============ 按钮 ============ */
  .btn {
    display: inline-flex; align-items: center; justify-content: center; gap: 8px;
    height: 46px; padding: 0 20px;
    border: 1px solid transparent; border-radius: var(--r-md);
    font-size: 15px; font-weight: 600; line-height: 1;
    cursor: pointer; white-space: nowrap;
    transition: background-color .2s ease, color .2s ease, border-color .2s ease, box-shadow .2s ease, transform .15s ease;
  }
  .btn:active { transform: scale(.99); }
  .btn-accent { background: var(--accent); color: #fff; box-shadow: 0 8px 18px -10px rgba(255, 107, 43, .9); }
  .btn-accent:hover { background: var(--accent-deep); color: #fff; }
  .btn-primary { background: var(--brand); color: #fff; }
  .btn-primary:hover { background: var(--brand-deep); color: #fff; }
  .btn-ghost { background: #fff; border-color: var(--brand); color: var(--brand); }
  .btn-ghost:hover { background: var(--brand-light); color: var(--brand-deep); }
  .btn-sm { height: 40px; padding: 0 16px; font-size: 14px; }
  .btn-block { width: 100%; }

  /* ============ 标签 / 徽章 ============ */
  .tag {
    display: inline-flex; align-items: center; gap: 6px;
    padding: 4px 10px; border-radius: 999px;
    font-size: 12px; font-weight: 600;
    background: #F1F5FA; color: #4B5565;
  }
  .badge-cat {
    display: inline-flex; align-items: center;
    padding: 4px 10px; border-radius: 999px;
    font-size: 12px; font-weight: 600;
    background: var(--brand-light); color: var(--brand);
  }
  .badge-ok {
    display: inline-flex; align-items: center; gap: 6px;
    padding: 4px 10px; border-radius: 999px;
    font-size: 12px; font-weight: 600;
    background: rgba(18, 184, 166, .12); color: #0E9384;
  }

  /* ============ 页头 ============ */
  .page-head { padding: 34px 0 0; }
  .breadcrumb { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; font-size: 14px; color: var(--muted); }
  .breadcrumb a { color: var(--brand); }
  .breadcrumb a:hover { text-decoration: underline; }
  .breadcrumb .sep { color: #C9D3E0; }
  .breadcrumb .current { color: var(--muted); }

  .page-head-grid { display: grid; gap: 30px; margin-top: 22px; }
  @media (min-width: 1024px) {
    .page-head-grid { grid-template-columns: 1.4fr .6fr; align-items: center; gap: 44px; }
  }
  .page-h1 { font-size: clamp(28px, 4.4vw, 42px); line-height: 1.24; }
  .page-lead { margin-top: 16px; font-size: 16px; line-height: 1.9; color: var(--body); max-width: 660px; }
  .head-tags { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 20px; }
  .head-actions { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 26px; }
  .head-visual {
    background: var(--brand-light);
    border: 1px solid var(--stroke);
    border-radius: var(--r-xl);
    padding: 14px;
  }
  .head-visual img {
    width: 100%;
    aspect-ratio: 16 / 10;
    object-fit: cover;
    border-radius: 14px;
  }

  /* ============ 板块 ============ */
  .section { padding: 52px 0; }
  @media (min-width: 768px) { .section { padding: 76px 0; } }
  .section-tight { padding-top: 8px; }

  .section-head { display: flex; flex-wrap: wrap; align-items: flex-end; justify-content: space-between; gap: 14px; margin-bottom: 28px; }
  .section-title { font-size: clamp(22px, 2.7vw, 28px); line-height: 1.32; padding-left: 16px; position: relative; }
  .section-title::before {
    content: "";
    position: absolute; left: 0; top: .18em;
    width: 4px; height: 1.05em; border-radius: 2px;
    background: var(--brand-deep);
  }
  .section-sub { margin-top: 10px; color: var(--muted); font-size: 14px; max-width: 720px; }
  .section-link { display: inline-flex; align-items: center; gap: 6px; font-size: 14px; font-weight: 600; }
  .section-link svg { transition: transform .18s ease; }
  .section-link:hover svg { transform: translateX(2px); }

  /* ============ 准备卡片 ============ */
  .prep-grid { display: grid; gap: 20px; grid-template-columns: 1fr; }
  @media (min-width: 640px) { .prep-grid { grid-template-columns: repeat(2, 1fr); } }
  @media (min-width: 1024px) { .prep-grid { grid-template-columns: repeat(4, 1fr); } }

  .prep-card {
    background: #fff;
    border: 1px solid var(--stroke);
    border-radius: var(--r-lg);
    padding: 22px;
    box-shadow: var(--sh-card);
    transition: transform .2s ease, box-shadow .2s ease, border-color .2s ease;
  }
  .prep-card:hover { transform: translateY(-2px); box-shadow: var(--sh-hover); border-color: #CFE0FA; }
  .prep-icon {
    width: 40px; height: 40px; border-radius: 12px;
    background: var(--brand-light); color: var(--brand);
    display: flex; align-items: center; justify-content: center;
    margin-bottom: 14px;
  }
  .prep-card h3 { font-size: 16px; line-height: 1.5; }
  .prep-card p { margin: 8px 0 0; font-size: 14px; line-height: 1.85; color: var(--body); }

  /* ============ 时间线 ============ */
  .timeline { position: relative; }
  .timeline::before {
    content: "";
    position: absolute; left: 19px; top: 10px; bottom: 10px;
    width: 2px; border-radius: 2px;
    background: linear-gradient(180deg, var(--brand) 0%, #C7DCF9 100%);
  }
  .step { position: relative; display: grid; grid-template-columns: 40px 1fr; gap: 18px; padding-bottom: 24px; }
  @media (min-width: 768px) { .step { gap: 24px; padding-bottom: 30px; } }
  .step:last-child { padding-bottom: 0; }

  .step-node {
    position: relative; z-index: 1;
    width: 40px; height: 40px; border-radius: 999px;
    background: #fff; border: 2px solid var(--brand);
    color: var(--brand); font-size: 14px; font-weight: 700;
    display: flex; align-items: center; justify-content: center;
    font-variant-numeric: tabular-nums;
  }
  .step-card {
    background: #fff;
    border: 1px solid var(--stroke);
    border-radius: var(--r-lg);
    padding: 20px 22px;
    box-shadow: var(--sh-card);
    transition: transform .2s ease, box-shadow .2s ease, border-color .2s ease;
  }
  .step-card:hover { transform: translateY(-2px); box-shadow: var(--sh-hover); border-color: #CFE0FA; }
  .step-head { display: flex; flex-wrap: wrap; align-items: center; gap: 10px; }
  .step-card h3 { font-size: 17px; line-height: 1.5; }
  .step-card p { margin: 10px 0 0; font-size: 15px; line-height: 1.85; color: var(--body); }
  .step-tip {
    margin-top: 14px;
    display: flex; gap: 10px; align-items: flex-start;
    background: var(--brand-light);
    border-left: 3px solid var(--brand);
    border-radius: 0 10px 10px 0;
    padding: 12px 14px;
    font-size: 13.5px; line-height: 1.8; color: var(--brand-deep);
  }
  .step-tip svg { flex: 0 0 auto; margin-top: 3px; }

  /* ============ 下载转化卡 ============ */
  .cta-card {
    background: var(--brand-light);
    border: 1px solid #D8E6FB;
    border-radius: var(--r-xl);
    padding: 26px;
    display: grid;
    gap: 26px;
  }
  @media (min-width: 1024px) {
    .cta-card { grid-template-columns: 200px 1fr; align-items: center; padding: 36px; gap: 40px; }
  }
  .qr-wrap { display: flex; flex-direction: column; align-items: center; gap: 12px; }
  .qr-box {
    position: relative;
    width: 148px; height: 148px;
    background: #fff;
    border: 1px solid var(--stroke);
    border-radius: 12px;
    display: flex; align-items: center; justify-content: center;
    color: var(--brand);
  }
  .qr-corner { position: absolute; width: 14px; height: 14px; border: 2px solid var(--brand); }
  .qr-corner.tl { top: 8px; left: 8px; border-right: 0; border-bottom: 0; border-radius: 4px 0 0 0; }
  .qr-corner.tr { top: 8px; right: 8px; border-left: 0; border-bottom: 0; border-radius: 0 4px 0 0; }
  .qr-corner.bl { bottom: 8px; left: 8px; border-right: 0; border-top: 0; border-radius: 0 0 0 4px; }
  .qr-corner.br { bottom: 8px; right: 8px; border-left: 0; border-top: 0; border-radius: 0 0 4px 0; }
  .qr-hint { font-size: 12.5px; color: var(--muted); text-align: center; }

  .dl-group { display: grid; gap: 12px; }
  @media (min-width: 768px) { .dl-group { grid-template-columns: repeat(3, 1fr); } }
  .dl-btn {
    display: flex; align-items: center; gap: 12px;
    min-height: 60px;
    padding: 12px 14px;
    background: #fff;
    border: 1px solid var(--stroke);
    border-radius: 12px;
    color: var(--title);
    transition: transform .2s ease, box-shadow .2s ease, border-color .2s ease;
  }
  .dl-btn:hover { transform: translateY(-2px); border-color: var(--brand); box-shadow: var(--sh-card); color: var(--title); }
  .dl-ic {
    width: 34px; height: 34px; border-radius: 10px; flex: 0 0 auto;
    background: var(--brand-light); color: var(--brand);
    display: flex; align-items: center; justify-content: center;
  }
  .dl-btn strong { display: block; font-size: 15px; font-weight: 600; color: var(--title); }
  .dl-btn span { display: block; font-size: 12px; color: var(--muted); }
  .verify-line {
    margin-top: 16px;
    display: flex; flex-wrap: wrap; align-items: center; gap: 10px;
    font-size: 12.5px; color: var(--brand-deep);
    font-variant-numeric: tabular-nums;
  }
  .verify-line .dot { width: 4px; height: 4px; border-radius: 999px; background: #9DC0F0; }

  /* ============ 平台规格卡 ============ */
  .spec-grid { display: grid; gap: 20px; grid-template-columns: 1fr; }
  @media (min-width: 768px) { .spec-grid { grid-template-columns: repeat(3, 1fr); } }
  .spec-card {
    background: #fff;
    border: 1px solid var(--stroke);
    border-radius: var(--r-lg);
    padding: 22px;
    box-shadow: var(--sh-card);
    transition: transform .2s ease, box-shadow .2s ease, border-color .2s ease;
  }
  .spec-card:hover { transform: translateY(-2px); box-shadow: var(--sh-hover); border-color: #CFE0FA; }
  .spec-top { display: flex; align-items: center; gap: 12px; padding-bottom: 14px; border-bottom: 1px solid var(--line); }
  .spec-top h3 { font-size: 16px; }
  .spec-row {
    display: flex; align-items: baseline; justify-content: space-between; gap: 16px;
    padding: 11px 0; border-bottom: 1px solid var(--line); font-size: 14px;
  }
  .spec-row:last-child { border-bottom: 0; padding-bottom: 0; }
  .spec-key { color: var(--muted); flex: 0 0 auto; }
  .spec-val { color: var(--title); font-weight: 600; text-align: right; font-variant-numeric: tabular-nums; }

  /* ============ 校验提示 ============ */
  .check-grid { display: grid; gap: 16px; grid-template-columns: 1fr; }
  @media (min-width: 768px) { .check-grid { grid-template-columns: repeat(2, 1fr); } }
  .check-item {
    display: flex; gap: 14px; align-items: flex-start;
    background: #fff;
    border: 1px solid var(--stroke);
    border-left: 3px solid var(--brand);
    border-radius: 0 var(--r-lg) var(--r-lg) 0;
    padding: 18px 20px;
    box-shadow: var(--sh-card);
  }
  .check-ic {
    width: 28px; height: 28px; border-radius: 9px; flex: 0 0 auto;
    background: var(--brand-light); color: var(--brand);
    display: flex; align-items: center; justify-content: center;
  }
  .check-item h3 { font-size: 15px; line-height: 1.6; }
  .check-item p { margin: 6px 0 0; font-size: 14px; line-height: 1.85; color: var(--body); }

  /* ============ FAQ ============ */
  .faq-list {
    background: #fff;
    border: 1px solid var(--stroke);
    border-radius: var(--r-lg);
    overflow: hidden;
    box-shadow: var(--sh-card);
  }
  .faq-item { border-bottom: 1px solid var(--line); transition: box-shadow .2s ease, background-color .2s ease; }
  .faq-item:last-child { border-bottom: 0; }
  .faq-item.is-open { box-shadow: inset 3px 0 0 var(--brand); background: #FCFDFF; }
  .faq-q {
    width: 100%;
    display: flex; align-items: center; justify-content: space-between; gap: 16px;
    padding: 18px 22px;
    background: none; border: 0;
    font-size: 16px; font-weight: 600; color: var(--title);
    text-align: left; cursor: pointer;
    transition: color .18s ease;
  }
  .faq-q:hover { color: var(--brand); }
  .faq-item.is-open .faq-q { color: var(--brand); }
  .faq-icon {
    width: 22px; height: 22px; flex: 0 0 auto;
    border-radius: 999px; border: 1.5px solid var(--brand); color: var(--brand);
    display: flex; align-items: center; justify-content: center;
    font-size: 14px; line-height: 1; font-weight: 600;
  }
  .faq-a { max-height: 0; overflow: hidden; transition: max-height .3s ease; }
  .faq-a p { margin: 0; padding: 0 22px 20px; font-size: 15px; line-height: 1.85; color: var(--body); }

  /* ============ 底部 CTA ============ */
  .bottom-cta {
    background: #fff;
    border: 1px solid var(--stroke);
    border-radius: var(--r-xl);
    padding: 30px 24px;
    display: flex; flex-direction: column; gap: 20px;
    box-shadow: var(--sh-card);
  }
  @media (min-width: 768px) {
    .bottom-cta { flex-direction: row; align-items: center; justify-content: space-between; padding: 36px 40px; gap: 32px; }
  }
  .bottom-cta h2 { font-size: clamp(20px, 2.4vw, 24px); line-height: 1.4; }
  .bottom-cta p { margin: 10px 0 0; font-size: 14.5px; line-height: 1.85; color: var(--body); max-width: 620px; }
  .bottom-cta-actions { display: flex; flex-wrap: wrap; gap: 12px; flex: 0 0 auto; }
  @media (max-width: 520px) {
    .bottom-cta-actions { flex-direction: column; }
    .bottom-cta-actions .btn { width: 100%; }
  }

  /* ============ 页脚 ============ */
  .site-footer {
    margin-top: 56px;
    background: #F1F5FA;
    border-top: 1px solid var(--stroke);
  }
  .footer-grid { display: grid; gap: 32px; grid-template-columns: 1fr; }
  @media (min-width: 640px) { .footer-grid { grid-template-columns: repeat(2, 1fr); } }
  @media (min-width: 1024px) { .footer-grid { grid-template-columns: 1.5fr 1fr 1fr 1fr; gap: 40px; } }
  .footer-title { font-size: 14px; font-weight: 700; color: var(--title); }
  .footer-link { font-size: 14px; color: var(--body); line-height: 2.1; display: inline-block; }
  .footer-link:hover { color: var(--brand); }
  .footer-qr {
    width: 96px; height: 96px;
    background: #fff;
    border: 1px solid var(--stroke);
    border-radius: 12px;
    display: flex; align-items: center; justify-content: center;
    color: var(--brand);
  }
  .footer-bottom { border-top: 1px solid var(--stroke); color: var(--muted); font-size: 12px; line-height: 1.9; }
  .meta-text { font-size: 12px; color: var(--muted); line-height: 1.8; }

  @media (prefers-reduced-motion: reduce) {
    *, *::before, *::after { animation-duration: .01ms !important; transition-duration: .01ms !important; }
  }
