/* 51暑假活动 · 单文件样式（:root + PC @media；H5 待确认后增补） */
:root {
  --color-bg-page: #3dc0ff;
  --content-width: 1200px;
  --page-design-width: 1920px;
}

*,
*::before,
*::after {
  box-sizing: border-box;
}

html {
  margin: 0;
  padding: 0;
  overflow-x: hidden;
  width: 100%;
}

body {
  margin: 0;
  padding: 0;
  overflow-x: hidden;
  width: 100%;
}

img {
  display: block;
  max-width: 100%;
  height: auto;
}

a {
  text-decoration: none;
  color: inherit;
}

@media (min-width: 768px) {
  body.pc-layout {
    /* 禁止 min-width 撑出横向滚动；窄屏由 .page 等比缩放 */
    min-width: 0;
    width: 100%;
    overflow-x: hidden;
    background: var(--color-bg-page);
    font-family: "Source Han Sans SC", "Noto Sans SC", "PingFang SC",
      "Microsoft YaHei", sans-serif;
  }

  /* 设计画布 1920：居中；viewport < 1920 时由 scripts/pc-fit.js 做 scale */
  .page {
    position: relative;
    left: 50%;
    width: var(--page-design-width);
    margin: 0 0 0 calc(var(--page-design-width) / -2);
    overflow-x: clip;
    overflow-y: visible;
    transform-origin: top center;
    will-change: transform;
  }

  .pc-section {
    position: relative;
    width: 100%;
  }

  .m-only {
    display: none !important;
  }

  /* camp_id=0 时隐藏上分导航 / 上分模块（需压过 display:flex/block） */
  .pc-hero__nav-item[hidden],
  #pc-my-camp[hidden] {
    display: none !important;
  }

  /* —— 模块 1 Hero —— */
  /* 布局：flex 纵向；CTA / Nav 水平 flex 居中；尺寸取自 AST bounds */
  #pc-hero.pc-hero {
    height: 1212px;
    overflow: hidden;
  }

  .pc-hero__bg {
    position: absolute;
    inset: 0;
    z-index: 0;
    pointer-events: none;
  }

  .pc-hero__bg-img {
    width: var(--page-design-width);
    max-width: none;
    height: 1863px;
    position: absolute;
    left: 50%;
    top: 0;
    transform: translateX(-50%);
    object-fit: cover;
    object-position: center top;
  }

  .pc-hero__inner {
    position: relative;
    z-index: 1;
    width: min(100%, var(--content-width));
    max-width: var(--content-width);
    height: 100%;
    margin: 0 auto;
    display: flex;
    flex-direction: column;
    align-items: center;
    /* AST: CTA y=964 → padding-top */
    padding-top: 964px;
  }

  .pc-hero__ctas {
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: center;
    /* AST Group1: 912 宽，两钮 440+440，间距 32 */
    gap: 32px;
    width: 912px;
    height: 140px;
    flex-shrink: 0;
  }

  .pc-hero__cta {
    position: relative;
    display: block;
    width: 440px;
    height: 140px;
    flex-shrink: 0;
    overflow: visible;
  }

  /* 导出含阴影，按 AST 槽位居中叠加 */
  .pc-hero__cta img {
    position: absolute;
    left: 50%;
    top: 64%;
    transform: translate(-50%, -50%);
    width: 487px;
    height: 196px;
    max-width: none;
  }

  .pc-hero__nav {
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: space-between;
    /* AST: 6×186 + 5×gap；总宽约 1200，首项 x=360=内容左缘 */
    width: 100%;
    max-width: 1200px;
    height: 74px;
    margin-top: 34px; /* 1138 - (964+140) = 34 */
    flex-shrink: 0;
  }

  .pc-hero__nav-item {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 186px;
    height: 74px;
    flex-shrink: 0;
  }

  .pc-hero__nav-pic {
    position: absolute;
    left: 50%;
    top: 58%;
    transform: translate(-50%, -50%);
    width: 201px;
    height: 89px;
    z-index: 0;
    margin: 0;
    padding: 0;
    display: block;
  }

  .pc-hero__nav-bg {
    position: absolute;
    left: 0;
    top: 0;
    transform: none;
    width: 201px;
    height: 89px;
    max-width: none;
    z-index: 0;
  }

  .pc-hero__nav-label {
    position: relative;
    z-index: 1;
    font-family: "Source Han Sans SC", "Noto Sans SC", sans-serif;
    font-weight: 900;
    font-size: 28px;
    line-height: 41px;
    color: #fdfdfd;
    text-align: center;
  }

  /* —— 模块 2 选边 —— */
  /* 主布局：flex 列 + grid 5 列；标题/卡片间距取自 AST bounds */
  #pc-pick-side.pc-pick-side {
    height: 1032px;
    overflow: hidden;
  }

  .pc-pick-side__bg {
    position: absolute;
    inset: 0;
    z-index: 0;
    pointer-events: none;
    background: #3dc0ff;
  }

  /* 组1 1 延伸至 y=1863，本模块从 1212 起 → 上移 1212，露出火烈鸟等尾部装饰 */
  .pc-pick-side__bg-hero-tail {
    width: var(--page-design-width);
    max-width: none;
    height: 1863px;
    position: absolute;
    left: 50%;
    top: -1212px;
    transform: translateX(-50%);
  }

  /* 海水背景 452:553 页内 y=1755 → 相对模块 +543 */
  .pc-pick-side__bg-sea {
    width: var(--page-design-width);
    max-width: none;
    height: 4926px;
    position: absolute;
    left: 50%;
    top: 543px; /* 1755-1212 */
    transform: translateX(-50%);
  }

  /* 大海1 在页内 y=1197，本模块从 1212 起 → 上移 15px */
  .pc-pick-side__bg-img {
    width: var(--page-design-width);
    max-width: none;
    height: 1298px;
    position: absolute;
    left: 50%;
    top: -15px;
    transform: translateX(-50%);
  }

  .pc-pick-side__inner {
    position: relative;
    z-index: 1;
    width: min(100%, var(--content-width));
    max-width: var(--content-width);
    margin: 0 auto;
    height: 100%;
    display: flex;
    flex-direction: column;
    align-items: center;
    padding-top: 10px; /* 1222-1212 */
  }

  .pc-pick-side__head {
    position: relative;
    display: flex;
    flex-direction: column;
    align-items: center;
    width: 663px;
    height: 179px;
    flex-shrink: 0;
  }

  .pc-pick-side__title-row {
    position: relative;
    width: 663px;
    height: 140px;
    display: flex;
    flex-direction: row;
    align-items: flex-start;
    justify-content: flex-start;
  }

  /* AST: float x=4030→0, title text x=4162→132, coco x=4601→571；相对标题组 */
  .pc-pick-side__float {
    position: absolute;
    left: 0;
    top: 0;
    width: 140px;
    height: 140px;
    max-width: none;
  }

  .pc-pick-side__title-text {
    position: absolute;
    left: 132px;
    top: 48px; /* 1032-984 */
    width: 432px;
    height: 74px;
    max-width: none;
  }

  .pc-pick-side__coco {
    position: absolute;
    left: 571px;
    top: 34px; /* 1018-984 */
    width: 92px;
    height: 92px;
    max-width: none;
  }

  .pc-pick-side__sub {
    position: absolute;
    left: 54px; /* 4084-4030 */
    top: 127px; /* 1111-984 */
    width: 592px;
    margin: 0;
    padding: 0;
    font-family: "Source Han Sans SC", "Noto Sans SC", sans-serif;
    font-size: 18px;
    font-weight: 500;
    line-height: 26px;
    color: #0f1681;
    text-align: center;
  }

  .pc-pick-side__title {
    width: 663px;
    height: auto;
    max-width: none;
  }

  .pc-pick-side__section-block {
    width: 1199px;
    margin-top: 16px; /* 1417 - (1222+179) ≈ 16 */
    flex-shrink: 0;
  }

  .camp-grid {
    display: grid;
    grid-template-columns: repeat(5, 228px);
    column-gap: 15px;
    row-gap: 2px;
    width: 1199px;
    justify-content: start;
  }

  .camp-card {
    position: relative;
    width: 228px;
    height: 412px;
    display: flex;
    flex-direction: column;
    align-items: center;
  }

  .camp-card__cover {
    position: absolute;
    inset: 0;
    width: 228px;
    height: 412px;
    max-width: none;
    z-index: 0;
  }

  .camp-card__logo {
    position: relative;
    z-index: 1;
    margin-top: 249px;
    height: 24px;
    width: auto;
    max-width: 110px;
    object-fit: contain;
  }

  .camp-card__team {
    position: relative;
    z-index: 1;
    margin: 4px 0 0;
    padding: 0;
    font-size: 14px;
    font-weight: 700;
    line-height: 20px;
    color: #383fb6;
    text-align: center;
  }

  .camp-card__desc {
    position: relative;
    z-index: 1;
    margin: 6px 12px 0;
    padding: 0;
    font-size: 12px;
    font-weight: 500;
    line-height: 17px;
    color: #5a5ea6;
    text-align: center;
  }

  .camp-card__btn {
    position: absolute;
    z-index: 2;
    left: 41px;
    bottom: 17px;
    width: 146px;
    height: 49px;
    display: flex;
    align-items: center;
    justify-content: center;
    box-sizing: border-box;
    background: url("../images/camp-btn-locked-bg.png?v=481") center / 100% 100% no-repeat;
    color: #fff;
    font-family: "Source Han Sans SC", "Noto Sans SC", sans-serif;
    font-size: 18px;
    font-weight: 700;
    line-height: 1;
    letter-spacing: 0.02em;
    text-align: center;
    text-decoration: none;
    text-shadow: 0 1px 2px rgba(0, 20, 60, 0.35);
  }

  .camp-card__btn--active {
    height: 48px;
    bottom: 18px; /* 卡片底对齐：原图 h48，底边与锁定态一致 */
    background-image: url("../images/camp-btn-active-bg.png?v=804");
    text-shadow: 0 1px 2px rgba(80, 40, 0, 0.35);
  }

  /* —— 模块 3 我的本命阵营 —— */
  /* CTA(790:1463) y3420 h84 底边 3504，越过模块底 3488 → 须 overflow 可见并抬高叠层 */
  #pc-my-camp.pc-my-camp {
    height: 1244px;
    overflow: visible;
    z-index: 2;
  }

  .pc-my-camp__bg {
    position: absolute;
    inset: 0;
    z-index: 0;
    pointer-events: none;
    background: #3dc0ff;
    overflow: hidden; /* 背景仍按模块裁切，不盖住下方模块 */
  }

  /* 吉祥物仅 H5 展示 */
  .pc-my-camp__mascot {
    display: none;
  }

  .pc-my-camp__bg-sea {
    width: var(--page-design-width);
    max-width: none;
    height: 4926px;
    position: absolute;
    left: 50%;
    top: -489px; /* 1755-2244 */
    transform: translateX(-50%);
  }

  .pc-my-camp__bg-ocean {
    width: var(--page-design-width);
    max-width: none;
    height: 1298px;
    position: absolute;
    left: 50%;
    top: -1047px; /* 1197-2244 */
    transform: translateX(-50%);
  }

  .pc-my-camp__inner {
    position: relative;
    z-index: 1;
    width: min(100%, var(--content-width));
    max-width: var(--content-width);
    margin: 0 auto;
    height: 100%;
    display: flex;
    flex-direction: column;
    align-items: center;
    padding-top: 64px; /* 2308-2244 */
  }

  .pc-my-camp__head {
    position: relative;
    display: flex;
    flex-direction: column;
    align-items: center;
    width: 398px;
    height: 109px; /* AST Group74 height ≈108.59 */
    flex-shrink: 0;
  }

  .pc-my-camp__title {
    width: 398px;
    height: auto;
    max-width: none;
  }

  .pc-my-camp__tagline {
    position: absolute;
    left: 0;
    right: 0;
    bottom: 0;
    margin: 0;
    font-size: 24px;
    font-weight: 700;
    line-height: 35px;
    color: #0f1681;
    text-align: center;
  }

  .pc-my-camp__section-block {
    position: relative;
    width: 1300px;
    height: 1065px;
    margin-top: 0; /* 2308+109=2417 */
    flex-shrink: 0;
    /* 1300 在 1200 内容栏内居中 → 左缘自然落在 AST x=310，勿再 margin-left:-50 */
  }

  .pc-my-camp__panel {
    position: absolute;
    inset: 0;
    width: 1300px;
    height: 1065px;
    max-width: none;
    z-index: 0;
    pointer-events: none;
  }

  /* 面板内坐标均相对 AST 组7(310,2417)；禁止 flex 流式猜测任务区 */
  .pc-my-camp__content {
    position: relative;
    z-index: 1;
    width: 100%;
    height: 100%;
    box-sizing: border-box;
  }

  .pc-my-camp__status {
    position: absolute;
    left: 0;
    right: 0;
    top: 134px; /* 2551-2417 */
    display: flex;
    flex-direction: column;
    align-items: center;
  }

  .pc-my-camp__team {
    margin: 0;
    font-size: 32px;
    font-weight: 700;
    line-height: 46px;
    color: #0f1681;
    text-align: center;
  }

  .pc-my-camp__heat {
    display: flex;
    flex-direction: row;
    align-items: flex-end;
    justify-content: center;
    gap: 8px;
    margin-top: -9px; /* 2588-(2551+46) */
  }

  /* AST 533:949 — SourceHanSansSC-Heavy 40 / 渐变黄橙 + 投影 */
  .pc-my-camp__heat-num {
    font-family: "Source Han Sans SC", "Noto Sans SC", sans-serif;
    font-size: 40px;
    font-weight: 900;
    line-height: 58px;
    letter-spacing: 0;
    text-align: center;
    background: linear-gradient(
      180deg,
      #ffe923 0%,
      #ff7700 83.17%
    );
    -webkit-background-clip: text;
    background-clip: text;
    color: transparent;
    -webkit-text-fill-color: transparent;
    filter: drop-shadow(0 3px 4px rgba(15, 22, 129, 0.45));
  }

  .pc-my-camp__heat-label {
    font-size: 16px;
    font-weight: 500;
    line-height: 23px;
    color: #0f1681;
    margin-bottom: 10px;
  }

  /* AST 533:960 — 「互动倒计时」16 / 「19」36 / 「天」16，色 #0f1691 */
  .pc-my-camp__countdown {
    position: absolute;
    left: 990px;
    top: -26px; /* 108-134，相对 status */
    margin: 0;
    width: 139px;
    height: 52px;
    display: flex;
    align-items: baseline;
    justify-content: center;
    flex-wrap: nowrap;
    font-family: "Source Han Sans SC", "Noto Sans SC", sans-serif;
    font-size: 16px;
    font-weight: 700;
    line-height: 23px;
    letter-spacing: 0;
    color: #0f1691;
    text-align: center;
  }

  .pc-my-camp__countdown-num {
    font-size: 36px;
    font-weight: 700;
    line-height: 1;
  }

  /* 进度：label x476 / bar x645 y2676 → 面板内 */
  .pc-my-camp__progress {
    position: absolute;
    left: 166px; /* 476-310 */
    top: 114px; /* (2665-2417)-134 */
    display: flex;
    flex-direction: row;
    align-items: center;
    width: 963px; /* 645-476 + 794 */
  }

  .pc-my-camp__progress-label {
    flex-shrink: 0;
    width: 169px; /* 645-476 */
    font-size: 24px;
    font-weight: 700;
    line-height: 35px;
    color: #0f1681;
  }

  .pc-my-camp__bar {
    position: relative;
    width: 794px;
    height: 16px;
    border-radius: 8px;
    background: rgba(15, 22, 129, 0.25);
  }

  .pc-my-camp__bar-fill {
    width: 365px;
    height: 16px;
    border-radius: 8px;
    background: linear-gradient(90deg, #ff8a3d, #ffb347);
  }

  /* tip AST x987 → 相对 bar(645) left 342；y2642 → bar 之上 */
  .pc-my-camp__bar-tip {
    width: 43px;
    height: 28px;
    max-width: none;
    pointer-events: none;
  }

  /* AST 533:958 — SourceHanSansSC-Bold 16 / 白色，叠在进度气泡上 */
  .pc-my-camp__bar-pct {
    position: absolute;
    left: 354px; /* 999-645 */
    top: -34px;
    z-index: 2;
    width: 19px;
    font-family: "Source Han Sans SC", "Noto Sans SC", sans-serif;
    font-size: 16px;
    font-weight: 700;
    line-height: 23px;
    letter-spacing: 0;
    color: #fff;
    text-align: center;
  }

  /* hint AST x646 y2703 */
  .pc-my-camp__hint {
    position: absolute;
    left: 50%;
    top: 152px; /* (2703-2417)-134 */
    transform: translateX(-50%);
    margin: 0;
    width: 620px;
    font-size: 16px;
    font-weight: 500;
    line-height: 26px;
    color: #0f1681;
    text-align: center;
  }

  .pc-my-camp__tasks {
    position: absolute;
    inset: 0;
    margin: 0;
  }

  /* 「双端实时同步」「付费助燃」已在 mycamp-panel 切图内，勿再叠 DOM */

  .pc-my-camp__task-list {
    list-style: none;
    margin: 0;
    padding: 0;
    position: absolute;
    top: 452px; /* 2869-2417 */
    width: 434px; /* name→btn: 0..324+110 */
  }

  /* 左列名 x475；右列名 x1013 */
  .pc-my-camp__task-list--left {
    left: 165px; /* 475-310 */
  }

  .pc-my-camp__task-list--right {
    left: 703px; /* 1013-310 */
  }

  .pc-my-camp__task-list li {
    position: relative;
    height: 51px; /* 行距 AST 51 */
    margin: 0;
    padding: 0;
  }

  .pc-my-camp__task-name {
    position: absolute;
    left: 0;
    top: 0;
    font-size: 18px;
    font-weight: 700;
    line-height: 26px;
    color: #0f1681;
    white-space: nowrap;
  }

  /* 热力相对列：689-475 = 214 */
  .pc-my-camp__task-heat {
    position: absolute;
    left: 214px;
    top: 0;
    font-size: 18px;
    font-weight: 700;
    line-height: 26px;
    color: #0f1681;
    white-space: nowrap;
  }

  .pc-my-camp__task-meta {
    position: absolute;
    left: 0;
    top: 26px;
    font-size: 14px;
    font-weight: 500;
    line-height: 20px;
    color: #5a5ea6;
    white-space: nowrap;
  }

  /* 按钮相对列：799-475 = 324；相对行顶：2863-2869 = -6 */
  .pc-my-camp__task-btn {
    position: absolute;
    left: 324px;
    top: -6px;
    width: 110px;
    height: 37px;
    border: 2px solid #1e4aaa;
    border-radius: 20px;
    background: rgba(180, 220, 255, 0.55);
    color: #0f1681;
    font-size: 16px;
    font-weight: 700;
    cursor: pointer;
  }

  .pc-my-camp__task-btn.is-done {
    border-color: transparent;
    /* background: linear-gradient(180deg, #3a5fbf, #1e3a8a); */
    background: #0f1691;
    color: #fff;
  }

  /* 付费助燃整块按 AST 绝对落位（标签已在面板切图） */
  .pc-my-camp__boost {
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    margin: 0;
    pointer-events: none;
  }

  .pc-my-camp__passes {
    position: absolute;
    left: 121px; /* 431-310 */
    top: 836px; /* 3253-2417 */
    display: flex;
    flex-direction: row;
    gap: 10px; /* 701-431-260 ≈ 10 */
    margin: 0;
    padding: 0;
    pointer-events: auto;
  }

  .pc-my-camp__pass {
    position: relative;
    display: block;
    width: 260px;
    height: 104px;
    flex-shrink: 0;
  }

  .pc-my-camp__pass:nth-child(2),
  .pc-my-camp__pass:nth-child(3) {
    width: 262px;
  }

  .pc-my-camp__pass img {
    width: 100%;
    height: 104px;
    max-width: none;
    object-fit: fill;
  }

  .pc-my-camp__pass-name,
  .pc-my-camp__pass-heat {
    position: absolute;
    z-index: 1;
    left: 137px; /* 568-431 */
    color: #5A3709;
    font-weight: 900;
    line-height: 1;
  }

  .pc-my-camp__pass-name {
    top: 21px; /* 3274-3253 */
    font-size: 24px;
  }

  .pc-my-camp__pass-heat {
    top: 56px; /* 3309-3253 */
    font-size: 20px;
  }

  .pc-my-camp__boost-note {
    position: absolute;
    left: 146px; /* 456-310 */
    top: 959px; /* 3376-2417 */
    margin: 0;
    font-size: 20px;
    font-weight: 700;
    line-height: 35px;
    color: #0F1691;
  }

  /* CTA AST: x=807 y=3420 → 相对面板 left 497 / top 1003 */
  .pc-my-camp__cta-row {
    position: absolute;
    left: 497px; /* 807-310；面板左缘相对内容栏偏移后 */
    top: 1003px; /* AST 3420 - 面板 y2417 */
    width: 305px;
    height: 84px;
    z-index: 5;
  }

  .pc-my-camp__cta {
    position: static;
    left: auto;
    top: auto;
    display: block;
    width: 305px;
    height: 84px;
  }

  .pc-my-camp__cta img {
    width: 305px;
    height: 84px;
    max-width: none;
  }

  /* picture 包裹层：PC 不改变既有绝对坐标 */
  .pc-my-camp__title-pic {
    display: block;
    margin: 0;
    padding: 0;
    line-height: 0;
  }

  .pc-my-camp__bar-tip-pic {
    position: absolute;
    left: 342px;
    top: -34px;
    z-index: 1;
    margin: 0;
    padding: 0;
    line-height: 0;
    pointer-events: none;
  }

  .pc-my-camp__bar-tip-pic .pc-my-camp__bar-tip {
    position: static;
    left: auto;
    top: auto;
  }

  /* —— 模块 4 排行榜「谁快被骑脸了」 —— */
  /* 冰板底边 4488 越过模块底 4461；大海2 光晕跨模块，规则区须叠同一张 ocean-2，禁止用 bg 下延盖住 388 */
  #pc-leaderboard.pc-leaderboard {
    height: 973px;
    overflow: visible;
    z-index: 1; /* 低于 my-camp(2)，高于 rules(0)，冰板可盖住规则顶 */
    position: relative;
  }

  .pc-leaderboard__bg {
    position: absolute;
    inset: 0;
    z-index: 0;
    pointer-events: none;
    background: #3dc0ff;
    overflow: hidden;
  }

  /* 海水完整层 AST 452:552 页内 y=1755 h=4926（组3×3 重叠拼接，禁止再硬切 sea-a/b/c） */
  .pc-leaderboard__bg-sea {
    width: var(--page-design-width);
    max-width: none;
    height: 4926px;
    position: absolute;
    left: 50%;
    top: -1733px; /* 1755-3488 */
    transform: translateX(-50%);
  }

  /* 大海 2：页内 y=3402 */
  .pc-leaderboard__bg-ocean {
    width: var(--page-design-width);
    max-width: none;
    height: 1241px;
    position: absolute;
    left: 50%;
    top: -86px; /* 3402-3488 */
    transform: translateX(-50%);
  }

  .pc-leaderboard__inner {
    position: relative;
    z-index: 1;
    width: min(100%, var(--content-width));
    max-width: var(--content-width);
    margin: 0 auto;
    height: 100%;
    display: flex;
    flex-direction: column;
    align-items: center;
  }

  .pc-leaderboard__head {
    display: flex;
    justify-content: center;
    align-self: flex-start;
    margin-left: 99px; /* AST 标题2 x459 - 内容栏 x360 */
    width: 970px;
    height: 228px;
    flex-shrink: 0;
  }

  .pc-leaderboard__title-pic {
    display: block;
    width: 970px;
    height: 228px;
    margin: 0;
    line-height: 0;
  }

  .pc-leaderboard__title {
    width: 970px;
    height: auto;
    max-width: none;
  }

  /* 冰板 AST 452:669 x360 y3677 → 相对模块 top=189；相对标题重叠 -39 */
  .pc-leaderboard__section-block {
    position: relative;
    width: 1200px;
    height: 811px;
    margin-top: -39px; /* 3677-(3488+228) */
    flex-shrink: 0;
    z-index: 1;
  }

  .pc-leaderboard__board-pic {
    position: absolute;
    inset: 0;
    z-index: 0;
    display: block;
    width: 1200px;
    height: 811px;
    margin: 0;
    line-height: 0;
    pointer-events: none;
  }

  .pc-leaderboard__board {
    position: absolute;
    inset: 0;
    width: 1200px;
    height: 811px;
    max-width: none;
    z-index: 0;
    pointer-events: none;
  }

  .pc-leaderboard__table-wrap {
    position: relative;
    z-index: 1;
    width: 100%;
    height: 100%;
    /* 列表 x414 → 相对板 54；表头 y3725 → 相对板 48 */
    padding: 48px 54px 0;
    box-sizing: border-box;
  }

  /* 列界按表头中心中点：47 / 276.5 / 509 / 744.5 / 977（相对列表 x414） */
  .pc-leaderboard__thead,
  .pc-leaderboard__row {
    display: grid;
    grid-template-columns: 162px 231px 234px 234px 199px;
    width: 1060px;
    align-items: center;
    justify-items: center;
    box-sizing: border-box;
  }

  .pc-leaderboard__thead {
    height: 35px;
    margin: 0;
    font-size: 24px;
    font-weight: 700;
    line-height: 35px;
    color: #0f1691;
    text-align: center;
  }

  .pc-leaderboard__list {
    list-style: none;
    margin: 17px 0 0; /* 3777-(3725+35)=17 */
    padding: 0;
    width: 1060px;
    display: flex;
    flex-direction: column;
    gap: 0;
  }

  .pc-leaderboard__row {
    height: 54px; /* AST 行组高约 54–57；用 60 会把末行顶进 CTA(y4355) */
    border-bottom: 1px solid #88bbfe;
    font-size: 18px;
    font-weight: 700;
    color: #0f1691;
    text-align: center;
    box-sizing: border-box;
  }

  /* 前三名行略高（AST 57/56/55），奖牌不裁切 */
  .pc-leaderboard__row:nth-child(1) {
    height: 57px;
  }

  .pc-leaderboard__row:nth-child(2) {
    height: 56px;
  }

  .pc-leaderboard__row:nth-child(3) {
    height: 55px;
  }

  .pc-leaderboard__rank {
    display: flex;
    align-items: center;
    justify-content: center;
    font-weight: 900;
    font-size: 20px;
    width: 100%;
  }

  .pc-leaderboard__rank img {
    width: auto;
    height: 40px;
    max-width: 50px;
  }

  .pc-leaderboard__camp {
    justify-self: start;
    padding-left: 35px; /* 阵营文案 x610.58 → 相对列表 196.58；列2 起 162 → +35 */
    text-align: left;
    font-weight: 700;
    white-space: nowrap;
  }

  .pc-leaderboard__camp strong {
    font-weight: 700;
    color: #0f1691;
  }

  .pc-leaderboard__camp strong::after {
    content: "/";
  }

  .pc-leaderboard__camp-tail {
    color: #2765ea;
    font-weight: 700;
  }

  .pc-leaderboard__heat {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 4px; /* 873.74→900.26 间距约 26-28.56≈缺口后紧贴 */
  }

  .pc-leaderboard__heat img {
    width: 29px;
    height: 29px;
    max-width: none;
  }

  .pc-leaderboard__num {
    font-weight: 700;
  }

  /* AST 452:747 — 「距离第一  」#0f1691 Bold；「2233」#2765ea Bold */
  .pc-leaderboard__gap {
    font-family: "Source Han Sans SC", "Noto Sans SC", sans-serif;
    font-size: 18px;
    font-weight: 700;
    line-height: 26px;
    letter-spacing: 0;
    color: #0f1691;
    text-align: center;
    white-space: nowrap;
  }

  .pc-leaderboard__gap-label::after {
    content: "  ";
  }

  .pc-leaderboard__gap-num {
    font-weight: 700;
    color: #2765ea;
  }

  /* CTA AST 452:849 x809 y4355 → 相对板 left=449 top=678 */
  .pc-leaderboard__cta {
    position: absolute;
    left: 449px;
    top: 678px;
    display: block;
    width: 300px;
    height: 82px;
    z-index: 2;
  }

  .pc-leaderboard__cta img {
    width: 300px;
    height: 82px;
    max-width: none;
  }

  /* —— 模块 5 规则 —— */
  #pc-rules.pc-rules {
    height: 874px;
    overflow: hidden;
    position: relative;
    z-index: 0;
  }

  .pc-rules__bg {
    position: absolute;
    inset: 0;
    z-index: 0;
    pointer-events: none;
    background: #3dc0ff;
  }

  /* 海水完整层：页内 y=1755；本模块从 4461 起 */
  .pc-rules__bg-sea {
    width: var(--page-design-width);
    max-width: none;
    height: 4926px;
    position: absolute;
    left: 50%;
    top: -2706px; /* 1755-4461 */
    transform: translateX(-50%);
  }

  /* 大海 2：页内 y=3402，承接榜单右下角水花光晕（跨过 4461） */
  .pc-rules__bg-ocean-2 {
    width: var(--page-design-width);
    max-width: none;
    height: 1241px;
    position: absolute;
    left: 50%;
    top: -1059px; /* 3402-4461 */
    transform: translateX(-50%);
  }

  /* 大海 3：页内 y=4359 */
  .pc-rules__bg-ocean {
    width: var(--page-design-width);
    max-width: none;
    height: 1241px;
    position: absolute;
    left: 50%;
    top: -102px; /* 4359-4461 */
    transform: translateX(-50%);
  }

  .pc-rules__inner {
    position: relative;
    z-index: 1;
    width: min(100%, var(--content-width));
    max-width: var(--content-width);
    margin: 0 auto;
    height: 100%;
    display: flex;
    justify-content: center;
  }

  .pc-rules__block {
    width: 1200px;
    display: flex;
    flex-direction: column;
    align-items: center;
  }

  .pc-rules__head-pic {
    display: block;
    width: 1200px;
    line-height: 0;
  }

  .pc-rules__head {
    width: 1200px;
    height: auto;
    max-width: none;
  }

  .pc-rules__body {
    position: relative;
    width: 1200px;
    margin-top: -48px;
  }

  .pc-rules__body-bg-pic {
    display: block;
    width: 1200px;
    line-height: 0;
  }

  .pc-rules__body-bg {
    width: 1200px;
    height: auto;
    max-width: none;
    display: block;
  }

  /* 文案区 AST：x414 y4779；底板 452:723 y4719 → top=60 */
  .pc-rules__copy {
    position: absolute;
    left: 54px; /* 414-360 */
    top: 60px; /* 4779-4719 */
    width: 1096px;
    display: flex;
    flex-direction: column;
    gap: 12px;
  }

  .pc-rules__block-text h2 {
    margin: 0 0 7px;
    font-size: 26px;
    font-weight: 700;
    line-height: 38px;
    color: #0f1691;
  }

  .pc-rules__block-text p {
    margin: 0;
    font-size: 18px;
    font-weight: 500;
    line-height: 26px;
    color: #0f1691;
  }

  .pc-rules__detail p {
    margin: 0 0 14px;
    color: #383a6b;
    font-weight: 500;
  }

  .pc-rules__detail strong {
    color: #0f1691;
    font-weight: 700;
  }

  .pc-rules__block-text + .pc-rules__block-text {
    border-top: 1px solid #88bbfe;
    padding-top: 12px;
  }

  /* —— 模块 6 战报 —— */
  #pc-poster.pc-poster {
    height: 1346px;
    overflow: hidden;
  }

  .pc-poster__bg {
    position: absolute;
    inset: 0;
    z-index: 0;
    pointer-events: none;
    background: #3dc0ff;
  }

  /* 海水完整层：页内 y=1755；本模块从 5335 起（消除 sea-b/c 硬切缝） */
  .pc-poster__bg-sea {
    width: var(--page-design-width);
    max-width: none;
    height: 4926px;
    position: absolute;
    left: 50%;
    top: -3580px; /* 1755-5335 */
    transform: translateX(-50%);
  }

  .pc-poster__bg-ocean {
    width: var(--page-design-width);
    max-width: none;
    height: 1241px;
    position: absolute;
    left: 50%;
    top: -976px; /* 4359-5335 */
    transform: translateX(-50%);
  }

  .pc-poster__bg-footer {
    width: var(--page-design-width);
    max-width: none;
    height: 1090px;
    position: absolute;
    left: 50%;
    top: 256px; /* 5591-5335 */
    transform: translateX(-50%);
  }

  .pc-poster__inner {
    position: relative;
    z-index: 1;
    width: min(100%, 1227px);
    max-width: 1227px;
    margin: 0 auto;
    height: 100%;
    display: flex;
    flex-direction: column;
    align-items: center;
  }

  .pc-poster__head {
    width: 1227px;
    height: 343px;
    display: flex;
    justify-content: center;
    flex-shrink: 0;
  }

  .pc-poster__title {
    width: 1227px;
    height: auto;
    max-width: none;
  }

  .pc-poster__section-block {
    display: flex;
    flex-direction: column;
    align-items: center;
    margin-top: -233px; /* 5445-(5335+343) */
  }

  .pc-poster__frame-wrap {
    position: relative;
    width: 900px;
    height: 1119px;
  }

  .pc-poster__frame-pic {
    display: block;
    width: 900px;
    line-height: 0;
  }

  .pc-poster__frame {
    width: 900px;
    height: 1119px;
    max-width: none;
  }

  /* PC 默认：无战队 Figma 407:105；有战队见 --joined → 452:858 */
  .pc-poster__team,
  .pc-poster__slogan {
    display: none;
  }

  /* Figma 407:104 白底 222×222 r16 · 内图 193 · 相对框 left≈353 top=560 */
  .pc-poster__qr-pic {
    position: absolute;
    left: 352.9px; /* 862.94-510 */
    top: 560px; /* 4759-4199 */
    z-index: 2;
    box-sizing: border-box;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 222px;
    height: 222px;
    padding: 14px; /* (876.94-862.94) */
    background: #fff;
    border-radius: 16px;
    line-height: 0;
  }

  .pc-poster__qr {
    position: static;
    display: block;
    width: 193px;
    height: 193px;
    max-width: none;
  }

  /* Figma 406:89 相对框 left≈312 top=782 · 20px Medium */
  .pc-poster__caption {
    position: absolute;
    left: 287.9px; /* 821.94-510 */
    top: 782px; /* 4981-4199 */
    z-index: 2;
    margin: 0;
    width: 343px;
    height: 29px;
    font-family: "Source Han Sans SC", "Noto Sans SC", "PingFang SC", "Microsoft YaHei", sans-serif;
    font-size: 20px;
    font-weight: 500;
    line-height: normal;
    color: #fff;
    text-align: center;
    word-break: break-word;
  }

  .pc-poster__caption .m-only {
    display: none;
  }

  /* —— PC 有战队 452:858 —— */
  .pc-poster__frame-wrap--joined .pc-poster__team {
    display: block;
    position: absolute;
    left: 251px;
    top: 560px;
    z-index: 2;
    margin: 0;
    width: 448px;
    font-family: "Source Han Sans SC", "Noto Sans SC", "PingFang SC", "Microsoft YaHei", sans-serif;
    font-size: 32px;
    font-weight: 900;
    line-height: normal;
    color: #fff;
    text-align: center;
    word-break: break-word;
  }

  .pc-poster__frame-wrap--joined .pc-poster__slogan {
    display: block;
    position: absolute;
    left: 309px;
    top: 617px;
    z-index: 2;
    margin: 0;
    width: 325px;
    font-family: "Source Han Sans SC", "Noto Sans SC", "PingFang SC", "Microsoft YaHei", sans-serif;
    font-size: 16px;
    font-weight: 400;
    line-height: normal;
    color: #fff;
    text-align: center;
    word-break: break-word;
  }

  .pc-poster__frame-wrap--joined .pc-poster__qr-pic {
    left: 379px;
    top: 663px;
    width: 170px;
    height: 170px;
    padding: 11px;
    border-radius: 16px;
  }

  .pc-poster__frame-wrap--joined .pc-poster__qr {
    width: 148px;
    height: 148px;
  }

  .pc-poster__frame-wrap--joined .pc-poster__caption {
    left: 329px;
    top: 849px;
    width: 275px;
    height: auto;
    font-size: 16px;
  }

  .pc-poster__actions {
    display: flex;
    flex-direction: row;
    gap: 40px;
    margin-top: -21px; /* 6543-(5445+1119)= -21 */
    width: 640px;
    justify-content: center;
  }

  .pc-poster__btn {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 300px;
    height: 82px;
  }

  .pc-poster__btn picture {
    position: absolute;
    inset: 0;
    display: block;
    line-height: 0;
  }

  .pc-poster__btn img {
    position: absolute;
    inset: 0;
    width: 300px;
    height: 82px;
    max-width: none;
    z-index: 0;
  }

  .pc-poster__btn span {
    position: relative;
    top: -5px;
    z-index: 1;
    font-family: "Source Han Sans SC", "Noto Sans SC", sans-serif;
    font-weight: 700;
    text-align: center;
  }

  .pc-poster__btn--gen span {
    font-size: 36px;
    line-height: 52px;
    color: #fff;
  }

  .pc-poster__btn--share span {
    font-size: 32px;
    line-height: 46px;
    color: #853d00;
  }

  /* pick-side picture wrappers（PC 基线；H5 在 max-width 块覆盖） */
  .pc-pick-side__title-pic {
    position: absolute;
    margin: 0;
    padding: 0;
    display: block;
    line-height: 0;
  }

  .pc-pick-side__float-pic {
    left: 0;
    top: 0;
    width: 140px;
    height: 140px;
  }

  .pc-pick-side__title-text-pic {
    left: 132px;
    top: 48px;
    width: 432px;
    height: 74px;
  }

  .pc-pick-side__coco-pic {
    left: 571px;
    top: 34px;
    width: 92px;
    height: 92px;
  }

  .pc-pick-side__title-pic .pc-pick-side__float,
  .pc-pick-side__title-pic .pc-pick-side__title-text,
  .pc-pick-side__title-pic .pc-pick-side__coco {
    position: static;
    left: auto;
    top: auto;
    width: 100%;
    height: 100%;
    max-width: none;
    object-fit: contain;
  }

  .camp-card__cover-pic {
    position: absolute;
    inset: 0;
    z-index: 0;
    margin: 0;
    padding: 0;
    display: block;
    line-height: 0;
    width: 228px;
    height: 412px;
  }

  .camp-card__cover-pic .camp-card__cover {
    position: static;
    inset: auto;
    width: 100%;
    height: 100%;
    max-width: none;
    object-fit: cover;
  }
}

