/* =============================================================================
   别姬（深圳市悟创楠科技有限公司）- Figma 1:1 复刻
   源文件: figma.com/design/HFv1kNJqoI4KPkLQIVx4Ip  node 205057:6448「Frame 别姬」
   画板: 1389 x 3286，底色 #fbf8fc

   >=1389px   完全按 Figma 绝对坐标渲染，像素级还原
   768-1388px 整体等比缩放（zoom），版式不变
   <768px     单栏流式布局（移动端适配，非原稿版式）

   注意：不引 Google Fonts —— 展示机在国内，fonts.googleapis.com 会被墙掉
   导致首屏阻塞。正文一律走系统 CJK 字体栈。

   原稿正文/标题标的是 Inter Regular（西文字体，中文由 Figma 回落到系统 CJK），
   导航项标的是 Source Han Sans CN Bold —— 这里对应 400 / 700 两档。

   🔴 **原稿的画板底色是 #fbf8fc**（极浅的紫白），不是兄弟站的粉/杏 ——
      这个值在 1:1 渲染图里量到的众数就是它，别凭「看图上像白的」改成 #fff。

   🔴 导航「首页」实测墨色 rgb(21,21,21)、其余两项 #282626（同上批各站）。

   🔴 本站**没有品牌字**（只有 logo），也**没有 32px 档**：标题 36px、正文 24px。
      首页标题整段缺失 —— 原稿 s1 区块只有一段正文 + 一张截图，不要自行补标题。

   🔴 行距实测（1:1 原稿渲染图逐行量墨迹带 top 差）：36px 档 33px、24px 档 28px。
      **与 yinian（36/33 一致、24/29）在正文档上不同**，本站 24px 档是 28 不是 29。
      top 按统一公式补（见 yinian/style.css 文件头）：
        top = 墨迹顶 − (fontBoundingBoxAscent − line-height/2)
      Microsoft YaHei 的 fontBoundingBox：fs=24 → asc 28 / fs=36 → asc 42
      代入即 24px 档 = 墨迹顶 + 2、36px 档 = 墨迹顶 + 25.5。

   🔴 正文不用 <br> 硬换行：换行点由「width + CJK 禁则」算出，与原稿逐行一致
      （txt-1 3 行、txt-2 3 行、txt-3 4 行）。**改 width 换行点就跑。**
   ========================================================================== */

*, *::before, *::after { box-sizing: border-box; }

html { -webkit-text-size-adjust: 100%; overflow-x: hidden; }

