:root {
  --ink:#151515; --muted:#66645e; --yellow:#f5ba21; --yellow-dark:#d99d00;
  --paper:#fffdf7; --line:#e9e3d7;
  --gutter:20px;
  --wrap:min(1180px, calc(100% - var(--gutter) * 2));
  --bar-h:0px;                      /* 底部悬浮条占位，仅移动端赋值 */
  --safe-b:env(safe-area-inset-bottom, 0px);
}
* { box-sizing:border-box; }
html { scroll-behavior:smooth; overflow-x:clip; -webkit-text-size-adjust:100%; }
body {
  margin:0; background:var(--paper); color:var(--ink);
  font-family:"Noto Sans SC","Microsoft YaHei",Arial,sans-serif;
  padding-bottom:calc(var(--bar-h) + var(--safe-b));
  overflow-x:clip;
}
a { color:inherit; text-decoration:none; }
img { max-width:100%; }
/* 锚点跳转留出呼吸位 */
[id] { scroll-margin-top:24px; }

/* ===================================================================
   页头 + 主导航
   =================================================================== */
.site-header {
  width:var(--wrap); height:78px; margin:0 auto;
  display:flex; align-items:center; justify-content:space-between;
  border-bottom:1px solid var(--line);
}
.brand { display:flex; align-items:center; gap:11px; font-size:15px; font-weight:800; letter-spacing:.02em; }
.brand-mark { width:35px; height:35px; display:grid; place-items:center; background:var(--yellow); color:#18130a; transform:rotate(45deg); border-radius:7px; font-size:14px; flex:0 0 auto; }
.brand-mark::first-letter { transform:rotate(-45deg); }
.site-header nav { display:flex; gap:clamp(16px,2.4vw,30px); color:#56534c; font-size:14px; }
.site-header nav a:hover { color:#000; }
.header-cta { flex:0 0 auto; background:var(--ink); color:white; padding:11px 19px; border-radius:8px; font-size:14px; font-weight:700; white-space:nowrap; }

/* 面包屑 */
.breadcrumb { width:var(--wrap); margin:0 auto; padding:16px 0 0; font-size:13px; color:#847d70; }
.breadcrumb ol { list-style:none; display:flex; flex-wrap:wrap; align-items:center; gap:8px; margin:0; padding:0; }
.breadcrumb li { display:flex; align-items:center; gap:8px; }
.breadcrumb li+li::before { content:"/"; color:#c9c0ae; }
.breadcrumb a { display:inline-flex; align-items:center; min-height:32px; }
.breadcrumb a:hover { color:#000; text-decoration:underline; text-underline-offset:3px; }
.breadcrumb [aria-current] { color:#4a463f; }

/* ===================================================================
   首屏
   =================================================================== */
.hero {
  width:var(--wrap); min-height:600px; margin:0 auto;
  display:grid; grid-template-columns:1.1fr .9fr; align-items:center;
  gap:clamp(36px,6vw,88px); position:relative;
}
.hero::before { content:""; position:absolute; left:-28vw; top:90px; width:46vw; height:420px; background:radial-gradient(circle,rgba(245,186,33,.17),transparent 66%); pointer-events:none; }
.hero-copy { position:relative; z-index:1; padding:45px 0 55px; min-width:0; }
.eyebrow { display:flex; align-items:center; gap:9px; color:#736b5b; font-size:13px; font-weight:700; letter-spacing:.1em; }
.eyebrow span { width:7px; height:7px; background:var(--yellow); transform:rotate(45deg); flex:0 0 auto; }
h1 { margin:20px 0 16px; font-size:clamp(32px,6.4vw,66px); line-height:1.08; letter-spacing:-.045em; font-weight:900; overflow-wrap:break-word; }
.page-meta { display:flex; flex-wrap:wrap; gap:10px 18px; margin:0 0 20px; color:#8b8579; font-size:13px; }
.page-meta strong { color:#5c574e; font-weight:700; }
.hero-lead { max-width:630px; color:var(--muted); font-size:clamp(15px,1.35vw,17px); line-height:1.9; }
.hero-actions { display:flex; flex-wrap:wrap; gap:13px; margin-top:30px; }
.primary-button,.secondary-button { display:inline-flex; align-items:center; justify-content:center; min-height:50px; border-radius:9px; padding:0 22px; font-size:15px; font-weight:800; transition:.2s ease; text-align:center; }
.primary-button { gap:12px; background:var(--yellow); box-shadow:0 7px 20px rgba(178,125,0,.15); }
.primary-button:hover { background:#ffca3b; transform:translateY(-1px); }
.secondary-button { border:1px solid #d8d0c1; background:rgba(255,255,255,.65); }
.microcopy { margin-top:17px; color:#77736b; font-size:13px; word-spacing:4px; }
.microcopy span:first-child { color:#1e8b57; }

/* 下载卡片 */
.download-card { background:#fff; border:1px solid #e5dccb; border-radius:22px; box-shadow:0 25px 80px rgba(56,44,17,.11); padding:clamp(20px,2.4vw,30px); position:relative; min-width:0; }
.download-card::after { content:""; position:absolute; inset:10px -12px -12px 12px; border:1px solid rgba(245,186,33,.28); border-radius:22px; z-index:-1; }
.app-row { display:grid; grid-template-columns:60px minmax(0,1fr) auto; align-items:center; gap:16px; padding-bottom:25px; border-bottom:1px solid #eee8dc; }
.app-icon { width:60px; height:60px; border-radius:15px; background:#191919; color:var(--yellow); display:grid; place-items:center; font-size:25px; }
.app-label { margin:0 0 4px; color:#8b8579; font-size:10px; font-weight:800; letter-spacing:.12em; }
.app-name { margin:0; font-size:clamp(19px,1.8vw,22px); font-weight:800; letter-spacing:-.02em; }
.verified { color:#2d845c; background:#ecf7f1; border-radius:20px; padding:6px 10px; font-size:11px; font-weight:800; white-space:nowrap; }
.version-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); margin:0; }
.version-grid div { padding:20px 0; border-bottom:1px solid #eee8dc; min-width:0; }
.version-grid div:nth-child(odd) { border-right:1px solid #eee8dc; padding-right:16px; }
.version-grid div:nth-child(even) { padding-left:22px; }
.version-grid dt { color:#8b8579; font-size:12px; margin-bottom:6px; }
.version-grid dd { margin:0; font-size:14px; font-weight:800; overflow-wrap:break-word; }
.safety-note { display:flex; gap:13px; margin-top:24px; padding:14px 16px; background:#fff9e8; border-radius:10px; color:#5f522d; font-size:13px; line-height:1.65; }
.safety-note>span { font-size:20px; flex:0 0 auto; }
.safety-note p { margin:0; }

/* 信任条 */
.trust-strip { width:var(--wrap); margin:0 auto clamp(55px,7vw,100px); display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); border-block:1px solid var(--line); }
.trust-strip p { margin:0; padding:23px clamp(16px,2vw,25px); display:flex; flex-direction:column; gap:5px; border-right:1px solid var(--line); }
.trust-strip p:last-child { border-right:0; }
.trust-strip strong { font-size:14px; }
.trust-strip span { color:#827c70; font-size:13px; }

.section-kicker { color:var(--yellow-dark); font-weight:800; font-size:12px; letter-spacing:.12em; }
.content-section,.article-layout,.risk-disclosure,.site-footer { width:var(--wrap); margin-inline:auto; }

/* ===================================================================
   快速解答
   =================================================================== */
.quick-answer { padding:25px 0 clamp(70px,9vw,115px); }
.section-heading { max-width:720px; margin-bottom:clamp(28px,3.6vw,42px); }
.section-heading h2,.article-section>h2 { margin:10px 0 18px; font-size:clamp(26px,4.4vw,46px); line-height:1.2; letter-spacing:-.04em; overflow-wrap:break-word; }
.section-heading>p:last-child,.article-section>p { color:var(--muted); font-size:clamp(15px,1.3vw,16px); line-height:1.9; }
.step-cards { list-style:none; padding:0; margin:0; display:grid; grid-template-columns:repeat(auto-fit,minmax(258px,1fr)); gap:16px; }
.step-cards li { background:#fff; border:1px solid var(--line); border-radius:16px; padding:clamp(22px,2.2vw,28px); box-shadow:0 12px 40px rgba(37,28,7,.045); }
.step-cards li>span { color:var(--yellow-dark); font-family:Georgia,serif; font-size:13px; font-weight:800; }
.step-cards h3 { margin:clamp(22px,3vw,38px) 0 10px; font-size:20px; }
.step-cards p { margin:0; color:var(--muted); font-size:14px; line-height:1.75; }

/* ===================================================================
   App 介绍 + 截图
   =================================================================== */
.app-intro { padding:clamp(64px,7vw,90px) 0 clamp(75px,9vw,115px); border-top:1px solid var(--line); }
.app-intro-copy { display:grid; grid-template-columns:.75fr 1.15fr 1.15fr; gap:clamp(20px,3vw,38px); align-items:start; }
.app-intro-copy .section-kicker { margin-top:8px; }
.app-intro-copy h2 { margin:0; font-size:clamp(28px,4.4vw,50px); line-height:1.14; letter-spacing:-.045em; }
.app-intro-copy>p:not(.section-kicker) { margin:5px 0 0; color:var(--muted); font-size:14.5px; line-height:1.9; }
.feature-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(196px,1fr)); gap:12px; margin-top:clamp(32px,4vw,48px); }
.feature-grid>div { padding:22px; border:1px solid var(--line); border-radius:14px; background:rgba(255,255,255,.65); }
.feature-grid span { color:#a17918; font-family:Georgia,serif; font-size:11px; }
.feature-grid h3 { margin:clamp(18px,2.4vw,28px) 0 8px; font-size:16px; }
.feature-grid p { margin:0; color:var(--muted); font-size:13px; line-height:1.7; }

.screenshot-heading { display:flex; flex-wrap:wrap; align-items:end; justify-content:space-between; gap:20px 35px; margin:clamp(64px,8vw,100px) 0 30px; }
.screenshot-heading h2 { margin:10px 0 0; font-size:clamp(26px,4.2vw,46px); letter-spacing:-.04em; }
.screenshot-heading>p { max-width:400px; margin:0 0 6px; color:var(--muted); font-size:13.5px; line-height:1.75; }
.screenshot-gallery { display:grid; grid-template-columns:1.55fr .85fr; gap:16px; }
.screenshot-card { margin:0; min-width:0; overflow:hidden; border:1px solid #272727; border-radius:18px; background:#111; box-shadow:0 18px 55px rgba(31,24,8,.11); }
.screenshot-frame { height:clamp(230px,30vw,430px); display:block; overflow:hidden; background:linear-gradient(150deg,#171717,#070707); }
.screenshot-frame img { width:100%; height:100%; object-fit:contain; display:block; color:#a8a399; font-size:12px; }
.screenshot-frame-motion img { object-fit:cover; }
.screenshot-card figcaption { display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:4px 20px; padding:17px 19px; border-top:1px solid #292929; color:#fff; }
.screenshot-card figcaption strong { font-size:13.5px; }
.screenshot-card figcaption span { color:#9a968d; font-size:12px; }
.image-source { margin:18px 0 0; color:#827c70; font-size:12px; line-height:1.7; }
.image-source a { color:#5f4b17; text-decoration:underline; text-underline-offset:3px; }

/* ===================================================================
   正文 + 侧栏
   =================================================================== */
.article-layout { display:grid; grid-template-columns:minmax(0,780px) minmax(0,270px); justify-content:space-between; gap:clamp(32px,5vw,70px); align-items:start; }
.article-body,.page-aside { min-width:0; }
.article-section { padding:25px 0 clamp(64px,8vw,100px); border-top:1px solid var(--line); }
.article-section:first-child { border-top:0; }
.article-section>h2 { font-size:clamp(24px,3.9vw,42px); }
.article-section h3 { font-size:19px; }

.install-timeline { margin-top:clamp(28px,4vw,42px); }
.install-timeline>div { display:grid; grid-template-columns:44px minmax(0,1fr); gap:clamp(14px,2vw,22px); position:relative; padding-bottom:34px; }
.install-timeline>div::before { content:""; position:absolute; left:21px; top:45px; bottom:2px; width:1px; background:#ded6c7; }
.install-timeline>div:last-child::before { display:none; }
.install-timeline>div>span { width:44px; height:44px; border:1px solid #d8cfbd; border-radius:50%; background:#fffdf7; display:grid; place-items:center; font-family:Georgia,serif; font-weight:700; color:#9b7311; }
.install-timeline h3 { margin:0 0 9px; font-size:18px; }
.install-timeline p { margin:0; color:var(--muted); font-size:14.5px; line-height:1.8; }

.check-list { list-style:none; padding:0; margin:clamp(28px,4vw,38px) 0 30px; display:grid; gap:12px; }
.check-list li { display:grid; grid-template-columns:34px minmax(0,1fr); gap:14px; padding:20px clamp(16px,2vw,22px); background:#fff; border:1px solid var(--line); border-radius:12px; }
.check-list li>span { width:30px; height:30px; display:grid; place-items:center; color:#187a4d; background:#ecf8f1; border-radius:50%; font-size:13px; font-weight:900; }
.check-list h3 { margin:0; font-size:15.5px; }
.check-list p { margin:5px 0 0; color:var(--muted); font-size:13.5px; line-height:1.75; }

.editor-note { display:grid; grid-template-columns:42px minmax(0,1fr); gap:16px; background:#191919; color:white; border-radius:16px; padding:clamp(20px,2.4vw,25px); }
.editor-note>span { width:38px; height:38px; display:grid; place-items:center; border-radius:50%; border:1px solid #555; color:var(--yellow); font-family:Georgia,serif; }
.editor-note h3 { margin:0; font-size:15.5px; }
.editor-note p { margin:7px 0 0; color:#c9c5bb; font-size:13.5px; line-height:1.75; }

.issue-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(272px,1fr)); gap:14px; margin-top:clamp(28px,4vw,38px); }
.issue-grid>div { padding:24px; border:1px solid var(--line); border-radius:14px; background:rgba(255,255,255,.55); }
.issue-grid h3 { margin:0 0 10px; font-size:16px; }
.issue-grid p { margin:0; color:var(--muted); font-size:13.5px; line-height:1.75; }

/* 数据表：宽屏表格 / 窄屏卡片 */
.table-scroll { margin-top:clamp(28px,4vw,38px); overflow-x:auto; -webkit-overflow-scrolling:touch; border:1px solid var(--line); border-radius:14px; background:#fff; }
.data-table { width:100%; min-width:560px; border-collapse:collapse; font-size:14px; }
.data-table caption { padding:18px 20px 0; text-align:left; color:#8b8579; font-size:12.5px; }
.data-table th,.data-table td { padding:15px 20px; text-align:left; border-bottom:1px solid #f0ebe1; line-height:1.7; }
.data-table thead th { background:#fbf7ee; color:#5f5748; font-size:13px; font-weight:800; white-space:nowrap; }
.data-table tbody th { font-weight:800; color:var(--ink); white-space:nowrap; }
.data-table td { color:var(--muted); }
.data-table tbody tr:last-child th,.data-table tbody tr:last-child td { border-bottom:0; }
.tag-ok { color:#187a4d; font-weight:800; }
.tag-warn { color:#a2611a; font-weight:800; }
.tag-bad { color:#a52f2f; font-weight:800; }

.setup-list { margin:clamp(28px,4vw,38px) 0 0; padding-left:22px; color:var(--muted); font-size:14.5px; line-height:1.9; }
.setup-list li { margin-bottom:10px; }
.setup-list strong { color:var(--ink); }

.glossary { margin:clamp(28px,4vw,38px) 0 0; }
.glossary div { padding:20px 0; border-bottom:1px solid var(--line); }
.glossary div:last-child { border-bottom:0; }
.glossary dt { font-size:15.5px; font-weight:800; margin-bottom:7px; }
.glossary dd { margin:0; color:var(--muted); font-size:14px; line-height:1.8; }

.faq-list { margin-top:35px; border-top:1px solid var(--line); }
.faq-list details { border-bottom:1px solid var(--line); }
.faq-list summary { list-style:none; cursor:pointer; display:flex; align-items:center; justify-content:space-between; gap:16px; padding:20px 2px; min-height:44px; font-size:clamp(15px,1.4vw,16px); font-weight:750; line-height:1.6; }
.faq-list summary::-webkit-details-marker { display:none; }
.faq-list summary span { flex:0 0 auto; color:#96865f; font-size:22px; font-weight:400; transition:transform .2s ease; }
.faq-list details[open] summary span { transform:rotate(45deg); }
.faq-list details p { margin:-4px 0 24px; max-width:690px; color:var(--muted); font-size:14.5px; line-height:1.85; }

.related-links { margin-top:clamp(28px,4vw,38px); display:grid; grid-template-columns:repeat(auto-fit,minmax(258px,1fr)); gap:12px; }
.related-links a { display:block; padding:20px 22px; border:1px solid var(--line); border-radius:12px; background:#fff; }
.related-links a:hover { border-color:#d6c9ab; }
.related-links strong { display:block; font-size:15px; margin-bottom:6px; }
.related-links span { color:var(--muted); font-size:13px; line-height:1.7; }

.review-box { display:grid; grid-template-columns:1.2fr .8fr; gap:clamp(24px,3vw,35px); padding:clamp(24px,3vw,32px); margin-bottom:clamp(70px,9vw,100px); background:#f4efe4; border-radius:18px; }
.review-label { margin:0 0 9px; color:#8e805e; font-size:10px; font-weight:800; letter-spacing:.13em; }
.review-box h2 { margin:0 0 10px; font-size:20px; }
.review-box p:not(.review-label) { margin:0; color:#6c665b; font-size:13.5px; line-height:1.75; }
.review-box dl { margin:0; }
.review-box dl>div { display:flex; flex-wrap:wrap; justify-content:space-between; gap:4px 20px; padding:9px 0; border-bottom:1px solid #ded5c5; font-size:13px; }
.review-box dl>div:last-child { border-bottom:0; }
.review-box dt { color:#8c8578; }
.review-box dd { margin:0; text-align:right; font-weight:700; }

/* 侧栏 */
.page-aside { position:sticky; top:28px; display:grid; gap:16px; }
.toc-card { display:block; padding:23px; border:1px solid var(--line); background:#fff; border-radius:14px; }
.toc-card p { margin:0 0 15px; font-size:11px; font-weight:900; letter-spacing:.1em; color:#8c8066; }
.toc-card a { display:block; padding:9px 0; color:#59564f; font-size:13.5px; border-bottom:1px solid #f1ede6; }
.toc-card a:last-child { border-bottom:0; }
.toc-card a:hover { color:#000; padding-left:3px; }
.aside-cta { padding:24px; background:var(--yellow); border-radius:14px; }
.aside-cta>span { font-size:9px; font-weight:900; letter-spacing:.13em; }
.aside-title { margin:28px 0 8px; font-size:23px; font-weight:900; letter-spacing:-.03em; }
.aside-cta p { color:#59491d; font-size:12.5px; line-height:1.65; }
.aside-cta>a { display:flex; align-items:center; justify-content:space-between; margin-top:20px; padding:13px 14px; background:#191919; color:white; border-radius:8px; font-size:13px; font-weight:800; }

/* 风险提示 + 页脚 */
.risk-disclosure { display:grid; grid-template-columns:140px minmax(0,1fr); gap:clamp(14px,2vw,25px); padding:31px 0; border-block:1px solid var(--line); }
.risk-disclosure h2 { margin:0; font-size:14px; }
.risk-disclosure p { margin:0; color:#726c63; font-size:13px; line-height:1.8; }
.site-footer { padding:55px 0 clamp(55px,8vw,115px); display:grid; grid-template-columns:1.2fr 1.5fr 1fr; align-items:center; gap:25px; color:#6f6a61; }
.footer-brand { color:#1a1a1a; }
.site-footer>p { margin:0; font-size:13px; line-height:1.75; }
.site-footer>div { display:flex; flex-wrap:wrap; justify-content:flex-end; gap:6px 18px; font-size:13px; }
.site-footer>div a { display:inline-flex; align-items:center; min-height:36px; }
.site-footer small { grid-column:1/-1; padding-top:25px; border-top:1px solid var(--line); font-size:11.5px; line-height:1.8; }

/* 底部悬浮下载条：默认不显示，仅小屏启用 */
.mobile-download { display:none; }

/* ===================================================================
   断点 1：≤1080px　收紧首屏栅格
   =================================================================== */
@media (max-width:1080px) {
  .hero { min-height:0; padding-bottom:20px; }
  .app-intro-copy { grid-template-columns:.9fr 1.1fr 1.1fr; }
}

/* ===================================================================
   断点 2：≤920px　双栏正文合并，侧栏目录上移为胶囊条
   =================================================================== */
@media (max-width:920px) {
  .article-layout { grid-template-columns:minmax(0,1fr); gap:0; }
  .page-aside { order:-1; position:static; display:block; margin:0 0 34px; }
  .aside-cta { display:none; }            /* 与底部悬浮条重复 */
  .toc-card { display:flex; gap:8px; padding:12px; overflow-x:auto; -webkit-overflow-scrolling:touch; scrollbar-width:none; }
  .toc-card::-webkit-scrollbar { display:none; }
  .toc-card p { display:none; }
  .toc-card a { flex:0 0 auto; display:flex; align-items:center; min-height:40px; padding:0 15px; border:1px solid var(--line); border-bottom:1px solid var(--line); border-radius:999px; background:#fdfbf6; font-size:13px; white-space:nowrap; }
  .toc-card a:hover { padding-left:15px; }
  .app-intro-copy { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .app-intro-copy .section-kicker { grid-column:1/-1; }
  .screenshot-gallery { grid-template-columns:1.3fr 1fr; }
}

/* ===================================================================
   断点 3：≤860px　主导航改为横向滑动胶囊条（不再隐藏）
   =================================================================== */
@media (max-width:860px) {
  .site-header { height:auto; flex-wrap:wrap; align-items:center; padding-top:14px; row-gap:2px; border-bottom:0; }
  .site-header .brand { order:1; }
  .site-header .header-cta { order:2; }
  .site-header nav {
    order:3; width:100%; gap:0; margin-top:6px;
    overflow-x:auto; -webkit-overflow-scrolling:touch; scrollbar-width:none;
    border-top:1px solid var(--line); border-bottom:1px solid var(--line);
  }
  .site-header nav::-webkit-scrollbar { display:none; }
  .site-header nav a { flex:0 0 auto; display:flex; align-items:center; min-height:46px; padding:0 14px; white-space:nowrap; }
  .site-header nav a:first-child { padding-left:0; }
  .site-header nav a:last-child { padding-right:2px; }
}

/* ===================================================================
   断点 4：≤780px　单栏化 + 底部悬浮下载条
   =================================================================== */
@media (max-width:780px) {
  :root { --gutter:16px; --bar-h:76px; }
  .hero { grid-template-columns:minmax(0,1fr); gap:26px; padding:14px 0 60px; }
  .hero-copy { padding:14px 0 0; }
  .hero-lead { max-width:none; }
  .hero-actions { flex-direction:column; gap:10px; }
  .hero-actions>a { width:100%; }
  .verified { display:none; }
  .trust-strip { grid-template-columns:minmax(0,1fr); }
  .trust-strip p { border-right:0; border-bottom:1px solid var(--line); padding:18px 0; }
  .trust-strip p:last-child { border-bottom:0; }
  .quick-answer { padding-top:0; }
  .app-intro-copy { grid-template-columns:minmax(0,1fr); gap:14px; }
  .app-intro-copy .section-kicker { grid-column:auto; }
  .screenshot-heading { display:block; }
  .screenshot-heading>p { margin-top:14px; max-width:none; }
  .screenshot-gallery { grid-template-columns:minmax(0,1fr); }
  .review-box { grid-template-columns:minmax(0,1fr); }
  .risk-disclosure { grid-template-columns:minmax(0,1fr); gap:10px; }
  .risk-disclosure h2 { font-size:15px; }
  .site-footer { grid-template-columns:minmax(0,1fr); gap:18px; padding-top:40px; }
  .site-footer>div { justify-content:flex-start; }
  .site-footer small { grid-column:auto; }
  .mobile-download {
    position:fixed; z-index:20; left:var(--gutter); right:var(--gutter);
    bottom:calc(12px + var(--safe-b));
    display:flex; align-items:center; justify-content:space-between; gap:12px;
    min-height:52px; padding:0 18px;
    background:var(--yellow); color:#16120a; border:1px solid rgba(0,0,0,.1);
    border-radius:12px; box-shadow:0 10px 35px rgba(0,0,0,.22);
    font-size:14px; font-weight:900;
  }
}

/* ===================================================================
   断点 5：≤640px　数据表由横向滚动改为堆叠卡片
   =================================================================== */
@media (max-width:640px) {
  .table-scroll { overflow:visible; border:0; background:transparent; border-radius:0; }
  .data-table { min-width:0; display:block; font-size:14px; }
  .data-table caption { padding:0 0 14px; }
  /* thead 保留在 DOM 中供读屏与抓取，仅视觉隐藏 */
  .data-table thead { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0 0 0 0); white-space:nowrap; border:0; }
  .data-table tbody,.data-table tr,.data-table th,.data-table td { display:block; width:100%; }
  .data-table tbody tr { background:#fff; border:1px solid var(--line); border-radius:14px; margin-bottom:12px; overflow:hidden; }
  .data-table tbody tr:last-child { margin-bottom:0; }
  .data-table tbody th { padding:16px 18px 10px; font-size:16px; white-space:normal; border-bottom:1px solid #f2ede3; background:#fdfaf3; }
  .data-table tbody td { padding:12px 18px; border-bottom:1px solid #f6f2ea; }
  .data-table tbody tr td:last-child { border-bottom:0; }
  .data-table tbody td::before {
    content:attr(data-label); display:block; margin-bottom:4px;
    color:#9b9488; font-size:11.5px; font-weight:800; letter-spacing:.06em;
  }
  .install-timeline>div { grid-template-columns:36px minmax(0,1fr); gap:14px; padding-bottom:28px; }
  .install-timeline>div::before { left:17px; top:38px; }
  .install-timeline>div>span { width:36px; height:36px; font-size:14px; }
  .check-list li { grid-template-columns:28px minmax(0,1fr); gap:12px; padding:18px 16px; }
  .check-list li>span { width:26px; height:26px; font-size:12px; }
  .editor-note { grid-template-columns:minmax(0,1fr); gap:12px; }
  .glossary div { padding:16px 0; }
}

/* ===================================================================
   断点 6：≤480px　最小可用宽度收敛
   =================================================================== */
@media (max-width:480px) {
  .site-header .brand span:last-child { font-size:14px; }
  .header-cta { padding:10px 14px; font-size:13px; }
  .breadcrumb { font-size:12px; }
  .version-grid { grid-template-columns:minmax(0,1fr); }
  .version-grid div:nth-child(odd) { border-right:0; padding-right:0; }
  .version-grid div:nth-child(even) { padding-left:0; }
  .version-grid div:last-child { border-bottom:0; padding-bottom:0; }
  .screenshot-card figcaption { align-items:flex-start; flex-direction:column; gap:4px; }
  .review-box dl>div { flex-direction:column; }
  .review-box dd { text-align:left; }
  .feature-grid { grid-template-columns:minmax(0,1fr); }
  .feature-grid>div { padding:18px; }
  .feature-grid h3 { margin-top:14px; }
  .mobile-download { font-size:13px; padding:0 14px; }
}

/* ===================================================================
   断点 7：≤360px　小屏手机 / 折叠屏外屏
   =================================================================== */
@media (max-width:360px) {
  :root { --gutter:14px; }
  .app-row { grid-template-columns:48px minmax(0,1fr); }
  .app-icon { width:48px; height:48px; font-size:21px; }
  .step-cards li,.issue-grid>div,.related-links a { padding:18px; }
  .faq-list summary { font-size:14.5px; }
  .site-header nav a { padding:0 11px; }
}

/* ===================================================================
   横屏矮视口：首屏不再撑满
   =================================================================== */
@media (max-height:540px) and (orientation:landscape) {
  .hero { min-height:0; }
  .hero-copy { padding:16px 0; }
}

/* 粗指针设备：放大可点区域 */
@media (pointer:coarse) {
  .site-footer>div a,.image-source a { display:inline-flex; align-items:center; min-height:34px; }
  .toc-card a { min-height:44px; }
}

/* 降低动效 */
@media (prefers-reduced-motion:reduce) {
  html { scroll-behavior:auto; }
  .primary-button,.faq-list summary span,.toc-card a { transition:none; }
  .primary-button:hover { transform:none; }
}

/* 打印 */
@media print {
  .site-header nav,.header-cta,.mobile-download,.page-aside,.hero-actions,.screenshot-gallery,.breadcrumb { display:none !important; }
  body { background:#fff; color:#000; padding:0; }
  .hero { min-height:0; grid-template-columns:1fr; gap:0; }
  .hero::before,.download-card::after { display:none; }
  .article-section,.step-cards li,.issue-grid>div { break-inside:avoid; }
  .article-layout { grid-template-columns:1fr; }
  a[href^="http"]::after { content:" (" attr(href) ")"; font-size:10px; color:#555; }
}