@media (max-width: 767.98px) {
  /* —— H5 全局：设计宽 750 → CSS ÷2 = 375；整页由 scripts/pc-fit.js 按 vw/375 缩放铺满 —— */
  body.pc-layout.mobile-layout {
    min-width: 0;
    width: 100%;
    overflow-x: hidden;
    background: var(--color-bg-page);
    font-family: "Source Han Sans SC", "Noto Sans SC", "PingFang SC",
      "Microsoft YaHei", sans-serif;
  }

  html,
  body {
    overflow-x: hidden; /* 先 hidden，避免未缩放时 375 撑出滚动条缩小 clientWidth */
  }

  .page {
    position: relative;
    width: 375px;
    max-width: none; /* 保持 375 设计宽，交给 transform scale 适配视口 */
    /* 左对齐：与 pc-fit top-left scale 一致，避免窄机居中舍入露出左侧蓝缝 */
    margin: 0;
    overflow-x: clip;
    overflow-y: visible;
    transform-origin: top left;
    /* 连续海水层：稿面 y1553 起；去掉顶栏后 documentY=(designY-188)/2 → 682.5 */
    background-color: #3dc0ff;
    background-image: url("../images/bg-sea-h5-full.png?v=609");
    background-repeat: no-repeat;
    background-size: 375px 4605px; /* 750×9210 ÷2 */
    background-position: center 682.5px;
  }

  .pc-section {
    position: relative;
    width: 100%;
  }

  .pc-only {
    display: none !important;
  }

  .m-only {
    display: block;
  }

  /* camp_id=0 时隐藏上分导航 / 上分模块（需压过 H5 display:flex/block） */
  .pc-hero__nav-item[hidden],
  #pc-my-camp[hidden] {
    display: none !important;
  }

  /* H5 未完成模块按切割隐藏（串行解锁时去掉对应选择器） */

  /* —— H1 Hero（稿面 750×1585 → 375×792.5）—— */
  /* 布局骨架：flex 列；顶栏 flex；nav flex space-between */
  #pc-hero.pc-hero {
    height: 698px; /* 原 793 − 顶栏 95；去掉「暑期活动」顶栏后 KV 顶满 */
    overflow: hidden;
    background: transparent; /* 底缘交给页级海水，避免与选边接缝色差 */
    z-index: 2;
  }

  /* 英雄区底缘铺同一条海水，与 .page / 选边对齐，消灭红框硬缝 */
  #pc-hero.pc-hero::after {
    content: "";
    position: absolute;
    left: 0;
    right: 0;
    bottom: 0;
    z-index: 1;
    height: 0;
    pointer-events: none;
    background-image: url("../images/bg-sea-h5-full.png?v=609");
    background-repeat: no-repeat;
    background-size: 375px 4605px;
    /* 条带顶 documentY=650；海水从 682.5 起 → position 32.5 */
    background-position: center 32.5px;
  }

  .pc-hero__chrome {
    display: none !important; /* H5 不需要返回+「暑期活动」顶栏 */
  }

  .pc-hero__back {
    position: absolute;
    left: 12px; /* 24/2 */
    top: 52px; /* 104/2 */
    display: flex;
    align-items: center;
    justify-content: center;
    width: 22px; /* 44/2 */
    height: 22px;
    line-height: 0;
  }

  .pc-hero__back img {
    width: 22px;
    height: 22px;
    max-width: none;
  }

  .pc-hero__page-title {
    margin: 0;
    padding: 0;
    font-family: "PingFang SC", "Source Han Sans SC", sans-serif;
    font-size: 16px; /* 32/2 */
    font-weight: 600;
    line-height: 20px; /* 40/2 */
    color: #000;
    text-align: center;
  }

  .pc-hero__bg {
    position: absolute;
    left: 0;
    top: 0;
    z-index: 0;
    width: 375px;
    height: 718px; /* 1436/2 */
    pointer-events: none;
    overflow: hidden;
  }

  .pc-hero__bg picture {
    display: block;
    width: 100%;
    height: 100%;
  }

  .pc-hero__bg-img {
    width: 375px;
    max-width: none;
    height: 718px;
    position: static;
    left: auto;
    top: auto;
    transform: none;
    object-fit: cover;
    object-position: center top;
  }

  .pc-hero__inner {
    position: relative;
    z-index: 2;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: flex-end;
    box-sizing: border-box;
    width: 100%;
    max-width: none;
    height: 100%;
    margin: 0;
    padding: 0 12px 0;
  }

  .pc-hero__nav {
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: space-between;
    width: 100%;
    max-width: 351px; /* (750-24-23)/2 ≈ 351.5 */
    height: 30px; /* 60/2 */
    margin-top: 0;
    flex-shrink: 0;
  }

  .pc-hero__nav-item {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 54px; /* 108/2 */
    height: 30px;
    flex-shrink: 0;
  }

  .pc-hero__nav-pic {
    position: absolute;
    inset: 0;
    z-index: 0;
    display: block;
    margin: 0;
    padding: 0;
  }

  .pc-hero__nav-bg {
    position: absolute;
    left: 0;
    top: 0;
    transform: none;
    width: 54px;
    height: 30px;
    max-width: none;
    z-index: 0;
  }

  .pc-hero__nav-label {
    position: relative;
    z-index: 1;
    font-family: "Source Han Sans SC", "Noto Sans SC", sans-serif;
    font-weight: 700;
    font-size: 11.34px; /* 22.68/2 */
    line-height: 16.42px; /* 32.84/2 */
    color: #fff;
    text-align: center;
  }

  /* —— H2 Pick-side —— */
  /* 选边标题 abs1347 → 卡片组底 abs4427：高度 (4427-1347)/2=1540
     下一模块顶接卡片底；「今天开始上分」标题 abs4457，间距 30/2=15
     勿再加长模块高度，否则与 my-camp 之间会出现大块空白 */
  #pc-pick-side.pc-pick-side {
    display: flex;
    flex-direction: column;
    height: 1540px;
    overflow: hidden;
    z-index: 3;
  }

  #pc-pick-side.pc-pick-side::after {
    content: none;
  }

  .pc-pick-side__bg {
    position: absolute;
    inset: 0;
    z-index: 0;
    pointer-events: none;
    /* 透出 .page 连续海水，不再铺独立浅色水纹（红框硬缝根因） */
    background: transparent;
  }

  .pc-pick-side__bg-hero-tail,
  .pc-pick-side__bg-sea,
  .pc-pick-side__bg-img {
    display: none;
  }

  .pc-pick-side__inner {
    position: relative;
    z-index: 1;
    display: flex;
    flex-direction: column;
    align-items: center;
    box-sizing: border-box;
    width: 100%;
    max-width: none;
    height: 100%;
    margin: 0;
    padding-top: 0;
  }

  .pc-pick-side__head {
    position: relative;
    display: flex;
    flex-direction: column;
    align-items: center;
    width: 331.5px; /* 663/2 */
    height: 98.5px; /* 197/2 */
    flex-shrink: 0;
  }

  .pc-pick-side__title-row {
    position: relative;
    width: 331.5px;
    height: 70px; /* 140/2 */
  }

  .pc-pick-side__title-pic {
    position: absolute;
    margin: 0;
    padding: 0;
    display: block;
    line-height: 0;
  }

  .pc-pick-side__float-pic {
    left: 0;
    top: 0;
    width: 70px; /* 140/2 */
    height: 70px;
  }

  .pc-pick-side__title-text-pic {
    /* 635:1606 Group2 renderBounds（含白投影）457.37×99.37 ÷2 */
    left: 59.5px; /* (163.3-44)/2 */
    top: 21px; /* (1627.3-1585)/2 */
    width: 228.5px;
    height: 49.5px;
  }

  .pc-pick-side__coco-pic {
    left: 285.5px; /* 571/2 */
    top: 17px; /* 34/2 */
    width: 46px; /* 92/2 */
    height: 46px;
  }

  .pc-pick-side__title-pic .pc-pick-side__float,
  .pc-pick-side__title-pic .pc-pick-side__title-text,
  .pc-pick-side__title-pic .pc-pick-side__coco {
    position: static;
    left: auto;
    top: auto;
    width: 100%;
    height: 100%;
    max-width: none;
    object-fit: contain;
  }

  /* 635:1606 含投影切图按槽位拉伸，避免 contain 缩小裁影 */
  .pc-pick-side__title-pic .pc-pick-side__title-text {
    object-fit: fill;
  }

  .pc-pick-side__sub {
    position: absolute;
    left: 14px;
    top: 63.5px;
    width: 317.5px;
    margin: 0;
    padding: 0;
    font-size: 12px;
    font-weight: 500;
    line-height: 17.5px;
    color: #0f1691;
    text-align: center;
  }

  .pc-pick-side__section-block {
    width: 330px; /* (320×2+20)/2 */
    margin-top: -3.5px; /* (1775-1585-197)/2 */
    flex-shrink: 0;
  }

  .camp-grid {
    display: grid;
    grid-template-columns: repeat(2, 160px); /* 320/2 */
    column-gap: 10px; /* 20/2 */
    row-gap: 0;
    width: 330px;
    justify-content: center;
  }

  .camp-card {
    position: relative;
    display: block;
    width: 160px; /* 320/2 — 654:2129 卡片 */
    height: 289px; /* 578/2 */
  }

  .camp-card__cover-pic {
    position: absolute;
    inset: 0;
    z-index: 0;
    margin: 0;
    padding: 0;
    display: block;
    line-height: 0;
    width: 160px;
    height: 289px;
  }

  .camp-card__cover-pic .camp-card__cover {
    position: static;
    width: 100%;
    height: 100%;
    max-width: none;
    object-fit: cover;
  }

  /* 游戏名矢量组（如 王者荣耀）相对卡片 top≈349.2 ÷2；圆形标在封面图内 */
  .camp-card__logo {
    position: absolute;
    z-index: 1;
    left: 50%;
    top: 174.5px; /* (1886.24-1537)/2 */
    transform: translateX(-50%);
    margin: 0;
    height: 16.5px; /* 33.19/2 */
    width: auto;
    max-width: 72px; /* 143.08/2 */
    object-fit: contain;
  }

  .camp-card__team {
    position: absolute;
    z-index: 1;
    left: 0;
    right: 0;
    top: 193.5px; /* (1924.2-1537)/2 */
    margin: 0;
    padding: 0;
    font-size: 9.5px; /* 19/2 */
    font-weight: 700;
    line-height: 14px; /* ~28/2 */
    color: #383fb6;
    text-align: center;
  }

  .camp-card__desc {
    position: absolute;
    z-index: 1;
    left: 32.5px; /* (9631.35-9566)/2 */
    top: 212.5px; /* (1962.08-1537)/2 */
    width: 96px; /* 192/2 */
    margin: 0;
    padding: 0;
    font-size: 8px; /* 16/2 */
    font-weight: 500;
    line-height: 11.5px; /* ~23.17/2 */
    color: #5a5ea6;
    text-align: center;
  }

  /* H5：无字底图 + 文案「我站这个」（稿面按钮 205×69 ÷2） */
  .camp-card__btn {
    position: absolute;
    z-index: 2;
    left: 29.5px; /* (9624.95-9566)/2 */
    top: 241.5px; /* (2020-1537)/2 */
    bottom: auto;
    transform: none;
    width: 102.5px; /* 204.91/2 */
    height: 34.5px; /* 68.77/2 */
    display: flex;
    align-items: center;
    justify-content: center;
    box-sizing: border-box;
    padding: 0;
    font-size: 11px; /* 约 22/2，贴近稿面按钮字重 */
    font-weight: 700;
    line-height: 1;
    letter-spacing: 0.02em;
    color: #fff;
    text-shadow: 0 1px 2px rgba(0, 20, 60, 0.35);
    background-image: url("../images/camp-btn-locked-h5-bg.png?v=676");
    background-size: 100% 100%;
    background-repeat: no-repeat;
  }

  .camp-card__btn .m-only {
    display: block !important;
    margin: 0;
    padding: 0;
    line-height: 1;
    /* 思源黑体视觉中心略偏下，微上移对齐稿面 */
    transform: translateY(-0.5px);
  }

  .camp-card__btn--active {
    height: 34.5px;
    top: 241.5px;
    bottom: auto;
    /* 激活态：稿面按钮底图 camp-btn-active-bg */
    background-image: url("../images/camp-btn-active-bg.png?v=804");
    text-shadow: 0 1px 2px rgba(80, 40, 0, 0.35);
  }

  /* 激活态文案：「我的主队」 */
  .camp-card__btn--active .m-only {
    font-size: 0;
    line-height: 0;
    transform: none;
  }

  .camp-card__btn--active .m-only::after {
    content: "我的主队";
    display: block;
    font-size: 11px;
    font-weight: 700;
    line-height: 1;
    letter-spacing: 0.02em;
    color: #fff;
    text-shadow: 0 1px 2px rgba(80, 40, 0, 0.35);
    transform: translateY(-0.5px);
  }

  /* —— H3 My-camp —— */
  /* 选边收于卡片底 abs4427 后本模块接上；元素 top=(绝对Y-4427)/2
     稿面背景组虽在 4300，DOM 上模块顶与选边卡片底对齐，避免两模块间空白
     高度 (6714-4427)/2=1143.5，底仍落到排行榜顶 abs6714 */
  #pc-my-camp.pc-my-camp {
    display: block;
    height: 1143.5px;
    overflow: visible;
    z-index: 4;
  }

  .pc-my-camp__bg {
    position: absolute;
    inset: 0;
    z-index: 0;
    pointer-events: none;
    background-color: #3dc0ff;
    overflow: hidden;
  }

  .pc-my-camp__bg-sea,
  .pc-my-camp__bg-ocean {
    display: none;
  }

  .pc-my-camp__bg-water {
    position: absolute;
    left: 0.25px; /* ~9520.5-9520 */
    width: 374.5px; /* 749/2 */
    height: 755px; /* 1510/2 */
    max-width: none;
    object-fit: fill;
  }

  .pc-my-camp__bg-water--0 {
    top: -663px; /* 相对模块顶 abs4427 */
  }

  .pc-my-camp__bg-water--a {
    top: 36px;
  }

  .pc-my-camp__bg-water--b {
    top: 764.5px;
  }

  .pc-my-camp__panels {
    position: absolute;
    left: 0;
    top: 0;
    z-index: 1;
    width: 100%;
    height: 100%;
    pointer-events: none;
  }

  .pc-my-camp__card-bleed {
    /* 选边模块已完整容纳末行卡片，不再需要底边伸入装饰，否则会与末行重叠重影 */
    display: none;
  }

  /* 643:1984 Rectangle 16：abs 4639 → (4639-4427)/2 */
  .pc-my-camp__panel-dim {
    position: absolute;
    left: 25px; /* 50/2 */
    top: 106px;
    z-index: 0;
    width: 323.5px; /* 647/2 */
    height: 920.5px; /* 1841/2 */
    border-radius: 18.5px; /* 37/2 */
    background: rgba(6, 21, 120, 0.68);
    pointer-events: none;
  }

  .pc-my-camp__deco-title {
    /* 651:2093：abs 4541 → (4541-4427)/2 */
    position: absolute;
    left: 0;
    top: 57px;
    z-index: 3;
    width: 375px;
    height: 242.5px; /* 485/2 */
    max-width: none;
    object-fit: fill;
  }

  /* 635:1967 顶部玻璃板 abs 4617 → (4617-4427)/2 */
  .pc-my-camp__panel-top {
    position: absolute;
    left: 22px; /* 44/2 */
    top: 95px;
    z-index: 1;
    display: block;
    width: 331.5px; /* 663/2 */
    height: 204.5px; /* 409/2 */
    max-width: none;
    object-fit: fill;
  }

  .pc-my-camp__panel-mid {
    position: absolute;
    left: 22px;
    top: 309px; /* abs 5045 → (5045-4427)/2 */
    z-index: 1;
    width: 329.5px; /* 659/2 */
    height: 523.5px; /* 1047/2 */
    max-width: none;
    object-fit: fill;
  }

  /* Group97 水花边框：top=(absY-4427)/2 */
  .pc-my-camp__wave {
    position: absolute;
    left: 0;
    z-index: 2;
    width: 375px;
    height: 110.5px; /* 221/2 */
    max-width: none;
    object-fit: fill;
  }

  .pc-my-camp__wave--1 {
    top: 271.5px; /* abs 4970 */
  }

  .pc-my-camp__wave--2 {
    top: 370.5px; /* abs 5168 */
  }

  .pc-my-camp__wave--3 {
    top: 468.5px; /* abs 5364 */
  }

  .pc-my-camp__wave--4 {
    top: 561.5px; /* abs 5550 */
  }

  .pc-my-camp__wave--5 {
    top: 663.5px; /* abs 5754 */
  }

  .pc-my-camp__wave--6 {
    top: 685.5px; /* abs 5798 */
  }

  .pc-my-camp__wave--7 {
    top: 783px; /* abs 5993 */
  }

  .pc-my-camp__panel-boost-bg {
    position: absolute;
    left: 24px; /* 48/2 */
    top: 830.5px; /* abs 6088 */
    width: 326px; /* 652/2 */
    height: 233.5px; /* 467/2 */
    max-width: none;
    object-fit: fill;
  }

  .pc-my-camp__beach {
    position: absolute;
    left: 1.5px; /* 3/2 */
    top: 838.5px; /* abs 6104 */
    width: 373.5px; /* 747/2 */
    height: 245.5px; /* 491/2 */
    max-width: none;
    object-fit: fill;
  }

  .pc-my-camp__mascot {
    display: block;
    position: absolute;
    left: 245px; /* 490/2 */
    top: 936px; /* abs 6299 */
    z-index: 5; /* 高于 .pc-my-camp__inner(2)，避免年卡挡住人物 */
    width: 130px; /* 260/2 */
    height: 147.5px; /* 295/2 */
    max-width: none;
    object-fit: contain;
    pointer-events: none;
  }

  .pc-my-camp__inner {
    position: relative;
    z-index: 2;
    display: block;
    box-sizing: border-box;
    width: 100%;
    max-width: none;
    height: 100%;
    margin: 0;
    padding: 0;
  }

  .pc-my-camp__head {
    /* 635:1943 Group74 abs 4457 → (4457-4427)/2=15 */
    position: absolute;
    left: 50%;
    top: 15px;
    z-index: 5;
    display: flex;
    flex-direction: column;
    align-items: center;
    width: 212.5px; /* 635:1945 renderBounds 宽 */
    height: 54.5px; /* 108.59/2 */
    margin: 0;
    transform: translateX(-50%);
    overflow: visible;
  }

  /* 标题背后白色光晕底：对应 Group37 白投影 + 水面高光衬底，提升蓝底上可读性 */
  .pc-my-camp__head::before {
    content: "";
    position: absolute;
    left: 50%;
    top: -18px;
    z-index: 0;
    width: 375px;
    height: 80px;
    transform: translateX(-50%);
    pointer-events: none;
    /* background:
      radial-gradient(
        70% 55% at 50% 42%,
        rgba(255, 255, 255, 0.95) 0%,
        rgba(255, 255, 255, 0.55) 38%,
        rgba(255, 255, 255, 0.12) 68%,
        rgba(255, 255, 255, 0) 100%
      ); */
    background-image: url("../images/jintian.png?v=430");
    background-size: 100% 100%;
  }

  .pc-my-camp__title-pic {
    /* 635:1945 Group37 renderBounds（含白投影）425.49×91.37 ÷2 */
    position: relative;
    z-index: 1;
    display: block;
    width: 212.5px;
    height: 45.5px;
    margin: -3.5px 0 0; /* (4450.3-4457)/2 投影上延 */
    padding: 0;
    line-height: 0;
    /* DROP_SHADOW：offsetY 6.982、radius 12.684、#fff → ÷2 */
    /* filter:
      drop-shadow(0 3.5px 6.3px #fff)
      drop-shadow(0 0 5px rgba(255, 255, 255, 0.95))
      drop-shadow(0 1px 10px rgba(255, 255, 255, 0.75)); */
  }

  .pc-my-camp__title {
    width: 100%;
    height: 100%;
    max-width: none;
    object-fit: fill;
  }

  .pc-my-camp__tagline {
    position: absolute;
    left: 0;
    right: 0;
    top: 36.5px; /* (4530.59-4457)/2 */
    bottom: auto;
    z-index: 1;
    margin: 0;
    font-size: 12px; /* 24/2 */
    font-weight: 700;
    line-height: 17.5px; /* 35/2 */
    color: #0f1681;
    text-align: center;
    text-shadow:
      0 0 4px #fff,
      0 0 8px rgba(255, 255, 255, 0.9),
      0 1px 2px rgba(255, 255, 255, 0.8);
  }

  .pc-my-camp__section-block {
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    margin: 0;
  }

  .pc-my-camp__panel {
    display: none;
  }

  .pc-my-camp__content {
    position: absolute;
    left: 0;
    top: 0;
    z-index: 2;
    width: 100%;
    height: 100%;
    box-sizing: border-box;
  }

  .pc-my-camp__status {
    position: absolute;
    left: 50%;
    top: 121px; /* abs 4669 → (4669-4427)/2 */
    display: flex;
    flex-direction: column;
    align-items: center;
    width: 323.5px; /* 647/2 */
    margin: 0;
    transform: translateX(-50%);
  }

  .pc-my-camp__team {
    margin: 0;
    font-size: 16px;
    font-weight: 700;
    line-height: 29px;
    color: #0f1691;
    text-align: center;
  }

  .pc-my-camp__heat {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: flex-start;
    gap: 0;
    margin-top: 0;
  }

  .pc-my-camp__heat-num {
    font-family: "Source Han Sans SC", "Noto Sans SC", sans-serif;
    font-size: 43.5px;
    font-weight: 900;
    line-height: 43.5px;
    letter-spacing: 0;
    text-align: center;
    background: linear-gradient(180deg, #ffe923 0%, #ff7700 83.17%);
    -webkit-background-clip: text;
    background-clip: text;
    color: transparent;
    -webkit-text-fill-color: transparent;
  }

  .pc-my-camp__heat-num-img {
    display: block;
    width: 74.5px;
    height: 27.5px;
    margin-top: 7px; /* (4953-4907-58)/2 近似 */
    max-width: none;
    object-fit: contain;
  }

  .pc-my-camp__heat-label {
    font-size: 8px;
    font-weight: 500;
    line-height: 11.5px;
    color: #0f1691;
    margin: 0;
  }

  /* 643:1980 活动倒计时19天：整段同色同号，勿放大「19」 */
  .pc-my-camp__countdown {
    position: absolute;
    left: 232.5px; /* (515-50)/2，相对 status */
    right: auto;
    top: 147.5px; /* (5202-4907)/2 */
    z-index: 2;
    display: block;
    width: 71.5px; /* 143/2 */
    height: 14.5px; /* 29/2 */
    margin: 0;
    font-family: "Source Han Sans SC", "Noto Sans SC", "PingFang SC", "Microsoft YaHei", sans-serif;
    font-size: 10px; /* 20/2 */
    font-weight: 500;
    line-height: 14.5px; /* ≈28.96/2 */
    letter-spacing: 0;
    color: #cb4f05;
    text-align: center;
    white-space: nowrap;
  }

  .pc-my-camp__countdown-prefix.m-only {
    display: inline;
  }

  .pc-my-camp__countdown-num {
    font-size: inherit;
    font-weight: inherit;
    line-height: inherit;
    color: inherit;
  }

  .pc-my-camp__progress {
    position: absolute;
    left: 19.75px; /* 45.5 - (375-323.5)/2 */
    top: 115px; /* (5137-4907)/2 */
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    width: 283.5px;
    max-width: 283.5px;
    margin: 0;
  }

  .pc-my-camp__progress-label {
    position: absolute;
    left: 0;
    top: -26.5px; /* (5084-5137)/2 */
    margin: 0;
    font-size: 10.5px;
    font-weight: 700;
    line-height: 17.5px;
    color: #0f1691;
    white-space: nowrap;
  }

  .pc-my-camp__bar {
    position: relative;
    width: 283.5px;
    max-width: 283.5px;
    height: 12px;
    border-radius: 6px;
    background: rgba(15, 22, 129, 0.35);
  }

  .pc-my-camp__bar-fill {
    width: 182.5px;
    height: 12px;
    border-radius: 6px;
    background: linear-gradient(90deg, #ffe923 0%, #ff7700 100%);
  }

  .pc-my-camp__bar-tip-pic {
    position: absolute;
    left: 164.5px;
    top: -23.5px;
    z-index: 1;
    margin: 0;
    padding: 0;
    line-height: 0;
    pointer-events: none;
  }

  .pc-my-camp__bar-tip {
    position: static;
    width: 31.5px;
    height: 20.5px;
    max-width: none;
  }

  .pc-my-camp__bar-pct {
    position: absolute;
    left: 173px;
    top: -24px;
    z-index: 2;
    width: 14.5px;
    font-size: 8px;
    font-weight: 700;
    line-height: 17.5px;
    color: #fff;
    text-align: center;
  }

  .pc-my-camp__hint {
    position: absolute;
    left: 19.75px;
    top: 133px; /* (5173-4907)/2 */
    transform: none;
    box-sizing: border-box;
    width: 167.5px;
    max-width: 167.5px;
    margin: 0;
    font-size: 8px;
    font-weight: 500;
    line-height: 14.5px;
    color: #0f1691;
    text-align: left;
  }

  .pc-my-camp__tasks {
    position: absolute;
    left: 50%;
    top: 352px; /* abs 5131 → (5131-4427)/2 */
    display: flex;
    flex-direction: column;
    align-items: center;
    width: 286px;
    margin: 0;
    padding: 0;
    transform: translateX(-50%);
  }

  .pc-my-camp__sync {
    position: absolute;
    left: 50%;
    top: -52.5px; /* (5264-5369)/2 */
    z-index: 2;
    width: 133.5px;
    height: 33px;
    margin: 0;
    transform: translateX(-50%);
    object-fit: contain;
  }

  .pc-my-camp__task-list {
    position: static;
    width: 286px;
    margin: 0;
    padding: 0;
  }

  .pc-my-camp__task-list--right {
    margin-top: 0;
  }

  .pc-my-camp__task-list li {
    position: relative;
    display: block;
    box-sizing: border-box;
    width: 286px;
    min-height: 34.5px;
    height: 34.5px;
    margin: 0 0 12px;
    padding: 0;
  }

  .pc-my-camp__task-list--left li:nth-child(3) {
    height: 37.5px; /* 75/2 */
    min-height: 37.5px;
  }

  .pc-my-camp__task-list--left li:nth-child(4) {
    height: 36.5px;
    min-height: 36.5px;
  }

  .pc-my-camp__task-list--left li:nth-child(5) {
    height: 35.5px;
    min-height: 35.5px;
  }

  /* 右列不再按 nth-child(2) 抬高：接口顺序变化后短标题「分享海报」会被误套成 58px 双行 */

  .pc-my-camp__task-name {
    position: absolute;
    left: 0;
    top: 0;
    max-width: 120px;
    font-size: 14px;
    font-weight: 700;
    line-height: 20px;
    color: #0f1691;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
  }

  .pc-my-camp__task-heat {
    position: absolute;
    left: 124px;
    top: 0;
    margin: 0;
    font-size: 13px;
    font-weight: 700;
    line-height: 19px;
    color: #0f1691;
    white-space: nowrap;
  }

  .pc-my-camp__task-meta {
    position: absolute;
    left: 1.5px;
    top: 19.5px;
    margin: 0;
    max-width: 200px;
    font-size: 10.5px;
    font-weight: 500;
    line-height: 15px;
    color: #5a5ea6;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
  }

  /* 644:2019 Rectangle 9：144×55，描边 1.5 #0f1691，填充隐藏，圆角 32.25 → ÷2 */
  .pc-my-camp__task-btn {
    position: absolute;
    right: 0;
    top: 0;
    left: auto;
    box-sizing: border-box;
    width: 72px; /* 144/2 */
    height: 27.5px; /* 55/2 */
    border: 0.75px solid #0f1691; /* 1.5/2 */
    border-radius: 16.125px; /* 32.25/2 */
    background: transparent;
    color: #0f1691;
    font-family: "Source Han Sans SC", "Noto Sans SC", "PingFang SC", "Microsoft YaHei", sans-serif;
    font-size: 13px; /* 26/2 */
    font-weight: 500;
    line-height: 1;
    padding: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    text-align: center;
  }

  .pc-my-camp__task-btn.is-done {
    border-color: transparent;
    background: #0f1691;
    color: #fff;
  }

  .pc-my-camp__boost {
    position: absolute;
    left: 50%;
    top: 819.5px; /* abs 6066 → (6066-4427)/2 */
    display: flex;
    flex-direction: column;
    align-items: center;
    width: 323.5px;
    margin: 0;
    transform: translateX(-50%);
    pointer-events: auto;
  }

  /* 651:2099 图层15 + 651:2100 付费助燃文案 = Group94 267×66 → ÷2；切图含整组 */
  .pc-my-camp__boost-label {
    display: block;
    width: 133.5px; /* 267/2 */
    height: 33px; /* 66/2 */
    margin: 0 0 12.5px; /* 到通行证 (6395-6304-66)/2 */
    max-width: none;
    object-fit: fill; /* Figma scaleMode FILL */
  }

  .pc-my-camp__passes {
    position: static;
    display: flex;
    flex-direction: row;
    align-items: flex-start;
    justify-content: center;
    gap: 12px;
    width: 100%;
    margin: 0;
    padding: 0;
    pointer-events: auto;
  }

  .pc-my-camp__pass {
    position: relative;
    display: block;
    width: 81px;
    height: 123px;
    flex-shrink: 0;
  }

  .pc-my-camp__pass:nth-child(2),
  .pc-my-camp__pass:nth-child(3) {
    width: 81px;
  }

  .pc-my-camp__pass img {
    width: 81px;
    height: 123px;
    max-width: none;
    object-fit: contain;
  }

  .pc-my-camp__pass-name,
  .pc-my-camp__pass-heat {
    display: none;
  }

  .pc-my-camp__boost-note {
    position: static;
    margin: 8px 0 0;
    font-size: 10px;
    font-weight: 700;
    line-height: 17.5px;
    color: #0f1691;
    text-align: center;
  }

  .pc-my-camp__cta-row {
    position: absolute;
    left: 43.5px; /* 87/2 */
    top: 1075.5px; /* abs 6578 → (6578-4427)/2 */
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: flex-start;
    gap: 8.5px;
    width: 308.5px;
    margin: 0;
    padding: 0;
  }

  .pc-my-camp__cta {
    position: static;
    display: block;
    flex-shrink: 0;
    width: 150px;
    height: 41px;
  }

  .pc-my-camp__cta img {
    width: 150px;
    height: 41px;
    max-width: none;
    object-fit: contain;
  }

  .pc-my-camp__cta--recharge {
    width: 150px;
    height: 41px;
  }

  /* —— H4 Leaderboard（稿面 750×1382 → 375×691）—— */
  #pc-leaderboard.pc-leaderboard {
    display: block;
    height: 691px;
    overflow: hidden;
    z-index: 1;
  }

  .pc-leaderboard__bg {
    position: absolute;
    inset: 0;
    z-index: 0;
    pointer-events: none;
    background-color: #3dc0ff;
    overflow: hidden;
  }

  .pc-leaderboard__bg-sea,
  .pc-leaderboard__bg-ocean {
    display: none;
  }

  .pc-leaderboard__bg::before {
    content: "";
    position: absolute;
    left: 0;
    top: -379.5px; /* water-b 相对模块 (6193.8-6952)/2 */
    width: 375px;
    height: 755px;
    background: url("../images/bg-mycamp-water-b-h5.png?v=969") left top / 374.5px 755px no-repeat;
  }

  .pc-leaderboard__bg::after {
    content: "";
    position: absolute;
    left: 0;
    top: 231.5px; /* (7415.5-6952)/2 */
    width: 375px;
    height: 624.5px; /* 1249/2 */
    background: url("../images/bg-rank-water-h5.png?v=191") left top / 374.5px 624.5px no-repeat;
  }

  .pc-leaderboard__inner {
    position: relative;
    z-index: 1;
    display: block;
    width: 100%;
    max-width: none;
    height: 100%;
    margin: 0;
  }

  .pc-leaderboard__head {
    position: absolute;
    left: 0;
    top: 0;
    z-index: 2;
    display: block;
    width: 375px;
    height: 105px; /* 210/2 */
    margin: 0;
  }

  .pc-leaderboard__title-pic {
    display: block;
    width: 375px;
    height: 105px;
    margin: 0;
    line-height: 0;
  }

  .pc-leaderboard__title {
    width: 375px;
    height: 105px;
    max-width: none;
    object-fit: fill;
  }

  .pc-leaderboard__section-block {
    position: absolute;
    left: 0;
    top: 81px; /* (7114-6952)/2 */
    z-index: 1;
    width: 375px;
    height: 610px; /* 可见至模块底 */
    margin: 0;
  }

  .pc-leaderboard__board-pic {
    position: absolute;
    left: 0;
    top: 0;
    z-index: 0;
    display: block;
    width: 375px;
    height: 635.5px; /* 1271/2 */
    margin: 0;
    line-height: 0;
    pointer-events: none;
  }

  .pc-leaderboard__board {
    width: 375px;
    height: 635.5px;
    max-width: none;
    object-fit: fill;
  }

  .pc-leaderboard__table-wrap {
    position: relative;
    z-index: 1;
    box-sizing: border-box;
    width: 100%;
    height: 100%;
    padding: 32px 30px 0; /* 表头 y7178；列表 x60→30 */
  }

  .pc-leaderboard__thead,
  .pc-leaderboard__row {
    display: grid;
    /* 列界按表头中心中点相对列表 x60 ÷2 */
    grid-template-columns: 51.5px 71.5px 71.5px 63.5px 57px;
    align-items: center;
    justify-items: center;
    column-gap: 0;
    width: 315px; /* 630/2 */
    box-sizing: border-box;
  }

  .pc-leaderboard__thead {
    height: 20.5px; /* 41/2 */
    margin: 0 0 10px; /* → 首行顶 (7239-7114)/2=62.5 */
    font-size: 14px;
    font-weight: 700;
    line-height: 20.5px;
    color: #0f1691;
    text-align: center;
  }

  .pc-leaderboard__thead span:nth-child(2) {
    justify-self: start;
    text-align: left;
    padding-left: 12px; /* 阵营文案偏左 */
  }

  .pc-leaderboard__list {
    display: flex;
    flex-direction: column;
    gap: 0;
    margin: 0;
    padding: 0;
    list-style: none;
    width: 315px;
  }

  .pc-leaderboard__row {
    box-sizing: border-box;
    height: 45px; /* 内容组 90/2 */
    min-height: 45px;
    margin: 0 0 10px; /* 行距 110/2=55 */
    padding: 0;
    border-bottom: 1px solid rgba(136, 187, 254, 0.55);
    font-size: 12px; /* 24/2 */
    font-weight: 700;
    color: #0f1691;
  }

  .pc-leaderboard__row:nth-child(1),
  .pc-leaderboard__row:nth-child(2),
  .pc-leaderboard__row:nth-child(3) {
    height: 45px;
  }

  .pc-leaderboard__row:last-child {
    margin-bottom: 0;
  }

  .pc-leaderboard__rank {
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 16px;
    font-weight: 900;
    line-height: 1;
  }

  .pc-leaderboard__rank picture {
    display: block;
    line-height: 0;
  }

  .pc-leaderboard__rank img {
    width: 30px; /* 60/2 */
    height: auto;
    max-width: none;
    object-fit: contain;
  }

  .pc-leaderboard__camp {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    justify-content: center;
    justify-self: start;
    padding-left: 8px;
    line-height: 17.5px; /* 34.75/2 */
    text-align: left;
    white-space: normal;
  }

  /* 635:1728 王者荣耀\n峡谷真爹队：字号 24→12，两行均 Bold；队名 #2765ea */
  .pc-leaderboard__camp strong {
    display: block;
    font-size: 12px; /* 24/2 */
    font-weight: 700;
    line-height: 17.5px;
    color: #0f1691;
  }

  .pc-leaderboard__camp-tail {
    display: block;
    font-size: 12px; /* 24/2 */
    font-weight: 700;
    line-height: 17.5px;
    color: #2765ea;
  }

  .pc-leaderboard__camp strong::after {
    content: none;
  }

  .pc-leaderboard__heat {
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: center;
    gap: 2px;
    font-size: 12px;
    font-weight: 700;
  }

  .pc-leaderboard__heat img {
    width: 14.5px;
    height: 14.5px;
    max-width: none;
  }

  .pc-leaderboard__num {
    text-align: center;
    font-size: 12px;
    font-weight: 700;
  }

  .pc-leaderboard__gap {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    font-size: 12px;
    font-weight: 700;
    line-height: 17.5px;
    text-align: center;
    color: #0f1691;
    white-space: normal;
  }

  .pc-leaderboard__gap-label::after {
    content: none;
  }

  .pc-leaderboard__gap-num {
    font-size: 12px;
    font-weight: 700;
    color: #2765ea;
  }

  .pc-leaderboard__cta {
    display: none; /* H5 稿面本模块无底栏 CTA */
  }

  /* —— H5 Rules（稿面 750×1370 → 375×685）—— */
  /* Group73(y9579 h186) 底缘越过模块底 9704 → 须 overflow 可见并抬高叠层 */
  #pc-rules.pc-rules {
    display: block;
    height: 685px;
    overflow: visible;
    z-index: 2;
  }

  .pc-rules__bg {
    position: absolute;
    inset: 0;
    z-index: 0;
    pointer-events: none;
    background-color: #3dc0ff;
    overflow: hidden;
    /* 1556@7415.57 + 2114@8455.63 */
    background-image:
      url("../images/bg-rules-water-h5.png?v=746"),
      url("../images/bg-rank-water-h5.png?v=191");
    background-repeat: no-repeat, no-repeat;
    background-size: 374.5px 625px, 374.5px 624.5px;
    background-position: left 60.815px, left -459.215px;
  }

  .pc-rules__bg-sea,
  .pc-rules__bg-ocean-2,
  .pc-rules__bg-ocean {
    display: none;
  }

  .pc-rules__bg::after {
    content: none;
  }

  .pc-rules__inner {
    position: relative;
    z-index: 1;
    display: block;
    width: 100%;
    max-width: none;
    height: 100%;
    margin: 0;
  }

  .pc-rules__block {
    position: relative;
    width: 375px;
    height: 100%;
    display: block;
  }

  .pc-rules__head-pic {
    position: absolute;
    left: 0;
    top: 0;
    z-index: 2;
    display: block;
    width: 375px;
    height: 95.625px; /* 191.25/2 */
    margin: 0;
    line-height: 0;
  }

  .pc-rules__head {
    width: 375px;
    height: 95.625px;
    max-width: none;
    object-fit: fill;
  }

  .pc-rules__ctas {
    position: absolute;
    left: 0;
    top: 0;
    z-index: 3;
    display: block;
    width: 375px;
    height: 96px;
    pointer-events: none;
  }

  .pc-rules__cta {
    position: absolute;
    display: block;
    width: 108px; /* 216/2 */
    height: 35px; /* 70/2 */
    line-height: 0;
    pointer-events: auto;
  }

  .pc-rules__cta img {
    width: 108px;
    height: 35px;
    max-width: none;
  }

  .pc-rules__cta--join {
    left: 87.5px; /* 175/2 */
    top: 49.5px; /* (8433-8334)/2 */
  }

  .pc-rules__cta--champ {
    left: 198.5px; /* 397/2 */
    top: 49.5px;
  }

  .pc-rules__body {
    position: absolute;
    left: 0;
    top: 78px; /* (8490-8334)/2 */
    z-index: 1;
    width: 375px;
    height: 558.5px; /* 1117/2 */
    margin: 0;
  }

  .pc-rules__body-bg-pic {
    position: absolute;
    left: 0;
    top: 0;
    z-index: 0;
    display: block;
    width: 375px;
    height: 558.5px;
    margin: 0;
    line-height: 0;
    pointer-events: none;
  }

  .pc-rules__body-bg {
    width: 375px;
    height: 558.5px;
    max-width: none;
    object-fit: fill;
  }

  /* Frame3 标题 y8567 → 相对冰板 (8567-8490)/2=38.5；Frame4 标题 y8769→139.5 */
  .pc-rules__copy {
    position: absolute;
    left: 33px; /* 66/2 */
    top: 38.5px;
    z-index: 1;
    width: 315px; /* 630/2 */
    display: flex;
    flex-direction: column;
    gap: 0;
  }

  .pc-rules__block-text h2 {
    margin: 0 0 3.5px; /* gap 7/2 */
    font-family: "Source Han Sans SC", "Noto Sans SC", "PingFang SC", "Microsoft YaHei", sans-serif;
    font-size: 16px; /* 32/2 */
    font-weight: 700;
    line-height: 23px; /* ≈46.3/2 */
    color: #0f1691;
  }

  .pc-rules__block-text p {
    margin: 0;
    font-family: "Source Han Sans SC", "Noto Sans SC", "PingFang SC", "Microsoft YaHei", sans-serif;
    font-size: 12px; /* 24/2 */
    font-weight: 500;
    line-height: 17.5px; /* ≈34.75/2 */
    color: #0f1691;
  }

  .pc-rules__detail {
    font-family: "Source Han Sans SC", "Noto Sans SC", "PingFang SC", "Microsoft YaHei", sans-serif;
  }

  .pc-rules__detail p {
    margin: 0 0 0;
    font-size: 12px; /* 24/2 */
    line-height: 17.5px;
    color: #383a6b;
    font-weight: 500;
  }

  .pc-rules__detail p + p {
    margin-top: 3.5px;
  }

  .pc-rules__detail strong {
    color: #0f1691;
    font-weight: 700;
    font-size: 12px;
  }

  /* Frame4 标题相对第一标题间距：139.5-38.5=101；第一段约 23+3.5+52.5≈79 → 余量约 22 */
  .pc-rules__block-text + .pc-rules__block-text {
    border-top: 0.5px solid #88bbfe;
    padding-top: 10px;
    margin-top: 12px;
  }

  /* Group73 战报标题区 635:1829，模块相对 y9579；底缘跨入 poster 30.5px */
  .pc-rules__poster-bleed {
    position: absolute;
    left: 0;
    top: 622.5px; /* (9579-8334)/2 */
    z-index: 3;
    display: block;
    width: 375px;
    height: 93px; /* 186/2 */
    max-width: none;
    object-fit: fill;
    pointer-events: none;
  }

  /* —— H6 Poster（稿面 750×1059 → 375×529.5，验收高 530）—— */
  #pc-poster.pc-poster {
    display: block;
    height: 530px;
    overflow: hidden;
    z-index: 1;
  }

  .pc-poster__bg {
    position: absolute;
    inset: 0;
    z-index: 0;
    pointer-events: none;
    background-color: #3dc0ff;
    overflow: hidden;
    /* 2114@8455.63 + 2123@9698.50 */
    background-image:
      url("../images/bg-poster-water-h5.png?v=725"),
      url("../images/bg-rules-water-h5.png?v=746");
    background-repeat: no-repeat, no-repeat;
    background-size: 374.5px 532.5px, 374.5px 625px;
    background-position: left -2.75px, left -624.185px;
  }

  .pc-poster__bg-sea,
  .pc-poster__bg-ocean,
  .pc-poster__bg-footer {
    display: none;
  }

  .pc-poster__bg::after {
    content: none;
  }

  .pc-poster__inner {
    position: relative;
    z-index: 1;
    display: block;
    width: 100%;
    max-width: none;
    height: 100%;
    margin: 0;
  }

  /* H5 标题已在 rules 底缘 bleed，本模块稿面从战报框起 */
  .pc-poster__head {
    display: none;
  }

  .pc-poster__section-block {
    position: relative;
    display: block;
    width: 375px;
    height: 100%;
    margin: 0;
  }

  .pc-poster__frame-wrap {
    position: absolute;
    left: 0.5px; /* ≈1.19/2 */
    top: 0;
    z-index: 1;
    width: 374.5px; /* 749/2 */
    height: 466px; /* 932/2 */
  }

  .pc-poster__frame-pic {
    display: block;
    width: 374.5px;
    height: 466px;
    margin: 0;
    line-height: 0;
  }

  .pc-poster__frame {
    width: 374.5px;
    height: 466px;
    max-width: none;
    object-fit: fill;
  }

  /* H5 默认：无战队 Figma 635:745（750 稿 ÷2）；有战队见 --joined → 635:1873 */
  .pc-poster__team,
  .pc-poster__slogan {
    display: none !important;
  }

  /* Figma 635:747 白底 184.7×184.7 r16 → /2；内图 160.6 */
  .pc-poster__qr-pic {
    position: absolute;
    left: 149.4px; /* 298.8/2 */
    top: 233px; /* 466/2 */
    z-index: 2;
    box-sizing: border-box;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 92.4px; /* 184.7/2 */
    height: 92.4px;
    padding: 6px; /* ≈12.06/2 */
    background: #fff;
    border-radius: 8px; /* 16/2 */
    line-height: 0;
  }

  .pc-poster__qr {
    display: block;
    width: 80.3px; /* 160.6/2 */
    height: 80.3px;
    max-width: none;
  }

  /* Figma 635:750 相对框 top=656 · 24px Heavy → /2；两行居中 */
  .pc-poster__caption {
    position: absolute;
    left: 131.4px; /* 262.8/2 */
    top: 328px; /* 656/2 */
    z-index: 2;
    margin: 0;
    width: 133px; /* 266/2 */
    height: 35px; /* 70/2 */
    font-family: "Source Han Sans SC", "Noto Sans SC", "PingFang SC", "Microsoft YaHei", sans-serif;
    font-size: 12px; /* 24/2 */
    font-weight: 900;
    line-height: 17.4px; /* ≈34.75/2 */
    color: #fff;
    text-align: center;
  }

  .pc-poster__caption .pc-only {
    display: none !important;
  }

  .pc-poster__caption .m-only {
    display: inline;
  }

  /* —— H5 有战队 635:1873 —— */
  .pc-poster__frame-wrap--joined .pc-poster__team {
    display: block !important;
    position: absolute;
    left: 87.9px; /* 175.8/2 */
    top: 231px; /* 462/2 */
    z-index: 2;
    margin: 0;
    width: 224px; /* 448/2 */
    font-family: "Source Han Sans SC", "Noto Sans SC", "PingFang SC", "Microsoft YaHei", sans-serif;
    font-size: 16px; /* 32/2 */
    font-weight: 900;
    line-height: normal;
    color: #fff;
    text-align: center;
    word-break: break-word;
  }

  .pc-poster__frame-wrap--joined .pc-poster__slogan {
    display: block !important;
    position: absolute;
    left: 116.9px; /* 233.8/2 */
    top: 257.5px; /* 515/2 */
    z-index: 2;
    margin: 0;
    width: 160px; /* 288/2 */
    font-family: "Source Han Sans SC", "Noto Sans SC", "PingFang SC", "Microsoft YaHei", sans-serif;
    font-size: 8px; /* 16/2 */
    font-weight: 400;
    line-height: normal;
    color: #fff;
    text-align: center;
    word-break: break-word;
  }

  .pc-poster__frame-wrap--joined .pc-poster__qr-pic {
    left: 155.4px; /* 310.8/2 */
    top: 280.5px; /* 561/2 */
    width: 72.5px; /* 145/2 */
    height: 72.5px;
    padding: 4.7px;
    border-radius: 8px;
  }

  .pc-poster__frame-wrap--joined .pc-poster__qr {
    width: 63px; /* 126/2 */
    height: 63px;
  }

  .pc-poster__frame-wrap--joined .pc-poster__caption {
    left: 140.9px; /* 281.8/2 */
    top: 358px; /* 716/2 */
    width: 107px; /* 214/2 */
    height: 29px; /* 58/2 */
    font-size: 10px; /* 20/2 */
    line-height: 14.5px;
  }

  .pc-poster__actions {
    position: absolute;
    left: 28px; /* 56/2 */
    top: 465.5px; /* (10635-9704)/2 */
    z-index: 2;
    display: flex;
    flex-direction: row;
    gap: 20px; /* 40/2 */
    width: 320px; /* 640/2 */
    height: 41px; /* 82/2 */
    margin: 0;
    justify-content: space-between;
    align-items: center;
  }

  /* Group35 双按钮：PC 的 relative/flex/叠字仅在 min-width，H5 须重声明 */
  .pc-poster__btn {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 150px; /* 300/2 */
    height: 41px; /* 82/2 */
    flex-shrink: 0;
  }

  .pc-poster__btn picture {
    position: absolute;
    inset: 0;
    display: block;
    margin: 0;
    line-height: 0;
  }

  .pc-poster__btn img {
    position: absolute;
    inset: 0;
    width: 150px;
    height: 41px;
    max-width: none;
    z-index: 0;
    object-fit: fill;
  }

  .pc-poster__btn span {
    position: relative;
    top: -2.5px; /* 文案相对钮顶约 (11~12)/2 */
    z-index: 1;
    font-family: "Source Han Sans SC", "Noto Sans SC", "PingFang SC", "Microsoft YaHei", sans-serif;
    font-weight: 700;
    text-align: center;
  }

  .pc-poster__btn--gen span {
    font-size: 18px; /* 36/2 */
    line-height: 26px; /* ≈52/2 */
    color: #fff;
    text-shadow: 0 0.5px 0.9px rgba(0, 0, 0, 0.85);
  }

  .pc-poster__btn--share span {
    font-size: 16px; /* 32/2 */
    line-height: 23px; /* ≈46/2 */
    color: #853d00;
    text-shadow: 0 0.5px 0.9px rgba(255, 255, 255, 0.9);
  }

}

