/* ============================================================
   竞彩奖金计算器 H5 · 参考站风格样式
   - 主色调：绿色 #008F53
   - 辅色：橙色 #E65100 / 红色 #D32F2F
   - 卡片：白底圆角 + 轻微阴影
   - 1rem = 100rpx（750rpx = 100vw），移动端随视口；PC 端固定基准、铺满全屏
   ============================================================ */

/* 视口基准：移动端随屏幕宽度 */
html {
  font-size: calc(100vw / 7.5);
}
/* PC / 平板：固定基准字号，页面内容铺满整个视口 */
@media (min-width: 500px) {
  html { font-size: 100px; }
}

body {
  margin: 0;
  background: #f3f5f8;
  font-family: -apple-system, BlinkMacSystemFont, "Helvetica Neue", "PingFang SC",
    "Hiragino Sans GB", "Microsoft YaHei", sans-serif;
  color: #333;
  /* 整体字号加大（原 0.28rem → 0.32rem，与参考站一致） */
  font-size: 0.32rem;
  -webkit-tap-highlight-color: transparent;
}

button {
  padding: 0;
  margin: 0;
  line-height: 1.4;
  background: transparent;
  border: none;
}
button::after { border: none; }

/* ============================================================
   页面容器
   ============================================================ */
#app {
  width: 100%;
  max-width: none;
  margin: 0 auto;
}

/* 备案信息页脚（工信部要求，勿删） */
.nj-beian {
  padding: 0.28rem 0.2rem calc(0.28rem + env(safe-area-inset-bottom));
  text-align: center;
  font-size: 0.22rem;
  line-height: 1.7;
  color: #9aa3ad;
}
.nj-beian a {
  color: #9aa3ad;
  text-decoration: none;
}
.nj-beian a:active { opacity: 0.8; }

.page {
  /* 顶部 fixed head(1rem) + 底部摘要条 3.2rem */
  padding: 1rem 0 3.2rem;
}
.page.no-top { padding-top: 0; }
.page.no-bottom { padding-bottom: 0; }

/* ============================================================
   顶部日期筛选栏（参照参考站 .head：高 52px = 1rem 白底，fixed 顶部）
   - 左：周日 08-16 + 「显示停售(N)」pill
   - 右：已删除玩法切换（胜平负/进球数/混合），避免遮挡实时赔率
   ============================================================ */
.head {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  z-index: 198;
  height: 1rem;
  background: #ffffff;
  border-bottom: 0.01rem solid #eff2f5;
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 0 0.2rem;
  box-sizing: border-box;
}
.head-left {
  display: flex;
  align-items: center;
  color: #191a1b;
  font-size: 0.28rem;
  font-weight: 700;
  min-width: 0;
}
.head-date {
  white-space: nowrap;
}
.head-stop {
  min-width: 1.6rem;
  height: 0.52rem;
  background: #ffffff;
  border: 0.01rem solid #e1e6ea;
  border-radius: 0.26rem;
  display: flex;
  justify-content: center;
  align-items: center;
  margin-left: 0.16rem;
  padding: 0 0.16rem;
  font-size: 0.24rem;
  font-weight: 500;
  color: #494f57;
  cursor: pointer;
  white-space: nowrap;
  box-sizing: border-box;
}
.head-stop.on {
  /* 参考站：开启后浅灰底、灰字（非绿色高亮） */
  background: #f5f6f7;
  border-color: #e1e6ea;
  color: #494f57;
}
/* 头部"赛事数据"入口 */
.head-right {
  display: flex;
  align-items: center;
  gap: 0.1rem;
}
.head-data {
  display: inline-flex;
  align-items: center;
  height: 0.52rem;
  padding: 0 0.2rem;
  font-size: 0.24rem;
  color: #ffffff;
  background: linear-gradient(135deg, #10b981, #059669);
  border-radius: 0.26rem;
  text-decoration: none;
  white-space: nowrap;
  box-shadow: 0 0.02rem 0.08rem rgba(16, 185, 129, 0.3);
}
.head-data:active {
  opacity: 0.85;
}
/* 左上角登录入口（计算器页浅色头部） */
.head-login {
  flex: none;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  height: 0.52rem;
  padding: 0 0.22rem;
  margin-right: 0.12rem;
  border-radius: 0.26rem;
  background: #f0fdf4;
  border: 1px solid #a7f3d0;
  color: #059669;
  font-size: 0.26rem;
  font-weight: 600;
  white-space: nowrap;
  max-width: 1.7rem;
  overflow: hidden;
  text-overflow: ellipsis;
  cursor: pointer;
}
.head-login:active {
  opacity: 0.8;
}
.head-login.logged {
  background: #10b981;
  border-color: #10b981;
  color: #fff;
}

/* ----- 玩法切换旧样式（保留兼容，新页用 subbar） ----- */
.play-bar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  background: linear-gradient(135deg, #008F53, #007043);
  border-radius: 0.16rem;
  padding: 0.24rem 0.3rem;
  margin-bottom: 0.24rem;
  box-shadow: 0 0.04rem 0.16rem rgba(0, 143, 83, 0.18);
}

.play-current {
  display: flex;
  align-items: center;
  flex: 1;
}

.play-name {
  font-size: 0.4rem;
  font-weight: 700;
  color: #ffffff;
  display: inline-flex;
  align-items: center;
  gap: 0.08rem;
}

.play-more {
  font-size: 0.3rem;
  color: #ffffff;
  background: rgba(255, 255, 255, 0.18);
  border: 0.02rem solid rgba(255, 255, 255, 0.4);
  border-radius: 0.3rem;
  padding: 0.08rem 0.24rem;
  margin-left: 0.24rem;
  cursor: pointer;
  font-weight: 500;
}

/* ============================================================
   卡片基础
   ============================================================ */
.card {
  background: #ffffff;
  border-radius: 0.2rem;
  padding: 0.24rem;
  margin-bottom: 0.24rem;
  box-shadow: 0 0.04rem 0.12rem rgba(0, 0, 0, 0.04);
}

.card-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 0.2rem;
}

.card-title {
  font-size: 0.36rem;
  font-weight: 700;
  color: #008F53;
  display: inline-flex;
  align-items: center;
  gap: 0.08rem;
}

.card-actions {
  display: flex;
  align-items: center;
}

/* ============================================================
   玩法规则
   ============================================================ */
.rules-card {
  background: #eef7f1;
  border: 0.02rem solid #c8e6c9;
}
.rules-text {
  font-size: 0.28rem;
  color: #555;
  line-height: 1.8;
  white-space: pre-line;
  word-break: break-all;
}

/* ============================================================
   "析"分析弹层（点击 t1 的"析"按钮打开）
   - 内容：基础分析（让球方向 + 主客队近期形态推断）+ 玩法说明
   ============================================================ */