body { margin: 0; background: #fbf8fc; overflow-x: hidden; }

h1, h2, p { margin: 0; font-weight: inherit; }

img { display: block; }

a { color: inherit; text-decoration: none; }

:root {
  --f-han: "PingFang SC", "Source Han Sans SC", "Noto Sans SC", "Hiragino Sans GB",
           "Microsoft YaHei", sans-serif;

  --c-bg:      #fbf8fc;   /* 画板底色（极浅紫白） */
  --c-ink:     #000;
  --c-nav-cur: #151515;   /* 导航当前项「首页」（实测墨色，非导出的 #d9d9d9） */
  --c-nav-ink: #282626;   /* 导航其余项 */
  --c-cta-bg:  #10100e;   /* 「下载」胶囊按钮 */
  --c-cta-ink: #fdf0e6;
}

.canvas { background: var(--c-bg); }

.stage { width: 1389px; margin: 0 auto; }

.page {
  position: relative;
  width: 1389px;
  height: 3286px;
}

.page section { position: static; }

/* ============================== 顶部导航 ============================== */
.nav {
  position: absolute;
  left: 0; top: 0;
  width: 1389px; height: 160px;
}

.nav-mark {
  position: absolute;
  left: 38px; top: 39px;
  width: 117px; height: 110px;
}

/* 三个导航项 + 下载按钮是一条 gap:60 的 flex（原稿 frame 205091:6387，
   x=466 y=48 w=579 h=92，items-center），算出来的绝对位置正好是
   466 / 571 / 721 / 871 */
.nav-links {
  position: absolute;
  left: 466px; top: 76.5px;
  height: 33px;
  display: flex;
  align-items: center;
  gap: 60px;
}

.nav-links a {
  font-family: var(--f-han);
  font-size: 22px; font-weight: 700; line-height: 33px;
  letter-spacing: 0.66px;
  color: var(--c-nav-ink);
  white-space: nowrap;
  transition: opacity .2s;
}

.nav-links a.is-current { color: var(--c-nav-cur); }

.nav-links a:hover { opacity: .6; }

.nav-cta {
  position: absolute;
  left: 871px; top: 65px;
  width: 120px; height: 56px;
  border-radius: 40px;
  background: var(--c-cta-bg);
  color: var(--c-cta-ink);
  font-family: var(--f-han);
  font-size: 20px; font-weight: 700; line-height: 56px;
  letter-spacing: 0.6px;
  text-align: center;
  transition: opacity .2s;
}

.nav-cta:hover { opacity: .85; }

/* ============================== 标题 ============================== */
.tt {
  position: absolute;
  color: var(--c-ink);
  font-family: var(--f-han);
  font-size: 36px; font-weight: 400; line-height: 33px;
  letter-spacing: 0;
  white-space: nowrap;
}

/* top = 墨迹顶 + 25.5（36px 档），括号里是原稿 y。
   本站只有两段标题（s1 区块没有标题），命名沿用 s2 / s3 */
.tt-2 { left:  94px; top: 1282px; }   /* 原稿 y=1277；墨迹顶 1280.3 + 2 */
.tt-3 { left: 106px; top: 2286px; }   /* 原稿 y=2284；墨迹顶 2284.3 + 2 */

/* ============================== 正文 ============================== */
.txt {
  position: absolute;
  color: var(--c-ink);
  font-family: var(--f-han);
  font-size: 24px; font-weight: 400; line-height: 28px;
  letter-spacing: 0;
}

/* width 决定换行点，别动。top = 墨迹顶 + 2（24px 档） */
.txt-1 { left: 223px; top: 680px; width: 486px; }   /* 原稿框 498；本机换行点须 ≥477 才落成 20 字一行，取 486 */

.txt-2 { left: 106px; top: 1556px; width: 530px; }   /* 原稿框 529；本机要 ≥528 才落成 22 字一行，取 530 */
.txt-3 { left:  79px; top: 2676px; width: 463px; }   /* 原稿框 463（与原稿一致）；本机 19/19/18/2，与原稿 19/19/18/1 差末行的「便捷。」断法 */

/* ============================ App 截图 ============================ */
/* 尺寸 = 原稿显示框 ×2（素材按 2× 导出，retina 下不糊） */
.ph { position: absolute; }

.ph-home   { left: 911px; top:  359px; width: 678px; height: 1466px; }
.ph-cart   { left: 681px; top: 1368px; width: 500px; height: 1080px; }
.ph-detail { left: 987px; top: 1358px; width: 508px; height: 1100px; }
.ph-topup  { left: 598px; top: 2446px; width: 632px; height: 1368px; }
.ph-mine   { left: 987px; top: 2443px; width: 636px; height: 1374px; }

/* ======================= 中屏：整体等比缩放 ======================= */
/* 每档的 zoom 按该区间**最窄**的视口算：(下界 − 20px 滚动条余量) ÷ 1389。
   第一档上界 1408 = 画板 1389 + 19px 滚动条余量。 */
@media (max-width: 1408px) { .stage { zoom: .93; } }
@media (max-width: 1300px) { .stage { zoom: .87; } }
@media (max-width: 1200px) { .stage { zoom: .80; } }
@media (max-width: 1100px) { .stage { zoom: .74; } }
@media (max-width: 1000px) { .stage { zoom: .67; } }
@media (max-width:  900px) { .stage { zoom: .60; } }
@media (max-width:  820px) { .stage { zoom: .55; } }

/* ========================= 窄屏：单栏流式 ========================= */
@media (max-width: 767px) {
  .stage { zoom: 1; width: 100%; }

  .page {
    width: 100%;
    height: auto;
    padding: 96px 20px 48px;
  }

  .nav { left: 0; top: 0; width: 100%; height: 72px; }

  .nav-mark { left: 14px; top: 12px; width: 50px; height: 47px; }

  .nav-links { display: none; }

  .nav-cta {
    left: auto; right: 14px; top: 17px;
    width: 88px; height: 38px;
    font-size: 15px; line-height: 38px;
  }

  .page section {
    display: block;
    margin-bottom: 44px;
  }

  .tt, .txt, .ph {
    position: static;
    white-space: normal;
    width: auto;
  }

  .tt {
    font-size: 24px; line-height: 1.5; letter-spacing: .3px;
    margin-bottom: 10px;
  }

  .txt {
    font-size: 15px; line-height: 1.7; letter-spacing: .3px;
  }

  .ph {
    width: 100%; max-width: 240px; height: auto;
    margin: 20px auto 0;
    border-radius: 8px;
  }
}

/* ================================ 页脚 ================================ */
/* 与 yinian / tianfu / wuchuangnan 三站逐字节相同，改一处要四处一起改 */
.site-footer {
  background: #000;
  color: rgba(255, 255, 255, .72);
  font-family: var(--f-han);
  padding: 40px 24px;
}

.site-footer__inner {
  max-width: 1200px;
  margin: 0 auto;
  text-align: center;
  line-height: 1.9;
}

.site-footer__corp {
  color: #fff;
  font-size: 16px;
  font-weight: 700;
}

.site-footer__addr,
.site-footer__contact {
  font-size: 13px;
}

.site-footer__sep {
  margin: 0 10px;
  color: rgba(255, 255, 255, .35);
}

.site-footer__icp {
  margin-top: 8px;
  font-size: 13px;
}

.site-footer__icp a {
  color: rgba(255, 255, 255, .72);
  transition: color .2s;
}

.site-footer__icp a:hover { color: #fff; }

@media (max-width: 767px) {
  .site-footer { padding: 28px 16px; }
  .site-footer__corp { font-size: 15px; }
  .site-footer__addr,
  .site-footer__contact,
  .site-footer__icp { font-size: 12px; }
  .site-footer__contact span { display: block; }
  .site-footer__contact .site-footer__sep { display: none; }
}