/* —— H5 生成海报：长按保存层（不改动页面海报 DOM） —— */
.pc-poster-save {
  position: fixed;
  inset: 0;
  z-index: 10050;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 24px 16px;
  box-sizing: border-box;
}

.pc-poster-save[hidden] {
  display: none !important;
}

.pc-poster-save__mask {
  position: absolute;
  inset: 0;
  background: rgba(0, 0, 0, 0.72);
}

.pc-poster-save__panel {
  position: relative;
  z-index: 1;
  display: flex;
  flex-direction: column;
  align-items: center;
  max-width: min(375px, 100%);
  max-height: 100%;
}

.pc-poster-save__tip {
  margin: 0 0 12px;
  font-family: "Source Han Sans SC", "Noto Sans SC", "PingFang SC", "Microsoft YaHei", sans-serif;
  font-size: 15px;
  font-weight: 500;
  line-height: 22px;
  color: #fff;
  text-align: center;
}

.pc-poster-save__img {
  display: block;
  width: auto;
  max-width: 100%;
  max-height: calc(100vh - 120px);
  height: auto;
  border-radius: 4px;
  -webkit-touch-callout: default;
  user-select: none;
}

.pc-poster-save__close {
  margin-top: 16px;
  padding: 8px 28px;
  border: 0;
  border-radius: 20px;
  background: rgba(255, 255, 255, 0.92);
  font-family: "Source Han Sans SC", "Noto Sans SC", "PingFang SC", "Microsoft YaHei", sans-serif;
  font-size: 14px;
  font-weight: 700;
  line-height: 20px;
  color: #0f1691;
  cursor: pointer;
}