.xi-panel {
  background: #ffffff;
  border-radius: 0.16rem;
  padding: 0.32rem 0.32rem 0.24rem;
  margin: 0 0.24rem 0.16rem;
  box-shadow: 0 0.04rem 0.16rem rgba(0, 0, 0, 0.06);
}
.xi-title {
  font-size: 0.32rem;
  font-weight: 700;
  color: #008F53;
  margin-bottom: 0.2rem;
  display: flex;
  align-items: center;
  justify-content: space-between;
}
.xi-close {
  font-size: 0.4rem;
  color: #999;
  cursor: pointer;
  padding: 0 0.1rem;
}
.xi-row {
  font-size: 0.28rem;
  color: #555;
  line-height: 1.8;
  white-space: pre-line;
  word-break: break-all;
}
.xi-row strong { color: #008F53; font-weight: 700; }
.xi-row .red { color: #d32f2f; font-weight: 600; }
.xi-row .green { color: #008F53; font-weight: 600; }
.xi-row .orange { color: #e65100; font-weight: 600; }

/* ============================================================
   实时赔率卡片头部
   ============================================================ */
.live-status {
  font-size: 0.3rem;
  color: #008F53;
  margin-bottom: 0.08rem;
  font-weight: 500;
}
.live-status-error {
  color: #d32f2f;
}

.live-time {
  font-size: 0.26rem;
  color: #999;
  margin-bottom: 0.1rem;
}

/* ============================================================
   比赛卡片（参照参考站：t1 编号+方案+联赛+析 / t2 主队+时间+客队 / t3 让球+赔率+更多玩法）
   - 整体卡片之间用细线分隔，无圆角阴影（更接近参考站）
   ============================================================ */
.live-scroll {
  /* 不限制高度、不滚动，所有比赛直接铺满页面 */
  max-height: none;
  overflow: visible;
}

.live-card {
  padding: 0;
  margin-bottom: 0;
  background: #ffffff;
  border-radius: 0;
  box-shadow: none;
}

/* ============================================================
   比赛卡片（参照参考站：.item_body1 / .t1 / .t2 / .t3）
   - 卡片间 border-top 1px #eaedef 分隔，无圆角阴影
   - 背景 #fff，页面 #f3f5f8
   - 总高约 137px：t1(~21) + t2(20+10) + t3(35+35-1) + padding(7+10) + border
   ============================================================ */
.match-card {
  background: #ffffff;
  border-top: 0.01rem solid #eaedef;
  padding: 0.13rem 0.23rem 0.19rem;
  box-sizing: border-box;
}
.live-scroll > .match-card:first-child { border-top: 0; }

/* t1：编号 + (方案 pill + 联赛 pill) */
.match-t1 {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 0.1rem;
  min-height: 0.27rem;
}
.match-t1-no {
  font-size: 0.23rem;
  color: #000;
  font-weight: 400;
  transform: scale(1);
  transform-origin: left center;
  display: flex;
  align-items: center;
}
/* 单关标签：显示在比赛卡片左侧（仅官方开放单关的场次） */
.match-t1-single {
  display: inline-flex;
  align-items: center;
  height: 0.28rem;
  padding: 0 0.07rem;
  margin-right: 0.07rem;
  border-radius: 0.04rem;
  background: #ee4543;
  color: #fff;
  font-size: 0.2rem;
  line-height: 1;
  font-weight: 400;
  flex-shrink: 0;
}
.match-t1-right {
  display: flex;
  justify-content: flex-end;
  align-items: center;
  min-width: 0;
}
.match-t1-plan {
  height: 0.31rem;
  border-radius: 0.15rem;
  border: 0.01rem solid #ee4543;
  display: flex;
  justify-content: center;
  align-items: center;
  padding: 0 0.08rem;
  margin-right: 0.1rem;
  flex-shrink: 0;
  font-size: 0.22rem;
  line-height: 1;
  color: #ee4543;
  white-space: nowrap;
  font-weight: 400;
}
.match-t1-league {
  height: 0.31rem;
  border-radius: 0.15rem;
  background: #eaeef2;
  display: flex;
  justify-content: center;
  align-items: center;
  padding: 0 0.12rem;
  flex-shrink: 0;
  max-width: 1.8rem;
  overflow: hidden;
  font-size: 0.22rem;
  line-height: 1;
  color: #494f57;
  white-space: nowrap;
  font-weight: 400;
}

/* t2：主队 + 时间 + 客队，析(右上角绝对定位) */
.match-t2 {
  position: relative;
  height: 0.38rem;
  margin-bottom: 0.19rem;
  display: flex;
  justify-content: space-between;
  align-items: center;
}
.match-t2-xi {
  position: absolute;
  right: -0.23rem;
  top: 0.02rem;
  width: 0.69rem;
  height: 0.38rem;
  background: #fff;
  z-index: 2;
  padding-left: 0.06rem;
  display: flex;
  align-items: center;
  cursor: pointer;
}
.match-t2-xi-text {
  font-weight: 600;
  font-size: 0.23rem;
  color: #009e62;
}
.match-t2-home,
.match-t2-away {
  width: calc((100% - 1.35rem) / 2);
  display: flex;
  align-items: center;
  position: relative;
  min-width: 0;
}
.match-t2-home { justify-content: flex-end; }
.match-t2-away { justify-content: flex-start; }
.match-t2-rank {
  font-size: 0.23rem;
  transform: scale(0.83);
  transform-origin: left center;
  color: #99a0a8;
  padding: 0 0.02rem;
  white-space: nowrap;
  font-weight: 400;
  flex-shrink: 0;
}
.match-t2-away .match-t2-rank {
  transform-origin: right center;
}
.match-t2-name {
  font-size: 0.27rem;
  font-weight: 500;
  color: #191a1b;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  max-width: 1.8rem;
  flex-shrink: 1;
}
.match-t2-home .match-t2-name { margin-right: 0.08rem; }
.match-t2-away .match-t2-name { margin-left: 0.08rem; }
.match-t2-flag {
  width: 0.38rem;
  height: 0.38rem;
  max-height: 0.38rem;
  background: #f0f3f7;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 0.2rem;
  color: #99a0a8;
  font-weight: 700;
  flex-shrink: 0;
  background-size: 100% 100%;
  background-repeat: no-repeat;
}
.match-t2-time {
  flex: 0 0 1.35rem;
  text-align: center;
  font-size: 0.27rem;
  color: #7e858e;
  display: flex;
  justify-content: center;
  align-items: center;
  font-weight: 400;
}

/* t3：让球格 + 赔率格(标签+值) + 更多玩法按钮
   行高 35px（2 行 = 70px，行间 -1px 重叠 = 69px） */
.match-t3 {
  background-color: #fff;
  display: flex;
  justify-content: space-between;
  align-items: stretch;
  position: relative;
}
.match-t3-rows {
  flex: 1;
  display: flex;
  flex-direction: column;
  min-width: 0;
}
.match-t3-row {
  display: flex;
  align-items: stretch;
  min-height: 0.67rem;
}
.match-t3-row + .match-t3-row {
  margin-top: -0.02rem;   /* 行间边框重叠 = 1px */
}

/* 让球格（lh1）：39×35，无让球/平局=无底色；主让=绿、客让=红、单关=红框 */
.match-t3-hcap {
  flex: 0 0 0.75rem;
  height: 0.67rem;
  box-sizing: border-box;
  background: #f7f8f9;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  font-weight: 700;
  position: relative;
  margin-right: 0.15rem;
  border: 0.01rem solid #357fdb;
  font-size: 0.23rem;
  color: #191a1b;
}
.match-t3-hcap.green {
  background: rgba(0, 158, 98, 0.08) !important;
  border-color: #009e62 !important;
  color: #009e62 !important;
  z-index: 3;
}
.match-t3-hcap.red {
  background: rgba(219, 55, 53, 0.1) !important;
  border-color: #ee4543 !important;
  color: #ee4543 !important;
  z-index: 5;
}
.match-t3-hcap.single {
  border-color: #ee4543 !important;
  z-index: 5;
}
.match-t3-hcap-num {
  font-size: 0.23rem;
  font-weight: 700;
  line-height: 1;
}
.match-t3-hcap-dg {
  position: absolute;
  top: 0.02rem;
  left: 0.04rem;
  font-size: 0.16rem;
  color: #ee4543;
  font-weight: 600;
  line-height: 1;
}

/* 赔率格（lh20）：flex:1 × 35，蓝色边框，行内「标签 + 值」 */
.match-t3-cell {
  flex: 1;
  height: 0.67rem;
  box-sizing: border-box;
  background: #ffffff;
  border: 0.01rem solid #357fdb;
  font-size: 0.27rem;
  font-weight: 500;
  color: #191a1b;
  display: flex;
  justify-content: center;
  align-items: center;
  cursor: pointer;
  position: relative;
  min-width: 0;
}
.match-t3-cell + .match-t3-cell {
  margin-left: -0.02rem;     /* 同行格边框重叠 */
}
.match-t3-cell-label {
  font-size: 0.27rem;
  color: #191a1b;
  font-weight: 500;
  margin-right: 0.12rem;
}
.match-t3-cell-val {
  font-size: 0.25rem;
  color: #99a0a8;
  font-weight: 400;
}
.match-t3-cell.empty {
  color: #c6c8c9 !important;
  border-color: #c6c8c9 !important;
  background: #fafafa;
  cursor: default;
}
.match-t3-cell.empty .match-t3-cell-label,
.match-t3-cell.empty .match-t3-cell-val { color: #c6c8c9; }

/* 选中态（active22）：红底白字 */
.match-t3-cell.active {
  color: #fff !important;
  background-color: #db3735 !important;
  border-color: #ee4543 !important;
  z-index: 4;
}
.match-t3-cell.active .match-t3-cell-label,
.match-t3-cell.active .match-t3-cell-val { color: #fff !important; }

/* 单关场次整行红框 */
.match-t3-row.row-0.single .match-t3-hcap,
.match-t3-row.row-0.single .match-t3-cell {
  border-color: #ee4543;
}
.match-t3-row.row-0.single .match-t3-cell + .match-t3-cell { margin-left: -0.02rem; }

/* 宽行（8 列进球数等）：无边框、灰底、仅值 */
.match-t3-row.wide .match-t3-cell {
  height: 0.77rem;
  background: #f3f5f8;
  border: none;
  font-size: 0.27rem;
  color: #191a1b;
  font-weight: 500;
  flex-direction: column;
}
.match-t3-row.wide .match-t3-cell + .match-t3-cell { margin-left: 0.02rem; }

/* 更多玩法按钮（more_play）：44×70，红框圆右角 */
.match-t3-more {
  flex: 0 0 0.85rem;
  border: 0.01rem solid #ee4543;
  border-radius: 0 0.12rem 0.12rem 0;
  font-size: 0.23rem;
  font-weight: 500;
  color: #191a1b;
  background: #ffffff;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  cursor: pointer;
  position: relative;
  z-index: 2;
  line-height: 1.1;
  text-align: center;
}
.match-t3-more .match-t3-more-ball {
  width: 0.27rem;
  height: 0.27rem;
  background: #e2605e;
  border-radius: 50%;
  display: flex;
  justify-content: center;
  align-items: center;
  margin-bottom: 0.04rem;
  color: #fff;
  font-size: 0.18rem;
  font-weight: 500;
}
.match-t3-more.expanded { background: #fff5f5; }

/* 底部提示条（参考站红字说明） */
.match-tip {
  background: #ffffff;
  text-align: center;
  font-size: 0.27rem;
  color: #d32f2f;
  padding: 0.27rem 0 0.27rem;
  border-top: 0.01rem solid #eaedef;
  font-weight: 500;
}

/* ----- 旧版比赛卡片样式（保留兼容） ----- */
.live-item {
  background: transparent;
  border: 0;
  border-radius: 0;
  margin: 0 0 0.16rem;
  padding: 0;
  overflow: visible;
}

.live-head {
  display: flex;
  align-items: center;
  padding: 0.12rem 0.16rem;
  border-bottom: 0.02rem solid #f0f0f0;
}
.live-head-no { font-size: 0.3rem; color: #666; font-weight: 600; flex-shrink: 0; min-width: 1.6rem; }
.live-head-info { flex: 1; display: flex; align-items: center; justify-content: center; gap: 0.2rem; overflow: hidden; }
.live-head-home, .live-head-guest { font-size: 0.32rem; font-weight: 700; color: #222; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; max-width: 8rem; }
.live-head-time { font-size: 0.28rem; color: #999; font-weight: 600; padding: 0.02rem 0.12rem; background: #f5f5f5; border-radius: 0.08rem; flex-shrink: 0; }
.live-head-type { font-size: 0.22rem; color: #e65100; background: #fff3e0; border: 0.02rem solid #ffe0b2; border-radius: 0.08rem; padding: 0.02rem 0.1rem; margin-left: 0.12rem; flex-shrink: 0; font-weight: 600; }

.live-odds-area {
  display: flex;
  align-items: stretch;
  padding: 0.14rem 0.16rem;
}
.live-handicap-col { display: flex; flex-direction: column; margin-right: 0; flex-shrink: 0; gap: 0.08rem; }
.live-handicap-cell { font-size: 0.26rem; font-weight: 700; text-align: center; border-radius: 0.08rem; padding: 0.16rem 0.08rem; min-width: 0.68rem; line-height: 1.1; flex: 1; display: flex; align-items: center; justify-content: center; }
.live-handicap-cell.green { color: #008F53; background: #ffffff; border: 0.02rem solid #008F53; }
.live-handicap-cell.red { color: #d32f2f; background: #ffffff; border: 0.02rem solid #d32f2f; }
.live-odds-col { flex: 1; display: flex; flex-direction: column; gap: 0.08rem; min-width: 0; margin-left: 0.08rem; margin-right: 0.08rem; }
.live-odds-row { flex: 1; display: flex; gap: 0.08rem; }
.live-odds { flex: 1; text-align: center; font-size: 0.32rem; font-weight: 700; background: #ffffff; border-radius: 0.08rem; padding: 0.16rem 0; cursor: pointer; min-width: 0; display: flex; align-items: center; justify-content: center; box-sizing: border-box; }
.live-odds-row.row-0 .live-odds { border: 0.02rem solid #008F53; color: #008F53; }
.live-odds-row.row-1 .live-odds { border: 0.02rem solid #d32f2f; color: #d32f2f; }
.live-odds.empty { color: #bbb; font-weight: 400; background: #fafafa; border-color: #ddd; }
.live-odds.active { color: #ffffff; background: #008F53; border-color: #008F53; }
.live-odds-row.row-0 .live-odds.active,
.live-odds-row.row-1 .live-odds.active { color: #ffffff; }
.live-odds-row.row-1 .live-odds.active { background: #d32f2f; border-color: #d32f2f; }
.live-more-col { display: flex; align-items: stretch; flex-shrink: 0; width: 1.1rem; }
.live-more-btn { background: #ffffff; border: 0.02rem solid #ff9800; border-radius: 0.08rem; padding: 0.24rem 0.08rem; font-size: 0.26rem; color: #e65100; text-align: center; cursor: pointer; line-height: 1.3; font-weight: 600; display: flex; flex-direction: column; align-items: center; justify-content: center; flex: 1; }
.live-more-btn.expanded { background: #fff3e0; border-color: #e65100; }
.live-more-btn::after { content: '▾'; font-size: 0.2rem; margin-top: 0.04rem; }
.live-more-btn.expanded::after { content: '▴'; }

/* ----- 更多玩法展开区 ----- */
.live-more-area {
  border-top: 0.02rem solid #f0f0f0;
  padding: 0.18rem 0.2rem;
  background: #fafbfc;
}

.live-more-section {
  margin-bottom: 0.2rem;
}
.live-more-section:last-child { margin-bottom: 0; }

.live-more-section-title {
  display: inline-block;
  font-size: 0.24rem;
  font-weight: 700;
  color: #ffffff;
  background: #d32f2f;
  padding: 0.04rem 0.18rem;
  border-radius: 0.08rem;
  margin-bottom: 0.12rem;
}
.live-more-section-title.goals { background: #008F53; }
.live-more-section-title.half { background: #e65100; }

.live-more-grid {
  display: grid;
  gap: 0.08rem;
}
.live-more-grid.cols-7 { grid-template-columns: repeat(7, 1fr); }
.live-more-grid.cols-8 { grid-template-columns: repeat(8, 1fr); }
.live-more-grid.cols-3 { grid-template-columns: repeat(3, 1fr); }

.live-more-cell {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding: 0.1rem 0;
  border: 0.02rem solid #d32f2f;
  border-radius: 0.08rem;
  background: #ffffff;
  cursor: pointer;
  min-width: 0;
  box-sizing: border-box;
}
.live-more-cell.goals { border-color: #008F53; }
.live-more-cell.half { border-color: #e65100; }

.live-more-cell-label {
  font-size: 0.22rem;
  color: #d32f2f;
  font-weight: 600;
  line-height: 1.1;
}
.live-more-cell.goals .live-more-cell-label { color: #008F53; }
.live-more-cell.half .live-more-cell-label { color: #e65100; }

.live-more-cell-val {
  font-size: 0.26rem;
  color: #d32f2f;
  font-weight: 700;
  line-height: 1.2;
  margin-top: 0.04rem;
}
.live-more-cell.goals .live-more-cell-val { color: #008F53; }
.live-more-cell.half .live-more-cell-val { color: #e65100; }

.live-more-cell.empty { border-color: #ddd; background: #fafafa; }
.live-more-cell.empty .live-more-cell-label,
.live-more-cell.empty .live-more-cell-val { color: #ccc; font-weight: 400; }

.live-more-cell.active {
  background: #d32f2f;
  border-color: #d32f2f;
}
.live-more-cell.goals.active { background: #008F53; border-color: #008F53; }
.live-more-cell.half.active { background: #e65100; border-color: #e65100; }
.live-more-cell.active .live-more-cell-label,
.live-more-cell.active .live-more-cell-val { color: #ffffff; }

/* 旧版 per-row 样式（保留兼容） */
.live-more-row {
  margin-bottom: 0.18rem;
}
.live-more-row:last-child { margin-bottom: 0; }

.live-more-row-label {
  font-size: 0.26rem;
  color: #888;
  font-weight: 600;
  margin-bottom: 0.1rem;
  display: block;
}

.live-more-odds {
  display: flex;
  gap: 0.12rem;
  flex-wrap: wrap;
}

/* ----- 8 列（进球数等）窄格子 ----- */
.live-odds.small {
  font-size: 0.26rem;
  padding: 0.12rem 0;
  border-radius: 0.06rem;
}

.live-tip {
  font-size: 0.26rem;
  color: #999;
  margin-top: 0.08rem;
  text-align: center;
}

/* ============================================================
   手动添加场次 / 投注面板
   ============================================================ */
.bet-panel {
  /* 点击赔率后固定在屏幕底部：默认只显示两行薄摘要条，不遮挡实时赔率 */
  position: fixed;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: 100;
  background: #ffffff;
  border-top: 0.02rem solid #008F53;
  border-radius: 0.24rem 0.24rem 0 0;
  box-shadow: 0 -0.06rem 0.2rem rgba(0, 0, 0, 0.12);
  box-sizing: border-box;
}

/* ----- 摘要条（两行紧凑） ----- */
.bet-summary {
  padding: 0.16rem 0.2rem calc(0.16rem + env(safe-area-inset-bottom));
}

.bet-row1 {
  display: flex;
  align-items: center;
  gap: 0.12rem;
  margin-bottom: 0.1rem;
}

.bet-pass {
  display: inline-flex;
  align-items: center;
  font-size: 0.3rem;
  font-weight: 700;
  color: #008F53;
  cursor: pointer;
  flex-shrink: 0;
  padding: 0.08rem 0.16rem;
  background: #e8f5ee;
  border-radius: 0.3rem;
}
.bet-pass-caret { font-size: 0.22rem; margin-left: 0.04rem; }
.bet-mult {
  display: inline-flex;
  align-items: center;
  gap: 0;
  border: 0.02rem solid #e0e0e0;
  border-radius: 0.3rem;
  overflow: hidden;
  flex-shrink: 0;
}
.bet-mult-btn {
  width: 0.56rem;
  height: 0.56rem;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 0.3rem;
  font-weight: 700;
  color: #666;
  background: #f8f9fa;
  cursor: pointer;
  user-select: none;
}
.bet-mult-input {
  width: 0.9rem;
  height: 0.56rem;
  text-align: center;
  font-size: 0.3rem;
  font-weight: 700;
  color: #333;
  border: none;
  outline: none;
  background: #ffffff;
  -moz-appearance: textfield;
  appearance: textfield;
}
.bet-mult-input::-webkit-inner-spin-button { -webkit-appearance: none; }

.bet-sel-count {
  flex: 1;
  text-align: right;
  font-size: 0.26rem;
  color: #999;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.bet-open-link {
  font-size: 0.26rem;
  color: #008F53;
  cursor: pointer;
  flex-shrink: 0;
  padding: 0.06rem 0.12rem;
  border: 0.02rem solid #008F53;
  border-radius: 0.3rem;
  white-space: nowrap;
}
.bet-open-link.hide { display: none; }

.bet-clear {
  font-size: 0.3rem;
  color: #bbb;
  cursor: pointer;
  flex-shrink: 0;
  padding: 0.04rem 0.08rem;
}

.bet-row2 {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.12rem;
  flex-wrap: wrap;                 /* 窄屏放不下时自动换行，不再重叠 */
}

.bet-info {
  display: flex;
  align-items: center;
  gap: 0.2rem;
  min-width: 0;
  flex: 1 1 auto;                  /* 占据剩余空间 */
  overflow: hidden;                /* 溢出裁剪，不再压到右侧按钮 */
}
.bet-info-item {
  font-size: 0.26rem;
  color: #666;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;          /* 极端窄屏时省略号兜底 */
}
.bet-info-num {
  font-size: 0.3rem;
  font-weight: 700;
  color: #d32f2f;
}
.bet-info-num.bet-prize { color: #008F53; }

.bet-actions {
  display: flex;
  align-items: center;
  gap: 0.16rem;
  flex-shrink: 0;
  margin-left: auto;               /* 换行后按钮组仍靠右 */
}
.bet-link {
  font-size: 0.28rem;
  color: #666;
  cursor: pointer;
  white-space: nowrap;
}
.btn-save {
  background: #008F53;
  color: #ffffff;
  font-size: 0.3rem;
  font-weight: 700;
  padding: 0.14rem 0.4rem;
  border: none;
  border-radius: 0.4rem;
  cursor: pointer;
  white-space: nowrap;
}

/* 窄屏：压缩按钮留白，给金额信息让位（修复重叠） */
@media (max-width: 375px) {
  .bet-info { gap: 0.12rem; }
  .bet-actions { gap: 0.1rem; }
  .bet-link { font-size: 0.26rem; }
  .btn-save { padding: 0.12rem 0.26rem; font-size: 0.28rem; }
}

/* ----- 抽屉详情（默认收起） ----- */
.bet-detail {
  display: none;
  max-height: 60vh;
  overflow-y: auto;
  border-top: 0.02rem solid #f0f0f0;
  padding: 0.2rem 0.24rem calc(0.2rem + env(safe-area-inset-bottom));
}
.bet-panel.detail-open .bet-detail {
  display: block;
}

.mini-btn {
  font-size: 0.3rem;
  color: #666;
  padding: 0.12rem 0.24rem;
  border: 0.02rem solid #ddd;
  border-radius: 0.3rem;
  cursor: pointer;
  font-weight: 500;
}

.mini-btn.primary {
  color: #ffffff;
  background: #008F53;
  border-color: #008F53;
}

.manual-add {
  display: flex;
  justify-content: flex-end;
  margin-bottom: 0.16rem;
}
.manual-add .mini-btn { margin-left: 0; }
.manual-tip {
  font-size: 0.28rem;
  color: #999;
  line-height: 1.6;
  padding: 0.1rem 0 0.2rem;
}

.manual-page { padding-bottom: 0.8rem; }
.manual-page .manual-tip, .manual-matches, .manual-controls, .manual-result { margin: 0.24rem; }
.manual-match { margin-bottom: 0.2rem; padding: 0.26rem; background: #fff; border: 1px solid #e3e8e5; border-radius: 0.16rem; }
.manual-match-head { display: flex; justify-content: space-between; align-items: center; margin-bottom: 0.18rem; }
.manual-match-head button { border: 0; background: transparent; color: #a74444; cursor: pointer; }
.manual-match input, .manual-controls input, .manual-controls select { box-sizing: border-box; width: 100%; min-width: 0; padding: 0.14rem; border: 1px solid #cfd8d3; border-radius: 0.1rem; font-size: 0.3rem; }
.manual-odds { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 0.14rem; margin-top: 0.18rem; }
.manual-odds label, .manual-controls label { display: grid; gap: 0.08rem; font-size: 0.27rem; color: #53635b; }
.manual-controls { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); align-items: end; gap: 0.18rem; }
.manual-controls button { padding: 0.16rem; border: 1px solid #008f53; border-radius: 0.1rem; background: #fff; color: #008f53; cursor: pointer; font-size: 0.3rem; }
.manual-controls .manual-calc { background: #008f53; color: #fff; }
.manual-result { line-height: 1.6; font-size: 0.3rem; }
.manual-summary { padding: 0.22rem; border-radius: 0.12rem; background: #e8f7ef; }
.manual-detail > div { display: flex; justify-content: space-between; gap: 0.2rem; padding: 0.12rem 0; border-bottom: 1px solid #e3e8e5; }
.manual-detail span { min-width: 0; overflow-wrap: anywhere; }
.manual-detail b { white-space: nowrap; }

.bet-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 0.16rem;
}
.bet-title {
  font-size: 0.36rem;
  font-weight: 700;
  color: #008F53;
}

/* 已选场次标签 */
.sel-scroll {
  white-space: nowrap;
  margin-bottom: 0.08rem;
  overflow-x: auto;
}
.sel-list {
  display: inline-flex;
  padding: 0.08rem 0;
}
.sel-tag {
  display: inline-flex;
  align-items: center;
  background: #e8f5ee;
  border: 0.02rem solid #a5d6ba;
  border-radius: 0.3rem;
  padding: 0.1rem 0.1rem 0.1rem 0.24rem;
  margin-right: 0.16rem;
  flex-shrink: 0;
}
.sel-tag:last-child { margin-right: 0; }
.sel-name {
  font-size: 0.28rem;
  color: #008F53;
  max-width: 3.2rem;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.sel-x {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 0.4rem;
  height: 0.4rem;
  margin-left: 0.1rem;
  background: #a5d6ba;
  border-radius: 50%;
  color: #ffffff;
  font-size: 0.24rem;
}

/* ============================================================
   场次列表（手动添加/编辑赔率）
   ============================================================ */
.match-list {
  margin-top: 0.16rem;
}

.match-row {
  border: 0.02rem solid #e8e8e8;
  border-radius: 0.14rem;
  padding: 0.16rem;
  margin-bottom: 0.16rem;
}

.match-name-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 0.14rem;
}
.match-name {
  flex: 1;
  font-size: 0.32rem;
  color: #333;
  font-weight: 600;
}
.match-type-tag {
  font-size: 0.24rem;
  color: #008F53;
  background: #e8f5ee;
  border: 0.02rem solid #a5d6ba;
  border-radius: 0.08rem;
  padding: 0.04rem 0.14rem;
  margin-right: 0.12rem;
  flex-shrink: 0;
  font-weight: 500;
}
.match-del {
  font-size: 0.26rem;
  color: #d32f2f;
  padding: 0.06rem 0.16rem;
  border: 0.02rem solid #ffcdd2;
  border-radius: 0.2rem;
  cursor: pointer;
}

.match-odds-row {
  display: flex;
  align-items: center;
}

.odds-cell {
  flex: 1;
  display: flex;
  flex-direction: column;
  align-items: center;
  background: #f8f9fa;
  border: 0.02rem solid #e0e0e0;
  border-radius: 0.12rem;
  padding: 0.14rem 0;
  margin-right: 0.1rem;
  cursor: pointer;
  min-width: 0;
}
.odds-cell:last-child { margin-right: 0; }

.odds-cell.active {
  background: #e8f5ee;
  border-color: #008F53;
}

.odds-cell.small {
  padding: 0.12rem 0;
  border-radius: 0.08rem;
  margin-right: 0.06rem;
}

.odds-label {
  font-size: 0.24rem;
  color: #888;
  margin-bottom: 0.04rem;
}
.odds-cell.active .odds-label { color: #008F53; }

.odds-val {
  font-size: 0.32rem;
  font-weight: 700;
  color: #333;
}
.odds-cell.active .odds-val { color: #008F53; }

.odds-cell.empty {
  background: #fafafa;
  border-style: dashed;
}
.odds-cell.empty .odds-label { color: #bbb; }
.odds-cell.empty .odds-val { color: #ccc; font-weight: 400; }

.empty-tip {
  text-align: center;
  font-size: 0.28rem;
  color: #999;
  padding: 0.4rem 0;
  line-height: 1.8;
}

/* ============================================================
   过关方式（横版卡片直选）
   ============================================================ */
.pass-row {
  margin: 0.16rem 0;
}

.pass-label {
  display: inline-block;
  font-size: 0.3rem;
  color: #666;
  margin-bottom: 0.12rem;
  font-weight: 500;
}

.pass-scroll {
  white-space: nowrap;
  overflow-x: auto;
}

.pass-cards {
  display: inline-flex;
  padding: 0.04rem 0;
}

.pass-card {
  flex-shrink: 0;
  min-width: 1.4rem;
  text-align: center;
  background: #f8f9fa;
  border: 0.02rem solid #e0e0e0;
  border-radius: 0.14rem;
  padding: 0.18rem 0.24rem;
  margin-right: 0.16rem;
  font-size: 0.32rem;
  font-weight: 600;
  color: #333;
  cursor: pointer;
}
.pass-card:last-child { margin-right: 0; }
.pass-card.active {
  background: #008F53;
  border-color: #008F53;
  color: #ffffff;
}

/* ============================================================
   投注设置
   ============================================================ */
.setting-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 0.22rem 0;
  border-bottom: 0.02rem solid #f0f0f0;
}
.setting-row:last-child { border-bottom: none; }

.setting-label {
  font-size: 0.32rem;
  color: #333;
  font-weight: 500;
}

.setting-input {
  width: 2.4rem;
  text-align: right;
  font-size: 0.34rem;
  font-weight: 700;
  color: #008F53;
  background: transparent;
  border: none;
  outline: none;
}

/* 优化模式下拉框 */
select.picker-inline {
  background: #f8f9fa;
  border: 0.02rem solid #e0e0e0;
  border-radius: 0.12rem;
  padding: 0.12rem 0.2rem;
  font-size: 0.3rem;
  color: #008F53;
  font-weight: 600;
  max-width: 3.4rem;
  appearance: auto;
}

/* ============================================================
   计算按钮
   ============================================================ */
.action-bar {
  display: flex;
  margin-top: 0.24rem;
  margin-bottom: 0.24rem;
  gap: 0.2rem;
}

.btn-action {
  flex: 1;
  background: #008F53;
  color: #ffffff;
  font-size: 0.36rem;
  font-weight: 700;
  border-radius: 0.44rem;
  padding: 0.28rem 0;
}

.btn-optimize {
  background: #e65100;
}

/* ============================================================
   计算结果
   ============================================================ */
.summary {
  font-size: 0.28rem;
  color: #333;
  background: #f7f9fa;
  border-radius: 0.12rem;
  padding: 0.2rem;
  margin-bottom: 0.2rem;
  line-height: 1.8;
  white-space: pre-line;
  word-break: break-all;
}

.summary-opt {
  background: #fff8f0;
  border: 0.02rem solid #ffe0b2;
}

.result-row {
  border: 0.02rem solid #e8e8e8;
  border-radius: 0.12rem;
  padding: 0.18rem;
  margin-bottom: 0.14rem;
  background: #ffffff;
}

.result-row.target {
  border-color: #e65100;
  background: #fff8f0;
}

.result-desc {
  font-size: 0.3rem;
  color: #333;
  line-height: 1.6;
  margin-bottom: 0.08rem;
  word-break: break-all;
}

.result-nums {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  row-gap: 0.08rem;
  font-size: 0.28rem;
}

.num-bet { color: #e65100; font-weight: 600; }
.num-win { color: #008F53; font-weight: 600; }
.num-total { color: #333; font-weight: 700; }

.result-tip {
  font-size: 0.26rem;
  color: #999;
  text-align: center;
  margin-top: 0.08rem;
}

/* ============================================================
   底部弹层（更多玩法 / 过关方式）
   ============================================================ */
.sheet-mask {
  position: fixed;
  left: 0;
  right: 0;
  top: 0;
  bottom: 0;
  background: rgba(0, 0, 0, 0.5);
  z-index: 1000;
}

.sheet {
  position: fixed;
  left: 0;
  right: 0;
  bottom: 0;
  background: #fff;
  border-radius: 0.24rem 0.24rem 0 0;
  padding: 0.4rem 0 calc(0.32rem + env(safe-area-inset-bottom));
}

.sheet-title {
  text-align: center;
  font-size: 0.36rem;
  font-weight: 700;
  color: #333;
  margin-bottom: 0.32rem;
}

.sheet-scroll {
  white-space: nowrap;
  overflow-x: auto;
}

.sheet-list {
  display: inline-flex;
  padding: 0 0.24rem;
}

.sheet-item {
  flex-shrink: 0;
  display: inline-flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  min-width: 1.6rem;
  height: 1rem;
  margin-right: 0.2rem;
  background: #f8f9fa;
  border: 0.02rem solid #e0e0e0;
  border-radius: 0.16rem;
}
.sheet-item:last-child { margin-right: 0; }
.sheet-item.active {
  background: #e8f5ee;
  border-color: #008F53;
  box-shadow: 0 0.04rem 0.12rem rgba(0, 143, 83, 0.18);
}

.sheet-item-name {
  font-size: 0.32rem;
  font-weight: 700;
  color: #333;
}
.sheet-item.active .sheet-item-name { color: #008F53; }

.sheet-close {
  margin: 0.32rem 0.24rem 0;
  text-align: center;
  font-size: 0.32rem;
  color: #666;
  background: #f8f9fa;
  border-radius: 0.16rem;
  padding: 0.24rem 0;
}

/* ============================================================
   编辑赔率弹窗 / 详情弹窗
   ============================================================ */
.mask {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: rgba(0, 0, 0, 0.5);
  z-index: 999;
  display: flex;
  align-items: center;
  justify-content: center;
}

.modal {
  width: 6.4rem;
  background: #ffffff;
  border-radius: 0.2rem;
  padding: 0.4rem;
}

.modal-title {
  font-size: 0.36rem;
  font-weight: 700;
  color: #333;
  text-align: center;
  margin-bottom: 0.32rem;
}

.modal-body {
  margin-bottom: 0.32rem;
}

.edit-row {
  display: flex;
  align-items: center;
  margin-bottom: 0.22rem;
}
.edit-row:last-child { margin-bottom: 0; }

.edit-label {
  width: 1.3rem;
  font-size: 0.3rem;
  color: #333;
}

.edit-input {
  flex: 1;
  background: #f8f9fa;
  border: 0.02rem solid #e0e0e0;
  border-radius: 0.12rem;
  padding: 0.18rem 0.22rem;
  font-size: 0.32rem;
  outline: none;
}

.detail-text {
  font-size: 0.28rem;
  color: #333;
  line-height: 1.8;
  white-space: pre-line;
  word-break: break-all;
}

.modal-actions {
  display: flex;
  justify-content: space-between;
  gap: 0.2rem;
}

.modal-btn {
  flex: 1;
  border-radius: 0.4rem;
  padding: 0.22rem 0;
  font-size: 0.32rem;
  font-weight: 600;
}

.btn-cancel {
  color: #666;
  background: #f0f0f0;
}

.btn-confirm {
  color: #ffffff;
  background: #008F53;
}

/* ============================================================
   通用组件
   ============================================================ */
.switch {
  -webkit-appearance: none;
  appearance: none;
  width: 0.88rem;
  height: 0.5rem;
  background: #ddd;
  border-radius: 0.5rem;
  position: relative;
  cursor: pointer;
  outline: none;
  transition: background 0.2s;
  margin: 0;
  flex-shrink: 0;
}
.switch::after {
  content: '';
  position: absolute;
  top: 0.04rem;
  left: 0.04rem;
  width: 0.42rem;
  height: 0.42rem;
  background: #fff;
  border-radius: 50%;
  transition: left 0.2s;
  box-shadow: 0 0.02rem 0.04rem rgba(0, 0, 0, 0.2);
}
.switch:checked { background: #008F53; }
.switch:checked::after { left: 0.42rem; }

[data-action] { cursor: pointer; }
button { cursor: pointer; }

/* 滚动条隐藏 */
.live-scroll::-webkit-scrollbar,
.sel-scroll::-webkit-scrollbar,
.pass-scroll::-webkit-scrollbar,
.sheet-scroll::-webkit-scrollbar { display: none; }

/* ============================================================
   轻提示 / 弹窗（H5 全局）
   ============================================================ */
#h5-toast {
  position: fixed;
  left: 50%;
  top: 45%;
  transform: translate(-50%, -50%) scale(0.9);
  background: rgba(0, 0, 0, 0.78);
  color: #fff;
  font-size: 0.32rem;
  padding: 0.24rem 0.4rem;
  border-radius: 0.14rem;
  z-index: 9999;
  max-width: 70vw;
  text-align: center;
  line-height: 1.5;
  opacity: 0;
  pointer-events: none;
  transition: opacity 0.2s, transform 0.2s;
}
#h5-toast.show {
  opacity: 1;
  transform: translate(-50%, -50%) scale(1);
}

#h5-modal {
  position: fixed;
  top: 0; left: 0; right: 0; bottom: 0;
  background: rgba(0, 0, 0, 0.5);
  z-index: 2000;
  display: none;
  align-items: center;
  justify-content: center;
}
#h5-modal.show { display: flex; }
#h5-modal .modal-body { white-space: pre-line; word-break: break-all; }

/* ============================================================
   独立"奖金优化"页面（参照 7.png）
   ============================================================ */
.optimize-bar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  background: #1f2940;
  color: #fff;
  border-radius: 0.16rem;
  padding: 0.28rem 0.32rem;
  margin-bottom: 0.24rem;
}
.optimize-back {
  font-size: 0.5rem;
  font-weight: 700;
  cursor: pointer;
  padding-right: 0.2rem;
}
.optimize-title {
  font-size: 0.4rem;
  font-weight: 700;
  flex: 1;
  text-align: center;
}
.optimize-help {
  font-size: 0.36rem;
  color: rgba(255, 255, 255, 0.7);
  cursor: pointer;
  width: 0.5rem;
  height: 0.5rem;
  border: 0.02rem solid rgba(255, 255, 255, 0.5);
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
}
.optimize-deadline {
  text-align: center;
  font-size: 0.28rem;
  color: #888;
  margin-bottom: 0.16rem;
}
.optimize-buy {
  background: #fff;
  border-radius: 0.16rem;
  padding: 0.28rem 0.32rem;
  margin-bottom: 0.16rem;
  box-shadow: 0 0.04rem 0.12rem rgba(0, 0, 0, 0.04);
  display: flex;
  align-items: baseline;
  justify-content: space-between;
}
.optimize-buy-label {
  font-size: 0.32rem;
  color: #666;
}
.optimize-buy-amount {
  font-size: 0.56rem;
  font-weight: 700;
  color: #d32f2f;
}
.optimize-buy-yuan {
  font-size: 0.28rem;
  color: #d32f2f;
  font-weight: 400;
  margin-left: 0.04rem;
}
.optimize-modes {
  display: flex;
  justify-content: center;
  gap: 0.04rem;
  background: #fff;
  border-radius: 0.16rem;
  padding: 0.06rem;
  margin-bottom: 0.16rem;
  box-shadow: 0 0.04rem 0.12rem rgba(0, 0, 0, 0.04);
}
.optimize-mode {
  flex: 1;
  text-align: center;
  padding: 0.2rem 0;
  font-size: 0.32rem;
  color: #666;
  border-radius: 0.12rem;
  cursor: pointer;
  transition: background 0.2s, color 0.2s;
}
.optimize-mode.active {
  background: #d32f2f;
  color: #fff;
  font-weight: 700;
}
.optimize-table-head {
  display: flex;
  background: #f0f3f7;
  padding: 0.2rem 0.32rem;
  font-size: 0.28rem;
  color: #666;
  border-radius: 0.16rem 0.16rem 0 0;
}
.optimize-table-head span {
  flex: 1;
  text-align: center;
}
.optimize-table-head span:first-child { flex: 3; text-align: left; }
.optimize-rows {
  background: #fff;
  border-radius: 0 0 0.16rem 0.16rem;
  margin-bottom: 0.24rem;
  box-shadow: 0 0.04rem 0.12rem rgba(0, 0, 0, 0.04);
}
.opt-row {
  display: flex;
  align-items: center;
  padding: 0.24rem 0.32rem;
  border-bottom: 0.02rem solid #f0f3f7;
}
.opt-row:last-child { border-bottom: none; }
.opt-row-lines {
  flex: 3;
  display: flex;
  flex-direction: column;
  gap: 0.04rem;
  font-size: 0.26rem;
  color: #333;
}
.opt-row-odds {
  flex: 1;
  text-align: center;
  font-size: 0.34rem;
  font-weight: 700;
  color: #d32f2f;
}
.opt-row-units {
  flex: 1;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0.12rem;
}
.opt-unit-btn {
  width: 0.46rem;
  height: 0.46rem;
  border: 0.02rem solid #e0e0e0;
  border-radius: 0.08rem;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 0.36rem;
  font-weight: 700;
  color: #333;
  cursor: pointer;
  user-select: none;
}
.opt-unit-btn:active { background: #f0f0f0; }
.opt-unit-val {
  font-size: 0.32rem;
  font-weight: 600;
  min-width: 0.5rem;
  text-align: center;
}
.optimize-foot {
  display: flex;
  justify-content: flex-end;
  padding: 0 0.1rem;
}
.optimize-save {
  background: #d32f2f;
  color: #fff;
  font-size: 0.32rem;
  font-weight: 700;
  padding: 0.24rem 0.6rem;
  border-radius: 0.4rem;
  box-shadow: 0 0.04rem 0.12rem rgba(211, 47, 47, 0.3);
}
.optimize-empty {
  background: #fff;
  border-radius: 0.16rem;
  padding: 0.6rem 0.32rem;
  font-size: 0.32rem;
  color: #999;
  text-align: center;
  box-shadow: 0 0.04rem 0.12rem rgba(0, 0, 0, 0.04);
}

/* ============================================================
   奖金优化页（按 1.png 风格：第一步选择优化方式 + 第二步手动调节）
   - 顶 bar 改为浅色（参考 1.png 浅蓝背景）
   - 两块均为「标题 + 内容 + 表格」结构
   ============================================================ */
.optimize-page {
  background: #f3f5f8;
}
.optimize-page .optimize-bar {
  background: linear-gradient(135deg, #0098DC, #0086C4);
  color: #fff;
  border-radius: 0 0 0.2rem 0.2rem;
  box-shadow: 0 0.04rem 0.16rem rgba(0, 134, 196, 0.18);
  padding: 0.32rem 0.32rem;
  margin-bottom: 0.24rem;
}
.optimize-page .optimize-title {
  color: #fff;
}
.optimize-page .optimize-back {
  color: #fff;
}
.optimize-page .optimize-help {
  color: rgba(255, 255, 255, 0.9);
  border-color: rgba(255, 255, 255, 0.6);
}

/* ----- 通用 step 块 ----- */
.opt-step {
  margin: 0 0.2rem 0.32rem;
  background: #fff;
  border-radius: 0.16rem;
  box-shadow: 0 0.04rem 0.12rem rgba(0, 0, 0, 0.04);
  overflow: hidden;
}
.opt-step-head {
  display: flex;
  align-items: center;
  background: linear-gradient(135deg, #d6eef9, #c5e3f3);
  padding: 0.18rem 0.24rem;
  border-bottom: 0.01rem solid #e0eef5;
}
.opt-step-icon {
  font-size: 0.36rem;
  margin-right: 0.08rem;
}
.opt-step-title {
  font-size: 0.32rem;
  font-weight: 700;
  color: #1378b5;
}
.opt-step-body {
  padding: 0.24rem 0.24rem 0.28rem;
}
.opt-step-body-tight {
  padding: 0.16rem 0.16rem 0.18rem;
}

/* ----- 第一步：计划 + 模式 + 优化按钮 ----- */
.opt-plan-row {
  display: flex;
  align-items: center;
  margin-bottom: 0.18rem;
}
.opt-plan-label {
  font-size: 0.32rem;
  font-weight: 700;
  color: #191a1b;
  margin-right: 0.16rem;
}
.opt-plan-input {
  width: 1.4rem;
  height: 0.6rem;
  border: 0.02rem solid #357fdb;
  border-radius: 0.08rem;
  text-align: center;
  font-size: 0.32rem;
  font-weight: 700;
  color: #357fdb;
  outline: none;
  margin-right: 0.12rem;
  -moz-appearance: textfield;
  appearance: textfield;
  background: #fff;
}
.opt-plan-input::-webkit-inner-spin-button { -webkit-appearance: none; }
.opt-plan-unit {
  font-size: 0.28rem;
  color: #191a1b;
}

.opt-modes {
  display: flex;
  flex-direction: column;
  gap: 0.1rem;
  margin-bottom: 0.24rem;
}
.opt-mode-row {
  display: flex;
  align-items: center;
  cursor: pointer;
  font-size: 0.28rem;
  color: #191a1b;
  line-height: 1.4;
  padding: 0.04rem 0;
}
.opt-radio {
  width: 0.32rem;
  height: 0.32rem;
  margin-right: 0.12rem;
  accent-color: #357fdb;
  flex-shrink: 0;
  cursor: pointer;
}
.opt-mode-name {
  font-weight: 700;
  font-size: 0.3rem;
  color: #1378b5;
  margin-right: 0.04rem;
}
.opt-mode-desc {
  color: #555;
  font-size: 0.26rem;
  white-space: normal;
  flex: 1;
  min-width: 0;
}

.opt-optimize-bar {
  display: flex;
  justify-content: center;
  margin-top: 0.08rem;
}
.opt-optimize-btn {
  background: linear-gradient(135deg, #0098DC, #0086C4);
  color: #fff;
  font-size: 0.36rem;
  font-weight: 700;
  padding: 0.22rem 1rem;
  border-radius: 0.44rem;
  box-shadow: 0 0.06rem 0.16rem rgba(0, 134, 196, 0.3);
  border: none;
  cursor: pointer;
  min-width: 2.6rem;
}
.opt-optimize-btn:active { opacity: 0.85; }

/* ----- 通用 stepper [-][N][+] 单元 ----- */
.opt-stepper {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 0.42rem;
  height: 0.42rem;
  background: #fff;
  border: 0.01rem solid #c8d4dc;
  border-radius: 0.06rem;
  font-size: 0.32rem;
  font-weight: 700;
  color: #357fdb;
  cursor: pointer;
  user-select: none;
  flex-shrink: 0;
}
.opt-stepper:active { background: #f0f6fb; }
.opt-step-btn {
  width: 100%;
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  line-height: 1;
}
.opt-step-val {
  min-width: 0.6rem;
  text-align: center;
  font-size: 0.28rem;
  font-weight: 700;
  color: #191a1b;
  padding: 0 0.08rem;
  flex-shrink: 0;
}

/* ----- 第一步比赛表（横向滚动） ----- */
.opt-match-table-wrap {
  border-top: 0.01rem solid #eaedef;
  background: #fff;
  overflow-x: auto;
}
.opt-match-table {
  width: 100%;
  min-width: 6.8rem;   /* 列较多，确保可横滑 */
  border-collapse: collapse;
  font-size: 0.24rem;
  color: #191a1b;
}
.opt-match-table thead th {
  background: #f0f6fb;
  font-weight: 700;
  color: #1378b5;
  text-align: center;
  padding: 0.16rem 0.08rem;
  border-bottom: 0.01rem solid #e0eef5;
  border-right: 0.01rem solid #eaedef;
  white-space: nowrap;
}
.opt-match-table thead th:last-child { border-right: none; }
.opt-match-table tbody td {
  padding: 0.14rem 0.08rem;
  border-bottom: 0.01rem solid #f0f3f7;
  border-right: 0.01rem solid #f0f3f7;
  text-align: center;
  vertical-align: middle;
  white-space: nowrap;
}
.opt-match-table tbody td:last-child { border-right: none; }
.opt-cell-no {
  font-weight: 700;
  color: #191a1b;
}
.opt-cell-time { color: #494f57; }
.opt-cell-team {
  text-align: left !important;
  white-space: nowrap;
}
.opt-team-name { font-size: 0.24rem; color: #191a1b; font-weight: 500; }
.opt-team-odds {
  display: inline-block;
  margin-left: 0.04rem;
  font-weight: 700;
  color: #357fdb;
  font-size: 0.24rem;
}
.opt-cell-draw {
  color: #357fdb;
  font-weight: 700;
}
.opt-cell-stepper {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0.04rem;
  white-space: nowrap;
}
/* 只读注数列（第一步比赛表，手动调节请用第二步单注表） */
.opt-cell-static {
  text-align: center;
  font-size: 0.28rem;
  font-weight: 700;
  color: #333;
  line-height: 1;
}

/* 联赛 pill（赛事列） */
.opt-pill {
  display: inline-block;
  padding: 0.04rem 0.12rem;
  border-radius: 0.08rem;
  font-size: 0.22rem;
  font-weight: 500;
  line-height: 1.2;
  white-space: nowrap;
}
.opt-pill.green {
  background: #18c5a3;
  color: #fff;
}
.opt-pill.blue {
  background: #357fdb;
  color: #fff;
}

/* ----- 第二步组合表 ----- */
.opt-combo-table-wrap {
  overflow-x: auto;
}
.opt-combo-table {
  width: 100%;
  min-width: 5.6rem;
  border-collapse: collapse;
  font-size: 0.26rem;
  color: #191a1b;
}
.opt-combo-table thead th {
  background: #f0f6fb;
  font-weight: 700;
  color: #1378b5;
  text-align: center;
  padding: 0.16rem 0.12rem;
  border-bottom: 0.01rem solid #e0eef5;
  border-right: 0.01rem solid #eaedef;
  white-space: nowrap;
}
.opt-combo-table thead th:last-child { border-right: none; }
.opt-combo-table tbody td {
  padding: 0.18rem 0.12rem;
  border-bottom: 0.01rem solid #f0f3f7;
  border-right: 0.01rem solid #f0f3f7;
  text-align: center;
  vertical-align: middle;
}
.opt-combo-table tbody td:last-child { border-right: none; }
.opt-cell-seq {
  font-weight: 700;
  color: #191a1b;
}
.opt-cell-seq-only {
  font-weight: 700;
  color: #191a1b;
}
.opt-cell-safe {
  padding: 0.1rem 0.08rem !important;
  vertical-align: middle;
}
.opt-safe-label {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
}
.opt-safe-check {
  appearance: none;
  -webkit-appearance: none;
  width: 0.34rem;
  height: 0.34rem;
  border: 0.02rem solid #1378b5;
  border-radius: 0.04rem;
  margin: 0;
  cursor: pointer;
  position: relative;
  background: #fff;
}
.opt-safe-check:checked {
  background: #1378b5;
}
.opt-safe-check:checked::after {
  content: '';
  position: absolute;
  left: 0.07rem;
  top: 0.02rem;
  width: 0.08rem;
  height: 0.16rem;
  border: solid #fff;
  border-width: 0 0.03rem 0.03rem 0;
  transform: rotate(45deg);
}
.opt-safe-mark { display: none; }    /* 用 input 自定义勾选样式,文字标记隐藏 */
.opt-safe-hint {
  font-size: 0.22rem;
  font-weight: 400;
  color: #888;
  margin-left: 0.16rem;
}
.opt-cell-combo {
  text-align: left !important;
  min-width: 4rem;
  white-space: normal;
}
.opt-combo-desc {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.06rem;
  line-height: 1.6;
}
.opt-match-tag {
  font-size: 0.26rem;
  font-weight: 700;
  color: #191a1b;
  margin-right: 0.02rem;
}
.opt-pill-tag {
  display: inline-block;
  padding: 0.02rem 0.1rem;
  border-radius: 0.06rem;
  font-size: 0.24rem;
  font-weight: 500;
  line-height: 1.3;
  white-space: nowrap;
}
.opt-pill-tag.green {
  background: #18c5a3;
  color: #fff;
}
.opt-pill-tag.red {
  background: #ee4543;
  color: #fff;
}
.opt-x {
  color: #888;
  font-size: 0.26rem;
  font-weight: 700;
  margin: 0 0.04rem;
}
.opt-mult-num {
  color: #1378b5;
  font-weight: 700;
  font-size: 0.26rem;
  margin-right: 0.04rem;
}
.opt-result {
  color: #1378b5;
  font-weight: 700;
  font-size: 0.28rem;
}
.opt-cell-prize {
  color: #ee4543;
  font-weight: 700;
  font-size: 0.3rem;
}

/* ============================================================
   奖金优化页 · 查看方案按钮（底部第三步）
   ============================================================ */
.opt-scheme-bar {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 0.16rem;
  padding: 0.3rem 0.24rem 0.5rem;
}
.opt-scheme-btn {
  flex: 1;
  max-width: 6rem;
  background: linear-gradient(135deg, #008F53, #007043);
  color: #fff;
  font-size: 0.36rem;
  font-weight: 700;
  letter-spacing: 0.08rem;
  padding: 0.24rem 0;
  border-radius: 0.1rem;
  box-shadow: 0 0.06rem 0.16rem rgba(0, 143, 83, 0.3);
  border: none;
  cursor: pointer;
}
.opt-scheme-btn:active { opacity: 0.85; }
.opt-scheme-btn-ghost {
  background: #fff;
  color: #008F53;
  border: 0.02rem solid #008F53;
  box-shadow: none;
  letter-spacing: 0;
}

/* ============================================================
   方案详情页（#scheme，参照 1.png 风格）
   ============================================================ */
.scheme-page {
  background: #f3f5f8;
  padding-bottom: 1.2rem;
}
.scheme-empty {
  padding: 1.2rem 0.4rem;
  text-align: center;
  color: #888;
  font-size: 0.3rem;
}
.scheme-sum {
  margin: 0.24rem;
  background: #fff;
  border-radius: 0.16rem;
  padding: 0.3rem 0.28rem;
  box-shadow: 0 0.04rem 0.12rem rgba(0, 0, 0, 0.05);
}
.scheme-sum-user {
  font-size: 0.28rem;
  color: #494f57;
  font-weight: 700;
  margin-bottom: 0.2rem;
}
.scheme-sum-row {
  display: flex;
  align-items: center;
}
.scheme-sum-item {
  flex: 1;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 0.08rem;
}
.scheme-sum-label {
  font-size: 0.24rem;
  color: #888;
}
.scheme-sum-num {
  font-size: 0.3rem;
  font-weight: 700;
  color: #191a1b;
}
.scheme-list {
  margin: 0 0.24rem;
}
.scheme-row {
  background: #fff;
  border-radius: 0.16rem;
  padding: 0.26rem 0.24rem;
  margin-bottom: 0.2rem;
  box-shadow: 0 0.04rem 0.12rem rgba(0, 0, 0, 0.05);
}
.scheme-row-head {
  display: flex;
  align-items: center;
  gap: 0.12rem;
  margin-bottom: 0.16rem;
}
.scheme-row-seq {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 0.4rem;
  height: 0.4rem;
  padding: 0 0.08rem;
  background: #1378b5;
  color: #fff;
  font-size: 0.24rem;
  font-weight: 700;
  border-radius: 0.08rem;
}
.scheme-safe-tag {
  background: #18c5a3;
  color: #fff;
  font-size: 0.22rem;
  padding: 0.02rem 0.12rem;
  border-radius: 0.06rem;
}
.scheme-row-units {
  margin-left: auto;
  font-size: 0.28rem;
  color: #494f57;
  font-weight: 700;
}
.scheme-row-prize {
  font-size: 0.3rem;
  color: #ee4543;
  font-weight: 700;
}
.scheme-row-desc {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.06rem;
  line-height: 1.6;
}
.scheme-foot {
  text-align: center;
  padding: 0.3rem 0 0.1rem;
  color: #aaa;
  font-size: 0.26rem;
}

/* ============================================================
   注册页（#register）
   ============================================================ */
.reg-page {
  background: #f3f5f8;
  padding-bottom: 1.2rem;
}
.reg-card {
  margin: 0.5rem 0.4rem;
  background: #fff;
  border-radius: 0.2rem;
  padding: 0.5rem 0.4rem;
  box-shadow: 0 0.08rem 0.24rem rgba(0, 0, 0, 0.06);
}
.reg-title {
  text-align: center;
  font-size: 0.4rem;
  font-weight: 700;
  color: #191a1b;
  margin-bottom: 0.4rem;
}
.reg-field {
  margin-bottom: 0.3rem;
  display: flex;
  align-items: center;
  gap: 0.2rem;
}
.reg-input {
  flex: 1;
  min-width: 0;
  height: 0.9rem;
  border: 0.02rem solid #e1e6ea;
  border-radius: 0.1rem;
  padding: 0 0.24rem;
  font-size: 0.32rem;
  box-sizing: border-box;
  outline: none;
  color: #191a1b;
  background: #fafbfc;
}
.reg-input:focus {
  border-color: #1378b5;
  background: #fff;
}
.reg-code-row .reg-input { flex: 1; }
.reg-send {
  flex-shrink: 0;
  height: 0.9rem;
  padding: 0 0.24rem;
  border: 0.02rem solid #1378b5;
  border-radius: 0.1rem;
  background: #fff;
  color: #1378b5;
  font-size: 0.28rem;
  font-weight: 700;
  cursor: pointer;
  white-space: nowrap;
}
.reg-send:disabled {
  border-color: #ccc;
  color: #aaa;
  cursor: not-allowed;
}
.reg-captcha {
  flex-shrink: 0;
  height: 0.9rem;
  width: 2rem;
  border: 0.02rem solid #e1e6ea;
  border-radius: 0.1rem;
  background: #f0f5f9;
  cursor: pointer;
}
.reg-btn {
  width: 100%;
  height: 0.92rem;
  margin-top: 0.1rem;
  background: linear-gradient(135deg, #008F53, #007043);
  color: #fff;
  font-size: 0.36rem;
  font-weight: 700;
  letter-spacing: 0.1rem;
  border: none;
  border-radius: 0.1rem;
  cursor: pointer;
  box-shadow: 0 0.06rem 0.16rem rgba(0, 143, 83, 0.3);
}
.reg-btn:active { opacity: 0.85; }
.reg-tip {
  margin-top: 0.3rem;
  text-align: center;
  font-size: 0.24rem;
  color: #aaa;
}
.reg-done {
  text-align: center;
  font-size: 0.3rem;
  color: #008F53;
  font-weight: 700;
  margin-bottom: 0.3rem;
}

/* ============================================================
   赔率格子 · 双击原地编辑
   ============================================================ */
.odds-editing {
  position: relative;
  z-index: 6;
  cursor: text !important;
  outline: 0.04rem solid #1378b5 !important;
  outline-offset: -0.02rem;
}
.odds-editing.active { background: #fff !important; }
.odds-editing.active .match-t3-cell-label,
.odds-editing.active .live-more-cell-label { color: #1378b5 !important; }
.odds-inline-input {
  display: inline-block;
  width: 100%;
  min-width: 0.8rem;
  height: 0.4rem;
  border: none;
  outline: none;
  background: transparent;
  font-size: 0.28rem;
  font-weight: 700;
  color: #1378b5;
  text-align: center;
  padding: 0;
  margin: 0;
  box-sizing: border-box;
  -webkit-appearance: none;
}
.match-t3-cell .odds-inline-input { width: 0.8rem; }
.live-odds .odds-inline-input { width: 0.9rem; }
.live-more-cell .odds-inline-input { width: 0.9rem; }

/* ============================================================
   过关方式弹层 · 大卡片按钮（点击即选，× 关闭无确定按钮）
   ============================================================ */
.sheet-pass2 {
  border-radius: 0.32rem 0.32rem 0 0;
  padding-bottom: calc(0.24rem + env(safe-area-inset-bottom));
  max-height: 70vh;
  overflow-y: auto;
  -webkit-overflow-scrolling: touch;
}
.sheet-pass2 .sheet-title {
  display: flex;
  align-items: center;
  justify-content: center;
  position: relative;
  padding: 0.4rem 0.32rem 0.24rem;
  border-bottom: 0.02rem solid #f0f0f0;
  font-size: 0.36rem;
  font-weight: 700;
  color: #333;
}
.sheet-pass2 .sheet-title-text { font-size: 0.42rem; font-weight: 700; }
.sheet-pass2 .sheet-close-x {
  position: absolute;
  right: 0.32rem;
  top: 50%;
  transform: translateY(-50%);
  width: 0.64rem;
  height: 0.64rem;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 0.5rem;
  color: #999;
  cursor: pointer;
  line-height: 1;
}
.sheet-pass2-body {
  padding: 0.32rem 0.32rem 0.08rem;
}
.sheet-pass2-group { margin-bottom: 0.32rem; }
.sheet-pass2-group:last-child { margin-bottom: 0; }
.sheet-pass2-label {
  display: flex;
  align-items: center;
  font-size: 0.28rem;
  color: #999;
  margin-bottom: 0.2rem;
}
.sheet-pass2-tag {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: 0.24rem;
  font-weight: 700;
  color: #fff;
  border-radius: 0.08rem;
  padding: 0.04rem 0.16rem;
  margin-right: 0.14rem;
}
.sheet-pass2-tag-multi { background: #e60012; }
.sheet-pass2-cards {
  display: flex;
  flex-wrap: wrap;
  gap: 0.2rem;
}
.sheet-pass-card {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 1.6rem;
  height: 0.84rem;
  padding: 0 0.32rem;
  font-size: 0.36rem;
  font-weight: 700;
  color: #333;
  background: #ffffff;
  border: 0.02rem solid #e0e0e0;
  border-radius: 0.16rem;
  cursor: pointer;
  user-select: none;
  -webkit-user-select: none;
  box-sizing: border-box;
  transition: transform 0.08s ease, background 0.12s ease;
}
.sheet-pass-card:active { transform: scale(0.97); }
.sheet-pass-card.on {
  background: #e60012;
  border-color: #e60012;
  color: #ffffff;
}

/* ============================================================
   "我的方案"弹层（本地持久化 · 可载入/删除）
   ============================================================ */
.sheet-plans {
  border-radius: 0.32rem 0.32rem 0 0;
  padding-bottom: calc(0.24rem + env(safe-area-inset-bottom));
  max-height: 76vh;
  display: flex;
  flex-direction: column;
}
.sheet-plans .sheet-title-bar {
  display: flex;
  align-items: center;
  justify-content: center;
  position: relative;
  padding: 0.4rem 0.32rem 0.24rem;
  border-bottom: 0.02rem solid #f0f0f0;
  flex-shrink: 0;
}
.sheet-plans .sheet-title-text { font-size: 0.42rem; font-weight: 700; color: #333; }
.sheet-plans .sheet-close-x {
  position: absolute;
  right: 0.32rem;
  top: 50%;
  transform: translateY(-50%);
  width: 0.64rem;
  height: 0.64rem;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 0.5rem;
  color: #999;
  cursor: pointer;
  line-height: 1;
}
.sheet-plans .sheet-close {
  flex-shrink: 0;
  margin: 0.24rem 0.24rem 0;
}
.sheet-plans-body {
  flex: 1;
  min-height: 0;
  overflow-y: auto;
  -webkit-overflow-scrolling: touch;
  padding: 0.24rem 0.24rem 0.08rem;
  max-height: 58vh;
}
.plan-list {
  display: flex;
  flex-direction: column;
  gap: 0.18rem;
}
.plan-empty {
  text-align: center;
  color: #999;
  font-size: 0.28rem;
  padding: 0.6rem 0;
  line-height: 1.8;
}

/* ----- 我的方案独立页（#plans） ----- */
.plans-page {
  background: #f3f5f8;
  padding-bottom: 0.6rem;
}
.plans-page .optimize-bar {
  background: linear-gradient(135deg, #0098DC, #0086C4);
  color: #fff;
  border-radius: 0 0 0.2rem 0.2rem;
  box-shadow: 0 0.04rem 0.16rem rgba(0, 134, 196, 0.18);
  padding: 0.32rem;
  margin-bottom: 0.24rem;
}
.plans-page .optimize-back { color: #fff; }
.plans-page .optimize-title { color: #fff; }
/* 云端方案同步状态条：本地保存 / 已同步到云端（收费功能 cloud 的入口） */
.plans-sync {
  display: flex;
  align-items: center;
  gap: 0.12rem;
  margin: -0.08rem 0.24rem 0.24rem;
  padding: 0.18rem 0.22rem;
  background: #fff;
  border-radius: 0.14rem;
  font-size: 0.24rem;
  color: #666;
  cursor: pointer;
}
.plans-sync .ps-dot {
  width: 0.14rem;
  height: 0.14rem;
  border-radius: 50%;
  background: #c4c9d1;
  flex-shrink: 0;
}
.plans-sync .ps-dot.on { background: #17b26a; }
.plans-sync .ps-dot.warn { background: #f5a623; }
.plans-sync .ps-go {
  margin-left: auto;
  color: #0098DC;
  flex-shrink: 0;
}
.plans-body {
  padding: 0 0.24rem;
}
.plans-page .plan-item { background: #fff; }
.plans-page .plan-item-load-btn {}
.plan-item {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.16rem;
  background: #f7f8fa;
  border-radius: 0.16rem;
  padding: 0.2rem;
}
.plan-item-main { flex: 1; min-width: 0; }
.plan-item-title {
  font-size: 0.3rem;
  font-weight: 700;
  color: #222;
  display: flex;
  align-items: center;
  gap: 0.12rem;
  flex-wrap: wrap;
}
.plan-item-play {
  font-size: 0.22rem;
  color: #008F53;
  background: rgba(0, 143, 83, 0.1);
  border-radius: 0.08rem;
  padding: 0.02rem 0.12rem;
  font-weight: 400;
  white-space: nowrap;
}
.plan-item-sub {
  font-size: 0.24rem;
  color: #888;
  margin-top: 0.08rem;
}
.plan-item-nums {
  font-size: 0.26rem;
  color: #555;
  margin-top: 0.08rem;
}
.plan-item-nums b { color: #d32f2f; }
.plan-item-time {
  font-size: 0.22rem;
  color: #aaa;
  margin-top: 0.06rem;
}
.plan-item-actions {
  display: flex;
  flex-direction: column;
  gap: 0.12rem;
  flex-shrink: 0;
}
.plan-btn {
  font-size: 0.26rem;
  padding: 0.1rem 0.26rem;
  border: none;
  border-radius: 0.1rem;
  cursor: pointer;
  white-space: nowrap;
}
.plan-btn-load { background: #008F53; color: #fff; }
.plan-btn-del {
  background: #fff;
  color: #d32f2f;
  border: 0.02rem solid #ffd4d4;
  box-sizing: border-box;
}

/* ============================================================
   容错过关计算结果页（#rongcuo 汇总 1.png / #rongcuo-detail 明细 2.png）
   ============================================================ */
.rongcuo-page {
  background: #f3f5f8;
  padding-bottom: 1.2rem;
}
.rongcuo-page .optimize-bar {
  background: linear-gradient(135deg, #0098DC, #0086C4);
  color: #fff;
  border-radius: 0 0 0.2rem 0.2rem;
  box-shadow: 0 0.04rem 0.16rem rgba(0, 134, 196, 0.18);
  padding: 0.32rem 0.32rem;
  margin-bottom: 0.24rem;
}
.rongcuo-page .optimize-back { color: #fff; }
.rongcuo-page .optimize-title { color: #fff; }

/* ----- 汇总卡 ----- */
.rc-sum {
  margin: 0 0.2rem 0.24rem;
  background: #fff;
  border-radius: 0.16rem;
  padding: 0.28rem;
  box-shadow: 0 0.04rem 0.12rem rgba(0, 0, 0, 0.04);
}
.rc-sum-detail { margin-top: 0; }
.rc-sum-row {
  display: flex;
  align-items: center;
  margin-bottom: 0.2rem;
}
.rc-sum-item {
  flex: 1;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 0.08rem;
  min-width: 0;
}
.rc-sum-label {
  font-size: 0.22rem;
  color: #888;
  white-space: nowrap;
}
.rc-sum-num {
  font-size: 0.28rem;
  font-weight: 700;
  color: #191a1b;
  white-space: nowrap;
  max-width: 100%;
  overflow: hidden;
  text-overflow: ellipsis;
}
.rc-sum-num.red { color: #ee4543; }
.rc-sum-num.green { color: #008F53; }
.rc-free { color: #008F53; }
.rc-sum-grid {
  display: flex;
  flex-wrap: wrap;
  border-top: 0.01rem solid #f0f3f7;
  padding-top: 0.1rem;
}
.rc-sum-cell {
  width: 50%;
  box-sizing: border-box;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 0.08rem;
  padding: 0.12rem 0;
}
.rc-sum-big {
  font-size: 0.32rem;
  font-weight: 700;
  color: #1378b5;
}
.rc-sum-big.red { color: #ee4543; }
.rc-sum-big.green { color: #008F53; }

/* ----- 查看注数明细按钮 ----- */
.rc-detail-bar {
  display: flex;
  justify-content: center;
  gap: 0.16rem;
  padding: 0.1rem 0.24rem 0.4rem;
}
.rc-detail-btn {
  flex: 1;
  max-width: 6rem;
  background: linear-gradient(135deg, #008F53, #007043);
  color: #fff;
  font-size: 0.34rem;
  font-weight: 700;
  letter-spacing: 0.06rem;
  padding: 0.24rem 0;
  border-radius: 0.44rem;
  box-shadow: 0 0.06rem 0.16rem rgba(0, 143, 83, 0.3);
  border: none;
  cursor: pointer;
}
.rc-detail-btn:active { opacity: 0.85; }
.rc-detail-btn-ghost {
  background: #fff;
  color: #008F53;
  border: 0.02rem solid #008F53;
  box-shadow: none;
  letter-spacing: 0;
  box-sizing: border-box;
}

/* ----- 注数明细表（2.png） ----- */
.rc-step-hint {
  margin-left: auto;
  font-size: 0.22rem;
  color: #888;
  font-weight: 400;
}
.rc-combo-table {
  min-width: 8.4rem;
}
.rc-combo-table .opt-cell-combo {
  min-width: 3.6rem;
}
.rc-cell-odds {
  font-weight: 700;
  color: #357fdb;
  white-space: nowrap;
}
.rc-cell-money {
  white-space: nowrap;
  font-weight: 600;
}
.rc-cell-win { white-space: nowrap; }
.rc-win-toggle {
  display: inline-block;
  padding: 0.08rem 0.16rem;
  border-radius: 0.3rem;
  font-size: 0.22rem;
  font-weight: 600;
  color: #888;
  background: #f0f0f0;
  border: 0.02rem solid #e0e0e0;
  cursor: pointer;
  white-space: nowrap;
}
.rc-win-toggle.on {
  color: #fff;
  background: #008F53;
  border-color: #008F53;
}
.rc-actual {
  color: #008F53;
  font-weight: 700;
}
tr.rc-won { background: #f2fbf6; }

/* ----- #rongcuo 比赛汇总表 · 每场"中(赔率)/其他(不中)"按钮对（参照 1.png） ----- */
.rc-cell-bets-th {
  min-width: 4.2rem;
  white-space: nowrap;
}
.rc-cell-bets-td {
  text-align: left !important;
  white-space: normal;
  padding: 0.14rem 0.08rem !important;
  min-width: 4.2rem;
}
.rc-cell-bets {
  display: inline-flex;
  align-items: center;
  gap: 0.06rem;
  flex-wrap: wrap;
  white-space: normal;
  font-size: 0.22rem;
}
.rc-bet-sep {
  color: #d0d4d8;
  font-weight: 400;
  padding: 0 0.04rem;
  font-size: 0.22rem;
  user-select: none;
}
.rc-bet-pair {
  display: inline-flex;
  border-radius: 0.06rem;
  overflow: hidden;
  border: 0.01rem solid #357fdb;
  flex-shrink: 0;
  line-height: 1.2;
}
.rc-bet-btn {
  padding: 0.06rem 0.14rem;
  font-size: 0.22rem;
  font-weight: 700;
  cursor: pointer;
  user-select: none;
  white-space: nowrap;
  color: #fff;
}
/* 默认（未激活）：灰底白字——表示"该按钮当前未生效" */
.rc-bet-pair .rc-bet-win,
.rc-bet-pair .rc-bet-other {
  background: #c8d4dc;
  color: #fff;
}
/* "中"激活（默认）：红色背景，显示赔率 */
.rc-bet-pair.win-on .rc-bet-win {
  background: #ee4543;
  color: #fff;
}
.rc-bet-pair.win-on .rc-bet-other {
  background: #c8d4dc;
  color: #fff;
}
/* "其他"激活（不中）：蓝色背景 */
.rc-bet-pair.other-on .rc-bet-win {
  background: #c8d4dc;
  color: #fff;
  text-decoration: line-through;
  text-decoration-color: rgba(255, 255, 255, 0.55);
}
.rc-bet-pair.other-on .rc-bet-other {
  background: #357fdb;
  color: #fff;
}
.rc-bet-empty {
  color: #999;
  font-size: 0.24rem;
}
/* 每场最右侧整场级"其他"按钮（点击后该场全部选项跳转为未中） */
.rc-bet-all-other {
  border-radius: 0.06rem;
  border: 0.01rem solid #c8d4dc;
  background: #c8d4dc;
}
.rc-bet-all-other.on {
  border-color: #357fdb;
  background: #357fdb;
}

/* ----- 底部实际中奖汇总条 ----- */
.rc-foot {
  margin: 0 0.2rem 0.24rem;
  background: #fff;
  border-radius: 0.16rem;
  padding: 0.26rem 0.28rem;
  box-shadow: 0 0.04rem 0.12rem rgba(0, 0, 0, 0.04);
  display: flex;
  align-items: center;
}
.rc-foot-item {
  flex: 1;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 0.08rem;
}
.rc-foot-actual {
  border-left: 0.01rem solid #f0f3f7;
}
.rc-foot-num {
  font-size: 0.3rem;
  font-weight: 700;
  color: #1378b5;
}
.rc-foot-num.green { color: #008F53; }
