/* 磁力飞梭 官网共用样式。
 * 视觉基准来自 magcoin_web/app-magdown.htm（原 BT 版磁力飞梭页）的浅色青绿风格；
 * 去掉了磁力币/资源发布相关类，补了首页/加速器/下载页需要的组件。
 * 页面只用内联样式或本文件，不加 JS（CSP：style-src 'self' 'unsafe-inline'）。 */
:root {
  color-scheme: light;
  --ink: #172026;
  --muted: #5d6972;
  --soft: #eef3f5;
  --line: #d8e0e4;
  --brand: #0d6b68;
  --brand-dark: #084b49;
  --brand-2: #34a394;
  --accent: #c98621;
  --accent-soft: #fff2d8;
  --water: #dff2ef;
  --panel: #ffffff;
  --shadow: 0 24px 70px rgba(20, 42, 50, .14);
}
* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  margin: 0;
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", sans-serif;
  color: var(--ink);
  background: #fbfcfc;
  line-height: 1.6;
}
a { color: inherit; text-decoration: none; }
img, svg { max-width: 100%; }
.wrap { width: min(1120px, calc(100% - 36px)); margin: 0 auto; }

/* ===== 顶部导航 ===== */
.site-header {
  position: sticky; top: 0; z-index: 20;
  border-bottom: 1px solid rgba(216, 224, 228, .8);
  background: rgba(251, 252, 252, .88);
  backdrop-filter: blur(16px);
  -webkit-backdrop-filter: blur(16px);
}
.site-header-inner {
  width: min(1120px, calc(100% - 36px));
  min-height: 64px;
  margin: 0 auto;
  display: flex; align-items: center; justify-content: space-between; gap: 20px;
}
.brand-row a { display: flex; align-items: center; gap: 10px; color: var(--brand-dark); font-weight: 800; font-size: 18px; }
.brand-mark {
  width: 32px; height: 32px; border-radius: 8px;
  display: block; object-fit: cover; flex: none;
  box-shadow: 0 10px 24px rgba(13, 107, 104, .26);
}
.brand-title small { display: block; font-size: 11px; font-weight: 600; color: var(--muted); letter-spacing: .12em; line-height: 1; margin-top: 2px; }
.site-nav { display: flex; gap: 10px; flex-wrap: wrap; align-items: center; }
.site-nav a {
  padding: 8px 16px; border-radius: 999px;
  background: rgba(13, 107, 104, .10); color: var(--brand-dark);
  font-size: 14px; font-weight: 600; white-space: nowrap;
  transition: background .15s ease, color .15s ease;
}
.site-nav a:hover { background: rgba(13, 107, 104, .18); }
.site-nav a.current { background: var(--brand-dark); color: #fff; box-shadow: 0 6px 16px rgba(8, 75, 73, .25); }
.header-social { display: flex; align-items: center; gap: 6px; margin-left: auto; }
.header-social .follow-label { margin-right: 4px; color: var(--muted); font-size: 13px; font-weight: 600; white-space: nowrap; }
.header-social a.social {
  width: 32px; height: 32px; border-radius: 50%;
  display: inline-grid; place-items: center;
  background: rgba(13, 107, 104, .10); color: var(--brand-dark);
  transition: background .15s ease;
}
.header-social a.social.yt { background: #ff0000; color: #fff; }
.header-social a.social.x { background: #000; color: #fff; }
.header-social a.social:hover { filter: brightness(1.15); }
.header-social a.social svg { width: 16px; height: 16px; }
.header-social .member-entry {
  display: inline-flex; align-items: center; justify-content: center;
  min-height: 32px; padding: 0 12px; border-radius: 999px;
  background: #2563eb; color: #fff; font-size: 13px;
  font-weight: 700; white-space: nowrap;
}
.header-social .member-entry:hover { background: #1d4ed8; }
.header-social .member-entry[data-authenticated="true"] {
  background: #b7791f; color: #fff;
}
/* 桌面：图标放在导航前，用竖线隔开并拉开距离 */
.header-social::after { content: ""; width: 1px; height: 22px; background: var(--line); margin-left: 14px; }
.header-social + .site-nav { margin-left: 8px; }
.from-app .site-header, .from-app .site-footer { display: none !important; }
/* App 原生 WebView 在文档加载前注入标记；公共脚本再补充 in-app 类。 */
.magget-native-support .member-entry { display: none !important; }
.in-app .web-only { display: none !important; }
.app-only { display: none !important; }
.in-app .app-only { display: block !important; }
@media (max-width: 720px) {
  .site-header-inner { flex-wrap: wrap; padding: 10px 0; gap: 10px; }
  .site-nav { width: 100%; justify-content: flex-start; gap: 6px; }
  .site-nav a { padding: 6px 12px; font-size: 13px; }
  /* 手机：图标靠右与品牌同一行，导航另起一行 */
  .header-social::after { display: none; }
  .header-social + .site-nav { margin-left: 0; }
  .header-social a.social { width: 30px; height: 30px; }
  .header-social .member-entry { min-height: 30px; padding: 0 10px; }
  .header-social .follow-label { font-size: 12px; }
}
@media (max-width: 360px) {
  .header-social .follow-label { display: none; }
}

/* ===== 按钮 ===== */
.button {
  display: inline-flex; align-items: center; justify-content: center; gap: 8px;
  min-height: 44px; padding: 0 18px; border-radius: 8px;
  border: 1px solid transparent; font-weight: 700; font-size: 15px; line-height: 1; white-space: nowrap;
}
.button.primary { background: var(--brand); color: #fff; box-shadow: 0 16px 34px rgba(13, 107, 104, .24); }
.button.primary:hover { background: var(--brand-dark); }
.button.secondary { border-color: var(--line); background: #fff; color: var(--brand-dark); }
.button.secondary:hover { background: var(--soft); }
.button.disabled { background: var(--soft); color: var(--muted); box-shadow: none; cursor: not-allowed; pointer-events: none; }

/* ===== Hero ===== */
.hero {
  padding: 64px 0 48px;
  background:
    linear-gradient(120deg, rgba(223, 242, 239, .95), rgba(255, 248, 235, .88)),
    linear-gradient(180deg, #ffffff, #f3f7f7);
  overflow: hidden;
}
.hero.compact { padding: 48px 0 36px; }
.hero.compact h1 { font-size: clamp(34px, 5.2vw, 56px); }
.hero-inner {
  width: min(1120px, calc(100% - 36px)); margin: 0 auto;
  display: grid; grid-template-columns: minmax(0, 1fr) minmax(340px, 480px);
  gap: 56px; align-items: center;
}
.hero-inner.single { grid-template-columns: 1fr; }
.eyebrow {
  display: inline-flex; align-items: center; gap: 8px;
  padding: 8px 12px; border: 1px solid rgba(13, 107, 104, .18); border-radius: 999px;
  color: var(--brand-dark); background: rgba(255, 255, 255, .68); font-size: 14px; font-weight: 700;
}
h1 { margin: 20px 0 18px; max-width: 760px; font-size: clamp(38px, 6.4vw, 68px); line-height: 1.04; }
h1 .sub { display: block; font-size: .42em; font-weight: 600; color: var(--muted); margin-top: 8px; letter-spacing: .02em; }
.lead { max-width: 650px; margin: 0 0 28px; color: var(--muted); font-size: 19px; line-height: 1.7; }
.hero-actions { display: flex; flex-wrap: wrap; gap: 12px; margin-bottom: 24px; }
.platforms { display: flex; flex-wrap: wrap; gap: 10px; color: var(--muted); font-size: 14px; }
.platform {
  display: inline-flex; align-items: center; gap: 8px; min-height: 34px; padding: 0 12px;
  border: 1px solid rgba(216, 224, 228, .95); border-radius: 999px; background: rgba(255, 255, 255, .68);
}
.platform strong { color: var(--ink); }
.platform.soon { opacity: .75; }

/* ===== 首页演示卡：上半浏览器标签，下半加速器仪表 ===== */
.demo {
  border: 1px solid rgba(23, 32, 38, .12); border-radius: 18px; background: #fff;
  box-shadow: var(--shadow); overflow: hidden;
}
.demo-bar {
  display: flex; align-items: center; gap: 8px; padding: 10px 12px;
  border-bottom: 1px solid #e2e9ec; background: #f7fbfb; font-size: 12px; color: var(--muted);
}
.tab { padding: 6px 12px; border-radius: 999px; background: var(--soft); white-space: nowrap; }
.tab.on { background: var(--brand); color: #fff; font-weight: 700; }
.tab.direct { background: var(--accent-soft); color: #7a5314; font-weight: 700; }
.demo-url { flex: 1; min-width: 0; padding: 6px 10px; border-radius: 8px; background: #fff; border: 1px solid var(--line); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.demo-body { padding: 16px; display: grid; gap: 14px; }
.demo-status { display: flex; align-items: center; justify-content: space-between; font-size: 13px; color: var(--muted); }
.dot { display: inline-block; width: 9px; height: 9px; border-radius: 50%; background: #2fb37b; margin-right: 6px; box-shadow: 0 0 0 4px rgba(47, 179, 123, .16); }
.stats { display: grid; grid-template-columns: repeat(3, 1fr); gap: 10px; }
.stat { padding: 12px; border: 1px solid #dfe8ea; border-radius: 8px; background: #fff; }
.stat b { display: block; font-size: 18px; color: var(--brand-dark); }
.stat small { color: var(--muted); }
.bars { display: grid; gap: 9px; }
.bar { height: 9px; border-radius: 99px; background: #e3ebee; overflow: hidden; }
.bar i { display: block; height: 100%; border-radius: inherit; background: linear-gradient(90deg, var(--brand), #62b7a2); }
.demo-switch {
  display: flex; align-items: center; justify-content: space-between; padding: 12px 14px; border-radius: 10px;
  background: linear-gradient(135deg, var(--brand), var(--brand-2)); color: #fff; font-weight: 700;
}
.demo-switch span:last-child { padding: 6px 12px; border-radius: 999px; background: rgba(255, 255, 255, .22); font-size: 13px; }

/* ===== 分节 ===== */
.section { padding: 84px 0; }
.section.alt { background: #f1f6f6; }
.section.tight { padding: 56px 0; }
.section-head { max-width: 760px; margin-bottom: 34px; }
h2 { margin: 0 0 14px; font-size: clamp(28px, 4vw, 44px); line-height: 1.12; }
.section-head p { margin: 0; color: var(--muted); font-size: 18px; line-height: 1.7; }
.kicker { display: inline-block; margin-bottom: 10px; color: var(--brand); font-size: 13px; font-weight: 800; letter-spacing: .14em; text-transform: uppercase; }

.grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 16px; }
.grid.two { grid-template-columns: repeat(2, 1fr); }
.card {
  min-height: 200px; padding: 24px; border: 1px solid var(--line); border-radius: 8px;
  background: var(--panel); box-shadow: 0 12px 34px rgba(32, 58, 66, .06);
}
.card.feature { display: flex; flex-direction: column; }
.card.feature .card-actions { margin-top: auto; padding-top: 18px; }
.icon {
  width: 42px; height: 42px; margin-bottom: 18px; border-radius: 8px;
  display: grid; place-items: center; color: #fff; background: var(--brand); font-weight: 900; font-size: 18px;
}
.icon.deep { background: var(--brand-dark); }
.icon.gold { background: var(--accent); }
.card h3 { margin: 0 0 10px; font-size: 20px; line-height: 1.28; }
.card p { margin: 0; color: var(--muted); line-height: 1.72; font-size: 15px; }
.card .list { margin-top: 14px; }

.workflow { display: grid; grid-template-columns: repeat(3, 1fr); gap: 12px; counter-reset: step; }
.workflow.four { grid-template-columns: repeat(4, 1fr); }
.step { position: relative; padding: 22px; border-radius: 8px; border: 1px solid rgba(13, 107, 104, .16); background: #fff; min-height: 150px; }
.step:before {
  counter-increment: step; content: counter(step);
  display: grid; place-items: center; width: 32px; height: 32px; margin-bottom: 16px; border-radius: 50%;
  color: #fff; background: var(--brand); font-weight: 900;
}
.step h3 { margin: 0 0 8px; font-size: 18px; }
.step p { margin: 0; color: var(--muted); line-height: 1.65; font-size: 14px; }

.split { display: grid; grid-template-columns: 1fr 1fr; gap: 18px; align-items: stretch; }
.band { padding: 30px; border-radius: 8px; background: #fff; border: 1px solid var(--line); }
.band h3 { margin: 0 0 12px; font-size: 24px; }
.band.tint { background: var(--water); border-color: rgba(13, 107, 104, .16); }
.list { display: grid; gap: 12px; margin: 0; padding: 0; list-style: none; }
.list li { display: grid; grid-template-columns: 24px 1fr; gap: 10px; color: var(--muted); line-height: 1.65; }
.check { width: 22px; height: 22px; border-radius: 50%; display: grid; place-items: center; color: #fff; background: var(--brand); font-size: 13px; font-weight: 900; margin-top: 2px; }

/* 横幅（网页版入口 / 提示） */
.banner {
  display: grid; grid-template-columns: 1fr auto; gap: 24px; align-items: center;
  padding: 28px 32px; border-radius: 12px;
  background: linear-gradient(135deg, var(--brand-dark), var(--brand)); color: #fff;
  box-shadow: 0 18px 44px rgba(8, 75, 73, .28);
}
.banner h3 { margin: 0 0 8px; font-size: 24px; }
.banner p { margin: 0; color: rgba(255, 255, 255, .82); font-size: 16px; line-height: 1.6; }
.banner .button.secondary { border-color: rgba(255, 255, 255, .3); background: rgba(255, 255, 255, .12); color: #fff; }
.banner .button.secondary:hover { background: rgba(255, 255, 255, .22); }
.note { padding: 16px 18px; border-radius: 8px; background: var(--accent-soft); border: 1px solid rgba(201, 134, 33, .26); color: #73511d; font-size: 14px; line-height: 1.6; }

/* ===== 套餐卡（/vpn/ 从数据库渲染） ===== */
.plan-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 14px; }
.plan { display: flex; flex-direction: column; padding: 22px; border-radius: 10px; border: 1px solid var(--line); background: #fff; box-shadow: 0 12px 34px rgba(32, 58, 66, .06); }
.plan.hot { border-color: var(--brand); box-shadow: 0 16px 40px rgba(13, 107, 104, .16); }
.plan h3 { margin: 0 0 4px; font-size: 20px; }
.plan .quota { color: var(--brand-dark); font-weight: 800; font-size: 15px; margin-bottom: 12px; }
.plan .price { display: flex; align-items: baseline; gap: 6px; flex-wrap: wrap; margin-bottom: 4px; }
.plan .price b { font-size: 28px; color: var(--brand-dark); line-height: 1; }
.plan .price small { color: var(--muted); font-size: 13px; }
.plan .price-alt { color: var(--muted); font-size: 13px; margin-bottom: 12px; }
.plan .saving { display: inline-block; padding: 3px 9px; border-radius: 999px; background: var(--accent-soft); color: #7a5314; font-size: 12px; font-weight: 700; margin-bottom: 12px; }
.plan ul { margin: 0 0 16px; padding: 0; list-style: none; display: grid; gap: 7px; color: var(--muted); font-size: 14px; }
.plan ul li:before { content: "✓ "; color: var(--brand); font-weight: 900; }
.plan .plan-actions { margin-top: auto; }
.plan-note { margin: 18px 0 0; color: var(--muted); font-size: 14px; }

/* FAQ：纯 CSS 折叠 */
.faq details { border: 1px solid var(--line); border-radius: 8px; background: #fff; padding: 0 20px; margin-bottom: 10px; }
.faq summary { cursor: pointer; padding: 16px 0; font-weight: 700; font-size: 16px; list-style: none; }
.faq summary::-webkit-details-marker { display: none; }
.faq summary:before { content: "+"; display: inline-grid; place-items: center; width: 22px; height: 22px; margin-right: 10px; border-radius: 50%; background: var(--soft); color: var(--brand-dark); font-weight: 900; }
.faq details[open] summary:before { content: "–"; }
.faq details p { margin: 0 0 16px 32px; color: var(--muted); line-height: 1.7; }

/* ===== 关注我们 ===== */
.social-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 16px; }
.social-card { display: flex; align-items: center; gap: 18px; padding: 22px 24px; border: 1px solid var(--line); border-radius: 10px; background: #fff; }
.social-card .social-icon { width: 52px; height: 52px; border-radius: 14px; display: grid; place-items: center; color: #fff; flex: none; }
.social-card .social-icon svg { width: 26px; height: 26px; }
.social-card .yt { background: #e62117; }
.social-card .x { background: #111; }
.social-card strong { display: block; font-size: 18px; }
.social-card span { color: var(--muted); font-size: 14px; }
.social-card .button { margin-left: auto; }

/* ===== 下载区 ===== */
.download { padding: 68px 0; background: #0f1a1d; color: #fff; }
.download h2 { margin: 0 auto 12px; text-align: center; }
.download .sub { max-width: 700px; margin: 0 auto 28px; text-align: center; color: rgba(255, 255, 255, .72); line-height: 1.7; font-size: 17px; }
.download-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 12px; width: min(900px, 100%); margin: 0 auto; }
.download-link {
  min-height: 118px; padding: 18px; border-radius: 8px;
  border: 1px solid rgba(255, 255, 255, .16); background: rgba(255, 255, 255, .08);
  display: grid; align-content: center; gap: 12px; color: #fff;
  transition: transform .16s ease, border-color .16s ease, background .16s ease;
}
.download-link:hover { transform: translateY(-2px); border-color: rgba(255, 255, 255, .34); background: rgba(255, 255, 255, .13); }
.download-link.soon { opacity: .55; pointer-events: none; }
.download-link.soon:hover { transform: none; }
.download-icon { width: 30px; height: 30px; color: #fff; }
.download-link strong { display: block; margin-bottom: 4px; font-size: 16px; line-height: 1.25; }
.download-link span { display: block; color: rgba(255, 255, 255, .68); font-size: 13px; line-height: 1.35; }
.download-link em { display: block; margin-top: 4px; font-style: normal; font-size: 12px; color: #ffd08a; }
.download .web-hint { margin: 26px auto 0; text-align: center; color: rgba(255, 255, 255, .78); font-size: 15px; }
.download .web-hint a { color: #8de3d1; font-weight: 700; text-decoration: underline; }

/* ===== 站脚 ===== */
.site-footer { background: linear-gradient(135deg, var(--brand-dark), #062f2e); color: #fff; padding: 22px 18px; }
.site-footer-inner { max-width: 1100px; margin: 0 auto; text-align: center; }
.site-footer a { color: #fff; margin: 0 8px; }
.site-footer a:hover { text-decoration: underline; }
.site-footer .sitemap { display: flex; justify-content: center; gap: 6px 14px; flex-wrap: wrap; margin-bottom: 8px; }
.site-footer .meta { opacity: .85; font-size: .88em; line-height: 1.65; }

/* ===== 文章类页面（支持 / 隐私 / 协议） ===== */
/* ===== 下载说明页（down-windows / down-mac / down-ios / down-android） =====
 * 这几页是说明文档，不是营销首屏：首屏留白、行距和卡片间距都比 .hero 默认值紧凑。
 * 作用域限定在 .download-hero / .download-page / .hero-inner.single，不影响首页和加速器页。 */
.hero.download-hero { padding: 32px 0 26px; }
.hero-inner.single { grid-template-columns: 1fr; gap: 0; align-items: start; }
.hero-inner.single .eyebrow { justify-self: start; padding: 6px 12px; font-size: 13px; }
.hero-inner.single h1 { margin: 14px 0 10px; font-size: clamp(30px, 4.4vw, 46px); line-height: 1.1; }
.hero-inner.single .lead { max-width: 780px; margin: 0; font-size: 16px; line-height: 1.65; }
.download-page .section.tight { padding: 28px 0; }
.download-page .notice { line-height: 1.6; margin-bottom: 14px; }
.download-page .card { min-height: 0; padding: 20px 22px; }
.download-page .card h3 { margin-bottom: 12px; }
.download-page .list { gap: 9px; }
.download-page .list li { line-height: 1.6; font-size: 14.5px; }
.download-page .steps { gap: 7px; line-height: 1.65; font-size: 14.5px; }
/* ===== 电脑版下载页（down-windows / down-mac） ===== */
.download-card {
  display: grid; grid-template-columns: 64px 1fr auto; align-items: center; gap: 18px;
  padding: 20px 22px; border-radius: 12px; border: 1px solid rgba(13, 107, 104, .18);
  background: rgba(255, 255, 255, .9); box-shadow: var(--shadow); margin-top: 20px;
}
.download-card .chip { width: 60px; height: 60px; border-radius: 12px; display: grid; place-items: center; color: #fff; background: var(--brand); }
.download-card .chip svg { width: 32px; height: 32px; }
.download-card h2 { margin: 0 0 4px; font-size: 22px; line-height: 1.2; }
.download-card .meta { margin: 0; color: var(--muted); font-size: 14px; line-height: 1.55; }
.download-card .sha { margin: 6px 0 0; color: var(--muted); font-size: 12px; font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace; word-break: break-all; }
.notice { padding: 16px 18px; border-radius: 8px; background: var(--accent-soft); border: 1px solid rgba(201, 134, 33, .26); color: #73511d; font-size: 14px; line-height: 1.7; margin-bottom: 18px; }
.steps { margin: 0; padding-left: 22px; color: var(--muted); line-height: 1.75; font-size: 15px; display: grid; gap: 8px; }
.steps li::marker { color: var(--brand); font-weight: 800; }

/* ===== 会员登录 ===== */
.auth-shell {
  min-height: 100vh;
  background:
    radial-gradient(circle at 12% 8%, rgba(52, 163, 148, .16), transparent 34%),
    linear-gradient(145deg, #f7fbfa 0%, #fbfcfc 48%, #fff8eb 100%);
}
.auth-header {
  min-height: 64px;
  border-bottom: 1px solid rgba(216, 224, 228, .8);
  background: rgba(251, 252, 252, .90);
  backdrop-filter: blur(16px);
  -webkit-backdrop-filter: blur(16px);
}
.auth-header-inner {
  width: min(920px, calc(100% - 36px)); min-height: 64px; margin: 0 auto;
  display: flex; align-items: center; justify-content: space-between; gap: 18px;
}
.auth-brand {
  display: inline-flex; align-items: center; gap: 10px;
  color: var(--brand-dark); font-size: 18px; font-weight: 800;
}
.auth-brand img { width: 38px; height: 38px; border-radius: 9px; }
.auth-brand small {
  display: block; margin-top: 2px; color: var(--muted);
  font-size: 11px; font-weight: 600; letter-spacing: .12em; line-height: 1;
}
.auth-home-link { color: var(--brand-dark); font-size: 14px; font-weight: 700; }
.auth-main {
  width: min(440px, calc(100% - 32px)); margin: 0 auto;
  padding: clamp(34px, 9vh, 88px) 0 48px;
}
.auth-card {
  padding: clamp(24px, 6vw, 34px); border: 1px solid var(--line); border-radius: 20px;
  background: rgba(255, 255, 255, .96); box-shadow: var(--shadow);
}
.auth-card h1 { margin: 0 0 8px; color: var(--brand-dark); font-size: 28px; line-height: 1.25; }
.auth-card .auth-intro { margin: 0 0 22px; color: var(--muted); }
.auth-form label { display: block; margin-top: 17px; color: var(--ink); font-size: 14px; font-weight: 700; }
.auth-form input {
  width: 100%; margin-top: 7px; padding: 12px 13px;
  border: 1px solid #bdc9ce; border-radius: 9px; outline: none;
  background: #fff; color: var(--ink); font: inherit;
}
.auth-form input:focus {
  border-color: var(--brand); box-shadow: 0 0 0 3px rgba(13, 107, 104, .12);
}
.auth-submit {
  width: 100%; min-height: 46px; margin-top: 24px; padding: 0 18px;
  border: 0; border-radius: 9px; cursor: pointer;
  background: var(--brand); color: #fff; font: inherit; font-weight: 800;
  box-shadow: 0 12px 26px rgba(13, 107, 104, .22);
}
.auth-submit:hover { background: var(--brand-dark); }
/* App 登录页（browser-app-login.php）的注册入口：紧贴登录按钮下方、同宽，
   描边样式与主按钮区分主次。新 class，不影响网站登录页的 .auth-links。
   CSP 是 style-src 'self'，不能写内联 style，只能放这里。 */
.auth-register {
  display: flex; align-items: center; justify-content: center;
  width: 100%; min-height: 46px; margin-top: 12px; padding: 0 18px;
  border: 1.5px solid var(--brand); border-radius: 9px;
  background: #fff; color: var(--brand-dark);
  font-size: 16px; font-weight: 800; text-decoration: none;
}
.auth-register:hover { background: rgba(13, 107, 104, .08); }
.auth-message { margin: 0 0 14px; padding: 10px 12px; border-radius: 9px; font-size: 14px; }
.auth-message.error { color: #991b1b; background: #fff1f2; border: 1px solid #fecdd3; }
.auth-message.success { color: #166534; background: #f0fdf4; border: 1px solid #bbf7d0; }
.auth-links {
  display: flex; justify-content: space-between; gap: 16px; margin-top: 22px;
  color: var(--brand-dark); font-size: 14px; font-weight: 700;
}
.auth-success-mark {
  width: 52px; height: 52px; margin-bottom: 16px; border-radius: 50%;
  display: grid; place-items: center; background: var(--water); color: var(--brand-dark);
  font-size: 26px; font-weight: 900;
}
@media (max-width: 480px) {
  .auth-header-inner { width: calc(100% - 24px); }
  .auth-home-link { display: none; }
  .auth-main { width: calc(100% - 24px); padding-top: 24px; }
  .auth-card { border-radius: 16px; }
}
.check.q { background: var(--accent); }
@media (max-width: 720px) {
  .download-card { grid-template-columns: 1fr; text-align: left; }
  .download-card .button { width: 100%; }
}
.article { max-width: 820px; margin: 0 auto; padding: 40px 22px 64px; }
.article h1 { font-size: 34px; margin: 0 0 6px; }
.article .updated { color: var(--muted); margin: 0 0 24px; font-size: 14px; }
.article section { padding: 22px 24px; border: 1px solid var(--line); border-radius: 10px; background: #fff; margin-bottom: 14px; }
.article h2 { font-size: 20px; margin: 0 0 10px; }
.article p, .article li { color: #35424a; line-height: 1.75; font-size: 15px; }
.article ul { padding-left: 20px; margin: 0; }
.article .en { color: var(--muted); }

/* ===== 响应式 ===== */
@media (max-width: 960px) {
  .hero-inner { grid-template-columns: 1fr; gap: 34px; }
  .grid, .grid.two, .workflow, .workflow.four, .split, .social-grid { grid-template-columns: 1fr; }
  .plan-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .download-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .banner { grid-template-columns: 1fr; }
}
@media (max-width: 620px) {
  .hero-inner, .wrap { width: min(100% - 24px, 1120px); }
  .lead { font-size: 17px; }
  .section { padding: 60px 0; }
  .card, .band, .step, .plan { padding: 20px; }
  .stats { grid-template-columns: 1fr 1fr; }
  .plan-grid, .download-grid { grid-template-columns: 1fr; }
  .social-card { flex-wrap: wrap; }
  .social-card .button { margin-left: 0; width: 100%; }
}
