/* ==========================================================================
   jsscapp.com — jsscapp下载
   骨架：极简下载卡（minimal card）· 窄栏居中 + 大留白 + 细线分隔
   ========================================================================== */

body.dl-body { background: #fcfcfb; }

.dl-hero { padding: 76px 0 0; text-align: center; background: #fcfcfb; }
.dl-hero .k { font-family: var(--mono); font-size: 10.5px; letter-spacing: .3em; color: var(--muted-2); text-transform: uppercase; }
.dl-hero h1 { margin-top: 18px; font-size: clamp(36px, 5vw, 62px); letter-spacing: -.04em; line-height: 1.06; }
.dl-hero h1 em { font-style: normal; color: var(--accent); }
.dl-hero p { margin: 20px auto 0; max-width: 34em; font-size: 15.5px; line-height: 2.05; color: var(--muted); }
.dl-hero p b { color: var(--ink); }
.dl-hero .hero-actions { margin-top: 30px; justify-content: center; }
.dl-card-figure { margin: 52px auto 0; max-width: 980px; }
.dl-card-figure img { width: 100%; height: auto; }

/* 最短路径条 */
.dl-short { background: var(--ink); color: #fff; margin-top: 0; }
.dl-short .container { display: flex; flex-wrap: wrap; justify-content: center; gap: 0; }
.dl-short div { padding: 16px 30px; border-right: 1px solid rgba(255, 255, 255, .12); font-size: 13px; color: rgba(255, 255, 255, .7); }
.dl-short div:last-child { border-right: 0; }
.dl-short b { color: #fff; font-family: var(--sans-num); font-size: 15px; letter-spacing: .02em; margin-right: 6px; }

/* 区块 */
.dl-sec { padding: 78px 0; }
.dl-sec.line { border-top: 1px solid var(--line-2); }
.dl-sec.tint { background: #f4f4f1; border-block: 1px solid var(--line-2); }
.dl-head { max-width: 640px; margin: 0 auto 40px; text-align: center; }
.dl-head .no { font-family: var(--mono); font-size: 10px; letter-spacing: .24em; color: var(--accent); }
.dl-head h2 { margin-top: 10px; font-size: clamp(22px, 2.7vw, 30px); letter-spacing: -.02em; }
.dl-head p { margin-top: 12px; font-size: 14px; line-height: 2; color: var(--muted); }

/* 三步 */
.steps3 { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 0; max-width: 900px; margin: 0 auto; }
.steps3 div { text-align: center; padding: 0 22px; position: relative; }
.steps3 div + div::before { content: ""; position: absolute; left: 0; top: 26px; bottom: 20px; width: 1px; background: var(--line-2); }
.steps3 b { display: inline-grid; place-items: center; width: 54px; height: 54px; border-radius: 50%; border: 1px solid var(--ink); font-family: var(--sans-num); font-size: 20px; }
.steps3 h3 { margin-top: 18px; font-size: 16.5px; }
.steps3 p { margin-top: 8px; font-size: 13px; line-height: 1.9; color: var(--muted); }

/* 下载卡 */
.dcard { max-width: 720px; margin: 0 auto; background: #fff; border: 1px solid var(--line); border-radius: 14px; overflow: hidden; box-shadow: var(--shadow-s); }
.dcard-top { display: flex; align-items: center; gap: 18px; padding: 26px 28px; border-bottom: 1px solid var(--line-2); }
.dcard-icon { width: 56px; height: 56px; border-radius: 14px; background: var(--ink); color: #fff; display: grid; place-items: center; font-family: var(--sans-num); font-size: 20px; font-weight: 700; transform: skewX(-6deg); }
.dcard-top h3 { font-size: 18px; }
.dcard-top p { font-size: 12.5px; color: var(--muted); margin-top: 2px; }
.dcard-top .badge { margin-left: auto; font-family: var(--mono); font-size: 10px; letter-spacing: .14em; padding: 4px 10px; border-radius: 999px; background: rgba(15, 143, 131, .1); color: #0a6b62; }
.dcard-rows { display: grid; }
.dcard-rows div { display: grid; grid-template-columns: 130px minmax(0, 1fr); gap: 20px; padding: 14px 28px; border-bottom: 1px solid var(--line-2); font-size: 13.5px; }
.dcard-rows div:last-child { border-bottom: 0; }
.dcard-rows b { font-family: var(--mono); font-size: 11px; letter-spacing: .12em; color: var(--muted-2); text-transform: uppercase; padding-top: 3px; }
.dcard-rows span { color: var(--ink-2); }
.dcard-foot { padding: 22px 28px; background: #fafaf7; border-top: 1px solid var(--line-2); display: flex; flex-wrap: wrap; gap: 12px; align-items: center; justify-content: space-between; }
.dcard-foot .tip { font-size: 12.5px; color: var(--muted); }
.dcard-foot .tip a { color: var(--accent); }

/* 两个校验点 */
.checks2 { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; max-width: 860px; margin: 0 auto; }
.checks2 article { padding: 30px 28px; border: 1px solid var(--line); border-radius: 12px; background: #fff; }
.checks2 .n { font-family: var(--sans-num); font-size: 34px; line-height: 1; color: rgba(15, 19, 21, .12); }
.checks2 h3 { margin-top: 12px; font-size: 17px; }
.checks2 p { margin-top: 8px; font-size: 13.5px; line-height: 1.95; color: var(--muted); }
.checks2 .how { margin-top: 16px; padding: 10px 14px; border-radius: 8px; background: #f5f5f1; font-family: var(--mono); font-size: 11.5px; color: var(--ink-2); }/* 和其它下载页的区别 */
.diff2 { display: grid; grid-template-columns: 1fr 1fr; gap: 0; max-width: 860px; margin: 0 auto; border: 1px solid var(--line); border-radius: 12px; overflow: hidden; background: #fff; }
.diff2 > div { padding: 30px 28px; }
.diff2 > div + div { border-left: 1px solid var(--line-2); background: #fafaf7; }
.diff2 .k { font-family: var(--mono); font-size: 10px; letter-spacing: .18em; color: var(--muted-2); }
.diff2 h3 { margin-top: 10px; font-size: 19px; }
.diff2 ul { margin-top: 16px; display: grid; gap: 9px; }
.diff2 li { font-size: 13px; line-height: 1.85; color: var(--muted); padding-left: 15px; position: relative; }
.diff2 li::before { content: "·"; position: absolute; left: 3px; color: var(--accent); font-weight: 700; }
.diff2 a { display: inline-block; margin-top: 18px; font-size: 12.5px; font-weight: 700; color: var(--accent); }

/* 场景 */
.scenes { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 14px; max-width: 940px; margin: 0 auto; }
.scenes div { padding: 26px 22px; background: #fff; border: 1px solid var(--line); border-radius: 10px; }
.scenes b { font-family: var(--mono); font-size: 10px; letter-spacing: .16em; color: var(--muted-2); }
.scenes h3 { margin-top: 10px; font-size: 16px; }
.scenes p { margin-top: 7px; font-size: 13px; line-height: 1.9; color: var(--muted); }

/* 小抄 */
.cheat { max-width: 760px; margin: 0 auto; border-top: 1px solid var(--line); }
.cheat div { display: grid; grid-template-columns: 40px minmax(0, 1fr) 96px; gap: 18px; align-items: baseline; padding: 16px 0; border-bottom: 1px solid var(--line-2); }
.cheat b { font-family: var(--sans-num); font-size: 13px; color: var(--accent); }
.cheat h3 { font-size: 14.5px; }
.cheat p { margin-top: 3px; font-size: 12.5px; line-height: 1.8; color: var(--muted); }
.cheat span { font-family: var(--mono); font-size: 10px; letter-spacing: .1em; color: var(--muted-2); text-align: right; }

/* 重来流程 */
.retry { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 0; max-width: 900px; margin: 0 auto; position: relative; }
.retry div { padding: 24px 20px 0 0; position: relative; }
.retry div::before { content: ""; position: absolute; left: 0; top: 8px; width: 12px; height: 12px; border-radius: 50%; border: 2px solid var(--accent); background: #fff; }
.retry div::after { content: ""; position: absolute; left: 20px; top: 13px; right: 6px; height: 1px; background: var(--line); }
.retry div:last-child::after { display: none; }
.retry b { display: block; font-family: var(--mono); font-size: 10px; letter-spacing: .14em; color: var(--muted-2); padding-left: 22px; }
.retry h3 { margin-top: 10px; font-size: 15px; }
.retry p { margin-top: 6px; font-size: 12.5px; line-height: 1.85; color: var(--muted); }

/* 安全 */
.safety { max-width: 820px; margin: 0 auto; display: grid; grid-template-columns: 44px minmax(0, 1fr); gap: 22px; padding: 28px 30px; border: 1px solid rgba(232, 56, 13, .26); border-radius: 12px; background: #fff7f4; }
.safety .mark { width: 40px; height: 40px; border-radius: 50%; background: var(--accent); color: #fff; display: grid; place-items: center; font-weight: 700; font-size: 18px; }
.safety h2 { font-size: 18px; }
.safety p { margin-top: 8px; font-size: 13.5px; line-height: 1.95; color: #5b4a44; }
.safety p b { color: var(--accent); }

/* 版本记录 */
.vlogs { max-width: 720px; margin: 0 auto; }
.vlogs div { display: grid; grid-template-columns: 110px minmax(0, 1fr); gap: 20px; padding: 14px 0; border-bottom: 1px solid var(--line-2); }
.vlogs b { font-family: var(--mono); font-size: 11.5px; color: var(--muted-2); }
.vlogs span { font-size: 13.5px; color: var(--ink-2); }

/* 谁不需要 */
.dont { max-width: 760px; margin: 0 auto; display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }
.dont div { padding: 16px 20px; background: #f6f6f2; border-radius: 8px; font-size: 13.5px; line-height: 1.9; color: var(--muted); }
.dont div b { display: block; color: var(--ink); font-size: 14px; margin-bottom: 3px; }

/* 相关 */
.dl-rel { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; max-width: 900px; margin: 0 auto; }
.dl-rel a { padding: 20px 22px; border: 1px solid var(--line); border-radius: 10px; background: #fff; text-align: center; transition: border-color .18s, transform .18s; }
.dl-rel a:hover { border-color: var(--ink); transform: translateY(-2px); }
.dl-rel b { display: block; font-size: 15px; }
.dl-rel span { display: block; margin-top: 3px; font-size: 12px; color: var(--muted); }

@media (max-width: 900px) {
  .steps3 { grid-template-columns: minmax(0, 1fr); gap: 26px; }
  .steps3 div + div::before { display: none; }
  .checks2, .diff2, .scenes, .dont { grid-template-columns: minmax(0, 1fr); }
  .diff2 > div + div { border-left: 0; border-top: 1px solid var(--line-2); }
  .retry { grid-template-columns: 1fr 1fr; gap: 18px 0; }
  .retry div:nth-child(2)::after { display: none; }
  .dl-rel { grid-template-columns: minmax(0, 1fr); }
}
@media (max-width: 680px) {
  .dl-hero { padding: 50px 0 0; }
  .dl-sec { padding: 54px 0; }
  .dl-short .container { flex-direction: column; }
  .dl-short div { border-right: 0; border-bottom: 1px solid rgba(255, 255, 255, .1); }
  .dl-short div:last-child { border-bottom: 0; }
  .dcard-rows div { grid-template-columns: minmax(0, 1fr); gap: 4px; padding: 12px 20px; }
  .dcard-top { flex-wrap: wrap; }
  .cheat div { grid-template-columns: 28px minmax(0, 1fr); }
  .cheat span { display: none; }
  .retry { grid-template-columns: minmax(0, 1fr); }
  .retry div::after { display: none; }
  .safety { grid-template-columns: minmax(0, 1fr); gap: 14px; padding: 22px; }
  .vlogs div { grid-template-columns: minmax(0, 1fr); gap: 2px; }
}/* FAQ 收窄 */
.dl-body .faq { max-width: 760px; margin: 0 auto; }