:root {
  --brand: #00c458;
  --brand-d: #0b8f37;
  --brand-l: #9fe3b8;
  --brand-soft: #effbf3;
  --brand-grad: linear-gradient(135deg, #12b347, #0b8f37);
  --brand-shadow: rgba(18, 179, 71, .24);
  --hero-1: #a9c8d6;
  --hero-2: #fff;
  --deco: #0b8f37;
}
body[data-theme="blue"] {
  --brand: #1a7fc4;
  --brand-d: #1567a3;
  --brand-l: #9cc8e8;
  --brand-soft: #eef7fd;
  --brand-grad: linear-gradient(135deg, #3d9ee0, #1a7fc4);
  --brand-shadow: rgba(26, 127, 196, .24);
  --hero-1: #b8cde0;
  --hero-2: #eef4f9;
  --deco: #1a5f96;
}
* { margin: 0; padding: 0; box-sizing: border-box; }
body {
  font: 14px/1.5 "Microsoft YaHei", Tahoma, Arial, sans-serif;
  color: #010101; background: #fff; -webkit-font-smoothing: antialiased;
}
a { text-decoration: none; color: inherit; }
img { border: 0; display: block; }
ul, ol { list-style: none; }
.nav {
  position: fixed; top: 0; left: 0; right: 0; height: 64px; width: 100%; z-index: 99999;
  display: flex; align-items: center; justify-content: center; color: #010101;
  background-color: #fff; box-shadow: 0 1px 0 rgba(0, 0, 0, .04);
}
.nav .nav-inner { width: 1200px; display: flex; align-items: center; justify-content: space-between; }
.nav .nav-inner .nav_left { display: flex; align-items: center; }
.nav .nav-inner .nav_left .logo { display: flex; align-items: center; }
.nav .nav-inner .nav_left .logo img { height: 32px; width: auto; }
.nav .nav-inner .nav_left .crumb {
  display: flex; align-items: center; margin-left: 12px; padding-left: 12px;
  border-left: 1px solid #e4e9ee; font-size: 13.5px; color: #8a96a6; line-height: 1;
}
.nav .nav-inner .nav_left .crumb a { color: #8a96a6; transition: color .18s; }
.nav .nav-inner .nav_left .crumb a:hover { color: var(--brand); }
.nav .nav-inner .nav_left .crumb .sep { margin: 0 7px; color: #c9d2dc; }
.nav .nav-inner .nav_left .crumb .cur { color: #010101; font-weight: 600; }
.nav .nav-inner .navbar_right {
  display: flex; align-items: center; justify-content: flex-end; flex-wrap: nowrap;
  gap: 26px; min-width: 0; color: #010101;
}
.nav .nav-inner .navbar_right a { display: block; font-size: 14px; line-height: 24px; color: inherit; white-space: nowrap; transition: color .18s; }
.nav .nav-inner .navbar_right a:hover, .nav .nav-inner .navbar_right a.on { color: var(--brand); }

body.nav-hero .nav { background-color: transparent; box-shadow: none; }
body.nav-hero .nav.nav-solid {
  background-color: #fff; box-shadow: 0 1px 0 rgba(0, 0, 0, .06);
  transition: background-color .2s, box-shadow .2s;
}
body.nav-hero .firstPage_container { background: none; overflow: visible; }
body.nav-hero .firstPage_container::before {
  content: ""; position: absolute; left: 0; right: 0; top: -64px; bottom: 0; z-index: 0;
  background: linear-gradient(180deg, var(--hero-1), var(--hero-2) 88%);
}

body.nav-hero .firstPage_container .container { padding-top: 42px; }
.firstPage_container {
  position: relative; overflow: hidden; width: 100%; min-width: 1240px;
  background: linear-gradient(180deg, var(--hero-1), var(--hero-2) 88%);
  display: flex; justify-content: center; padding: 64px 0 0;
}
.firstPage_container .container { width: 1200px; position: relative; z-index: 1; padding: 74px 0 44px; }
.firstPage_container .container .middle_content {
  display: flex; justify-content: space-between; align-items: center; gap: 60px; margin-bottom: 54px;
}
.firstPage_container .container .left_content { flex: 1; min-width: 0; }
.firstPage_container .container .left_content .title { font-size: 48px; font-weight: 700; line-height: 64px; color: #010101; }
.firstPage_container .container .left_content .features { display: flex; margin-top: 14.5px; margin-bottom: 17.5px; }
.firstPage_container .container .left_content .features li { font-size: 16px; font-weight: 700; color: #000c; }
.firstPage_container .container .left_content .titleDesc { font-size: 14px; line-height: 24px; color: #0009; }
.download_container { display: flex; flex-direction: column; margin-top: 38px; }
.dl-btn {
  display: inline-flex; align-items: center; justify-content: center; gap: 10px;
  width: 240px; height: 60px; border-radius: 12px; cursor: pointer;
  border: 0; font-family: inherit; -webkit-appearance: none; appearance: none;
  background: linear-gradient(90deg, #00ff5e 15%, #00ffe5 84%);
  font-size: 20px; font-weight: 700; color: #000; white-space: nowrap;
  transition: transform .2s, box-shadow .2s;
}
.dl-btn svg { width: 18px; height: 18px; flex: 0 0 18px; margin-top: 2px; }
.dl-btn:hover { transform: translateY(-3px); box-shadow: 0 12px 28px rgba(0, 200, 88, .28); }
.dl-tip { margin-top: 14px; font-size: 13.5px; line-height: 1.7; color: #4a5666; max-width: 460px; }

body[data-page="kugou"] .dl-tip { max-width: 560px; }
body[data-page="bilibili"] .dl-tip { max-width: 560px; font-size: 12.5px; }
.dl-tip b { color: var(--brand-d); font-weight: 700; }
.dl-alt { margin-top: 9px; font-size: 13.5px; line-height: 1.7; }
.dl-alt a { color: var(--brand); font-weight: 700; transition: color .18s; }
.dl-alt a:hover { color: var(--brand-d); }
.hero-deco { position: absolute; inset: 0; pointer-events: none; z-index: 0; overflow: hidden; }
.hero-deco .d { position: absolute; color: var(--deco); opacity: .08; }
.hero-deco .d1 { width: 196px; height: 196px; left: -34px; top: 146px; transform: rotate(-11deg); }
.hero-deco .d2 { width: 132px; height: 132px; right: 130px; top: 60px; transform: rotate(9deg); opacity: .07; }
.hero-deco .d3 { width: 240px; height: 240px; right: -58px; bottom: 20px; transform: rotate(-6deg); opacity: .06; }
.hero-deco .d4 { width: 114px; height: 114px; left: 408px; top: 32px; transform: rotate(13deg); opacity: .075; }
.hero-deco .d5 { width: 166px; height: 166px; left: 82px; bottom: -24px; transform: rotate(5deg); opacity: .065; }
.hero-deco .d6 { width: 98px; height: 98px; left: 644px; bottom: 130px; transform: rotate(-15deg); opacity: .08; }
.strip {
  display: flex; width: 1200px; border-radius: 14px; overflow: hidden;
  border: 1px solid var(--brand-l); background: rgba(255, 255, 255, .7);
}
.strip .si { flex: 1; display: flex; align-items: center; gap: 11px; padding: 20px 22px; position: relative; }
.strip .si + .si::before {
  content: ""; position: absolute; left: 0; top: 22%; height: 56%; width: 1px; background: var(--brand-l); opacity: .6;
}
.strip .si .ic {
  width: 34px; height: 34px; flex: 0 0 34px; border-radius: 10px; background: var(--brand-soft);
  display: flex; align-items: center; justify-content: center;
}
.strip .si .ic svg { width: 19px; height: 19px; color: var(--brand); }
.strip .si .tx b { display: block; font-size: 13.5px; font-weight: 700; color: #010101; line-height: 1.35; }
.strip .si .tx span { font-size: 12.5px; color: #5c6b7a; }
.strip .si:hover { background: var(--brand-soft); }
.sec { width: 1200px; margin: 0 auto; padding: 72px 0 0; }
.sec--gap { padding-top: 104px; }
.sec-head { margin-bottom: 28px; }
.sec-head .kicker {
  display: inline-flex; align-items: center; gap: 8px; font-size: 12px; font-weight: 800;
  letter-spacing: 1.4px; color: var(--brand); text-transform: uppercase; margin-bottom: 10px;
}
.sec-head .kicker::before { content: ""; width: 20px; height: 2.5px; border-radius: 2px; background: var(--brand); }
.sec-head h2 { font-size: 30px; font-weight: 700; color: #010101; line-height: 1.3; }
.sec-head h2 .thin { font-weight: 400; color: #9aa5b1; font-size: 22px; }
.sec-head p { margin-top: 12px; font-size: 15px; color: #4a5666; line-height: 1.8; max-width: 860px; }
.solve-box { display: grid; grid-template-columns: 232px 1fr; border: 1px solid #e4ecf4; border-radius: 20px; overflow: hidden; }
.solve-nav { background: #f7fbfe; border-right: 1px solid #e9f1f8; padding: 20px 16px; }
.solve-nav .sn {
  display: flex; align-items: center; justify-content: space-between; gap: 8px; padding: 13px 16px;
  border-radius: 10px; font-size: 14px; font-weight: 600; color: #5c6b7a; cursor: pointer;
  transition: .2s; font-family: inherit; background: none; border: 0; width: 100%; text-align: left;
}
.solve-nav .sn:hover { background: var(--brand-soft); color: var(--brand); }
.solve-nav .sn.on { background: #fff; color: #010101; box-shadow: 0 2px 8px var(--brand-shadow); font-weight: 700; }
.solve-nav .sn .n { font-size: 11.5px; font-weight: 700; color: #93a6b7; background: #e6eef5; border-radius: 999px; padding: 1px 7px; }
.solve-nav .sn.on .n { background: var(--brand); color: #fff; }
.solve-body { padding: 8px 30px; background: #fff; }
.solve-body .grp { display: none; }
.solve-body .grp.on { display: block; }
.qa { border-bottom: 1px solid #f0f4f8; padding: 18px 0; }
.qa:last-child { border-bottom: 0; }
.qa summary {
  font-size: 14.5px; font-weight: 700; color: #010101; cursor: pointer; list-style: none;
  display: flex; justify-content: space-between; gap: 18px; align-items: flex-start;
}
.qa summary::-webkit-details-marker { display: none; }
.qa summary::after { content: "+"; color: var(--brand); font-size: 20px; font-weight: 600; line-height: 1; flex: 0 0 auto; }
.qa[open] summary::after { content: "−"; }
.qa .ans { margin-top: 11px; font-size: 13.5px; color: #4a5666; line-height: 1.85; }
.qa .ans b { color: #010101; }
.qa .ans code {
  background: #eef4f9; border-radius: 4px; padding: 2px 7px; font-size: 12.5px;
  font-family: ui-monospace, Menlo, Consolas, monospace; color: var(--brand);
}
.qa .ans ol { margin: 8px 0 0 18px; display: flex; flex-direction: column; gap: 6px; list-style: decimal; }
.qa .ans a { color: var(--brand); font-weight: 600; }
.rel-bar { display: flex; flex-wrap: wrap; gap: 11px; }
.rel-bar a {
  display: inline-flex; align-items: center; gap: 8px; border: 1px solid #dbe7f2; border-radius: 999px;
  padding: 11px 20px; font-size: 14px; font-weight: 600; color: #3c4c5c; transition: .22s; background: #fff;
}
.rel-bar a svg { width: 16px; height: 16px; color: var(--brand); transition: .22s; }
.rel-bar a:hover { border-color: var(--brand-l); background: var(--brand-soft); color: var(--brand); transform: translateY(-2px); }
/* 相关下载（全站 soft 页统一）：一行 5 个 × 3 行，图标在左、名称 + 一句介绍在右，不显示版本号 */
.reldl { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); column-gap: 20px; border-top: 1px solid #eef1f5; }
.reldl a { display: flex; align-items: center; gap: 11px; padding: 16px 0; border-bottom: 1px solid #eef1f5; min-width: 0; }
.reldl a .ic {
  width: 38px; height: 38px; flex: 0 0 38px;
  display: flex; align-items: center; justify-content: center;
}
.reldl a .ic img { width: 100%; height: 100%; object-fit: contain; }
.reldl a .ic--svg { border-radius: 12px; background: var(--brand-soft); }
.reldl a .ic--svg svg { width: 20px; height: 20px; color: var(--brand); }
.reldl a .tx { min-width: 0; }
.reldl a .tx b {
  display: block; margin-bottom: 3px; font-size: 14px; font-weight: 700; color: #010101; line-height: 1.35;
  white-space: nowrap; overflow: hidden; text-overflow: ellipsis;
}
.reldl a .tx span {
  display: block; font-size: 12px; color: #5c6b7a; line-height: 1.5;
  white-space: nowrap; overflow: hidden; text-overflow: ellipsis;
}
.reldl a:hover .tx b { color: var(--brand-text); }
/* 「能做什么」功能格沿用同一套图标与文字样式：3 列，介绍可换行 */
.reldl.reldl--feat { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.reldl--feat a { align-items: flex-start; padding: 18px 0; }
.reldl--feat a .tx b { margin-bottom: 5px; font-size: 14.5px; white-space: normal; overflow: visible; }
.reldl--feat a .tx span { white-space: normal; overflow: visible; line-height: 1.6; }
@media (max-width: 1199px) {
  .reldl { grid-template-columns: repeat(4, minmax(0, 1fr)); }
}
@media (max-width: 959px) {
  .reldl { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .reldl.reldl--feat { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 700px) {
  .reldl { grid-template-columns: 1fr; }
  .reldl.reldl--feat { grid-template-columns: 1fr; }
  .reldl a { padding: 15px 0; }
  .reldl--feat a { padding: 16px 0; }
  .reldl a .ic { width: 44px; height: 44px; flex: 0 0 44px; }
  .reldl a .ic--svg svg { width: 22px; height: 22px; }
  .reldl a .tx b { margin-bottom: 4px; font-size: 15px; }
  .reldl a .tx span { font-size: 12.5px; }
}
.ways {
  background: #fff; border: 1px solid #e4ecf4; border-radius: 20px; padding: 32px 34px;
  box-shadow: 0 10px 30px rgba(20, 60, 90, .05);
}

#ways { scroll-margin-top: 80px; }

.ways-top { display: flex; align-items: flex-start; gap: 40px; margin-bottom: 0; }
.ways-top .ways-alt { order: 2; flex: 0 0 235px; }
.ways-top .wt { order: 1; flex: 1 1 0; min-width: 0; }
.ways-top .wt h3 {
  font-size: 22px; font-weight: 700; color: #010101; margin-bottom: 9px;
  display: flex; align-items: center; gap: 10px;
}
.ways-top .wt h3 svg { flex: 0 0 22px; color: var(--brand); }
.ways-top .wt p { font-size: 14.5px; color: #5c6b7a; line-height: 1.8; }
.ways-top .wt p em { font-style: normal; color: var(--brand); font-weight: 700; }
.ways-alt {
  flex: 0 0 300px; background: linear-gradient(160deg, var(--brand-soft), #f8fcff);
  border: 1px solid var(--brand-l); border-radius: 16px; padding: 20px 18px 18px;
}
.ways-alt .at { font-size: 14.5px; font-weight: 700; color: #010101; margin-bottom: 7px; }
.ways-alt .ad { font-size: 13px; color: #5c6b7a; line-height: 1.75; margin-bottom: 14px; }
.ways-alt a {
  display: flex; align-items: center; justify-content: center; gap: 8px; background: #fff;
  border: 1px solid var(--brand-l); border-radius: 11px; padding: 13px 16px; font-size: 14px;
  font-weight: 700; color: var(--brand); transition: .22s;
}
.ways-alt a:hover {
  background: var(--brand-grad); border-color: transparent; color: #fff;
  transform: translateY(-2px); box-shadow: 0 12px 26px var(--brand-shadow);
}
.ways-alt a svg { transition: transform .24s; }
.ways-alt a:hover svg { transform: translateX(4px); }

.ways-steps {
  display: grid; grid-template-columns: repeat(3, 1fr); gap: 28px;
  margin-top: 0; padding-top: 32px;
  border-top: 1px solid #eef4fa;
  list-style: none;
}
.ways-top .wt p { margin-bottom: 0; }
.ways-steps li { display: flex; align-items: flex-start; gap: 14px; position: relative; min-width: 0; }

.ways-steps li:not(:last-child)::after {
  content: ""; position: absolute; right: -19px; top: 14px; width: 9px; height: 9px;
  border-top: 2px solid #c8dcec; border-right: 2px solid #c8dcec; transform: rotate(45deg);
}
.ways-steps li .n {
  flex: 0 0 38px; width: 38px; height: 38px; border-radius: 12px; background: var(--brand-soft);
  border: 1.5px solid var(--brand-l); color: var(--brand); font-size: 15px; font-weight: 800;
  display: flex; align-items: center; justify-content: center; transition: .24s;
}
.ways-steps li:hover .n { background: var(--brand-grad); border-color: transparent; color: #fff; box-shadow: 0 8px 18px var(--brand-shadow); }
.ways-steps li .c { min-width: 0; padding-top: 5px; }
.ways-steps li .c b { display: block; font-size: 14.5px; font-weight: 700; color: #010101; }

.ways-steps li .c span { display: block; margin-top: 6px; font-size: 13px; color: #5c6b7a; line-height: 1.7; }
.ways-steps li .c em { font-style: normal; color: var(--brand); font-weight: 700; }
.footer_container { width: 100%; background: #fff; padding: 60px 0 40px; display: flex; justify-content: center; border-top: 1px solid #f2f2f2; margin-top: 72px; }
.footer_container .body_content { width: 1200px; }
.footer_container .top_content { display: flex; justify-content: space-between; align-items: flex-start; }

.footer_container .top_content .software,
.footer_container .top_content .about,
.footer_container .top_content .link_exchange,
.footer_container .top_content .other { display: flex; flex-direction: column; }
.footer_container .top_content .title { font-size: 16px; font-weight: 700; color: #010101; margin-bottom: 18px; }
.footer_container .top_content .soft_btn,
.footer_container .top_content .about_btn { font-size: 14px; color: #666; line-height: 30px; }
.footer_container .top_content .soft_btn:hover,
.footer_container .top_content .about_btn:hover { color: var(--brand); }
.footer_container .top_content .link_exchange { width: 420px; flex-wrap: wrap; flex-direction: row; align-content: flex-start; }
.footer_container .top_content .link_exchange .title { width: 100%; }
.footer_container .top_content .link_btn { font-size: 14px; color: #666; line-height: 30px; margin-right: 18px; }
.footer_container .top_content .link_btn:hover { color: var(--brand); }
.footer_container .top_content .other { width: 280px; }
.footer_container .top_content .other .product_channel { font-size: 13px; color: #666; line-height: 22px; margin-bottom: 16px; }
.footer_container .top_content .other .attention_our { font-size: 13px; color: #666; margin-bottom: 10px; }
.footer_container .top_content .other .qrcode_img { width: 96px; height: 96px; }
.footer_container .middle_line { height: 1px; background: #f2f2f2; margin: 34px 0 22px; }
.footer_container .icp { font-size: 13px; color: #999; line-height: 24px; }
.footer_container .security { display: flex; align-items: center; margin-top: 8px; }
.footer_container .security img { width: 15px; height: 16px; margin-right: 6px; }
.footer_container .security .security_desc { font-size: 13px; color: #999; }
.footer_container .security .security_desc:hover { color: var(--brand); }
.wx-badge{width:100%;background:rgba(255,255,255,.66);border:1px solid rgba(255,255,255,.92);
     border-radius:24px;padding:30px 30px 26px;backdrop-filter:blur(6px);
     box-shadow:0 18px 44px rgba(20,60,40,.10)}
.wx-badge .wx-top{display:flex;align-items:center;gap:16px;padding-bottom:20px;border-bottom:1px solid rgba(0,0,0,.07)}
.wx-badge .wx-top .wx-logo{width:68px;height:68px;flex:0 0 68px;border-radius:19px;background:#fff;
     display:flex;align-items:center;justify-content:center;box-shadow:0 8px 20px rgba(7,193,96,.22)}
.wx-badge .wx-top .wx-logo img{width:44px;height:auto}
.wx-badge .wx-top .wx-name{font-size:24px;font-weight:700;line-height:1.3;color:#010101}
.wx-badge .wx-top .wx-name span{display:block;font-size:13px;font-weight:400;color:#6b7a86;margin-top:4px}
.wx-badge .wx-facts{display:grid;grid-template-columns:1fr 1fr;gap:13px 18px;margin-top:20px}
.wx-badge .wx-facts .f{display:flex;align-items:center;gap:8px;font-size:13.5px;color:#42505c}
.wx-badge .wx-facts .f i{width:6px;height:6px;border-radius:50%;background:#00c458;flex:0 0 6px}
.wx-badge .wx-facts .f b{color:#010101;font-weight:700}
.wx-badge .wx-facts .f em{font-style:normal;font-size:11.5px;color:#8a96a6;background:#eef3f7;
     border-radius:4px;padding:1px 6px;margin-left:2px}
.wx-badge .wx-facts .f{font-size:13px}
.wx-badge .wx-facts{gap:12px 16px}
.wx-badge .wx-log{display:inline-flex;align-items:center;gap:3px;margin-top:18px;padding-top:14px;
     border-top:1px solid rgba(0,0,0,.07);width:100%;font-size:13px;font-weight:700;color:#0b8f37;
     transition:color .18s}
.wx-badge .wx-log:hover{color:#00c458}
.wx-badge .wx-log svg{transition:transform .22s;vertical-align:-1px}
.wx-badge .wx-log:hover svg{transform:translateX(3px)}
.wx-badge .wx-note{margin-top:20px;padding-top:16px;border-top:1px solid rgba(0,0,0,.07);
     font-size:12.5px;color:#6b7a86;line-height:1.7}
.wx-badge .wx-note b{color:#0b8f37}
.wx-badge .wx-note .nt{font-size:13px;color:#4a5666;line-height:1.75}
.wx-badge .wx-note .ndl{display:inline-flex;align-items:center;gap:3px;font-size:13px;font-weight:700;color:#0b8f37;transition:color .18s}
.wx-badge .wx-note .ndl:hover{color:#00c458}
.wx-badge .wx-note .ndl svg{transition:transform .22s;vertical-align:-1px}
.wx-badge .wx-note .ndl:hover svg{transform:translateX(3px)}
.intro{display:grid;grid-template-columns:392px 1fr;background:#fff;border:1px solid #e8eef3;
     border-radius:24px;overflow:hidden;box-shadow:0 10px 30px rgba(20,60,40,.06)}
.intro-left{background:linear-gradient(160deg,#eaf9f0,#f7fdfa 60%,#fff);padding:38px 34px;
     display:flex;flex-direction:column;justify-content:center;border-right:1px solid #eef4f1}
.intro-left .intro-left .brand .ic{width:64px;height:64px;flex:0 0 64px;border-radius:18px;background:#fff;
     display:flex;align-items:center;justify-content:center;box-shadow:0 8px 20px rgba(7,193,96,.2)}
.intro-left .brand .ic img{width:42px;height:auto}
.intro-left .brand .nm{font-size:22px;font-weight:700;color:#010101;line-height:1.3}
.intro-left .brand .nm span{display:block;font-size:12.5px;font-weight:400;color:#7c8996;margin-top:3px}
.intro-left p{font-size:14px;color:#48566a;line-height:1.85}
.intro-left p+p{margin-top:10px}
.intro-left .pills{display:flex;flex-wrap:wrap;gap:8px;margin-top:20px}
.intro-left .pills span{font-size:12.5px;font-weight:600;color:#0b8f37;background:#fff;
     border:1px solid #c9ecd8;border-radius:999px;padding:5px 13px}
.intro-right{padding:34px 34px 30px}
.intro-right h3{font-size:16px;font-weight:700;color:#010101;margin-bottom:18px}
.feat{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.feat .item{display:flex;gap:13px;align-items:flex-start;padding:16px;border-radius:14px;
     background:#f8fafc;border:1px solid #eef2f6;transition:.24s}
.feat .item:hover{background:#f2fbf6;border-color:#c9ecd8;transform:translateY(-3px)}
.feat .item .fi{width:38px;height:38px;flex:0 0 38px;border-radius:11px;background:#fff;
     border:1px solid #e6eef4;display:flex;align-items:center;justify-content:center}
.feat .item .fi svg{width:20px;height:20px}
.feat .item .ft{min-width:0}
.feat .item .ft b{display:block;font-size:14px;font-weight:700;color:#010101;margin-bottom:5px}
.feat .item .ft span{font-size:13px;color:#5c6b7a;line-height:1.65}
.solve{background:#f8fafc;border:1px solid #e8eef3;border-radius:24px;padding:30px 30px 26px}
.solve-tabs{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:22px}
.solve-tab{display:flex;align-items:center;gap:9px;background:#fff;border:1px solid #e3eaf1;border-radius:12px;
     padding:13px 18px;cursor:pointer;transition:.22s;font-family:inherit;font-size:14px;font-weight:600;color:#42505c}
.solve-tab:hover{border-color:#bfe8cd;color:#0b8f37}
.solve-tab.on{background:linear-gradient(135deg,#12b347,#0b8f37);border-color:transparent;color:#fff;
     box-shadow:0 8px 20px rgba(18,179,71,.24)}
.solve-tab .n{font-size:12px;font-weight:700;background:#eef2f6;color:#8a96a6;border-radius:999px;
     padding:1px 8px;transition:.22s}
.solve-tab.on .n{background:rgba(255,255,255,.24);color:#fff}
.solve-panel{background:#fff;border:1px solid #e8eef3;border-radius:16px;padding:8px 26px}
.solve-panel .grp{display:none}
.solve-panel .grp.on{display:block}
.qa{border-bottom:1px solid #eef2f6;padding:17px 0}
.qa:last-child{border-bottom:0}
.qa summary{font-size:14.5px;font-weight:700;color:#010101;cursor:pointer;list-style:none;
     display:flex;justify-content:space-between;gap:18px;align-items:flex-start}
.qa summary::-webkit-details-marker{display:none}
.qa summary::after{content:"+";color:#00c458;font-size:20px;font-weight:600;line-height:1;flex:0 0 auto}
.qa[open] summary::after{content:"−"}
.qa .ans{margin-top:11px;font-size:13.5px;color:#4a5666;line-height:1.85}
.qa .ans b{color:#010101}
.qa .ans code{background:#eef2f7;border-radius:4px;padding:2px 7px;font-size:12.5px;
     font-family:ui-monospace,Menlo,Consolas,monospace;color:#0b8f37}
.qa .ans ol{margin:8px 0 0 18px;display:flex;flex-direction:column;gap:6px}
.qa .ans a{color:#0b8f37;font-weight:600}

.ov { position: relative; }

.ov .ov-head { display: flex; align-items: center; gap: 17px; margin-bottom: 20px; }
.ov .ov-head img {
  width: 72px; height: 72px; object-fit: contain; flex: 0 0 72px;
  filter: drop-shadow(0 8px 18px rgba(20, 50, 90, .2));
}
.ov .ov-head .t { font-size: 22px; font-weight: 700; color: #010101; line-height: 1.25; letter-spacing: .2px; }
.ov .ov-head .t span { display: block; margin-top: 5px; font-size: 12.5px; font-weight: 400; color: #64798c; }

.ov .ov-rows {
  display: grid; grid-template-columns: 1fr 1fr;
  gap: 30px 30px; margin: 0 0 22px;
}
.ov .ov-rows .r { display: block; min-width: 0; }
.ov .ov-rows dt {
  display: flex; align-items: center; gap: 6px; margin-bottom: 4px;
  font-size: 12.5px; color: #5c6b7a; white-space: nowrap;
}
.ov .ov-rows dt svg { width: 14px; height: 14px; color: var(--brand); flex: 0 0 14px; }
.ov .ov-rows dd {
  display: flex; align-items: center; gap: 6px;
  font-size: 15px; font-weight: 700; color: #010101; white-space: nowrap;
}
.ov .ov-rows dd em {
  font-style: normal; padding: 1px 7px; border-radius: 999px;
  font-size: 11.5px; font-weight: 700; color: var(--brand-d); background: var(--brand-soft);
}

.ov .ov-links { display: flex; align-items: center; flex-wrap: wrap; gap: 8px 10px; }
.ov .ov-links .nt { font-size: 13px; color: #4a5666; line-height: 1.6; }
.ov .ov-links .sep { width: 3px; height: 3px; border-radius: 50%; background: #b9c6d2; flex: 0 0 3px; }
.ov .ov-links a { font-weight: 700; color: var(--brand-text, var(--brand-d)); transition: color .18s; }
.ov .ov-links a:hover { color: var(--brand-d); }
.ov .ov-links .ndl,
.ov .ov-links .ndl2 { display: inline-flex; align-items: center; gap: 3px; }
.ov .ov-links a svg { transition: transform .22s; vertical-align: -1px; }
.ov .ov-links a:hover svg { transform: translateX(3px); }

@media (max-width: 1240px) {
  .ov .ov-rows { gap: 24px 22px; }
  .ov .ov-head img { width: 62px; height: 62px; flex-basis: 62px; }
}

.ov.qq-side, .ov.wx-badge, .ov.dy-card, .ov.kg-album, .ov.bl-note {
  width: 440px; flex: 0 0 440px;
  background: none; border: 0; border-radius: 0; padding: 0; box-shadow: none;
}
.ov.qq-side, .ov.wx-badge, .ov.dy-card { backdrop-filter: none; }
.ov.kg-album, .ov.bl-note { overflow: visible; }

.ov.bl-note .sheet { background: none; border: 0; border-radius: 0; padding: 0; box-shadow: none; }
.ov.bl-note .sheet::after { display: none; }

.qq-side {
  width: 468px; flex: 0 0 468px; background: rgba(255, 255, 255, .5);
  border: 1px solid rgba(255, 255, 255, .9); border-radius: 20px; padding: 26px 28px;
  backdrop-filter: blur(5px);
}
.qq-side .sh { display: flex; align-items: center; gap: 14px; padding-bottom: 18px; margin-bottom: 6px; border-bottom: 1px solid rgba(0, 0, 0, .07); }
.qq-side .sh img { width: 56px; height: 56px; object-fit: contain; }
.qq-side .sh .t { font-size: 19px; font-weight: 700; color: #010101; line-height: 1.3; }
.qq-side .sh .t span { display: block; font-size: 12.5px; font-weight: 400; color: #6b7a86; margin-top: 3px; }
.qq-side .rows li {
  display: flex; align-items: center; justify-content: space-between; gap: 14px; padding: 13px 0;
  border-bottom: 1px dashed rgba(0, 0, 0, .06); font-size: 13.5px;
}
.qq-side .rows li:last-child { border-bottom: 0; }
.qq-side .rows li .k { color: #6b7a86; flex: 0 0 auto; }
.qq-side .rows li .v { color: #010101; font-weight: 700; text-align: right; display: flex; align-items: center; gap: 6px; }
.qq-side .rows li .v em { font-style: normal; font-size: 11.5px; font-weight: 600; color: var(--brand); background: var(--brand-soft); border-radius: 4px; padding: 1px 6px; }
.qq-side .foot { margin-top: 16px; padding-top: 14px; border-top: 1px solid rgba(0, 0, 0, .07); display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.qq-side .foot .lk { font-size: 13px; font-weight: 700; color: var(--brand); display: inline-flex; align-items: center; gap: 3px; }
.qq-side .foot .lk:hover { color: var(--brand-d); }
.qq-side .foot .lk svg { transition: transform .22s; vertical-align: -1px; }
.qq-side .foot .lk:hover svg { transform: translateX(3px); }
.qq-side .foot .old { font-size: 12.5px; color: #8a96a6; }
.qq-side .foot .old a { color: var(--brand); font-weight: 600; }
.rel-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 14px; }
.rel-card {
  display: flex; align-items: center; gap: 12px; background: #fff; border: 1px solid #e8eef3;
  border-radius: 14px; padding: 17px 18px; transition: .24s;
}
.rel-card:hover {
  border-color: var(--brand-l); background: var(--brand-soft); transform: translateY(-3px);
  box-shadow: 0 10px 24px var(--brand-shadow);
}
.rel-card .ri {
  width: 36px; height: 36px; flex: 0 0 36px; border-radius: 10px; background: var(--brand-soft);
  display: flex; align-items: center; justify-content: center;
}
.rel-card .ri svg { width: 19px; height: 19px; color: var(--brand); }
.rel-card .rt { min-width: 0; }
.rel-card .rt b { display: block; font-size: 14px; font-weight: 700; color: #010101; margin-bottom: 4px; }
.rel-card .rt span { font-size: 12.5px; color: #7c8996; line-height: 1.5; display: block; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.lib-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 18px; }
.lib-card {
  display: flex; align-items: center; gap: 18px; background: #fff; border: 1px solid #e8eef3;
  border-radius: 16px; padding: 24px 26px; transition: .24s;
}
.lib-card:hover {
  border-color: var(--brand-l); background: var(--brand-soft); transform: translateY(-3px);
  box-shadow: 0 12px 28px var(--brand-shadow);
}
.lib-card .li {
  width: 58px; height: 58px; flex: 0 0 58px; border-radius: 14px; background: #f4f8fb;
  display: flex; align-items: center; justify-content: center;
}
.lib-card .li img { width: 42px; height: 42px; object-fit: contain; }
.lib-card .lt { flex: 1; min-width: 0; }
.lib-card .lt b { display: block; font-size: 19px; font-weight: 700; color: #010101; margin-bottom: 7px; }
.lib-card .lt .d { display: block; font-size: 13.5px; color: #6b7a86; line-height: 1.6; }
.lib-card .lt .v { display: block; margin-top: 6px; font-size: 12.5px; color: #9aa5b1; }
.lib-card .lc {
  display: inline-flex; align-items: center; gap: 5px; font-size: 13.5px; font-weight: 700;
  color: var(--brand); white-space: nowrap;
}
.lib-card .lc svg { width: 12px; height: 12px; }
.lib-card .lc svg path { stroke: currentColor; }
.qq-side .card-note .ndl2 {
  display: inline-flex; align-items: center; gap: 3px; font-weight: 600;
  color: var(--brand); transition: color .18s;
}
.qq-side .card-note .ndl2:hover { color: var(--brand-d); }
.qq-side .card-note .ndl2 svg { transition: transform .22s; vertical-align: -1px; }
.qq-side .card-note .ndl2:hover svg { transform: translateX(3px); }
.firstPage_container .container .middle_content .right_content { width: 527.5px; flex: 0 0 527.5px; user-select: none; }
.toollist { display: flex; width: 1200px; justify-content: space-between; gap: 16px; }
.button_container {
  flex: 1; cursor: default; border-radius: 8px; height: 100px;
  border: 1px solid #1ecb85; background: #1ecb850d;
  transition: transform .3s ease-in-out;
}
.button_container:hover { background: #1ecb8526; transform: translateY(-10px); }
.button_container .content { margin-top: 24px; margin-left: 22px; display: flex; flex-direction: row; align-items: center; }
.button_container .content .left_logo { width: 32px; height: 32px; object-fit: contain; align-self: flex-start; }
.button_container .content .right_container { margin-left: 14px; display: flex; flex-direction: column; min-width: 0; }
.button_container .content .right_container .title { font-size: 14px; font-weight: 600; line-height: 16px; color: #010101; }
.button_container .content .right_container .description { margin-top: 8px; font-size: 13.5px; font-weight: 350; line-height: 20px; color: #665c5c; }
.intro-bars { border: 1px solid #e4ecf4; border-radius: 20px; overflow: hidden; }
.intro-bars .ir {
  display: flex; align-items: center; gap: 24px; padding: 24px 30px;
  border-bottom: 1px solid #eef4fa; transition: .22s; background: #fff;
}
.intro-bars .ir:last-child { border-bottom: 0; }
.intro-bars .ir:nth-child(odd) { background: #fafcfe; }
.intro-bars .ir:hover { background: var(--brand-soft); }
.intro-bars .ir .no {
  flex: 0 0 42px; font-size: 20px; font-weight: 800; color: #c3d8ea;
  letter-spacing: -1px; text-align: center; transition: .22s;
}
.intro-bars .ir:hover .no { color: var(--brand); }
.intro-bars .ir .bd { flex: 1; min-width: 0; display: flex; align-items: center; gap: 22px; }
.intro-bars .ir .bd b { flex: 0 0 190px; font-size: 16px; font-weight: 700; color: #010101; }
.intro-bars .ir .bd span { font-size: 14px; color: #5c6b7a; line-height: 1.7; }
.intro-bars .ir .tag {
  flex: 0 0 auto; font-size: 12px; font-weight: 700; color: var(--brand);
  background: var(--brand-soft); border-radius: 6px; padding: 4px 11px;
}
.intro { display: grid; grid-template-columns: 392px 1fr; background: #fff; border: 1px solid #e8eef3; border-radius: 24px; overflow: hidden; box-shadow: 0 10px 30px rgba(20, 60, 40, .06); }
.intro-left { background: linear-gradient(160deg, #eaf9f0, #f7fdfa 60%, #fff); padding: 38px 34px; display: flex; flex-direction: column; justify-content: center; border-right: 1px solid #eef4f1; }
.intro-left .brand { display: flex; align-items: center; gap: 15px; margin-bottom: 22px; }
.intro-left .brand .ic { width: 64px; height: 64px; flex: 0 0 64px; border-radius: 18px; background: #fff; display: flex; align-items: center; justify-content: center; box-shadow: 0 8px 20px rgba(7, 193, 96, .2); }
.intro-left .brand .ic img { width: 42px; height: auto; }
.intro-left .brand .nm { font-size: 22px; font-weight: 700; color: #010101; line-height: 1.3; }
.intro-left .brand .nm span { display: block; font-size: 12.5px; font-weight: 400; color: #7c8996; margin-top: 3px; }
.intro-left p { font-size: 14px; color: #48566a; line-height: 1.85; }
.intro-left p + p { margin-top: 10px; }
.intro-left .pills { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 20px; }
.intro-left .pills span { font-size: 12.5px; font-weight: 600; color: var(--brand-d); background: #fff; border: 1px solid var(--brand-l); border-radius: 999px; padding: 5px 13px; }
.intro-right { padding: 34px 34px 30px; }
.intro-right h3 { font-size: 16px; font-weight: 700; color: #010101; margin-bottom: 18px; }
.feat { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; }
.feat .item { display: flex; gap: 13px; align-items: flex-start; padding: 16px; border-radius: 14px; background: #f8fafc; border: 1px solid #eef2f6; transition: .24s; }
.feat .item:hover { background: var(--brand-soft); border-color: var(--brand-l); transform: translateY(-3px); }
.feat .item .fi { width: 38px; height: 38px; flex: 0 0 38px; border-radius: 11px; background: #fff; border: 1px solid #e6eef4; display: flex; align-items: center; justify-content: center; }
.feat .item .fi svg { width: 20px; height: 20px; }
.feat .item .ft { min-width: 0; }
.feat .item .ft b { display: block; font-size: 14px; font-weight: 700; color: #010101; margin-bottom: 5px; }
.feat .item .ft span { font-size: 13px; color: #5c6b7a; line-height: 1.65; }
@media (max-width: 1240px) {
  .firstPage_container { min-width: 0; padding-bottom: 34px; }
  .firstPage_container .container { width: 100%; padding: 28px 18px 0; }
  .firstPage_container .container .middle_content { flex-direction: column; align-items: stretch; gap: 30px; margin-bottom: 34px; }
  .firstPage_container .container .left_content h1,
  .firstPage_container .container .left_content .title { font-size: 30px; line-height: 42px; }
  .strip { width: 100%; flex-wrap: wrap; }
  .toollist { width: 100%; flex-wrap: wrap; gap: 12px; }
  .button_container { width: calc(50% - 6px); flex: 0 0 auto; height: auto; padding-bottom: 20px; }
  .button_container .content { margin: 18px 16px 0; }
  .intro { grid-template-columns: 1fr; }
  .intro-left { border-right: 0; border-bottom: 1px solid #eef4f1; }
  .intro-bars .ir { flex-direction: column; align-items: flex-start; gap: 10px; }
  .intro-bars .ir .bd { flex-direction: column; align-items: flex-start; gap: 6px; }
  .intro-bars .ir .bd b { flex: 0 0 auto; }
  .feat, .rel-grid, .lib-grid { grid-template-columns: 1fr; }
  .lib-card { padding: 18px; gap: 14px; }
  .lib-card .li { width: 48px; height: 48px; flex: 0 0 48px; }
  .lib-card .li img { width: 34px; height: 34px; }
  .lib-card .lt b { font-size: 16px; }
  .strip .si { flex: 0 0 50%; }
  .strip .si + .si::before { display: none; }
  .sec { width: 100%; padding-left: 18px; padding-right: 18px; }
  .solve-box { grid-template-columns: 1fr; }
  .solve-nav { border-right: 0; border-bottom: 1px solid #e9f1f8; display: flex; flex-wrap: wrap; gap: 8px; padding: 14px; }
  .solve-nav .sn { width: auto; flex: 1 1 auto; }
  .solve-body { padding: 6px 20px; }
  .ways { padding: 24px 20px; }
  .ways-top { flex-direction: column; gap: 20px; }
  .ways-alt { flex: 0 0 auto; width: 100%; }
  .ways-steps { flex-direction: column; gap: 20px; }
  .ways-steps li { padding-right: 0; }
  .ways-steps li:not(:last-child)::after { display: none; }
  .nav { padding: 0 18px; }
  .nav .nav-inner { width: 100%; }
  .nav .nav-inner .nav_left .crumb { display: none; }
  .nav .nav-inner .navbar_right { display: none; }
  .footer_container { padding: 40px 18px 30px; }
  .footer_container .body_content { width: 100%; }
  .footer_container .top_content { flex-direction: column; gap: 30px; }
  .footer_container .top_content .link_exchange,
  .footer_container .top_content .other { width: 100%; }
}
@media (max-width: 760px) {
  .strip .si { flex: 0 0 100%; }
}
body[data-page="browser"] .dl-tip { max-width: 560px; }
body[data-page="guanjia"] .firstPage_container {
  background: linear-gradient(180deg, #bfe6cd, #f2fbf5 88%);
}
body[data-page="guanjia"] .hero-deco .d { color: #00a94f; }
body[data-page="browser"] .gj-list .li.on { background: linear-gradient(135deg, #2f9fd8, #0f6ea8); box-shadow: 0 8px 18px rgba(15, 110, 168, .24); }
body[data-page="browser"] .gj-list .li .ic svg { color: #0f7ab8; }
body[data-page="browser"] .gj-txt .kick { color: #0f6ea8; border-color: #cfe6f5; }
body[data-page="browser"] .gj-txt .tags span { color: #0f6ea8; border-color: #cfe6f5; }
body[data-page="browser"] .gj-more a .ic { background: #eef7fd; }
.gj-stack { position: relative; height: 316px; }
.gj-stack .card {
  position: absolute; top: 0; left: 50%; width: 74%; overflow: hidden;
  border-radius: 14px; background: #fff; border: 1px solid #e4f0e9;
  box-shadow: 0 14px 30px rgba(0, 110, 55, .16);
  transition: transform .5s cubic-bezier(.4, 0, .2, 1), opacity .5s, box-shadow .5s;
}
.gj-stack .card img { width: 100%; height: auto; display: block; }
.gj-stack .card[data-pos="0"] {
  transform: translateX(-94%) translateY(16px) scale(.9) rotate(-3.4deg);
  opacity: .8; z-index: 1;
}
.gj-stack .card[data-pos="1"] {
  transform: translateX(-50%) translateY(0) scale(1) rotate(0deg);
  opacity: 1; z-index: 3; box-shadow: 0 20px 40px rgba(0, 110, 55, .2);
}
.gj-stack .card[data-pos="2"] {
  transform: translateX(-6%) translateY(16px) scale(.9) rotate(3.4deg);
  opacity: .8; z-index: 2;
}
.gj-stack:hover .card { box-shadow: 0 22px 44px rgba(0, 110, 55, .22); }
.gj-how { display: grid; grid-template-columns: repeat(3, 1fr); gap: 16px; }
.gj-how .it {
  display: flex; gap: 14px; align-items: flex-start;
  padding: 20px 22px; border-radius: 14px; background: #f7fcf9; border: 1px solid #e6f1ea;
}
.gj-how .it .n {
  width: 26px; height: 26px; flex: 0 0 26px; border-radius: 50%; display: flex;
  align-items: center; justify-content: center; font-size: 13px; font-weight: 800;
  color: #fff; background: var(--brand-grad);
}
.gj-how .it b { flex: 0 0 auto; font-size: 14.5px; font-weight: 700; color: #010101; margin-bottom: 0; }
.gj-how .it span { font-size: 13px; color: #5c6b7a; line-height: 1.7; }
.gj-how .it em { font-style: normal; font-weight: 700; color: var(--brand-d); }
.gj-faq { display: grid; grid-template-columns: repeat(3, 1fr); gap: 16px; margin-top: 18px; align-items: start; }
.gj-faq details { border: 1px solid #e6f1ea; border-radius: 13px; padding: 16px 20px; background: #fff; transition: .22s; }
.gj-faq details:hover { border-color: var(--brand-l); }
.gj-faq details[open] { border-color: var(--brand-l); background: #fbfefc; }
.gj-faq summary {
  display: flex; align-items: flex-start; gap: 10px; list-style: none; cursor: pointer;
  font-size: 14px; font-weight: 700; color: #010101; line-height: 1.5;
}
.gj-faq summary::-webkit-details-marker { display: none; }
.gj-faq summary::before {
  content: "问"; flex: 0 0 20px; height: 20px; margin-top: 1px; border-radius: 6px;
  display: flex; align-items: center; justify-content: center;
  font-size: 11.5px; font-weight: 700; color: #fff; background: var(--brand-grad);
}
.gj-faq .ans { margin-top: 11px; padding-left: 30px; font-size: 13px; color: #4a5666; line-height: 1.85; }
.gj-faq .ans b { color: #010101; }
.gj-more { display: grid; grid-template-columns: repeat(4, 1fr); gap: 14px; }
.gj-more a {
  display: flex; align-items: center; gap: 13px; padding: 18px 20px; background: #fff;
  border: 1px solid #e2efe7; border-radius: 14px; transition: .22s;
}
.gj-more a:hover { border-color: var(--brand-l); background: var(--brand-soft); transform: translateY(-3px); }
.gj-more a .ic {
  width: 42px; height: 42px; flex: 0 0 42px; border-radius: 10px; background: #f2fbf5;
  display: flex; align-items: center; justify-content: center;
}
.gj-more a .ic img { width: 32px; height: 32px; object-fit: contain; }
.gj-more a .tx b { display: block; font-size: 14px; font-weight: 700; color: #010101; margin-bottom: 4px; }
.gj-more a .tx span { font-size: 12.5px; color: #7c8996; }
.gj-io {
  display: grid; grid-template-columns: 176px minmax(0, 1fr) 336px;
  gap: 22px; align-items: start;
}
.gj-list { display: flex; flex-direction: column; gap: 8px; align-self: stretch; }
.gj-list .li {
  display: flex; align-items: center; gap: 11px; flex: 1;
  padding: 13px 15px; border-radius: 12px; background: #fff;
  border: 1px solid #e6f1ea; cursor: pointer; transition: .2s;
}
.gj-list .li:hover { border-color: var(--brand-l); background: var(--brand-soft); }
.gj-list .li.on { border-color: transparent; background: var(--brand-grad); box-shadow: 0 8px 18px var(--brand-shadow); }
.gj-list .li .ic {
  width: 32px; height: 32px; flex: 0 0 32px; border-radius: 9px; background: var(--brand-soft);
  display: flex; align-items: center; justify-content: center; transition: .2s;
}
.gj-list .li.on .ic { background: rgba(255, 255, 255, .2); }
.gj-list .li .ic svg { width: 18px; height: 18px; color: var(--brand); transition: .2s; }
.gj-list .li.on .ic svg { color: #fff; }
.gj-list .li b { font-size: 14.5px; font-weight: 700; color: #010101; }
.gj-list .li.on b { color: #fff; }
.gj-pic { align-self: stretch; display: flex; align-items: center; justify-content: center; }
.gj-pic img {
  max-width: 640px; width: 100%; height: auto; display: block; border-radius: 12px;
  border: 1px solid #e4efe8; box-shadow: 0 10px 26px rgba(0, 110, 55, .1);
}
.gj-txt {
  align-self: stretch; padding: 22px 22px 24px; border-radius: 16px;
  background: #f7fbf9; border: 1px solid #e6f1ea;
}
.gj-txt .kick {
  display: inline-block; margin-bottom: 11px; padding: 3px 11px; border-radius: 999px;
  font-size: 12px; font-weight: 700; color: #0b8f37; background: #fff;
  border: 1px solid #d5ecdf;
}
.gj-txt h4 { font-size: 16px; font-weight: 700; color: #010101; margin-bottom: 11px; line-height: 1.4; }
.gj-txt p { font-size: 14px; color: #4a5666; line-height: 1.95; }
.gj-txt .tags { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 16px; padding-top: 16px; border-top: 1px dashed #d9e9e0; }
.gj-txt .tags span {
  padding: 5px 12px; border-radius: 999px; font-size: 12.5px; font-weight: 600;
  color: var(--brand-d); background: #fff; border: 1px solid #d9efe2;
}
.br-more {
  display: grid; grid-template-columns: repeat(2, 1fr); gap: 10px 22px;
  padding: 8px 0;
}
.br-more a {
  display: flex; align-items: center; gap: 14px; padding: 14px 16px;
  border-radius: 10px; transition: .2s;
}
.br-more a:hover { background: #eef7fd; }
.br-more a .ic {
  width: 40px; height: 40px; flex: 0 0 40px; border-radius: 9px; background: #fff;
  border: 1px solid #e4eff7; display: flex; align-items: center; justify-content: center;
}
.br-more a .ic img { width: 30px; height: 30px; object-fit: contain; }
.br-more a .tx { min-width: 0; }
.br-more a .tx b { display: block; font-size: 14.5px; font-weight: 700; color: #010101; margin-bottom: 4px; }
.br-more a .tx span { font-size: 12.5px; color: #7c8996; }
.brand-grad {
  background: linear-gradient(135deg, #12b347, #0b8f37);
  box-shadow: 0 8px 20px rgba(18, 179, 71, .28);
}
.brand-grad:hover { box-shadow: 0 12px 28px rgba(18, 179, 71, .36); }
#banner.official {
  width: 100%; min-height: 640px;

  padding: 64px 0 96px;
  background-color: #00603a;
  background-image: url('../../../home/wassets/images/browser/banner-bg.jpg');
  background-size: 1920px 640px;

  background-position: center center;
  background-repeat: no-repeat;
  text-align: center; overflow: hidden;
}
#banner.official .official-inner { width: 1200px; margin: 0 auto; }
#banner.official #banner-h2 {
  height: 72px; display: flex; align-items: center; justify-content: center;

  margin: 72px auto 0;
}
#banner.official #banner-h2 span {
  display: block; width: fit-content; height: 72px; color: #fff;
  font-family: 'Microsoft YaHei UI', 'Microsoft YaHei', sans-serif;
  font-size: 64px; font-weight: 700; line-height: 72px; letter-spacing: 1.12px;
}
#banner.official #banner-h2 span:nth-of-type(1) { position: relative; top: 2px; }
#banner.official #banner-h2 span:nth-of-type(2) { font-size: 56px; }
#banner.official #banner-h2 .se-15-icon {
  display: block; width: 68px; height: 72px;
  background-image: url('../../../home/wassets/images/browser/se-15-icon.png');
  background-size: 68px 72px;
}
#banner.official #banner-h2 .banner-radius {
  width: 8px; height: 8px; border-radius: 2px; background: #fff; margin: 0 12px;
}
#banner.official #banner-ul {
  display: flex; align-items: center; justify-content: center; margin: 30px auto 0;
}
#banner.official #banner-ul li { display: flex; align-items: center; gap: 7px; }
#banner.official #banner-ul li img { width: 20px; height: 20px; display: block; }
#banner.official #banner-ul li span {
  color: #fff; font-size: 14px; font-family: 'Microsoft YaHei UI', 'Microsoft YaHei', sans-serif;
}
#banner.official #banner-ul .verline {
  width: 2px; height: 16px; background: rgba(255, 255, 255, .15);
  display: block; margin: 0 14px;
}
#banner.official #banner-div {
  margin: 32px auto 0; display: flex; justify-content: center; align-items: center;
}
#banner.official #banner-div .se {
  display: flex; justify-content: center; align-items: center;
  height: 68px; width: 282px; min-width: 216px; border-radius: 36px;
  border: 1px solid rgba(0, 0, 0, .1); background: #fff; color: #000;
  font-family: 'Microsoft YaHei', sans-serif; font-size: 20px; font-weight: 700;
  line-height: 22px; position: relative; vertical-align: middle;
  box-shadow: 0 4px 10px 0 rgba(0, 96, 58, .2);
  transition: all .2s ease-in-out;
}
#banner.official #banner-div .se:hover { color: #03b752; }
#banner.official #banner-div .se:active { background: #f8f8f8; box-shadow: none; }
#banner.official #banner-div .se .se_btn_down_icon {
  width: 26px; height: 26px; flex: 0 0 26px; margin-right: 7px; border-radius: 50%;
  background: #03b752; position: relative;
}
#banner.official #banner-div .se .se_btn_down_icon::after {
  content: ""; position: absolute; left: 50%; top: 6px; width: 2.5px; height: 8px;
  background: #fff; border-radius: 2px; transform: translateX(-50%);
}
#banner.official #banner-div .se .se_btn_down_icon::before {
  content: ""; position: absolute; left: 0; right: 0; top: 14px; margin: 0 auto;
  width: 0; height: 0; border: 4.5px solid transparent; border-top-color: #fff;
}
#banner.official #banner-div .se .se_btn_icon {
  position: absolute; right: -12px; top: -12px; width: 60px; height: 32px;
  background: url('../../../home/wassets/images/browser/badge-official.png');
  background-size: cover; font-size: 0;
}
#banner.official #banner-ul li.ver span { color: rgba(255, 255, 255, .72); }
.br2-sec { width: 100%; padding: 108px 0; background: linear-gradient(180deg, #e5effe 0%, #fff 16.46%); }
.br2-sec--plain { background: #fff; }
.br2-sec--soft { background: linear-gradient(180deg, #f2f8ff 0%, #fff 40%); }
.br2-inner { width: 1200px; margin: 0 auto; }
.br2-head { display: flex; flex-direction: column; align-items: center; text-align: center; margin-bottom: 56px; }
.br2-head h2 {
  color: #000; font-size: 54px; font-weight: 700; line-height: 1.25; letter-spacing: .54px;
}
.br2-head h2 em {
  font-style: normal;
  background: linear-gradient(256deg, #48acff 10.4%, #365cf5 81.31%);
  -webkit-background-clip: text; background-clip: text; -webkit-text-fill-color: transparent;
}
.br2-head p {
  display: inline-block; margin-top: 14px; max-width: 820px;
  color: rgba(0, 0, 0, .8); font-size: 20px; line-height: 28px;
}
.br2-row { display: flex; align-items: center; justify-content: center; margin-top: 72px; }
.br2-row:first-of-type { margin-top: 0; }
.br2-row .txt { width: 463px; flex: 0 0 463px; margin-right: 48px; }
.br2-row .txt h3 { font-size: 34px; font-weight: 700; color: #000; line-height: 1.35; margin-bottom: 16px; }
.br2-row .txt h3 em {
  font-style: normal;
  background: linear-gradient(256deg, #48acff 10.4%, #365cf5 81.31%);
  -webkit-background-clip: text; background-clip: text; -webkit-text-fill-color: transparent;
}
.br2-row .txt > p { font-size: 18px; line-height: 30px; color: rgba(0, 0, 0, .62); }
.br2-row .shot { width: 560px; flex: 0 0 560px; }
.br2-row .shot img {
  width: 100%; height: auto; display: block; border-radius: 16px;
  box-shadow: 0 18px 44px rgba(31, 79, 140, .16);
}
.br2-row--flip .txt { order: 2; margin-right: 0; margin-left: 48px; }
.br2-row--flip .shot { order: 1; }
.br2-row .txt .pts { margin-top: 22px; display: flex; flex-direction: column; gap: 14px; }
.br2-row .txt .pts div { padding-left: 22px; position: relative; }
.br2-row .txt .pts div::before {
  content: ""; position: absolute; left: 0; top: 9px; width: 7px; height: 7px;
  border-radius: 50%; background: linear-gradient(135deg, #48acff, #365cf5);
}
.br2-row .txt .pts b { display: block; font-size: 17px; font-weight: 700; color: #000; margin-bottom: 3px; }
.br2-row .txt .pts span { font-size: 15px; color: rgba(0, 0, 0, .55); line-height: 26px; }
.br2-tri { display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px; margin-top: 26px; }
.br2-tri .t {
  padding: 20px 22px; border-radius: 12px; background: #fff;
  border: 1px solid #e6eefb; transition: .24s;
}
.br2-tri .t:hover { border-color: #bcd7f6; box-shadow: 0 10px 24px rgba(31, 79, 140, .1); }
.br2-tri .t b { display: block; font-size: 16px; font-weight: 700; color: #000; margin-bottom: 8px; }
.br2-tri .t span { font-size: 14px; color: rgba(0, 0, 0, .55); line-height: 24px; }
.br2-faq { width: 1200px; margin: 0 auto; display: flex; flex-direction: column; gap: 16px; }
.br2-faq details {
  border: 1px solid rgba(0, 0, 0, .1); border-radius: 8px; background: #fff;
  padding: 0 0 0 8px; transition: .22s;
}
.br2-faq details:hover { border-color: rgba(54, 92, 245, .35); }
.br2-faq details[open] { border-color: rgba(54, 92, 245, .45); box-shadow: 0 10px 26px rgba(31, 79, 140, .08); }
.br2-faq summary {
  display: flex; align-items: center; gap: 12px; cursor: pointer; list-style: none;
  padding: 24px 32px 24px 24px; font-size: 22px; font-weight: 700; color: #000;
}
.br2-faq summary::-webkit-details-marker { display: none; }
.br2-faq summary::after {
  content: "＋"; margin-left: auto; font-size: 20px; font-weight: 400; color: #8fa6c4;
}
.br2-faq details[open] summary::after { content: "－"; color: #365cf5; }
.br2-faq summary:hover { color: #365cf5; }
.br2-faq .ans {
  padding: 0 60px 26px 24px; font-size: 16px; line-height: 28px; color: rgba(0, 0, 0, .6);
}
.br2-faq .ans b { color: #000; }
.br2-duo { display: grid; grid-template-columns: repeat(2, 1fr); gap: 28px; }
.br2-duo .d {
  padding: 40px 40px 36px; border-radius: 20px; background: #fff;
  border: 1px solid #e6eefb; box-shadow: 0 12px 30px rgba(31, 79, 140, .07);
}
.br2-duo .d .tag {
  display: inline-block; margin-bottom: 16px; padding: 5px 14px; border-radius: 999px;
  font-size: 14px; font-weight: 700; color: #365cf5; background: #eaf1ff;
}
.br2-duo .d h3 { font-size: 30px; font-weight: 700; color: #000; margin-bottom: 14px; }
.br2-duo .d h3 em {
  font-style: normal;
  background: linear-gradient(256deg, #48acff 10.4%, #365cf5 81.31%);
  -webkit-background-clip: text; background-clip: text; -webkit-text-fill-color: transparent;
}
.br2-duo .d p { font-size: 17px; line-height: 30px; color: rgba(0, 0, 0, .6); }
.br2-duo .d .go {
  display: inline-flex; align-items: center; gap: 6px; margin-top: 22px;
  font-size: 16px; font-weight: 700; color: #365cf5;
}
.br2-duo .d .go:hover { color: #2f9fd8; }
@media (max-width: 1240px) {
  .br2-sec { padding: 64px 0; }
  .br2-inner, .br2-faq { width: 100%; padding-left: 18px; padding-right: 18px; }
  .br2-head h2 { font-size: 32px; letter-spacing: .3px; }
  .br2-head p { font-size: 16px; line-height: 26px; }
  .br2-row, .br2-row--flip { flex-direction: column; margin-top: 48px; }
  .br2-row .txt, .br2-row--flip .txt { width: 100%; flex: 0 0 auto; margin: 0 0 24px; order: 1; }
  .br2-row .shot, .br2-row--flip .shot { width: 100%; flex: 0 0 auto; order: 2; }
  .br2-row .txt h3 { font-size: 24px; }
  .br2-row .txt > p { font-size: 16px; line-height: 27px; }
  .br2-tri, .br2-duo { grid-template-columns: 1fr; }
  .br2-faq summary { font-size: 17px; padding: 18px 20px 18px 16px; }
  .br2-faq .ans { padding: 0 24px 20px 16px; font-size: 15px; line-height: 26px; }
}

body[data-page="weixin"] {
  --brand: #00c458; --brand-d: #0b8f37; --brand-l: #9fe3b8; --brand-soft: #effbf3; --brand-text: #0b6b2b;
  --brand-grad: linear-gradient(135deg, #12b347, #0b8f37);
  --brand-shadow: rgba(18, 179, 71, .24);
}

body.no-affil[data-page="douyin"] {
  --brand: #0f7a86; --brand-d: #0b5d66; --brand-l: #9adfe6; --brand-soft: #e8f6f7;
  --brand-grad: linear-gradient(135deg, #25c4d4, #0f7a86);
  --brand-shadow: rgba(15, 122, 134, .24);
  --hero-1: #d9eef1; --hero-2: #fff; --deco: #0f7a86;
}
body.no-affil[data-page="douyin"] .firstPage_container {
  background: linear-gradient(180deg, var(--hero-1), var(--hero-2) 88%);
}
body.no-affil[data-page="douyin"] .hero-deco .d { color: #0f7a86; }
.dy-card {
  width: 100%; border-radius: 22px; padding: 24px 26px; color: #fff;
  background: linear-gradient(150deg, #1d2a30, #12191d 62%, #0e1416);
  box-shadow: 0 20px 44px rgba(14, 26, 30, .26);
}
.dy-head { display: flex; align-items: center; gap: 15px; padding-bottom: 17px; border-bottom: 1px solid rgba(255, 255, 255, .12); }
.dy-head .fig {
  width: 56px; height: 56px; flex: 0 0 56px; border-radius: 15px; display: flex;
  align-items: center; justify-content: center;
  background: rgba(255, 255, 255, .08); border: 1px solid rgba(255, 255, 255, .14);
}

.dy-head .fig img,
.dy-head .fig svg { width: 38px; height: 38px; }
.dy-head .nm { font-size: 20px; font-weight: 700; line-height: 1.3; color: #fff; }
.dy-head .nm span { display: block; margin-top: 4px; font-size: 12.5px; font-weight: 400; color: rgba(255, 255, 255, .62); }
.dy-facts { display: grid; grid-template-columns: 84px 1fr; gap: 13px 14px; margin-top: 19px; }
.dy-facts .k { font-size: 13px; color: rgba(255, 255, 255, .55); }
.dy-facts .v { font-size: 13.5px; font-weight: 700; color: #fff; }
.dy-facts .v em {
  font-style: normal; margin-left: 7px; padding: 1px 7px; border-radius: 999px;
  font-size: 11.5px; font-weight: 600; color: #12191d; background: #48e0ef;
}
.dy-feats {
  display: grid; grid-template-columns: repeat(3, 1fr);
  border: 1px solid #e6edf1; border-radius: 20px; overflow: hidden; background: #fff;
}
.dy-feats .df {
  display: flex; gap: 16px; padding: 24px 22px; background: #fff;
  border-right: 1px solid #eef3f6; border-bottom: 1px solid #eef3f6; transition: .24s;
}
.dy-feats .df:nth-child(3n) { border-right: 0; }
.dy-feats .df:nth-child(n+4) { border-bottom: 0; }
.dy-feats .df .n {
  flex: 0 0 36px; height: 36px; border-radius: 10px; display: flex; align-items: center;
  justify-content: center; font-size: 14px; font-weight: 800; color: #0f7a86;
  background: #e8f6f7; transition: .24s;
}
.dy-feats .df:hover .n { background: #0f7a86; color: #fff; }
.dy-feats .df:hover { background: #f7fdfd; }
.dy-feats .df .c { min-width: 0; padding-top: 2px; }
.dy-feats .df .c b { display: block; margin-bottom: 6px; font-size: 14.5px; font-weight: 700; color: #010101; }
.dy-feats .df .c span { font-size: 13px; color: #5c6b7a; line-height: 1.7; }

.dy-qa { border-bottom: 1px solid #eff4f8; padding: 18px 0; }
.dy-qa:last-child { border-bottom: 0; }
.dy-qa summary {
  display: flex; align-items: center; justify-content: space-between; gap: 14px;
  list-style: none; cursor: pointer; font-size: 14.5px; font-weight: 700; color: #010101;
}
.dy-qa summary::-webkit-details-marker { display: none; }
.dy-qa summary::after { content: "+"; font-size: 19px; font-weight: 600; color: #0f7a86; line-height: 1; }
.dy-qa[open] summary::after { content: "−"; }
.dy-qa[open] summary { color: #0f7a86; }
.dy-qa .ans { margin-top: 11px; font-size: 13.5px; color: #4a5666; line-height: 1.85; }
.dy-qa .ans b { color: #010101; }
.dy-qa .ans code {
  padding: 2px 7px; border-radius: 4px; background: #eef2f7; font-size: 12.5px;
  font-family: Consolas, Monaco, monospace; color: #0f7a86;
}
.dy-links { display: grid; grid-template-columns: repeat(3, 1fr); gap: 0; border: 1px solid #e6edf1; border-radius: 18px; overflow: hidden; }
.dy-links a {
  display: flex; align-items: center; gap: 14px; padding: 22px 24px; background: #fff;
  border-right: 1px solid #eef3f6; transition: .24s;
}
.dy-links a:last-child { border-right: 0; }
.dy-links a:hover { background: #f2fbfc; }
.dy-links a .ic {
  width: 42px; height: 42px; flex: 0 0 42px; border-radius: 12px; display: flex;
  align-items: center; justify-content: center; background: #e8f6f7;
}
.dy-links a .ic svg { width: 21px; height: 21px; color: #0f7a86; }
.dy-links a .tx { min-width: 0; }
.dy-links a .tx b { display: block; margin-bottom: 5px; font-size: 14.5px; font-weight: 700; color: #010101; }
.dy-links a .tx span { font-size: 12.5px; color: #7c8996; }
.dy-links a .go { margin-left: auto; font-size: 12.5px; font-weight: 700; color: #0f7a86; white-space: nowrap; }
.dy-footsteps { display: grid; grid-template-columns: repeat(3, 1fr); gap: 22px; }
.dy-footsteps .fs { position: relative; padding: 26px 24px; border-radius: 18px; background: #fff; border: 1px solid #e6edf1; transition: .24s; }
.dy-footsteps .fs:hover { border-color: #9adfe6; transform: translateY(-4px); box-shadow: 0 14px 30px rgba(15, 122, 134, .1); }
.dy-footsteps .fs .n {
  display: inline-flex; align-items: center; justify-content: center; width: 30px; height: 30px;
  margin-bottom: 14px; border-radius: 50%; font-size: 13.5px; font-weight: 800;
  color: #fff; background: linear-gradient(135deg, #25c4d4, #0f7a86);
}
.dy-footsteps .fs b { display: block; margin-bottom: 8px; font-size: 15px; font-weight: 700; color: #010101; }
.dy-footsteps .fs span { font-size: 13px; color: #5c6b7a; line-height: 1.75; }
.dy-footsteps .fs em { font-style: normal; font-weight: 700; color: #0f7a86; }

body.no-affil[data-page="kugou"] {
  --brand: #1565b0; --brand-d: #0f4d8a; --brand-l: #a8cdec; --brand-soft: #e8f2fb;
  --brand-grad: linear-gradient(135deg, #2e9bea, #1557a8);
  --brand-shadow: rgba(21, 101, 176, .26);
  --hero-1: #b7d9f2; --hero-2: #f4faff; --deco: #1565b0;
}
body.no-affil[data-page="kugou"] .firstPage_container {
  background: linear-gradient(180deg, var(--hero-1), var(--hero-2) 88%);
}
body.no-affil[data-page="kugou"] .hero-deco .d { color: #1565b0; }
.kg-album { width: 100%; border-radius: 22px; overflow: hidden; background: #fff; border: 1px solid #e2ecf6; box-shadow: 0 18px 40px rgba(21, 101, 176, .14); }
.kg-cover {
  position: relative; display: flex; align-items: center; gap: 18px; padding: 26px 26px 22px;
  background: linear-gradient(135deg, #2e9bea, #1557a8 78%);
}
.kg-cover .disc {
  position: relative; width: 76px; height: 76px; flex: 0 0 76px; border-radius: 50%;
  background: radial-gradient(circle at 50% 50%, #1b2a3a 0 22%, #2b3d52 22% 46%, #1b2a3a 46% 100%);
  border: 3px solid rgba(255, 255, 255, .55); display: flex; align-items: center; justify-content: center;
}
.kg-cover .disc::after {
  content: ""; position: absolute; inset: -3px; border-radius: 50%;
  border: 1px dashed rgba(255, 255, 255, .32);
}
.kg-cover .disc svg,
.kg-cover .disc img { width: 36px; height: 36px; color: #fff; }
.kg-cover .nm { font-size: 20px; font-weight: 700; color: #fff; line-height: 1.35; }
.kg-cover .nm span { display: block; margin-top: 5px; font-size: 12.5px; font-weight: 400; color: rgba(255, 255, 255, .74); }
.kg-cover .ver {
  margin-left: auto; align-self: flex-start; padding: 5px 12px; border-radius: 999px;
  font-size: 12px; font-weight: 700; color: #0f4c92; background: rgba(255, 255, 255, .88);
}
.kg-spec { padding: 6px 26px 20px; }
.kg-spec .row { display: flex; align-items: center; justify-content: space-between; gap: 14px; padding: 12px 0; border-bottom: 1px solid #eef4fa; font-size: 13.5px; }
.kg-spec .row:last-child { border-bottom: 0; }
.kg-spec .row .k { color: #6b7a86; }
.kg-spec .row .v { font-weight: 700; color: #010101; text-align: right; }
.kg-spec .row .v em { font-style: normal; margin-left: 7px; padding: 1px 7px; border-radius: 999px; font-size: 11.5px; font-weight: 700; color: #1565b0; background: #e6f2fd; }
.kg-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 22px 26px; }
.kg-grid .cg { text-align: center; padding: 26px 20px 22px; border-radius: 18px; background: #f7fbff; border: 1px solid #e6f0fa; transition: .26s; }
.kg-grid .cg:hover { background: #fff; border-color: #a9d3f5; transform: translateY(-5px); box-shadow: 0 16px 34px rgba(21, 101, 176, .12); }
.kg-grid .cg .cir {
  width: 62px; height: 62px; margin: 0 auto 16px; border-radius: 50%; display: flex;
  align-items: center; justify-content: center; background: #fff; border: 1px solid #d8e9f8;
  box-shadow: 0 8px 18px rgba(21, 101, 176, .1); transition: .26s;
}
.kg-grid .cg:hover .cir { background: linear-gradient(135deg, #2e9bea, #1557a8); border-color: transparent; }
.kg-grid .cg .cir svg { width: 27px; height: 27px; color: #1565b0; transition: .26s; }
.kg-grid .cg:hover .cir svg { color: #fff; }
.kg-grid .cg b { display: block; margin-bottom: 8px; font-size: 15px; font-weight: 700; color: #010101; }
.kg-grid .cg span { font-size: 13px; color: #5c6b7a; line-height: 1.7; }
.kg-qa-cols { display: grid; grid-template-columns: repeat(2, 1fr); gap: 0 26px; align-items: start; }
.kg-qa-cols .col { display: flex; flex-direction: column; gap: 14px; }
.kg-qa-cols .qc { border: 1px solid #e4ecf4; border-radius: 14px; padding: 16px 20px; background: #fff; transition: .22s; }
.kg-qa-cols .qc:hover { border-color: #a9d3f5; }
.kg-qa-cols .qc summary {
  display: flex; align-items: center; gap: 10px; list-style: none; cursor: pointer;
  font-size: 14.5px; font-weight: 700; color: #010101;
}
.kg-qa-cols .qc summary::-webkit-details-marker { display: none; }
.kg-qa-cols .qc summary::before {
  content: ""; width: 7px; height: 7px; flex: 0 0 7px; border-radius: 50%;
  background: #2e9bea; transition: .22s;
}
.kg-qa-cols .qc[open] summary::before { background: #1565b0; box-shadow: 0 0 0 4px #e6f2fd; }
.kg-qa-cols .qc[open] summary { color: #1565b0; }
.kg-qa-cols .qc .ans { margin-top: 11px; padding-left: 17px; font-size: 13.5px; color: #4a5666; line-height: 1.85; }
.kg-qa-cols .qc .ans b { color: #010101; }
.kg-qa-cols .qc .ans code { padding: 2px 7px; border-radius: 4px; background: #eef2f7; font-size: 12.5px; font-family: Consolas, Monaco, monospace; color: #1565b0; }
.kg-links {
  display: flex; flex-wrap: wrap; align-items: center; gap: 10px 14px; padding: 18px 24px;
  border: 1px solid #e2ecf6; border-radius: 999px; background: #f7fbff;
}
.kg-links .lb { font-size: 13px; font-weight: 700; color: #6b7a86; padding-right: 4px; }
.kg-links a {
  display: inline-flex; align-items: center; gap: 7px; padding: 8px 17px; border-radius: 999px;
  background: #fff; border: 1px solid #d8e9f8; font-size: 13.5px; font-weight: 600; color: #1565b0; transition: .22s;
}
.kg-links a:hover { background: linear-gradient(135deg, #2e9bea, #1557a8); border-color: transparent; color: #fff; transform: translateY(-2px); }
.kg-links a svg { width: 15px; height: 15px; }
.kg-steps { display: flex; flex-direction: column; gap: 0; border-left: 2px solid #d8e9f8; margin-left: 14px; padding-left: 0; }
.kg-steps .ks { position: relative; padding: 0 0 28px 30px; }
.kg-steps .ks:last-child { padding-bottom: 0; }
.kg-steps .ks::before {
  content: ""; position: absolute; left: -9px; top: 2px; width: 16px; height: 16px; border-radius: 50%;
  background: #fff; border: 3px solid #2e9bea;
}
.kg-steps .ks .n { display: block; margin-bottom: 6px; font-size: 12.5px; font-weight: 800; letter-spacing: .5px; color: #1565b0; }
.kg-steps .ks b { display: block; margin-bottom: 7px; font-size: 15px; font-weight: 700; color: #010101; }
.kg-steps .ks span { font-size: 13.5px; color: #5c6b7a; line-height: 1.8; }
.kg-steps .ks em { font-style: normal; font-weight: 700; color: #1565b0; }
.kg-steps--flat {
  display: grid; grid-template-columns: repeat(3, 1fr); gap: 22px;
  border-left: 0; margin-left: 0; padding-left: 0;
  border-top: 1px solid #e6f0fa; padding-top: 32px;
}
.kg-steps--flat .ks { position: static; padding: 0; }
.kg-steps--flat .ks::before { display: none; }
.kg-steps--flat .ks .n {
  display: inline-flex; align-items: center; justify-content: center;
  width: 30px; height: 30px; margin-bottom: 13px; border-radius: 50%;
  font-size: 13.5px; font-weight: 800; color: #fff; letter-spacing: 0;
  background: linear-gradient(135deg, #3aa4f0, #1565b0);
}
.kg-steps--flat .ks b { margin-bottom: 8px; }
.kg-steps--flat .ks span { font-size: 13px; }
.card-note {
  margin-top: 18px; padding: 15px var(--card-pad, 0) 0;
  border-top: 1px solid #eef2f6;
  font-size: 13px; line-height: 1.75; color: #4a5666;
}
.card-note .nt { display: block; }
.card-note .ndl {
  display: inline-flex; align-items: center; gap: 3px; font-weight: 700;
  color: var(--brand); transition: color .18s;
}
.card-note .ndl:hover { color: var(--brand-d); }
.card-note .ndl svg { transition: transform .22s; vertical-align: -1px; }
.card-note .ndl:hover svg { transform: translateX(3px); }
.dy-card .card-note { border-top-color: rgba(255, 255, 255, .12); color: rgba(255, 255, 255, .62); }
.dy-card .card-note .ndl { color: #48e0ef; }
.dy-card .card-note .ndl:hover { color: #7ceaf5; }
.dy-card { --card-pad: 26px; }
.kg-album { --card-pad: 26px; }
.bl-note { --card-pad: 28px; }
.qq-side { --card-pad: 28px; }

body.no-affil[data-page="bilibili"] {
  --brand: #c2185b; --brand-d: #96134a; --brand-l: #f5b8d1; --brand-soft: #fdeef4;
  --brand-grad: linear-gradient(135deg, #e8437f, #c2185b);
  --brand-shadow: rgba(194, 24, 91, .24);
  --hero-1: #fbdae8; --hero-2: #fff; --deco: #c2185b;
}
body.no-affil[data-page="bilibili"] .firstPage_container {
  background: linear-gradient(180deg, var(--hero-1), var(--hero-2) 88%);
}
body.no-affil[data-page="bilibili"] .hero-deco .d { color: #c2185b; }
.bl-note { position: relative; width: 100%; }
.bl-note .sheet {
  position: relative; border-radius: 20px; padding: 26px 28px; background: #fff;
  border: 2px solid #ffd0e2; box-shadow: 0 16px 36px rgba(194, 24, 91, .12);
}
.bl-note .sheet::after {
  content: ""; position: absolute; left: 44px; bottom: -13px; width: 24px; height: 24px;
  background: #fff; border-right: 2px solid #ffd0e2; border-bottom: 2px solid #ffd0e2;
  transform: rotate(45deg);
}
.bl-note .sheet .row { display: flex; align-items: center; justify-content: space-between; gap: 14px; padding: 12px 0; border-bottom: 1px dashed #ffe0ec; font-size: 13.5px; }
.bl-note .sheet .row:first-of-type { padding-top: 0; }
.bl-note .sheet .row .k { color: #8a7f88; }
.bl-note .sheet .row .v { font-weight: 700; color: #010101; text-align: right; }
.bl-note .sheet .row .v em { font-style: normal; margin-left: 7px; padding: 1px 8px; border-radius: 999px; font-size: 11.5px; font-weight: 700; color: #c2185b; background: #ffe9f2; }
.bl-note .tip {
  display: inline-flex; align-items: center; gap: 6px; margin-top: 16px; padding: 6px 13px;
  border-radius: 999px; font-size: 12.5px; font-weight: 600; color: #c2185b; background: #fff0f6;
}
.bl-note .sheet .bh { display: flex; align-items: center; gap: 14px; margin-bottom: 18px; padding-bottom: 16px; border-bottom: 1px dashed #ffe0ec; }
.bl-note .sheet .bh .ic {
  width: 54px; height: 54px; flex: 0 0 54px; border-radius: 15px; background: #fff;
  border: 1px solid #ffe0ec; display: flex; align-items: center; justify-content: center;
  box-shadow: 0 8px 18px rgba(194, 24, 91, .12);
}
.bl-note .sheet .bh .ic img { width: 38px; height: 38px; display: block; }
.bl-note .sheet .bh .nm { font-size: 19px; font-weight: 700; color: #010101; line-height: 1.3; }
.bl-note .sheet .bh .nm span { display: block; margin-top: 4px; font-size: 12.5px; font-weight: 400; color: #8a7f88; }
.bl-note .sheet .bstats { display: grid; grid-template-columns: repeat(3, 1fr); gap: 10px; margin-top: 16px; }
.bl-note .sheet .bstats .bs { padding: 12px 8px; border-radius: 12px; background: #fff6fa; text-align: center; }
.bl-note .sheet .bstats .bs b { display: block; font-size: 16px; font-weight: 800; color: #c2185b; line-height: 1.25; }
.bl-note .sheet .bstats .bs span { display: block; margin-top: 6px; font-size: 11.5px; color: #8a7f88; line-height: 1.4; }
.bl-stats { display: grid; grid-template-columns: repeat(3, 1fr); border-top: 1px solid #ffe0ec; margin-top: 26px; }
.bl-stats .bs { padding: 22px 4px 4px; }
.bl-stats .bs b { display: block; font-size: 26px; font-weight: 800; line-height: 1.2; color: #c2185b; letter-spacing: -.5px; }
.bl-stats .bs span { display: block; margin-top: 7px; font-size: 12.5px; color: #7c8996; }
.bl-wall { display: grid; grid-template-columns: repeat(3, 1fr); gap: 16px; }
.bl-wall .bw { position: relative; overflow: hidden; padding: 26px 24px; border-radius: 18px; background: #fff; border: 1px solid #ffe0ec; transition: .24s; }
.bl-wall .bw::before { content: ""; position: absolute; left: 0; top: 0; width: 4px; height: 100%; background: linear-gradient(180deg, #fb7299, #c2185b); opacity: 0; transition: .24s; }
.bl-wall .bw:hover { transform: translateY(-4px); box-shadow: 0 16px 34px rgba(194, 24, 91, .13); }
.bl-wall .bw:hover::before { opacity: 1; }
.bl-wall .bw .no { display: block; margin-bottom: 12px; font-size: 30px; font-weight: 800; line-height: 1; color: #ffd6e4; letter-spacing: -1.5px; }
.bl-wall .bw b { display: block; margin-bottom: 9px; font-size: 15.5px; font-weight: 700; color: #010101; }
.bl-wall .bw span { font-size: 13px; color: #5c6b7a; line-height: 1.75; }
.bl-rail { position: relative; padding-left: 34px; }
.bl-rail::before { content: ""; position: absolute; left: 9px; top: 6px; bottom: 6px; width: 2px; background: linear-gradient(180deg, #fb7299, #ffd6e4); }
.bl-rail .rq { position: relative; margin-bottom: 26px; }
.bl-rail .rq:last-child { margin-bottom: 0; }
.bl-rail .rq::before {
  content: ""; position: absolute; left: -33px; top: 4px; width: 18px; height: 18px; border-radius: 50%;
  background: #fff; border: 3px solid #fb7299; box-shadow: 0 0 0 4px #fff0f6;
}
.bl-rail .rq summary { list-style: none; cursor: pointer; font-size: 15.5px; font-weight: 700; color: #010101; }
.bl-rail .rq summary::-webkit-details-marker { display: none; }
.bl-rail .rq summary:hover, .bl-rail .rq[open] summary { color: #c2185b; }
.bl-rail .rq .ans { margin-top: 11px; font-size: 13.5px; color: #4a5666; line-height: 1.85; }
.bl-rail .rq .ans b { color: #010101; }
.bl-rail .rq .ans code { padding: 2px 7px; border-radius: 4px; background: #eef2f7; font-size: 12.5px; font-family: Consolas, Monaco, monospace; color: #c2185b; }
.bl-links { display: grid; grid-template-columns: repeat(3, 1fr); gap: 16px; }
.bl-links a {
  display: block; padding: 24px 22px; border-radius: 18px; background: #fff;
  border: 2px solid #ffe0ec; transition: .24s;
}
.bl-links a:hover { border-color: #fb7299; background: #fff8fb; transform: translateY(-4px); }
.bl-links a .no { display: block; margin-bottom: 12px; font-size: 12.5px; font-weight: 800; color: #fb7299; letter-spacing: 1px; }
.bl-links a b { display: block; margin-bottom: 8px; font-size: 15.5px; font-weight: 700; color: #010101; }
.bl-links a span { font-size: 13px; color: #6b7a86; line-height: 1.7; }

.bl-footsteps { display: grid; grid-template-columns: repeat(3, 1fr); gap: 14px; padding-top: 32px; border-top: 1px solid #e6f0fa; }
.bl-footsteps .bf { padding: 20px 18px; border-radius: 16px; background: #f7fbfe; border: 1px solid #e6f0fa; transition: .24s; }
.bl-footsteps .bf:hover { background: #fff; border-color: #9adfe6; transform: translateY(-4px); }
.bl-footsteps .bf .n { display: block; margin-bottom: 12px; font-size: 13px; font-weight: 800; color: #c2185b; letter-spacing: 1px; }
.bl-footsteps .bf b { display: block; margin-bottom: 8px; font-size: 15px; font-weight: 700; color: #010101; }
.bl-footsteps .bf b:last-child { margin-bottom: 0; }
.bl-footsteps .bf span { font-size: 13px; color: #5c6b7a; line-height: 1.75; }
.bl-footsteps .bf span:empty { display: none; }
.bl-footsteps .bf em { font-style: normal; font-weight: 700; color: #c2185b; }
@media (max-width: 1240px) {
  .dy-card, .kg-album, .bl-note { margin-top: 6px; }
  .dy-feats, .dy-links, .dy-footsteps, .kg-grid, .kg-qa-cols,
  .bl-wall, .bl-links, .bl-footsteps { grid-template-columns: 1fr; }
  .dy-feats .df { border-right: 0; border-bottom: 1px solid #eef3f6; }
  .dy-feats .df:nth-child(n+4) { border-bottom: 1px solid #eef3f6; }
  .dy-feats .df:last-child { border-bottom: 0; }
  .dy-links a { border-right: 0; border-bottom: 1px solid #eef3f6; }
  .dy-links a:last-child { border-bottom: 0; }
  .bl-stats { grid-template-columns: 1fr; }
  .bl-stats .bs { padding: 16px 4px; border-bottom: 1px solid #ffe0ec; }
  .bl-stats .bs:last-child { border-bottom: 0; }
  .kg-links { border-radius: 18px; }

  .gj-io { grid-template-columns: 1fr; }
  .gj-pic { max-width: 640px; margin: 0 auto; }
  .gj-how, .gj-faq, .gj-more { grid-template-columns: 1fr; }

  .gj-stack { height: auto; }
  .gj-stack .card { position: relative; left: 0; width: 100%; display: none; }
  .gj-stack .card[data-pos="1"] { display: block; transform: none; }

}
@media (max-width: 760px) {
  .dy-facts { grid-template-columns: 1fr; gap: 6px; }
  .dy-facts .k { color: rgba(255, 255, 255, .5); }
}

.howto-dy { display: grid; grid-template-columns: repeat(3, 1fr); gap: 16px; }
.howto-dy .st {
  display: flex; gap: 14px; align-items: flex-start;
  padding: 20px 20px 18px; border-radius: 14px; background: #fff;
  border: 1px solid #dcecef; transition: .24s;
}
.howto-dy .st:hover { transform: translateY(-3px); box-shadow: 0 12px 26px rgba(15, 122, 134, .1); }
.howto-dy .st .n {
  width: 30px; height: 30px; flex: 0 0 30px; border-radius: 50%; display: flex;
  align-items: center; justify-content: center; font-size: 14px; font-weight: 800;
  color: #fff; background: linear-gradient(135deg, #25c4d4, #0f7a86);
}
.howto-dy .st b { display: block; font-size: 15px; font-weight: 700; color: #010101; margin-bottom: 6px; }
.howto-dy .st p { font-size: 13px; color: #5c6b7a; line-height: 1.7; }
.howto-dy .st em { font-style: normal; font-weight: 700; color: #0f7a86; }

.howto-kg { position: relative; padding-left: 30px; }
.howto-kg::before {
  content: ""; position: absolute; left: 9px; top: 8px; bottom: 8px; width: 2px;
  background: linear-gradient(180deg, #3aa4f0, #cfe4f5);
}
.howto-kg .ks { position: relative; display: flex; gap: 14px; align-items: baseline; padding: 0 0 18px; }
.howto-kg .ks:last-child { padding-bottom: 0; }
.howto-kg .ks::before {
  content: ""; position: absolute; left: -27px; top: 6px; width: 12px; height: 12px;
  border-radius: 50%; background: #fff; border: 3px solid #2f9fd8;
}
.howto-kg .ks .n {
  flex: 0 0 46px; font-size: 19px; font-weight: 800; letter-spacing: -.5px; color: #bcd9ee;
}
.howto-kg .ks .c { min-width: 0; }
.howto-kg .ks .c b { font-size: 15.5px; font-weight: 700; color: #010101; margin-right: 10px; }
.howto-kg .ks .c span { font-size: 13.5px; color: #5c6b7a; line-height: 1.7; }
.howto-kg .ks .c em { font-style: normal; font-weight: 700; color: #1565b0; }

.howto-bl { display: grid; grid-template-columns: repeat(4, 1fr); gap: 14px; }
.howto-bl .bt {
  position: relative; overflow: hidden; padding: 22px 18px 20px; border-radius: 16px;
  background: linear-gradient(160deg, #fff6fa, #fff); border: 1px solid #ffe0ec; transition: .24s;
}
.howto-bl .bt:hover { transform: translateY(-3px); box-shadow: 0 14px 28px rgba(194, 24, 91, .12); }
.howto-bl .bt .n {
  display: block; font-size: 40px; font-weight: 800; line-height: 1; letter-spacing: -2px;
  color: #ffd0e2; margin-bottom: 12px; transition: .24s;
}
.howto-bl .bt:hover .n { color: #fb7299; }
.howto-bl .bt b { display: block; font-size: 15px; font-weight: 700; color: #010101; margin-bottom: 7px; }
.howto-bl .bt span { font-size: 13px; color: #5c6b7a; line-height: 1.7; }
.howto-bl .bt em { font-style: normal; font-weight: 700; color: #c2185b; }

@media (max-width: 1240px) {
  .howto-dy, .howto-bl { grid-template-columns: 1fr; }
  .howto-kg .ks { flex-direction: column; gap: 4px; }
  .howto-kg .ks .n { flex: 0 0 auto; }
}

.dy-faq-cols { display: grid; grid-template-columns: repeat(2, 1fr); gap: 0 26px; align-items: start; }
.dy-faq-cols .col { display: flex; flex-direction: column; }
.dy-faq-cols .dy-qa { border-bottom: 1px solid #eff4f8; padding: 18px 0; }
.dy-faq-cols .dy-qa:last-child { border-bottom: 0; }

.bl-faq { display: grid; grid-template-columns: repeat(2, 1fr); gap: 14px; align-items: start; }
.bl-faq .rq {
  position: relative; padding: 20px 22px; border-radius: 14px; background: #fff;
  border: 1px solid #ffe0ec; border-left: 4px solid #fb7299; transition: .22s;
}
.bl-faq .rq:hover { box-shadow: 0 12px 26px rgba(194, 24, 91, .1); }
.bl-faq .rq summary { list-style: none; cursor: pointer; font-size: 15px; font-weight: 700; color: #010101; }
.bl-faq .rq summary::-webkit-details-marker { display: none; }
.bl-faq .rq summary:hover, .bl-faq .rq[open] summary { color: #c2185b; }
.bl-faq .rq .ans { margin-top: 11px; font-size: 13.5px; color: #4a5666; line-height: 1.85; }
.bl-faq .rq .ans b { color: #010101; }
.bl-faq .rq .ans code { padding: 2px 7px; border-radius: 4px; background: #eef2f7; font-size: 12.5px; font-family: Consolas, Monaco, monospace; color: #c2185b; }

@media (max-width: 1240px) {
  .dy-faq-cols, .bl-faq { grid-template-columns: 1fr; }
}

body.no-affil[data-page="sogou"] {
  --brand: #006ef1; --brand-d: #005bf8; --brand-l: #bddbff; --brand-soft: #eaf3ff;
  --brand-grad: linear-gradient(135deg, #409bfd, #006ef1);
  --brand-shadow: rgba(0, 110, 241, .24);
  --hero-1: #d9e8fc; --hero-2: #fff; --deco: #005bf8;
}
body.no-affil[data-page="sogou"] .firstPage_container {
  background: linear-gradient(180deg, var(--hero-1), var(--hero-2) 88%);
}
body.no-affil[data-page="sogou"] .hero-deco .d { color: #005bf8; }
body[data-page="sogou"] .dl-tip { max-width: 560px; }
.ov.sg-card { width: 440px; flex: 0 0 440px; }

.sg-feat { display: grid; grid-template-columns: minmax(0, 1.4fr) minmax(0, 1fr); grid-template-rows: repeat(2, minmax(0, 1fr)); gap: 20px; }
.sg-main {
  position: relative; overflow: hidden; grid-column: 1; grid-row: 1 / span 2;
  display: flex; flex-direction: column; justify-content: center;
  border-radius: 24px; padding: 40px 40px 36px; color: #fff;
  background: linear-gradient(142deg, #0049c6, #005bf8 40%, #0f6ff5);
  box-shadow: 0 20px 44px rgba(0, 91, 248, .22);
}
.sg-main::after {
  content: ""; position: absolute; right: -70px; bottom: -90px; width: 260px; height: 260px;
  border-radius: 50%; background: rgba(255, 255, 255, .12);
}
.sg-main::before {
  content: ""; position: absolute; right: -20px; top: -60px; width: 150px; height: 150px;
  border-radius: 50%; background: rgba(255, 255, 255, .1);
}
.sg-main .kick {
  align-self: flex-start;
  display: inline-flex; align-items: center; gap: 7px; margin-bottom: 18px; padding: 5px 13px;
  border-radius: 999px; background: rgba(255, 255, 255, .18); font-size: 12px; font-weight: 700; letter-spacing: .6px;
}
.sg-main h3 { position: relative; z-index: 1; font-size: 32px; font-weight: 700; line-height: 1.28; }
.sg-main p { position: relative; z-index: 1; margin-top: 14px; font-size: 14.5px; line-height: 1.9; color: #fff; }
.sg-main .pills { position: relative; z-index: 1; display: flex; flex-wrap: wrap; gap: 9px; margin-top: 26px; }
.sg-main .pills span {
  padding: 7px 15px; border-radius: 9px; background: rgba(255, 255, 255, .16);
  border: 1px solid rgba(255, 255, 255, .3); font-size: 12.5px; font-weight: 600;
}
.sg-tile {
  display: flex; flex-direction: column; justify-content: center; gap: 9px;
  padding: 26px 28px; border-radius: 20px; background: #fff; border: 1px solid #e2ecfb;
  transition: .24s;
}
.sg-tile:hover { border-color: var(--brand-l); box-shadow: 0 14px 30px rgba(0, 110, 241, .1); transform: translateY(-3px); }
.sg-tile .ic {
  width: 38px; height: 38px; border-radius: 11px; background: var(--brand-soft);
  display: flex; align-items: center; justify-content: center;
}
.sg-tile .ic svg { width: 20px; height: 20px; color: var(--brand); }
.sg-tile b { font-size: 16px; font-weight: 700; color: #010101; }
.sg-tile span { font-size: 13px; color: #5c6b7a; line-height: 1.75; }

.sg-mini { display: grid; grid-template-columns: repeat(4, 1fr); gap: 24px; margin-top: 34px; }
.sg-mini .mi { display: flex; gap: 13px; align-items: flex-start; }
.sg-mini .mi .dot {
  width: 34px; height: 34px; flex: 0 0 34px; border-radius: 50%;
  background: var(--brand-soft); border: 1px solid #d3e6ff;
  display: flex; align-items: center; justify-content: center;
}
.sg-mini .mi .dot svg { width: 17px; height: 17px; color: var(--brand); }
.sg-mini .mi b { display: block; margin-bottom: 6px; font-size: 14.5px; font-weight: 700; color: #010101; }
.sg-mini .mi span { font-size: 12.5px; color: #5c6b7a; line-height: 1.7; }

.sg-how { display: grid; grid-template-columns: repeat(2, 1fr); gap: 18px; }
.sg-how .st {
  position: relative; overflow: hidden; padding: 26px 30px 26px 30px; border-radius: 18px;
  background: #fff; border: 1px solid #e2ecfb; transition: .24s;
}
.sg-how .st:hover { border-color: var(--brand-l); box-shadow: 0 14px 30px rgba(0, 110, 241, .09); transform: translateY(-3px); }
.sg-how .st .n {
  position: absolute; right: 22px; top: 12px; font-size: 52px; font-weight: 800;
  line-height: 1; color: #e8f0fd; letter-spacing: -2px; transition: .24s;
}
.sg-how .st:hover .n { color: #d5e5ff; }
.sg-how .st b { position: relative; z-index: 1; display: block; padding-right: 62px; margin-bottom: 9px; font-size: 16px; font-weight: 700; color: #010101; }
.sg-how .st span { position: relative; z-index: 1; display: block; font-size: 13.5px; color: #5c6b7a; line-height: 1.8; }
.sg-how .st em { font-style: normal; font-weight: 700; color: var(--brand); }

.sg-qa { display: flex; flex-direction: column; gap: 26px; max-width: 940px; }
.sg-qa .q { display: flex; align-items: flex-start; gap: 12px; }
.sg-qa .q .idx {
  width: 30px; height: 30px; flex: 0 0 30px; border-radius: 10px; background: var(--brand-grad);
  color: #fff; font-size: 13px; font-weight: 800; display: flex; align-items: center; justify-content: center;
  box-shadow: 0 6px 14px rgba(0, 110, 241, .22);
}
.sg-qa .q .bub {
  position: relative; padding: 11px 18px; border-radius: 4px 15px 15px 15px;
  background: #eaf3ff; border: 1px solid #d3e6ff;
  font-size: 15px; font-weight: 700; color: #01408f; line-height: 1.6;
}
.sg-qa .a {
  margin: 11px 0 0 42px; padding-left: 17px; border-left: 2px solid #e8f0fd;
  font-size: 14px; color: #4a5666; line-height: 1.95;
}
.sg-qa .a b { color: #010101; font-weight: 700; }
.sg-qa .a code {
  padding: 2px 7px; border-radius: 4px; background: #eef4fd; font-size: 12.5px;
  font-family: Consolas, Monaco, monospace; color: var(--brand);
}
.sg-qa .a ol { margin: 8px 0 0 17px; display: flex; flex-direction: column; gap: 5px; list-style: decimal; }

.sg-rail {
  display: flex; gap: 16px; overflow-x: auto; scroll-snap-type: x mandatory;
  padding-bottom: 8px; -webkit-overflow-scrolling: touch;
}
.sg-rail a {
  flex: 0 0 calc((100% - 48px) / 4); scroll-snap-align: start;
  display: flex; flex-direction: column; gap: 12px; padding: 22px 22px 18px;
  border-radius: 18px; background: #fff; border: 1px solid #e2ecfb; transition: .24s;
}
.sg-rail a:hover { border-color: var(--brand-l); box-shadow: 0 16px 32px rgba(0, 110, 241, .12); transform: translateY(-4px); }
.sg-rail a .ic {
  width: 44px; height: 44px; border-radius: 13px; background: var(--brand-soft);
  display: flex; align-items: center; justify-content: center;
}
.sg-rail a .ic svg { width: 22px; height: 22px; color: var(--brand); }
.sg-rail a b { font-size: 15.5px; font-weight: 700; color: #010101; }
.sg-rail a .meta { font-size: 12.5px; color: #5c6b7a; line-height: 1.7; }
.sg-rail a .go {
  display: flex; align-items: center; gap: 4px; margin-top: 2px; padding-top: 13px;
  border-top: 1px solid #f0f5fc; font-size: 12.5px; font-weight: 700; color: var(--brand);
}
.sg-rail a:hover .go svg { transform: translateX(3px); }
.sg-rail a .go svg { width: 13px; height: 13px; transition: transform .22s; }

.sg-flow { position: relative; display: grid; grid-template-columns: repeat(3, 1fr); gap: 30px; padding-top: 44px; border-top: 1px solid #eef4fa; }
.sg-flow::before {
  content: ""; position: absolute; left: 0; right: 0; top: 16px; height: 3px; border-radius: 2px;
  background: linear-gradient(90deg, #8ec1ff, #006ef1); opacity: .55;
}
.sg-flow .fs { position: relative; min-width: 0; }
.sg-flow .fs .n {
  position: absolute; top: -44px; left: 0; width: 34px; height: 34px; border-radius: 50%;
  background: #fff; border: 3px solid var(--brand); color: var(--brand);
  display: flex; align-items: center; justify-content: center; font-size: 13.5px; font-weight: 800;
}
.sg-flow .fs b { display: block; margin-bottom: 8px; font-size: 15px; font-weight: 700; color: #010101; }
.sg-flow .fs span { font-size: 13px; color: #5c6b7a; line-height: 1.75; }
.sg-flow .fs em { font-style: normal; font-weight: 700; color: var(--brand); }

@media (max-width: 1240px) {
  .firstPage_container .container .middle_content .right_content { width: 100%; flex: 0 0 auto; }
  .firstPage_container .container .middle_content .right_content .ov,
  .firstPage_container .container .middle_content .ov,
  .ov.sg-card { width: 100%; flex: 0 0 auto; }
  .sg-feat { grid-template-columns: repeat(2, minmax(0, 1fr)); grid-template-rows: auto auto; }
  .sg-main { grid-column: 1 / -1; grid-row: 1; padding: 32px 30px; }
  .sg-main h3 { font-size: 27px; }
  .sg-mini { grid-template-columns: repeat(2, 1fr); }
  .sg-how { grid-template-columns: 1fr; }
  .sg-qa { max-width: none; }
  .sg-rail a { flex-basis: calc((100% - 32px) / 3); }
}

@media (max-width: 760px) {
  .sg-feat { grid-template-columns: 1fr; }
  .sg-mini { grid-template-columns: 1fr; gap: 20px; }
  .sg-main { border-radius: 20px; padding: 26px 22px; }
  .sg-main h3 { font-size: 23px; }
  .sg-tile { padding: 20px 22px; }
  .sg-how .st { padding: 22px 20px; }
  .sg-how .st .n { right: 16px; top: 8px; font-size: 42px; }
  .sg-how .st b { padding-right: 48px; }
  .sg-qa .a { margin-left: 0; padding-left: 14px; }
  .sg-rail { gap: 12px; }
  .sg-rail a { flex-basis: 78%; }
  .sg-flow { grid-template-columns: 1fr; gap: 22px; padding-top: 0; }
  .sg-flow::before { display: none; }
  .sg-flow .fs { padding-left: 46px; }
  .sg-flow .fs .n { top: 0; left: 0; }
}

body.no-affil[data-page="sogoupinyin"] {
  --brand: #f45b22; --brand-d: #d8470f; --brand-l: #ffd2bb; --brand-soft: #fff2ec;
  --brand-grad: linear-gradient(135deg, #ff7a3d, #f0510f);
  --brand-shadow: rgba(244, 91, 34, .24);
  --hero-1: #ffe4d6; --hero-2: #fff; --deco: #f0510f;
  --brand-text: #b03a0a; --brand-strong: linear-gradient(135deg, #c2410c, #9c3407);
}
body.no-affil[data-page="sogoupinyin"] .firstPage_container {
  background: linear-gradient(180deg, var(--hero-1), var(--hero-2) 88%);
}
body.no-affil[data-page="sogoupinyin"] .hero-deco .d { color: #f0510f; }
body[data-page="sogoupinyin"] .dl-tip { max-width: 560px; }
body[data-page="sogoupinyin"] .ov .ov-links a { color: var(--brand-text); }
.ov.py-card { width: 440px; flex: 0 0 440px; }

.py-toc { border-top: 1px solid #f2f5f8; }
.py-toc .tw { display: flex; align-items: baseline; gap: 18px; padding: 22px 4px 20px; border-bottom: 1px solid #f2f5f8; transition: .22s; }
.py-toc .tw:hover { background: #fffaf7; }
.py-toc .tw .no {
  flex: 0 0 46px; font-size: 13px; font-weight: 800; color: var(--brand-text);
  letter-spacing: .5px; padding-top: 3px;
}
.py-toc .tw .nm { flex: 0 0 168px; font-size: 16.5px; font-weight: 700; color: #010101; }
.py-toc .tw .lead {
  flex: 1 1 auto; min-width: 24px; align-self: center; height: 0;
  border-bottom: 1px dotted #d6dee6;
}
.py-toc .tw .tx { flex: 0 1 620px; font-size: 13.5px; color: #5c6b7a; line-height: 1.8; }
.py-toc .tw .tx em { font-style: normal; font-weight: 700; color: var(--brand-text); }

.py-quad {
  display: grid; grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1px; background: #eef1f5; border: 1px solid #eef1f5; border-radius: 18px; overflow: hidden;
}
.py-quad .qd { position: relative; background: #fff; padding: 30px 32px 28px; transition: .22s; }
.py-quad .qd:hover { background: #fffaf7; }
.py-quad .qd .no {
  display: inline-flex; align-items: center; justify-content: center; width: 26px; height: 26px;
  margin-bottom: 14px; border-radius: 50%; font-size: 12.5px; font-weight: 800;
  color: #fff; background: var(--brand-strong);
}
.py-quad .qd b { display: block; margin-bottom: 9px; font-size: 16px; font-weight: 700; color: #010101; }
.py-quad .qd span { font-size: 13.5px; color: #5c6b7a; line-height: 1.8; }
.py-quad .qd em { font-style: normal; font-weight: 700; color: var(--brand-text); }

.py-ask { display: flex; flex-direction: column; gap: 20px; max-width: 980px; }
.py-ask .qq {
  position: relative; padding: 13px 20px 13px 26px; border-radius: 12px;
  background: #fff; border: 1px solid #e6dcf7;
  font-size: 15px; font-weight: 700; color: #1b1b1b; line-height: 1.6;
}
.py-ask .qq::before {
  content: ""; position: absolute; left: 12px; top: 15px; bottom: 15px; width: 2px;
  border-radius: 2px; background: var(--brand);
}
.py-ask .qq::after {
  content: ""; position: absolute; right: 18px; top: 15px; width: 6px; height: 6px;
  border-radius: 50%; background: #d9e2ec;
}
.py-ask .an { padding: 10px 0 0 6px; font-size: 14px; color: #4a5666; line-height: 1.95; }
.py-ask .an b { color: #010101; }
.py-ask .an code {
  padding: 2px 7px; border-radius: 4px; background: #fdf0e8; font-size: 12.5px;
  font-family: Consolas, Monaco, monospace; color: var(--brand-d);
}

.py-entry { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 18px; }
.py-entry a {
  position: relative; overflow: hidden; display: flex; flex-direction: column; gap: 8px;
  padding: 26px 26px 22px; border-radius: 18px; background: #fff; border: 1px solid #f0e4dd;
  transition: .24s;
}
.py-entry a:hover { border-color: var(--brand-l); box-shadow: 0 16px 32px rgba(244, 91, 34, .12); transform: translateY(-4px); }
.py-entry a .mk {
  position: absolute; right: 10px; bottom: -18px; font-size: 82px; font-weight: 800;
  color: #fdf1ea; line-height: 1; letter-spacing: -0.04em; user-select: none;
}
.py-entry a b { position: relative; z-index: 1; font-size: 16px; font-weight: 700; color: #010101; }
.py-entry a .tx { position: relative; z-index: 1; font-size: 12.5px; color: #5c6b7a; line-height: 1.75; }
.py-entry a .go {
  position: relative; z-index: 1; display: flex; align-items: center; gap: 4px;
  margin-top: 6px; font-size: 12.5px; font-weight: 700; color: var(--brand-text);
}
.py-entry a .go svg { width: 13px; height: 13px; transition: transform .22s; }
.py-entry a:hover .go svg { transform: translateX(3px); }

.py-flow { display: flex; align-items: stretch; flex-wrap: wrap; gap: 12px; padding-top: 32px; border-top: 1px solid #f2f5f8; }
.py-flow .fs {
  flex: 1 1 220px; min-width: 200px; display: flex; align-items: center; gap: 12px;
  padding: 15px 20px; border-radius: 999px; background: #fff7f3; border: 1px solid #ffdcc9;
}
.py-flow .fs .no {
  width: 26px; height: 26px; flex: 0 0 26px; border-radius: 50%; background: var(--brand-strong);
  color: #fff; font-size: 12.5px; font-weight: 800; display: flex; align-items: center; justify-content: center;
}
.py-flow .fs b { font-size: 14px; font-weight: 700; color: #010101; line-height: 1.4; }
.py-flow .ar {
  flex: 0 0 18px; align-self: center; width: 18px; height: 18px; color: #ffc4a4;
}
.py-flow .ar svg { width: 18px; height: 18px; }

@media (max-width: 1240px) {
  .py-toc .tw { flex-wrap: wrap; gap: 10px 14px; }
  .py-toc .tw .nm { flex: 0 0 auto; }
  .py-toc .tw .lead { display: none; }
  .py-toc .tw .tx { flex: 1 1 100%; }
  .py-entry { grid-template-columns: 1fr; }
  .py-ask { max-width: none; }
}

@media (max-width: 760px) {
  .py-quad { grid-template-columns: 1fr; }
  .py-quad .qd { padding: 24px 22px; }
  .py-toc .tw { padding: 18px 2px; }
  .py-toc .tw .no { flex: 0 0 auto; }
  .py-toc .tw .nm { font-size: 15.5px; }
  .py-flow { flex-direction: column; }
  .py-flow .ar { display: none; }
  .py-ask .qq { padding: 12px 16px 12px 24px; }
  .py-ask .an { padding-left: 0; }
  .py-entry a .mk { font-size: 64px; bottom: -12px; }
}

body.no-affil[data-page="qqbrowser"] {
  --brand: #0078f8; --brand-d: #0060cc; --brand-l: #bcd9ff; --brand-soft: #eef5ff;
  --brand-grad: linear-gradient(135deg, #0078f8, #7b8cf7);
  --brand-strong: linear-gradient(135deg, #0060cc, #4a5fd8);
  --brand-text: #0b5fd0;
  --brand-shadow: rgba(0, 120, 248, .24);
  --hero-1: #e6e9ff; --hero-2: #fff; --deco: #5b6cf0;
}
body.no-affil[data-page="qqbrowser"] .firstPage_container {
  background: linear-gradient(180deg, var(--hero-1), var(--hero-2) 88%);
}
body.no-affil[data-page="qqbrowser"] .hero-deco .d { color: #5b6cf0; }
body[data-page="qqbrowser"] .dl-tip { max-width: 560px; }
body[data-page="qqbrowser"] .ov .ov-links a { color: var(--brand-text); }
.ov.qb-card { width: 440px; flex: 0 0 440px; }


.dm-wrap {
  width: 1200px;
  margin: 0 auto;
  position: relative;
}

.dm-hero {
  position: relative;
  overflow: hidden;
  color: #fff;
  padding: 136px 0 0;
  min-height: 640px;
  background: #0d1927 url("../../../home/wassets/images/qudongdashi/hero-bg.jpg") no-repeat top center;
  background-size: 1920px 740px;
}

.dm-hero::after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  height: 150px;
  background: linear-gradient(180deg, rgba(13, 25, 39, 0), #0d1927 74%);
  pointer-events: none;
}
.dm-h1 {
  font-size: 46px;
  line-height: 68px;
  font-weight: 500;
  letter-spacing: .5px;
}
.dm-h1 .company {
  font-size: 52px;
  font-weight: 600;
  margin-right: 12px;
}
.dm-sub {
  margin-top: 10px;
  font-size: 18px;
  line-height: 1.6;
  color: rgba(255, 255, 255, .92);
}
.dm-dl { margin-top: 34px; }

.dl-btn.dm-btn {
  width: 196px;
  height: 56px;
  border-radius: 2px;
  background: #3e9bff;
  color: #fff;
  font-size: 18px;
  font-weight: 700;
  box-shadow: 0 8px 22px rgba(62, 155, 255, .34);
}
.dl-btn.dm-btn:hover {
  background: #42adfe;
  transform: translateY(-1px);
  box-shadow: 0 10px 26px rgba(62, 155, 255, .42);
}
.dl-btn.dm-btn:active { background: #0484e1; transform: none; }
.dm-hero .dl-tip {
  color: rgba(255, 255, 255, .74);
  max-width: 560px;
}
.dm-hero .dl-tip b { color: #fff; }
.dm-os {
  margin-top: 22px;
  font-size: 14px;
  letter-spacing: .3px;
  color: rgba(255, 255, 255, .58);
}

.dm-metrics {
  background: #0d1927;
  padding: 0 0 76px;
}
.dm-metrics .dm-wrap {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  border-top: 1px solid rgba(255, 255, 255, .1);
}
.dm-metric {
  padding: 28px 20px 0;
  text-align: center;
  position: relative;
}
.dm-metric + .dm-metric::before {
  content: "";
  position: absolute;
  left: 0;
  top: 30px;
  bottom: 4px;
  width: 1px;
  background: rgba(255, 255, 255, .1);
}
.dm-metric img {
  width: 30px;
  height: 30px;
  display: block;
  margin: 0 auto 12px;
}
.dm-metric b {
  display: block;
  font-size: 25px;
  font-weight: 800;
  color: #fff;
  letter-spacing: -.4px;
}
.dm-metric span {
  display: block;
  margin-top: 7px;
  font-size: 13px;
  color: rgba(255, 255, 255, .55);
}

.dm-bento {
  padding: 100px 0;
  background: #fff;
}
.dm-bento-head {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 32px;
  margin-bottom: 40px;
}
.dm-kicker {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  font-size: 12px;
  font-weight: 800;
  letter-spacing: 1.6px;
  text-transform: uppercase;
  color: #3e9bff;
  margin-bottom: 12px;
}
.dm-kicker::before {
  content: "";
  width: 22px;
  height: 2.5px;
  border-radius: 2px;
  background: #3e9bff;
}
.dm-bento-head h2 {
  font-size: 40px;
  font-weight: 700;
  line-height: 1.24;
  color: #0d1927;
}
.dm-bento-head p {
  max-width: 420px;
  font-size: 14.5px;
  line-height: 1.85;
  color: #6b7c8e;
}
.dm-bento-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 20px;
}
.dm-card {
  position: relative;
  padding: 30px 28px;
  border: 1px solid #e4edf8;
  border-radius: 18px;
  background: #fff;
  transition: border-color .22s, box-shadow .22s, transform .22s;
}
.dm-card:hover {
  border-color: #b8d9ff;
  box-shadow: 0 18px 44px rgba(62, 155, 255, .13);
  transform: translateY(-3px);
}
.dm-card--xl {
  grid-column: span 2;
  display: grid;
  grid-template-columns: minmax(0, 1fr) 214px;
  gap: 28px;
  align-items: center;
  background: linear-gradient(135deg, #f2f9ff 0%, #fff 62%);
}
.dm-card .lab {
  display: inline-block;
  font-size: 11.5px;
  font-weight: 800;
  letter-spacing: 1.2px;
  color: #3e9bff;
  text-transform: uppercase;
}
.dm-card h3 {
  margin-top: 12px;
  font-size: 22px;
  font-weight: 700;
  color: #0d1927;
  line-height: 1.35;
}
.dm-card p {
  margin-top: 10px;
  font-size: 14.5px;
  line-height: 1.85;
  color: #5f7183;
}
.dm-card img {
  display: block;
  width: 100%;
  max-width: 214px;
  height: auto;
  margin: 0 auto;
}
.dm-card--sm img { max-width: 96px; margin: 0 0 16px; }

.dm-how {
  padding: 100px 0;
  background: #f2f9ff;
}
.dm-how h2 {
  font-size: 40px;
  font-weight: 700;
  line-height: 1.24;
  color: #0d1927;
}
.dm-tl {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 48px;
  margin-top: 26px;
}
.dm-tl-step { position: relative; padding-top: 8px; }
.dm-tl-step .n {
  display: block;
  font-size: 62px;
  font-weight: 800;
  line-height: .9;
  letter-spacing: -3px;
  color: #dbeafe;
}
.dm-tl-step b {
  display: block;
  margin-top: -20px;
  font-size: 18px;
  font-weight: 700;
  color: #0d1927;
  position: relative;
}
.dm-tl-step span {
  display: block;
  margin-top: 10px;
  font-size: 14px;
  line-height: 1.85;
  color: #647689;
  max-width: 290px;
}
.dm-tl-step::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: -26px;
  width: 46px;
  height: 3px;
  border-radius: 3px;
  background: #3e9bff;
  opacity: .5;
}

.dm-faq {
  padding: 100px 0;
  background: #fff;
}
.dm-faq .dm-wrap {
  display: grid;
  grid-template-columns: 330px minmax(0, 1fr);
  gap: 64px;
  align-items: start;
}
.dm-faq-side { position: sticky; top: 96px; }
.dm-faq-side h2 {
  font-size: 40px;
  font-weight: 700;
  line-height: 1.24;
  color: #0d1927;
}
.dm-faq-side p {
  margin-top: 16px;
  font-size: 14.5px;
  line-height: 1.85;
  color: #6b7c8e;
}
.dm-qa-list { border-top: 1px solid #e4edf8; }
.dm-qa { border-bottom: 1px solid #e4edf8; }
.dm-qa summary {
  list-style: none;
  cursor: pointer;
  position: relative;
  padding: 20px 36px 20px 0;
  font-size: 16.5px;
  font-weight: 600;
  color: #16283c;
  line-height: 1.6;
}
.dm-qa summary::-webkit-details-marker { display: none; }
.dm-qa summary .idx {
  display: inline-block;
  min-width: 30px;
  font-size: 13px;
  font-weight: 800;
  color: #9db6d0;
}
.dm-qa summary::after {
  content: "+";
  position: absolute;
  right: 4px;
  top: 18px;
  font-size: 21px;
  line-height: 1;
  color: #3e9bff;
}
.dm-qa[open] summary::after { content: "\2212"; }
.dm-qa .a {
  padding: 0 40px 22px 30px;
  font-size: 14.5px;
  line-height: 1.95;
  color: #5a6b7d;
}
.dm-qa .a b { color: #16283c; }

.dm-more {
  padding: 100px 0;
  background: #f2f9ff;
}
.dm-more h2 {
  font-size: 40px;
  font-weight: 700;
  line-height: 1.24;
  color: #0d1927;
}
.dm-more-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 16px;
  margin-top: 36px;
}
.dm-more-item {
  display: flex;
  align-items: center;
  gap: 14px;
  padding: 16px 20px;
  background: #fff;
  border: 1px solid #e2ecf8;
  border-radius: 999px;
  transition: border-color .2s, box-shadow .2s, transform .2s;
}
.dm-more-item:hover {
  border-color: #b8d9ff;
  box-shadow: 0 12px 28px rgba(62, 155, 255, .14);
  transform: translateY(-2px);
}
.dm-more-item img { width: 40px; height: 40px; flex: 0 0 auto; }
.dm-more-item em {
  font-style: normal;
  min-width: 0;
}
.dm-more-item b {
  display: block;
  font-size: 15px;
  font-weight: 700;
  color: #16283c;
}
.dm-more-item span {
  display: block;
  margin-top: 3px;
  font-size: 12.5px;
  color: #7c8b9c;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.dm-more-item .arrow {
  margin-left: auto;
  color: #b9cde2;
  flex: 0 0 auto;
}

@media (max-width: 1260px) {
  .dm-wrap { width: auto; max-width: 1200px; padding: 0 24px; }
  .dm-h1 { font-size: 40px; }
  .dm-h1 .company { font-size: 46px; }
  .dm-bento-head h2, .dm-how h2, .dm-faq-side h2, .dm-more h2 { font-size: 34px; }
  .dm-faq .dm-wrap { grid-template-columns: 280px minmax(0, 1fr); gap: 44px; }
}
@media (max-width: 1024px) {
  .dm-hero { padding: 108px 0 72px; }
  .dm-metrics .dm-wrap { grid-template-columns: repeat(2, 1fr); row-gap: 26px; }
  .dm-metric:nth-child(3)::before { display: none; }
  .dm-bento-grid { grid-template-columns: repeat(2, 1fr); }
  .dm-card--xl { grid-column: span 2; }
  .dm-tl { grid-template-columns: 1fr; gap: 34px; }
  .dm-tl-step span { max-width: none; }
  .dm-faq .dm-wrap { grid-template-columns: 1fr; gap: 32px; }
  .dm-faq-side { position: static; }
}
@media (max-width: 720px) {
  .dm-hero { padding: 92px 0 56px; }
  .dm-h1 { font-size: 32px; }
  .dm-h1 .company { font-size: 36px; }
  .dm-sub { font-size: 15.5px; }
  .dm-metrics { padding-bottom: 52px; }
  .dm-metric b { font-size: 21px; }
  .dm-bento, .dm-how, .dm-faq, .dm-more { padding: 64px 0; }
  .dm-bento-head { flex-direction: column; align-items: flex-start; gap: 14px; }
  .dm-bento-head h2, .dm-how h2, .dm-faq-side h2, .dm-more h2 { font-size: 27px; }
  .dm-bento-grid { grid-template-columns: 1fr; }
  .dm-card--xl, .dm-card--wide { grid-column: span 1; }
  .dm-card--xl { grid-template-columns: 1fr; }
  .dm-card--xl img { max-width: 150px; }
  .dm-tl-step .n { font-size: 48px; }
  .dm-tl-step b { font-size: 16.5px; margin-top: -14px; }
  .dm-more-grid { grid-template-columns: 1fr; }
  .dm-more-item span { white-space: normal; }
}

.dm-feats {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 16px;
  margin: 0 0 34px;
}
.dm-feats a {
  display: flex;
  align-items: center;
  gap: 14px;
  padding: 16px 18px;
  border-radius: 14px;
  background: #f7fafd;
  border: 1px solid #e6eef8;
  transition: border-color .2s, box-shadow .2s, transform .2s;
}
.dm-feats a:hover {
  border-color: #b8d9ff;
  box-shadow: 0 10px 26px rgba(62, 155, 255, .13);
  transform: translateY(-2px);
}
.dm-feats img { width: 48px; height: 48px; flex: 0 0 auto; display: block; }
.dm-feats b { font-size: 15px; font-weight: 700; color: #28455f; line-height: 1.4; }

.dm-card[id], .dm-how, .dm-faq { scroll-margin-top: 92px; }

@media (max-width: 1024px) { .dm-feats { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 560px) { .dm-feats { grid-template-columns: 1fr; } .dm-feats a { padding: 14px 16px; } }

.ys-wrap {
  width: 1200px;
  margin: 0 auto;
  position: relative;
}

.ys-hero {
  position: relative;
  overflow: hidden;
  padding: 122px 0 0;
  background: linear-gradient(180deg, #f6fdff 0%, #eaf9ff 58%, #ffffff 100%);
}
.ys-hero::before {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  top: 0;
  height: 4px;
  background: linear-gradient(90deg, #00cade, #00a7de 52%, #3d32bc);
}
.ys-hero .ys-wrap {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 520px;
  gap: 40px;
  align-items: center;
}
.ys-tag {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  height: 30px;
  padding: 0 14px;
  border-radius: 999px;
  font-size: 12.5px;
  font-weight: 700;
  letter-spacing: .5px;
  color: #0184a8;
  background: rgba(0, 202, 222, .12);
  border: 1px solid rgba(0, 202, 222, .32);
}
.ys-h1 {
  margin-top: 20px;
  font-size: 56px;
  line-height: 1.14;
  font-weight: 800;
  letter-spacing: -1px;
  color: #0e2a3d;
}
.ys-h1 span {
  background: linear-gradient(120deg, #00cade, #00a7de 60%, #1a96ff);
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
  margin-right: 6px;
}
.ys-sub {
  margin-top: 16px;
  font-size: 19px;
  line-height: 1.7;
  color: #4a6376;
}
.ys-dl {
  margin-top: 32px;
  display: flex;
  align-items: center;
  gap: 22px;
  flex-wrap: wrap;
}

.dl-btn.ys-btn {
  width: 208px;
  height: 58px;
  border-radius: 10px;
  background: linear-gradient(120deg, #00cade, #00a7de);
  color: #fff;
  font-size: 19px;
  font-weight: 700;
  box-shadow: 0 14px 30px rgba(0, 167, 222, .32);
}
.dl-btn.ys-btn:hover {
  background: linear-gradient(120deg, #12d6e8, #12b3e6);
  transform: translateY(-2px);
  box-shadow: 0 18px 38px rgba(0, 167, 222, .4);
}
.dl-btn.ys-btn:active { transform: none; box-shadow: 0 8px 18px rgba(0, 167, 222, .3); }
.ys-meta {
  font-size: 13px;
  line-height: 1.9;
  color: #6a8296;
  max-width: 330px;
}
.ys-meta b { color: #0e2a3d; font-weight: 700; }
.ys-hero .dl-tip {
  margin-top: 18px;
  color: #6a8296;
  max-width: 560px;
}
.ys-hero .dl-tip b { color: #0e2a3d; }

.ys-figure {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 470px;
}
.ys-figure::before {
  content: "";
  position: absolute;
  width: 460px;
  height: 460px;
  border-radius: 50%;
  background: radial-gradient(circle at 50% 46%, rgba(0, 202, 222, .24), rgba(0, 167, 222, .12) 48%, rgba(255, 255, 255, 0) 72%);
}
.ys-figure::after {
  content: "";
  position: absolute;
  bottom: 34px;
  width: 300px;
  height: 26px;
  border-radius: 50%;
  background: radial-gradient(ellipse at center, rgba(0, 120, 170, .18), rgba(255, 255, 255, 0) 70%);
}
.ys-figure img {
  position: relative;
  width: 430px;
  height: 430px;
  display: block;
  filter: drop-shadow(0 26px 48px rgba(0, 140, 190, .22));
}

.ys-strip {
  background: #fff;
  border-top: 1px solid #e8f4fa;
}
.ys-strip .ys-wrap {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
}
.ys-chip {
  display: flex;
  align-items: center;
  gap: 14px;
  padding: 24px 18px;
  border-right: 1px solid #eef7fb;
  transition: background .2s;
}
.ys-chip:last-child { border-right: 0; }
.ys-chip:hover { background: #f6fdff; }
.ys-chip img { width: 44px; height: 44px; flex: 0 0 auto; }
.ys-chip b { font-size: 16px; font-weight: 700; color: #14283c; }

.ys-stats {
  background: linear-gradient(115deg, #00cade 0%, #00a7de 56%, #1a96ff 100%);
}
.ys-stats .ys-wrap {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  padding: 46px 0;
}
.ys-stat {
  text-align: center;
  color: #fff;
  position: relative;
}
.ys-stat + .ys-stat::before {
  content: "";
  position: absolute;
  left: 0;
  top: 6px;
  bottom: 6px;
  width: 1px;
  background: rgba(255, 255, 255, .26);
}
.ys-stat b {
  display: block;
  font-size: 40px;
  font-weight: 800;
  letter-spacing: -1.2px;
  line-height: 1.1;
}
.ys-stat span {
  display: block;
  margin-top: 10px;
  font-size: 13.5px;
  color: rgba(255, 255, 255, .88);
}

.ys-feats {
  padding: 104px 0;
  background: #fff;
}
.ys-head {
  text-align: center;
  margin-bottom: 56px;
}
.ys-kicker {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  font-size: 12px;
  font-weight: 800;
  letter-spacing: 2px;
  text-transform: uppercase;
  color: #00a7de;
  margin-bottom: 14px;
}
.ys-kicker::before,
.ys-kicker::after {
  content: "";
  width: 26px;
  height: 2px;
  border-radius: 2px;
  background: linear-gradient(90deg, rgba(0, 202, 222, 0), #00cade);
}
.ys-kicker::after { background: linear-gradient(90deg, #00cade, rgba(0, 202, 222, 0)); }
.ys-head h2 {
  font-size: 44px;
  font-weight: 800;
  line-height: 1.24;
  letter-spacing: -.5px;
  color: #0e2a3d;
}
.ys-head p {
  margin-top: 16px;
  font-size: 16px;
  line-height: 1.8;
  color: #6a8296;
}
.ys-feat-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 26px;
}
.ys-feat {
  position: relative;
  overflow: hidden;
  padding: 34px 30px 36px;
  border: 1px solid #e6f2f9;
  border-radius: 20px;
  background: linear-gradient(180deg, #ffffff 0%, #fbfdff 100%);
  text-align: center;
  transition: transform .25s, box-shadow .25s, border-color .25s;
}
.ys-feat:hover {
  transform: translateY(-4px);
  border-color: #bfe9f5;
  box-shadow: 0 22px 48px rgba(0, 167, 222, .14);
}
.ys-feat::after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  height: 3px;
  background: linear-gradient(90deg, #00cade, #00a7de);
  transform: scaleX(0);
  transform-origin: left center;
  transition: transform .3s;
}
.ys-feat:hover::after { transform: scaleX(1); }
.ys-feat img {
  width: 176px;
  height: 176px;
  display: block;
  margin: 0 auto 20px;
}
.ys-feat h3 {
  font-size: 22px;
  font-weight: 700;
  color: #0e2a3d;
}
.ys-feat p {
  margin-top: 12px;
  font-size: 14.5px;
  line-height: 1.9;
  color: #5f7183;
  text-align: left;
}

.ys-how {
  padding: 100px 0;
  background: #f2f9ff;
}
.ys-how .ys-head { margin-bottom: 40px; }
.ys-flow {
  position: relative;
  max-width: 920px;
  margin: 0 auto;
  padding-left: 34px;
}
.ys-flow::before {
  content: "";
  position: absolute;
  left: 12px;
  top: 12px;
  bottom: 14px;
  width: 2px;
  background: linear-gradient(180deg, #00cade, #00a7de 58%, rgba(0, 167, 222, .12));
}
.ys-step {
  position: relative;
  padding: 0 0 30px 26px;
}
.ys-step:last-child { padding-bottom: 0; }
.ys-step::before {
  content: "";
  position: absolute;
  left: -27px;
  top: 7px;
  width: 12px;
  height: 12px;
  border-radius: 50%;
  background: #fff;
  border: 3px solid #00a7de;
  box-shadow: 0 0 0 5px rgba(0, 190, 230, .13);
}
.ys-step .n {
  display: block;
  font-size: 12px;
  font-weight: 800;
  letter-spacing: 2.4px;
  color: #00a7de;
}
.ys-step b {
  display: block;
  margin-top: 8px;
  font-size: 19px;
  font-weight: 700;
  color: #0e2a3d;
}
.ys-step span {
  display: block;
  margin-top: 8px;
  font-size: 14.5px;
  line-height: 1.9;
  color: #5f7183;
  max-width: 660px;
}

.ys-faq {
  padding: 104px 0;
  background: #fff;
}
.ys-faq-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 18px;
  margin-top: 48px;
  align-items: start;
}
.ys-qa {
  border: 1px solid #e4f1f8;
  border-left: 3px solid #d9f0f8;
  border-radius: 14px;
  padding: 0 22px;
  background: #fff;
  transition: border-color .2s, box-shadow .2s;
}
.ys-qa:hover { border-color: #bfe9f5; }
.ys-qa[open] {
  border-left-color: #00a7de;
  box-shadow: 0 14px 32px rgba(0, 167, 222, .10);
}
.ys-qa summary {
  list-style: none;
  cursor: pointer;
  position: relative;
  padding: 20px 30px 20px 0;
  font-size: 16px;
  font-weight: 700;
  color: #14283c;
  line-height: 1.6;
}
.ys-qa summary::-webkit-details-marker { display: none; }
.ys-qa summary::after {
  content: "+";
  position: absolute;
  right: 0;
  top: 18px;
  font-size: 21px;
  line-height: 1;
  color: #00a7de;
}
.ys-qa[open] summary::after { content: "\2212"; }
.ys-qa .a {
  padding: 0 0 20px;
  font-size: 14.5px;
  line-height: 1.95;
  color: #5f7183;
}
.ys-qa .a b { color: #14283c; }

.ys-more {
  padding: 100px 0;
  background: #f2f9ff;
}
.ys-more-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 20px;
  margin-top: 44px;
}
.ys-more-item {
  display: flex;
  flex-direction: column;
  gap: 14px;
  padding: 26px 24px;
  background: #fff;
  border: 1px solid #e4f1f8;
  border-radius: 16px;
  transition: transform .22s, box-shadow .22s, border-color .22s;
}
.ys-more-item:hover {
  transform: translateY(-3px);
  border-color: #bfe9f5;
  box-shadow: 0 18px 38px rgba(0, 167, 222, .13);
}
.ys-more-item .ic {
  width: 52px;
  height: 52px;
  border-radius: 14px;
  background: linear-gradient(135deg, #eafaff, #ddf3fd);
  display: flex;
  align-items: center;
  justify-content: center;
}
.ys-more-item img { width: 34px; height: 34px; display: block; }
.ys-more-item b { font-size: 15.5px; font-weight: 700; color: #14283c; }
.ys-more-item span { font-size: 13px; line-height: 1.7; color: #7c8b9c; }

@media (max-width: 1260px) {
  .ys-wrap { width: auto; max-width: 1200px; padding: 0 24px; }
  .ys-hero .ys-wrap { grid-template-columns: minmax(0, 1fr) 430px; gap: 28px; }
  .ys-h1 { font-size: 46px; }
  .ys-figure { min-height: 400px; }
  .ys-figure img { width: 360px; height: 360px; }
  .ys-figure::before { width: 390px; height: 390px; }
  .ys-head h2 { font-size: 36px; }
  .ys-stat b { font-size: 32px; }
}
@media (max-width: 1024px) {
  .ys-hero { padding-top: 104px; }
  .ys-hero .ys-wrap { grid-template-columns: 1fr; gap: 20px; }
  .ys-figure { order: -1; min-height: 340px; }
  .ys-figure img { width: 300px; height: 300px; }
  .ys-figure::before { width: 330px; height: 330px; }
  .ys-strip .ys-wrap { grid-template-columns: 1fr; }
  .ys-chip { border-right: 0; border-bottom: 1px solid #eef7fb; }
  .ys-chip:last-child { border-bottom: 0; }
  .ys-stats .ys-wrap { grid-template-columns: repeat(2, 1fr); row-gap: 30px; }
  .ys-stat:nth-child(3)::before { display: none; }
  .ys-feat-grid { grid-template-columns: 1fr; }
  .ys-faq-grid { grid-template-columns: 1fr; }
  .ys-more-grid { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 720px) {
  .ys-hero { padding-top: 92px; }
  .ys-h1 { font-size: 34px; }
  .ys-sub { font-size: 16px; }
  .ys-feats, .ys-how, .ys-faq, .ys-more { padding: 64px 0; }
  .ys-head h2 { font-size: 27px; }
  .ys-head { margin-bottom: 34px; }
  .ys-stat b { font-size: 26px; }
  .ys-feat { padding: 26px 22px 28px; }
  .ys-feat img { width: 140px; height: 140px; }
  .ys-step b { font-size: 17px; }
  .ys-more-grid { grid-template-columns: 1fr; }
}

.jjx-wrap {
  width: 1200px;
  margin: 0 auto;
  position: relative;
}

.jjx-hero {
  position: relative;
  overflow: hidden;
  padding: 118px 0 92px;
  color: #fff;
  background:
    radial-gradient(760px 420px at 82% 12%, rgba(239, 112, 9, .22), rgba(239, 112, 9, 0) 62%),
    radial-gradient(620px 380px at 8% 92%, rgba(49, 125, 196, .20), rgba(49, 125, 196, 0) 66%),
    linear-gradient(180deg, #16222e 0%, #1a2733 62%, #16222e 100%);
}
.jjx-hero::before {
  content: "";
  position: absolute;
  left: 0;
  right: 0;

  top: 64px;
  height: 8px;
  background: repeating-linear-gradient(45deg, #ef7009 0 14px, #2a3742 14px 28px);
}
.jjx-hero .jjx-wrap {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 420px;
  gap: 48px;
  align-items: center;
}
.jjx-tag {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  height: 30px;
  padding: 0 14px;
  border-radius: 6px;
  font-size: 12.5px;
  font-weight: 700;
  letter-spacing: .5px;
  color: #ffcf9e;
  background: rgba(239, 112, 9, .16);
  border: 1px solid rgba(239, 112, 9, .4);
}
.jjx-tag i {
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: #ff7a1a;
  box-shadow: 0 0 8px #ff7a1a;
}
.jjx-h1 {
  margin-top: 22px;
  font-size: 50px;
  line-height: 1.16;
  font-weight: 800;
  letter-spacing: -.5px;
}
.jjx-h1 .num {
  background: linear-gradient(120deg, #ffa04d, #ef7009 62%, #d95700);
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
  margin-right: 8px;
}
.jjx-sub {
  margin-top: 18px;
  font-size: 16.5px;
  line-height: 1.85;
  color: rgba(255, 255, 255, .78);
  max-width: 560px;
}
.jjx-dl {
  margin-top: 30px;
  display: flex;
  align-items: center;
  gap: 20px;
  flex-wrap: wrap;
}
.dl-btn.jjx-btn {
  width: 206px;
  height: 58px;
  border-radius: 8px;
  background: linear-gradient(120deg, #ff8a2b, #ef7009 62%, #d95700);
  color: #fff;
  font-size: 19px;
  font-weight: 700;
  box-shadow: 0 14px 30px rgba(239, 112, 9, .34);
}
.dl-btn.jjx-btn:hover {
  background: linear-gradient(120deg, #ffa04d, #f57c14 62%, #e05f00);
  transform: translateY(-2px);
  box-shadow: 0 18px 38px rgba(239, 112, 9, .42);
}
.dl-btn.jjx-btn:active { transform: none; box-shadow: 0 8px 18px rgba(239, 112, 9, .3); }
.jjx-hero .dl-tip {
  margin-top: 18px;
  color: rgba(255, 255, 255, .66);
  max-width: 580px;
}
.jjx-hero .dl-tip b { color: #fff; }

.jjx-pulse {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 400px;
}
.jjx-pulse .ring {
  position: absolute;
  border-radius: 50%;
  border: 1px solid rgba(255, 138, 43, .28);
}
.jjx-pulse .r1 { width: 320px; height: 320px; }
.jjx-pulse .r2 { width: 250px; height: 250px; border-color: rgba(255, 138, 43, .4); }
.jjx-pulse .r3 {
  width: 180px;
  height: 180px;
  background: radial-gradient(circle at 50% 44%, rgba(255, 138, 43, .34), rgba(239, 112, 9, .12) 62%, rgba(239, 112, 9, 0) 72%);
  border-color: rgba(255, 138, 43, .5);
}
.jjx-pulse .cross {
  position: relative;
  width: 74px;
  height: 74px;
  z-index: 2;
}
.jjx-pulse .cross::before,
.jjx-pulse .cross::after {
  content: "";
  position: absolute;
  border-radius: 6px;
  background: linear-gradient(180deg, #ffb574, #ef7009);
  box-shadow: 0 0 24px rgba(255, 138, 43, .5);
}
.jjx-pulse .cross::before { left: 50%; top: 0; width: 22px; height: 100%; transform: translateX(-50%); }
.jjx-pulse .cross::after { top: 50%; left: 0; height: 22px; width: 100%; transform: translateY(-50%); }
.jjx-pulse svg { position: absolute; bottom: 20px; left: -70px; right: -70px; width: calc(100% + 140px); height: 60px; }

.jjx-spec {
  background: #fff;
  border-bottom: 1px solid #eef2f6;
}
.jjx-spec .jjx-wrap {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
}
.jjx-item {
  padding: 26px 20px;
  border-right: 1px solid #f1f5f8;
}
.jjx-item:last-child { border-right: 0; }
.jjx-item .k {
  display: block;
  font-size: 12.5px;
  font-weight: 700;
  letter-spacing: 1.2px;
  text-transform: uppercase;
  color: #ef7009;
}
.jjx-item .v {
  display: block;
  margin-top: 8px;
  font-size: 16px;
  font-weight: 700;
  color: #1b2733;
  line-height: 1.5;
  word-break: break-word;
}
.jjx-item .v small { font-size: 13px; font-weight: 500; color: #6b7c8b; }

.jjx-ability {
  padding: 100px 0;
  background: #fff7f2;
}
.jjx-head { margin-bottom: 44px; }
.jjx-kicker {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  font-size: 12px;
  font-weight: 800;
  letter-spacing: 2px;
  text-transform: uppercase;
  color: #ef7009;
  margin-bottom: 12px;
}
.jjx-kicker::before {
  content: "";
  width: 24px;
  height: 3px;
  border-radius: 2px;
  background: linear-gradient(90deg, #ff8a2b, #ef7009);
}
.jjx-head h2 {
  font-size: 42px;
  font-weight: 800;
  line-height: 1.24;
  letter-spacing: -.5px;
  color: #16222e;
}
.jjx-head p {
  margin-top: 14px;
  font-size: 15.5px;
  line-height: 1.85;
  color: #6b7c8b;
  max-width: 760px;
}
.jjx-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 22px;
}
.jjx-card {
  display: flex;
  gap: 24px;
  padding: 34px 32px;
  background: #fff;
  border: 1px solid #f4e3d7;
  border-radius: 16px;
  transition: transform .22s, box-shadow .22s, border-color .22s;
}
.jjx-card:hover {
  transform: translateY(-3px);
  border-color: #f6c9a5;
  box-shadow: 0 20px 44px rgba(239, 112, 9, .12);
}
.jjx-card .no {
  flex: 0 0 auto;
  font-size: 44px;
  font-weight: 800;
  line-height: 1;
  letter-spacing: -2px;
  background: linear-gradient(180deg, #ffb574, #ef7009);
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
}
.jjx-card h3 {
  font-size: 20px;
  font-weight: 700;
  color: #16222e;
  line-height: 1.4;
}
.jjx-card p {
  margin-top: 10px;
  font-size: 14.5px;
  line-height: 1.9;
  color: #5f7183;
}

.jjx-forms {
  padding: 96px 0;
  background: #fff;
}
.jjx-forms-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 24px;
}
.jjx-form {
  position: relative;
  padding: 32px 28px;
  border-radius: 16px;
  border: 1px solid #e9eef3;
  background: linear-gradient(180deg, #ffffff, #fbfcfe);
}
.jjx-form .badge {
  display: inline-block;
  padding: 4px 12px;
  border-radius: 999px;
  font-size: 12px;
  font-weight: 700;
  color: #fff;
  background: linear-gradient(120deg, #317dc4, #245f9b);
}
.jjx-form h3 .ic { width: 26px; height: 26px; display: inline-block; vertical-align: -5px; margin-right: 8px; }
.jjx-form h3 {
  margin-top: 16px;
  font-size: 19px;
  font-weight: 700;
  color: #16222e;
}
.jjx-form p {
  margin-top: 12px;
  font-size: 14px;
  line-height: 1.9;
  color: #5f7183;
}
.jjx-form img {
  width: 44px;
  height: 44px;
  margin-bottom: 14px;
  display: block;
}

.jjx-flow-sec {
  padding: 96px 0;
  background: #f6f8fa;
}
.jjx-flow {
  display: grid;
  grid-template-columns: 1fr 34px 1fr 34px 1fr;
  align-items: stretch;
  gap: 0;
  margin-top: 42px;
}
.jjx-step {
  background: #fff;
  border: 1px solid #e9eef3;
  border-top: 3px solid #ef7009;
  border-radius: 14px;
  padding: 26px 24px;
}
.jjx-step .n {
  display: block;
  font-size: 12px;
  font-weight: 800;
  letter-spacing: 2px;
  color: #ef7009;
}
.jjx-step b {
  display: block;
  margin-top: 10px;
  font-size: 17px;
  font-weight: 700;
  color: #16222e;
  line-height: 1.45;
}
.jjx-step span {
  display: block;
  margin-top: 10px;
  font-size: 13.5px;
  line-height: 1.85;
  color: #5f7183;
}
.jjx-arrow {
  display: flex;
  align-items: center;
  justify-content: center;
  color: #f0a06a;
}

.jjx-faq {
  padding: 100px 0;
  background: #fff;
}
.jjx-qa-list {
  margin-top: 42px;
  border-top: 1px solid #eef2f6;
}
.jjx-qa {
  border-bottom: 1px solid #eef2f6;
}
.jjx-qa summary {
  list-style: none;
  cursor: pointer;
  display: flex;
  align-items: flex-start;
  gap: 18px;
  padding: 22px 0;
  font-size: 16.5px;
  font-weight: 700;
  color: #16222e;
  line-height: 1.6;
}
.jjx-qa summary::-webkit-details-marker { display: none; }
.jjx-qa summary .q {
  flex: 0 0 34px;
  height: 34px;
  border-radius: 8px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: 16px;
  font-weight: 800;
  color: #fff;
  background: linear-gradient(135deg, #ff8a2b, #ef7009);
}
.jjx-qa summary .tx { flex: 1; min-width: 0; }
.jjx-qa summary .plus {
  flex: 0 0 auto;
  font-size: 20px;
  line-height: 1.4;
  color: #ef7009;
  font-weight: 400;
}
.jjx-qa[open] summary .plus::before { content: "\2212"; }
.jjx-qa:not([open]) summary .plus::before { content: "+"; }
.jjx-qa .a {
  padding: 0 34px 24px 52px;
  font-size: 14.5px;
  line-height: 1.95;
  color: #5f7183;
}
.jjx-qa .a b { color: #16222e; }

.jjx-more {
  padding: 92px 0 100px;
  background: #f6f8fa;
}
.jjx-more-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 24px;
  margin-top: 44px;
}
.jjx-more-item {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 12px;
  text-align: center;
}
.jjx-more-item .round {
  width: 76px;
  height: 76px;
  border-radius: 50%;
  background: #fff;
  border: 1px solid #e6ecf2;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: transform .22s, box-shadow .22s, border-color .22s;
}
.jjx-more-item:hover .round {
  transform: translateY(-3px);
  border-color: #f6c9a5;
  box-shadow: 0 14px 30px rgba(239, 112, 9, .16);
}
.jjx-more-item img { width: 44px; height: 44px; display: block; }
.jjx-more-item b { font-size: 15px; font-weight: 700; color: #16222e; }
.jjx-more-item span { font-size: 12.5px; line-height: 1.7; color: #7c8b9c; max-width: 180px; }

@media (max-width: 1260px) {
  .jjx-wrap { width: auto; max-width: 1200px; padding: 0 24px; }
  .jjx-hero .jjx-wrap { grid-template-columns: minmax(0, 1fr) 360px; gap: 32px; }
  .jjx-h1 { font-size: 42px; }
  .jjx-pulse { min-height: 340px; }
  .jjx-pulse .r1 { width: 280px; height: 280px; }
  .jjx-pulse .r2 { width: 220px; height: 220px; }
  .jjx-pulse .r3 { width: 160px; height: 160px; }
  .jjx-head h2 { font-size: 34px; }
}
@media (max-width: 1024px) {
  .jjx-hero { padding: 104px 0 72px; }
  .jjx-hero .jjx-wrap { grid-template-columns: 1fr; gap: 28px; }
  .jjx-pulse { order: -1; min-height: 280px; }
  .jjx-spec .jjx-wrap { grid-template-columns: repeat(2, 1fr); }
  .jjx-item:nth-child(2n) { border-right: 0; }
  .jjx-grid { grid-template-columns: 1fr; }
  .jjx-forms-grid { grid-template-columns: 1fr; }
  .jjx-flow { grid-template-columns: 1fr; }
  .jjx-arrow { height: 34px; transform: rotate(90deg); }
  .jjx-more-grid { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 720px) {
  .jjx-hero { padding-top: 92px; }
  .jjx-h1 { font-size: 32px; }
  .jjx-sub { font-size: 15px; }
  .jjx-ability, .jjx-forms, .jjx-flow-sec, .jjx-faq, .jjx-more { padding: 62px 0; }
  .jjx-head h2 { font-size: 26px; }
  .jjx-card { padding: 24px 20px; gap: 16px; }
  .jjx-card .no { font-size: 34px; }
  .jjx-qa summary { gap: 12px; font-size: 15.5px; }
  .jjx-qa .a { padding-left: 46px; }
  .jjx-more-grid { grid-template-columns: 1fr; }
  .jjx-pulse .r1 { width: 240px; height: 240px; }
  .jjx-pulse .r2 { width: 190px; height: 190px; }
  .jjx-pulse .r3 { width: 140px; height: 140px; }
}

.jsu-wrap {
  width: 1200px;
  margin: 0 auto;
  position: relative;
  z-index: 2;
}

.jsu-hero {
  position: relative;
  overflow: hidden;
  text-align: center;
  padding: 112px 0 150px;
  min-height: 762px;
  box-sizing: border-box;
  background: #010001 url("../../../home/wassets/images/jisu/banner-bg.jpg") no-repeat center top;
  background-size: 100% auto;
}
.jsu-deco {
  position: absolute;
  pointer-events: none;
  user-select: none;
  z-index: 1;
}
.jsu-deco--l { left: 20%; top: 134px; width: clamp(96px, 13.2vw, 190px); }
.jsu-deco--ship { left: 63.5%; top: 304px; width: clamp(56px, 8vw, 115px); }
.jsu-deco--r { left: 65.1%; top: 382px; width: clamp(130px, 22.3vw, 321px); }

.jsu-h1 {
  font-size: 60px;
  line-height: 70px;
  font-weight: 400;
  color: #fff;
  letter-spacing: 0;
}
.jsu-sub {
  margin-top: 10px;
  font-size: 20px;
  line-height: 1.3;
  font-weight: 400;
  color: #fff;
}
.jsu-dl {
  margin-top: 42px;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 14px;
}

.dl-btn.jsu-btn {
  position: relative;
  width: 172px;
  height: 60px;
  border-radius: 30px;
  background: #fff;
  color: #010001;
  font-size: 19px;
  font-weight: 400;
  gap: 8px;
  transition: background .18s, transform .18s, box-shadow .18s;
}
.dl-btn.jsu-btn .win { width: 20px; height: 20px; flex: none; }
.dl-btn.jsu-btn:hover {
  background: #f2f3f5;
  transform: translateY(-2px);
  box-shadow: 0 12px 30px rgba(0, 0, 0, .45);
}
.dl-btn.jsu-btn:active { transform: none; }
.jsu-new {
  position: absolute;
  top: -9px;
  right: -8px;
  padding: 0 6px;
  height: 20px;
  line-height: 20px;
  border-radius: 4px;
  background: #ff3b5c;
  color: #fff;
  font-size: 12px;
  font-style: normal;
  letter-spacing: .5px;
}

.jsu-btn2 {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 172px;
  height: 60px;
  border-radius: 30px;
  border: 1px solid rgba(255, 255, 255, .72);
  background: rgba(1, 0, 1, .42);
  color: #fff;
  font-size: 19px;
  transition: background .18s, border-color .18s;
}
.jsu-btn2:hover { background: rgba(255, 255, 255, .16); border-color: #fff; }

.jsu-quad {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 20px;
  margin-top: 40px;
}
.jsu-quad-card {
  position: relative;
  overflow: hidden;
  min-height: 188px;
  padding: 34px 34px 32px;
  border-radius: 16px;
  color: #fff;
  transition: transform .25s ease, box-shadow .25s ease;
}
.jsu-quad-card:hover {
  transform: translateY(-4px);
  box-shadow: 0 22px 44px rgba(10, 20, 40, .18);
}
.jsu-quad-card .num {
  position: absolute;
  right: 22px;
  top: 4px;
  font-size: 78px;
  line-height: 1;
  font-weight: 800;
  letter-spacing: -3px;
  color: rgba(255, 255, 255, .16);
  pointer-events: none;
}
.jsu-quad-card .word {
  font-size: 40px;
  line-height: 1.1;
  font-weight: 800;
  letter-spacing: 2px;
}
.jsu-quad-card h3 {
  margin-top: 16px;
  font-size: 18px;
  line-height: 1.4;
  font-weight: 500;
  color: rgba(255, 255, 255, .97);
}
.jsu-quad-card p {
  margin-top: 8px;
  font-size: 14px;
  line-height: 1.7;
  color: rgba(255, 255, 255, .8);
}
.jsu-quad-card.c1 { background: linear-gradient(135deg, #2ea6ff 0%, #0a5ce0 100%); }
.jsu-quad-card.c2 { background: linear-gradient(135deg, #8f6bfb 0%, #5a2fc9 100%); }
.jsu-quad-card.c3 { background: linear-gradient(135deg, #23bfa8 0%, #0c8b9e 100%); }
.jsu-quad-card.c4 { background: linear-gradient(135deg, #ff6a78 0%, #d31b48 100%); }

.jsu-lead {
  max-width: 940px;
  margin-top: 26px;
  font-size: 21px;
  line-height: 1.75;
  font-weight: 400;
  color: #1b2330;
}
.jsu-body {
  columns: 2;
  column-gap: 56px;
  margin-top: 26px;
}
.jsu-body p {
  margin: 0 0 16px;
  font-size: 15px;
  line-height: 2.05;
  color: #4b5563;
  break-inside: avoid;
}
.jsu-body p b { color: #010101; font-weight: 600; }
.jsu-facts {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  margin-top: 34px;
  border-radius: 14px;
  background: linear-gradient(120deg, #f5f8ff 0%, #f7f6ff 52%, #fff6f8 100%);
  border: 1px solid #e9eefb;
}
.jsu-facts .f {
  padding: 24px 28px;
  border-left: 1px solid #e6ecf9;
}
.jsu-facts .f:first-child { border-left: 0; }
.jsu-facts .k {
  font-size: 12.5px;
  letter-spacing: 1px;
  color: #8b95a6;
}
.jsu-facts .val {
  margin-top: 8px;
  font-size: 20px;
  font-weight: 600;
  color: #010101;
  letter-spacing: .3px;
}

.jsu-faq2 {
  margin-top: 34px;
  border-top: 1px solid #e6e9ef;
}
.jsu-faq2 .row {
  display: grid;
  grid-template-columns: 340px minmax(0, 1fr);
  gap: 20px 40px;
  padding: 22px 6px;
  border-bottom: 1px solid #eef1f5;
  transition: background .2s;
}
.jsu-faq2 .row:hover { background: #fafbfd; }
.jsu-faq2 dt {
  position: relative;
  padding-left: 36px;
  font-size: 16.5px;
  line-height: 1.55;
  font-weight: 600;
  color: #010101;
}
.jsu-faq2 dt i {
  position: absolute;
  left: 0;
  top: 2px;
  font-style: normal;
  font-size: 12px;
  letter-spacing: .5px;
  color: #c2cad4;
}
.jsu-faq2 dd {
  margin: 0;
  font-size: 14.5px;
  line-height: 1.85;
  color: #5b6472;
}
.jsu-faq2 dd b { color: #010101; font-weight: 600; }

.jsu-matrix {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  margin-top: 30px;
  border: 1px solid #e6e9ef;
  border-radius: 14px;
  overflow: hidden;
}
.jsu-mx {
  display: flex;
  align-items: center;
  gap: 14px;
  padding: 22px 20px;
  border-right: 1px solid #eef1f5;
  border-bottom: 1px solid #eef1f5;
  transition: background .2s;
}
.jsu-mx:nth-child(3n) { border-right: 0; }
.jsu-mx:nth-child(n + 4) { border-bottom: 0; }
.jsu-mx img { width: 42px; height: 42px; border-radius: 11px; flex: none; }
.jsu-mx .t { min-width: 0; }
.jsu-mx b { display: block; font-size: 16px; font-weight: 600; color: #010101; transition: color .18s; }
.jsu-mx span { display: block; margin-top: 4px; font-size: 13px; line-height: 1.55; color: #6b7280; }
.jsu-mx:hover { background: #f6f9ff; }
.jsu-mx:hover b { color: #0a5ce0; }

@media (max-width: 1260px) {
  .jsu-wrap { width: auto; max-width: 1200px; padding: 0 24px; }
  .jsu-h1 { font-size: 44px; line-height: 1.22; }
  .jsu-quad-card { padding: 30px 28px 28px; }
  .jsu-quad-card .word { font-size: 34px; }
  .jsu-quad-card .num { font-size: 64px; }
  .jsu-body { column-gap: 40px; }
  .jsu-faq2 .row { grid-template-columns: 300px minmax(0, 1fr); gap: 18px 32px; }
}
@media (max-width: 1024px) {
  .jsu-hero { padding: 84px 0 104px; }
  .jsu-h1 { font-size: 38px; }
  .jsu-sub { margin-top: 16px; font-size: 17px; }
  .jsu-deco--r { display: none; }
  .jsu-quad { grid-template-columns: 1fr; gap: 16px; }
  .jsu-quad-card { min-height: 0; }
  .jsu-body { columns: 1; }
  .jsu-facts { grid-template-columns: 1fr; }
  .jsu-facts .f { border-left: 0; border-top: 1px solid #e6ecf9; }
  .jsu-facts .f:first-child { border-top: 0; }
  .jsu-faq2 .row { grid-template-columns: 1fr; gap: 8px; }
  .jsu-matrix { grid-template-columns: repeat(2, 1fr); }
  .jsu-mx:nth-child(3n) { border-right: 1px solid #eef1f5; }
  .jsu-mx:nth-child(2n) { border-right: 0; }
  .jsu-mx:nth-child(n + 4) { border-bottom: 1px solid #eef1f5; }
  .jsu-mx:nth-child(n + 5) { border-bottom: 0; }
}
@media (max-width: 720px) {

  .jsu-hero { padding: 64px 0 96px; min-height: 0; background-size: auto 100%; }
  .jsu-h1 { font-size: 27px; line-height: 1.3; }
  .jsu-sub { margin-top: 12px; font-size: 14.5px; line-height: 1.6; }
  .jsu-deco--l, .jsu-deco--ship { display: none; }
  .jsu-dl { margin-top: 30px; flex-direction: column; gap: 12px; }
  .dl-btn.jsu-btn, .jsu-btn2 { width: 100%; max-width: 320px; height: 54px; font-size: 17px; }
  .jsu-btn2 { background: rgba(1, 0, 1, .52); }

  .jsu-foursec .sec-head h2 { font-size: 21px; }
  .jsu-quad-card { padding: 26px 22px 24px; border-radius: 14px; }
  .jsu-quad-card .word { font-size: 28px; letter-spacing: 1px; }
  .jsu-quad-card h3 { margin-top: 12px; font-size: 16px; }
  .jsu-quad-card .num { font-size: 52px; right: 16px; }
  .jsu-lead { margin-top: 18px; font-size: 17px; line-height: 1.8; }
  .jsu-body { margin-top: 18px; }
  .jsu-body p { font-size: 14.5px; line-height: 1.95; }
  .jsu-facts .f { padding: 18px 20px; }
  .jsu-facts .val { font-size: 17px; }
  .jsu-faq2 .row { padding: 18px 0; }
  .jsu-faq2 dt { font-size: 15.5px; padding-left: 30px; }
  .jsu-faq2 dd { font-size: 14px; }
  .jsu-matrix { grid-template-columns: 1fr; }
  .jsu-mx { border-right: 0 !important; }
  .jsu-mx:nth-child(n) { border-bottom: 1px solid #eef1f5; }
  .jsu-mx:last-child { border-bottom: 0; }
  .jsu-mx { padding: 16px; }
}

/* ---------- QQ浏览器：图文大板块（替代小卡片网格） ---------- */
.qb-feats .row {
  display: grid; grid-template-columns: minmax(0, 1.06fr) minmax(0, 1fr);
  gap: 72px; align-items: center; padding: 64px 0; border-bottom: 1px solid #eef2f8;
}
.qb-feats .row:last-child { border-bottom: 0; }
.qb-feats .row.flip .pic { order: 2; }
.qb-feats .pic img { display: block; width: 100%; height: auto; border-radius: 18px; }
.qb-feats .txt .no {
  display: block; margin-bottom: 12px; font-size: 46px; font-weight: 800; line-height: 1;
  letter-spacing: -2px; color: #5b87d6;
}
.qb-feats .txt h3 { font-size: 27px; font-weight: 700; color: #010101; line-height: 1.35; margin-bottom: 14px; }
.qb-feats .txt p { font-size: 15px; color: #4a5666; line-height: 2; }
.qb-feats .txt p em { font-style: normal; font-weight: 700; color: var(--brand-text); }
.qb-feats .tags { display: flex; flex-wrap: wrap; gap: 9px; margin-top: 20px; }
.qb-feats .tags span {
  font-size: 12.5px; font-weight: 600; color: var(--brand-text);
  background: var(--brand-soft); border: 1px solid #dbe9fd; border-radius: 999px; padding: 6px 14px;
}

/* ---------- QQ浏览器：安装流程（全宽浅色带 + 无卡片时间轴） ---------- */
.qb-how { margin-top: 84px; background: #eff5ff; border-top: 1px solid #e2ecfb; border-bottom: 1px solid #e2ecfb; }
.qb-how .inner { width: 1200px; margin: 0 auto; padding: 62px 0 70px; }
.qb-how .hd { max-width: 720px; }
.qb-how .hd .kick {
  display: inline-flex; align-items: center; gap: 8px; margin-bottom: 12px;
  font-size: 12px; font-weight: 800; letter-spacing: 1.4px; color: var(--brand-text); text-transform: uppercase;
}
.qb-how .hd .kick::before { content: ""; width: 20px; height: 2.5px; border-radius: 2px; background: var(--brand-text); }
.qb-how .hd h2 { font-size: 32px; font-weight: 700; color: #010101; line-height: 1.3; }
.qb-how .hd p { margin-top: 12px; font-size: 15px; color: #4a5666; line-height: 1.8; }
.qb-timeline { position: relative; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 0; margin-top: 40px; }
.qb-timeline::before { content: ""; position: absolute; left: 26px; right: 26px; top: 25px; height: 1px; background: #d5e3f8; }
.qb-timeline .st { position: relative; padding-right: 30px; }
.qb-timeline .st .n {
  position: relative; z-index: 1; display: inline-flex; align-items: center; justify-content: center;
  width: 52px; height: 52px; margin-bottom: 18px; border-radius: 50%;
  background: #fff; border: 2px solid #cfe0fb; font-size: 16px; font-weight: 800; color: var(--brand-text);
}
.qb-timeline .st b { display: block; margin-bottom: 9px; font-size: 16.5px; font-weight: 700; color: #010101; line-height: 1.45; }
.qb-timeline .st span { font-size: 13.5px; color: #5c6b7a; line-height: 1.85; }
.qb-timeline .st em { font-style: normal; font-weight: 700; color: var(--brand-text); }

/* ---------- QQ浏览器：问答（左吸顶标题 + 右侧无卡片清单） ---------- */
.qb-faq { display: grid; grid-template-columns: 292px minmax(0, 1fr); gap: 64px; align-items: start; }
.qb-faq .side { position: sticky; top: 96px; }
.qb-faq .side h2 { font-size: 34px; font-weight: 700; color: #010101; line-height: 1.3; }
.qb-faq .side p { margin-top: 14px; font-size: 14px; color: #5c6b7a; line-height: 1.9; }
.qb-faq .side .dotline { margin-top: 24px; height: 2px; width: 46px; border-radius: 2px; background: var(--brand-grad); }
.qb-faq .qa { padding: 26px 0; border-bottom: 1px solid #eef2f8; }
.qb-faq .qa:last-child { border-bottom: 0; }
.qb-faq .qa h3 {
  position: relative; padding-left: 40px; font-size: 17.5px; font-weight: 700; color: #010101; line-height: 1.6;
}
.qb-faq .qa h3 i {
  position: absolute; left: 0; top: 1px; font-style: normal; font-size: 13px; font-weight: 800;
  color: var(--brand-text); letter-spacing: .4px;
}
.qb-faq .qa p { margin-top: 11px; padding-left: 40px; font-size: 14px; color: #4a5666; line-height: 2; }
.qb-faq .qa p b { color: #010101; }

/* ---------- QQ浏览器：相关下载（大图标横卡） ---------- */
.qb-rel { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 20px; }
.qb-rel a {
  display: flex; align-items: center; gap: 18px; padding: 24px 26px; border-radius: 20px;
  background: #fff; border: 1px solid #e6eefb; transition: .24s;
}
.qb-rel a:hover { border-color: var(--brand-l); box-shadow: 0 18px 38px rgba(0, 120, 248, .12); transform: translateY(-4px); }
.qb-rel a img { width: 56px; height: 56px; flex: 0 0 56px; border-radius: 14px; object-fit: contain; }
.qb-rel a .tx { min-width: 0; }
.qb-rel a .tx b { display: block; margin-bottom: 5px; font-size: 16.5px; font-weight: 700; color: #010101; }
.qb-rel a .tx span { font-size: 12.5px; color: #5c6b7a; line-height: 1.7; }
.qb-rel a .go { margin-left: auto; flex: 0 0 auto; color: var(--brand-text); }
.qb-rel a .go svg { width: 16px; height: 16px; transition: transform .22s; }
.qb-rel a:hover .go svg { transform: translateX(4px); }

/* ---------- QQ浏览器：下载方式三步（纯文字 + 大号序号，无卡片） ---------- */
.qb-way { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 34px; padding-top: 30px; border-top: 1px solid #eef2f8; }
.qb-way .st { position: relative; padding-left: 46px; }
.qb-way .st .n {
  position: absolute; left: 0; top: -2px; font-size: 15px; font-weight: 800; color: var(--brand-text);
  letter-spacing: .5px;
}
.qb-way .st b { display: block; margin-bottom: 7px; font-size: 15px; font-weight: 700; color: #010101; line-height: 1.5; }
.qb-way .st span { font-size: 13px; color: #5c6b7a; line-height: 1.8; }
.qb-way .st em { font-style: normal; font-weight: 700; color: var(--brand-text); }

@media (max-width: 1240px) {
  .qb-feats .row { grid-template-columns: 1fr; gap: 30px; padding: 48px 0; }
  .qb-feats .row.flip .pic { order: 0; }
  .qb-feats .txt .no { font-size: 38px; }
  .qb-feats .txt h3 { font-size: 23px; }
  .qb-how .inner { width: 100%; padding: 48px 18px 54px; }
  .qb-faq { grid-template-columns: 1fr; gap: 26px; }
  .qb-faq .side { position: static; }
  .qb-faq .side h2 { font-size: 28px; }
  .qb-rel { grid-template-columns: 1fr; }
  .qb-way { grid-template-columns: 1fr; gap: 22px; }
}

@media (max-width: 760px) {
  .qb-timeline { grid-template-columns: 1fr; gap: 0; margin-top: 28px; }
  .qb-timeline::before { left: 25px; right: auto; top: 26px; bottom: 26px; width: 1px; height: auto; }
  .qb-timeline .st { display: grid; grid-template-columns: 52px minmax(0, 1fr); column-gap: 16px; padding: 0 0 26px; }
  .qb-timeline .st .n { grid-column: 1; grid-row: 1 / span 2; margin-bottom: 0; align-self: start; }
  .qb-timeline .st b { grid-column: 2; grid-row: 1; margin-top: 12px; }
  .qb-timeline .st span { grid-column: 2; grid-row: 2; }
  .qb-feats .txt p { font-size: 14px; }
  .qb-faq .qa h3 { font-size: 16.5px; padding-left: 34px; }
  .qb-faq .qa p { padding-left: 0; }
  .qb-rel a { padding: 20px; }
  .qb-how .hd h2 { font-size: 26px; }
}

body.no-affil[data-page="qiyeweixin"] {
  --brand: #0080f0; --brand-d: #0064c4; --brand-l: #b6d9f9; --brand-soft: #edf6fe;
  --brand-grad: linear-gradient(135deg, #35a4f8, #0064c4);
  --brand-strong: linear-gradient(135deg, #0064c4, #0a4f9e);
  --brand-text: #0a5aad;
  --brand-shadow: rgba(0, 128, 240, .22);
  --hero-1: #e2eefb; --hero-2: #fff; --deco: #0080f0;
}
body.no-affil[data-page="qiyeweixin"] .firstPage_container {
  background: linear-gradient(180deg, var(--hero-1), var(--hero-2) 88%);
}
body.no-affil[data-page="qiyeweixin"] .hero-deco .d { color: #0080f0; }
body[data-page="qiyeweixin"] .dl-tip { max-width: 560px; }
body[data-page="qiyeweixin"] .ov .ov-links a { color: var(--brand-text); }
.ov.qw-card { width: 440px; flex: 0 0 440px; }

/* 四大能力：2×2 浅色大面板（不是白卡） */
.qw-caps { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 20px; }
.qw-caps .cap {
  position: relative; overflow: hidden; padding: 38px 38px 34px; border-radius: 22px; transition: .24s;
}
.qw-caps .cap:hover { transform: translateY(-4px); box-shadow: 0 20px 40px rgba(28, 98, 192, .1); }
.qw-caps .cap--ai { background: linear-gradient(160deg, #f2eefc, #fbf9ff 70%); }
.qw-caps .cap--wx { background: linear-gradient(160deg, #eafaf1, #f8fffc 70%); }
.qw-caps .cap--oa { background: linear-gradient(160deg, #eef5fe, #fafcff 70%); }
.qw-caps .cap--sec { background: linear-gradient(160deg, #f2f5f8, #fbfcfd 70%); }
.qw-caps .cap .no {
  display: block; margin-bottom: 16px; font-size: 40px; font-weight: 800; line-height: 1;
  letter-spacing: -1.5px; color: #6b7f96;
}
.qw-caps .cap--ai .no { color: #7a66d6; }
.qw-caps .cap--wx .no { color: #2f9e63; }
.qw-caps .cap--oa .no { color: #3f7fc7; }
.qw-caps .cap h3 { font-size: 22px; font-weight: 700; color: #16202e; line-height: 1.4; margin-bottom: 12px; }
.qw-caps .cap p { font-size: 14.5px; color: #4a5666; line-height: 1.95; }
.qw-caps .cap p em { font-style: normal; font-weight: 700; color: var(--brand-text); }
.qw-caps .cap .chips { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 20px; }
.qw-caps .cap .chips span {
  font-size: 12.5px; font-weight: 600; color: #3a4a5c;
  background: rgba(255, 255, 255, .82); border: 1px solid rgba(255, 255, 255, .95);
  border-radius: 999px; padding: 6px 13px;
}

/* 安装流程：全宽带 + 单列大号数字步骤（无卡片） */
.qw-how { margin-top: 84px; background: #eef4fc; border-top: 1px solid #dde9f8; border-bottom: 1px solid #dde9f8; }
.qw-how .inner { width: 1200px; margin: 0 auto; padding: 62px 0 66px; }
.qw-how .hd { max-width: 760px; margin-bottom: 34px; }
.qw-how .hd .kick {
  display: inline-flex; align-items: center; gap: 8px; margin-bottom: 12px;
  font-size: 12px; font-weight: 800; letter-spacing: 1.4px; color: var(--brand-text); text-transform: uppercase;
}
.qw-how .hd .kick::before { content: ""; width: 20px; height: 2.5px; border-radius: 2px; background: var(--brand-text); }
.qw-how .hd h2 { font-size: 32px; font-weight: 700; color: #010101; line-height: 1.3; }
.qw-how .hd p { margin-top: 12px; font-size: 15px; color: #4a5666; line-height: 1.8; }
.qw-flow { display: flex; flex-direction: column; }
.qw-flow .st {
  display: grid; grid-template-columns: 104px minmax(0, 1fr); align-items: start; gap: 6px 26px;
  padding: 24px 0; border-bottom: 1px dashed #d9e6f7;
}
.qw-flow .st:last-child { border-bottom: 0; padding-bottom: 0; }
.qw-flow .st .n {
  grid-column: 1; grid-row: 1 / span 2; align-self: start;
  font-size: 46px; font-weight: 800; line-height: 1; letter-spacing: -2px; color: #5b87d6;
}
.qw-flow .st b { grid-column: 2; grid-row: 1; display: block; padding-top: 4px; margin-bottom: 7px; font-size: 18px; font-weight: 700; color: #010101; }
.qw-flow .st span { grid-column: 2; grid-row: 2; font-size: 14px; color: #5c6b7a; line-height: 1.85; }
.qw-flow .st em { font-style: normal; font-weight: 700; color: var(--brand-text); }

/* 常见问题：两列无边框问答格 */
.qw-faq { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 34px 54px; }
.qw-faq .qa h3 {
  position: relative; padding-left: 20px; font-size: 16.5px; font-weight: 700; color: #010101; line-height: 1.6;
}
.qw-faq .qa h3::before {
  content: ""; position: absolute; left: 0; top: 8px; width: 8px; height: 8px; border-radius: 2px;
  background: var(--brand-grad);
}
.qw-faq .qa p { margin-top: 10px; padding-left: 20px; font-size: 14px; color: #4a5666; line-height: 1.95; }
.qw-faq .qa p b { color: #010101; }

/* 相关下载：三张纵向浅底卡 */
.qw-rel { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 20px; }
.qw-rel a {
  display: flex; flex-direction: column; gap: 14px; padding: 32px 30px 28px;
  border-radius: 20px; background: #f7fafd; transition: .24s;
}
.qw-rel a:hover { background: #fff; box-shadow: 0 18px 36px rgba(28, 98, 192, .1); transform: translateY(-4px); }
.qw-rel a img { width: 56px; height: 56px; border-radius: 14px; object-fit: contain; }
.qw-rel a b { font-size: 17px; font-weight: 700; color: #010101; }
.qw-rel a .tx { font-size: 13px; color: #5c6b7a; line-height: 1.8; }
.qw-rel a .go {
  display: flex; align-items: center; gap: 4px; margin-top: 4px; font-size: 12.5px;
  font-weight: 700; color: var(--brand-text);
}
.qw-rel a .go svg { width: 13px; height: 13px; transition: transform .22s; }
.qw-rel a:hover .go svg { transform: translateX(3px); }

/* 下载方式三步：三列，顶部一条短渐变条，无卡片 */
.qw-way { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 38px; padding-top: 30px; border-top: 1px solid #eef4fb; }
.qw-way .st { position: relative; padding-top: 20px; }
.qw-way .st::before {
  content: ""; position: absolute; left: 0; top: 0; width: 34px; height: 3px; border-radius: 2px;
  background: var(--brand-grad);
}
.qw-way .st b { display: block; margin-bottom: 8px; font-size: 15px; font-weight: 700; color: #010101; line-height: 1.5; }
.qw-way .st span { font-size: 13px; color: #5c6b7a; line-height: 1.8; }
.qw-way .st em { font-style: normal; font-weight: 700; color: var(--brand-text); }

@media (max-width: 1240px) {
  .qw-caps { grid-template-columns: 1fr; }
  .qw-caps .cap { padding: 30px 28px; }
  .qw-how .inner { width: 100%; padding: 48px 18px 52px; }
  .qw-faq { grid-template-columns: 1fr; gap: 26px; }
  .qw-rel { grid-template-columns: 1fr; }
  .qw-way { grid-template-columns: 1fr; gap: 26px; }
}

@media (max-width: 760px) {
  .qw-caps .cap h3 { font-size: 19px; }
  .qw-caps .cap .no { font-size: 32px; }
  .qw-flow .st { grid-template-columns: 62px minmax(0, 1fr); gap: 4px 14px; padding: 18px 0; }
  .qw-flow .st .n { font-size: 30px; }
  .qw-flow .st b { font-size: 16px; }
  .qw-rel a { padding: 24px 22px; }
  .qw-how .hd h2 { font-size: 26px; }
}

body.no-affil[data-page="tengxunshipin"] {
  --brand: #ff6a13; --brand-d: #e0540a; --brand-l: #ffd4ba; --brand-soft: #fff4ec;
  --brand-grad: linear-gradient(135deg, #ff8a3d, #e8540a);
  --brand-strong: linear-gradient(135deg, #d94f0a, #b03a06);
  --brand-text: #b8460a;
  --brand-shadow: rgba(255, 106, 19, .24);
  --hero-1: #f1f2f4; --hero-2: #fff; --deco: #ff6a13;
}
body.no-affil[data-page="tengxunshipin"] .firstPage_container {
  background: linear-gradient(180deg, var(--hero-1), var(--hero-2) 88%);
}
body.no-affil[data-page="tengxunshipin"] .hero-deco .d { color: #ff6a13; }
body[data-page="tengxunshipin"] .dl-tip { max-width: 560px; }
body[data-page="tengxunshipin"] .ov .ov-links a { color: var(--brand-text); }
.ov.tv-card { width: 440px; flex: 0 0 440px; }

/* 版本要点：深色影院带，四条压成两行细线十字，无卡片、无标签 */
.tv-caps { position: relative; margin-top: 84px; overflow: hidden; background: #0c0f14; }
.tv-caps::before {
  content: ""; position: absolute; inset: 0; pointer-events: none;
  background:
    radial-gradient(760px 340px at 8% -12%, rgba(255, 106, 19, .3), transparent 64%),
    radial-gradient(680px 300px at 96% 112%, rgba(0, 132, 255, .15), transparent 62%);
}
.tv-caps .in { position: relative; width: 1200px; margin: 0 auto; padding: 44px 0 46px; }
.tv-caps .hd { min-width: 0; }
.tv-caps .kicker {
  display: inline-flex; align-items: center; gap: 9px; margin-bottom: 9px;
  font-size: 12px; font-weight: 800; letter-spacing: 1.5px; color: #ff9d5c; text-transform: uppercase;
}
.tv-caps .kicker::before { content: ""; width: 22px; height: 2.5px; border-radius: 2px; background: #ff8a3d; }
.tv-caps h2 { font-size: 27px; font-weight: 700; color: #fff; line-height: 1.3; letter-spacing: .2px; }
.tv-caps h2 span { display: block; margin-top: 6px; font-size: 13px; font-weight: 400; color: #8f9baa; letter-spacing: 0; }
.tv-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); margin-top: 24px; border-top: 1px solid rgba(255, 255, 255, .1); }
.tv-grid .it { padding: 20px 40px 22px 0; border-bottom: 1px solid rgba(255, 255, 255, .1); }
.tv-grid .it:nth-child(even) { padding: 20px 0 22px 40px; border-left: 1px solid rgba(255, 255, 255, .1); }
.tv-grid .it:nth-last-child(-n+2) { border-bottom: 0; }
.tv-grid .it h3 {
  display: flex; align-items: baseline; gap: 10px;
  font-size: 17px; font-weight: 700; color: #fff; line-height: 1.4; margin-bottom: 6px;
}
.tv-grid .it h3 .no { flex: 0 0 auto; font-size: 12px; font-weight: 800; letter-spacing: 1.4px; color: #ff9d5c; }
.tv-grid .it p { font-size: 13.5px; color: #9aa6b5; line-height: 1.8; }
.tv-grid .it p em { font-style: normal; font-weight: 700; color: #ffab73; }

/* 界面一览 + 全端版本表 */
.tv-shot .hd { text-align: center; margin-bottom: 36px; }
.tv-shot .hd .kicker {
  display: inline-flex; align-items: center; gap: 8px; margin-bottom: 11px;
  font-size: 12px; font-weight: 800; letter-spacing: 1.4px; color: var(--brand-text); text-transform: uppercase;
}
.tv-shot .hd .kicker::before,
.tv-shot .hd .kicker::after { content: ""; width: 18px; height: 2.5px; border-radius: 2px; background: var(--brand); }
.tv-shot .hd h2 { font-size: 30px; font-weight: 700; color: #010101; line-height: 1.3; }
.tv-shot .hd h2 .thin { font-weight: 400; color: #9aa5b1; font-size: 20px; }
.tv-shot .hd p { margin: 13px auto 0; max-width: 700px; font-size: 15px; color: #4a5666; line-height: 1.8; }
.tv-shot .pic { display: block; width: 100%; max-width: 1100px; height: auto; margin: 0 auto; }
.tv-shot .cap { margin-top: 16px; text-align: center; font-size: 12.5px; color: #7c8996; line-height: 1.7; }
.tv-dev { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); margin-top: 42px; border-top: 1px solid #e9edf2; }
.tv-dev .v { padding: 26px 26px 6px 0; min-width: 0; }
.tv-dev .v + .v { border-left: 1px solid #e9edf2; padding-left: 26px; }
.tv-dev .v b { display: block; margin-bottom: 12px; font-size: 15px; font-weight: 700; color: #010101; }
.tv-dev .v .l {
  display: flex; align-items: baseline; justify-content: space-between; gap: 10px;
  padding: 6px 0; font-size: 12.5px; color: #5c6b7a; line-height: 1.55;
}
.tv-dev .v .l em { font-style: normal; font-weight: 700; color: var(--brand-text); font-variant-numeric: tabular-nums; text-align: right; }

/* 安装步骤：胶片孔深色带，四列细线分隔 */
.tv-how { position: relative; margin-top: 84px; overflow: hidden; background: #0c0f14; }
.tv-how::before {
  content: ""; position: absolute; inset: 0; pointer-events: none;
  background: radial-gradient(680px 320px at 50% -34%, rgba(255, 106, 19, .22), transparent 66%);
}
.tv-how .in { position: relative; width: 1200px; margin: 0 auto; padding: 60px 0 64px; }
.tv-how .kicker {
  display: inline-flex; align-items: center; gap: 9px; margin-bottom: 12px;
  font-size: 12px; font-weight: 800; letter-spacing: 1.5px; color: #ff9d5c; text-transform: uppercase;
}
.tv-how .kicker::before { content: ""; width: 22px; height: 2.5px; border-radius: 2px; background: #ff8a3d; }
.tv-how h2 { font-size: 30px; font-weight: 700; color: #fff; line-height: 1.3; }
.tv-how p { margin-top: 11px; max-width: 660px; font-size: 14px; color: #9aa6b5; line-height: 1.85; }
.tv-film { position: relative; margin-top: 36px; padding: 30px 0; }
.tv-film::before, .tv-film::after {
  content: ""; position: absolute; left: 0; right: 0; height: 10px; background-repeat: repeat-x;
  background-image: radial-gradient(circle at 5px 5px, rgba(255, 255, 255, .22) 2.6px, transparent 3.3px);
  background-size: 26px 10px;
}
.tv-film::before { top: 0; }
.tv-film::after { bottom: 0; }
.tv-steps { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); }
.tv-steps .st { padding: 0 30px; border-left: 1px solid rgba(255, 255, 255, .1); }
.tv-steps .st:first-child { border-left: 0; padding-left: 0; }
.tv-steps .st:last-child { padding-right: 0; }
.tv-steps .st .n { display: block; margin-bottom: 13px; font-size: 30px; font-weight: 800; line-height: 1; letter-spacing: -1.5px; color: #ff8a3d; }
.tv-steps .st b { display: block; margin-bottom: 9px; font-size: 16px; font-weight: 700; color: #fff; line-height: 1.5; }
.tv-steps .st span { font-size: 13px; color: #9aa6b5; line-height: 1.85; }
.tv-steps .st em { font-style: normal; font-weight: 700; color: #ffab73; }

/* 常见问题：左侧竖线 + 圆点时间轴 */
.sec-head--c { text-align: center; }
.sec-head--c p { margin-left: auto; margin-right: auto; }
.tv-faq { position: relative; max-width: 940px; margin: 0 auto; padding-left: 32px; }
.tv-faq::before {
  content: ""; position: absolute; left: 7px; top: 10px; bottom: 12px; width: 1px;
  background: linear-gradient(180deg, var(--brand) 0%, #e6ebf1 84%, #fff 100%);
}
.tv-faq .qa { position: relative; padding: 0 0 30px; border-bottom: 0; }
.tv-faq .qa:last-child { padding-bottom: 0; }
.tv-faq .qa::before {
  content: ""; position: absolute; left: -32px; top: 6px; width: 15px; height: 15px;
  border-radius: 50%; background: #fff; border: 3px solid var(--brand); box-sizing: border-box;
}
.tv-faq .qa h3 { font-size: 17px; font-weight: 700; color: #010101; line-height: 1.6; }
.tv-faq .qa p { margin-top: 9px; font-size: 14px; color: #4a5666; line-height: 1.95; }
.tv-faq .qa p b { color: #010101; }

/* 相关下载：单列细线行 */
.tv-rel { border-top: 1px solid #eef1f5; }
.tv-rel a { display: flex; align-items: center; gap: 20px; padding: 22px 6px; border-bottom: 1px solid #eef1f5; transition: background .2s; }
.tv-rel a:hover { background: #fafbfc; }
.tv-rel a img { width: 52px; height: 52px; flex: 0 0 52px; border-radius: 12px; object-fit: contain; }
.tv-rel a .tx { min-width: 0; }
.tv-rel a .tx b { display: block; margin-bottom: 5px; font-size: 16.5px; font-weight: 700; color: #010101; }
.tv-rel a .tx span { font-size: 13px; color: #5c6b7a; line-height: 1.7; }
.tv-rel a .meta { margin-left: auto; flex: 0 0 auto; display: flex; align-items: center; gap: 12px; font-size: 12.5px; color: #7c8996; }
.tv-rel a .meta em { font-style: normal; font-weight: 700; color: var(--brand-text); }
.tv-rel a .go { display: flex; flex: 0 0 auto; color: var(--brand-text); }
.tv-rel a .go svg { width: 16px; height: 16px; transition: transform .22s; }
.tv-rel a:hover .go svg { transform: translateX(4px); }

/* 下载方式三步：横线上三个连接圆点，无卡片 */
.tv-way {
  position: relative; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 40px;
  margin-top: 0; padding-top: 30px; border-top: 1px solid #eef1f5;
}
.tv-way .st { position: relative; }
.tv-way .st::before {
  content: ""; position: absolute; left: 0; top: -32px; width: 9px; height: 9px;
  border-radius: 50%; background: var(--brand); box-shadow: 0 0 0 4px #fff;
}
.tv-way .st b { display: block; margin-bottom: 8px; font-size: 15px; font-weight: 700; color: #010101; line-height: 1.5; }
.tv-way .st span { font-size: 13px; color: #5c6b7a; line-height: 1.8; }
.tv-way .st em { font-style: normal; font-weight: 700; color: var(--brand-text); }

@media (max-width: 1240px) {
  .tv-caps { margin-top: 60px; }
  .tv-caps .in, .tv-how .in { width: 100%; padding-left: 18px; padding-right: 18px; }
  .tv-caps .in { padding: 38px 18px 40px; }
  .tv-how .in { padding: 48px 18px 52px; }
  .tv-caps h2 { font-size: 24px; }
  .tv-grid { margin-top: 22px; }
  .tv-grid .it { padding: 20px 20px 22px 0; }
  .tv-grid .it:nth-child(even) { padding: 20px 0 22px 20px; }
  .tv-dev { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .tv-dev .v { padding: 22px 20px 6px 0; }
  .tv-dev .v + .v { padding-left: 20px; }
  .tv-dev .v:nth-child(3) { border-left: 0; padding-left: 0; }
  .tv-dev .v:nth-child(n+3) { border-top: 1px solid #e9edf2; }
  .tv-steps { grid-template-columns: repeat(2, minmax(0, 1fr)); row-gap: 30px; }
  .tv-steps .st { padding: 0 24px; }
  .tv-steps .st:nth-child(odd) { border-left: 0; padding-left: 0; }
  .tv-steps .st:nth-child(even) { padding-right: 0; }
  .tv-way { grid-template-columns: 1fr; gap: 0; }
  .tv-way .st { padding: 18px 0; }
  .tv-way .st + .st { border-top: 1px solid #eef1f5; }
  .tv-way .st::before { display: none; }
}

@media (max-width: 760px) {
  .tv-caps .in { padding: 32px 18px 34px; }
  .tv-caps h2 { font-size: 21px; }
  .tv-caps h2 span { font-size: 12.5px; }
  .tv-grid { grid-template-columns: 1fr; margin-top: 20px; }
  .tv-grid .it, .tv-grid .it:nth-child(even) { padding: 18px 0 20px; border-left: 0; }
  .tv-grid .it:nth-last-child(-n+2) { border-bottom: 1px solid rgba(255, 255, 255, .1); }
  .tv-grid .it:last-child { border-bottom: 0; }
  .tv-grid .it h3 { font-size: 16px; margin-bottom: 5px; }
  .tv-shot .hd { margin-bottom: 26px; }
  .tv-shot .hd h2 { font-size: 23px; }
  .tv-shot .hd h2 .thin { display: block; margin-top: 6px; font-size: 15px; }
  .tv-shot .hd p { font-size: 14px; }
  .tv-dev { grid-template-columns: 1fr; margin-top: 30px; }
  .tv-dev .v, .tv-dev .v + .v { padding: 18px 0 4px; border-left: 0; }
  .tv-dev .v + .v { border-top: 1px solid #e9edf2; }
  .tv-how { margin-top: 62px; }
  .tv-how h2 { font-size: 23px; }
  .tv-how .hd p, .tv-how p { font-size: 13.5px; }
  .tv-film { padding: 0; margin-top: 28px; }
  .tv-film::before, .tv-film::after { display: none; }
  .tv-steps { grid-template-columns: 1fr; row-gap: 0; }
  .tv-steps .st, .tv-steps .st:nth-child(odd), .tv-steps .st:nth-child(even) {
    padding: 20px 0; border-left: 0; border-top: 1px solid rgba(255, 255, 255, .1);
  }
  .tv-steps .st:first-child { border-top: 0; padding-top: 0; }
  .tv-steps .st .n { font-size: 24px; margin-bottom: 10px; }
  .tv-steps .st b { font-size: 15.5px; }
  .tv-faq { padding-left: 26px; }
  .tv-faq::before { left: 6px; }
  .tv-faq .qa::before { left: -26px; width: 13px; height: 13px; }
  .tv-faq .qa h3 { font-size: 16px; }
  .tv-rel a {
    display: grid; grid-template-columns: 44px minmax(0, 1fr) 16px;
    column-gap: 14px; row-gap: 7px; align-items: center; padding: 18px 0;
  }
  .tv-rel a img { grid-column: 1; grid-row: 1 / span 2; width: 44px; height: 44px; }
  .tv-rel a .tx { grid-column: 2; grid-row: 1; }
  .tv-rel a .tx b { font-size: 15.5px; }
  .tv-rel a .meta { grid-column: 2; grid-row: 2; width: auto; margin-left: 0; }
  .tv-rel a .go { grid-column: 3; grid-row: 1 / span 2; margin-left: 0; }
}

body.no-affil[data-page="qqmusic"] {
  --brand: #31c27c; --brand-d: #1f9d61; --brand-l: #b9ead1; --brand-soft: #eefaf3;
  --brand-grad: linear-gradient(135deg, #45d68f, #17915a);
  --brand-strong: linear-gradient(135deg, #12a05c, #0a6f3f);
  --brand-text: #0c7a45;
  --brand-shadow: rgba(49, 194, 124, .24);
  --hero-1: #eaf6ef; --hero-2: #fff; --deco: #31c27c;
}
body.no-affil[data-page="qqmusic"] .firstPage_container {
  background: linear-gradient(180deg, var(--hero-1), var(--hero-2) 88%);
}
body.no-affil[data-page="qqmusic"] .hero-deco .d { color: #31c27c; }
body[data-page="qqmusic"] .dl-tip { max-width: 560px; }
.ov.qm-card { width: 440px; flex: 0 0 440px; }

/* 播放器对照：左边 CSS 画的迷你播放器，右边编号清单 */
.qm-band { display: grid; grid-template-columns: 404px minmax(0, 1fr); gap: 60px; align-items: center; }
.qm-player {
  position: relative; padding: 26px 26px 24px; border-radius: 22px;
  background: linear-gradient(158deg, #0e2a1c, #123a26 58%, #0b2f1d);
  box-shadow: 0 26px 52px rgba(9, 52, 30, .26);
}
.qm-player .top { display: flex; align-items: center; gap: 18px; }
.qm-player .cover {
  width: 84px; height: 84px; flex: 0 0 84px; border-radius: 50%;
  background: radial-gradient(circle at 34% 30%, #5ee1a2, #17a463 58%, #0a6136);
  box-shadow: inset 0 0 0 7px rgba(255, 255, 255, .13);
  position: relative;
}
.qm-player .cover::after {
  content: ""; position: absolute; left: 50%; top: 50%; width: 16px; height: 16px;
  margin: -8px 0 0 -8px; border-radius: 50%; background: #0b2f1d;
}
.qm-player .meta { min-width: 0; }
.qm-player .meta b { display: block; font-size: 16px; font-weight: 700; color: #f2fbf6; }
.qm-player .meta span { display: block; margin-top: 6px; font-size: 12.5px; color: #8fb8a2; }
.qm-player .bars { display: flex; align-items: flex-end; gap: 4px; height: 36px; margin: 22px 0 18px; }
.qm-player .bars i { width: 4px; flex: 0 0 4px; border-radius: 2px; background: linear-gradient(180deg, #6ae8ab, #1f9d61); }
.qm-player .bars i:nth-child(1) { height: 40%; }
.qm-player .bars i:nth-child(2) { height: 68%; }
.qm-player .bars i:nth-child(3) { height: 92%; }
.qm-player .bars i:nth-child(4) { height: 54%; }
.qm-player .bars i:nth-child(5) { height: 78%; }
.qm-player .bars i:nth-child(6) { height: 100%; }
.qm-player .bars i:nth-child(7) { height: 62%; }
.qm-player .bars i:nth-child(8) { height: 84%; }
.qm-player .bars i:nth-child(9) { height: 46%; }
.qm-player .bars i:nth-child(10) { height: 70%; }
.qm-player .bars i:nth-child(11) { height: 34%; }
.qm-player .bars i:nth-child(12) { height: 56%; }
.qm-player .line { position: relative; height: 4px; border-radius: 2px; background: rgba(255, 255, 255, .16); }
.qm-player .line::after {
  content: ""; position: absolute; left: 0; top: 0; height: 100%; width: 62%;
  border-radius: 2px; background: linear-gradient(90deg, #6ae8ab, #2ec27e);
}
.qm-player .time { display: flex; justify-content: space-between; margin-top: 9px; font-size: 11.5px; color: #7ba892; }
.qm-list { border-top: 1px solid #e9f2ec; }
.qm-list .it { display: grid; grid-template-columns: 36px minmax(0, 1fr); column-gap: 14px; padding: 17px 0; border-bottom: 1px solid #e9f2ec; }
.qm-list .it .no { grid-column: 1; grid-row: 1; font-size: 12px; font-weight: 800; letter-spacing: 1.2px; color: var(--brand-text); padding-top: 3px; }
.qm-list .it b { grid-column: 2; grid-row: 1; display: block; margin-bottom: 5px; font-size: 16px; font-weight: 700; color: #010101; line-height: 1.45; }
.qm-list .it span { grid-column: 2; grid-row: 2; font-size: 13.5px; color: #5c6b7a; line-height: 1.8; }

/* 安装四步：一条进度条穿过四个节点 */
.qm-how { margin-top: 84px; background: #f2faf5; border-top: 1px solid #e1f0e7; border-bottom: 1px solid #e1f0e7; }
.qm-how .in { width: 1200px; margin: 0 auto; padding: 52px 0 56px; }
.qm-how .hd { max-width: 740px; margin-bottom: 36px; }
.qm-how .kick {
  display: inline-flex; align-items: center; gap: 9px; margin-bottom: 11px;
  font-size: 12px; font-weight: 800; letter-spacing: 1.4px; color: var(--brand-text); text-transform: uppercase;
}
.qm-how .kick::before { content: ""; width: 20px; height: 2.5px; border-radius: 2px; background: var(--brand); }
.qm-how h2 { font-size: 30px; font-weight: 700; color: #010101; line-height: 1.3; }
.qm-how .hd p { margin-top: 11px; font-size: 15px; color: #4a5666; line-height: 1.8; }
.qm-bar { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); }
.qm-bar .st { position: relative; padding: 40px 26px 0 0; }
.qm-bar .st::before {
  content: ""; position: absolute; left: 0; right: 0; top: 12px; height: 6px;
  background: #dbeee3;
}
.qm-bar .st:first-child::before { border-radius: 999px 0 0 999px; }
.qm-bar .st:last-child::before { border-radius: 0 999px 999px 0; }
.qm-bar .st:nth-child(1)::before { background: linear-gradient(90deg, #2ec27e 0%, #2ec27e 100%); }
.qm-bar .st:nth-child(2)::before { background: linear-gradient(90deg, #6ddcaa, #4bd397); }
.qm-bar .st:nth-child(n+3)::before { background: #dbeee3; }
.qm-bar .st .dot {
  position: absolute; left: 0; top: 0; width: 30px; height: 30px; border-radius: 50%;
  display: flex; align-items: center; justify-content: center;
  font-size: 13px; font-weight: 800; color: #fff; background: var(--brand-grad);
  box-shadow: 0 8px 18px var(--brand-shadow);
}
.qm-bar .st:nth-child(n+3) .dot { background: #cfe9da; color: #2f7a55; box-shadow: none; }
.qm-bar .st b { display: block; margin-bottom: 8px; font-size: 15.5px; font-weight: 700; color: #010101; line-height: 1.5; }
.qm-bar .st span { font-size: 13px; color: #5c6b7a; line-height: 1.8; }
.qm-bar .st em { font-style: normal; font-weight: 700; color: var(--brand-text); }

/* 常见问题：问句右对齐、答案左对齐，两栏细线表格 */
.qm-faq { border-top: 1px solid #e9f2ec; }
.qm-faq .qa {
  display: grid; grid-template-columns: 330px minmax(0, 1fr); column-gap: 40px;
  padding: 20px 0; border-bottom: 1px solid #e9f2ec;
}
.qm-faq .qa h3 { text-align: right; font-size: 15.5px; font-weight: 700; color: #010101; line-height: 1.6; }
.qm-faq .qa p { font-size: 14px; color: #4a5666; line-height: 1.9; }
.qm-faq .qa p b { color: #010101; }

/* 下载方式三步：左侧色条 + 序号 */
.qm-way {
  display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 36px;
  margin-top: 0; padding-top: 26px; border-top: 1px solid #eef4f0;
}
.qm-way .st { padding-left: 16px; border-left: 2px solid var(--brand-l); }
.qm-way .st b { display: block; margin-bottom: 8px; font-size: 15px; font-weight: 700; color: #010101; line-height: 1.5; }
.qm-way .st span { font-size: 13px; color: #5c6b7a; line-height: 1.8; }
.qm-way .st em { font-style: normal; font-weight: 700; color: var(--brand-text); }

@media (max-width: 1240px) {
  .qm-band { grid-template-columns: 1fr; gap: 34px; }
  .qm-player { max-width: 440px; }
  .qm-how .in { width: 100%; padding: 44px 18px 48px; }
  .qm-how h2 { font-size: 25px; }
  .qm-bar { grid-template-columns: repeat(2, minmax(0, 1fr)); row-gap: 26px; }
  .qm-bar .st:nth-child(2)::before { border-radius: 0 999px 999px 0; }
  .qm-bar .st:nth-child(3)::before { border-radius: 999px 0 0 999px; }
  .qm-faq .qa { grid-template-columns: 250px minmax(0, 1fr); column-gap: 28px; }
  .qm-way { grid-template-columns: 1fr; gap: 0; }
  .qm-way .st { padding: 16px 0 16px 16px; }
  .qm-way .st + .st { border-top: 1px solid #eef4f0; border-left: 2px solid var(--brand-l); }
}

@media (max-width: 760px) {
  .qm-player { padding: 22px 20px 20px; }
  .qm-player .cover { width: 70px; height: 70px; flex-basis: 70px; }
  .qm-list .it { grid-template-columns: 30px minmax(0, 1fr); column-gap: 10px; padding: 15px 0; }
  .qm-list .it b { font-size: 15px; }
  .qm-how { margin-top: 62px; }
  .qm-how h2 { font-size: 22px; }
  .qm-bar { grid-template-columns: 1fr; row-gap: 0; }
  .qm-bar .st { padding: 0 0 22px 44px; }
  .qm-bar .st::before { left: 12px; right: auto; top: 0; bottom: 0; width: 6px; height: auto; border-radius: 999px; }
  .qm-bar .st:first-child::before, .qm-bar .st:nth-child(2)::before,
  .qm-bar .st:nth-child(3)::before { border-radius: 999px; }
  .qm-bar .st .dot { top: 0; left: 0; }
  .qm-faq .qa { grid-template-columns: 1fr; row-gap: 8px; padding: 16px 0; }
  .qm-faq .qa h3 { text-align: left; font-size: 15px; }
}

body.no-affil[data-page="wps"] {
  --brand: #de3f31; --brand-d: #b8302a; --brand-l: #f6c8c3; --brand-soft: #fdf1ef;
  --brand-grad: linear-gradient(135deg, #ee5a4a, #c3302a);
  --brand-strong: linear-gradient(135deg, #b8302a, #8f241f);
  --brand-text: #a8291f;
  --brand-shadow: rgba(222, 63, 49, .22);
  --hero-1: #fdf1ef; --hero-2: #fff; --deco: #de3f31;
}
body.no-affil[data-page="wps"] .firstPage_container {
  background: linear-gradient(180deg, var(--hero-1), var(--hero-2) 88%);
}
body.no-affil[data-page="wps"] .hero-deco .d { color: #de3f31; }
body[data-page="wps"] .dl-tip { max-width: 560px; }
.ov.wp-card { width: 440px; flex: 0 0 440px; }

/* 能力四张：白纸 + 折角 + 顶部品牌条 */
.wp-sheets { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 20px; }
.wp-sheets .sheet {
  position: relative; padding: 30px 24px 26px; background: #fff;
  border: 1px solid #eceff2; border-radius: 4px 4px 14px 14px;
  transition: transform .24s, box-shadow .24s, border-color .24s;
}
.wp-sheets .sheet::before {
  content: ""; position: absolute; left: -1px; right: -1px; top: -1px; height: 4px;
  background: var(--brand-grad); border-radius: 4px 4px 0 0;
}
.wp-sheets .sheet::after {
  content: ""; position: absolute; right: 0; top: 3px; width: 0; height: 0;
  border-style: solid; border-width: 0 0 22px 22px;
  border-color: transparent transparent #f2f4f7 transparent;
}
.wp-sheets .sheet:hover { transform: translateY(-5px); border-color: var(--brand-l); box-shadow: 0 18px 36px rgba(60, 30, 25, .1); }
.wp-sheets .sheet .no { display: block; margin-bottom: 14px; font-size: 12px; font-weight: 800; letter-spacing: 1.6px; color: var(--brand-text); }
.wp-sheets .sheet h3 { font-size: 18px; font-weight: 700; color: #010101; line-height: 1.45; margin-bottom: 10px; }
.wp-sheets .sheet p { font-size: 13.5px; color: #5c6b7a; line-height: 1.85; }
.wp-sheets .sheet p em { font-style: normal; font-weight: 700; color: var(--brand-text); }

/* 安装步骤：一块「向导面板」，四行虚线分隔 */
.wp-wiz {
  border: 1px solid #e8ebef; border-radius: 18px; background: #fff;
  box-shadow: 0 18px 44px rgba(30, 40, 60, .07); overflow: hidden;
}
.wp-wiz .st {
  display: grid; grid-template-columns: 64px minmax(0, 1fr); column-gap: 20px;
  padding: 22px 30px; border-bottom: 1px dashed #e8ebef;
}
.wp-wiz .st:last-of-type { border-bottom: 0; }
.wp-wiz .st .no {
  grid-column: 1; grid-row: 1 / span 2; align-self: start;
  width: 42px; height: 42px; border-radius: 13px; background: var(--brand-soft);
  display: flex; align-items: center; justify-content: center;
  font-size: 14px; font-weight: 800; color: var(--brand-text);
}
.wp-wiz .st b { grid-column: 2; grid-row: 1; display: block; margin-bottom: 7px; font-size: 16.5px; font-weight: 700; color: #010101; }
.wp-wiz .st span { grid-column: 2; grid-row: 2; font-size: 13.5px; color: #5c6b7a; line-height: 1.85; }
.wp-wiz .st em { font-style: normal; font-weight: 700; color: var(--brand-text); }
.wp-wiz .foot { padding: 15px 30px; background: #f7f9fb; border-top: 1px solid #e8ebef; font-size: 12.5px; color: #5c6b7a; line-height: 1.7; }

/* 常见问题：报纸分栏（CSS columns），问答不跨栏 */
.wp-faq { columns: 2; column-gap: 52px; }
.wp-faq .qa { break-inside: avoid; -webkit-column-break-inside: avoid; padding: 0 0 22px; margin: 0 0 22px; border-bottom: 1px solid #eef1f4; }
.wp-faq .qa h3 { font-size: 16px; font-weight: 700; color: #010101; line-height: 1.55; }
.wp-faq .qa p { margin-top: 9px; font-size: 14px; color: #4a5666; line-height: 1.9; }
.wp-faq .qa p b { color: #010101; }

/* 下载方式三步：每列顶一条粗色线 + 序号 */
.wp-way { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 34px; }
.wp-way .st { padding-top: 18px; border-top: 3px solid var(--brand-l); }
.wp-way .st .no { display: block; margin-bottom: 8px; font-size: 11.5px; font-weight: 800; letter-spacing: 1.5px; color: var(--brand-text); }
.wp-way .st b { display: block; margin-bottom: 7px; font-size: 15px; font-weight: 700; color: #010101; line-height: 1.5; }
.wp-way .st span { font-size: 13px; color: #5c6b7a; line-height: 1.8; }
.wp-way .st em { font-style: normal; font-weight: 700; color: var(--brand-text); }

@media (max-width: 1240px) {
  .wp-sheets { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .wp-wiz .st { padding: 20px 24px; }
  .wp-wiz .foot { padding: 14px 24px; }
  .wp-way { grid-template-columns: 1fr; gap: 0; }
  .wp-way .st { padding: 16px 0 16px; border-top: 1px solid #eef1f4; border-left: 3px solid var(--brand-l); padding-left: 16px; }
  .wp-way .st:first-child { border-top: 3px solid var(--brand-l); }
}

@media (max-width: 760px) {
  .wp-sheets { grid-template-columns: 1fr; gap: 14px; }
  .wp-sheets .sheet { padding: 24px 20px 22px; }
  .wp-sheets .sheet h3 { font-size: 17px; }
  .wp-wiz .st { grid-template-columns: 48px minmax(0, 1fr); column-gap: 14px; padding: 18px 18px; }
  .wp-wiz .st .no { width: 36px; height: 36px; border-radius: 11px; font-size: 13px; }
  .wp-wiz .st b { font-size: 15.5px; }
  .wp-wiz .foot { padding: 13px 18px; }
  .wp-faq { columns: 1; }
}

body.no-affil[data-page="douyin"] {
  --brand: #fe2c55; --brand-d: #d81f45; --brand-l: #ffc6d2; --brand-soft: #fff1f4;
  --brand-grad: linear-gradient(135deg, #ff5477, #e01c44);
  --brand-strong: linear-gradient(135deg, #d81f45, #a81234);
  --brand-text: #c1123a;
  --brand-shadow: rgba(254, 44, 85, .22);
  --hero-1: #fff1f4; --hero-2: #fff; --deco: #fe2c55;
}
body.no-affil[data-page="douyin"] .firstPage_container {
  background: linear-gradient(180deg, var(--hero-1), var(--hero-2) 88%);
}
body.no-affil[data-page="douyin"] .hero-deco .d { color: #fe2c55; }

/* 能力六项：竖屏卡片（深色 + 顶部青红渐变条） */
.dy2-feats { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); border-top: 1px solid #eef1f4; }
.dy2-feats .it { padding: 30px 34px 32px 0; border-bottom: 1px solid #eef1f4; min-width: 0; }
.dy2-feats .it:not(:nth-child(3n + 1)) { padding-left: 34px; border-left: 1px solid #eef1f4; }
.dy2-feats .it:nth-child(3n) { padding-right: 0; }
.dy2-feats .it .no { display: block; margin-bottom: 16px; font-size: 12.5px; font-weight: 800; letter-spacing: 2px; color: var(--brand-text); }
.dy2-feats .it h3 {
  position: relative; display: inline-block; margin-bottom: 12px;
  font-size: 19px; font-weight: 700; color: #010101; line-height: 1.4;
}
.dy2-feats .it h3::after {
  content: ""; position: absolute; left: 0; right: 0; bottom: -5px; height: 2px; border-radius: 2px;
  background: var(--brand-grad); transform: scaleX(0); transform-origin: left; transition: transform .28s;
}
.dy2-feats .it:hover h3::after { transform: scaleX(1); }
.dy2-feats .it p { font-size: 13.5px; color: #5c6b7a; line-height: 1.9; }

/* 安装三步：左右交替的横向长条，序号超大 */
.dy2-zig { display: flex; flex-direction: column; gap: 16px; }
.dy2-zig .st {
  display: grid; grid-template-columns: 82px minmax(0, 1fr); align-items: center; column-gap: 24px;
  max-width: 968px; padding: 24px 32px; border-radius: 18px;
  background: #f7f8fa; border: 1px solid #eef0f4;
  transition: transform .22s, box-shadow .22s, border-color .22s;
}
.dy2-zig .st:nth-child(even) { margin-left: auto; background: var(--brand-soft); border-color: #ffe1e8; }
.dy2-zig .st:hover { transform: translateY(-3px); border-color: var(--brand-l); box-shadow: 0 16px 34px rgba(60, 20, 30, .08); }
.dy2-zig .st .n {
  grid-column: 1; grid-row: 1 / span 2; align-self: center;
  font-size: 46px; font-weight: 800; line-height: 1; letter-spacing: -2px; color: var(--brand-text);
}
.dy2-zig .st b { grid-column: 2; grid-row: 1; display: block; margin-bottom: 6px; font-size: 17.5px; font-weight: 700; color: #010101; }
.dy2-zig .st p { grid-column: 2; grid-row: 2; font-size: 13.5px; color: #5c6b7a; line-height: 1.85; }
.dy2-zig .st em { font-style: normal; font-weight: 700; color: var(--brand-text); }

/* 常见问题：单列，左侧自动编号，右侧加减号 */
.dy2-ask { border-top: 1px solid #eef1f4; counter-reset: dyask; }
.dy2-ask details { border-bottom: 1px solid #eef1f4; }
.dy2-ask summary {
  display: grid; grid-template-columns: 52px minmax(0, 1fr) 22px; align-items: center; column-gap: 18px;
  padding: 20px 0; cursor: pointer; list-style: none;
  font-size: 16px; font-weight: 700; color: #010101; line-height: 1.55;
}
.dy2-ask summary::-webkit-details-marker { display: none; }
.dy2-ask summary::before {
  content: counter(dyask, decimal-leading-zero); counter-increment: dyask;
  grid-column: 1; font-size: 12.5px; font-weight: 800; letter-spacing: 1.5px; color: var(--brand-text);
}
.dy2-ask summary::after {
  content: "+"; grid-column: 3; text-align: right;
  font-size: 20px; font-weight: 600; line-height: 1; color: var(--brand-text);
}
.dy2-ask details[open] summary::after { content: "−"; }
.dy2-ask summary:hover { color: var(--brand-text); }
.dy2-ask .ans { margin: 0 0 22px 70px; font-size: 14px; color: #4a5666; line-height: 1.95; }
.dy2-ask .ans ol { margin: 8px 0 0 18px; display: flex; flex-direction: column; gap: 6px; list-style: decimal; }
.dy2-ask .ans b { color: #010101; }

@media (max-width: 1240px) {
  .dy2-feats { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .dy2-feats .it, .dy2-feats .it:not(:nth-child(3n + 1)) { padding: 24px 24px 26px 0; border-left: 0; }
  .dy2-feats .it:nth-child(even) { padding-left: 26px; border-left: 1px solid #eef1f4; }
  .dy2-feats .it h3 { font-size: 18px; }
  .dy2-zig .st { max-width: 100%; }
  .dy2-zig .st:nth-child(even) { margin-left: 0; }
}
@media (max-width: 760px) {
  .dy2-feats { grid-template-columns: 1fr; }
  .dy2-feats .it, .dy2-feats .it:nth-child(even), .dy2-feats .it:not(:nth-child(3n + 1)) { padding: 22px 0; border-left: 0; }
  .dy2-feats .it h3 { font-size: 17px; }
  .dy2-feats .it .no { margin-bottom: 12px; }
  .dy2-zig .st { grid-template-columns: 56px minmax(0, 1fr); column-gap: 14px; padding: 20px 20px; }
  .dy2-zig .st .n { font-size: 32px; }
  .dy2-zig .st b { font-size: 16px; }
  .dy2-ask summary { grid-template-columns: 34px minmax(0, 1fr) 20px; column-gap: 12px; font-size: 15px; }
  .dy2-ask .ans { margin-left: 46px; }
}

body.no-affil[data-page="xigua"] {
  --brand: #fa3f43; --brand-d: #d92b30; --brand-l: #ffc9ca; --brand-soft: #fff2f2;
  --brand-grad: linear-gradient(135deg, #ff6b6e, #e6323a);
  --brand-strong: linear-gradient(135deg, #d92b30, #a81f24);
  --brand-text: #c1272d;
  --brand-shadow: rgba(250, 63, 67, .22);
  --hero-1: #fff3f3; --hero-2: #fff; --deco: #fa3f43;
}
body.no-affil[data-page="xigua"] .firstPage_container {
  background: linear-gradient(180deg, var(--hero-1), var(--hero-2) 88%);
}
body.no-affil[data-page="xigua"] .hero-deco .d { color: #fa3f43; }
body[data-page="xigua"] .dl-tip { max-width: 560px; }
.ov.xg-card { width: 440px; flex: 0 0 440px; }

.xg-vers .hd { text-align: center; max-width: 720px; margin: 0 auto 36px; }
.xg-vers .hd .kicker {
  display: inline-flex; align-items: center; gap: 8px; margin-bottom: 11px;
  font-size: 12px; font-weight: 800; letter-spacing: 1.4px; color: var(--brand-text); text-transform: uppercase;
}
.xg-vers .hd .kicker::before, .xg-vers .hd .kicker::after {
  content: ""; width: 18px; height: 2.5px; border-radius: 2px; background: var(--brand);
}
.xg-vers .hd h2 { font-size: 30px; font-weight: 700; color: #010101; line-height: 1.3; }
.xg-vers .hd h2 .thin { font-weight: 400; color: #9aa5b1; font-size: 20px; }
.xg-vers .hd p { margin: 13px auto 0; max-width: 660px; font-size: 15px; color: #4a5666; line-height: 1.8; }

.xg-pair { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 28px; }
.xg-ver {
  display: flex; flex-direction: column; overflow: hidden;
  border: 1px solid #eceff3; border-radius: 20px; background: #fff;
  box-shadow: 0 18px 40px rgba(18, 22, 30, .07);
  transition: transform .26s ease, box-shadow .26s ease, border-color .26s ease;
}
.xg-ver:hover { transform: translateY(-4px); border-color: var(--brand-l); box-shadow: 0 26px 54px rgba(60, 20, 24, .11); }
.xg-ver .pic { background: #fff; border-bottom: 1px solid #f2f1f3; }
.xg-ver .pic img { display: block; width: 100%; height: auto; }
.xg-ver .meta { display: flex; flex-direction: column; flex: 1 1 auto; padding: 22px 26px 26px; }
.xg-ver .meta > span:not(.no) { margin-bottom: 18px; }
.xg-ver .meta .no {
  display: inline-flex; align-items: center; justify-content: center; min-width: 30px; height: 24px;
  padding: 0 8px; margin-bottom: 12px; border-radius: 8px; align-self: flex-start;
  background: var(--brand-soft); color: var(--brand-text); font-size: 12px; font-weight: 800; letter-spacing: .5px;
}
.xg-ver .meta b { display: block; margin-bottom: 8px; font-size: 19px; font-weight: 700; color: #010101; line-height: 1.4; }
.xg-ver .meta span { font-size: 13.5px; color: #5c6b7a; line-height: 1.85; }
.xg-ver .btn {
  display: inline-flex; align-items: center; gap: 7px; margin-top: auto; align-self: flex-start;
  padding: 12px 20px; border-radius: 11px;
  font-size: 14.5px; font-weight: 700; line-height: 1; color: #fff;
  transition: transform .22s ease, box-shadow .22s ease;
}
.xg-ver .btn svg { transition: transform .22s; }
.xg-ver .btn:hover { transform: translateY(-2px); }
.xg-ver .btn:hover svg { transform: translateX(3px); }
.xg-ver .btn--store { background: #0c0d0f; box-shadow: 0 10px 22px rgba(12, 13, 15, .22); }
.xg-ver .btn--store:hover { box-shadow: 0 16px 30px rgba(12, 13, 15, .26); }
.xg-ver .btn--apk { background: var(--brand-strong); box-shadow: 0 10px 22px rgba(217, 43, 48, .24); }
.xg-ver .btn--apk:hover { box-shadow: 0 16px 30px rgba(217, 43, 48, .3); }

.xg-web {
  display: flex; align-items: center; gap: 18px; margin-top: 28px;
  padding: 22px 28px; border-radius: 18px; border: 1px solid #eceff3; background: #fafbfd;
}
.xg-web .ic {
  flex: 0 0 46px; width: 46px; height: 46px; border-radius: 14px;
  display: flex; align-items: center; justify-content: center; background: var(--brand-soft);
}
.xg-web .ic svg { width: 23px; height: 23px; color: var(--brand); }
.xg-web .tx { flex: 1 1 auto; min-width: 0; }
.xg-web .tx b { display: block; margin-bottom: 6px; font-size: 16.5px; font-weight: 700; color: #010101; }
.xg-web .tx span { font-size: 13.5px; color: #5c6b7a; line-height: 1.8; }
.xg-web .tx em { font-style: normal; font-weight: 700; color: var(--brand-text); }
.xg-web a {
  flex: 0 0 auto; display: inline-flex; align-items: center; gap: 6px;
  padding: 11px 18px; border-radius: 11px; border: 1px solid var(--brand-l); background: #fff;
  font-size: 14px; font-weight: 700; color: var(--brand-text);
  transition: background .22s, color .22s, border-color .22s, transform .22s;
}
.xg-web a:hover { background: var(--brand-strong); border-color: transparent; color: #fff; transform: translateX(2px); }
.xg-web a svg { transition: transform .22s; }
.xg-web a:hover svg { transform: translateX(3px); }

@media (max-width: 1240px) {
  .xg-pair { gap: 20px; }
  .xg-ver .meta { padding: 18px 20px 22px; }
  .xg-ver .meta b { font-size: 17.5px; }
  .xg-web { flex-wrap: wrap; padding: 20px 22px; }
  .xg-web a { margin-left: 64px; }
}
@media (max-width: 760px) {
  .xg-vers { margin-top: 0; }
  .xg-vers .hd h2 { font-size: 22px; }
  .xg-vers .hd h2 .thin { display: block; margin-top: 6px; font-size: 15px; }
  .xg-vers .hd p { font-size: 14px; }
  .xg-pair { grid-template-columns: 1fr; gap: 16px; }
  .xg-ver { border-radius: 16px; }
  .xg-ver .meta { padding: 16px 18px 20px; }
  .xg-ver .meta b { font-size: 17px; }
  .xg-web { flex-direction: column; align-items: flex-start; gap: 14px; margin-top: 20px; padding: 18px 20px; }
  .xg-web a { margin-left: 0; }
}

/* 安装四步：四个方框 + 箭头 */
.xg-flow { display: flex; align-items: stretch; gap: 30px; }
.xg-flow .st {
  position: relative; flex: 1 1 0; min-width: 0; padding: 22px 22px 24px;
  border: 1px solid #eef1f4; border-radius: 16px; background: #fff;
  transition: transform .22s, box-shadow .22s, border-color .22s;
}
.xg-flow .st:hover { transform: translateY(-4px); border-color: var(--brand-l); box-shadow: 0 16px 34px rgba(60, 20, 24, .09); }
.xg-flow .st + .st::before {
  content: "→"; position: absolute; left: -24px; top: 50%; transform: translateY(-50%);
  font-size: 17px; font-weight: 700; color: var(--brand);
}
.xg-flow .st .no {
  display: inline-flex; align-items: center; justify-content: center; min-width: 26px; height: 26px;
  padding: 0 6px; margin-bottom: 12px; border-radius: 8px;
  background: var(--brand-soft); color: var(--brand-text); font-size: 12.5px; font-weight: 800;
}
.xg-flow .st b { display: block; margin-bottom: 8px; font-size: 15.5px; font-weight: 700; color: #010101; line-height: 1.5; }
.xg-flow .st span { font-size: 13px; color: #5c6b7a; line-height: 1.8; }
.xg-flow .st em { font-style: normal; font-weight: 700; color: var(--brand-text); }

/* 常见问题：圆形描边序号 + 右侧旋转箭头 */
.xg-ask { border-top: 1px solid #eef1f4; }
.xg-ask details { border-bottom: 1px solid #eef1f4; }
.xg-ask summary {
  display: grid; grid-template-columns: 36px minmax(0, 1fr) 18px; align-items: center; column-gap: 16px;
  padding: 20px 0; cursor: pointer; list-style: none;
  font-size: 16px; font-weight: 700; color: #010101; line-height: 1.55;
}
.xg-ask summary::-webkit-details-marker { display: none; }
.xg-ask { counter-reset: xgq; }
.xg-ask summary::before {
  content: counter(xgq, decimal-leading-zero); counter-increment: xgq;
  grid-column: 1; width: 36px; height: 36px; border-radius: 50%;
  border: 1px solid var(--brand-l); color: var(--brand-text);
  display: flex; align-items: center; justify-content: center;
  font-size: 12px; font-weight: 800;
}
.xg-ask summary::after {
  content: ""; grid-column: 3; justify-self: end; width: 9px; height: 9px; margin-top: -4px;
  border-right: 2px solid var(--brand-text); border-bottom: 2px solid var(--brand-text);
  transform: rotate(45deg); transition: transform .24s;
}
.xg-ask details[open] summary::after { transform: rotate(-135deg); margin-top: 4px; }
.xg-ask summary:hover { color: var(--brand-text); }
.xg-ask .ans { margin: 0 0 22px 52px; font-size: 14px; color: #4a5666; line-height: 1.95; }
.xg-ask .ans b { color: #010101; }

/* 下载方式三步：左竖色条 */
.xg-way {
  display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 34px;
  padding-top: 26px; border-top: 1px solid #eef4f4;
}
.xg-way .st { padding-left: 16px; border-left: 2px solid var(--brand-l); }
.xg-way .st .no { display: block; margin-bottom: 8px; font-size: 11.5px; font-weight: 800; letter-spacing: 1.5px; color: var(--brand-text); }
.xg-way .st b { display: block; margin-bottom: 7px; font-size: 15px; font-weight: 700; color: #010101; line-height: 1.5; }
.xg-way .st span { font-size: 13px; color: #5c6b7a; line-height: 1.8; }
.xg-way .st em { font-style: normal; font-weight: 700; color: var(--brand-text); }

@media (max-width: 1240px) {
  .xg-flow { flex-wrap: wrap; gap: 18px; }
  .xg-flow .st { flex: 1 1 calc(50% - 9px); }
  .xg-flow .st + .st::before { display: none; }
  .xg-way { grid-template-columns: 1fr; gap: 0; }
  .xg-way .st { padding: 16px 0 16px 16px; }
  .xg-way .st + .st { border-top: 1px solid #eef4f4; }
}
@media (max-width: 760px) {
  .xg-flow { flex-direction: column; }
  .xg-flow .st { flex: 1 1 auto; }
  .xg-ask summary { grid-template-columns: 30px minmax(0, 1fr) 16px; column-gap: 12px; font-size: 15px; }
  .xg-ask summary::before { width: 30px; height: 30px; font-size: 11.5px; }
  .xg-ask .ans { margin-left: 42px; }
}

body.no-affil[data-page="dingtalk"] {
  --brand: #005fff; --brand-d: #0043c9; --brand-l: #b9d1ff; --brand-soft: #eef4ff;
  --brand-grad: linear-gradient(135deg, #1b6bff, #0052e0);
  --brand-strong: linear-gradient(135deg, #0043c9, #00319a);
  --brand-text: #0043c9;
  --brand-shadow: rgba(0, 95, 255, .22);
  --hero-1: #e9f1ff; --hero-2: #fff; --deco: #005fff;
}
body.no-affil[data-page="dingtalk"] .firstPage_container {
  background: linear-gradient(180deg, var(--hero-1), var(--hero-2) 88%);
}
body.no-affil[data-page="dingtalk"] .hero-deco .d { color: #005fff; }
body[data-page="dingtalk"] .dl-tip { max-width: 520px; }
.ov.dt-card { width: 440px; flex: 0 0 440px; }

.dt-shots { padding-top: 64px; }
.dt-shots .sec-head p { max-width: 720px; }

.dt-stage {
  padding: 14px; margin-bottom: 20px;
  border: 1px solid #e4ecf8; border-radius: 22px;
  background: linear-gradient(180deg, #f7faff, #eef4ff);
  box-shadow: 0 30px 64px rgba(14, 34, 74, .12), 0 2px 6px rgba(14, 34, 74, .05);
}
.dt-stage img {
  display: block; width: 100%; height: auto; aspect-ratio: 7 / 5; object-fit: contain; object-position: center;
  border-radius: 12px; background: #fff;
}

.dt-thumbs { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 18px; }
.dt-thumb {
  display: block; width: 100%; padding: 9px 9px 11px; text-align: left; cursor: pointer;
  font: inherit; border: 1px solid #e8eef7; border-radius: 16px; background: #fff;
  transition: transform .26s ease, border-color .26s ease, box-shadow .26s ease;
}
.dt-thumb img {
  display: block; width: 100%; height: auto; aspect-ratio: 7 / 5; object-fit: cover; object-position: top center;
  border-radius: 10px;
}
.dt-thumb span {
  display: block; margin-top: 11px; padding: 0 3px;
  font-size: 13px; font-weight: 700; color: #4a5666; line-height: 1.4;
}
.dt-thumb:hover { transform: translateY(-3px); border-color: var(--brand-l); box-shadow: 0 16px 30px rgba(14, 34, 74, .09); }
.dt-thumb.is-on { border-color: var(--brand); box-shadow: 0 0 0 3px var(--brand-soft), 0 14px 28px rgba(0, 95, 255, .12); }
.dt-thumb.is-on span { color: var(--brand-text); }

.dt-caps { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); column-gap: 64px; border-top: 1px solid #eef1f4; }
.dt-caps .cp {
  display: flex; align-items: flex-start; gap: 18px; min-width: 0;
  padding: 26px 0; border-bottom: 1px solid #eef1f4;
}
.dt-caps .cp .ic {
  flex: 0 0 44px; width: 44px; height: 44px; border-radius: 13px;
  display: flex; align-items: center; justify-content: center;
  background: var(--brand-soft); transition: background .26s ease, transform .26s ease;
}
.dt-caps .cp .ic svg { width: 22px; height: 22px; color: var(--brand); transition: color .26s ease; }
.dt-caps .cp .tx { min-width: 0; padding-top: 2px; }
.dt-caps .cp .tx b { display: block; margin-bottom: 7px; font-size: 18px; font-weight: 700; color: #010101; line-height: 1.4; }
.dt-caps .cp .tx span { display: block; font-size: 13.5px; color: #5c6b7a; line-height: 1.8; }
.dt-caps .cp:hover .ic { background: var(--brand-grad); transform: translateY(-2px); }
.dt-caps .cp:hover .ic svg { color: #fff; }

.dt-steps { display: flex; }
.dt-steps .st {
  position: relative; flex: 1 1 0; min-width: 0; padding: 26px 30px 26px 42px;
  background: var(--brand-soft);
  clip-path: polygon(0 0, calc(100% - 20px) 0, 100% 50%, calc(100% - 20px) 100%, 0 100%, 20px 50%);
  transition: background .26s ease;
}
.dt-steps .st:first-child {
  padding-left: 30px; border-radius: 16px 0 0 16px;
  clip-path: polygon(0 0, calc(100% - 20px) 0, 100% 50%, calc(100% - 20px) 100%, 0 100%);
}
.dt-steps .st:last-child {
  border-radius: 0 16px 16px 0;
  clip-path: polygon(0 0, 100% 0, 100% 100%, 0 100%, 20px 50%);
}
.dt-steps .st + .st { margin-left: -20px; }
.dt-steps .st:nth-child(even) { background: #e3edff; }
.dt-steps .st .no { display: block; margin-bottom: 10px; font-size: 11.5px; font-weight: 800; letter-spacing: 1.6px; color: var(--brand-text); }
.dt-steps .st b { display: block; margin-bottom: 8px; font-size: 15px; font-weight: 700; color: #010101; line-height: 1.5; }
.dt-steps .st span { font-size: 12.5px; color: #5c6b7a; line-height: 1.8; }
.dt-steps .st em { font-style: normal; font-weight: 700; color: var(--brand-text); }

.dt-chat { max-width: 980px; }
.dt-chat .qa + .qa { margin-top: 26px; }
.dt-chat .dt-q {
  width: fit-content; max-width: 74%; margin-left: auto;
  padding: 13px 19px; border-radius: 16px 16px 5px 16px;
  background: var(--brand-grad); color: #fff;
  font-size: 15px; font-weight: 700; line-height: 1.6;
  box-shadow: 0 12px 26px rgba(0, 95, 255, .18);
}
.dt-chat .dt-a { display: flex; align-items: flex-start; gap: 12px; max-width: 88%; margin-top: 12px; }
.dt-chat .dt-a .av {
  flex: 0 0 34px; width: 34px; height: 34px; margin-top: 3px; border-radius: 50%;
  display: flex; align-items: center; justify-content: center;
  background: #fff; border: 1px solid #e2e9f4;
}
.dt-chat .dt-a .av img { width: 22px; height: 22px; display: block; }
.dt-chat .dt-a .dt-txt {
  min-width: 0; padding: 14px 19px; border-radius: 16px 16px 16px 5px;
  background: #fff; border: 1px solid #e8eef7; box-shadow: 0 8px 20px rgba(14, 34, 74, .05);
  font-size: 14px; color: #3a4656; line-height: 1.95;
}
.dt-chat .dt-a .dt-txt b { color: #010101; font-weight: 700; }

.dt-way {
  display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 34px;
  padding-top: 26px; border-top: 1px solid #eef2fb;
}
.dt-way .st { padding-left: 16px; border-left: 2px solid var(--brand-l); }
.dt-way .st .no { display: block; margin-bottom: 8px; font-size: 11.5px; font-weight: 800; letter-spacing: 1.5px; color: var(--brand-text); }
.dt-way .st b { display: block; margin-bottom: 7px; font-size: 15px; font-weight: 700; color: #010101; line-height: 1.5; }
.dt-way .st span { font-size: 13px; color: #5c6b7a; line-height: 1.8; }
.dt-way .st em { font-style: normal; font-weight: 700; color: var(--brand-text); }

@media (max-width: 1240px) {
  .dt-thumbs { gap: 14px; }
  .dt-caps { column-gap: 40px; }
  .dt-steps .st { padding: 22px 22px 22px 34px; }
  .dt-steps .st:first-child { padding-left: 24px; }
  .dt-steps .st b { font-size: 14.5px; }
  .dt-way { grid-template-columns: 1fr; gap: 0; }
  .dt-way .st { padding: 16px 0 16px 16px; }
  .dt-way .st + .st { border-top: 1px solid #eef2fb; }
}
@media (max-width: 900px) {
  .dt-thumbs { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .dt-caps { grid-template-columns: 1fr; }
  .dt-caps .cp { padding: 22px 0; }
  .dt-steps { flex-direction: column; gap: 12px; }
  .dt-steps .st { flex: 0 0 auto; }
  .dt-steps .st, .dt-steps .st:first-child, .dt-steps .st:last-child {
    margin-left: 0; padding: 20px 22px; border-radius: 14px; clip-path: none;
  }
  .dt-steps .st:nth-child(even) { background: var(--brand-soft); }
  .dt-chat .dt-q { max-width: 88%; }
  .dt-chat .dt-a { max-width: 100%; }
}
@media (max-width: 760px) {
  body[data-page="dingtalk"] .sec-head h2 .thin { display: block; margin-top: 6px; font-size: 15px; }
  .dt-shots { padding-top: 48px; }
  .dt-stage { padding: 8px; border-radius: 16px; margin-bottom: 14px; }
  .dt-thumbs { gap: 10px; }
  .dt-thumb { padding: 7px 7px 9px; border-radius: 13px; }
  .dt-thumb span { margin-top: 8px; font-size: 12.5px; }
  .dt-caps .cp .ic { flex: 0 0 40px; width: 40px; height: 40px; border-radius: 12px; }
  .dt-caps .cp .tx b { font-size: 17px; }
  .dt-chat .dt-q { font-size: 14.5px; padding: 12px 16px; }
  .dt-chat .dt-a { gap: 9px; }
  .dt-chat .dt-a .av { flex: 0 0 30px; width: 30px; height: 30px; }
  .dt-chat .dt-a .av img { width: 19px; height: 19px; }
  .dt-chat .dt-a .dt-txt { font-size: 13.5px; padding: 12px 15px; }
}
@media (prefers-reduced-motion: reduce) {
  .dt-thumb, .dt-caps .cp .ic, .dt-steps .st { transition: none; }
  .dt-thumb:hover, .dt-caps .cp:hover .ic { transform: none; }
}
.home-hero { --home-ink: #0a6b3c; --home-text: #3a4550; }
.home-hero .dl-tip { max-width: 560px; color: var(--home-text); }
.home-hero .dl-alt a { color: var(--home-ink); }
.home-hero .middle_content { margin-bottom: 46px; }

.cloud-col { display: flex; align-items: center; justify-content: center; }
.cloud3d { position: relative; width: 100%; max-width: 540px; height: 452px; }
.cloud3d::before {
  content: ""; position: absolute; left: 50%; top: 50%;
  width: 94%; height: 92%; transform: translate(-50%, -50%);
  border-radius: 50%; pointer-events: none; z-index: 0;
  background: radial-gradient(closest-side, rgba(255, 255, 255, .94), rgba(255, 255, 255, .34) 60%, rgba(255, 255, 255, 0));
}
.cloud3d .ci {
  position: absolute; left: 50%; top: 50%; width: 54px; height: 54px;
  transform: translate(-50%, -50%); border-radius: 16px; background: #fff;
  box-shadow: 0 12px 26px rgba(14, 34, 74, .13), 0 1px 3px rgba(14, 34, 74, .09);
  display: flex; align-items: center; justify-content: center; z-index: 1;
  will-change: transform, opacity;
}
.cloud3d .ci img { display: block; width: 34px; height: 34px; object-fit: contain; }
.cloud3d .ci.c3 { width: 42px; height: 42px; border-radius: 12px; }
.cloud3d .ci.c3 img { width: 28px; height: 28px; }
.cloud3d.is-smooth .ci { transition: transform .2s ease, opacity .2s ease, box-shadow .28s ease; }
.cloud3d .ci:hover { box-shadow: 0 24px 48px rgba(0, 95, 255, .26), 0 2px 8px rgba(14, 34, 74, .12); }
.cloud3d .ci:focus-visible { outline: 2px solid var(--brand); outline-offset: 4px; }
.cloud3d .ci:nth-child(1) { left: 59.47%; top: 49.78%; transform: translate(-50%, -50%) scale(1.00); }
.cloud3d .ci:nth-child(2) { left: 54.65%; top: 57.22%; transform: translate(-50%, -50%) scale(1.01); }
.cloud3d .ci:nth-child(3) { left: 44.87%; top: 58.31%; transform: translate(-50%, -50%) scale(1.04); }
.cloud3d .ci:nth-child(4) { left: 40.62%; top: 49.99%; transform: translate(-50%, -50%) scale(1.02); }
.cloud3d .ci:nth-child(5) { left: 44.93%; top: 43.13%; transform: translate(-50%, -50%) scale(0.99); }
.cloud3d .ci:nth-child(6) { left: 56.42%; top: 41.89%; transform: translate(-50%, -50%) scale(0.98); }
.cloud3d .ci:nth-child(7) { left: 69.31%; top: 58.21%; transform: translate(-50%, -50%) scale(1.04); }
.cloud3d .ci:nth-child(8) { left: 51.50%; top: 68.22%; transform: translate(-50%, -50%) scale(1.02); }
.cloud3d .ci:nth-child(9) { left: 33.05%; top: 58.94%; transform: translate(-50%, -50%) scale(0.97); }
.cloud3d .ci:nth-child(10) { left: 32.24%; top: 41.01%; transform: translate(-50%, -50%) scale(0.99); }
.cloud3d .ci:nth-child(11) { left: 50.28%; top: 31.30%; transform: translate(-50%, -50%) scale(0.97); }
.cloud3d .ci:nth-child(12) { left: 66.16%; top: 40.39%; transform: translate(-50%, -50%) scale(1.01); }
.cloud3d .ci:nth-child(13) { left: 83.69%; top: 56.41%; transform: translate(-50%, -50%) scale(0.97); }
.cloud3d .ci:nth-child(14) { left: 78.38%; top: 67.46%; transform: translate(-50%, -50%) scale(1.04); }
.cloud3d .ci:nth-child(15) { left: 68.76%; top: 75.86%; transform: translate(-50%, -50%) scale(1.03); }
.cloud3d .ci:nth-child(16) { left: 56.28%; top: 80.32%; transform: translate(-50%, -50%) scale(1.02); }
.cloud3d .ci:nth-child(17) { left: 42.84%; top: 80.16%; transform: translate(-50%, -50%) scale(1.01); }
.cloud3d .ci:nth-child(18) { left: 30.49%; top: 75.41%; transform: translate(-50%, -50%) scale(1.00); }
.cloud3d .ci:nth-child(19) { left: 21.12%; top: 66.79%; transform: translate(-50%, -50%) scale(0.99); }
.cloud3d .ci:nth-child(20) { left: 16.14%; top: 55.62%; transform: translate(-50%, -50%) scale(0.98); }
.cloud3d .ci:nth-child(21) { left: 16.31%; top: 43.59%; transform: translate(-50%, -50%) scale(0.97); }
.cloud3d .ci:nth-child(22) { left: 21.62%; top: 32.54%; transform: translate(-50%, -50%) scale(1.04); }
.cloud3d .ci:nth-child(23) { left: 31.24%; top: 24.14%; transform: translate(-50%, -50%) scale(1.03); }
.cloud3d .ci:nth-child(24) { left: 43.72%; top: 19.68%; transform: translate(-50%, -50%) scale(1.02); }
.cloud3d .ci:nth-child(25) { left: 57.16%; top: 19.84%; transform: translate(-50%, -50%) scale(1.01); }
.cloud3d .ci:nth-child(26) { left: 69.51%; top: 24.59%; transform: translate(-50%, -50%) scale(1.00); }
.cloud3d .ci:nth-child(27) { left: 78.88%; top: 33.21%; transform: translate(-50%, -50%) scale(0.99); }
.cloud3d .ci:nth-child(28) { left: 83.86%; top: 44.38%; transform: translate(-50%, -50%) scale(0.98); }

@media (max-width: 1240px) {
  .firstPage_container .container .middle_content .right_content.cloud-col {
    width: 100%; flex: 0 0 auto; margin-top: 4px;
  }
  .cloud3d { height: 404px; max-width: 480px; }
}
@media (max-width: 760px) {
  .cloud3d { height: 352px; max-width: 342px; }
  .cloud3d .ci { width: 46px; height: 46px; border-radius: 13px; }
  .cloud3d .ci img { width: 29px; height: 29px; }
  .cloud3d .ci.c3 { width: 36px; height: 36px; border-radius: 11px; }
  .cloud3d .ci.c3 img { width: 24px; height: 24px; }
}
@media (prefers-reduced-motion: reduce) {
  .cloud3d .ci, .cloud3d.is-smooth .ci { transition: none; }
}

.libpage { padding-bottom: 28px; }
.libpage .sec-head h1.lib-h1 { font-size: 34px; font-weight: 700; color: #010101; line-height: 1.3; }
.libpage .sec-head h1.lib-h1 + p { margin-top: 12px; }

.cattabs { display: flex; flex-wrap: wrap; gap: 10px; margin: 6px 0 24px; }
.cattabs a {
  display: inline-flex; align-items: center;
  padding: 9px 16px; border-radius: 10px; border: 1px solid #e6ecf3; background: #fff;
  font-size: 13.5px; font-weight: 700; color: #4a5666;
  transition: border-color .2s, background .2s, color .2s;
}
.cattabs a .n { margin-left: 6px; font-size: 12px; font-weight: 400; opacity: .7; }
.cattabs a:hover { border-color: var(--brand-l); background: var(--brand-soft); color: #0a6b3c; }
.cattabs a.is-on { background: var(--brand-grad); border-color: transparent; color: #fff; }
.cattabs a.is-on .n { opacity: .85; }

.lib-grid--4 { grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 14px; }
.lib-grid--4 .lib-card { padding: 16px; gap: 12px; border-radius: 14px; }
.lib-grid--4 .lib-card .li { width: 46px; height: 46px; flex: 0 0 46px; border-radius: 12px; }
.lib-grid--4 .lib-card .li img { width: 32px; height: 32px; }
.lib-grid--4 .lib-card .lt b { font-size: 15.5px; margin-bottom: 4px; }
.lib-grid--4 .lib-card .lt .d {
  font-size: 12px; line-height: 1.5; display: -webkit-box; -webkit-line-clamp: 2;
  -webkit-box-orient: vertical; overflow: hidden;
}
.lib-grid--4 .lib-card .lt .v { margin-top: 5px; font-size: 11.5px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.lib-grid--4 .lib-card .lc { display: none; }
.lib-grid .lib-card.is-hide { display: none; }

.pager { display: flex; flex-wrap: wrap; align-items: center; justify-content: center; gap: 10px; margin: 36px 0 6px; }
.pager .pg {
  display: inline-flex; align-items: center; justify-content: center;
  min-width: 42px; height: 42px; padding: 0 14px; border-radius: 11px;
  border: 1px solid #e6ecf3; background: #fff;
  font-size: 14px; font-weight: 700; color: #4a5666;
  transition: border-color .2s, background .2s, color .2s;
}
.pager a.pg:hover { border-color: var(--brand-l); background: var(--brand-soft); color: #0a6b3c; }
.pager .pg.is-on { background: var(--brand-grad); border-color: transparent; color: #fff; }
.pager .pg.is-off { color: #b6c0cb; background: #f8fafc; border-color: #eef2f6; }

.lib-foot {
  margin-top: 28px; padding: 18px 22px; border-radius: 14px;
  border: 1px solid #eef2f6; background: #f8fafc;
}
.lib-foot p { font-size: 13.5px; color: #5c6b7a; line-height: 1.9; }
.lib-foot b { color: #010101; }

.lib-more { margin-top: 26px; text-align: center; }
.lib-more a {
  display: inline-flex; align-items: center; gap: 8px;
  padding: 13px 26px; border-radius: 12px; border: 1px solid var(--brand-l); background: #fff;
  font-size: 14.5px; font-weight: 700; color: #0a6b3c;
  transition: background .22s, color .22s, border-color .22s, transform .22s;
}
.lib-more a:hover { background: var(--brand-soft); transform: translateY(-2px); }
.lib-more a svg { transition: transform .22s; }
.lib-more a:hover svg { transform: translateX(3px); }

@media (max-width: 1240px) {
  .lib-grid--4 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
@media (max-width: 1024px) {
  .lib-grid--4 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 760px) {
  .libpage .sec-head h1.lib-h1 { font-size: 26px; }
  .lib-grid--4 { grid-template-columns: 1fr; }
  .lib-grid--4 .lib-card .lc { display: inline-flex; }
  .lib-grid--4 .lib-card .lt b { font-size: 16px; }
  .cattabs { gap: 8px; margin-bottom: 18px; }
  .cattabs a { padding: 8px 13px; font-size: 13px; }
  .pager { gap: 8px; margin-top: 26px; }
  .pager .pg { min-width: 38px; height: 38px; padding: 0 10px; font-size: 13px; }
}

body.no-affil[data-page="quark"] {
  --brand: #0d53ff; --brand-d: #0a3fd0; --brand-l: #c2d3ff; --brand-soft: #eef3ff;
  --brand-grad: linear-gradient(135deg, #3a6dff, #0a3fd0);
  --brand-strong: linear-gradient(135deg, #0a3fd0, #0732a8);
  --brand-text: #0a3fd0;
  --brand-shadow: rgba(13, 83, 255, .24);
  --hero-1: #e9effc; --hero-2: #fff; --deco: #0d53ff;
}
body.no-affil[data-page="quark"] .firstPage_container {
  background: linear-gradient(180deg, var(--hero-1), var(--hero-2) 88%);
}
body.no-affil[data-page="quark"] .hero-deco .d { color: #0d53ff; }
body[data-page="quark"] .dl-tip { max-width: 560px; }
.ov.qk-card { width: 440px; flex: 0 0 440px; }

.qk-stage { padding-top: 68px; }
.qk-stage-hd { text-align: center; max-width: 760px; margin: 0 auto 34px; }
.qk-stage-hd .kicker {
  display: inline-flex; align-items: center; gap: 8px; margin-bottom: 12px;
  font-size: 12px; font-weight: 800; letter-spacing: 1.6px; color: var(--brand-text); text-transform: uppercase;
}
.qk-stage-hd .kicker::before, .qk-stage-hd .kicker::after {
  content: ""; width: 20px; height: 2.5px; border-radius: 2px; background: var(--brand);
}
.qk-stage-hd h2 { font-size: 34px; font-weight: 700; color: #0a1227; line-height: 1.32; }
.qk-stage-hd h2 .thin { font-weight: 400; color: #93a1b8; font-size: 20px; }
.qk-stage-hd p { margin: 14px auto 0; max-width: 660px; font-size: 15px; color: #5b6a86; line-height: 1.85; }

.qk-frame {
  position: relative; padding: 18px; border-radius: 26px;
  background: linear-gradient(158deg, #d9e4fd, #edf3ff 58%, #f8fbff);
  box-shadow: 0 44px 88px rgba(11, 44, 122, .15), 0 2px 6px rgba(11, 44, 122, .05);
}
.qk-frame img {
  display: block; width: 100%; height: auto; border-radius: 16px;
  box-shadow: 0 18px 40px rgba(11, 44, 122, .12);
}
.qk-pin {
  position: absolute; display: flex; flex-direction: column; gap: 3px;
  padding: 11px 15px; border-radius: 13px; background: #fff;
  box-shadow: 0 14px 32px rgba(11, 44, 122, .16);
  transition: transform .25s ease;
}
.qk-pin b { font-size: 14px; font-weight: 700; color: #0a1227; line-height: 1.3; }
.qk-pin span { font-size: 12.5px; color: #6b7a92; line-height: 1.4; }
.qk-pin::after {
  content: ""; position: absolute; left: 15px; bottom: -5px; width: 10px; height: 10px;
  background: #fff; transform: rotate(45deg); border-radius: 2px;
}
.qk-pin--a { left: 2.5%; top: 26%; }
.qk-pin--b { right: 2.5%; top: 42%; }
.qk-pin--c { left: 5.5%; bottom: 9%; }
.qk-pin--b::after { left: auto; right: 15px; }
.qk-frame:hover .qk-pin { transform: translateY(-3px); }

.qk-bento { padding-top: 84px; }
.qk-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 18px; }
.qk-tile {
  display: flex; flex-direction: column; padding: 26px; border-radius: 22px;
  background: #fff; border: 1px solid #e9eefb;
  transition: transform .28s ease, box-shadow .28s ease, border-color .28s ease;
}
.qk-tile:hover { transform: translateY(-4px); border-color: var(--brand-l); box-shadow: 0 22px 46px rgba(11, 44, 122, .10); }
.qk-tile--wide { grid-column: span 2; flex-direction: row; align-items: center; gap: 28px; }
.qk-tile--wide .qk-shot { flex: 0 0 48%; }
.qk-tile:nth-child(2) { background: linear-gradient(180deg, #f2f6ff, #fff 62%); }
.qk-tile:nth-child(4) { background: linear-gradient(180deg, #f4f1ff, #fff 62%); }
.qk-tile:nth-child(5) { background: linear-gradient(180deg, #eefaf6, #fff 62%); }
.qk-shot { min-width: 0; }
.qk-shot img { display: block; width: 100%; height: auto; border-radius: 14px; }
.qk-tile--shot .qk-shot { margin-bottom: 20px; }
.qk-body { min-width: 0; }
.qk-tile h3 { font-size: 20px; font-weight: 700; color: #0a1227; line-height: 1.4; margin-bottom: 10px; }
.qk-tile p { font-size: 13.5px; color: #5b6a86; line-height: 1.85; }
.qk-ico {
  width: 40px; height: 40px; flex: 0 0 40px; border-radius: 15px; margin-bottom: 18px;
  display: flex; align-items: center; justify-content: center; background: var(--brand-soft);
}
.qk-ico svg { width: 26px; height: 26px; color: var(--brand); }

.qk-press {
  margin-top: 84px; padding: 66px 0 70px;
  background: linear-gradient(180deg, #f5f8ff, #eaf0ff);
}
.qk-press-in { width: 1200px; margin: 0 auto; }
.qk-press-hd { text-align: center; margin-bottom: 34px; }
.qk-press-hd .kicker {
  display: inline-block; margin-bottom: 12px;
  font-size: 12px; font-weight: 800; letter-spacing: 1.6px; color: var(--brand-text); text-transform: uppercase;
}
.qk-press-hd h2 { font-size: 30px; font-weight: 700; color: #0a1227; }
.qk-quotes { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px; }
.qk-quote {
  position: relative; margin: 0; padding: 30px 28px 24px 46px;
  border-radius: 20px; background: #fff;
  box-shadow: 0 16px 34px rgba(11, 44, 122, .07);
}
.qk-quote::before {
  content: "\201C"; position: absolute; left: 16px; top: 12px;
  font-size: 52px; line-height: 1; color: var(--brand-l); font-family: Georgia, "Times New Roman", serif;
}
.qk-quote blockquote {
  margin: 0; font-size: 16px; font-weight: 700; color: #0a1227; line-height: 1.78;
}
.qk-quote figcaption { margin-top: 14px; font-size: 13px; color: #6b7a92; }
.qk-quote figcaption::before { content: "—— "; }

.qk-steps { border-top: 1px solid #e8eefb; margin-top: 30px; }
.qk-step {
  display: grid; grid-template-columns: 96px minmax(0, 1fr) 34px; align-items: center;
  gap: 24px; padding: 26px 6px; border-bottom: 1px solid #e8eefb;
  transition: background .25s ease;
}
.qk-step:hover { background: #f7faff; }
.qk-step .no {
  font-size: 34px; font-weight: 800; line-height: 1; letter-spacing: -1px; color: var(--brand);
}
.qk-step .tx b { display: block; font-size: 18px; font-weight: 700; color: #0a1227; margin-bottom: 7px; }
.qk-step .tx span { font-size: 13.5px; color: #5b6a86; line-height: 1.75; }
.qk-step .tick {
  width: 34px; height: 34px; border-radius: 50%;
  display: flex; align-items: center; justify-content: center; background: var(--brand-soft);
}
.qk-step .tick svg { width: 16px; height: 16px; color: var(--brand); }

.qk-faq { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 36px; }
.qk-faq-col h3 {
  font-size: 12.5px; font-weight: 800; letter-spacing: 1.3px; color: var(--brand-text);
  padding-bottom: 12px; border-bottom: 2px solid var(--brand-soft); margin-bottom: 4px;
}
.qk-faq details { border-bottom: 1px solid #eef2fa; }
.qk-faq summary {
  display: flex; gap: 10px; padding: 16px 0; cursor: pointer; list-style: none;
  font-size: 15px; font-weight: 700; color: #0a1227; line-height: 1.55;
}
.qk-faq summary::-webkit-details-marker { display: none; }
.qk-faq summary::before { content: "+"; color: var(--brand); font-weight: 700; }
.qk-faq details[open] summary::before { content: "\2212"; }
.qk-faq summary:hover { color: var(--brand-text); }
.qk-faq .ans { padding: 0 0 18px 19px; font-size: 13.5px; color: #5b6a86; line-height: 1.95; }
.qk-faq .ans b { color: #0a1227; }

.qk-way {
  display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 34px;
  padding-top: 26px; border-top: 1px solid #eef2fb;
}
.qk-way .st { padding-left: 16px; border-left: 2px solid var(--brand-l); }
.qk-way .st .no { display: block; margin-bottom: 8px; font-size: 11.5px; font-weight: 800; letter-spacing: 1.5px; color: var(--brand-text); }
.qk-way .st b { display: block; margin-bottom: 7px; font-size: 15px; font-weight: 700; color: #010101; line-height: 1.5; }
.qk-way .st span { font-size: 13px; color: #5c6b7a; line-height: 1.8; }
.qk-way .st em { font-style: normal; font-weight: 700; color: var(--brand-text); }

@media (max-width: 1240px) {
  .qk-press-in { width: 100%; padding: 0 18px; }
  .qk-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .qk-tile--wide { grid-column: span 2; }
  .qk-faq { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 28px; }
  .qk-step { grid-template-columns: 72px minmax(0, 1fr) 30px; gap: 18px; }
  .qk-step .no { font-size: 28px; }
  .qk-way { grid-template-columns: 1fr; gap: 0; }
  .qk-way .st { padding: 16px 0 16px 16px; }
  .qk-way .st + .st { border-top: 1px solid #eef2fb; }
}
@media (max-width: 900px) {
  .qk-grid { grid-template-columns: 1fr; }
  .qk-tile--wide { grid-column: auto; flex-direction: column; align-items: stretch; gap: 20px; }
  .qk-tile--wide .qk-shot { flex: 0 0 auto; }
  .qk-faq { grid-template-columns: 1fr; gap: 26px; }
  .qk-quotes { grid-template-columns: 1fr; }
  .qk-pin { display: none; }
}
@media (max-width: 760px) {
  body[data-page="quark"] .ov .ov-rows dd { white-space: normal; line-height: 1.35; }
  .qk-stage { padding-top: 52px; }
  .qk-stage-hd h2 { font-size: 24px; }
  .qk-stage-hd h2 .thin { display: block; margin-top: 6px; font-size: 15px; }
  .qk-stage-hd p { font-size: 14px; }
  .qk-frame { padding: 10px; border-radius: 18px; }
  .qk-frame img { border-radius: 12px; }
  .qk-bento { padding-top: 60px; }
  .qk-tile { padding: 20px; border-radius: 18px; }
  .qk-tile h3 { font-size: 18px; }
  .qk-press { margin-top: 60px; padding: 48px 0 52px; }
  .qk-press-hd h2 { font-size: 22px; }
  .qk-quote { padding: 24px 20px 20px 40px; }
  .qk-quote blockquote { font-size: 15px; }
  .qk-step { grid-template-columns: 52px minmax(0, 1fr); gap: 14px; padding: 20px 2px; }
  .qk-step .tick { display: none; }
  .qk-step .tx b { font-size: 16px; }
}
@media (prefers-reduced-motion: reduce) {
  .qk-tile, .qk-pin, .qk-step { transition: none; }
  .qk-tile:hover, .qk-frame:hover .qk-pin { transform: none; }
}

body.no-affil[data-page="mgtv"] {
  --brand: #ff6503; --brand-d: #cf4c00; --brand-l: #ffcaa8; --brand-soft: #fff3ea;
  --brand-grad: linear-gradient(135deg, #ff8f4d, #f25c00);
  --brand-strong: linear-gradient(135deg, #f25c00, #c74a00);
  --brand-text: #b84100;
  --brand-shadow: rgba(255, 101, 3, .26);
  --hero-1: #ffeadb; --hero-2: #fff; --deco: #ff6503;
}
body.no-affil[data-page="mgtv"] .firstPage_container {
  background: linear-gradient(180deg, var(--hero-1), var(--hero-2) 88%);
}
body.no-affil[data-page="mgtv"] .hero-deco .d { color: #ff6503; }
body[data-page="mgtv"] .dl-tip { max-width: 560px; }
body[data-page="mgtv"] .ov .ov-rows dd { white-space: normal; line-height: 1.3; }
body[data-page="mgtv"] .ov .ov-rows dd.two-line { display: block; text-wrap: balance; }
.ov.mg-card { width: 440px; flex: 0 0 440px; }

.mg-screen { padding-top: 68px; }
.mg-hd { text-align: center; max-width: 780px; margin: 0 auto 38px; }
.mg-hd--left { text-align: left; margin-left: 0; margin-right: 0; }
.mg-hd .kicker {
  display: inline-block; padding: 6px 15px; margin-bottom: 14px; border-radius: 999px;
  background: var(--brand-soft); color: var(--brand-text);
  font-size: 11.5px; font-weight: 800; letter-spacing: 1.6px; text-transform: uppercase;
}
.mg-hd h2 { font-size: 34px; font-weight: 700; color: #16202e; line-height: 1.32; }
.mg-hd h2 .thin { font-weight: 400; color: #93a1b8; font-size: 20px; }
.mg-hd p { margin: 14px auto 0; max-width: 680px; font-size: 15px; color: #5b6a86; line-height: 1.85; }
.mg-hd--left p { margin-left: 0; }

.mg-stage { position: relative; width: 720px; max-width: 100%; margin: 0 auto; }
.mg-stage img {
  display: block; width: 100%; height: auto; border-radius: 14px 14px 0 0;
  -webkit-mask-image: linear-gradient(180deg, #000 78%, rgba(0, 0, 0, 0) 99%);
  mask-image: linear-gradient(180deg, #000 78%, rgba(0, 0, 0, 0) 99%);
  filter: drop-shadow(0 26px 46px rgba(186, 78, 6, .17));
}

.mg-spec {
  display: grid; grid-template-columns: repeat(4, minmax(0, 1fr));
  margin-top: 30px; border-top: 1px solid #ffeadb; border-bottom: 1px solid #ffeadb;
}
.mg-spec .c { padding: 22px 26px; border-left: 1px solid #ffeadb; }
.mg-spec .c:first-child { border-left: 0; padding-left: 2px; }
.mg-spec .k {
  display: block; margin-bottom: 9px;
  font-size: 11px; font-weight: 800; letter-spacing: 1.5px; color: #c7a08a; text-transform: uppercase;
}
.mg-spec .v { font-size: 21px; font-weight: 700; color: #16202e; letter-spacing: -.2px; }
.mg-spec .v span { display: block; margin-top: 5px; font-size: 12.5px; font-weight: 400; color: #8b97a8; letter-spacing: 0; }

.mg-split { padding-top: 84px; }
.mg-duo { display: grid; grid-template-columns: 5fr 7fr; gap: 22px; align-items: stretch; }

.mg-poster {
  position: relative; overflow: hidden; display: flex; flex-direction: column;
  padding: 40px 38px 38px; border-radius: 24px;
  background: linear-gradient(150deg, #ff9147, #f25000 60%, #cb3c00);
  box-shadow: 0 26px 58px rgba(186, 56, 0, .26);
}
.mg-poster::after {
  content: ""; position: absolute; right: -72px; top: -68px; width: 248px; height: 248px;
  border-radius: 50%; border: 34px solid rgba(255, 255, 255, .13);
}
.mg-poster .k { font-size: 11.5px; font-weight: 800; letter-spacing: 1.9px; color: rgba(255, 255, 255, .74); text-transform: uppercase; }
.mg-poster .big {
  margin: 16px 0 4px; font-size: 66px; font-weight: 800; line-height: 1;
  letter-spacing: -3px; color: #fff;
}
.mg-poster .sub { font-size: 21px; font-weight: 700; letter-spacing: 2px; color: #fff; }
.mg-poster .line { width: 44px; height: 3px; border-radius: 2px; background: rgba(255, 255, 255, .38); margin: 24px 0 18px; }
.mg-poster p { font-size: 13.5px; line-height: 1.9; color: rgba(255, 255, 255, .84); }

.mg-packs { border-top: 1px solid #eef1f5; }
.mg-packs .p {
  display: flex; align-items: center; gap: 16px;
  padding: 21px 2px; border-bottom: 1px solid #eef1f5;
  transition: background .22s ease;
}
.mg-packs .p .ic {
  width: 42px; height: 42px; flex: 0 0 42px; border-radius: 13px;
  display: flex; align-items: center; justify-content: center; background: var(--brand-soft);
}
.mg-packs .p .ic svg { width: 21px; height: 21px; color: var(--brand); }
.mg-packs .p .tx { flex: 1 1 auto; min-width: 0; }
.mg-packs .p .tx b { display: block; margin-bottom: 6px; font-size: 16px; font-weight: 700; color: #16202e; line-height: 1.4; }
.mg-packs .p .tx span { font-size: 12.5px; color: #7b8798; line-height: 1.65; }
.mg-packs .p .sz {
  flex: 0 0 auto; padding: 5px 12px; border-radius: 999px;
  border: 1px solid #ffe0cb; background: #fff7f1;
  font-size: 12.5px; font-weight: 700; color: var(--brand-text);
}

.mg-flow { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 32px; margin-top: 34px; }
.mg-flow .top { display: flex; align-items: baseline; justify-content: space-between; }
.mg-flow .no { font-size: 11.5px; font-weight: 800; letter-spacing: 1.6px; color: var(--brand); }
.mg-flow .pg { font-size: 12px; font-weight: 700; letter-spacing: .5px; color: #ccb6a6; }
.mg-flow b { display: block; margin: 15px 0 9px; font-size: 18px; font-weight: 700; color: #16202e; line-height: 1.45; }
.mg-flow p { font-size: 13.5px; color: #5b6a86; line-height: 1.8; }
.mg-flow .bar { position: relative; height: 4px; margin-top: 20px; border-radius: 3px; background: #ffeade; overflow: hidden; }
.mg-flow .bar i { position: absolute; left: 0; top: 0; height: 100%; border-radius: 3px; background: var(--brand-grad); }
.mg-flow .s:nth-child(1) .bar i { width: 34%; }
.mg-flow .s:nth-child(2) .bar i { width: 67%; }
.mg-flow .s:nth-child(3) .bar i { width: 100%; }

.mg-faq { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; }
.mg-faq details {
  padding: 0 22px; border-radius: 16px; background: #fff; border: 1px solid #ffe6d6;
  transition: border-color .22s ease, box-shadow .22s ease, background .22s ease;
}
.mg-faq details[open] {
  border-color: var(--brand-l); background: #fffaf6;
  box-shadow: 0 16px 34px rgba(196, 84, 8, .08);
}
.mg-faq summary {
  display: flex; align-items: flex-start; gap: 12px; padding: 19px 0;
  cursor: pointer; list-style: none;
  font-size: 15.5px; font-weight: 700; color: #16202e; line-height: 1.55;
}
.mg-faq summary::-webkit-details-marker { display: none; }
.mg-faq summary::before {
  content: "Q"; flex: 0 0 22px; width: 22px; height: 22px; margin-top: 1px; border-radius: 7px;
  display: flex; align-items: center; justify-content: center;
  background: var(--brand-soft); color: var(--brand-text);
  font-size: 12px; font-weight: 800; letter-spacing: 0;
  transition: background .22s ease, color .22s ease;
}
.mg-faq details[open] summary::before { background: var(--brand); color: #fff; }
.mg-faq summary::after {
  content: ""; flex: 0 0 8px; width: 8px; height: 8px; margin: 6px 0 0 auto;
  border-right: 2px solid #cbb5a6; border-bottom: 2px solid #cbb5a6;
  transform: rotate(45deg); transition: transform .22s ease, border-color .22s ease;
}
.mg-faq details[open] summary::after { transform: rotate(-135deg); border-color: var(--brand); }
.mg-faq summary:hover { color: var(--brand-text); }
.mg-faq .ans { padding: 0 0 20px 34px; font-size: 13.5px; color: #5b6a86; line-height: 1.95; }
.mg-faq .ans b { font-weight: 700; color: #16202e; }

.mg-way { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 30px; padding-top: 26px; border-top: 1px solid #f3e7de; }
.mg-way .st { padding-left: 18px; border-left: 1px dashed #ffd2b6; }
.mg-way .st .no { display: block; margin-bottom: 9px; font-size: 11.5px; font-weight: 800; letter-spacing: 1.5px; color: var(--brand-text); }
.mg-way .st b { display: block; margin-bottom: 7px; font-size: 15px; font-weight: 700; color: #010101; line-height: 1.5; }
.mg-way .st span { font-size: 13px; color: #5c6b7a; line-height: 1.8; }
.mg-way .st em { font-style: normal; font-weight: 700; color: var(--brand-text); }

@media (max-width: 1240px) {
  .mg-duo { grid-template-columns: 1fr; gap: 18px; }
  .mg-poster { padding: 34px 30px; }
  .mg-poster .big { font-size: 56px; }
  .mg-faq { grid-template-columns: 1fr; }
  .mg-flow { gap: 24px; }
  .mg-way { grid-template-columns: 1fr; gap: 0; }
  .mg-way .st { padding: 14px 0 14px 18px; }
  .mg-way .st + .st { border-top: 1px dashed #ffd2b6; }
}
@media (max-width: 900px) {
  .mg-spec { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .mg-spec .c:nth-child(3) { border-left: 0; padding-left: 2px; }
  .mg-spec .c:nth-child(n+3) { border-top: 1px solid #ffeadb; }
  .mg-stage { width: 100%; }
  .mg-flow { grid-template-columns: 1fr; }
}
@media (max-width: 760px) {
  body[data-page="mgtv"] .ov .ov-rows dd { white-space: normal; line-height: 1.3; }
  .mg-screen { padding-top: 52px; }
  .mg-split { padding-top: 60px; }
  .mg-hd { margin-bottom: 28px; }
  .mg-hd h2 { font-size: 24px; }
  .mg-hd h2 .thin { display: block; margin-top: 6px; font-size: 15px; }
  .mg-hd p { font-size: 14px; }
  .mg-stage img { border-radius: 10px 10px 0 0; }
  .mg-spec .c { padding: 16px 14px; }
  .mg-spec .v { font-size: 17px; }
  .mg-poster { padding: 26px 22px; border-radius: 20px; }
  .mg-poster .big { font-size: 50px; letter-spacing: -2px; }
  .mg-poster .sub { font-size: 17px; letter-spacing: 1px; }
  .mg-packs .p { gap: 13px; padding: 17px 2px; }
  .mg-packs .p .ic { width: 36px; height: 36px; flex-basis: 36px; border-radius: 11px; }
  .mg-packs .p .tx b { font-size: 15px; }
  .mg-packs .p .sz { display: none; }
  .mg-flow b { font-size: 16px; }
  .mg-faq details { padding: 0 16px; }
  .mg-faq summary { font-size: 15px; }
  .mg-faq .ans { padding-left: 34px; }
}
@media (prefers-reduced-motion: reduce) {
  .mg-faq details, .mg-faq summary::before, .mg-faq summary::after, .mg-packs .p { transition: none; }
}

/* 导航左上角：与 /download/ 自有产品页同一个 360 标识 */
.nav .nav-inner .nav_left .logo{display:flex;align-items:center;gap:8px;flex:none}
.nav .nav-inner .nav_left .logo img{height:22px;width:auto}
.nav .nav-inner .nav_left .logo b{font-size:15.5px;font-weight:800;color:#0f1a14;letter-spacing:-.2px;white-space:nowrap}

.dl-note{margin:10px 0 0;font-size:12.5px;line-height:1.7;color:#6b7684;max-width:520px}

body.gj-shop .nav{background:transparent;box-shadow:none}
body.gj-shop .nav .nav-inner .nav_left .logo img{height:21px;width:auto}
body.gj-shop .nav .nav-inner .nav_left .logo b{font-size:15.5px;font-weight:800;color:#0f1a14;letter-spacing:-.2px;white-space:nowrap}
body.gj-shop .nav .nav-inner .nav_left .crumb{margin-left:14px;padding-left:13px}
body.gj-shop .nav .nav-inner .navbar_right{min-width:0;gap:26px;align-items:center;justify-content:flex-end}
body.gj-shop .nav .nav-inner .navbar_right a{white-space:nowrap}
.nav .nav-inner .navbar_right a.gj-navbtn{display:inline-flex;align-items:center;justify-content:center;gap:6px;
  height:34px;padding:0 16px;border-radius:17px;border:0;line-height:34px;
  background:linear-gradient(90deg,#00ff5e 15%,#00ffe5 84%);
  font-size:13.5px;font-weight:700;color:#000;white-space:nowrap;
  box-shadow:0 8px 18px -12px rgba(0,200,88,.9);transition:transform .2s,box-shadow .2s}
.nav .nav-inner .navbar_right a.gj-navbtn:hover{transform:translateY(-1px);box-shadow:0 12px 22px -12px rgba(0,200,88,.95);color:#000}
.nav .nav-inner .navbar_right a.gj-navbtn svg{display:block;width:14px;height:14px;flex:0 0 14px;margin:0;color:#000}

.gj-hero{padding:0;background:#fff}
.gj-band{position:relative;min-height:628px;padding:236px 0 80px;
  background-image:linear-gradient(180deg,#e4f1f9 0%,#eef8fc 14%,#ffffff 40%,#f6fbfd 72%,#e8f1f4 100%)}
.gj-band::before{content:"";position:absolute;left:0;right:0;top:0;bottom:0;pointer-events:none;opacity:.9;
  background-image:url("../mgr-hero-bg.webp");background-repeat:no-repeat;
  background-size:784px 428px;background-position:center 6px;
  -webkit-mask-image:linear-gradient(90deg,rgba(0,0,0,0) 0%,#000 8%,#000 92%,rgba(0,0,0,0) 100%);
  mask-image:linear-gradient(90deg,rgba(0,0,0,0) 0%,#000 8%,#000 92%,rgba(0,0,0,0) 100%)}
.gj-band::after{content:"";position:absolute;left:0;right:0;top:0;bottom:0;pointer-events:none;
  background-image:
    linear-gradient(180deg,rgba(255,255,255,.82) 0%,rgba(255,255,255,.3) 8%,rgba(255,255,255,0) 18%),
    linear-gradient(180deg,rgba(255,255,255,0) 66%,rgba(232,241,244,.86) 92%,#e8f1f4 100%)}
.gj-hero-in{position:relative;z-index:1;width:1200px;margin:0 auto}
.gj-card{position:relative;overflow:hidden;width:100%;padding:50px 46px 46px;border-radius:18px;
  background:#fff;border:1px solid rgba(228,239,243,.95);
  box-shadow:0 30px 64px -38px rgba(9,52,36,.42),0 2px 6px rgba(9,52,36,.04)}
.gj-card::before{content:"";position:absolute;left:0;right:0;top:0;height:100%;pointer-events:none;opacity:.95;
  background-image:url("../mgr-hero-bg.webp");background-repeat:no-repeat;
  background-size:784px auto;background-position:center -230px;
  -webkit-mask-image:linear-gradient(180deg,#000 0%,rgba(0,0,0,.92) 46%,rgba(0,0,0,.5) 80%,rgba(0,0,0,.12) 100%);
  mask-image:linear-gradient(180deg,#000 0%,rgba(0,0,0,.92) 46%,rgba(0,0,0,.5) 80%,rgba(0,0,0,.12) 100%)}
.gj-card::after{content:"";position:absolute;inset:0;pointer-events:none;
  background-image:linear-gradient(180deg,rgba(255,255,255,.42) 0%,rgba(255,255,255,.5) 46%,
    rgba(255,255,255,.72) 80%,rgba(255,255,255,.88) 100%)}
.gj-card>*{position:relative;z-index:1}
.gj-card-top{display:flex;align-items:center;justify-content:space-between;gap:36px}
.gj-id{display:flex;align-items:center;gap:20px;min-width:0}
.gj-name{min-width:0}
.gj-ico{flex:0 0 84px;width:84px;height:84px}
.gj-ico img{width:84px;height:84px;object-fit:contain;border-radius:18px;box-shadow:0 12px 26px -14px rgba(10,58,40,.4)}
.gj-name h1{font-size:34px;font-weight:800;color:#0f1a14;line-height:1.22;letter-spacing:-.5px}
.gj-sub{margin-top:8px;font-size:14.5px;color:#4a5666;line-height:1.7}
.gj-cta{position:relative;flex:0 0 auto;display:flex;align-items:center}
.gj-cta .dl-note{position:absolute;top:calc(100% + 10px);right:0;margin:0;max-width:none;white-space:nowrap;
  text-align:right;font-size:12px;line-height:1.6;color:#6b7684}
.gj-cta .dl-btn{width:238px;height:58px;font-size:19px}
.gj-attr{display:flex;flex-wrap:wrap;align-items:flex-start;justify-content:space-between;gap:24px 32px;
  margin-top:40px;padding-top:36px;border-top:1px solid #eef3f6}
.gj-attr .a{display:flex;align-items:center;gap:12px;min-width:0}
.gj-attr .aic{flex:0 0 38px;width:38px;height:38px;border-radius:11px;display:flex;align-items:center;justify-content:center;
  background:linear-gradient(155deg,#f4fcf7 0%,#e9f2fd 100%);
  border:1px solid #e2eff2;box-shadow:0 8px 18px -12px rgba(11,143,55,.6),inset 0 1px 0 #fff}
.gj-attr .aic svg{width:19px;height:19px;color:#0b8f37;stroke-width:1.8}
.gj-attr .atx{min-width:0}
.gj-attr .k{display:block;font-size:12px;color:#6b7684;line-height:1.3;letter-spacing:.2px}
.gj-attr .v{display:block;margin-top:5px;font-size:16px;font-weight:800;color:#0f1a14;line-height:1.25;
  letter-spacing:-.2px;white-space:nowrap}
.gj-attr .v em{font-style:normal;margin-left:6px;padding:1px 6px;border-radius:4px;background:#eafaf1;color:#0b8f37;
  font-size:11px;font-weight:700;vertical-align:1px;white-space:nowrap}
.gj-cap{width:1200px;margin:-34px auto 0;position:relative;z-index:2}
.gj-cap .strip{background:rgba(255,255,255,.96);border-color:#d9ecdf;
  box-shadow:0 22px 44px -32px rgba(10,58,40,.5)}
@media (max-width:1239px){
  .gj-hero-in,.gj-cap{width:auto;max-width:1200px;margin-left:auto;margin-right:auto;padding-left:20px;padding-right:20px}
  .gj-card{width:100%}
  .gj-cap{margin-top:-32px}
  .gj-cap .strip{width:100%}
  .gj-card-top{gap:26px}
  .gj-attr{gap:18px 22px;margin-top:24px;padding-top:20px}
  .gj-attr .v{font-size:15px}
  .gj-band::before{background-position:center 0;opacity:.6}
}
@media (max-width:900px){
  .gj-band{padding:96px 0 60px}
  .gj-card{padding:24px 22px 22px}
  .gj-card-top{flex-direction:column;align-items:flex-start;gap:20px}
  .gj-cta{position:static;width:100%;flex-direction:column;align-items:stretch;gap:10px}
  .gj-cta .dl-btn{width:100%}
  .gj-cta .dl-note{position:static;top:auto;right:auto;max-width:none;white-space:normal;text-align:left}
  .gj-attr{gap:16px 26px;margin-top:22px}
  .gj-attr .v{font-size:15.5px}
  .gj-cap{margin-top:-28px}
}
@media (max-width:640px){
  .gj-attr{flex-direction:column;gap:13px}
  .gj-attr .v{white-space:normal}
}
@media (max-width:520px){
  .gj-id{gap:14px}
  .gj-ico{flex:0 0 68px;width:68px;height:68px}
  .gj-ico img{width:68px;height:68px}
  .gj-name h1{font-size:25px}
  .gj-cap{margin-top:-22px}
}
@media (max-width:820px){
  body.gj-shop .nav{height:auto;padding:10px 0}
  body.gj-shop .nav .nav-inner{width:auto;flex-wrap:wrap;gap:10px;padding:0 16px}
  body.gj-shop .nav .nav-inner .navbar_right{gap:14px;flex-wrap:wrap}
  .gj-band::before{background-size:640px 349px}
}

/* ============================================================
   20261111b · 软件库页(/pcsoft/all-1/)矮版横幅
   配色与首页 hero 同一套变量（--hero-1 → --hero-2 渐变），
   只做到刚好包住「标题 + 那句描述」，高度约 190px
   ============================================================ */
.libhero {
  position: relative; overflow: hidden; margin-top: 64px;
  background: linear-gradient(180deg, var(--hero-1), var(--hero-2) 88%);
}
.libhero .lh-wrap { position: relative; z-index: 2; width: 1200px; margin: 0 auto; padding: 30px 0 34px; }
.libhero .lh-k {
  display: inline-flex; align-items: center; gap: 9px;
  font-size: 12.5px; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; color: #0a6b3c;
}
.libhero .lh-k::before {
  content: ""; width: 18px; height: 2px; border-radius: 2px;
  background: linear-gradient(90deg, var(--brand), var(--brand-d));
}
.libhero h1.lh-h1 { margin-top: 9px; font-size: 30px; line-height: 1.24; font-weight: 800; letter-spacing: -.4px; color: #010101; }
.libhero .lh-p { margin-top: 9px; max-width: 860px; font-size: 14.5px; line-height: 1.72; color: #4a5666; }
.libhero .lh-blob { position: absolute; border-radius: 50%; pointer-events: none; filter: blur(8px); }
.libhero .lh-blob.b1 {
  width: 520px; height: 520px; right: -160px; top: -290px;
  background: radial-gradient(circle, rgba(62, 208, 122, .22), rgba(62, 208, 122, 0) 66%);
}
.libhero .lh-blob.b2 {
  width: 380px; height: 380px; left: -130px; bottom: -250px;
  background: radial-gradient(circle, rgba(18, 179, 71, .14), rgba(18, 179, 71, 0) 68%);
}
.libhero .lh-tex {
  position: absolute; inset: 0; pointer-events: none; opacity: .5;
  background-image:
    linear-gradient(rgba(11, 20, 32, .05) 1px, transparent 1px),
    linear-gradient(90deg, rgba(11, 20, 32, .05) 1px, transparent 1px);
  background-size: 36px 36px;
  -webkit-mask-image: linear-gradient(180deg, rgba(0, 0, 0, .7), rgba(0, 0, 0, 0));
  mask-image: linear-gradient(180deg, rgba(0, 0, 0, .7), rgba(0, 0, 0, 0));
}
.sec.libpage--hero { padding-top: 30px; }
@media (max-width: 1240px) {
  .libhero .lh-wrap { width: 100%; padding: 26px 18px 28px; }
  .libhero h1.lh-h1 { font-size: 25px; }
  .libhero .lh-p { font-size: 13.5px; }
}
@media (max-width: 760px) {
  .libhero .lh-wrap { padding: 22px 16px 24px; }
  .libhero h1.lh-h1 { font-size: 22px; }
  .libhero .lh-k { font-size: 11.5px; letter-spacing: .08em; }
}

/* ============================================================
   20261111a · 首页「已收录软件」按使用场景分组模块
   （电脑必备 / 办公套件 / 影音娱乐 / 游戏玩家）
   ============================================================ */
.mods { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px; }
.mod {
  display: flex; flex-direction: column; min-width: 0;
  padding: 22px 22px 18px; border-radius: 16px;
  border: 1px solid #e9eef4; background: #fff;
  transition: border-color .22s, box-shadow .22s, transform .22s;
}
.mod:hover { border-color: var(--brand-l); box-shadow: 0 18px 38px -24px rgba(9, 30, 66, .38); transform: translateY(-2px); }
.mod-h { display: flex; align-items: flex-start; gap: 12px; }
.mod-ht { flex: 1; min-width: 0; }
.mod-ht h3 { font-size: 18px; font-weight: 800; color: #010101; line-height: 1.3; letter-spacing: -.2px; }
.mod-ht p { margin-top: 4px; font-size: 12.5px; color: #8a96a6; line-height: 1.6; }
.mod-n {
  flex: 0 0 auto; padding: 3px 10px; border-radius: 999px;
  font-size: 12px; font-weight: 700; color: #0a6b3c;
  background: var(--brand-soft); border: 1px solid #d9f0e2; white-space: nowrap;
}
.mod-list { margin-top: 14px; border-top: 1px dashed #eaeff5; }
.mod-list a { display: flex; align-items: center; gap: 13px; padding: 11px 2px; border-bottom: 1px dashed #f1f5f8; }
.mod-list a:last-child { border-bottom: 0; }
.mod-item-ic {
  flex: 0 0 46px; width: 46px; height: 46px; border-radius: 12px; overflow: hidden;
  background: #f6f8fb; border: 1px solid #eef2f7;
  display: flex; align-items: center; justify-content: center;
}
.mod-item-ic img { width: 32px; height: 32px; object-fit: contain; display: block; }
.mod-item-tx { flex: 1; min-width: 0; }
.mod-item-tx b { display: block; font-size: 14.5px; font-weight: 700; color: #010101; line-height: 1.4; transition: color .18s; }
.mod-item-tx span {
  display: block; margin-top: 3px; font-size: 12px; color: #7a8794; line-height: 1.5;
  white-space: nowrap; overflow: hidden; text-overflow: ellipsis;
}
.mod-go { flex: 0 0 auto; color: #c7d0da; }
.mod-go svg { width: 13px; height: 13px; display: block; transition: transform .2s; }
.mod-list a:hover .mod-item-tx b { color: #0a6b3c; }
.mod-list a:hover .mod-go { color: var(--brand); }
.mod-list a:hover .mod-go svg { transform: translateX(2px); }
.mod-more { margin-top: auto; padding-top: 14px; }
.mod-more a { display: inline-flex; align-items: center; gap: 6px; font-size: 13px; font-weight: 700; color: #0a6b3c; }
.mod-more a svg { width: 12px; height: 12px; transition: transform .2s; }
.mod-more a:hover { color: var(--brand); }
.mod-more a:hover svg { transform: translateX(2px); }
@media (max-width: 1240px) {
  .mods { grid-template-columns: minmax(0, 1fr); }
  .mod { padding: 18px 18px 16px; }
}
@media (max-width: 760px) {
  .mods { gap: 14px; }
  .mod-ht h3 { font-size: 17px; }
  .mod-item-tx span { white-space: normal; }
}

/* ============================================================
   20261111c · 二级内容页通用组件
   用于 /pcsoft/<软件>/<子页>/（版本页与教程页共用）
   ============================================================ */

/* 顶部提示条 */
.alert {
  display: flex; gap: 12px; align-items: flex-start; margin-top: 24px; padding: 16px 20px;
  border-radius: 14px; border: 1px solid #f5e6c8;
  background: linear-gradient(180deg, #fffdf6, #fff9ec);
}
.alert > svg { flex: 0 0 18px; width: 18px; height: 18px; margin-top: 2px; color: #e0a200; }
.alert .tx { font-size: 13.5px; color: #7a6231; line-height: 1.8; }
.alert .tx b { color: #8a5a00; }

/* 三张判断卡 */
.vchk { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; margin-top: 26px; }
.vchk .vc {
  padding: 22px 20px; border-radius: 16px; border: 1px solid #e9eef4; background: #fff;
  transition: border-color .2s, box-shadow .2s, transform .2s;
}
.vchk .vc:hover { border-color: var(--brand-l); box-shadow: 0 18px 36px -26px rgba(9, 30, 66, .45); transform: translateY(-2px); }
.vchk .vc .n {
  display: inline-flex; align-items: center; justify-content: center; width: 26px; height: 26px;
  border-radius: 9px; background: var(--brand-soft); color: #0a6b3c;
  font-size: 12.5px; font-weight: 800; border: 1px solid #dcf2e4;
}
.vchk .vc b { display: block; margin-top: 12px; font-size: 15.5px; font-weight: 800; color: #010101; line-height: 1.4; }
.vchk .vc span { display: block; margin-top: 6px; font-size: 13px; color: #5c6b7a; line-height: 1.72; }

/* 版本对照表 */
.vtable {
  width: 100%; border-collapse: separate; border-spacing: 0; margin-top: 26px;
  background: #fff; border: 1px solid #e6edf3; border-radius: 16px; overflow: hidden;
}
.vtable th, .vtable td {
  padding: 15px 18px; text-align: left; font-size: 14px; line-height: 1.72;
  border-bottom: 1px solid #eef3f7; vertical-align: top;
}
.vtable thead th { background: #f6fafc; font-size: 13px; font-weight: 700; color: #5c6b7a; white-space: nowrap; }
.vtable tbody tr:last-child td { border-bottom: 0; }
.vtable td:first-child { font-weight: 700; color: #010101; white-space: nowrap; }
.vtable tr.is-cur td { background: #f3fbf6; }
.vtable .badge {
  display: inline-block; margin-left: 8px; padding: 1px 8px; border-radius: 999px;
  font-size: 11.5px; font-weight: 700; background: #eafaf1; color: #0b8f37;
  border: 1px solid #d3efdd; vertical-align: 1px;
}

/* 步骤 */
.steps { display: flex; flex-direction: column; gap: 12px; margin-top: 26px; }
.steps .step {
  display: flex; gap: 16px; padding: 20px 22px; border-radius: 16px;
  border: 1px solid #e9eef4; background: #fff;
  transition: border-color .2s, box-shadow .2s;
}
.steps .step:hover { border-color: var(--brand-l); box-shadow: 0 16px 32px -26px rgba(9, 30, 66, .45); }
.steps .step .n {
  flex: 0 0 30px; width: 30px; height: 30px; border-radius: 10px;
  background: var(--brand-grad); color: #fff;
  display: flex; align-items: center; justify-content: center; font-size: 13.5px; font-weight: 800;
}
.steps .step .tx { min-width: 0; }
.steps .step .tx b { display: block; font-size: 15.5px; font-weight: 800; color: #010101; line-height: 1.45; }
.steps .step .tx span { display: block; margin-top: 6px; font-size: 13.5px; color: #5c6b7a; line-height: 1.8; }
.steps .step .tx code {
  font-family: inherit; padding: 1px 7px; border-radius: 6px;
  background: #f2f6fa; color: #0b8f37; font-weight: 700; font-size: 13px;
}

/* 风险提示 */
.tips { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; margin-top: 26px; }
.tips .tip { padding: 20px; border-radius: 16px; border: 1px solid #f5e6c8; background: linear-gradient(180deg, #fffdf6, #fff9ec); }
.tips .tip b { display: flex; align-items: center; gap: 8px; font-size: 14.5px; font-weight: 800; color: #8a5a00; }
.tips .tip b svg { width: 16px; height: 16px; flex: 0 0 16px; color: #e0a200; }
.tips .tip span { display: block; margin-top: 8px; font-size: 13px; color: #7a6231; line-height: 1.75; }

/* FAQ 白卡（配合 .qa 使用） */
.qbox { margin-top: 26px; padding: 6px 28px; border-radius: 18px; border: 1px solid #e6edf3; background: #fff; }

/* 同簇页面链接 */
.chips { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 18px; }
.chips a {
  display: inline-flex; align-items: center; gap: 6px; padding: 9px 15px; border-radius: 10px;
  border: 1px solid #e6ecf3; background: #fff; font-size: 13.5px; font-weight: 700; color: #4a5666;
  transition: border-color .2s, background .2s, color .2s;
}
.chips a:hover { border-color: var(--brand-l); background: var(--brand-soft); color: #0a6b3c; }
.chips a.is-on { background: var(--brand-grad); border-color: transparent; color: #fff; }

@media (max-width: 1240px) {
  .vchk, .tips { grid-template-columns: 1fr; }
}
@media (max-width: 760px) {
  .vtable th, .vtable td { padding: 12px 14px; font-size: 13.5px; }
  .qbox { padding: 4px 18px; }
  .steps .step { padding: 16px 16px; gap: 12px; }
}

/* ============================================================
   20261111d · 教程／内容页短横幅（只有标题 + 一行小字）
   ============================================================ */
.tp-hero{padding:96px 0 26px;background:linear-gradient(180deg,#eef4f8,#f8fbfd 72%,#fff);
  border-bottom:1px solid #eef2f5}
.tp-in{width:1200px;margin:0 auto}
.tp-hero h1{font-size:29px;font-weight:800;color:#0f1a14;line-height:1.32;letter-spacing:-.3px}
.tp-hero p{margin-top:9px;font-size:14px;line-height:1.75;color:#63727e;max-width:880px}
@media (max-width:1240px){
  .tp-in{width:100%;padding:0 18px}
  .tp-hero{padding:86px 0 22px}
  .tp-hero h1{font-size:23px}
  .tp-hero p{font-size:13.5px}
}
/* ============================================================
   20261111e · 顶部导航下拉（参考腾讯软件中心「分类」样式）
   ============================================================ */
.navi { position: relative; }

.navi .chev { width: 9px; height: 9px; flex: 0 0 9px; stroke: currentColor; fill: none;
  stroke-width: 2.8; transition: transform .2s; }
.navi:hover .chev, .navi:focus-within .chev { transform: rotate(180deg); }
.navi-drop { position: absolute; top: 100%; left: 50%; transform: translateX(-50%);
  padding-top: 16px; opacity: 0; visibility: hidden; z-index: 99999;
  transition: opacity .18s, visibility .18s; }
.navi:hover .navi-drop, .navi:focus-within .navi-drop { opacity: 1; visibility: visible; }
.navi-in { background: #fff; border: 1px solid #e7edf2; border-radius: 14px; padding: 16px 16px 14px;
  box-shadow: 0 26px 52px -30px rgba(9, 40, 30, .5), 0 2px 8px rgba(9, 40, 30, .04); }
.navi-h { margin-bottom: 10px; font-size: 12px; font-weight: 700; color: #8b9a92; letter-spacing: .04em; }
.navi-grid { display: grid; gap: 2px 4px; }
.navi-grid--prod { grid-template-columns: repeat(4, 132px); }
.navi-grid--cat { grid-template-columns: repeat(3, 124px); }
/* 覆盖 .navbar_right a 的 display:block，保证图标与文字同一行 */
.nav .nav-inner .navbar_right .navi > a { display: inline-flex; align-items: center; gap: 5px; }
.nav .nav-inner .navbar_right .navi-grid a { display: flex; align-items: center; gap: 8px;
  padding: 7px 8px; border-radius: 8px; font-size: 13.5px; line-height: 1.35; color: #3a4750;
  white-space: nowrap; overflow: hidden; transition: background .16s, color .16s; }
.nav .nav-inner .navbar_right .navi-grid a:hover { background: var(--brand-soft); color: #0a6b3c; }
.nav .nav-inner .navbar_right .navi-grid--prod img { width: 18px; height: 18px; flex: 0 0 18px; object-fit: contain; }
.nav .nav-inner .navbar_right .navi-grid--cat .navi-ic { flex: 0 0 18px; width: 18px; height: 18px;
  display: flex; align-items: center; justify-content: center; color: #5c6b7a; }
.nav .nav-inner .navbar_right .navi-grid--cat .navi-ic svg { width: 16px; height: 16px; display: block; }
.nav .nav-inner .navbar_right .navi-grid--cat a:hover .navi-ic { color: #0a6b3c; }


.faq-360{width:1200px;max-width:calc(100% - 40px);margin:0 auto;padding:84px 0 20px}
.faq-360 .faq-hd{margin-bottom:24px}
.faq-360 .faq-hd h2{font-size:34px;font-weight:800;color:#0f1a14;line-height:1.3;letter-spacing:-.3px}
.faq-360 .faq-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;align-items:start}
.faq-360 details{border:1px solid #e6f1ea;border-radius:14px;background:#fff;padding:0 20px;
  transition:border-color .2s,box-shadow .2s,background .2s}
.faq-360 details:hover{border-color:#9fe3b8}
.faq-360 details[open]{border-color:#9fe3b8;background:#fbfefc;box-shadow:0 16px 34px -28px rgba(11,143,55,.6)}
.faq-360 summary{display:flex;align-items:flex-start;gap:10px;padding:18px 0;cursor:pointer;
  list-style:none;font-size:15.5px;font-weight:700;color:#0f1a14;line-height:1.55}
.faq-360 summary::-webkit-details-marker{display:none}
.faq-360 summary::after{content:"+";margin-left:auto;color:#0b8f37;font-size:19px;font-weight:600;line-height:1.2}
.faq-360 details[open] summary::after{content:"−"}
.faq-360 .faq-a{padding:0 0 18px;font-size:13.5px;color:#4a5666;line-height:1.9}
@media (max-width:900px){
  .faq-360{padding:60px 0 16px}
  .faq-360 .faq-hd h2{font-size:24px}
  .faq-360 .faq-list{grid-template-columns:1fr}
}

/* ============================================================
   20261112a · 软件库页（/pcsoft/all-1/）分类横幅与卡片版式
   横幅加高到约 250px，标题与分类标签都落在渐变里；右侧叠一层详情页
   同款图标背景图（只露图标区，往左淡出）。卡片电脑端一行 3 个，
   图标块 66px、图标 48px，留白与投影同步放大
   ============================================================ */
.libhero {
  background-image:
    linear-gradient(180deg, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, .16) 38%,
      rgba(255, 255, 255, .58) 68%, rgba(255, 255, 255, .92) 88%, #fff 100%),
    linear-gradient(180deg, #a9c8d6 0%, #c3dbe2 42%, #e4f0f4 76%, #f6fbfc 100%);
}
.libhero .lh-wrap { padding: 54px 0 40px; }
.libhero h1.lh-h1 { font-size: 34px; letter-spacing: -.6px; }
.libhero .lh-tex { opacity: .34; }
.libhero .lh-blob { opacity: .68; }
.libhero::after {
  content: ""; position: absolute; z-index: 1; pointer-events: none;
  right: -26px; top: 4px; width: 640px; height: 236px;
  background-image: url("../mgr-hero-bg.webp");
  background-repeat: no-repeat;
  background-size: 700px 382px;
  background-position: right 0 top 0;
  opacity: .84;
  filter: saturate(.9);
  -webkit-mask-image: linear-gradient(90deg, rgba(0, 0, 0, 0) 0%, rgba(0, 0, 0, .5) 26%, #000 52%, #000 100%);
  mask-image: linear-gradient(90deg, rgba(0, 0, 0, 0) 0%, rgba(0, 0, 0, .5) 26%, #000 52%, #000 100%);
}
.libhero .cattabs { position: relative; z-index: 2; gap: 10px; margin: 26px 0 0; }
.libhero .cattabs a {
  padding: 10px 18px; border-radius: 12px; font-size: 14px;
  box-shadow: 0 8px 18px -16px rgba(9, 30, 66, .55);
}
.libhero .cattabs a .n { margin-left: 7px; font-size: 12.5px; }
@media (min-width: 1241px) {
  .libpage .lib-grid--4 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
.libpage .lib-grid--4 { gap: 20px; }
.libpage .lib-grid--4 .lib-card {
  align-items: flex-start; padding: 24px 22px; gap: 16px; border-radius: 18px;
  border-color: #e8eef5;
  box-shadow: 0 1px 2px rgba(9, 30, 66, .04), 0 18px 32px -28px rgba(9, 30, 66, .34);
}
.libpage .lib-grid--4 .lib-card:hover {
  border-color: var(--brand-l);
  box-shadow: 0 22px 38px -24px var(--brand-shadow);
}
.libpage .lib-grid--4 .lib-card .li {
  width: 66px; height: 66px; flex: 0 0 66px; border-radius: 18px;
  background: #f6fafc; border: 1px solid #eef3f8;
}
.libpage .lib-grid--4 .lib-card .li img { width: 48px; height: 48px; }
.libpage .lib-grid--4 .lib-card .lt b { font-size: 18px; margin-bottom: 7px; letter-spacing: -.2px; }
.libpage .lib-grid--4 .lib-card .lt .d { font-size: 13px; line-height: 1.66; }
.libpage .lib-grid--4 .lib-card .lt .v { margin-top: 9px; font-size: 12.5px; }
@media (max-width: 1239px) {
  .libhero .lh-wrap { padding: 42px 18px 32px; }
  .libhero .lh-h1 { font-size: 30px; }
  .libhero::after { right: -180px; opacity: .55; }
}
@media (max-width: 1024px) {
  .libhero::after { display: none; }
  .libhero .lh-wrap { padding: 34px 18px 26px; }
  .libhero .cattabs { margin-top: 20px; }
  .libpage .lib-grid--4 .lib-card { padding: 20px 18px; gap: 14px; }
  .libpage .lib-grid--4 .lib-card .li { width: 60px; height: 60px; flex: 0 0 60px; border-radius: 16px; }
  .libpage .lib-grid--4 .lib-card .li img { width: 44px; height: 44px; }
  .libpage .lib-grid--4 .lib-card .lt b { font-size: 17px; }
}
@media (max-width: 760px) {
  .libhero .lh-wrap { padding: 28px 16px 22px; }
  .libhero .lh-h1 { font-size: 26px; }
  .libhero .cattabs { gap: 8px; margin-top: 18px; }
  .libhero .cattabs a { padding: 8px 14px; font-size: 13px; }
  .libpage .lib-grid--4 { grid-template-columns: minmax(0, 1fr); }
  .libpage .lib-grid--4 .lib-card { min-width: 0; padding: 18px 16px; gap: 14px; }
  .libpage .lib-grid--4 .lib-card .li { width: 56px; height: 56px; flex: 0 0 56px; border-radius: 15px; }
  .libpage .lib-grid--4 .lib-card .li img { width: 40px; height: 40px; }
  .libpage .lib-grid--4 .lib-card .lt b { font-size: 16.5px; }
}


/* ============================================================
   20261112f · 新增六个产品页的原创互动模块（每页一套，互不重复）
   壁纸预览台 / 分区扩容模拟器 / 桌面整理演示 / 录屏体积估算 /
   标签页工作区演示 / 数据恢复向导
   ============================================================ */
.ix { border: 1px solid #e7eff5; border-radius: 20px; background: #fff; box-shadow: 0 18px 44px -34px rgba(9, 30, 66, .35); padding: 26px 28px 28px; }
.ix-top { display: flex; align-items: flex-start; justify-content: space-between; gap: 20px; flex-wrap: wrap; }
.ix-title { font-size: 19px; font-weight: 800; color: #0f1a14; letter-spacing: -.2px; }
.ix-lead { margin-top: 8px; font-size: 13.5px; color: #5c6b7a; line-height: 1.85; max-width: 660px; }
.ix-tools { display: flex; gap: 8px; flex-wrap: wrap; }
.ix-btn { display: inline-flex; align-items: center; gap: 6px; height: 34px; padding: 0 14px; border-radius: 10px; border: 1px solid #dbe7f2; background: #fff; font-size: 13.5px; font-weight: 700; color: #3c4c5c; cursor: pointer; transition: .2s; font-family: inherit; }
.ix-btn:hover { border-color: #9fe3b8; background: #effbf3; color: #0a6b3c; }
.ix-btn.is-on { background: #0b8f37; border-color: #0b8f37; color: #fff; }
.ix-body { margin-top: 22px; }
.ix-note { margin-top: 16px; font-size: 12.5px; color: #8593a0; line-height: 1.8; }

.ix-wall { display: grid; grid-template-columns: 216px minmax(0, 1fr); gap: 22px; }
.ix-wcats { display: flex; flex-direction: column; gap: 8px; }
.ix-wcat { display: flex; align-items: center; justify-content: space-between; gap: 10px; height: 42px; padding: 0 14px; border-radius: 11px; border: 1px solid #e7eff5; font-size: 13.5px; font-weight: 700; color: #3c4c5c; cursor: pointer; background: #fff; transition: .2s; font-family: inherit; }
.ix-wcat:hover { border-color: #cfe6da; background: #f8fdfa; }
.ix-wcat.is-on { border-color: #0b8f37; background: #effbf3; color: #0a6b3c; }
.ix-wcat span { font-size: 12px; font-weight: 700; color: #8593a0; }
.ix-wcat.is-on span { color: #0b8f37; }
.ix-wshot { position: relative; border-radius: 16px; overflow: hidden; border: 1px solid #e7eff5; aspect-ratio: 16 / 9; transition: aspect-ratio .3s; background: #eef4f8; }
.ix-wshot.is-wide { aspect-ratio: 21 / 9; }
.ix-wshot .ix-wgrade { position: absolute; inset: 0; transition: background .45s; }
.ix-wmeta { position: absolute; left: 16px; bottom: 14px; display: flex; gap: 8px; align-items: center; flex-wrap: wrap; }
.ix-wmeta b { padding: 5px 10px; border-radius: 8px; background: rgba(255, 255, 255, .92); font-size: 12.5px; color: #0f1a14; font-weight: 700; }
.ix-wtags { display: flex; gap: 8px; margin-top: 14px; flex-wrap: wrap; }

.ix-disk { display: flex; flex-direction: column; gap: 16px; }
.ix-dbar { display: flex; height: 58px; border-radius: 14px; overflow: hidden; border: 1px solid #e2edf4; background: #f5f8fb; }
.ix-dseg { flex: 1 1 0; display: flex; align-items: center; justify-content: center; font-size: 13px; font-weight: 800; color: #fff; transition: flex-grow .45s ease, background .3s; min-width: 0; white-space: nowrap; overflow: hidden; }
.ix-dseg.c { background: linear-gradient(135deg, #12b347, #0b8f37); }
.ix-dseg.d { background: linear-gradient(135deg, #6aa7e8, #3f7fc4); }
.ix-dseg.f { background: #dfe8f0; color: #5c6b7a; }
.ix-dstat { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 14px; }
.ix-dstat .s { border: 1px solid #eef3f8; border-radius: 12px; padding: 12px 14px; background: #fafcfe; }
.ix-dstat .k { font-size: 12px; color: #7c8996; }
.ix-dstat .v { margin-top: 5px; font-size: 17px; font-weight: 800; color: #0f1a14; }
.ix-dstat .v em { font-style: normal; font-size: 12.5px; font-weight: 700; color: #0b8f37; margin-left: 6px; }

.ix-desk { position: relative; border-radius: 16px; border: 1px dashed #dbe7f2; background: linear-gradient(160deg, #f3f9ff, #eef7f2); padding: 16px; }
.ix-files { display: flex; flex-wrap: wrap; gap: 10px; min-height: 92px; }
.ix-file { display: inline-flex; align-items: center; gap: 7px; padding: 9px 12px; border-radius: 10px; background: #fff; border: 1px solid #e7eff5; font-size: 12.5px; color: #3c4c5c; transition: .3s; }
.ix-file .e { width: 22px; height: 22px; border-radius: 6px; display: flex; align-items: center; justify-content: center; font-size: 10px; font-weight: 800; color: #fff; background: #8aa0b4; }
.ix-file[data-t="doc"] .e { background: #3f7fc4; }
.ix-file[data-t="img"] .e { background: #12b347; }
.ix-file[data-t="zip"] .e { background: #d98b1f; }
.ix-file.is-hide { display: none; }
.ix-boxes { margin-top: 14px; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; opacity: 0; max-height: 0; overflow: hidden; transition: .4s; }
.ix.is-sorted .ix-boxes { opacity: 1; max-height: 260px; }
.ix.is-sorted .ix-file { display: none; }
.ix-box { border: 1px solid #dcefe4; border-radius: 12px; background: #f7fdfa; padding: 12px; }
.ix-box b { font-size: 13px; color: #0a6b3c; }
.ix-box p { margin-top: 6px; font-size: 12px; color: #5c6b7a; line-height: 1.7; }
.ix-search { display: flex; align-items: center; gap: 8px; margin-top: 16px; }
.ix-input { height: 36px; padding: 0 12px; border-radius: 10px; border: 1px solid #dbe7f2; font-size: 13.5px; font-family: inherit; color: #0f1a14; flex: 1; min-width: 0; background: #fff; }
.ix-input:focus { outline: 2px solid #cdeedb; outline-offset: 1px; }

.ix-rec { display: grid; grid-template-columns: minmax(0, 1fr) 300px; gap: 24px; }
.ix-row { display: flex; align-items: center; justify-content: space-between; gap: 16px; padding: 13px 0; border-bottom: 1px solid #eef3f8; flex-wrap: wrap; }
.ix-row:last-child { border-bottom: 0; }
.ix-row .rk { font-size: 13.5px; font-weight: 700; color: #3c4c5c; }
.ix-out { border-radius: 16px; background: linear-gradient(160deg, #f2fbf5, #eef7ff); border: 1px solid #e3f0ea; padding: 20px; align-self: start; }
.ix-out .k { font-size: 12.5px; color: #6b7684; }
.ix-out .v { margin-top: 6px; font-size: 26px; font-weight: 800; color: #0b8f37; letter-spacing: -.5px; }
.ix-out .v small { font-size: 13px; font-weight: 700; color: #5c6b7a; margin-left: 4px; }
.ix-out .sub { margin-top: 14px; padding-top: 14px; border-top: 1px solid #dfeee6; font-size: 12.5px; color: #5c6b7a; line-height: 1.85; }

.ix-fm { display: grid; grid-template-columns: 200px minmax(0, 1fr); border: 1px solid #e7eff5; border-radius: 16px; overflow: hidden; }
.ix-fmtabs { border-right: 1px solid #eef3f8; background: #fafcfe; }
.ix-fmtab { display: flex; align-items: center; gap: 8px; padding: 12px 14px; font-size: 13px; font-weight: 700; color: #3c4c5c; cursor: pointer; border-left: 3px solid transparent; background: transparent; width: 100%; text-align: left; font-family: inherit; transition: .2s; }
.ix-fmtab:hover { color: #0a6b3c; }
.ix-fmtab.is-on { background: #fff; border-left-color: #0b8f37; color: #0a6b3c; }
.ix-fmlist { padding: 8px 6px; min-height: 214px; }
.ix-fmfile { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 9px 12px; border-radius: 9px; font-size: 13px; color: #3c4c5c; }
.ix-fmfile:hover { background: #f6fafd; }
.ix-fmfile .fs { font-size: 12px; color: #8593a0; white-space: nowrap; }
.ix-fmsplit { display: grid; grid-template-columns: 1fr 1fr; gap: 1px; background: #eef3f8; }
.ix-fm.is-split .ix-fmlist { background: #fff; }

.ix-steps { display: flex; gap: 8px; flex-wrap: wrap; }
.ix-step { display: flex; align-items: center; gap: 8px; padding: 9px 14px; border-radius: 11px; border: 1px solid #e7eff5; font-size: 13px; font-weight: 700; color: #8593a0; background: #fff; font-family: inherit; cursor: pointer; transition: .2s; }
.ix-step.is-on { border-color: #0b8f37; color: #0a6b3c; background: #effbf3; }
.ix-step.is-done { border-color: #cdeedb; color: #0b8f37; }
.ix-pane { margin-top: 18px; border: 1px solid #eef3f8; border-radius: 14px; padding: 18px; background: #fafcfe; min-height: 196px; }
.ix-pane h4 { font-size: 14px; font-weight: 800; color: #0f1a14; }
.ix-pane p { margin-top: 8px; font-size: 13px; color: #5c6b7a; line-height: 1.85; }
.ix-prog { height: 10px; border-radius: 6px; background: #e6eef6; overflow: hidden; margin-top: 14px; }
.ix-prog i { display: block; height: 100%; width: 0; background: linear-gradient(90deg, #12b347, #0b8f37); transition: width .25s; }
.ix-files2 { display: flex; flex-direction: column; gap: 8px; margin-top: 12px; }
.ix-f2 { display: flex; align-items: center; gap: 10px; padding: 10px 12px; border-radius: 10px; border: 1px solid #e7eff5; background: #fff; font-size: 13px; cursor: pointer; }
.ix-f2:hover { border-color: #cfe6da; }
.ix-f2 input { width: 15px; height: 15px; accent-color: #0b8f37; }
.ix-f2 span { flex: 1; min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; color: #3c4c5c; }
.ix-f2 .sz { color: #8593a0; font-size: 12px; white-space: nowrap; }
.ix-sum { margin-top: 14px; font-size: 13px; color: #3c4c5c; }
.ix-sum b { color: #0b8f37; }
@media (max-width: 1024px) {
  .ix { padding: 20px 18px 22px; }
  .ix-wall, .ix-rec, .ix-fm, .ix-dstat, .ix-boxes { grid-template-columns: 1fr; }
  .ix-fmtabs { border-right: 0; border-bottom: 1px solid #eef3f8; display: flex; overflow-x: auto; }
  .ix-fmtab { border-left: 0; border-bottom: 3px solid transparent; white-space: nowrap; width: auto; }
  .ix-fmtab.is-on { border-left: 0; border-bottom-color: #0b8f37; }
  .ix-fmlist { min-height: 0; }
  .ix-fmsplit { grid-template-columns: 1fr; }
}


/* ============================================================
   20261112h · 软件简介模块（原创文案，单卡版）
   放在横幅与四格条带之后：一段正式简介 + 一行版本信息，不设规格表
   ============================================================ */
.sb { border: 1px solid #e9eff5; border-radius: 18px; background: #fff; padding: 26px 32px 28px; box-shadow: 0 18px 44px -40px rgba(9, 30, 66, .28); }
.sb p { font-size: 14.5px; color: #3f4d5c; line-height: 1.95; }
.sb p + p { margin-top: 12px; }
.sb p b { font-weight: 700; color: #0f1a14; }
@media (max-width: 760px) {
  .sb { padding: 20px 18px 22px; }
  .sb p { font-size: 14px; line-height: 1.9; }
}


/* ============================================================
   20261113n · 首页「已收录软件」模块重新设计
   四大品类卡片 + 两列大图标瓷砖，图标 56px、白色瓷砖悬浮感
   ============================================================ */
.firstPage_container + .sec .mods,
.sec .mods { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 22px; }
.sec .mods .mod {
  padding: 26px 26px 20px; border-radius: 22px;
  background: linear-gradient(180deg, #ffffff 0%, #fbfdff 100%);
  border: 1px solid #e8eef5;
  box-shadow: 0 24px 54px -44px rgba(9, 30, 66, .42);
  transition: border-color .24s, box-shadow .24s, transform .24s;
}
.sec .mods .mod:hover { border-color: #b6eccd; transform: translateY(-3px); box-shadow: 0 30px 60px -40px rgba(11, 143, 55, .38); }
.sec .mods .mod-h { display: flex; align-items: flex-start; gap: 14px; }
.sec .mods .mod-ht h3 { font-size: 19px; font-weight: 800; color: #0f1a14; letter-spacing: -.3px; }
.sec .mods .mod-ht p { margin-top: 7px; font-size: 12.5px; color: #7c8996; line-height: 1.7; }
.sec .mods .mod-n {
  flex: 0 0 auto; padding: 5px 12px; border-radius: 999px; font-size: 12px; font-weight: 700;
  color: #0b8f37; background: #eafaf1; border: 1px solid #cdeedb;
}
.sec .mods .mod-list {
  margin-top: 18px; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px;
}
.sec .mods .mod-list a {
  display: flex; align-items: center; gap: 14px; padding: 14px;
  border-radius: 15px; border: 1px solid #eef3f8; background: #fff; transition: .22s; min-width: 0;
}
.sec .mods .mod-list a:hover { border-color: #b6eccd; background: #fbfefc; box-shadow: 0 16px 30px -26px rgba(11, 143, 55, .45); }
.sec .mods .mod-item-ic {
  flex: 0 0 56px; width: 56px; height: 56px; border-radius: 16px;
  background: #f6fafd; border: 1px solid #eef3f8;
  display: flex; align-items: center; justify-content: center;
}
.sec .mods .mod-item-ic img { width: 40px; height: 40px; object-fit: contain; }
.sec .mods .mod-item-tx { min-width: 0; }
.sec .mods .mod-item-tx b { font-size: 15px; font-weight: 800; color: #0f1a14; line-height: 1.35; }
.sec .mods .mod-item-tx span { margin-top: 4px; font-size: 12.5px; color: #6b7a86; line-height: 1.55; }
.sec .mods .mod-go { display: none; }
.sec .mods .mod-more { margin-top: 16px; padding-top: 14px; border-top: 1px solid #f1f5f9; }
.sec .mods .mod-more a { font-size: 13px; font-weight: 700; color: #0b8f37; }
@media (max-width: 1024px) {
  .sec .mods { grid-template-columns: 1fr; }
}
@media (max-width: 760px) {
  .sec .mods .mod { padding: 20px 18px 16px; }
  .sec .mods .mod-list { grid-template-columns: 1fr; }
  .sec .mods .mod-list a { padding: 12px; }
  .sec .mods .mod-item-ic { flex: 0 0 48px; width: 48px; height: 48px; border-radius: 14px; }
  .sec .mods .mod-item-ic img { width: 34px; height: 34px; }
}


/* 20261113p · 首页横幅信息点列表（三条，逐条带勾选点） */
.firstPage_container.home-hero .left_content .features {
  display: flex; flex-direction: column; gap: 8px; margin-top: 18px; margin-bottom: 16px;
}
.firstPage_container.home-hero .left_content .features li {
  position: relative; padding-left: 0; font-size: 14.5px; font-weight: 600; color: #3f4d5c; line-height: 1.65;
}
.firstPage_container.home-hero .left_content .features li::before { content: none; }
.firstPage_container.home-hero .left_content .title { font-size: 40px; }
@media (max-width: 760px) {
  .firstPage_container.home-hero .left_content .title { font-size: 28px; }
  .firstPage_container.home-hero .left_content .features li { font-size: 13.5px; }
}


/* ============================================================
   20261113s · 首页右侧可交互软件图标云
   鼠标悬停高亮放大，点击进入对应软件详情页；位置按百分比云状分布
   ============================================================ */
.firstPage_container.home-hero .middle_content { position: relative; }
.hero-icons {
  position: absolute; right: 40px; top: 50%; transform: translateY(-50%);
  width: 640px; height: 430px; z-index: 2; pointer-events: auto;
}
.hero-icons .hi {
  position: absolute; width: 58px; height: 58px; border-radius: 16px;
  background: #fff; border: 1px solid #e6eff6;
  box-shadow: 0 14px 30px -22px rgba(9, 52, 90, .45);
  display: flex; align-items: center; justify-content: center;
  transition: transform .22s ease, box-shadow .22s ease, border-color .22s ease, background .22s ease;
}
.hero-icons .hi span { display: flex; align-items: center; justify-content: center; width: 100%; height: 100%; }
.hero-icons .hi img { width: 38px; height: 38px; object-fit: contain; filter: saturate(.92); transition: filter .22s ease; }
.hero-icons .hi b {
  position: absolute; left: 50%; bottom: -26px; transform: translateX(-50%);
  padding: 3px 9px; border-radius: 7px; white-space: nowrap;
  background: #0f1a14; color: #fff; font-size: 11.5px; font-weight: 600;
  opacity: 0; pointer-events: none; transition: opacity .2s ease, bottom .2s ease;
}
.hero-icons .hi:hover, .hero-icons .hi:focus-visible {
  transform: translateY(-4px) scale(1.12); z-index: 3;
  border-color: #9fe3b8; background: #fbfffc;
  box-shadow: 0 22px 40px -18px rgba(11, 143, 55, .55);
}
.hero-icons .hi:hover img, .hero-icons .hi:focus-visible img { filter: saturate(1.15) brightness(1.04); }
.hero-icons .hi:hover b, .hero-icons .hi:focus-visible b { opacity: 1; bottom: -28px; }
.hero-icons .hi:nth-child(1) { left: 6%; top: 30%; }
.hero-icons .hi:nth-child(2) { left: 17%; top: 12%; }
.hero-icons .hi:nth-child(3) { left: 30%; top: 26%; }
.hero-icons .hi:nth-child(4) { left: 42%; top: 8%; }
.hero-icons .hi:nth-child(5) { left: 54%; top: 22%; }
.hero-icons .hi:nth-child(6) { left: 10%; top: 55%; }
.hero-icons .hi:nth-child(7) { left: 24%; top: 46%; }
.hero-icons .hi:nth-child(8) { left: 37%; top: 60%; }
.hero-icons .hi:nth-child(9) { left: 50%; top: 44%; }
.hero-icons .hi:nth-child(10) { left: 63%; top: 55%; }
.hero-icons .hi:nth-child(11) { left: 17%; top: 78%; }
.hero-icons .hi:nth-child(12) { left: 31%; top: 84%; }
.hero-icons .hi:nth-child(13) { left: 45%; top: 76%; }
.hero-icons .hi:nth-child(14) { left: 58%; top: 82%; }
.hero-icons .hi:nth-child(15) { left: 72%; top: 70%; }
.hero-icons .hi:nth-child(16) { left: 68%; top: 34%; }
.hero-icons .hi:nth-child(17) { left: 79%; top: 46%; }
.hero-icons .hi:nth-child(18) { left: 86%; top: 22%; }
.hero-icons .hi:nth-child(19) { left: 74%; top: 14%; }
.hero-icons .hi:nth-child(20) { left: 90%; top: 60%; }
@media (max-width: 1239px) {
  .hero-icons { width: 520px; height: 360px; right: 0; }
  .hero-icons .hi { width: 50px; height: 50px; border-radius: 14px; }
  .hero-icons .hi img { width: 32px; height: 32px; }
}
@media (max-width: 1024px) {
  .hero-icons { position: static; transform: none; width: 100%; height: auto; display: flex; flex-wrap: wrap; gap: 12px; margin-top: 20px; }
  .hero-icons .hi { position: static; }
  .hero-icons .hi b { display: none; }
}

/* ============================================================
   20261113u · 首页横幅右侧恢复静态背景图（不做悬停高亮）
   ============================================================ */
.firstPage_container.home-hero { position: relative; }
.firstPage_container.home-hero::after {
  content: ""; position: absolute; right: 86px; top: 50%; transform: translateY(-50%);
  width: 780px; height: 426px; z-index: 0; pointer-events: none;
  background-image: url("../mgr-hero-bg.webp");
  background-repeat: no-repeat;
  background-size: 780px 426px;
  background-position: right center;
  opacity: 1;
  filter: saturate(1.12) contrast(1.06);
  -webkit-mask-image: linear-gradient(90deg, rgba(0, 0, 0, 0) 0%, rgba(0, 0, 0, .9) 11%, #000 24%, #000 100%);
  mask-image: linear-gradient(90deg, rgba(0, 0, 0, 0) 0%, rgba(0, 0, 0, .9) 11%, #000 24%, #000 100%);
}
.firstPage_container.home-hero .container { position: relative; z-index: 1; }
@media (max-width: 1239px) {
  .firstPage_container.home-hero::after { width: 520px; height: 284px; background-size: 520px 284px; right: 0; opacity: .9; }
}
@media (max-width: 900px) {
  .firstPage_container.home-hero::after { display: none; }
}


/* ============================================================
   20261114b · 爱奇艺页专属互动模块（清晰度码率对照台 / 追剧时间轴）
   ============================================================ */
.iq { border: 1px solid #e9eff5; border-radius: 20px; background: #fff; padding: 26px 28px; box-shadow: 0 20px 46px -38px rgba(9, 30, 66, .3); }
.iq-top { display: flex; align-items: center; justify-content: space-between; gap: 20px; flex-wrap: wrap; }
.iq-tabs { display: flex; gap: 10px; flex-wrap: wrap; }
.iq-tab { height: 42px; padding: 0 20px; border-radius: 12px; border: 1px solid #e2edf4; background: #fff; font-size: 14px; font-weight: 700; color: #3c4c5c; cursor: pointer; font-family: inherit; transition: .2s; }
.iq-tab:hover { border-color: #0aa14a; color: #0a7a38; }
.iq-tab.is-on { background: linear-gradient(135deg, #2fd66a, #0aa14a); border-color: transparent; color: #fff; box-shadow: 0 14px 26px -16px rgba(10, 161, 74, .8); }
.iq-live { font-size: 12.5px; color: #7c8996; text-align: right; }
.iq-live b { display: block; font-size: 17px; font-weight: 800; color: #0f1a14; }
.iq-grid { margin-top: 22px; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 14px; }
.iq-c { border: 1px solid #eef3f8; border-radius: 14px; padding: 16px 18px; background: #fafcfe; }
.iq-c .k { display: block; font-size: 12.5px; color: #7c8996; }
.iq-c .v { display: block; margin-top: 8px; font-size: 22px; font-weight: 800; color: #0f1a14; letter-spacing: -.5px; }
.iq-c .v b { color: #0aa14a; }
.iq-note { margin-top: 16px; font-size: 12.5px; color: #6b7684; line-height: 1.85; }
.iq2 { border: 1px solid #e9eff5; border-radius: 20px; background: #fff; padding: 26px 28px; box-shadow: 0 20px 46px -38px rgba(9, 30, 66, .3); }
.iq2-top { display: flex; gap: 10px; }
.iq2-btn { height: 38px; padding: 0 18px; border-radius: 10px; border: 1px solid #e2edf4; background: #fff; font-size: 13.5px; font-weight: 700; color: #3c4c5c; cursor: pointer; font-family: inherit; transition: .2s; }
.iq2-btn.is-on { background: #0aa14a; border-color: #0aa14a; color: #fff; }
.iq2-line { position: relative; margin-top: 26px; display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 12px; }
.iq2-line::before { content: ""; position: absolute; left: 4%; right: 4%; top: 22px; height: 2px; background: #e8eff5; }
.iq2-dot { position: relative; z-index: 1; display: flex; flex-direction: column; align-items: center; gap: 8px; padding-top: 12px; }
.iq2-dot::before { content: ""; width: 18px; height: 18px; border-radius: 50%; background: #fff; border: 2px solid #d7e3ec; }
.iq2-dot.is-open::before { background: #0aa14a; border-color: #0aa14a; box-shadow: 0 0 0 5px rgba(10, 161, 74, .12); }
.iq2-dot b { font-size: 13.5px; font-weight: 800; color: #0f1a14; }
.iq2-dot span { font-size: 12px; color: #7c8996; }
.iq2-dot.is-open span { color: #0a7a38; font-weight: 700; }
.iq2-dot.is-wait { opacity: .55; }
@media (max-width: 900px) {
  .iq-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .iq2-line { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .iq2-line::before { display: none; }
}


/* ============================================================
   20261114c · 剪映专业版页专属互动模块（关键帧动画台 / 字幕版式对位台）
   ============================================================ */
.jy { border: 1px solid #e9eff5; border-radius: 20px; background: #fff; padding: 26px 28px; box-shadow: 0 20px 46px -38px rgba(9, 30, 66, .3); }
.jy-wrap { display: grid; grid-template-columns: minmax(0, 1fr) 336px; gap: 24px; align-items: stretch; }
.jy-stage { position: relative; min-height: 248px; border-radius: 16px; border: 1px solid #1b232c; background: radial-gradient(120% 130% at 22% 0%, #1e2733 0%, #121820 56%, #0b0f13 100%); display: flex; align-items: center; justify-content: center; overflow: hidden; }
.jy-stage::before { content: ""; position: absolute; inset: 18px 22px; border: 1px dashed rgba(255, 255, 255, .09); border-radius: 12px; }
.jy-stage::after { content: "画布安全框"; position: absolute; left: 27px; top: 22px; font-size: 11px; letter-spacing: .8px; color: rgba(255, 255, 255, .32); }
.jy-obj { position: relative; z-index: 1; width: 112px; height: 74px; border-radius: 16px; background: linear-gradient(135deg, #2ae8aa, #05b78d); box-shadow: 0 18px 36px -18px rgba(5, 183, 141, .9); will-change: transform, opacity; }
.jy-side { display: flex; flex-direction: column; gap: 13px; }
.jy-lb { display: block; margin-bottom: 8px; font-size: 12.5px; color: #7c8996; }
.jy-lb b { color: #0f1a14; font-weight: 800; }
.jy-seg { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; }
.jy-btn { height: 38px; border-radius: 10px; border: 1px solid #e2edf4; background: #fff; font-size: 13.5px; font-weight: 700; color: #3c4c5c; cursor: pointer; font-family: inherit; transition: .2s; }
.jy-btn:hover { border-color: #0aa14a; color: #0a7a38; }
.jy-btn.is-on { border-color: transparent; background: linear-gradient(135deg, #2fd66a, #0aa14a); color: #fff; box-shadow: 0 12px 24px -16px rgba(10, 161, 74, .85); }
.jy-range { width: 100%; height: 4px; border-radius: 4px; outline: none; cursor: pointer; -webkit-appearance: none; appearance: none; background: linear-gradient(90deg, #0aa14a var(--p, 40%), #e6eef4 var(--p, 40%)); }
.jy-range::-webkit-slider-thumb { -webkit-appearance: none; width: 16px; height: 16px; border-radius: 50%; border: 3px solid #0aa14a; background: #fff; cursor: pointer; box-shadow: 0 2px 6px rgba(9, 30, 66, .22); }
.jy-range::-moz-range-thumb { width: 12px; height: 12px; border-radius: 50%; border: 3px solid #0aa14a; background: #fff; cursor: pointer; }
.jy-play { height: 44px; border: 0; border-radius: 12px; background: #0f1a14; color: #fff; font-size: 14px; font-weight: 800; cursor: pointer; font-family: inherit; transition: .2s; }
.jy-play:hover { background: #0aa14a; }
.jy-grid { margin-top: 20px; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 14px; }
.jy-c { border: 1px solid #eef3f8; border-radius: 14px; padding: 15px 18px; background: #fafcfe; }
.jy-c .k { display: block; font-size: 12.5px; color: #7c8996; }
.jy-c .v { display: block; margin-top: 7px; font-size: 19px; font-weight: 800; color: #0f1a14; letter-spacing: -.4px; }
.jy-c .v b { color: #0aa14a; }
.jy-note { margin-top: 14px; font-size: 12.5px; color: #6b7684; line-height: 1.85; }

.jy2 { border: 1px solid #e9eff5; border-radius: 20px; background: #fff; padding: 26px 28px; box-shadow: 0 20px 46px -38px rgba(9, 30, 66, .3); }
.jy2-top { display: flex; align-items: center; justify-content: space-between; gap: 16px; flex-wrap: wrap; }
.jy2-tabs { display: flex; gap: 10px; flex-wrap: wrap; }
.jy2-tab { height: 40px; padding: 0 20px; border-radius: 11px; border: 1px solid #e2edf4; background: #fff; font-size: 14px; font-weight: 700; color: #3c4c5c; cursor: pointer; font-family: inherit; transition: .2s; }
.jy2-tab:hover { border-color: #0aa14a; color: #0a7a38; }
.jy2-tab.is-on { border-color: #0f1a14; background: #0f1a14; color: #fff; }
.jy2-live { font-size: 12.5px; color: #7c8996; }
.jy2-stage { margin-top: 18px; }
.jy2-frame { position: relative; height: 302px; border-radius: 14px; overflow: hidden; background: linear-gradient(135deg, #1c242e, #0d1216 62%, #141b22); }
.jy2-frame::before { content: ""; position: absolute; inset: 0; background: radial-gradient(58% 62% at 28% 18%, rgba(42, 232, 170, .17), transparent 72%); }
.jy2-safe { position: absolute; inset: 14px; border: 1px dashed rgba(255, 255, 255, .12); border-radius: 8px; }
.jy2-cap { position: absolute; left: 0; right: 0; z-index: 1; display: flex; flex-direction: column; align-items: center; gap: 6px; padding: 0 34px; text-align: center; transition: top .28s ease, bottom .28s ease, transform .28s ease; }
.jy2-cap b { font-weight: 800; color: #fff; line-height: 1.34; letter-spacing: .4px; }
.jy2-cap i { display: none; font-style: normal; font-size: 15px; font-weight: 600; color: rgba(255, 255, 255, .7); letter-spacing: .3px; }
.jy2-cap.v-talk { bottom: 26px; }
.jy2-cap.v-talk b { font-size: 21px; text-shadow: 0 2px 10px rgba(0, 0, 0, .7); }
.jy2-cap.v-title { top: 50%; transform: translateY(-50%); }
.jy2-cap.v-title b { font-size: 33px; letter-spacing: 1.2px; text-shadow: 0 6px 22px rgba(0, 0, 0, .55); }
.jy2-cap.v-bi { bottom: 24px; }
.jy2-cap.v-bi b { font-size: 20px; text-shadow: 0 2px 10px rgba(0, 0, 0, .7); }
.jy2-cap.v-bi i { display: block; }
.jy2-grid { margin-top: 18px; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 14px; }
.jy2-c { border: 1px solid #eef3f8; border-radius: 14px; padding: 15px 18px; background: #fafcfe; }
.jy2-c .k { display: block; font-size: 12.5px; color: #7c8996; }
.jy2-c .v { display: block; margin-top: 7px; font-size: 17px; font-weight: 800; color: #0f1a14; letter-spacing: -.3px; }
@media (max-width: 1024px) {
  .jy-wrap { grid-template-columns: minmax(0, 1fr); }
  .jy-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .jy2-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 700px) {
  .jy2-cap.v-title b { font-size: 22px; }
  .jy2-cap.v-talk b, .jy2-cap.v-bi b { font-size: 16px; }
  .jy2-frame { height: 232px; }
}


/* == ARCH-MODULES-START == */
/* 20261115a · 批量新品页互动模块原型（按需注入，勿手改区块内内容） */
.sk-box { border: 1px solid #e9eff5; border-radius: 20px; background: #fff; padding: 24px 26px; box-shadow: 0 20px 46px -38px rgba(9, 30, 66, .3); }
.sk-top { display: flex; align-items: center; justify-content: space-between; gap: 18px; flex-wrap: wrap; }
.sk-score { display: flex; align-items: baseline; gap: 8px; }
.sk-score b { font-size: 34px; font-weight: 800; color: #0f1a14; letter-spacing: -1px; }
.sk-score span { font-size: 12.5px; color: #7c8996; }
.sk-bar { flex: 1 1 260px; height: 8px; border-radius: 8px; background: #eef3f8; overflow: hidden; min-width: 180px; }
.sk-bar i { display: block; height: 100%; width: 0; border-radius: 8px; background: linear-gradient(90deg, #2fd66a, #0aa14a); transition: width .35s ease; }
.sk-rows { margin-top: 18px; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
.sk-row { display: flex; align-items: center; gap: 12px; padding: 13px 15px; border: 1px solid #eef3f8; border-radius: 12px; background: #fafcfe; cursor: pointer; transition: .2s; }
.sk-row:hover { border-color: #cfe6d9; }
.sk-row.is-on { border-color: #0aa14a; background: #f2fbf6; }
.sk-tick { width: 20px; height: 20px; border-radius: 6px; border: 1.6px solid #cfdae4; background: #fff; flex: none; display: flex; align-items: center; justify-content: center; font-size: 12px; font-weight: 800; color: #fff; }
.sk-row.is-on .sk-tick { background: #0aa14a; border-color: #0aa14a; }
.sk-tx { font-size: 13.5px; font-weight: 700; color: #22313f; line-height: 1.4; }
.sk-w { margin-left: auto; font-size: 12px; color: #96a2af; font-weight: 700; }
.sk-note { margin-top: 14px; font-size: 12.5px; color: #6b7684; line-height: 1.85; }
@media (max-width: 820px) { .sk-rows { grid-template-columns: minmax(0, 1fr); } }
.sl-box { border: 1px solid #e9eff5; border-radius: 20px; background: #fff; padding: 24px 26px; box-shadow: 0 20px 46px -38px rgba(9, 30, 66, .3); }
.sl-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 20px; }
.sl-item label { display: flex; align-items: baseline; justify-content: space-between; font-size: 12.5px; color: #7c8996; margin-bottom: 10px; }
.sl-item label b { font-size: 16px; font-weight: 800; color: #0f1a14; }
.sl-item input[type=range] { width: 100%; height: 4px; border-radius: 4px; outline: none; cursor: pointer; -webkit-appearance: none; appearance: none; background: linear-gradient(90deg, #0aa14a var(--p, 40%), #e6eef4 var(--p, 40%)); }
.sl-item input[type=range]::-webkit-slider-thumb { -webkit-appearance: none; width: 16px; height: 16px; border-radius: 50%; border: 3px solid #0aa14a; background: #fff; cursor: pointer; box-shadow: 0 2px 6px rgba(9, 30, 66, .22); }
.sl-item input[type=range]::-moz-range-thumb { width: 12px; height: 12px; border-radius: 50%; border: 3px solid #0aa14a; background: #fff; cursor: pointer; }
.sl-out { margin-top: 20px; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; }
.sl-c { border: 1px solid #eef3f8; border-radius: 13px; background: #fafcfe; padding: 14px 16px; }
.sl-c span { display: block; font-size: 12.5px; color: #7c8996; }
.sl-c b { display: block; margin-top: 6px; font-size: 21px; font-weight: 800; color: #0f1a14; letter-spacing: -.5px; }
.sl-c.is-key b { color: #0aa14a; }
.sl-note { margin-top: 14px; font-size: 12.5px; color: #6b7684; line-height: 1.85; }
@media (max-width: 820px) { .sl-grid, .sl-out { grid-template-columns: minmax(0, 1fr); } }
.rg-box { border: 1px solid #e9eff5; border-radius: 20px; background: #fff; padding: 24px 26px; box-shadow: 0 20px 46px -38px rgba(9, 30, 66, .3); }
.rg-ruler { position: relative; margin: 26px 0 10px; padding-top: 26px; }
.rg-line { position: absolute; left: 0; right: 0; top: 34px; height: 4px; border-radius: 4px; background: linear-gradient(90deg, #d8e6f1, #0aa14a); }
.rg-stops { position: relative; display: flex; justify-content: space-between; }
.rg-stop { position: relative; z-index: 1; display: flex; flex-direction: column; align-items: center; gap: 8px; background: none; border: 0; cursor: pointer; font-family: inherit; padding: 0; flex: 1 1 0; }
.rg-stop i { width: 16px; height: 16px; border-radius: 50%; background: #fff; border: 2.4px solid #cfdae4; transition: .2s; }
.rg-stop.is-on i { border-color: #0aa14a; background: #0aa14a; box-shadow: 0 0 0 5px rgba(10, 161, 74, .12); }
.rg-stop b { font-size: 13px; font-weight: 800; color: #4a5a68; white-space: nowrap; }
.rg-stop.is-on b { color: #0a7a38; }
.rg-stop span { font-size: 11.5px; color: #93a0ad; white-space: nowrap; }
.rg-panel { margin-top: 12px; border: 1px solid #eef3f8; border-radius: 14px; background: #fafcfe; padding: 16px 18px; display: grid; grid-template-columns: minmax(0, 1.4fr) minmax(0, 1fr); gap: 16px; }
.rg-panel p { margin: 0; font-size: 13px; color: #55636f; line-height: 1.9; }
.rg-kv { display: flex; flex-direction: column; gap: 8px; }
.rg-kv div { display: flex; justify-content: space-between; gap: 10px; padding: 9px 12px; border: 1px solid #eef3f8; border-radius: 10px; background: #fff; }
.rg-kv span { font-size: 12.5px; color: #8794a1; }
.rg-kv b { font-size: 14px; font-weight: 800; color: #0f1a14; }
@media (max-width: 820px) { .rg-panel { grid-template-columns: minmax(0, 1fr); } .rg-stop b { font-size: 11.5px; } .rg-stop span { display: none; } }
.gd-box { border: 1px solid #e9eff5; border-radius: 20px; background: #fff; padding: 24px 26px; box-shadow: 0 20px 46px -38px rgba(9, 30, 66, .3); }
.gd-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 10px; }
.gd-tile { display: flex; flex-direction: column; gap: 5px; padding: 14px 15px; border: 1px solid #e9f0f6; border-radius: 13px; background: #fafcfe; cursor: pointer; font-family: inherit; text-align: left; transition: .2s; }
.gd-tile:hover { border-color: #cfe6d9; transform: translateY(-1px); }
.gd-tile.is-on { border-color: #0aa14a; background: #f2fbf6; box-shadow: 0 12px 26px -20px rgba(10, 161, 74, .8); }
.gd-tile b { font-size: 14px; font-weight: 800; color: #16222c; }
.gd-tile span { font-size: 12px; color: #8794a1; }
.gd-tile.is-on b { color: #0a7a38; }
.gd-detail { margin-top: 16px; border: 1px solid #eef3f8; border-radius: 14px; background: #fafcfe; padding: 16px 18px; }
.gd-detail h4 { margin: 0 0 8px; font-size: 15px; font-weight: 800; color: #0f1a14; }
.gd-detail p { margin: 0; font-size: 13px; color: #55636f; line-height: 1.9; }
.gd-tags { margin-top: 12px; display: flex; flex-wrap: wrap; gap: 8px; }
.gd-tags i { font-style: normal; font-size: 12px; font-weight: 700; color: #0a7a38; background: #e8f8ee; border-radius: 7px; padding: 5px 9px; }
@media (max-width: 820px) { .gd-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
.cl-box { border: 1px solid #e9eff5; border-radius: 20px; background: #fff; padding: 24px 26px; box-shadow: 0 20px 46px -38px rgba(9, 30, 66, .3); display: grid; grid-template-columns: 190px minmax(0, 1fr); gap: 22px; align-items: center; }
.cl-ring { position: relative; width: 168px; height: 168px; border-radius: 50%; background: conic-gradient(#0aa14a 0deg, #e9f0f6 0deg); display: flex; align-items: center; justify-content: center; transition: background .35s ease; }
.cl-ring::after { content: ""; position: absolute; inset: 16px; border-radius: 50%; background: #fff; }
.cl-in { position: relative; z-index: 1; text-align: center; }
.cl-in b { display: block; font-size: 30px; font-weight: 800; color: #0f1a14; letter-spacing: -1px; }
.cl-in span { display: block; font-size: 12px; color: #7c8996; margin-top: 2px; }
.cl-list { display: flex; flex-direction: column; gap: 9px; }
.cl-item { display: flex; align-items: center; gap: 11px; padding: 11px 14px; border: 1px solid #eef3f8; border-radius: 11px; background: #fafcfe; cursor: pointer; transition: .2s; }
.cl-item:hover { border-color: #cfe6d9; }
.cl-item.is-done { background: #f2fbf6; border-color: #bfe6ce; }
.cl-box-i { width: 18px; height: 18px; border-radius: 5px; border: 1.6px solid #cfdae4; background: #fff; flex: none; display: flex; align-items: center; justify-content: center; font-size: 11px; font-weight: 800; color: #fff; }
.cl-item.is-done .cl-box-i { background: #0aa14a; border-color: #0aa14a; }
.cl-item span.tx { font-size: 13.5px; font-weight: 700; color: #22313f; }
.cl-item.is-done span.tx { color: #6d7c88; text-decoration: line-through; }
.cl-hint { grid-column: 1 / -1; font-size: 12.5px; color: #6b7684; line-height: 1.85; }
@media (max-width: 820px) { .cl-box { grid-template-columns: minmax(0, 1fr); justify-items: center; } .cl-hint { text-align: left; } }
.wf-box { border: 1px solid #e9eff5; border-radius: 20px; background: #fff; padding: 24px 26px; box-shadow: 0 20px 46px -38px rgba(9, 30, 66, .3); }
.wf-steps { display: flex; gap: 8px; flex-wrap: wrap; }
.wf-tab { display: flex; align-items: center; gap: 8px; height: 40px; padding: 0 16px; border-radius: 11px; border: 1px solid #e2edf4; background: #fff; font-size: 13px; font-weight: 700; color: #4a5a68; cursor: pointer; font-family: inherit; transition: .2s; }
.wf-tab i { font-style: normal; width: 20px; height: 20px; border-radius: 50%; background: #eef3f8; color: #7c8996; font-size: 11.5px; font-weight: 800; display: flex; align-items: center; justify-content: center; }
.wf-tab.is-on { border-color: #0aa14a; color: #0a7a38; background: #f2fbf6; }
.wf-tab.is-on i { background: #0aa14a; color: #fff; }
.wf-panel { margin-top: 16px; border: 1px solid #eef3f8; border-radius: 14px; background: #fafcfe; padding: 18px 20px; min-height: 132px; }
.wf-panel h4 { margin: 0 0 8px; font-size: 16px; font-weight: 800; color: #0f1a14; }
.wf-panel p { margin: 0; font-size: 13px; color: #55636f; line-height: 1.9; }
.wf-tip { margin-top: 12px; display: inline-flex; align-items: center; gap: 8px; font-size: 12.5px; font-weight: 700; color: #0a7a38; background: #e8f8ee; border-radius: 8px; padding: 7px 11px; }
.wf-ctrl { margin-top: 14px; display: flex; align-items: center; gap: 10px; }
.wf-btn { height: 38px; padding: 0 18px; border-radius: 10px; border: 1px solid #e2edf4; background: #fff; font-size: 13px; font-weight: 700; color: #3c4c5c; cursor: pointer; font-family: inherit; transition: .2s; }
.wf-btn:hover { border-color: #0aa14a; color: #0a7a38; }
.wf-btn.is-main { background: #0aa14a; border-color: #0aa14a; color: #fff; }
.wf-pos { margin-left: auto; font-size: 12.5px; color: #8794a1; }
@media (max-width: 820px) { .wf-tab { height: 36px; padding: 0 12px; } }
.mat-box { border: 1px solid #e9eff5; border-radius: 20px; background: #fff; padding: 24px 26px; box-shadow: 0 20px 46px -38px rgba(9, 30, 66, .3); }
.mat-row { display: grid; grid-template-columns: 168px minmax(0, 1fr); gap: 14px; align-items: center; padding: 12px 0; border-bottom: 1px dashed #edf2f7; }
.mat-row:last-of-type { border-bottom: 0; }
.mat-q { font-size: 13.5px; font-weight: 700; color: #22313f; }
.mat-opts { display: flex; gap: 8px; flex-wrap: wrap; }
.mat-opt { height: 36px; padding: 0 16px; border-radius: 10px; border: 1px solid #e2edf4; background: #fff; font-size: 13px; font-weight: 700; color: #4a5a68; cursor: pointer; font-family: inherit; transition: .2s; }
.mat-opt:hover { border-color: #0aa14a; color: #0a7a38; }
.mat-opt.is-on { background: #0aa14a; border-color: #0aa14a; color: #fff; }
.mat-res { margin-top: 16px; border: 1px solid #dcefe3; border-radius: 14px; background: linear-gradient(135deg, #f3fbf6, #ffffff); padding: 16px 18px; }
.mat-res span { display: block; font-size: 12.5px; color: #6b7c73; }
.mat-res b { display: block; margin-top: 6px; font-size: 19px; font-weight: 800; color: #0a7a38; letter-spacing: -.3px; }
.mat-res p { margin: 8px 0 0; font-size: 12.5px; color: #5b6a72; line-height: 1.85; }
@media (max-width: 820px) { .mat-row { grid-template-columns: minmax(0, 1fr); } }
.tm-box { border: 1px solid #e9eff5; border-radius: 20px; background: #fff; padding: 24px 26px; box-shadow: 0 20px 46px -38px rgba(9, 30, 66, .3); }
.tm-head { display: flex; align-items: flex-end; justify-content: space-between; gap: 16px; flex-wrap: wrap; }
.tm-cur { font-size: 20px; font-weight: 800; color: #0f1a14; letter-spacing: -.4px; }
.tm-step { font-size: 12.5px; color: #7c8996; }
.tm-track { position: relative; margin: 20px 0 6px; }
.tm-line { position: absolute; left: 0; right: 0; top: 9px; height: 3px; border-radius: 3px; background: #e9f0f6; }
.tm-line i { position: absolute; left: 0; top: 0; bottom: 0; border-radius: 3px; background: linear-gradient(90deg, #2fd66a, #0aa14a); transition: width .25s ease; }
.tm-dots { position: relative; display: flex; justify-content: space-between; }
.tm-dot { position: relative; z-index: 1; display: flex; flex-direction: column; align-items: center; gap: 8px; background: none; border: 0; padding: 0; font-family: inherit; cursor: pointer; width: 80px; }
.tm-dot span.p { width: 20px; height: 20px; border-radius: 50%; border: 2px solid #d7e3ec; background: #fff; transition: .2s; }
.tm-dot.is-on span.p { border-color: #0aa14a; background: #0aa14a; box-shadow: 0 0 0 5px rgba(10, 161, 74, .13); }
.tm-dot span.t { font-size: 12.5px; font-weight: 700; color: #5d6b78; white-space: nowrap; }
.tm-dot.is-on span.t { color: #0a7a38; }
.tm-body { margin-top: 16px; display: grid; grid-template-columns: minmax(0, 1.35fr) minmax(0, 1fr); gap: 16px; }
.tm-desc { font-size: 13px; color: #55636f; line-height: 1.9; }
.tm-kv { display: flex; flex-direction: column; gap: 8px; }
.tm-kv div { display: flex; align-items: baseline; justify-content: space-between; gap: 12px; padding: 10px 13px; border: 1px solid #eef3f8; border-radius: 10px; background: #fafcfe; }
.tm-kv span { font-size: 12.5px; color: #7c8996; }
.tm-kv b { font-size: 15px; font-weight: 800; color: #0f1a14; }
@media (max-width: 820px) { .tm-body { grid-template-columns: minmax(0, 1fr); } .tm-dot { width: 56px; } .tm-dot span.t { font-size: 11px; } }
.pal-box { border: 1px solid #e9eff5; border-radius: 20px; background: #fff; padding: 24px 26px; box-shadow: 0 20px 46px -38px rgba(9, 30, 66, .3); display: grid; grid-template-columns: 250px minmax(0, 1fr); gap: 22px; }
.pal-list { display: flex; flex-direction: column; gap: 9px; }
.pal-opt { display: flex; align-items: center; gap: 11px; padding: 11px 13px; border: 1px solid #e9f0f6; border-radius: 11px; background: #fafcfe; cursor: pointer; font-family: inherit; text-align: left; transition: .2s; }
.pal-opt:hover { border-color: #cfe6d9; }
.pal-opt.is-on { border-color: #0aa14a; background: #f2fbf6; }
.pal-sw { width: 26px; height: 26px; border-radius: 8px; flex: none; box-shadow: inset 0 0 0 1px rgba(0, 0, 0, .06); }
.pal-opt b { font-size: 13.5px; font-weight: 800; color: #22313f; }
.pal-opt span { display: block; font-size: 11.5px; color: #8794a1; margin-top: 2px; }
.pal-stage { border-radius: 16px; border: 1px solid #eef3f8; background: #fafcfe; padding: 18px; display: flex; flex-direction: column; gap: 14px; }
.pal-demo { height: 116px; border-radius: 13px; position: relative; overflow: hidden; transition: background .3s ease; }
.pal-demo i { position: absolute; border-radius: 8px; background: rgba(255, 255, 255, .82); }
.pal-demo i:nth-child(1) { left: 16px; top: 16px; width: 96px; height: 10px; }
.pal-demo i:nth-child(2) { left: 16px; top: 34px; width: 168px; height: 8px; opacity: .6; }
.pal-demo i:nth-child(3) { left: 16px; bottom: 16px; width: 64px; height: 24px; border-radius: 7px; }
.pal-kv { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 10px; }
.pal-kv div { background: #fff; border: 1px solid #eef3f8; border-radius: 10px; padding: 10px 12px; }
.pal-kv span { display: block; font-size: 11.5px; color: #8794a1; }
.pal-kv b { display: block; margin-top: 4px; font-size: 14px; font-weight: 800; color: #0f1a14; }
.pal-note { font-size: 12.5px; color: #6b7684; line-height: 1.85; }
@media (max-width: 900px) { .pal-box { grid-template-columns: minmax(0, 1fr); } .pal-kv { grid-template-columns: minmax(0, 1fr); } }
.hp-box { border: 1px solid #e9eff5; border-radius: 20px; background: #fff; padding: 24px 26px; box-shadow: 0 20px 46px -38px rgba(9, 30, 66, .3); }
.hp-head { display: flex; align-items: baseline; justify-content: space-between; gap: 14px; flex-wrap: wrap; margin-bottom: 14px; }
.hp-legend { display: flex; align-items: center; gap: 6px; font-size: 11.5px; color: #8794a1; }
.hp-legend i { width: 13px; height: 13px; border-radius: 4px; display: inline-block; }
.hp-grid { display: grid; grid-template-columns: 42px repeat(7, minmax(0, 1fr)); gap: 7px; }
.hp-col { font-size: 11.5px; color: #8794a1; text-align: center; padding-bottom: 2px; }
.hp-row { font-size: 11.5px; color: #8794a1; display: flex; align-items: center; }
.hp-cell { height: 38px; border-radius: 9px; border: 1px solid #eef3f8; background: #f4f8fb; cursor: pointer; transition: .15s; font-family: inherit; }
.hp-cell:hover { border-color: #b7d9c6; }
.hp-cell.l1 { background: #d8f2e3; border-color: #c2e8d3; }
.hp-cell.l2 { background: #86dcac; border-color: #6fd39b; }
.hp-cell.l3 { background: #0aa14a; border-color: #0aa14a; }
.hp-out { margin-top: 16px; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; }
.hp-c { border: 1px solid #eef3f8; border-radius: 13px; background: #fafcfe; padding: 13px 16px; }
.hp-c span { display: block; font-size: 12.5px; color: #7c8996; }
.hp-c b { display: block; margin-top: 6px; font-size: 19px; font-weight: 800; color: #0f1a14; }
.hp-c.is-key b { color: #0aa14a; }
.hp-note { margin-top: 13px; font-size: 12.5px; color: #6b7684; line-height: 1.85; }
@media (max-width: 820px) { .hp-grid { grid-template-columns: 34px repeat(7, minmax(0, 1fr)); gap: 5px; } .hp-cell { height: 30px; } .hp-out { grid-template-columns: minmax(0, 1fr); } }
.tog-box { border: 1px solid #e9eff5; border-radius: 20px; background: #fff; padding: 24px 26px; box-shadow: 0 20px 46px -38px rgba(9, 30, 66, .3); }
.tog-head { display: flex; align-items: center; justify-content: space-between; gap: 14px; flex-wrap: wrap; }
.tog-switch { display: inline-flex; padding: 4px; border-radius: 12px; background: #f1f5f9; }
.tog-btn { height: 34px; padding: 0 18px; border: 0; border-radius: 9px; background: transparent; font-size: 13px; font-weight: 700; color: #6b7885; cursor: pointer; font-family: inherit; transition: .2s; }
.tog-btn.is-on { background: #fff; color: #0f1a14; box-shadow: 0 2px 8px rgba(9, 30, 66, .1); }
.tog-hint { font-size: 12.5px; color: #8794a1; }
.tog-cols { margin-top: 16px; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; }
.tog-col { border: 1px solid #eef3f8; border-radius: 14px; background: #fafcfe; padding: 15px 17px; transition: .25s; }
.tog-col.is-on { border-color: #0aa14a; background: #f4fbf7; box-shadow: 0 16px 32px -26px rgba(10, 161, 74, .9); }
.tog-col h4 { margin: 0 0 10px; font-size: 14.5px; font-weight: 800; color: #16222c; display: flex; align-items: center; gap: 8px; }
.tog-col h4 i { font-style: normal; font-size: 11px; font-weight: 800; color: #8794a1; background: #eef3f8; border-radius: 6px; padding: 3px 7px; }
.tog-col.is-on h4 i { color: #fff; background: #0aa14a; }
.tog-row { display: flex; justify-content: space-between; gap: 10px; padding: 8px 0; border-bottom: 1px dashed #eef3f8; font-size: 12.5px; }
.tog-row:last-child { border-bottom: 0; }
.tog-row span { color: #8794a1; }
.tog-row b { font-weight: 800; color: #22313f; }
.tog-diff { margin-top: 15px; border-radius: 12px; background: #f3fbf6; border: 1px solid #dcefe3; padding: 13px 16px; font-size: 12.5px; color: #3f5a4c; line-height: 1.85; }
@media (max-width: 820px) { .tog-cols { grid-template-columns: minmax(0, 1fr); } }
/* == ARCH-MODULES-END == */

/* == LIBRARY-PAGER-START == */
/* 20261116a · 软件库分页与分类页 */
.libbar { display: flex; align-items: center; justify-content: space-between; gap: 12px; flex-wrap: wrap; margin: 2px 0 16px; font-size: 13px; color: #7c8996; }
.libbar b { color: #0f1a14; font-weight: 800; }
.libbar .lbar-r { display: flex; align-items: center; gap: 10px; }
.libpager { margin-top: 26px; display: flex; align-items: center; justify-content: center; gap: 8px; flex-wrap: wrap; }
.libpager a, .libpager i { min-width: 42px; height: 42px; padding: 0 15px; border-radius: 12px; border: 1px solid #e2edf4; background: #fff; display: inline-flex; align-items: center; justify-content: center; font-style: normal; font-size: 14px; font-weight: 700; color: #3c4c5c; transition: .2s; }
.libpager a:hover { border-color: #0aa14a; color: #0a7a38; }
.libpager a.is-on { background: linear-gradient(135deg, #2fd66a, #0aa14a); border-color: transparent; color: #fff; box-shadow: 0 12px 24px -16px rgba(10, 161, 74, .85); }
.libpager i { color: #c6d0d8; background: #f7fafc; cursor: default; }
.libpager .pinfo { border: 0; background: none; color: #8794a1; font-weight: 600; min-width: 0; padding: 0 4px; }
@media (max-width: 700px) {
  .libpager a, .libpager i { min-width: 38px; height: 38px; padding: 0 11px; font-size: 13px; }
  .libbar { font-size: 12.5px; }
}
/* == LIBRARY-PAGER-END == */


/* ============================================================
   20261116b · 首页四品类模块的窄屏适配（修正选择器权重）
   20261113n 的桌面规则写作 `.firstPage_container + .sec .mods, .sec .mods`，
   三权重压过了窄屏媒体查询里的 `.sec .mods`，导致手机端仍是两列。
   这里用同等权重的选择器补齐，只在 ≤1024 / ≤760 生效。
   ============================================================ */
@media (max-width: 1024px) {
  .firstPage_container + .sec .mods,
  .sec .mods { grid-template-columns: minmax(0, 1fr); }
}
@media (max-width: 760px) {
  .firstPage_container + .sec .mods .mod,
  .sec .mods .mod { padding: 20px 18px 16px; }
  .firstPage_container + .sec .mods .mod-list,
  .sec .mods .mod-list { grid-template-columns: minmax(0, 1fr); }
  .firstPage_container + .sec .mods .mod-list a,
  .sec .mods .mod-list a { padding: 12px; }
  .firstPage_container + .sec .mods .mod-item-ic,
  .sec .mods .mod-item-ic { flex: 0 0 48px; width: 48px; height: 48px; border-radius: 14px; }
  .firstPage_container + .sec .mods .mod-item-ic img,
  .sec .mods .mod-item-ic img { width: 34px; height: 34px; }
  .firstPage_container + .sec .mods .mod-item-tx b,
  .sec .mods .mod-item-tx b { font-size: 14px; }
}

/* ============================================================
   20261117b · 软件库（all-N / cat-*）改成「左侧分类栏 + 三列卡片」
   分类标签从横幅里移出，改为左侧面板上下竖排（当前分类高亮）；
   横幅加高到 392px，右侧图标墙按横幅高度等比铺满、整张不再被裁；
   卡片一行 3 个，内距 20/18、图标块 60（图 44）、标题 17、说明 2 行截断。
   断点：≤1240 三列（侧栏收窄）/ ≤1024 侧栏横排 + 两列 / ≤760 单列
   ============================================================ */
@media (min-width: 1241px) {
  .libhero { display: flex; align-items: center; min-height: 276px; --lh-img: 392px; }
  .libhero .lh-wrap { padding: 0; }
  .libhero .lh-k { font-size: 13px; }
  .libhero h1.lh-h1 { font-size: 40px; letter-spacing: -.8px; }
  .libhero::after {
    top: 0; bottom: auto; height: var(--lh-img); width: 760px; right: 0;
    background-size: auto var(--lh-img);
    background-position: right top;
    -webkit-mask-image: linear-gradient(90deg, rgba(0, 0, 0, 0) 0%, rgba(0, 0, 0, .45) 15%, #000 32%, #000 100%);
    mask-image: linear-gradient(90deg, rgba(0, 0, 0, 0) 0%, rgba(0, 0, 0, .45) 15%, #000 32%, #000 100%);
  }
}
@media (max-width: 1240px) and (min-width: 1025px) {
  .libhero { display: flex; align-items: center; min-height: 232px; --lh-img: 330px; }
  .libhero .lh-wrap { padding: 0 18px; }
  .libhero h1.lh-h1 { font-size: 34px; }
  .libhero::after {
    top: 0; bottom: auto; height: var(--lh-img); width: 620px; right: -10px;
    background-size: auto var(--lh-img);
    background-position: right top;
  }
}

.sec.libpage--hero { padding-top: 12px; }

.liblayout { display: grid; grid-template-columns: 216px minmax(0, 1fr); gap: 24px; align-items: start; }
.libmain { min-width: 0; }
.libside {
  position: sticky; top: 84px;
  border: 1px solid #e8eef5; border-radius: 16px; background: #fff; padding: 9px;
  box-shadow: 0 1px 2px rgba(9, 30, 66, .04), 0 18px 32px -30px rgba(9, 30, 66, .3);
}
.libside-h {
  padding: 11px 13px 10px; font-size: 12px; font-weight: 800;
  letter-spacing: .16em; color: #9aa5b1;
}
.libside-list { display: flex; flex-direction: column; gap: 2px; }
.libside-i {
  display: flex; align-items: center; justify-content: space-between; gap: 8px;
  height: 46px; padding: 0 13px; border-radius: 12px;
  font-size: 15px; font-weight: 700; color: #3c4c5c;
  transition: background .2s, color .2s, box-shadow .2s;
}
.libside-i .n {
  min-width: 28px; padding: 2px 8px; border-radius: 999px; text-align: center;
  font-size: 12.5px; font-weight: 700; color: #8794a1; background: #f2f6fa;
  transition: background .2s, color .2s;
}
.libside-i:hover { background: var(--brand-soft); color: #0a6b3c; }
.libside-i:hover .n { background: #fff; color: #0a6b3c; }
.libside-i.is-on { background: var(--brand-grad); color: #fff; box-shadow: 0 12px 22px -16px var(--brand-shadow); }
.libside-i.is-on .n { background: rgba(255, 255, 255, .24); color: #fff; }
.libmain .libbar { margin-top: 0; }

.libpage .lib-grid--4 { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; }
.libpage .lib-grid--4 .lib-card {
  padding: 20px 18px; gap: 14px; border-radius: 16px;
  box-shadow: 0 1px 2px rgba(9, 30, 66, .03), 0 16px 30px -28px rgba(9, 30, 66, .32);
}
.libpage .lib-grid--4 .lib-card:hover { box-shadow: 0 18px 30px -24px var(--brand-shadow); }
.libpage .lib-grid--4 .lib-card .li { width: 60px; height: 60px; flex: 0 0 60px; border-radius: 16px; }
.libpage .lib-grid--4 .lib-card .li img { width: 44px; height: 44px; }
.libpage .lib-grid--4 .lib-card .lt b {
  font-size: 17px; margin-bottom: 5px; letter-spacing: -.2px;
  white-space: nowrap; overflow: hidden; text-overflow: ellipsis;
}
.libpage .lib-grid--4 .lib-card .lt .d {
  display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical;
  overflow: hidden; font-size: 13px; line-height: 1.65;
}
.libpage .lib-grid--4 .lib-card .lt .v { margin-top: 7px; font-size: 12px; }

@media (max-width: 1240px) {
  .liblayout { grid-template-columns: 190px minmax(0, 1fr); gap: 18px; }
  .libside-i { height: 44px; font-size: 14.5px; }
  .libpage .lib-grid--4 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
@media (max-width: 1024px) {
  .liblayout { grid-template-columns: minmax(0, 1fr); gap: 16px; }
  .libside { position: static; padding: 7px; }
  .libside-h { display: none; }
  .libside-list { flex-direction: row; flex-wrap: wrap; gap: 6px; }
  .libside-i { height: 40px; padding: 0 14px; gap: 7px; font-size: 14px; }
  .libside-i .n { min-width: 24px; padding: 2px 7px; font-size: 12px; }
  .libpage .lib-grid--4 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 760px) {
  .libpage .lib-grid--4 { grid-template-columns: minmax(0, 1fr); }
  .libpage .lib-grid--4 .lib-card { padding: 18px 16px; gap: 14px; }
  .libpage .lib-grid--4 .lib-card .li { width: 56px; height: 56px; flex: 0 0 56px; border-radius: 15px; }
  .libpage .lib-grid--4 .lib-card .li img { width: 40px; height: 40px; }
  .libpage .lib-grid--4 .lib-card .lt b { font-size: 16.5px; margin-bottom: 5px; }
  .libpage .lib-grid--4 .lib-card .lt .d { font-size: 13px; }
  .libpage .lib-grid--4 .lib-card .lt .v { margin-top: 7px; font-size: 12px; }
}

/* ============================================================
   20261117e · 全站（pcsoft）右侧悬浮「返回上一层 / 回到顶部」
   由 nav.js 末段注入 .side-tools；滚过第一屏才淡入。
   位置贴 1200 容器右缘外侧（窗口窄时退回距右边 16px）。
   360 自有产品页在 /download/ 用的是另一套 JS/CSS，不会带上这两个按钮。
   ============================================================ */
.side-tools {
  position: fixed; z-index: 9998; right: calc((100vw - 1200px) / 2 - 88px); top: 50%;
  display: flex; flex-direction: column; gap: 10px;
  opacity: 0; visibility: hidden; pointer-events: none;
  transform: translate(16px, -50%);
  transition: opacity .28s ease, transform .28s ease, visibility .28s;
}
.side-tools.is-on {
  opacity: 1; visibility: visible; pointer-events: auto;
  transform: translate(0, -50%);
}
.st-btn {
  width: 72px; height: 66px; padding: 0;
  display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 4px;
  border: 1px solid #e6eef5; border-radius: 20px;
  background: rgba(255, 255, 255, .96); color: #46596a;
  font-family: inherit; font-size: 11px; font-weight: 700; line-height: 1;
  text-decoration: none; cursor: pointer;
  -webkit-backdrop-filter: blur(6px); backdrop-filter: blur(6px);
  box-shadow: 0 2px 6px rgba(9, 30, 66, .06), 0 20px 32px -24px rgba(9, 30, 66, .55);
  transition: color .2s, border-color .2s, background .2s, box-shadow .2s, transform .2s;
}
.st-btn svg { width: 21px; height: 21px; }
.st-btn:hover {
  color: #fff; border-color: transparent;
  background: linear-gradient(135deg, #12b347, #0b8f37);
  box-shadow: 0 20px 32px -18px rgba(11, 143, 55, .5); transform: translateY(-2px);
}
.st-btn:active { transform: translateY(0); }
.st-btn:focus-visible { outline: 2px solid #12b347; outline-offset: 3px; }
@media (max-width: 1400px) {
  .side-tools { right: 16px; }
}
@media (max-width: 1024px) {
  .side-tools {
    top: auto; bottom: 20px; gap: 8px;
    transform: translate(16px, 0);
  }
  .side-tools.is-on { transform: translate(0, 0); }
  .st-btn { width: 64px; height: 60px; border-radius: 18px; font-size: 10.5px; }
  .st-btn svg { width: 19px; height: 19px; }
}
@media (max-width: 760px) {
  .side-tools { right: 12px; bottom: 16px; gap: 8px; }
  .st-btn { width: 58px; height: 56px; border-radius: 16px; }
}
@media print {
  .side-tools { display: none; }
}