.pc-poster-save__download {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  margin-top: 14px;
  padding: 8px 28px;
  border-radius: 20px;
  background: #1a6dff;
  font-family: "Source Han Sans SC", "Noto Sans SC", "PingFang SC", "Microsoft YaHei", sans-serif;
  font-size: 14px;
  font-weight: 700;
  line-height: 20px;
  color: #fff;
  text-decoration: none;
  cursor: pointer;
}

.pc-poster-save__download[hidden] {
  display: none !important;
}

html.is-poster-save-open,
html.is-poster-save-open body {
  overflow: hidden;
}

/* —— 吸顶导航（body 级，PC/H5 共用；内部复用 .pc-hero__nav 样式） —— */
.pc-sticky-nav {
  position: fixed;
  top: 0;
  left: 50%;
  z-index: 9990;
  display: none;
  justify-content: center;
  align-items: center;
  box-sizing: border-box;
  margin: 0;
  padding: 10px 0 12px;
  background: rgba(61, 192, 255, 0.96);
  transform-origin: top center;
  /* 默认用 left+负边距居中；scale 由 JS 按 .page 同步 */
  pointer-events: none;
}

.pc-sticky-nav.is-show {
  display: flex;
  pointer-events: auto;
}

.pc-sticky-nav .pc-hero__nav {
  margin-top: 0;
  flex-shrink: 0;
}

@media (min-width: 768px) {
  .pc-sticky-nav {
    width: 1920px;
    margin-left: -960px;
    padding: 12px 0 16px;
  }
}

@media (max-width: 767.98px) {
  .pc-sticky-nav {
    /* 与 .page H5 top-left 缩放对齐，避免吸顶条左侧蓝缝 */
    left: 0;
    width: 375px;
    margin-left: 0;
    padding: 6px 12px 8px;
    transform-origin: top left;
  }

  .pc-sticky-nav .pc-hero__nav {
    max-width: 351px;
  }
}
