/* 雅算精准样式补丁 2026-05-10
   直接针对当前代码结构：
   - 修复雅算 tag 垂直居中
   - 日麻计分工具改楷体
   - 当前规则按钮改色+微圆角
   - 半庄记录修改/删除按钮改色+微圆角
   - 修改半庄弹窗统一方正微圆角
   - 录入一局半庄校验框方正微圆角，不额外加背景框
*/

:root{
  --ys-blue:#2563eb;
  --ys-blue-hover:#1d4ed8;
  --ys-blue-soft:#eff6ff;

  --ys-green:#16a34a;
  --ys-green-hover:#15803d;

  --ys-red:#dc2626;
  --ys-red-hover:#b91c1c;

  --ys-orange:#f59e0b;
  --ys-orange-hover:#d97706;

  --ys-line:#cbd5e1;
  --ys-card:#ffffff;
  --ys-text:#1f2937;

  --ys-radius-btn:5px;
  --ys-radius-card:6px;
}

/* 首页标题 */
.brandTitle{
  display:flex !important;
  align-items:center !important;
}

.brandTitle #siteTitle,
#siteTitle{
  display:inline-flex !important;
  align-items:center !important;
  justify-content:flex-start !important;
  gap:8px !important;
  flex-wrap:nowrap !important;
  margin:0 !important;
  line-height:1 !important;
  vertical-align:middle !important;
}

#siteTitle .yasuanTag{
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  box-sizing:border-box !important;
  height:1.36em !important;
  padding:0 .45em !important;
  margin:0 !important;
  font-size:.78em !important;
  line-height:1 !important;
  transform:translateY(.01em) !important;
  color:var(--ys-blue) !important;
  background:var(--ys-blue-soft) !important;
  border:1px solid #bfdbfe !important;
  border-radius:4px !important;
  font-family:-apple-system,BlinkMacSystemFont,"PingFang SC","Noto Sans CJK SC","Microsoft YaHei",sans-serif !important;
  font-weight:700 !important;
  letter-spacing:.02em !important;
  box-shadow:none !important;
}

#siteTitle .yasuanTitleText{
  display:inline-flex !important;
  align-items:center !important;
  margin:0 !important;
  padding:0 !important;
  line-height:1.36 !important;
  font-family:"KaiTi","楷体","STKaiti","华文楷体","Kaiti SC","BiauKai",serif !important;
  font-weight:400 !important;
  letter-spacing:.02em !important;
  color:var(--ys-text) !important;
}

/* 首页马点设置 / PT换算行：保持橙黄色 */
.sloganBox{
  border-radius:var(--ys-radius-card) !important;
  overflow:hidden !important;
  border:1px solid #fed7aa !important;
  background:#fff !important;
}

.sloganBox .sloganTopBadge,
#siteDesc .sloganTopBadge{
  background:var(--ys-orange) !important;
  border-radius:5px 5px 0 0 !important;
  color:#fff !important;
}

/* 通用微圆角 */
button,
.actionBtn,
.okBtn,
.miniActionBtn,
.confirmBtn,
.btnGhost,
.filterBtn,
.share-btn,
input:not([type="radio"]),
select,
textarea{
  border-radius:var(--ys-radius-btn) !important;
}

/* 首页/对局卡片方正微圆角 */
.headerCard,
.sectionCard,
.input-card,
.round-card,
.matchCard,
.total-pt-box,
.mmModal,
.confirmModal,
.toolPanel,
.metricCard,
.filterWrap,
.statCard{
  border-radius:var(--ys-radius-card) !important;
  box-shadow:0 1px 4px rgba(15,23,42,.06) !important;
}

/* 不给“录入一局半庄”那一行额外加背景框 */
.check-bar{
  background:transparent !important;
  border:none !important;
  box-shadow:none !important;
}

/* 分数校验框：方正微圆角，替代旧胶囊 */
.check-val,
.check-val.withMark,
.check-bar .check-val,
#editMask .editHeadRight .check-val{
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  min-width:118px !important;
  padding:7px 10px !important;
  border-radius:var(--ys-radius-btn) !important;
  line-height:1 !important;
  font-size:12px !important;
  font-weight:900 !important;
  font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace !important;
  box-shadow:none !important;
}

.check-val.ok,
.check-bar .check-val.ok,
#editMask .editHeadRight .check-val.ok{
  color:var(--ys-green-hover) !important;
  background:#f0fdf4 !important;
  border:1px solid #bbf7d0 !important;
}

.check-val.bad,
.check-bar .check-val.bad,
#editMask .editHeadRight .check-val.bad,
#editMask .editHeadRight #editHint.bad{
  color:var(--ys-red) !important;
  background:#fef2f2 !important;
  border:1px solid #fecaca !important;
}

/* 开始 / 进入：蓝色 */
#bottomStartBtn,
#enterBtn{
  background:var(--ys-blue) !important;
  border-color:var(--ys-blue) !important;
  color:#fff !important;
}

#bottomStartBtn:hover,
#enterBtn:hover{
  background:var(--ys-blue-hover) !important;
  border-color:var(--ys-blue-hover) !important;
}

/* 登录/注册入口、登录、删除类：负 PT 红色 */
#authBtn,
#loginBtn,
#confirmOkBtn.danger,
.round-card .ops .miniActionBtn.danger,
button.yasuan-red-action{
  background:var(--ys-red) !important;
  border-color:var(--ys-red) !important;
  color:#fff !important;
  border-radius:var(--ys-radius-btn) !important;
  box-shadow:none !important;
}

/* 一键注册并登录：橙黄色 */
#registerBtn,
button.yasuan-orange-action{
  background:var(--ys-orange) !important;
  border-color:var(--ys-orange) !important;
  color:#fff !important;
  border-radius:var(--ys-radius-btn) !important;
  box-shadow:none !important;
}

#registerBtn:hover,
button.yasuan-orange-action:hover{
  background:var(--ys-orange-hover) !important;
  border-color:var(--ys-orange-hover) !important;
}

/* 确认并添加、修改、修改设定、保存修改：确认并添加同款绿色 */
#addBtn,
#editSaveBtn,
.round-card .ops .miniActionBtn:not(.danger),
button.yasuan-green-action{
  background:var(--ys-green) !important;
  border-color:var(--ys-green) !important;
  color:#fff !important;
  border-radius:var(--ys-radius-btn) !important;
  box-shadow:none !important;
}

#addBtn:hover,
#editSaveBtn:hover,
.round-card .ops .miniActionBtn:not(.danger):hover,
button.yasuan-green-action:hover{
  background:var(--ys-green-hover) !important;
  border-color:var(--ys-green-hover) !important;
}

/* 关键修复：当前规则卡片按钮，覆盖 app.css 里更强的旧 !important */
html body #matchView > .headerCard .info-row .topRuleActions .miniActionBtn,
html body #matchView > .headerCard .info-row .topRuleActions .miniActionBtn:hover,
html body #matchView > .headerCard .info-row .topRuleActions .miniActionBtn:active{
  height:30px !important;
  padding:0 12px !important;
  border-radius:var(--ys-radius-btn) !important;
  border:1px solid var(--ys-green) !important;
  background:var(--ys-green) !important;
  color:#fff !important;
  font-size:12px !important;
  font-weight:900 !important;
  line-height:1 !important;
  box-shadow:none !important;
  background-image:none !important;
}

html body #matchView > .headerCard .info-row .topRuleActions .miniActionBtn.danger,
html body #matchView > .headerCard .info-row .topRuleActions .miniActionBtn.danger:hover,
html body #matchView > .headerCard .info-row .topRuleActions .miniActionBtn.danger:active{
  border-color:var(--ys-red) !important;
  background:var(--ys-red) !important;
  color:#fff !important;
  border-radius:var(--ys-radius-btn) !important;
  box-shadow:none !important;
  background-image:none !important;
}

/* 半庄记录卡片里的修改/删除 */
.round-card .ops .miniActionBtn{
  height:26px !important;
  padding:0 9px !important;
  font-size:11px !important;
  border-radius:var(--ys-radius-btn) !important;
  box-shadow:none !important;
  background-image:none !important;
}

.round-card .ops .miniActionBtn.danger{
  background:var(--ys-red) !important;
  border-color:var(--ys-red) !important;
  color:#fff !important;
}

/* 修改半庄弹窗：改掉原先大圆角、渐变、绿色光效 */
#editMask .editModal{
  border-radius:var(--ys-radius-card) !important;
  background:#fff !important;
  border:1px solid #e2e8f0 !important;
  box-shadow:0 8px 24px rgba(15,23,42,.14) !important;
}

#editMask .editHead{
  border-bottom:1px solid #e2e8f0 !important;
}

#editMask #editModalTitle{
  color:var(--ys-text) !important;
  font-weight:900 !important;
}

#editMask #editModalDesc{
  color:#64748b !important;
  font-weight:600 !important;
}

#editMask .editGrid{
  gap:10px !important;
}

#editMask .editCell{
  background:#fff !important;
  border:1px solid #e2e8f0 !important;
  border-radius:var(--ys-radius-card) !important;
  padding:10px !important;
  box-shadow:none !important;
}

#editMask .editCell:hover{
  border-color:#cbd5e1 !important;
  box-shadow:none !important;
}

#editMask .editName{
  color:var(--ys-text) !important;
  font-size:13px !important;
  font-weight:900 !important;
  text-align:left !important;
}

#editMask .editFieldLabel{
  color:#64748b !important;
  font-size:11px !important;
  font-weight:700 !important;
  text-align:left !important;
}

#editMask .editInput{
  color:var(--ys-text) !important;
  background:#fff !important;
  border:1px solid var(--ys-line) !important;
  border-radius:var(--ys-radius-btn) !important;
  font-size:16px !important;
  font-weight:800 !important;
  text-align:right !important;
  box-shadow:none !important;
}

#editMask .editInput:focus{
  background:#fff !important;
  border-color:var(--ys-blue) !important;
  box-shadow:0 0 0 2px rgba(37,99,235,.12) !important;
}

#editMask #editSaveBtn{
  background:var(--ys-green) !important;
  border-color:var(--ys-green) !important;
  color:#fff !important;
  border-radius:var(--ys-radius-btn) !important;
  box-shadow:none !important;
}

/* 战绩中心：方正微圆角 */
.battleTitleBar{
  background:var(--ys-red) !important;
  color:#fff !important;
}

body .toolPanel,
body .metricCard,
body .filterWrap,
body .filterInput,
body .filterDate,
body .filterBtn,
body .btnGhost{
  border-radius:var(--ys-radius-card) !important;
  box-shadow:none !important;
}

body .filterBtn{
  background:var(--ys-blue) !important;
  border-color:var(--ys-blue) !important;
  color:#fff !important;
}

body .filterBtn.secondary,
body #resetBtn{
  background:#fff !important;
  border:1px solid var(--ys-line) !important;
  color:var(--ys-text) !important;
}

/* 正负 PT */
.pos,
.plus,
.pt-plus,
.score-plus,
.positive,
.metricVal.good{
  color:var(--ys-green) !important;
}

.neg,
.minus,
.pt-minus,
.score-minus,
.negative,
.metricVal.bad{
  color:var(--ys-red) !important;
}

/* 累计 PT 变化高亮 */
#summaryBox.yasuan-pt-pulse{
  animation:yasuanPtPulse .75s ease both !important;
}

#summaryBox.yasuan-pt-pulse .playerVal{
  animation:yasuanPtTextPulse .75s ease both !important;
}

@keyframes yasuanPtPulse{
  0%{
    box-shadow:0 1px 4px rgba(15,23,42,.06);
    border-color:#e2e8f0;
  }
  35%{
    box-shadow:0 0 0 3px rgba(37,99,235,.16), 0 4px 14px rgba(37,99,235,.12);
    border-color:#93c5fd;
    background:#eff6ff;
  }
  100%{
    box-shadow:0 1px 4px rgba(15,23,42,.06);
    border-color:#e2e8f0;
    background:#fff;
  }
}

@keyframes yasuanPtTextPulse{
  0%{ transform:scale(1); }
  35%{ transform:scale(1.035); }
  100%{ transform:scale(1); }
}

/* 轻微点击反馈 */
button,
.actionBtn,
.okBtn,
.miniActionBtn,
.confirmBtn,
.btnGhost,
.filterBtn,
.share-btn{
  transition:transform .12s ease, box-shadow .12s ease, background-color .12s ease, border-color .12s ease !important;
}

button:active,
.actionBtn:active,
.okBtn:active,
.miniActionBtn:active,
.confirmBtn:active,
.btnGhost:active,
.filterBtn:active,
.share-btn:active{
  transform:translateY(1px) scale(.99) !important;
}

@media (prefers-reduced-motion: reduce){
  *,
  *::before,
  *::after{
    animation:none !important;
    transition:none !important;
  }
}

/* 雅算小补丁：开始对局 / 返回首页微圆角，标题改微软雅黑 */
#siteTitle .yasuanTitleText{
  font-family:"Microsoft YaHei","微软雅黑",-apple-system,BlinkMacSystemFont,"PingFang SC","Noto Sans CJK SC",sans-serif !important;
  font-weight:400 !important;
}

#bottomStartBtn,
#enterBtn,
#backHomeBtn,
#homeBtn,
#returnHomeBtn,
a[href*="index.html"],
a[href="/zh/"],
a[href="../zh/"],
button.yasuan-blue-action,
button.yasuan-home-action{
  border-radius:5px !important;
  overflow:hidden !important;
  box-shadow:none !important;
  background-image:none !important;
}

/* 返回首页按钮如果是文字识别后加 class，也保持方正微圆角 */
.yasuan-home-action{
  border-radius:5px !important;
  overflow:hidden !important;
  box-shadow:none !important;
  background-image:none !important;
}


/* 战绩中心标题栏 / 顶部品牌色 */
.battleTitleBar,
.battle-header,
.battleHeader,
#battleTitleBar,
#battleHeader{
  background:var(--ys-orange) !important;
  border-color:var(--ys-orange) !important;
  color:#fff !important;
}

/* 战绩中心顶部按钮中的主按钮也改橙色 */
.battleTitleBar .btnGhost.primaryLine,
.battleHeader .btnGhost.primaryLine,
.battle-header .btnGhost.primaryLine,
#battleTitleBar .btnGhost.primaryLine,
#battleHeader .btnGhost.primaryLine,
#refreshBtn{
  background:var(--ys-orange-soft) !important;
  border-color:var(--ys-orange-line) !important;
  color:#92400e !important;
  border-radius:5px !important;
}

/* 战绩中心筛选按钮主色改橙色 */
body .filterBtn,
body #applyBtn,
.battle-page .filterBtn,
.battlePage .filterBtn{
  background:var(--ys-orange) !important;
  border-color:var(--ys-orange) !important;
  color:#fff !important;
}

body .filterBtn:hover,
body #applyBtn:hover,
.battle-page .filterBtn:hover,
.battlePage .filterBtn:hover{
  background:var(--ys-orange-hover) !important;
  border-color:var(--ys-orange-hover) !important;
  color:#fff !important;
}

/* 战绩中心统计卡片的强调色 */
.battleHeaderDivider,
.battle-header-divider{
  background:var(--ys-orange-line) !important;
}

.metricCard .metricLabel,
.statCard .statLabel,
.battle-page .metricLabel,
.battlePage .metricLabel{
  color:#92400e !important;
}

.metricCard.accent,
.statCard.accent{
  border-color:var(--ys-orange-line) !important;
  background:linear-gradient(180deg,var(--ys-orange-soft),#fff) !important;
}

/* 登录后的用户名：橙黄色 */
#meName,
#userName,
#username,
#currentUser,
#userDisplayName,
#loginName,
#authName,
#meLabel,
.userName,
.username,
.currentUser,
.userDisplayName,
.authName,
.meName,
.loginName,
.user-pill,
.userPill,
.account-name,
.accountName{
  color:var(--ys-orange) !important;
  border-color:var(--ys-orange-line) !important;
}

/* 如果用户名是胶囊/标签样式，用浅橙底 */
.user-pill,
.userPill,
.accountBadge,
.account-badge,
.meBadge,
.me-badge,
#userPill,
#accountBadge{
  background:var(--ys-orange-soft) !important;
  color:#92400e !important;
  border:1px solid var(--ys-orange-line) !important;
  border-radius:5px !important;
}

/* 登录/注册按钮维持红色，不被用户名橙色误伤 */
#authBtn,
#loginBtn,
button.yasuan-red-action{
  color:#fff !important;
}







/* 撤回上一版可能误伤到战绩中心页面的标题橙色 */
.battleTitleBar,
.battle-header,
.battleHeader,
#battleTitleBar,
#battleHeader,


/* 首页“战绩中心”按钮 */
#homeView .yasuan-home-orange-btn,
#homeView button.yasuan-home-orange-btn,
#homeView a.yasuan-home-orange-btn,
body:not(.battle-page) .yasuan-home-orange-btn{
  background:var(--ys-orange) !important;
  border-color:var(--ys-orange) !important;
  color:#fff !important;
  border-radius:5px !important;
  box-shadow:none !important;
  background-image:none !important;
}

#homeView .yasuan-home-orange-btn:hover,
#homeView button.yasuan-home-orange-btn:hover,
#homeView a.yasuan-home-orange-btn:hover,
body:not(.battle-page) .yasuan-home-orange-btn:hover{
  background:var(--ys-orange-hover) !important;
  border-color:var(--ys-orange-hover) !important;
  color:#fff !important;
}

/* 首页登录后的用户名按钮 */
#homeView .yasuan-home-user-btn,
#homeView button.yasuan-home-user-btn,
#homeView a.yasuan-home-user-btn,
body:not(.battle-page) .yasuan-home-user-btn{
  background:var(--ys-orange) !important;
  border-color:var(--ys-orange) !important;
  color:#fff !important;
  border-radius:5px !important;
  box-shadow:none !important;
  background-image:none !important;
}

#homeView .yasuan-home-user-btn:hover,
#homeView button.yasuan-home-user-btn:hover,
#homeView a.yasuan-home-user-btn:hover,
body:not(.battle-page) .yasuan-home-user-btn:hover{
  background:var(--ys-orange-hover) !important;
  border-color:var(--ys-orange-hover) !important;
  color:#fff !important;
}

/* 避免“登录/注册”按钮被误改橙色，它仍然走红色 */
#authBtn:not(.yasuan-home-user-btn),
#loginBtn,
button.yasuan-red-action{
  color:#fff !important;
}

/* 雅算首页按钮精准修复
   当前代码真实结构：
   - 首页“战绩中心”：#battleBtn
   - 登录后用户名按钮：#userBtn
   它们都在 .headerActions 里，不在 #homeView 里。
*/

:root{
  --ys-orange:#f59e0b;
  --ys-orange-hover:#d97706;
  --ys-orange-line:#fed7aa;
  --ys-orange-soft:#fff7ed;
  --ys-radius-btn:5px;
}

/* 首页顶部：战绩中心按钮 */
html body .headerCard .headerActions #battleBtn,
html body #battleBtn{
  background:var(--ys-orange) !important;
  border-color:var(--ys-orange) !important;
  color:#fff !important;
  border-radius:var(--ys-radius-btn) !important;
  box-shadow:none !important;
  background-image:none !important;
}

html body .headerCard .headerActions #battleBtn:hover,
html body #battleBtn:hover{
  background:var(--ys-orange-hover) !important;
  border-color:var(--ys-orange-hover) !important;
  color:#fff !important;
}

/* 首页顶部：登录后的用户名按钮。
   注意：登录/注册按钮是 #authBtn，不在这里改。
*/
html body .headerCard .headerActions #userBtn:not(.hidden),
html body #userBtn:not(.hidden){
  background:var(--ys-orange) !important;
  border-color:var(--ys-orange) !important;
  color:#fff !important;
  border-radius:var(--ys-radius-btn) !important;
  box-shadow:none !important;
  background-image:none !important;
  font-weight:900 !important;
}

html body .headerCard .headerActions #userBtn:not(.hidden):hover,
html body #userBtn:not(.hidden):hover{
  background:var(--ys-orange-hover) !important;
  border-color:var(--ys-orange-hover) !important;
  color:#fff !important;
}

/* 用户认证弹窗：用户名/密码框方正微圆角 */
html body #authMask .mmModal{
  border-radius:6px !important;
}

html body #authMask .auth-box{
  border-radius:6px !important;
}

html body #authMask #authUser,
html body #authMask #authPass,
html body #authMask input.form-input{
  border-radius:5px !important;
  border:1px solid #cbd5e1 !important;
  background:#fff !important;
  box-shadow:none !important;
  background-image:none !important;
}

html body #authMask #authUser:focus,
html body #authMask #authPass:focus,
html body #authMask input.form-input:focus{
  border-color:#f59e0b !important;
  box-shadow:0 0 0 2px rgba(245,158,11,.14) !important;
}

/* 个人中心：退出登录按钮，橙黄色 + 方正微圆角 */
html body #acctMask #acctLogoutBtn,
html body #acctLogoutBtn{
  background:var(--ys-orange) !important;
  border:1px solid var(--ys-orange) !important;
  color:#fff !important;
  border-radius:5px !important;
  min-height:38px !important;
  font-weight:900 !important;
  box-shadow:none !important;
  background-image:none !important;
}

html body #acctMask #acctLogoutBtn:hover,
html body #acctLogoutBtn:hover{
  background:var(--ys-orange-hover) !important;
  border-color:var(--ys-orange-hover) !important;
  color:#fff !important;
}

/* 雅算首页按钮精准修复结束 */

/* 雅算开始弹窗与首页按钮修复
   - 首页“战绩中心” #battleBtn：蓝色，和开始对局一致
   - 登录后用户名 #userBtn：浅蓝底 + 蓝字
   - 开始对局弹窗 #startMask 内所有框：方正微圆角
*/

:root{
  --ys-blue:#2563eb;
  --ys-blue-hover:#1d4ed8;
  --ys-blue-soft:#eff6ff;
  --ys-blue-line:#bfdbfe;
  --ys-text:#1f2937;
  --ys-line:#cbd5e1;
  --ys-radius-btn:5px;
  --ys-radius-card:6px;
}

/* 首页“战绩中心”按钮：改为开始对局同款蓝色 */
html body .headerCard .headerActions #battleBtn,
html body #battleBtn{
  background:var(--ys-blue) !important;
  background-color:var(--ys-blue) !important;
  background-image:none !important;
  border:1px solid var(--ys-blue) !important;
  color:#fff !important;
  border-radius:var(--ys-radius-btn) !important;
  box-shadow:none !important;
  font-weight:900 !important;
}

html body .headerCard .headerActions #battleBtn:hover,
html body #battleBtn:hover{
  background:var(--ys-blue-hover) !important;
  background-color:var(--ys-blue-hover) !important;
  border-color:var(--ys-blue-hover) !important;
  color:#fff !important;
}

/* 登录后的用户名按钮：浅蓝底 + 蓝字 */
html body .headerCard .headerActions #userBtn:not(.hidden),
html body #userBtn:not(.hidden){
  background:var(--ys-blue-soft) !important;
  background-color:var(--ys-blue-soft) !important;
  background-image:none !important;
  border:1px solid var(--ys-blue-line) !important;
  color:var(--ys-blue) !important;
  border-radius:var(--ys-radius-btn) !important;
  box-shadow:none !important;
  font-weight:900 !important;
}

html body .headerCard .headerActions #userBtn:not(.hidden):hover,
html body #userBtn:not(.hidden):hover{
  background:#dbeafe !important;
  background-color:#dbeafe !important;
  border-color:#93c5fd !important;
  color:var(--ys-blue-hover) !important;
}

/* 开始对局弹窗整体：微圆角 */
html body #startMask .mmModal{
  border-radius:var(--ys-radius-card) !important;
  overflow:hidden !important;
  box-shadow:0 8px 24px rgba(15,23,42,.14) !important;
}

/* 开始对局弹窗头部 */
html body #startMask .modalHead{
  border-radius:var(--ys-radius-card) var(--ys-radius-card) 0 0 !important;
}

/* 开始对局弹窗关闭按钮 */
html body #startMask .modalClose{
  border-radius:var(--ys-radius-btn) !important;
  box-shadow:none !important;
}

/* “对局雀士”“马点设置”等外框 */
html body #startMask .modal-section{
  border-radius:var(--ys-radius-card) !important;
  border:1px solid #e2e8f0 !important;
  background:#f8fafc !important;
  box-shadow:none !important;
}

/* 马点设置大框 */
html body #startMask .mode-box{
  border-radius:var(--ys-radius-card) !important;
  border:1px solid #e2e8f0 !important;
  background:#fff !important;
  box-shadow:none !important;
}

/* 三个算法块：简易 / M-League / 素点+顺位点 */
html body #startMask .mode-block,
html body #startMask #blockSimple,
html body #startMask #blockMLeague,
html body #startMask #blockQue{
  border-radius:var(--ys-radius-card) !important;
  box-shadow:none !important;
  background:#fff !important;
  background-image:none !important;
}

/* 当前选中的算法块：只用细边框提示，不用大圆角 */
html body #startMask .mode-block.active,
html body #startMask #blockSimple.active,
html body #startMask #blockMLeague.active,
html body #startMask #blockQue.active{
  border-radius:var(--ys-radius-card) !important;
  border:1px solid var(--ys-blue-line) !important;
  background:var(--ys-blue-soft) !important;
}

/* 输入框、选择框、自定义输入框 */
html body #startMask .form-input,
html body #startMask .uma-select,
html body #startMask .uma-input,
html body #startMask input:not([type="radio"]),
html body #startMask select{
  border-radius:var(--ys-radius-btn) !important;
  border:1px solid var(--ys-line) !important;
  background:#fff !important;
  background-image:none !important;
  box-shadow:none !important;
}

/* 雀士名输入框文字：使用绿色 */
html body #startMask #mp0,
html body #startMask #mp1,
html body #startMask #mp2,
html body #startMask #mp3{
  color:#16a34a !important;
  font-weight:900 !important;
}

html body #startMask #mp0::placeholder,
html body #startMask #mp1::placeholder,
html body #startMask #mp2::placeholder,
html body #startMask #mp3::placeholder{
  color:#94a3b8 !important;
  font-weight:600 !important;
}


/* 聚焦时用蓝色：马点/选择类输入保持蓝色，但雀士名输入框单独用绿色 */
html body #startMask .form-input:not(#mp0):not(#mp1):not(#mp2):not(#mp3):focus,
html body #startMask .uma-select:focus,
html body #startMask .uma-input:focus,
html body #startMask input:not([type="radio"]):not(#mp0):not(#mp1):not(#mp2):not(#mp3):focus,
html body #startMask select:focus{
  border-color:var(--ys-blue) !important;
  box-shadow:0 0 0 2px rgba(37,99,235,.12) !important;
}

/* 雀士名输入框聚焦：使用雀士名同款绿色 */
html body #startMask #mp0:focus,
html body #startMask #mp1:focus,
html body #startMask #mp2:focus,
html body #startMask #mp3:focus{
  border-color:var(--ys-green) !important;
  box-shadow:0 0 0 2px rgba(22,163,74,.14) !important;
  background:#f0fdf4 !important;
  outline:none !important;
  caret-color:#16a34a !important;
}

/* 自定义马点区域 */
html body #startMask .custom-area{
  border-radius:var(--ys-radius-card) !important;
  background:transparent !important;
  box-shadow:none !important;
}

/* 确认添加按钮 */
html body #startMask .add-btn{
  border-radius:var(--ys-radius-btn) !important;
  box-shadow:none !important;
  background-image:none !important;
}

/* 公式说明框 */
html body #startMask .formula-box,
html body #startMask #modeFormula{
  border-radius:var(--ys-radius-card) !important;
  border:1px solid #e2e8f0 !important;
  box-shadow:none !important;
  background:#fff !important;
}



/* 雅算精准基准绿：开始对局雀士名与素点顺位点
   基准绿 = 正PT颜色 = #16a34a
   精准命中当前代码真实元素：
   - #mp0~#mp3
   - #blockQue
   - #modeRadioQue
   - #modeFormula .que
*/
html body #startMask #mp0,
html body #startMask #mp1,
html body #startMask #mp2,
html body #startMask #mp3{
  color:var(--ys-green) !important;
  caret-color:var(--ys-green) !important;
  font-weight:900 !important;
}

html body #startMask #mp0:focus,
html body #startMask #mp1:focus,
html body #startMask #mp2:focus,
html body #startMask #mp3:focus{
  border-color:var(--ys-green) !important;
  box-shadow:0 0 0 2px rgba(22,163,74,.14) !important;
  background:var(--ys-green-soft) !important;
  outline:none !important;
}

html body #startMask #blockQue .mode-left,
html body #startMask #blockQue .mode-left span,
html body #startMask .mode-block.active.que .mode-left{
  color:var(--ys-green) !important;
}

html body #startMask #blockQue .mode-left input,
html body #startMask #modeRadioQue{
  accent-color:var(--ys-green) !important;
}

html body #startMask #blockQue{
  border-color:var(--ys-green-line) !important;
}

html body #startMask #blockQue.active{
  border-color:var(--ys-green) !important;
  background:var(--ys-green-soft) !important;
}

html body #startMask #modeFormula .que,
html body #startMask .formula-box span.que{
  color:var(--ys-green) !important;
  font-weight:900 !important;
}

html body .ruleBadge.que{
  color:var(--ys-green) !important;
  font-weight:900 !important;
}

/* 雅算精准基准绿：开始对局雀士名与素点顺位点结束 */

/* 进入对局按钮维持蓝色且微圆角 */
html body #startMask #enterBtn{
  background:var(--ys-blue) !important;
  background-color:var(--ys-blue) !important;
  border:1px solid var(--ys-blue) !important;
  color:#fff !important;
  border-radius:var(--ys-radius-btn) !important;
  box-shadow:none !important;
  background-image:none !important;
}

html body #startMask #enterBtn:hover{
  background:var(--ys-blue-hover) !important;
  background-color:var(--ys-blue-hover) !important;
  border-color:var(--ys-blue-hover) !important;
}

/* 雅算开始弹窗与首页按钮修复结束 */

/* 雅算最终首页按钮稳定规则：防闪烁版
   唯一标准：
   - #battleBtn：首页“战绩中心” = 开始对局同款蓝色
   - #userBtn：登录后的用户名 = 浅蓝底 + 蓝字
   - #authBtn：登录/注册 = 保持原红色，不参与本规则
*/

:root{
  --ys-blue:#2563eb;
  --ys-blue-hover:#1d4ed8;
  --ys-blue-soft:#eff6ff;
  --ys-blue-line:#bfdbfe;
  --ys-radius-btn:5px;
}

/* 首页战绩中心按钮 */
html body #battleBtn,
html body .headerCard .headerActions #battleBtn{
  background:#2563eb !important;
  background-color:#2563eb !important;
  background-image:none !important;
  border:1px solid #2563eb !important;
  color:#fff !important;
  border-radius:5px !important;
  box-shadow:none !important;
  font-weight:900 !important;
}

html body #battleBtn:hover,
html body .headerCard .headerActions #battleBtn:hover{
  background:#1d4ed8 !important;
  background-color:#1d4ed8 !important;
  border-color:#1d4ed8 !important;
  color:#fff !important;
}

/* 登录后的用户名按钮 */
html body #userBtn:not(.hidden),
html body .headerCard .headerActions #userBtn:not(.hidden){
  background:#eff6ff !important;
  background-color:#eff6ff !important;
  background-image:none !important;
  border:1px solid #bfdbfe !important;
  color:#2563eb !important;
  border-radius:5px !important;
  box-shadow:none !important;
  font-weight:900 !important;
}

html body #userBtn:not(.hidden):hover,
html body .headerCard .headerActions #userBtn:not(.hidden):hover{
  background:#dbeafe !important;
  background-color:#dbeafe !important;
  border-color:#93c5fd !important;
  color:#1d4ed8 !important;
}

/* 登录/注册按钮不要被用户名规则误伤 */
html body #authBtn{
  border-radius:5px !important;
}

/* 雅算确认并添加按钮稳定修复
   问题原因：
   addRound() 里 #addBtn 会临时变成 disabled + “同步中...”
   所以不能再依赖按钮文字识别，必须固定按 #addBtn 赋色。
*/

:root{
  --ys-green:#16a34a;
  --ys-green-hover:#15803d;
  --ys-radius-btn:5px;
}

/* #addBtn 所有状态都保持绿色 */
html body #addBtn,
html body #addBtn.actionBtn,
html body #addBtn.actionBtn.primary,
html body #addBtn.yasuan-green-action,
html body #addBtn:disabled,
html body #addBtn[disabled],
html body #addBtn.actionBtn:disabled,
html body #addBtn.actionBtn.primary:disabled,
html body #addBtn.yasuan-green-action:disabled{
  background:var(--ys-green) !important;
  background-color:var(--ys-green) !important;
  background-image:none !important;
  border:1px solid var(--ys-green) !important;
  color:#fff !important;
  border-radius:5px !important;
  box-shadow:none !important;
  opacity:1 !important;
  filter:none !important;
  cursor:pointer !important;
  font-weight:900 !important;
}

/* disabled 时允许显示等待光标，但不变灰 */
html body #addBtn:disabled,
html body #addBtn[disabled]{
  cursor:wait !important;
}

/* hover 只在非 disabled 时变深绿 */
html body #addBtn:not(:disabled):hover,
html body #addBtn.actionBtn:not(:disabled):hover,
html body #addBtn.actionBtn.primary:not(:disabled):hover{
  background:var(--ys-green-hover) !important;
  background-color:var(--ys-green-hover) !important;
  border-color:var(--ys-green-hover) !important;
  color:#fff !important;
}

/* active 仍然保持微动效 */
html body #addBtn:active{
  transform:translateY(1px) scale(.99) !important;
}

/* 雅算确认并添加按钮稳定修复结束 */

/* 雅算复制战报按钮修复
   要求：
   - 大小与“修改设定”一致
   - 橙黄色底色 + 白字
   - 方正微圆角
*/

:root{
  --ys-orange:#f59e0b;
  --ys-orange-hover:#d97706;
  --ys-radius-btn:5px;
}

/* 通过 class 精准控制 */
html body .yasuan-copy-report-action,
html body button.yasuan-copy-report-action,
html body a.yasuan-copy-report-action,
html body .miniActionBtn.yasuan-copy-report-action,
html body .actionBtn.yasuan-copy-report-action{
  height:30px !important;
  min-height:30px !important;
  padding:0 12px !important;
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  background:#f59e0b !important;
  background-color:#f59e0b !important;
  background-image:none !important;
  border:1px solid #f59e0b !important;
  color:#fff !important;
  border-radius:5px !important;
  box-shadow:none !important;
  font-size:12px !important;
  font-weight:900 !important;
  line-height:1 !important;
  white-space:nowrap !important;
}

html body .yasuan-copy-report-action:hover,
html body button.yasuan-copy-report-action:hover,
html body a.yasuan-copy-report-action:hover,
html body .miniActionBtn.yasuan-copy-report-action:hover,
html body .actionBtn.yasuan-copy-report-action:hover{
  background:#d97706 !important;
  background-color:#d97706 !important;
  border-color:#d97706 !important;
  color:#fff !important;
}

/* 兜底：常见复制战报按钮 ID / class */
html body #copyReportBtn,
html body #copyBattleReportBtn,
html body #copyShareBtn,
html body .copyReportBtn,
html body .copy-report-btn,
html body .reportCopyBtn,
html body .report-copy-btn{
  height:30px !important;
  min-height:30px !important;
  padding:0 12px !important;
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  background:#f59e0b !important;
  background-color:#f59e0b !important;
  background-image:none !important;
  border:1px solid #f59e0b !important;
  color:#fff !important;
  border-radius:5px !important;
  box-shadow:none !important;
  font-size:12px !important;
  font-weight:900 !important;
  line-height:1 !important;
}

/* 雅算复制战报按钮修复结束 */

/* 雅算别名输入框方正微圆角修复
   个人中心别名1/2/3输入框：去掉大圆角，统一 5px 微圆角
*/

html body #acctMask #acctAliasInput,
html body #acctMask #acctAliasInput1,
html body #acctMask #acctAliasInput2,
html body #acctMask #acctAliasInput3,
html body #acctAliasInput,
html body #acctAliasInput1,
html body #acctAliasInput2,
html body #acctAliasInput3{
  border-radius:5px !important;
  border:1px solid #cbd5e1 !important;
  background:#fff !important;
  background-image:none !important;
  box-shadow:none !important;
  overflow:hidden !important;
}

html body #acctMask #acctAliasInput:focus,
html body #acctMask #acctAliasInput1:focus,
html body #acctMask #acctAliasInput2:focus,
html body #acctMask #acctAliasInput3:focus,
html body #acctAliasInput:focus,
html body #acctAliasInput1:focus,
html body #acctAliasInput2:focus,
html body #acctAliasInput3:focus{
  border-color:#2563eb !important;
  box-shadow:0 0 0 2px rgba(37,99,235,.12) !important;
}

/* 如果外层也有别名容器，顺手收敛为微圆角 */
html body #acctMask .aliasBox,
html body #acctMask .alias-box,
html body #acctMask .alias-row,
html body #acctMask .aliasRow{
  border-radius:6px !important;
  box-shadow:none !important;
}

/* 雅算别名输入框方正微圆角修复结束 */

/* 雅算精准修复：开始对局单选框矩形框
   当前代码中 #startMask input 被普通输入框规则误伤，
   导致 radio 被加 border/background/focus ring，出现额外矩形。
   这里只恢复 radio 的原生圆形外观。
*/

html body #startMask input[type="radio"],
html body #startMask input[type="radio"]:checked,
html body #startMask input[type="radio"]:focus,
html body #startMask input[type="radio"]:active,
html body #startMask input[type="radio"]:focus-visible{
  -webkit-appearance:radio !important;
  appearance:auto !important;
  width:16px !important;
  height:16px !important;
  margin:0 !important;
  padding:0 !important;
  background:initial !important;
  background-color:initial !important;
  background-image:none !important;
  border:initial !important;
  border-radius:50% !important;
  box-shadow:none !important;
  outline:none !important;
  filter:none !important;
  accent-color:currentColor !important;
}

/* label 和算法块不额外画焦点矩形 */
html body #startMask .mode-left,
html body #startMask .mode-left:focus,
html body #startMask .mode-left:active,
html body #startMask .mode-left:focus-visible,
html body #startMask .mode-line,
html body #startMask .mode-line:focus,
html body #startMask .mode-line:active,
html body #startMask .mode-line:focus-visible{
  outline:none !important;
  box-shadow:none !important;
}

/* 保留算法块自身的选中态，不在 radio 上叠矩形 */
html body #startMask .mode-block.active,
html body #startMask #blockSimple.active,
html body #startMask #blockMLeague.active,
html body #startMask #blockQue.active{
  box-shadow:none !important;
}

/* 雅算精准修复：开始对局单选框矩形框结束 */

/* 雅算累计PT数字滚动样式 */
#liveSummary .playerVal{
  font-variant-numeric:tabular-nums !important;
  transition:color .18s ease, transform .18s ease !important;
  display:inline-block !important;
}

#summaryBox.yasuan-pt-pulse #liveSummary .playerVal{
  transform:scale(1.03);
}
/* 雅算累计PT数字滚动样式结束 */

/* 雅算累计PT精准动画样式 */
#liveSummary .yasuan-summary-grid{
  display:grid !important;
  grid-template-columns:repeat(2, minmax(0, 1fr)) !important;
  gap:8px !important;
  margin-top:0 !important;
  contain:layout paint !important;
}

#liveSummary .yasuan-summary-card{
  position:relative !important;
  will-change:transform, filter, opacity !important;
  transform-origin:center center !important;
  backface-visibility:hidden !important;
  transform:translateZ(0);
  border-radius:6px !important;
}

#liveSummary .yasuan-summary-card .playerVal{
  font-variant-numeric:tabular-nums !important;
  display:inline-block !important;
  min-width:3.5em !important;
  text-align:right !important;
  will-change:contents, transform !important;
}

/* 雅算累计PT精准动画样式结束 */

/* 雅算累计PT内部阴影与排名徽章精准修复
   1. 去掉累计 PT 内部四个玩家框下方的脉冲阴影块
   2. 给四个玩家框按当前排名加 🥇🥈🥉💀 徽章
*/

/* 不再让 summaryBox 的脉冲动画画出整块阴影/蓝底 */
html body #summaryBox.yasuan-pt-pulse{
  animation:none !important;
  box-shadow:0 1px 4px rgba(15,23,42,.06) !important;
  background:#fff !important;
  border-color:#e2e8f0 !important;
}

/* playerVal 可以保留轻微数字缩放，但不要让外层产生阴影块 */
html body #summaryBox.yasuan-pt-pulse .playerVal{
  animation:yasuanPtTextPulse .75s ease both !important;
}

/* 四个累计 PT 玩家框本身不加底部阴影 */
html body #liveSummary .playerPill,
html body #liveSummary .yasuan-summary-card{
  box-shadow:none !important;
}

/* 名字区改成：徽章 + 名字 */
html body #liveSummary .yasuan-summary-card .playerName{
  display:flex !important;
  align-items:center !important;
  gap:6px !important;
  min-width:0 !important;
}

html body #liveSummary .yasuan-summary-card .yasuan-summary-rankIcon{
  flex:0 0 auto !important;
  margin-right:0 !important;
}

html body #liveSummary .yasuan-summary-card .yasuan-summary-nameText{
  min-width:0 !important;
  overflow:hidden !important;
  text-overflow:ellipsis !important;
  white-space:nowrap !important;
}

/* 雅算累计PT内部阴影与排名徽章精准修复结束 */

/* 雅算录入半庄分数框聚焦修复
   1. 点击录入分数框时，当前框出现蓝色边框/光圈
   2. 录入分数数字使用“返回首页”同款蓝色
*/

:root{
  --ys-blue:#2563eb;
  --ys-blue-soft:#eff6ff;
  --ys-blue-line:#93c5fd;
  --ys-radius-btn:5px;
}

/* 录入半庄分数输入框：数字用蓝色 */
html body #matchView input.score-input,
html body #matchView .score-input,
html body #matchView input[id^="s"],
html body .input-card input.score-input,
html body .input-card .score-input{
  color:var(--ys-blue) !important;
  caret-color:var(--ys-blue) !important;
  font-weight:900 !important;
  border-radius:5px !important;
  transition:border-color .14s ease, box-shadow .14s ease, background-color .14s ease, transform .12s ease !important;
}

/* placeholder 不要太抢眼 */
html body #matchView input.score-input::placeholder,
html body #matchView .score-input::placeholder,
html body #matchView input[id^="s"]::placeholder,
html body .input-card input.score-input::placeholder{
  color:#94a3b8 !important;
  font-weight:600 !important;
}

/* 聚焦蓝色特效，参考开始对局弹窗 */
html body #matchView input.score-input:focus,
html body #matchView .score-input:focus,
html body #matchView input[id^="s"]:focus,
html body .input-card input.score-input:focus,
html body .input-card .score-input:focus{
  color:var(--ys-blue) !important;
  border-color:var(--ys-blue) !important;
  background:var(--ys-blue-soft) !important;
  box-shadow:0 0 0 2px rgba(37,99,235,.14) !important;
  outline:none !important;
}

/* 当前分数输入所在小格也轻微高亮 */
html body #matchView .score-cell:focus-within,
html body #matchView .input-row:focus-within,
html body .input-card .score-cell:focus-within{
  border-color:var(--ys-blue-line) !important;
  box-shadow:0 0 0 2px rgba(37,99,235,.08) !important;
  border-radius:6px !important;
}

/* 如果浏览器自动填充，仍保持蓝色数字 */
html body #matchView input.score-input:-webkit-autofill,
html body #matchView input[id^="s"]:-webkit-autofill{
  -webkit-text-fill-color:var(--ys-blue) !important;
  transition:background-color 9999s ease-in-out 0s !important;
}

/* 雅算录入半庄分数框聚焦修复结束 */

/* 雅算录入分数正负号按钮方正微圆角
   只处理录入半庄分数区域里的 +/- 按钮，统一 5px 微圆角。
*/

html body #matchView .score-sign-btn,
html body #matchView .sign-btn,
html body #matchView .plusMinusBtn,
html body #matchView .pmBtn,
html body #matchView button[id^="sign"],
html body #matchView button[id^="pm"],
html body #matchView button[onclick*="toggleSign"],
html body #matchView button[onclick*="changeSign"],
html body .input-card .score-sign-btn,
html body .input-card .sign-btn,
html body .input-card .plusMinusBtn,
html body .input-card .pmBtn,
html body .input-card button[id^="sign"],
html body .input-card button[id^="pm"],
html body .input-card button[onclick*="toggleSign"],
html body .input-card button[onclick*="changeSign"]{
  border-radius:5px !important;
  overflow:hidden !important;
  box-shadow:none !important;
  background-image:none !important;
}

/* 如果正负号按钮是紧贴输入框的左右小按钮，也不要胶囊化 */
html body #matchView .score-row button,
html body #matchView .score-input-row button,
html body #matchView .score-cell button,
html body .input-card .score-row button,
html body .input-card .score-input-row button,
html body .input-card .score-cell button{
  border-radius:5px !important;
  overflow:hidden !important;
  box-shadow:none !important;
  background-image:none !important;
}

/* 点击/聚焦时保持蓝色细光圈，不出现大圆角 */
html body #matchView .score-row button:focus,
html body #matchView .score-input-row button:focus,
html body #matchView .score-cell button:focus,
html body .input-card .score-row button:focus,
html body .input-card .score-input-row button:focus,
html body .input-card .score-cell button:focus{
  border-radius:5px !important;
  outline:none !important;
  box-shadow:0 0 0 2px rgba(37,99,235,.12) !important;
}

/* 雅算录入分数正负号按钮方正微圆角结束 */

/* 雅算正负号按钮精准微圆角修复
   当前代码真实按钮：
   - .majPmBtn：app.js installPlusMinus() 生成
   - .majpm-btn：pm_plusminus.js 生成
*/
html body #matchView .majPmBtn,
html body #matchView .majpm-btn,
html body .input-card .majPmBtn,
html body .input-card .majpm-btn,
html body .majPmWrap .majPmBtn,
html body .majpm-wrap .majpm-btn{
  border-radius:5px !important;
  box-shadow:none !important;
  background-image:none !important;
  overflow:hidden !important;
}

html body #matchView .majPmBtn:hover,
html body #matchView .majPmBtn:active,
html body #matchView .majPmBtn:focus,
html body #matchView .majPmBtn:focus-visible,
html body #matchView .majpm-btn:hover,
html body #matchView .majpm-btn:active,
html body #matchView .majpm-btn:focus,
html body #matchView .majpm-btn:focus-visible,
html body .input-card .majPmBtn:hover,
html body .input-card .majPmBtn:active,
html body .input-card .majPmBtn:focus,
html body .input-card .majPmBtn:focus-visible,
html body .input-card .majpm-btn:hover,
html body .input-card .majpm-btn:active,
html body .input-card .majpm-btn:focus,
html body .input-card .majpm-btn:focus-visible{
  border-radius:5px !important;
  outline:none !important;
  box-shadow:0 0 0 2px rgba(37,99,235,.12) !important;
  transform:translateY(-50%) !important;
}

/* 雅算正负号按钮精准微圆角修复结束 */

/* 雅算战绩中心条柱图增强
   精准范围：
   - #matchRankBars / #roundRankBars
   - #recentTrendPanel / #recentTrendBody
   - #homeBtn / #refreshBtn / #applyBtn / #resetBtn
*/

html body #userLine .identityLine{
  display:flex;
  flex-direction:column;
  gap:3px;
  line-height:1.38;
}

html body #userLine .identityLine b{
  color:#0f172a;
}

html body #matchRankBars,
html body #roundRankBars{
  grid-column:1 / -1;
}

html body .rankBarsCard{
  border:1px solid #e2e8f0;
  background:#fff;
  border-radius:6px;
  padding:10px;
  opacity:0;
  transform:translateY(3px);
  transition:opacity .22s ease, transform .22s ease;
}

html body .rankBarsCard.is-ready{
  opacity:1;
  transform:translateY(0);
}

html body .rankBarsTitle{
  font-size:12px;
  font-weight:950;
  color:#0f172a;
  margin-bottom:8px;
}

html body .rankBarsEmpty,
html body .recentTrendEmpty{
  font-size:12px;
  font-weight:800;
  color:#94a3b8;
  padding:4px 0;
}

html body .rankBarRow{
  margin-top:8px;
}

html body .rankBarMeta{
  display:grid;
  grid-template-columns:24px 1fr auto auto;
  align-items:center;
  gap:8px;
  font-size:12px;
  font-weight:850;
  color:#334155;
}

html body .rankBarIcon{
  text-align:center;
}

html body .rankBarCount{
  color:#64748b;
  font-variant-numeric:tabular-nums;
}

html body .rankBarPct{
  width:52px;
  text-align:right;
  font-variant-numeric:tabular-nums;
  color:#0f172a;
}

html body .rankBarTrack{
  height:7px;
  margin-top:5px;
  border-radius:5px;
  background:#f1f5f9;
  overflow:hidden;
}

html body .rankBarTrack i{
  display:block;
  height:100%;
  width:0;
  border-radius:5px;
  transition:width .36s cubic-bezier(.22,.72,.18,1);
}

html body .rankBarsCard.is-ready .rankBarTrack i{
  width:var(--w);
}

html body .rankBarRow.r1 .rankBarTrack i{ background:#f59e0b; }
html body .rankBarRow.r2 .rankBarTrack i{ background:#2563eb; }
html body .rankBarRow.r3 .rankBarTrack i{ background:#64748b; }
html body .rankBarRow.r4 .rankBarTrack i{ background:#dc2626; }

html body #recentTrendPanel{
  margin-top:12px;
}

html body .recentTrendBody{
  margin-top:10px;
  border:1px solid #e2e8f0;
  background:#fff;
  border-radius:6px;
  padding:10px;
  animation:yasuanBattleFadeIn .22s ease both;
}

html body .trendChips{
  display:flex;
  flex-wrap:wrap;
  gap:6px;
}

html body .trendChip{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:26px;
  padding:0 8px;
  border-radius:5px;
  border:1px solid #e2e8f0;
  background:#f8fafc;
  color:#334155;
  font-size:12px;
  font-weight:900;
  font-variant-numeric:tabular-nums;
}

html body .trendChip.good,
html body .trendStatus .good{
  color:#16a34a;
}

html body .trendChip.bad,
html body .trendStatus .bad{
  color:#dc2626;
}

html body .trendStatus{
  margin-top:8px;
  font-size:12px;
  color:#64748b;
  font-weight:800;
}

html body #content.battleRefreshFx .toolPanel,
html body #content.battleRefreshFx #matchList{
  animation:yasuanBattleFadeIn .22s ease both;
}

@keyframes yasuanBattleFadeIn{
  from{
    opacity:.82;
    transform:translateY(3px);
  }
  to{
    opacity:1;
    transform:translateY(0);
  }
}

/* 顶部按钮：返回首页与刷新同款淡蓝底 */
html body #homeBtn,
html body #refreshBtn{
  background:#eff6ff !important;
  border-color:#bfdbfe !important;
  color:#1d4ed8 !important;
  border-radius:5px !important;
  box-shadow:none !important;
}

html body #homeBtn:hover,
html body #refreshBtn:hover{
  background:#dbeafe !important;
  border-color:#93c5fd !important;
  color:#1d4ed8 !important;
}

/* 筛选按钮：应用筛选恢复黑底白字；重置白底灰边 */
html body #applyBtn{
  background:#111827 !important;
  border:1px solid #111827 !important;
  color:#fff !important;
  border-radius:5px !important;
  box-shadow:none !important;
}

html body #applyBtn:hover{
  background:#020617 !important;
  border-color:#020617 !important;
  color:#fff !important;
}

html body #resetBtn{
  background:#fff !important;
  border:1px solid #cbd5e1 !important;
  color:#111827 !important;
  border-radius:5px !important;
  box-shadow:none !important;
}

/* 雅算战绩中心条柱图增强结束 */

/* 雅算最近趋势六场双卡片修复
   最近趋势拆成：
   - 最近六场
   - 最近六个半庄
   每个卡片内 6 个数据按 3 x 2 对称显示。
*/

html body .recentTrendGrid{
  display:grid;
  grid-template-columns:repeat(2, minmax(0, 1fr));
  gap:10px;
}

html body .trendMiniCard{
  border:1px solid #e2e8f0;
  background:#fff;
  border-radius:6px;
  padding:10px;
  animation:yasuanBattleFadeIn .22s ease both;
}

html body .trendMiniTitle{
  font-size:12px;
  font-weight:950;
  color:#0f172a;
  margin-bottom:8px;
}

html body .trendChipsGrid{
  display:grid;
  grid-template-columns:repeat(3, minmax(0, 1fr));
  gap:6px;
}

html body .trendChipsGrid .trendChip{
  min-width:0;
  width:100%;
  box-sizing:border-box;
}

html body .trendMiniCard .trendStatus{
  margin-top:8px;
  padding-top:8px;
  border-top:1px solid #f1f5f9;
  font-size:12px;
  color:#64748b;
  font-weight:800;
}

@media (max-width: 720px){
  html body .recentTrendGrid{
    grid-template-columns:1fr;
  }
}

/* 雅算最近趋势六场双卡片修复结束 */

/* 雅算最近趋势顺序说明修复 */
html body .trendMiniTitle{
  line-height:1.25;
}

html body .toolPanelHint{
  color:#64748b;
}
/* 雅算最近趋势顺序说明修复结束 */

/* 雅算最近趋势去除中间外框
   去掉“最近趋势”卡片里的第一层大框，只保留两个趋势小卡片。
*/

html body #recentTrendPanel #recentTrendBody,
html body .recentTrendPanel .recentTrendBody{
  margin-top:10px !important;
  padding:0 !important;
  border:none !important;
  background:transparent !important;
  box-shadow:none !important;
  border-radius:0 !important;
}

html body #recentTrendPanel .recentTrendGrid{
  margin:0 !important;
}

/* 两个小卡片本身保留白底细边框 */
html body #recentTrendPanel .trendMiniCard{
  background:#fff !important;
  border:1px solid #e2e8f0 !important;
  border-radius:6px !important;
  box-shadow:none !important;
}

/* 雅算最近趋势去除中间外框结束 */

/* 雅算战绩中心顶部最终布局
   - 标题单独一个蓝色卡片：🏁 战绩中心
   - 返回首页 / 刷新 独立成两个淡蓝按钮
   - 用户信息独立一块，不和标题混在一起
*/

:root{
  --ys-blue:#2563eb;
  --ys-blue-hover:#1d4ed8;
  --ys-blue-soft:#eff6ff;
  --ys-blue-line:#bfdbfe;
  --ys-line:#e2e8f0;
}

/* 标题卡片：单独蓝色条 */
html body .battleTitleCard{
  padding:0 !important;
  margin:0 !important;
  overflow:hidden !important;
  border:1px solid var(--ys-blue) !important;
  border-radius:6px 6px 0 0 !important;
  background:var(--ys-blue) !important;
  box-shadow:none !important;
}

html body .battleTitleCard .battleTitleBar,
html body .battleTitleBar{
  width:100% !important;
  background:var(--ys-blue) !important;
  background-color:var(--ys-blue) !important;
  background-image:none !important;
  color:#fff !important;
  border:none !important;
  border-radius:6px 6px 0 0 !important;
  box-shadow:none !important;
  text-align:center !important;
  font-weight:950 !important;
  font-size:20px !important;
  line-height:1.15 !important;
  padding:11px 12px !important;
  margin:0 !important;
}

html body .battleTitleBar *,
html body .battleTitleCard *{
  color:#fff !important;
}

/* 旧分隔线不再使用 */
html body .battleHeaderDivider{
  display:none !important;
}

/* 按钮区：和标题隔离，单独两个按钮 */
html body .battleTopButtonsCard{
  margin-top:10px !important;
  padding:0 !important;
  background:transparent !important;
  border:none !important;
  box-shadow:none !important;
}

html body .battleTopButtons{
  display:grid !important;
  grid-template-columns:1fr 1fr !important;
  gap:8px !important;
  width:100% !important;
  align-items:stretch !important;
  justify-content:stretch !important;
  border:none !important;
}

/* 返回首页 / 刷新：同款淡蓝按钮 */
html body .battleTopButtons #homeBtn,
html body .battleTopButtons #refreshBtn,
html body #homeBtn,
html body #refreshBtn{
  width:100% !important;
  height:38px !important;
  min-width:0 !important;
  padding:0 12px !important;
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;

  background:var(--ys-blue-soft) !important;
  background-color:var(--ys-blue-soft) !important;
  background-image:none !important;
  border:1px solid var(--ys-blue-line) !important;
  color:var(--ys-blue-hover) !important;

  border-radius:5px !important;
  box-shadow:none !important;
  font-size:13px !important;
  font-weight:900 !important;
}

html body .battleTopButtons #homeBtn:hover,
html body .battleTopButtons #refreshBtn:hover,
html body #homeBtn:hover,
html body #refreshBtn:hover{
  background:#dbeafe !important;
  border-color:#93c5fd !important;
  color:var(--ys-blue-hover) !important;
}

/* 用户信息独立小卡片 */
html body .battleUserInfoCard{
  margin-top:10px !important;
  padding:10px 12px !important;
  background:#fff !important;
  border:1px solid var(--ys-line) !important;
  border-radius:6px !important;
  box-shadow:none !important;
}

html body .battleUserInfoCard #userLine{
  color:#64748b !important;
  font-size:12px !important;
  font-weight:700 !important;
  line-height:1.45 !important;
}

/* 兼容旧 topBar：如果还存在，不再承担标题按钮布局 */
html body .topBar{
  background:transparent !important;
  border:none !important;
  box-shadow:none !important;
}

/* 标题下方主体不要出现多余上圆角造成断层 */
html body #content{
  border-top-left-radius:0 !important;
  border-top-right-radius:0 !important;
}

/* 移动端保持两按钮一行 */
@media (max-width:520px){
  html body .battleTopButtons{
    grid-template-columns:1fr 1fr !important;
  }

  html body .battleTopButtons #homeBtn,
  html body .battleTopButtons #refreshBtn{
    height:38px !important;
    font-size:13px !important;
  }
}

/* 雅算战绩中心顶部最终布局结束 */

/* 雅算战绩中心按钮区间距修复
   返回首页/刷新按钮行与下方统计总览之间，统一使用卡片间距。
*/

html body .battleTopButtonsCard{
  margin-top:10px !important;
  margin-bottom:14px !important;
}

/* 用户信息卡片如果位于按钮行和统计总览之间，也保持标准卡片间距 */
html body .battleUserInfoCard{
  margin-top:0 !important;
  margin-bottom:14px !important;
}

/* 避免后面的第一张卡片贴上来 */
html body .battleUserInfoCard + .sectionCard,
html body .battleUserInfoCard + .toolPanel,
html body .battleTopButtonsCard + .sectionCard,
html body .battleTopButtonsCard + .toolPanel{
  margin-top:0 !important;
}

/* 雅算战绩中心按钮区间距修复结束 */

/* 雅算战绩中心标题卡片与账号名修复
   1. 战绩中心标题卡片现在是独立卡片，所以下方也恢复方正微圆角
   2. 当前账号里的账号名使用“确认并添加”同款绿色
*/

:root{
  --ys-green:#16a34a;
  --ys-green-hover:#15803d;
  --ys-blue:#2563eb;
}

/* 标题卡片作为独立卡片：四角都微圆角 */
html body .battleTitleCard{
  border-radius:6px !important;
  overflow:hidden !important;
}

html body .battleTitleCard .battleTitleBar,
html body .battleTitleBar{
  border-radius:6px !important;
}

/* 如果之前有标题下方去圆角规则，这里恢复 */
html body .headerCard.battleTitleCard{
  border-bottom-left-radius:6px !important;
  border-bottom-right-radius:6px !important;
}

/* 当前账号里的账号名，battle.js 渲染为 b 标签 */
html body .battleUserInfoCard #userLine .identityLine b,
html body #userLine .identityLine b{
  color:var(--ys-green) !important;
  font-weight:950 !important;
}

/* 可选：让当前账号这一行更清楚一点，但不改整体结构 */
html body .battleUserInfoCard #userLine .identityLine div:first-child,
html body #userLine .identityLine div:first-child{
  color:#334155 !important;
}

/* 雅算战绩中心标题卡片与账号名修复结束 */

/* 雅算最近趋势状态颜色
   只改变状态词颜色，其他不动。
   上升中：绿色；回暖中：橙黄；波动中：蓝色；
   调整中：粉色；下滑中：红色；持平：灰蓝。
*/

html body .trendStatus .trendState.state-up{
  color:#16a34a !important;
}

html body .trendStatus .trendState.state-warm{
  color:#f59e0b !important;
}

html body .trendStatus .trendState.state-wave{
  color:#2563eb !important;
}

html body .trendStatus .trendState.state-adjust{
  color:#ec4899 !important;
}

html body .trendStatus .trendState.state-down{
  color:#dc2626 !important;
}

html body .trendStatus .trendState.state-flat{
  color:#64748b !important;
}

/* 雅算最近趋势状态颜色结束 */


/* 雅算基准绿统一
   基准绿 = 正 PT 绿色 = #16a34a
   统一范围：
   - 正 PT
   - 确认并添加 / 修改设定 / 修改
   - 战绩中心当前账号名
   - 开始对局弹窗雀士名文字与聚焦边框
*/

:root{
  --ys-green:#16a34a;
  --ys-green-hover:#15803d;
  --ys-green-soft:#f0fdf4;
  --ys-green-line:#86efac;
}

/* 正 PT 文字统一基准绿 */
html body .pos,
html body .plus,
html body .pt-plus,
html body .score-plus,
html body .positive,
html body .metricVal.good,
html body .statVal.good,
html body .trendChip.good,
html body .trendStatus .good{
  color:var(--ys-green) !important;
}

/* 确认并添加 / 修改设定 / 修改：底色统一基准绿 */
html body #addBtn,
html body #addBtn.actionBtn,
html body #addBtn.actionBtn.primary,
html body #addBtn.yasuan-green-action,
html body #editSaveBtn,
html body button.yasuan-green-action,
html body a.yasuan-green-action,
html body input.yasuan-green-action,
html body .miniActionBtn.yasuan-green-action,
html body .actionBtn.yasuan-green-action,
html body .confirmBtn.yasuan-green-action,
html body .okBtn.yasuan-green-action,
html body #matchView > .headerCard .info-row .topRuleActions .miniActionBtn:not(.danger),
html body .round-card .ops .miniActionBtn:not(.danger){
  background:var(--ys-green) !important;
  background-color:var(--ys-green) !important;
  background-image:none !important;
  border-color:var(--ys-green) !important;
  color:#fff !important;
}

/* disabled 状态也不变灰，保持基准绿 */
html body #addBtn:disabled,
html body #addBtn[disabled],
html body #addBtn.actionBtn:disabled,
html body #addBtn.actionBtn.primary:disabled{
  background:var(--ys-green) !important;
  background-color:var(--ys-green) !important;
  border-color:var(--ys-green) !important;
  color:#fff !important;
  opacity:1 !important;
  filter:none !important;
}

/* 绿色按钮 hover 统一深一点的基准绿 hover */
html body #addBtn:not(:disabled):hover,
html body #editSaveBtn:hover,
html body button.yasuan-green-action:hover,
html body .miniActionBtn.yasuan-green-action:hover,
html body .actionBtn.yasuan-green-action:hover,
html body #matchView > .headerCard .info-row .topRuleActions .miniActionBtn:not(.danger):hover,
html body .round-card .ops .miniActionBtn:not(.danger):hover{
  background:var(--ys-green-hover) !important;
  background-color:var(--ys-green-hover) !important;
  border-color:var(--ys-green-hover) !important;
  color:#fff !important;
}

/* 战绩中心当前账号名统一基准绿 */
html body .battleUserInfoCard #userLine .identityLine b,
html body #userLine .identityLine b{
  color:var(--ys-green) !important;
  font-weight:950 !important;
}

/* 开始对局弹窗：雀士名输入文字统一基准绿 */
html body #startMask #mp0,
html body #startMask #mp1,
html body #startMask #mp2,
html body #startMask #mp3{
  color:var(--ys-green) !important;
  font-weight:900 !important;
  caret-color:var(--ys-green) !important;
}

/* 开始对局弹窗：雀士名输入框聚焦边框 / 光圈统一基准绿 */
html body #startMask #mp0:focus,
html body #startMask #mp1:focus,
html body #startMask #mp2:focus,
html body #startMask #mp3:focus{
  border-color:var(--ys-green) !important;
  box-shadow:0 0 0 2px rgba(22,163,74,.14) !important;
  background:var(--ys-green-soft) !important;
  outline:none !important;
}

/* 开始对局弹窗：通用蓝色聚焦规则排除雀士名输入框 */
html body #startMask .form-input:not(#mp0):not(#mp1):not(#mp2):not(#mp3):focus,
html body #startMask input:not([type="radio"]):not(#mp0):not(#mp1):not(#mp2):not(#mp3):focus{
  /* 这里保留原本蓝色逻辑，避免影响马点/其他输入 */
}

/* 雅算基准绿统一结束 */

/* 雅算魔女占卜
   UI 精修：
   - 更整洁
   - 轻微神秘光晕
   - 保持只有“知道了”按钮
   - 上/中/下运势分别用标准绿 / 标准蓝 / 标准红
*/

html body #acctMask .acctTitleWithFortune{
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  gap:6px !important;
}

html body #fortuneBtn{
  width:26px !important;
  height:26px !important;
  min-width:26px !important;
  padding:0 !important;
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  border:none !important;
  background:transparent !important;
  color:#7c3aed !important;
  font-size:16px !important;
  line-height:1 !important;
  cursor:pointer !important;
  box-shadow:none !important;
  background-image:none !important;
  border-radius:0 !important;
  transition:transform .14s ease, filter .16s ease, opacity .16s ease !important;
}

html body #fortuneBtn:hover{
  transform:translateY(-1px) scale(1.06) !important;
  filter:drop-shadow(0 0 6px rgba(124,58,237,.22)) !important;
  opacity:.95 !important;
}

html body #fortuneBtn:active{
  transform:translateY(0) scale(.98) !important;
}

html body .fortuneMask{
  z-index:2100 !important;
  backdrop-filter:blur(4px) !important;
  -webkit-backdrop-filter:blur(4px) !important;
  background:rgba(15,23,42,.34) !important;
}

html body .fortuneModal{
  position:relative !important;
  overflow:hidden !important;
  max-width:380px !important;
  border-radius:8px !important;
  border:1px solid #e9d5ff !important;
  background:
    radial-gradient(circle at top, rgba(245,243,255,.96) 0%, rgba(255,255,255,.98) 38%, rgba(255,255,255,.995) 100%) !important;
  box-shadow:
    0 18px 44px rgba(15,23,42,.18),
    0 0 0 1px rgba(233,213,255,.45) inset !important;
}

html body .fortuneModal::before{
  content:"";
  position:absolute;
  inset:-22% -12% auto -12%;
  height:58%;
  background:radial-gradient(circle, rgba(167,139,250,.18) 0%, rgba(167,139,250,.08) 36%, rgba(167,139,250,0) 72%);
  pointer-events:none;
  animation:fortuneAura 4.4s ease-in-out infinite;
}

html body .fortuneModal::after{
  content:none !important;
  display:none !important;
}

html body .fortuneHead{
  position:relative !important;
  background:transparent !important;
  border-bottom:none !important;
  padding:18px 18px 4px !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  min-height:auto !important;
}

html body .fortuneHead .modalTitle{
  position:relative !important;
  color:#6d28d9 !important;
  font-weight:950 !important;
  font-size:19px !important;
  line-height:1.2 !important;
  text-align:center !important;
  letter-spacing:.3px !important;
  text-shadow:0 0 10px rgba(124,58,237,.08) !important;
}

html body .fortuneHead .modalTitle::after{
  content:"✦ ✦ ✦";
  display:block;
  margin-top:6px;
  font-size:10px;
  letter-spacing:5px;
  color:rgba(124,58,237,.34);
  text-align:center;
}

html body .fortuneBody{
  position:relative !important;
  padding:8px 18px 6px !important;
}

html body .fortuneContent{
  display:flex !important;
  flex-direction:column !important;
  align-items:center !important;
  justify-content:flex-start !important;
  gap:10px !important;
  text-align:center !important;
}

html body .fortuneLoading{
  min-height:120px !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  color:#7c3aed !important;
  font-size:13px !important;
  font-weight:850 !important;
  letter-spacing:.2px !important;
  text-shadow:0 0 8px rgba(124,58,237,.10) !important;
}

html body .fortuneTopMeta{
  font-size:12px !important;
  font-weight:850 !important;
  color:#64748b !important;
  letter-spacing:.2px !important;
}

html body .fortuneLevelWrap{
  position:relative !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  width:100% !important;
}

html body .fortuneLevelWrap::before,
html body .fortuneLevelWrap::after{
  content:"";
  flex:1 1 auto;
  height:1px;
  max-width:72px;
  background:linear-gradient(to right, rgba(196,181,253,0), rgba(196,181,253,.7), rgba(196,181,253,0));
}

html body .fortuneLevelWrap::before{
  margin-right:10px;
}

html body .fortuneLevelWrap::after{
  margin-left:10px;
}

html body .fortuneLevel{
  position:relative !important;
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  min-width:78px !important;
  height:38px !important;
  padding:0 18px !important;
  border-radius:6px !important;
  font-size:18px !important;
  font-weight:950 !important;
  border:1px solid transparent !important;
  box-shadow:0 6px 16px rgba(15,23,42,.06) !important;
  animation:fortuneBreath 3.2s ease-in-out infinite;
}

html body .fortuneLevel.good{
  color:#16a34a !important;
  background:#f0fdf4 !important;
  border-color:#86efac !important;
  box-shadow:
    0 8px 18px rgba(22,163,74,.08),
    0 0 0 1px rgba(134,239,172,.18) inset !important;
}

html body .fortuneLevel.blue{
  color:#2563eb !important;
  background:#eff6ff !important;
  border-color:#bfdbfe !important;
  box-shadow:
    0 8px 18px rgba(37,99,235,.08),
    0 0 0 1px rgba(191,219,254,.2) inset !important;
}

html body .fortuneLevel.bad{
  color:#dc2626 !important;
  background:#fef2f2 !important;
  border-color:#fecaca !important;
  box-shadow:
    0 8px 18px rgba(220,38,38,.08),
    0 0 0 1px rgba(254,202,202,.24) inset !important;
}

html body .fortuneLevel.flat{
  color:#64748b !important;
  background:#f8fafc !important;
  border-color:#e2e8f0 !important;
}

html body .fortuneWhisperCard{
  width:100% !important;
  position:relative !important;
  border-radius:7px !important;
  border:1px solid #e9d5ff !important;
  background:
    linear-gradient(180deg, rgba(250,245,255,.96) 0%, rgba(255,255,255,.98) 100%) !important;
  box-shadow:
    0 8px 22px rgba(124,58,237,.06),
    0 0 0 1px rgba(255,255,255,.7) inset !important;
  padding:12px 12px 13px !important;
}

html body .fortuneWhisperCard::before{
  content:"";
  position:absolute;
  left:12px;
  right:12px;
  top:0;
  height:1px;
  background:linear-gradient(to right, rgba(233,213,255,0), rgba(196,181,253,.85), rgba(233,213,255,0));
}

html body .fortuneWhisperTitle{
  font-size:12px !important;
  color:#7c3aed !important;
  font-weight:950 !important;
  margin-bottom:8px !important;
  text-align:center !important;
  letter-spacing:.2px !important;
}

html body .fortuneQuote{
  border:none !important;
  background:transparent !important;
  color:#334155 !important;
  border-radius:0 !important;
  padding:0 !important;
  font-size:13px !important;
  font-weight:760 !important;
  line-height:1.72 !important;
  text-align:left !important;
}

html body .fortuneHint{
  display:none !important;
}

html body .fortuneError .fortuneLevelLabel{
  color:#dc2626 !important;
  font-weight:950 !important;
  margin-bottom:10px !important;
}

html body .fortuneFooter{
  padding:12px 18px 18px !important;
}

html body .fortuneOkBtn{
  width:100% !important;
  height:38px !important;
  background:linear-gradient(180deg, #8b5cf6 0%, #7c3aed 100%) !important;
  border:1px solid #7c3aed !important;
  color:#fff !important;
  border-radius:6px !important;
  box-shadow:
    0 8px 18px rgba(124,58,237,.14),
    0 1px 0 rgba(255,255,255,.18) inset !important;
  font-weight:950 !important;
  letter-spacing:.2px !important;
}

html body .fortuneOkBtn:hover{
  background:linear-gradient(180deg, #7c3aed 0%, #6d28d9 100%) !important;
  border-color:#6d28d9 !important;
}

html body .fortuneOkBtn:active{
  transform:translateY(1px) !important;
}

@keyframes fortuneAura{
  0%,100%{
    opacity:.78;
    transform:translateY(0) scale(1);
  }
  50%{
    opacity:1;
    transform:translateY(2px) scale(1.03);
  }
}

@keyframes fortuneSpark{
  0%,100%{
    opacity:.45;
    transform:scale(.95);
  }
  50%{
    opacity:.9;
    transform:scale(1.08);
  }
}

@keyframes fortuneBreath{
  0%,100%{
    transform:translateY(0);
  }
  50%{
    transform:translateY(-1px);
  }
}

/* 雅算魔女占卜结束 */

/* 雅算魔女占卜显示在个人中心之上
   不使用全站最高层级，只保证：
   个人中心 #acctMask = 2000
   魔女占卜 #fortuneMask = 2100
   魔女弹窗 .fortuneModal = 2110
*/

html body #acctMask{
  z-index:2000 !important;
}

html body #fortuneMask,
html body .fortuneMask{
  position:fixed !important;
  inset:0 !important;
  z-index:2100 !important;
}

html body #fortuneMask .fortuneModal,
html body .fortuneMask .fortuneModal{
  position:relative !important;
  z-index:2110 !important;
}

/* 雅算魔女占卜显示在个人中心之上结束 */

/* 雅算修复：开始对局弹窗 M-League 选中态使用浅红 */
html body #startMask #blockMLeague.active{
  border-color:#fca5a5 !important;
  background:#fef2f2 !important;
  background-color:#fef2f2 !important;
}

html body #startMask #blockMLeague.active .mode-left,
html body #startMask #blockMLeague.active .mode-left span{
  color:#dc2626 !important;
}

html body #startMask #blockMLeague .mode-left input,
html body #startMask #modeRadioMLeague{
  accent-color:#dc2626 !important;
}
/* 雅算修复：开始对局弹窗 M-League 选中态使用浅红结束 */

/* =========================================================
   START_MODAL_FINAL_V1
   开始对局弹窗：基准版重写
   - 对局雀士：绿色主题 + 👥
   - 马点设置：蓝色主题 + ⚙️
   - 去掉马点设置 mode-box 外框
   - 安卓友好：只用 transform + opacity
========================================================= */

html body #startMask .mmModal,
html body #startMask .mmModal *{
  box-sizing:border-box !important;
}

/* 彻底关闭之前可能残留的复杂伪元素/流光 */
html body #startMask .mmModal::before,
html body #startMask .mmModal::after,
html body #startMask .modal-section::before,
html body #startMask .modal-section::after,
html body #startMask .mode-box::before,
html body #startMask .mode-box::after,
html body #startMask .mode-block::before,
html body #startMask .mode-block::after{
  content:none !important;
  display:none !important;
  animation:none !important;
}

/* 弹窗本体：方正微圆角 */
html body #startMask .mmModal{
  width:min(92vw, 400px) !important;
  max-width:400px !important;
  max-height:88vh !important;
  overflow-y:auto !important;
  overflow-x:hidden !important;
  padding:15px !important;
  border-radius:10px !important;
  background:#ffffff !important;
  border:1px solid #dbe3ef !important;
  box-shadow:
    0 18px 44px rgba(15,23,42,.16),
    0 2px 8px rgba(15,23,42,.08) !important;
}

/* 弹窗出现：从底部顺滑升起 */
html body #startMask.show .mmModal{
  animation:ysStartModalFinalUp .34s cubic-bezier(.2,.8,.2,1) both !important;
  transform-origin:center bottom !important;
  will-change:transform, opacity;
  backface-visibility:hidden;
}

@keyframes ysStartModalFinalUp{
  from{
    opacity:0;
    transform:translate3d(0, 56px, 0);
  }
  to{
    opacity:1;
    transform:translate3d(0, 0, 0);
  }
}

/* 窗内内容：整体轻淡入，不做复杂错层 */
html body #startMask.show .mmModal > *{
  animation:ysStartModalContentFade .22s cubic-bezier(.2,.8,.2,1) .07s both !important;
}

@keyframes ysStartModalContentFade{
  from{
    opacity:0;
    transform:translate3d(0, 7px, 0);
  }
  to{
    opacity:1;
    transform:translate3d(0, 0, 0);
  }
}

/* 头部 */
html body #startMask .modalHead{
  margin:-15px -15px 13px !important;
  padding:13px 15px 11px !important;
  border:0 !important;
  border-bottom:1px solid #e5edf7 !important;
  border-radius:10px 10px 0 0 !important;
  background:#f8fafc !important;
}

html body #startMask .modalTitle{
  font-size:17px !important;
  line-height:1.25 !important;
  font-weight:900 !important;
  color:#0f172a !important;
  letter-spacing:.01em !important;
}

html body #startMask .modalTitle::after{
  content:"设置雀士与计分规则";
  display:block;
  margin-top:4px;
  font-size:12px;
  line-height:1.35;
  font-weight:700;
  color:#64748b;
}

html body #startMask .modalClose{
  width:28px !important;
  height:28px !important;
  border-radius:6px !important;
  border:1px solid #e2e8f0 !important;
  background:#ffffff !important;
  color:#94a3b8 !important;
  box-shadow:none !important;
}

/* 两个主分区 */
html body #startMask .modal-section{
  margin:0 0 10px !important;
  padding:12px !important;
  border-radius:8px !important;
  background:#f8fafc !important;
  border:1px solid #e2e8f0 !important;
  box-shadow:none !important;
  overflow:visible !important;
}

/* 分区标题基础 */
html body #startMask .modal-label{
  display:flex !important;
  align-items:center !important;
  justify-content:flex-start !important;
  gap:7px !important;
  margin:0 0 10px !important;
  font-size:13px !important;
  line-height:1.2 !important;
  font-weight:900 !important;
  letter-spacing:.02em !important;
}

/* 去掉旧蓝色竖条，改为 emoji */
html body #startMask .modal-label::before{
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  width:22px !important;
  height:22px !important;
  min-width:22px !important;
  margin:0 !important;
  border-radius:5px !important;
  font-size:14px !important;
  line-height:1 !important;
}

/* 第一块：对局雀士 = 绿色主题 */
html body #startMask .modalHead + .modal-section{
  border-color:#bbf7d0 !important;
  background:#f0fdf4 !important;
}

html body #startMask .modalHead + .modal-section > .modal-label{
  color:#16a34a !important;
}

html body #startMask .modalHead + .modal-section > .modal-label::before{
  content:"👥" !important;
  background:rgba(22,163,74,.12) !important;
  color:#16a34a !important;
}

/* 第二块：马点设置 = 蓝色主题 */
html body #startMask .modalHead + .modal-section + .modal-section{
  border-color:#bfdbfe !important;
  background:#eff6ff !important;
}

html body #startMask .modalHead + .modal-section + .modal-section > .modal-label{
  color:#2563eb !important;
}

html body #startMask .modalHead + .modal-section + .modal-section > .modal-label::before{
  content:"⚙️" !important;
  background:rgba(37,99,235,.12) !important;
  color:#2563eb !important;
}

/* 雀士输入框 */
html body #startMask .formGrid{
  gap:8px !important;
}

html body #startMask #mp0,
html body #startMask #mp1,
html body #startMask #mp2,
html body #startMask #mp3{
  height:38px !important;
  border-radius:6px !important;
  border:1px solid #bbf7d0 !important;
  background:#ffffff !important;
  color:#15803d !important;
  font-size:14px !important;
  font-weight:900 !important;
  box-shadow:none !important;
}

html body #startMask #mp0:focus,
html body #startMask #mp1:focus,
html body #startMask #mp2:focus,
html body #startMask #mp3:focus{
  border-color:#16a34a !important;
  background:#ffffff !important;
  box-shadow:0 0 0 2px rgba(22,163,74,.14) !important;
  outline:none !important;
}

/* 关键：马点设置里不要再有 mode-box 外框 */
html body #startMask .mode-box{
  display:block !important;
  margin:0 !important;
  padding:0 !important;
  border:0 !important;
  border-radius:0 !important;
  background:transparent !important;
  box-shadow:none !important;
  overflow:visible !important;
}

/* 三个单选规则块，直接作为马点设置内容 */
html body #startMask .mode-block,
html body #startMask #blockSimple,
html body #startMask #blockMLeague,
html body #startMask #blockQue{
  display:block !important;
  visibility:visible !important;
  opacity:1 !important;
  min-height:42px !important;
  margin:0 0 8px !important;
  padding:9px 10px !important;
  border-radius:6px !important;
  border:1px solid #dbeafe !important;
  background:#ffffff !important;
  color:#1e293b !important;
  box-shadow:none !important;
  overflow:visible !important;
}

html body #startMask .mode-block:last-child{
  margin-bottom:0 !important;
}

/* 规则行 */
html body #startMask .mode-line{
  display:grid !important;
  grid-template-columns:minmax(118px, auto) 1fr !important;
  gap:10px !important;
  align-items:center !important;
  min-height:30px !important;
}

html body #startMask .mode-left{
  display:flex !important;
  align-items:center !important;
  gap:7px !important;
  min-width:0 !important;
  white-space:nowrap !important;
  color:#1e293b !important;
  font-size:13px !important;
  font-weight:850 !important;
}

html body #startMask .mode-left span{
  color:inherit !important;
}

html body #startMask .mode-right{
  display:flex !important;
  align-items:center !important;
  min-width:0 !important;
}

/* 恢复 radio 原生可见，避免再被输入框样式误伤 */
html body #startMask input[type="radio"],
html body #startMask #modeRadioSimple,
html body #startMask #modeRadioMLeague,
html body #startMask #modeRadioQue{
  -webkit-appearance:radio !important;
  appearance:auto !important;
  display:inline-block !important;
  visibility:visible !important;
  opacity:1 !important;
  width:15px !important;
  height:15px !important;
  min-width:15px !important;
  min-height:15px !important;
  margin:0 !important;
  padding:0 !important;
  border:0 !important;
  background:initial !important;
  box-shadow:none !important;
  flex:0 0 15px !important;
  pointer-events:auto !important;
}

html body #startMask #modeRadioSimple{ accent-color:#2563eb !important; }
html body #startMask #modeRadioMLeague{ accent-color:#dc2626 !important; }
html body #startMask #modeRadioQue{ accent-color:#16a34a !important; }

/* 下拉框 */
html body #startMask .uma-select,
html body #startMask .uma-input{
  width:100% !important;
  height:32px !important;
  border-radius:6px !important;
  border:1px solid #bfdbfe !important;
  background:#ffffff !important;
  color:#334155 !important;
  font-size:12px !important;
  font-weight:800 !important;
  box-shadow:none !important;
}

html body #startMask .uma-select:focus,
html body #startMask .uma-input:focus{
  border-color:#2563eb !important;
  box-shadow:0 0 0 2px rgba(37,99,235,.12) !important;
  outline:none !important;
}

/* 未选中规则的右侧配置弱化，但不隐藏 */
html body #startMask .mode-block:not(.active) .mode-right{
  opacity:.48 !important;
  pointer-events:none !important;
}

/* 三种规则选中态：保留原逻辑颜色 */
html body #startMask #blockSimple.active{
  background:#eff6ff !important;
  border-color:#93c5fd !important;
}

html body #startMask #blockSimple.active .mode-left,
html body #startMask #blockSimple.active .mode-left span{
  color:#2563eb !important;
}

html body #startMask #blockMLeague.active{
  background:#fef2f2 !important;
  border-color:#fca5a5 !important;
}

html body #startMask #blockMLeague.active .mode-left,
html body #startMask #blockMLeague.active .mode-left span{
  color:#dc2626 !important;
}

html body #startMask #blockQue.active{
  background:#f0fdf4 !important;
  border-color:#86efac !important;
}

html body #startMask #blockQue.active .mode-left,
html body #startMask #blockQue.active .mode-left span{
  color:#16a34a !important;
}

/* 自定义区域 */
html body #startMask .custom-area{
  margin-top:8px !important;
  padding-top:8px !important;
  border-top:1px dashed #dbeafe !important;
  background:transparent !important;
  box-shadow:none !important;
}

html body #startMask .add-btn{
  height:32px !important;
  border-radius:6px !important;
  box-shadow:none !important;
}

/* 公式说明 */
html body #startMask #modeFormula,
html body #startMask .formula-box{
  margin:0 0 10px !important;
  padding:9px 10px !important;
  border-radius:6px !important;
  border:1px solid #e2e8f0 !important;
  background:#ffffff !important;
  color:#475569 !important;
  font-size:12px !important;
  line-height:1.45 !important;
  font-weight:700 !important;
  text-align:center !important;
  box-shadow:none !important;
}

/* 底部按钮 */
html body #startMask .modalFooter{
  margin:0 !important;
  padding:0 !important;
  background:transparent !important;
  border:0 !important;
}

html body #startMask #enterBtn{
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  width:100% !important;
  height:42px !important;
  min-height:42px !important;
  margin:0 !important;
  border-radius:6px !important;
  border:1px solid #2563eb !important;
  background:#2563eb !important;
  color:#ffffff !important;
  font-size:14px !important;
  font-weight:900 !important;
  letter-spacing:.02em !important;
  box-shadow:0 7px 16px rgba(37,99,235,.18) !important;
}

html body #startMask #enterBtn:active{
  transform:translateY(1px) !important;
  box-shadow:0 3px 8px rgba(37,99,235,.16) !important;
}

/* 小屏幕压缩 */
@media (max-height:720px){
  html body #startMask .mmModal{
    padding:13px !important;
    max-height:90vh !important;
  }

  html body #startMask .modalHead{
    margin:-13px -13px 10px !important;
    padding:12px 14px 10px !important;
  }

  html body #startMask .modal-section{
    padding:10px !important;
    margin-bottom:8px !important;
  }

  html body #startMask #mp0,
  html body #startMask #mp1,
  html body #startMask #mp2,
  html body #startMask #mp3{
    height:36px !important;
  }

  html body #startMask .mode-block{
    padding:8px 9px !important;
    margin-bottom:6px !important;
  }

  html body #startMask #enterBtn{
    height:40px !important;
    min-height:40px !important;
  }
}

/* 减少动态偏好 */
@media (prefers-reduced-motion: reduce){
  html body #startMask.show .mmModal,
  html body #startMask.show .mmModal > *{
    animation:none !important;
  }
}

/* START_MODAL_FINAL_V1 END */

/* START_MODAL_FINAL_TUNE_V2
   修正：默认规则字体色 / PT公式单行 / 去分区底色 / 圆角统一
*/

/* 1. 圆角统一为全站方正微圆角 */
html body #startMask .mmModal,
html body #startMask .modal-section,
html body #startMask .mode-block,
html body #startMask #blockSimple,
html body #startMask #blockMLeague,
html body #startMask #blockQue,
html body #startMask #modeFormula,
html body #startMask .formula-box{
  border-radius:var(--ys-radius-card, 6px) !important;
}

html body #startMask .modalClose,
html body #startMask #enterBtn,
html body #startMask #mp0,
html body #startMask #mp1,
html body #startMask #mp2,
html body #startMask #mp3,
html body #startMask .uma-select,
html body #startMask .uma-input,
html body #startMask .add-btn{
  border-radius:var(--ys-radius-btn, 5px) !important;
}

html body #startMask .modalHead{
  border-radius:var(--ys-radius-card, 6px) var(--ys-radius-card, 6px) 0 0 !important;
}

/* 2. 对局雀士 / 马点设置外框去掉底色，只保留干净边框 */
html body #startMask .modalHead + .modal-section{
  background:#ffffff !important;
  border-color:#bbf7d0 !important;
}

html body #startMask .modalHead + .modal-section + .modal-section{
  background:#ffffff !important;
  border-color:#bfdbfe !important;
}

/* 3. 马点设置里的三个规则：默认文字就带各自主题色 */
html body #startMask #blockSimple .mode-left,
html body #startMask #blockSimple .mode-left span{
  color:#2563eb !important;
}

html body #startMask #blockMLeague .mode-left,
html body #startMask #blockMLeague .mode-left span{
  color:#dc2626 !important;
}

html body #startMask #blockQue .mode-left,
html body #startMask #blockQue .mode-left span{
  color:#16a34a !important;
}

/* 选中态继续保留浅底色 */
html body #startMask #blockSimple.active{
  background:#eff6ff !important;
  border-color:#93c5fd !important;
}

html body #startMask #blockMLeague.active{
  background:#fef2f2 !important;
  border-color:#fca5a5 !important;
}

html body #startMask #blockQue.active{
  background:#f0fdf4 !important;
  border-color:#86efac !important;
}

/* 4. PT 公式区域：字体更小，优先一行显示 */
html body #startMask #modeFormula,
html body #startMask .formula-box{
  font-size:10px !important;
  line-height:1.25 !important;
  font-weight:700 !important;
  padding:7px 8px !important;
  white-space:nowrap !important;
  overflow:hidden !important;
  text-overflow:ellipsis !important;
  text-align:center !important;
  letter-spacing:-.02em !important;
}

/* 5. 弹窗宽度略放宽一点，帮助 M-League PT 公式保持一行 */
html body #startMask .mmModal{
  width:min(94vw, 420px) !important;
  max-width:420px !important;
}

/* START_MODAL_FINAL_TUNE_V2 END */

/* START_MODAL_CLOSE_FIX_V1
   修复开始对局弹窗右上角叉号歪斜：不用字体 ×，改用 CSS 双线绘制
*/

html body #startMask .modalClose{
  position:relative !important;
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  width:28px !important;
  height:28px !important;
  min-width:28px !important;
  min-height:28px !important;
  padding:0 !important;
  border-radius:var(--ys-radius-btn, 5px) !important;
  border:1px solid #e2e8f0 !important;
  background:#ffffff !important;
  color:transparent !important;
  font-size:0 !important;
  line-height:0 !important;
  box-shadow:none !important;
  overflow:hidden !important;
}

html body #startMask .modalClose::before,
html body #startMask .modalClose::after{
  content:"" !important;
  position:absolute !important;
  left:50% !important;
  top:50% !important;
  width:13px !important;
  height:2px !important;
  border-radius:999px !important;
  background:#64748b !important;
  transform-origin:center center !important;
}

html body #startMask .modalClose::before{
  transform:translate(-50%, -50%) rotate(45deg) !important;
}

html body #startMask .modalClose::after{
  transform:translate(-50%, -50%) rotate(-45deg) !important;
}

html body #startMask .modalClose:hover{
  background:#f8fafc !important;
  border-color:#cbd5e1 !important;
}

html body #startMask .modalClose:active{
  transform:translateY(1px) !important;
  background:#f1f5f9 !important;
}

html body #startMask .modalClose:active::before,
html body #startMask .modalClose:active::after{
  background:#334155 !important;
}

/* START_MODAL_CLOSE_FIX_V1 END */

/* GLOBAL_MODAL_CLOSE_FIX_V1
   全站弹窗关闭按钮统一：不用字体 ×，改用 CSS 双线绘制
   覆盖：开始对局、个人中心、用户认证、录入半庄修改、安装说明等 .modalClose
*/

html body .modalMask .modalClose,
html body .mmModal .modalClose,
html body button.modalClose{
  position:relative !important;
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  flex:0 0 auto !important;
  width:28px !important;
  height:28px !important;
  min-width:28px !important;
  min-height:28px !important;
  padding:0 !important;
  margin:0 !important;
  border-radius:var(--ys-radius-btn, 5px) !important;
  border:1px solid #e2e8f0 !important;
  background:#ffffff !important;
  color:transparent !important;
  font-size:0 !important;
  line-height:0 !important;
  text-indent:-9999px !important;
  overflow:hidden !important;
  cursor:pointer !important;
  box-shadow:none !important;
  appearance:none !important;
  -webkit-appearance:none !important;
}

html body .modalMask .modalClose::before,
html body .modalMask .modalClose::after,
html body .mmModal .modalClose::before,
html body .mmModal .modalClose::after,
html body button.modalClose::before,
html body button.modalClose::after{
  content:"" !important;
  position:absolute !important;
  left:50% !important;
  top:50% !important;
  width:13px !important;
  height:2px !important;
  border-radius:999px !important;
  background:#64748b !important;
  transform-origin:center center !important;
  pointer-events:none !important;
}

html body .modalMask .modalClose::before,
html body .mmModal .modalClose::before,
html body button.modalClose::before{
  transform:translate(-50%, -50%) rotate(45deg) !important;
}

html body .modalMask .modalClose::after,
html body .mmModal .modalClose::after,
html body button.modalClose::after{
  transform:translate(-50%, -50%) rotate(-45deg) !important;
}

html body .modalMask .modalClose:hover,
html body .mmModal .modalClose:hover,
html body button.modalClose:hover{
  background:#f8fafc !important;
  border-color:#cbd5e1 !important;
}

html body .modalMask .modalClose:active,
html body .mmModal .modalClose:active,
html body button.modalClose:active{
  transform:translateY(1px) !important;
  background:#f1f5f9 !important;
  border-color:#cbd5e1 !important;
}

html body .modalMask .modalClose:active::before,
html body .modalMask .modalClose:active::after,
html body .mmModal .modalClose:active::before,
html body .mmModal .modalClose:active::after,
html body button.modalClose:active::before,
html body button.modalClose:active::after{
  background:#334155 !important;
}

/* 兼容 modalHead 里标题和关闭按钮对齐 */
html body .modalHead{
  display:flex !important;
  align-items:center !important;
  justify-content:space-between !important;
  gap:12px !important;
}

html body .modalHead .modalTitle,
html body .modalHead h3{
  min-width:0 !important;
}

/* GLOBAL_MODAL_CLOSE_FIX_V1 END */































/* START_MODAL_MA_TITLE_BLUE_RESTORE_V1
   马点设置标题恢复蓝色
*/

html body #startMask .modalHead + .modal-section + .modal-section > .modal-label{
  color:#2563eb !important;
}

html body #startMask .modalHead + .modal-section + .modal-section > .modal-label::before{
  background:rgba(37,99,235,.12) !important;
  color:#2563eb !important;
}

/* START_MODAL_MA_TITLE_BLUE_RESTORE_V1 END */

/* TOAST_AND_START_MODAL_CARD_POLISH_V1
   1. 全站 toast 方正微圆角
   2. 开始对局弹窗内框套用首页卡片浅边框 + 轻阴影逻辑
*/

/* ========== 1. Toast 统一方正微圆角 ========== */

html body #toast{
  pointer-events:none !important;
}

html body .toastBubble,
html body #toast .toastBubble{
  border-radius:var(--ys-radius-card, 6px) !important;
  padding:9px 14px !important;
  background:rgba(15,23,42,.92) !important;
  color:#ffffff !important;
  font-size:13px !important;
  font-weight:800 !important;
  line-height:1.45 !important;
  letter-spacing:.01em !important;
  border:1px solid rgba(255,255,255,.10) !important;
  box-shadow:
    0 10px 24px rgba(15,23,42,.18),
    0 2px 8px rgba(15,23,42,.10) !important;
  backdrop-filter:blur(8px) !important;
  -webkit-backdrop-filter:blur(8px) !important;
}

/* 错误 toast：保持红色，但也用同样方正微圆角 */
html body .toastBubble.err,
html body #toast .toastBubble.err{
  background:rgba(220,38,38,.94) !important;
  border-color:rgba(254,202,202,.30) !important;
  box-shadow:
    0 10px 24px rgba(220,38,38,.18),
    0 2px 8px rgba(15,23,42,.10) !important;
}

/* WebSocket toast 内部彩色字保留 */
html body .toastBubble.wsToast .toastTime,
html body #toast .toastBubble.wsToast .toastTime{
  color:var(--warn, #f59e0b) !important;
}

html body .toastBubble.wsToast .toastWho,
html body #toast .toastBubble.wsToast .toastWho{
  color:var(--ok, #16a34a) !important;
}


/* ========== 2. 开始对局弹窗内框：浅边框 + 首页卡片式轻阴影 ========== */

/* 弹窗主体也稍微统一为首页卡片的轻阴影，不厚重 */
html body #startMask .mmModal{
  border:1px solid #e2e8f0 !important;
  box-shadow:
    0 14px 34px rgba(15,23,42,.14),
    0 2px 8px rgba(15,23,42,.06) !important;
}

/* 两个主分区：对局雀士 / 马点设置 */
html body #startMask .modalHead + .modal-section,
html body #startMask .modalHead + .modal-section + .modal-section{
  background:#ffffff !important;
  border:1px solid #e2e8f0 !important;
  border-radius:var(--ys-radius-card, 6px) !important;
  box-shadow:
    0 6px 16px rgba(15,23,42,.045),
    0 1px 3px rgba(15,23,42,.045) !important;
}

/* 马点设置里三个选项：保留直接显示，不加外层 mode-box 框 */
html body #startMask .mode-box{
  border:0 !important;
  background:transparent !important;
  box-shadow:none !important;
  padding:0 !important;
  margin:0 !important;
}

/* 三个算法块也给首页卡片式浅阴影，但比外框更轻 */
html body #startMask .mode-block,
html body #startMask #blockSimple,
html body #startMask #blockMLeague,
html body #startMask #blockQue{
  background:#ffffff !important;
  border:1px solid #e2e8f0 !important;
  border-radius:var(--ys-radius-card, 6px) !important;
  box-shadow:
    0 3px 8px rgba(15,23,42,.035),
    0 1px 2px rgba(15,23,42,.035) !important;
}

/* 选中态保留原主题底色，同时阴影更轻更清楚 */
html body #startMask #blockSimple.active{
  background:#eff6ff !important;
  border-color:#93c5fd !important;
  box-shadow:
    0 4px 10px rgba(37,99,235,.08),
    0 1px 2px rgba(15,23,42,.04) !important;
}

html body #startMask #blockMLeague.active{
  background:#fef2f2 !important;
  border-color:#fca5a5 !important;
  box-shadow:
    0 4px 10px rgba(220,38,38,.08),
    0 1px 2px rgba(15,23,42,.04) !important;
}

html body #startMask #blockQue.active{
  background:#f0fdf4 !important;
  border-color:#86efac !important;
  box-shadow:
    0 4px 10px rgba(22,163,74,.08),
    0 1px 2px rgba(15,23,42,.04) !important;
}

/* PT 公式框也同步为浅卡片 */
html body #startMask #modeFormula,
html body #startMask .formula-box{
  background:#ffffff !important;
  border:1px solid #e2e8f0 !important;
  border-radius:var(--ys-radius-card, 6px) !important;
  box-shadow:
    0 3px 8px rgba(15,23,42,.035),
    0 1px 2px rgba(15,23,42,.035) !important;
}

/* 输入框浮起样式保留，但阴影和卡片逻辑保持一致 */
html body #startMask input#mp0,
html body #startMask input#mp1,
html body #startMask input#mp2,
html body #startMask input#mp3{
  box-shadow:
    inset 0 0 0 1px #fde68a,
    0 1px 2px rgba(15,23,42,.04) !important;
  -webkit-box-shadow:
    inset 0 0 0 1px #fde68a,
    0 1px 2px rgba(15,23,42,.04) !important;
}

html body #startMask input#mp0:focus,
html body #startMask input#mp1:focus,
html body #startMask input#mp2:focus,
html body #startMask input#mp3:focus{
  transform:translateY(-1px) !important;
  box-shadow:
    inset 0 0 0 1px #fbbf24,
    0 5px 12px rgba(245,158,11,.12),
    0 1px 2px rgba(15,23,42,.04) !important;
  -webkit-box-shadow:
    inset 0 0 0 1px #fbbf24,
    0 5px 12px rgba(245,158,11,.12),
    0 1px 2px rgba(15,23,42,.04) !important;
}

/* TOAST_AND_START_MODAL_CARD_POLISH_V1 END */




/* INPUT_FLOAT_NEUTRAL_FINAL_V2
   最终录入框样式：
   - 所有录入框不跟随主题色
   - 文字深灰
   - placeholder 浅灰
   - 白底 + 淡灰边框 + 轻阴影
   - 聚焦时整个框轻微浮起
   - 雀士名输入框强制命中
*/

/* 保留标题色：对局雀士橙黄，马点设置蓝色 */
html body #startMask .modalHead + .modal-section > .modal-label{
  color:#f59e0b !important;
}

html body #startMask .modalHead + .modal-section > .modal-label::before{
  background:rgba(245,158,11,.12) !important;
  color:#f59e0b !important;
}

html body #startMask .modalHead + .modal-section + .modal-section > .modal-label{
  color:#2563eb !important;
}

html body #startMask .modalHead + .modal-section + .modal-section > .modal-label::before{
  background:rgba(37,99,235,.12) !important;
  color:#2563eb !important;
}

/* ---------- 全部录入框基础：中性卡片式 ---------- */

html body input.form-input,
html body input.score-input,
html body input.editInput,
html body input.uma-input,
html body select.uma-select,

/* 开始对局雀士名，强制命中 */
html body #startMask #mp0,
html body #startMask #mp1,
html body #startMask #mp2,
html body #startMask #mp3,
html body #startMask input#mp0,
html body #startMask input#mp1,
html body #startMask input#mp2,
html body #startMask input#mp3,
html body #startMask input.form-input#mp0,
html body #startMask input.form-input#mp1,
html body #startMask input.form-input#mp2,
html body #startMask input.form-input#mp3,

/* 录入半庄分数 */
html body #matchView input.score-input,
html body #matchView .score-input,
html body input#s0.score-input,
html body input#s1.score-input,
html body input#s2.score-input,
html body input#s3.score-input,

/* 修改半庄 */
html body #editMask input.editInput,
html body #editMask input#e0,
html body #editMask input#e1,
html body #editMask input#e2,
html body #editMask input#e3{
  box-sizing:border-box !important;
  border:0 !important;
  outline:0 !important;
  outline:none !important;
  background:#ffffff !important;
  background-color:#ffffff !important;
  background-image:none !important;
  color:#0f172a !important;
  -webkit-text-fill-color:#0f172a !important;
  caret-color:#64748b !important;
  text-shadow:none !important;
  border-radius:var(--ys-radius-btn, 5px) !important;
  box-shadow:
    inset 0 0 0 1px #e2e8f0,
    0 1px 2px rgba(15,23,42,.04) !important;
  -webkit-box-shadow:
    inset 0 0 0 1px #e2e8f0,
    0 1px 2px rgba(15,23,42,.04) !important;
  transition:
    transform .14s ease,
    box-shadow .14s ease,
    background-color .14s ease !important;
  -webkit-tap-highlight-color:transparent !important;
}

/* 聚焦：淡色边框 + 整个框轻微浮起 */
html body input.form-input:focus,
html body input.score-input:focus,
html body input.editInput:focus,
html body input.uma-input:focus,
html body select.uma-select:focus,
html body input.form-input:focus-visible,
html body input.score-input:focus-visible,
html body input.editInput:focus-visible,
html body input.uma-input:focus-visible,
html body select.uma-select:focus-visible,

/* 开始对局雀士名，强制命中 */
html body #startMask #mp0:focus,
html body #startMask #mp1:focus,
html body #startMask #mp2:focus,
html body #startMask #mp3:focus,
html body #startMask input#mp0:focus,
html body #startMask input#mp1:focus,
html body #startMask input#mp2:focus,
html body #startMask input#mp3:focus,
html body #startMask input.form-input#mp0:focus,
html body #startMask input.form-input#mp1:focus,
html body #startMask input.form-input#mp2:focus,
html body #startMask input.form-input#mp3:focus,
html body #startMask #mp0:focus-visible,
html body #startMask #mp1:focus-visible,
html body #startMask #mp2:focus-visible,
html body #startMask #mp3:focus-visible,

/* 录入半庄 */
html body #matchView input.score-input:focus,
html body #matchView .score-input:focus,
html body input#s0.score-input:focus,
html body input#s1.score-input:focus,
html body input#s2.score-input:focus,
html body input#s3.score-input:focus,

/* 修改半庄 */
html body #editMask input.editInput:focus,
html body #editMask input#e0:focus,
html body #editMask input#e1:focus,
html body #editMask input#e2:focus,
html body #editMask input#e3:focus{
  border:0 !important;
  outline:0 !important;
  outline:none !important;
  background:#ffffff !important;
  background-color:#ffffff !important;
  color:#0f172a !important;
  -webkit-text-fill-color:#0f172a !important;
  caret-color:#64748b !important;
  transform:translateY(-1px) !important;
  box-shadow:
    inset 0 0 0 1px #cbd5e1,
    0 5px 12px rgba(15,23,42,.08),
    0 1px 2px rgba(15,23,42,.04) !important;
  -webkit-box-shadow:
    inset 0 0 0 1px #cbd5e1,
    0 5px 12px rgba(15,23,42,.08),
    0 1px 2px rgba(15,23,42,.04) !important;
}

/* 开始对局雀士名高度兜底 */
html body #startMask #mp0,
html body #startMask #mp1,
html body #startMask #mp2,
html body #startMask #mp3{
  height:38px !important;
  padding:0 10px !important;
}

/* placeholder 永远浅灰 */
html body input.form-input::placeholder,
html body input.score-input::placeholder,
html body input.editInput::placeholder,
html body input.uma-input::placeholder,
html body #startMask #mp0::placeholder,
html body #startMask #mp1::placeholder,
html body #startMask #mp2::placeholder,
html body #startMask #mp3::placeholder{
  color:#94a3b8 !important;
  opacity:1 !important;
  -webkit-text-fill-color:#94a3b8 !important;
}

/* 自动填充兜底 */
html body input.form-input:-webkit-autofill,
html body input.score-input:-webkit-autofill,
html body input.editInput:-webkit-autofill,
html body input.uma-input:-webkit-autofill,
html body #startMask #mp0:-webkit-autofill,
html body #startMask #mp1:-webkit-autofill,
html body #startMask #mp2:-webkit-autofill,
html body #startMask #mp3:-webkit-autofill{
  -webkit-text-fill-color:#0f172a !important;
  caret-color:#64748b !important;
  border:0 !important;
  outline:0 !important;
  box-shadow:
    inset 0 0 0 1px #e2e8f0,
    inset 0 0 0 1000px #ffffff !important;
  -webkit-box-shadow:
    inset 0 0 0 1px #e2e8f0,
    inset 0 0 0 1000px #ffffff !important;
}

/* INPUT_FLOAT_NEUTRAL_FINAL_V2 END */




/* INPUT_TEXT_THEME_ONLY_FINAL_V2
   边框保持中性卡片风；
   只有实际输入内容跟随主题色；
   placeholder 永远浅灰。
*/

/* ---------- 默认状态：先保持中性深灰，避免空框 placeholder 被主题色污染 ---------- */

html body #startMask input#mp0,
html body #startMask input#mp1,
html body #startMask input#mp2,
html body #startMask input#mp3{
  color:#0f172a !important;
  -webkit-text-fill-color:#0f172a !important;
  caret-color:#f59e0b !important;
}

/* 雀士名：只要有实际内容，就变首页橙黄 */
html body #startMask input#mp0:not(:placeholder-shown),
html body #startMask input#mp1:not(:placeholder-shown),
html body #startMask input#mp2:not(:placeholder-shown),
html body #startMask input#mp3:not(:placeholder-shown),
html body #startMask input#mp0:not(:placeholder-shown):focus,
html body #startMask input#mp1:not(:placeholder-shown):focus,
html body #startMask input#mp2:not(:placeholder-shown):focus,
html body #startMask input#mp3:not(:placeholder-shown):focus{
  color:#f59e0b !important;
  -webkit-text-fill-color:#f59e0b !important;
  caret-color:#f59e0b !important;
}

/* 录入半庄分数：只要有实际内容，就变基准蓝 */
html body input.score-input:not(:placeholder-shown),
html body #matchView input.score-input:not(:placeholder-shown),
html body .input-card input.score-input:not(:placeholder-shown),
html body input#s0.score-input:not(:placeholder-shown),
html body input#s1.score-input:not(:placeholder-shown),
html body input#s2.score-input:not(:placeholder-shown),
html body input#s3.score-input:not(:placeholder-shown){
  color:#2563eb !important;
  -webkit-text-fill-color:#2563eb !important;
  caret-color:#2563eb !important;
}

/* 修改半庄分数：只要有实际内容，就变基准蓝 */
html body #editMask input.editInput:not(:placeholder-shown),
html body #editMask input#e0:not(:placeholder-shown),
html body #editMask input#e1:not(:placeholder-shown),
html body #editMask input#e2:not(:placeholder-shown),
html body #editMask input#e3:not(:placeholder-shown){
  color:#2563eb !important;
  -webkit-text-fill-color:#2563eb !important;
  caret-color:#2563eb !important;
}

/* placeholder 永远浅灰 */
html body #startMask input#mp0::placeholder,
html body #startMask input#mp1::placeholder,
html body #startMask input#mp2::placeholder,
html body #startMask input#mp3::placeholder,
html body input.score-input::placeholder,
html body input.editInput::placeholder,
html body input.form-input::placeholder,
html body input.uma-input::placeholder{
  color:#94a3b8 !important;
  opacity:1 !important;
  -webkit-text-fill-color:#94a3b8 !important;
}

/* 自动填充兜底 */
html body #startMask input#mp0:-webkit-autofill,
html body #startMask input#mp1:-webkit-autofill,
html body #startMask input#mp2:-webkit-autofill,
html body #startMask input#mp3:-webkit-autofill{
  -webkit-text-fill-color:#f59e0b !important;
  caret-color:#f59e0b !important;
}

html body input.score-input:-webkit-autofill,
html body #editMask input.editInput:-webkit-autofill{
  -webkit-text-fill-color:#2563eb !important;
  caret-color:#2563eb !important;
}

/* INPUT_TEXT_THEME_ONLY_FINAL_V2 END */

/* START_MODAL_PLAYER_THEME_GREEN_RESTORE_V1
   对局雀士主题色恢复为基准绿：
   - 对局雀士标题绿
   - emoji 图标绿
   - 雀士名实际输入文字绿
   - placeholder 保持浅灰
   - 边框/浮起效果继续保持中性卡片风
*/

html body #startMask .modalHead + .modal-section > .modal-label{
  color:#15803d !important;
}

html body #startMask .modalHead + .modal-section > .modal-label::before{
  background:rgba(21,128,61,.12) !important;
  color:#15803d !important;
}

/* 默认光标也用基准绿 */
html body #startMask input#mp0,
html body #startMask input#mp1,
html body #startMask input#mp2,
html body #startMask input#mp3{
  caret-color:#15803d !important;
}

/* 有实际内容时，雀士名文字用基准绿 */
html body #startMask input#mp0:not(:placeholder-shown),
html body #startMask input#mp1:not(:placeholder-shown),
html body #startMask input#mp2:not(:placeholder-shown),
html body #startMask input#mp3:not(:placeholder-shown),
html body #startMask input#mp0:not(:placeholder-shown):focus,
html body #startMask input#mp1:not(:placeholder-shown):focus,
html body #startMask input#mp2:not(:placeholder-shown):focus,
html body #startMask input#mp3:not(:placeholder-shown):focus{
  color:#15803d !important;
  -webkit-text-fill-color:#15803d !important;
  caret-color:#15803d !important;
}

/* placeholder 继续浅灰，不跟随主题色 */
html body #startMask input#mp0::placeholder,
html body #startMask input#mp1::placeholder,
html body #startMask input#mp2::placeholder,
html body #startMask input#mp3::placeholder{
  color:#94a3b8 !important;
  opacity:1 !important;
  -webkit-text-fill-color:#94a3b8 !important;
}

/* 自动填充兜底 */
html body #startMask input#mp0:-webkit-autofill,
html body #startMask input#mp1:-webkit-autofill,
html body #startMask input#mp2:-webkit-autofill,
html body #startMask input#mp3:-webkit-autofill{
  -webkit-text-fill-color:#15803d !important;
  caret-color:#15803d !important;
}

/* START_MODAL_PLAYER_THEME_GREEN_RESTORE_V1 END */

/* AUTH_ACCOUNT_INPUT_FLOAT_NEUTRAL_V1
   登录 / 注册 / 个人中心输入框：
   应用同款中性卡片式输入框逻辑
*/

html body #authMask input,
html body #authMask input.form-input,
html body #accountMask input,
html body #accountMask input.form-input,
html body #userMask input,
html body #userMask input.form-input,
html body #profileMask input,
html body #profileMask input.form-input{
  box-sizing:border-box !important;
  border:0 !important;
  outline:0 !important;
  outline:none !important;
  background:#ffffff !important;
  background-color:#ffffff !important;
  background-image:none !important;
  color:#0f172a !important;
  -webkit-text-fill-color:#0f172a !important;
  caret-color:#64748b !important;
  text-shadow:none !important;
  border-radius:var(--ys-radius-btn, 5px) !important;
  box-shadow:
    inset 0 0 0 1px #e2e8f0,
    0 1px 2px rgba(15,23,42,.04) !important;
  -webkit-box-shadow:
    inset 0 0 0 1px #e2e8f0,
    0 1px 2px rgba(15,23,42,.04) !important;
  transition:
    transform .14s ease,
    box-shadow .14s ease,
    background-color .14s ease !important;
  -webkit-tap-highlight-color:transparent !important;
}

html body #authMask input:focus,
html body #authMask input.form-input:focus,
html body #accountMask input:focus,
html body #accountMask input.form-input:focus,
html body #userMask input:focus,
html body #userMask input.form-input:focus,
html body #profileMask input:focus,
html body #profileMask input.form-input:focus,
html body #authMask input:focus-visible,
html body #accountMask input:focus-visible,
html body #userMask input:focus-visible,
html body #profileMask input:focus-visible{
  border:0 !important;
  outline:0 !important;
  outline:none !important;
  background:#ffffff !important;
  background-color:#ffffff !important;
  color:#0f172a !important;
  -webkit-text-fill-color:#0f172a !important;
  caret-color:#64748b !important;
  transform:translateY(-1px) !important;
  box-shadow:
    inset 0 0 0 1px #cbd5e1,
    0 5px 12px rgba(15,23,42,.08),
    0 1px 2px rgba(15,23,42,.04) !important;
  -webkit-box-shadow:
    inset 0 0 0 1px #cbd5e1,
    0 5px 12px rgba(15,23,42,.08),
    0 1px 2px rgba(15,23,42,.04) !important;
}

html body #authMask input::placeholder,
html body #accountMask input::placeholder,
html body #userMask input::placeholder,
html body #profileMask input::placeholder{
  color:#94a3b8 !important;
  opacity:1 !important;
  -webkit-text-fill-color:#94a3b8 !important;
}

/* 自动填充兜底 */
html body #authMask input:-webkit-autofill,
html body #accountMask input:-webkit-autofill,
html body #userMask input:-webkit-autofill,
html body #profileMask input:-webkit-autofill{
  -webkit-text-fill-color:#0f172a !important;
  caret-color:#64748b !important;
  border:0 !important;
  outline:0 !important;
  box-shadow:
    inset 0 0 0 1px #e2e8f0,
    inset 0 0 0 1000px #ffffff !important;
  -webkit-box-shadow:
    inset 0 0 0 1px #e2e8f0,
    inset 0 0 0 1000px #ffffff !important;
}

/* AUTH_ACCOUNT_INPUT_FLOAT_NEUTRAL_V1 END */

/* AUTH_ACCT_INPUT_FLOAT_NEUTRAL_FIX_V2
   修复登录框 / 注册框 / 个人中心输入框未生效：
   真实个人中心 ID 是 #acctMask，不是 #accountMask。
   样式：白底 + 浅灰边框 + 轻阴影，聚焦轻微浮起。
*/

/* 用户认证弹窗：用户名 / 密码 */
html body #authMask input#authUser,
html body #authMask input#authPass,
html body #authMask input.form-input,

/* 个人中心弹窗：旧密码 / 新密码，真实 ID 是 acctMask */
html body #acctMask input#acctOldPass,
html body #acctMask input#acctNewPass,
html body #acctMask input.form-input{
  box-sizing:border-box !important;
  border:0 !important;
  outline:0 !important;
  outline:none !important;
  background:#ffffff !important;
  background-color:#ffffff !important;
  background-image:none !important;
  color:#0f172a !important;
  -webkit-text-fill-color:#0f172a !important;
  caret-color:#64748b !important;
  text-shadow:none !important;
  border-radius:var(--ys-radius-btn, 5px) !important;
  box-shadow:
    inset 0 0 0 1px #e2e8f0,
    0 1px 2px rgba(15,23,42,.04) !important;
  -webkit-box-shadow:
    inset 0 0 0 1px #e2e8f0,
    0 1px 2px rgba(15,23,42,.04) !important;
  transition:
    transform .14s ease,
    box-shadow .14s ease,
    background-color .14s ease !important;
  -webkit-tap-highlight-color:transparent !important;
}

/* 聚焦：整框轻微浮起 */
html body #authMask input#authUser:focus,
html body #authMask input#authPass:focus,
html body #authMask input.form-input:focus,
html body #authMask input#authUser:focus-visible,
html body #authMask input#authPass:focus-visible,
html body #authMask input.form-input:focus-visible,

html body #acctMask input#acctOldPass:focus,
html body #acctMask input#acctNewPass:focus,
html body #acctMask input.form-input:focus,
html body #acctMask input#acctOldPass:focus-visible,
html body #acctMask input#acctNewPass:focus-visible,
html body #acctMask input.form-input:focus-visible{
  border:0 !important;
  outline:0 !important;
  outline:none !important;
  background:#ffffff !important;
  background-color:#ffffff !important;
  color:#0f172a !important;
  -webkit-text-fill-color:#0f172a !important;
  caret-color:#64748b !important;
  transform:translateY(-1px) !important;
  box-shadow:
    inset 0 0 0 1px #cbd5e1,
    0 5px 12px rgba(15,23,42,.08),
    0 1px 2px rgba(15,23,42,.04) !important;
  -webkit-box-shadow:
    inset 0 0 0 1px #cbd5e1,
    0 5px 12px rgba(15,23,42,.08),
    0 1px 2px rgba(15,23,42,.04) !important;
}

/* placeholder 继续浅灰 */
html body #authMask input::placeholder,
html body #acctMask input::placeholder{
  color:#94a3b8 !important;
  opacity:1 !important;
  -webkit-text-fill-color:#94a3b8 !important;
}

/* 自动填充兜底 */
html body #authMask input:-webkit-autofill,
html body #acctMask input:-webkit-autofill{
  -webkit-text-fill-color:#0f172a !important;
  caret-color:#64748b !important;
  border:0 !important;
  outline:0 !important;
  box-shadow:
    inset 0 0 0 1px #e2e8f0,
    inset 0 0 0 1000px #ffffff !important;
  -webkit-box-shadow:
    inset 0 0 0 1px #e2e8f0,
    inset 0 0 0 1000px #ffffff !important;
}

/* AUTH_ACCT_INPUT_FLOAT_NEUTRAL_FIX_V2 END */

/* START_MODAL_PLAYER_BASE_GREEN_SYNC_V1
   对局雀士主题色统一为基准绿 #16a34a：
   与正 PT、素点+顺位点同款绿色
*/

html body #startMask .modalHead + .modal-section > .modal-label{
  color:#16a34a !important;
}

html body #startMask .modalHead + .modal-section > .modal-label::before{
  background:rgba(22,163,74,.12) !important;
  color:#16a34a !important;
}

/* 雀士名输入框：实际输入文字、光标统一基准绿 */
html body #startMask input#mp0,
html body #startMask input#mp1,
html body #startMask input#mp2,
html body #startMask input#mp3{
  caret-color:#16a34a !important;
}

html body #startMask input#mp0:not(:placeholder-shown),
html body #startMask input#mp1:not(:placeholder-shown),
html body #startMask input#mp2:not(:placeholder-shown),
html body #startMask input#mp3:not(:placeholder-shown),
html body #startMask input#mp0:not(:placeholder-shown):focus,
html body #startMask input#mp1:not(:placeholder-shown):focus,
html body #startMask input#mp2:not(:placeholder-shown):focus,
html body #startMask input#mp3:not(:placeholder-shown):focus{
  color:#16a34a !important;
  -webkit-text-fill-color:#16a34a !important;
  caret-color:#16a34a !important;
}

/* 自动填充兜底 */
html body #startMask input#mp0:-webkit-autofill,
html body #startMask input#mp1:-webkit-autofill,
html body #startMask input#mp2:-webkit-autofill,
html body #startMask input#mp3:-webkit-autofill{
  -webkit-text-fill-color:#16a34a !important;
  caret-color:#16a34a !important;
}

/* placeholder 继续浅灰 */
html body #startMask input#mp0::placeholder,
html body #startMask input#mp1::placeholder,
html body #startMask input#mp2::placeholder,
html body #startMask input#mp3::placeholder{
  color:#94a3b8 !important;
  opacity:1 !important;
  -webkit-text-fill-color:#94a3b8 !important;
}

/* START_MODAL_PLAYER_BASE_GREEN_SYNC_V1 END */

/* QR_SHARE_MODAL_POLISH_V1
   分享二维码弹窗统一设计：
   - 方正微圆角
   - 首页卡片式浅边框 + 轻阴影
   - 二维码白底卡片
   - 说明文字卡片化
   - 安卓友好的底部升起动画
*/

/* 首页标题旁二维码按钮 */
html body #majQrBtn{
  width:1.08em !important;
  height:1.08em !important;
  margin-left:.72em !important;
  opacity:.72 !important;
  color:#0f172a !important;
  border-radius:var(--ys-radius-btn, 5px) !important;
  transition:
    opacity .14s ease,
    transform .14s ease,
    background-color .14s ease !important;
}

html body #majQrBtn:hover{
  opacity:1 !important;
  background:rgba(15,23,42,.045) !important;
}

html body #majQrBtn:active{
  transform:translateY(1px) !important;
  background:rgba(15,23,42,.07) !important;
}

/* 遮罩：沿用现有模糊，但更克制 */
html body #majQrMask,
html body #shareQrMask{
  background:rgba(15,23,42,.26) !important;
  backdrop-filter:blur(10px) saturate(128%) !important;
  -webkit-backdrop-filter:blur(10px) saturate(128%) !important;
}

/* 主弹窗 */
html body #majQrDialog,
html body #shareQrMask > .mmModal{
  width:min(92vw, 360px) !important;
  max-width:360px !important;
  padding:15px !important;
  border-radius:var(--ys-radius-card, 6px) !important;
  background:#ffffff !important;
  border:1px solid #e2e8f0 !important;
  box-shadow:
    0 14px 34px rgba(15,23,42,.14),
    0 2px 8px rgba(15,23,42,.06) !important;
  backdrop-filter:none !important;
  -webkit-backdrop-filter:none !important;
  box-sizing:border-box !important;
  overflow:hidden !important;
}

/* 弹出动画 */
html body #majQrMask.show #majQrDialog,
html body #shareQrMask.show > .mmModal{
  animation:qrShareModalUpV1 .34s cubic-bezier(.2,.8,.2,1) both !important;
  transform-origin:center bottom !important;
  will-change:transform, opacity;
}

@keyframes qrShareModalUpV1{
  from{
    opacity:0;
    transform:translate3d(0, 46px, 0);
  }
  to{
    opacity:1;
    transform:translate3d(0, 0, 0);
  }
}

/* 给 majQr 版本补一个轻标题，不改 HTML */
html body #majQrDialog::before{
  content:"分享本站二维码";
  display:block;
  margin:-15px -15px 13px !important;
  padding:13px 15px 11px !important;
  border-bottom:1px solid #e5edf7 !important;
  background:#f8fafc !important;
  color:#0f172a !important;
  font-size:15px !important;
  line-height:1.25 !important;
  font-weight:900 !important;
  letter-spacing:.01em !important;
  text-align:left !important;
}

/* shareQr 版本已有 modalHead，统一它 */
html body #shareQrMask .modalHead{
  margin:-15px -15px 13px !important;
  padding:13px 15px 11px !important;
  border-bottom:1px solid #e5edf7 !important;
  background:#f8fafc !important;
  border-radius:var(--ys-radius-card, 6px) var(--ys-radius-card, 6px) 0 0 !important;
}

html body #shareQrMask .modalTitle{
  color:#0f172a !important;
  font-size:15px !important;
  line-height:1.25 !important;
  font-weight:900 !important;
  letter-spacing:.01em !important;
}

/* 二维码外框：卡片化 */
html body #majQrBox,
html body #shareQrMask .qrShareImageWrap{
  width:224px !important;
  height:224px !important;
  margin:0 auto 12px !important;
  padding:10px !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  background:#ffffff !important;
  border:1px solid #e2e8f0 !important;
  border-radius:var(--ys-radius-card, 6px) !important;
  box-shadow:
    0 6px 16px rgba(15,23,42,.045),
    0 1px 3px rgba(15,23,42,.045) !important;
  box-sizing:border-box !important;
}

/* 二维码本体 */
html body #majQrBox canvas,
html body #majQrBox img,
html body #shareQrMask .qrShareImage{
  width:204px !important;
  height:204px !important;
  max-width:204px !important;
  max-height:204px !important;
  border-radius:var(--ys-radius-btn, 5px) !important;
  display:block !important;
}

/* 隐藏 QRCode 库可能生成的多余 img/table */
html body #majQrBox img:not(:only-child),
html body #majQrBox table{
  display:none !important;
}

/* URL 行 */
html body #shareQrMask .qrShareUrl{
  margin:0 0 10px !important;
  padding:8px 10px !important;
  border-radius:var(--ys-radius-card, 6px) !important;
  border:1px solid #e2e8f0 !important;
  background:#ffffff !important;
  color:#2563eb !important;
  font-size:12px !important;
  line-height:1.35 !important;
  font-weight:800 !important;
  letter-spacing:.01em !important;
  text-align:center !important;
  box-shadow:
    0 3px 8px rgba(15,23,42,.035),
    0 1px 2px rgba(15,23,42,.035) !important;
}

/* 说明卡片 */
html body #majQrNote,
html body #shareQrMask .qrShareNote{
  margin:0 !important;
  padding:11px 12px !important;
  border-radius:var(--ys-radius-card, 6px) !important;
  border:1px solid #e2e8f0 !important;
  background:#ffffff !important;
  color:#475569 !important;
  font-size:12px !important;
  line-height:1.72 !important;
  font-weight:700 !important;
  letter-spacing:.01em !important;
  text-align:left !important;
  box-shadow:
    0 3px 8px rgba(15,23,42,.035),
    0 1px 2px rgba(15,23,42,.035) !important;
}

/* 操作按钮区，如果 shareQr 版本存在 */
html body #shareQrMask .qrShareActions{
  display:flex !important;
  gap:8px !important;
  margin-top:12px !important;
}

html body #shareQrMask .qrShareActions .actionBtn{
  flex:1 1 0 !important;
  border-radius:var(--ys-radius-btn, 5px) !important;
  box-shadow:
    0 3px 8px rgba(15,23,42,.045),
    0 1px 2px rgba(15,23,42,.035) !important;
}

/* 减少动态偏好 */
@media (prefers-reduced-motion: reduce){
  html body #majQrMask.show #majQrDialog,
  html body #shareQrMask.show > .mmModal{
    animation:none !important;
  }
}

/* QR_SHARE_MODAL_POLISH_V1 END */

/* TITLE_BAR_REAL_CODE_POLISH_V1
   精准适配真实代码：
   - 首页历史对局标题栏：真实 HTML 加 emoji，不再用 CSS 假替换
   - 半庄标题栏：真实 JS 模板加 emoji，不再用 CSS 假替换
   - 去掉这两个标题栏左侧旧蓝色方块
   - 标题栏使用开始对局弹窗同款浅灰背景
*/

/* 只禁用这两个标题栏的旧蓝色方块，不影响其他 sectionHead / round-head */
html body #homeView .sectionHead.historyHead::before,
html body #matchView .round-card .round-head.roundTitleHead::before{
  content:none !important;
  display:none !important;
}

/* 首页历史对局标题栏 */
html body #homeView .sectionHead.historyHead{
  margin:-12px -12px 12px !important;
  padding:11px 12px 10px !important;
  background:#f8fafc !important;
  border-bottom:1px solid #e5edf7 !important;
  border-radius:var(--ys-radius-card, 6px) var(--ys-radius-card, 6px) 0 0 !important;
  box-sizing:border-box !important;
}

html body #homeView #historyTitle.historyTitle{
  display:flex !important;
  align-items:center !important;
  gap:7px !important;
  margin:0 !important;
  color:#0f172a !important;
  font-size:15px !important;
  font-weight:900 !important;
  line-height:1.25 !important;
  letter-spacing:.01em !important;
}

html body #homeView #historyTitle .titleEmoji{
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  width:22px !important;
  height:22px !important;
  min-width:22px !important;
  border-radius:var(--ys-radius-btn, 5px) !important;
  background:rgba(37,99,235,.10) !important;
  color:#2563eb !important;
  font-size:14px !important;
  line-height:1 !important;
}

html body #homeView #historyTitle .titleText{
  display:inline-block !important;
  min-width:0 !important;
}

/* 半庄详情标题栏 */
html body #matchView .round-card .round-head.roundTitleHead{
  margin:-12px -12px 10px !important;
  padding:10px 12px !important;
  background:#f8fafc !important;
  border-bottom:1px solid #e5edf7 !important;
  border-radius:var(--ys-radius-card, 6px) var(--ys-radius-card, 6px) 0 0 !important;
  box-sizing:border-box !important;
}

html body #matchView .round-card .round-head.roundTitleHead .roundLabel{
  display:inline-flex !important;
  align-items:center !important;
  gap:7px !important;
  color:#0f172a !important;
  font-size:14px !important;
  font-weight:900 !important;
  line-height:1.25 !important;
  letter-spacing:.01em !important;
}

html body #matchView .round-card .round-head.roundTitleHead .titleEmoji{
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  width:22px !important;
  height:22px !important;
  min-width:22px !important;
  border-radius:var(--ys-radius-btn, 5px) !important;
  background:rgba(220,38,38,.10) !important;
  color:#dc2626 !important;
  font-size:14px !important;
  line-height:1 !important;
}

html body #matchView .round-card .round-head.roundTitleHead .ops{
  display:flex !important;
  align-items:center !important;
  gap:6px !important;
}

/* TITLE_BAR_REAL_CODE_POLISH_V1 END */

/* TITLE_BAR_REAL_FIX_V2
   精准修复：
   - 历史对局真实 emoji：🕘
   - 半庄标题真实 emoji：🚩
   - 禁用旧蓝色方块
   - 修复半庄标题栏负 margin 导致的上浮
   - 修复修改/删除按钮越界
*/

/* 禁用这两个标题栏旧蓝色方块 */
html body #homeView .sectionHead.historyHead::before,
html body #matchView .round-card .round-head.roundTitleHead::before{
  content:none !important;
  display:none !important;
}

/* 历史对局标题栏 */
html body #homeView .sectionHead.historyHead{
  display:flex !important;
  align-items:center !important;
  justify-content:flex-start !important;
  gap:10px !important;
  margin:0 0 12px 0 !important;
  padding:11px 12px 10px !important;
  background:#f8fafc !important;
  border-bottom:1px solid #e5edf7 !important;
  border-radius:var(--ys-radius-card, 6px) var(--ys-radius-card, 6px) 0 0 !important;
  box-sizing:border-box !important;
  position:relative !important;
  width:100% !important;
}

html body #homeView #historyTitle.historyTitle{
  display:flex !important;
  align-items:center !important;
  justify-content:flex-start !important;
  gap:7px !important;
  margin:0 !important;
  min-width:0 !important;
  color:#0f172a !important;
  font-size:15px !important;
  line-height:1.25 !important;
  font-weight:900 !important;
  letter-spacing:.01em !important;
  white-space:nowrap !important;
}

html body #homeView #historyTitle .titleEmoji{
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  width:22px !important;
  height:22px !important;
  min-width:22px !important;
  border-radius:var(--ys-radius-btn, 5px) !important;
  background:rgba(37,99,235,.10) !important;
  color:#2563eb !important;
  font-size:14px !important;
  line-height:1 !important;
}

html body #homeView #historyTitle .titleText{
  display:inline-block !important;
  min-width:0 !important;
}

/* 半庄标题栏：不要负 margin，避免整体上浮和按钮越界 */
html body #matchView .round-card .round-head.roundTitleHead{
  display:flex !important;
  align-items:center !important;
  justify-content:space-between !important;
  gap:8px !important;
  width:100% !important;
  margin:0 !important;
  padding:10px 12px !important;
  background:#f8fafc !important;
  border-bottom:1px solid #e5edf7 !important;
  border-radius:var(--ys-radius-card, 6px) var(--ys-radius-card, 6px) 0 0 !important;
  box-sizing:border-box !important;
  position:relative !important;
  overflow:hidden !important;
}

html body #matchView .round-card .round-head.roundTitleHead .roundLabel{
  display:inline-flex !important;
  align-items:center !important;
  gap:7px !important;
  flex:1 1 auto !important;
  min-width:0 !important;
  text-align:left !important;
  color:#0f172a !important;
  font-size:14px !important;
  line-height:1.25 !important;
  font-weight:900 !important;
  letter-spacing:.01em !important;
  white-space:nowrap !important;
  overflow:hidden !important;
  text-overflow:ellipsis !important;
}

html body #matchView .round-card .round-head.roundTitleHead .titleEmoji{
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  width:22px !important;
  height:22px !important;
  min-width:22px !important;
  border-radius:var(--ys-radius-btn, 5px) !important;
  background:rgba(220,38,38,.10) !important;
  color:#dc2626 !important;
  font-size:14px !important;
  line-height:1 !important;
}

html body #matchView .round-card .round-head.roundTitleHead .titleText{
  display:inline-block !important;
  min-width:0 !important;
  overflow:hidden !important;
  text-overflow:ellipsis !important;
}

/* 按钮区固定在右侧，防止超出卡片 */
html body #matchView .round-card .round-head.roundTitleHead .ops{
  display:flex !important;
  align-items:center !important;
  justify-content:flex-end !important;
  gap:6px !important;
  flex:0 0 auto !important;
  margin-left:8px !important;
  max-width:45% !important;
  box-sizing:border-box !important;
}

html body #matchView .round-card .round-head.roundTitleHead .ops .miniActionBtn{
  height:28px !important;
  min-height:28px !important;
  padding:0 9px !important;
  border-radius:var(--ys-radius-btn, 5px) !important;
  font-size:12px !important;
  line-height:28px !important;
  white-space:nowrap !important;
  box-sizing:border-box !important;
}

/* 小屏幕压缩按钮，避免越界 */
@media (max-width:390px){
  html body #matchView .round-card .round-head.roundTitleHead{
    padding:9px 10px !important;
    gap:6px !important;
  }

  html body #matchView .round-card .round-head.roundTitleHead .ops{
    gap:5px !important;
    margin-left:6px !important;
  }

  html body #matchView .round-card .round-head.roundTitleHead .ops .miniActionBtn{
    padding:0 7px !important;
    font-size:11px !important;
  }
}

/* TITLE_BAR_REAL_FIX_V2 END */

/* TITLE_BAR_LAYOUT_TUNE_V3
   修复：
   - 半庄标题栏高度过高，收窄
   - 首页历史对局标题栏未横向拉满
   - 聚合统计按钮漂移
*/

/* ========== 1. 首页历史对局标题栏横向拉满 ========== */

html body #homeView .sectionCard .sectionHead.historyHead{
  display:flex !important;
  align-items:center !important;
  justify-content:space-between !important;
  width:auto !important;
  min-width:0 !important;
  margin:0 0 12px 0 !important;
  padding:10px 12px !important;
  background:#f8fafc !important;
  border-bottom:1px solid #e5edf7 !important;
  border-radius:var(--ys-radius-card, 6px) var(--ys-radius-card, 6px) 0 0 !important;
  box-sizing:border-box !important;
}

/* 如果 sectionCard 有内边距，标题栏需要撑到卡片左右边缘 */
html body #homeView .sectionCard > .sectionHead.historyHead{
  margin-left:-12px !important;
  margin-right:-12px !important;
  margin-top:-12px !important;
  width:calc(100% + 24px) !important;
}

/* 历史标题占左侧，按钮稳定靠右 */
html body #homeView #historyTitle.historyTitle{
  display:flex !important;
  align-items:center !important;
  justify-content:flex-start !important;
  gap:7px !important;
  flex:1 1 auto !important;
  min-width:0 !important;
  margin:0 !important;
  color:#0f172a !important;
  white-space:nowrap !important;
}

/* 聚合统计按钮固定右侧，不跟标题挤在一起 */
html body #homeView .sectionHead.historyHead .sectionActions,
html body #homeView .sectionHead.historyHead .historyActions,
html body #homeView .sectionHead.historyHead .aggregateActions,
html body #homeView .sectionHead.historyHead #aggregateBtn,
html body #homeView .sectionHead.historyHead #aggBtn,
html body #homeView .sectionHead.historyHead button{
  flex:0 0 auto !important;
}

/* 如果聚合统计按钮在标题栏内，确保它右对齐 */
html body #homeView .sectionHead.historyHead > button,
html body #homeView .sectionHead.historyHead > .miniActionBtn,
html body #homeView .sectionHead.historyHead > .actionBtn{
  margin-left:auto !important;
}


/* ========== 2. 半庄标题栏收窄 ========== */

html body #matchView .round-card .round-head.roundTitleHead{
  min-height:0 !important;
  height:auto !important;
  padding:7px 10px !important;
  margin:0 !important;
  gap:8px !important;
  align-items:center !important;
  background:#f8fafc !important;
  border-bottom:1px solid #e5edf7 !important;
  box-sizing:border-box !important;
}

/* 半庄标题文字收窄 */
html body #matchView .round-card .round-head.roundTitleHead .roundLabel{
  min-height:24px !important;
  line-height:24px !important;
  font-size:13px !important;
  gap:6px !important;
}

/* 红旗图标同步缩小 */
html body #matchView .round-card .round-head.roundTitleHead .titleEmoji{
  width:20px !important;
  height:20px !important;
  min-width:20px !important;
  font-size:13px !important;
  border-radius:var(--ys-radius-btn, 5px) !important;
}

/* 修改/删除按钮同步收窄，避免顶出边界 */
html body #matchView .round-card .round-head.roundTitleHead .ops{
  display:flex !important;
  align-items:center !important;
  justify-content:flex-end !important;
  gap:5px !important;
  flex:0 0 auto !important;
  margin-left:6px !important;
  max-width:48% !important;
}

html body #matchView .round-card .round-head.roundTitleHead .ops .miniActionBtn{
  height:25px !important;
  min-height:25px !important;
  line-height:25px !important;
  padding:0 8px !important;
  font-size:11px !important;
  border-radius:var(--ys-radius-btn, 5px) !important;
}

/* 小屏再收一点 */
@media (max-width:390px){
  html body #matchView .round-card .round-head.roundTitleHead{
    padding:6px 9px !important;
  }

  html body #matchView .round-card .round-head.roundTitleHead .roundLabel{
    font-size:12px !important;
    gap:5px !important;
  }

  html body #matchView .round-card .round-head.roundTitleHead .titleEmoji{
    width:19px !important;
    height:19px !important;
    min-width:19px !important;
    font-size:12px !important;
  }

  html body #matchView .round-card .round-head.roundTitleHead .ops .miniActionBtn{
    height:24px !important;
    min-height:24px !important;
    line-height:24px !important;
    padding:0 7px !important;
    font-size:11px !important;
  }
}

/* TITLE_BAR_LAYOUT_TUNE_V3 END */

/* MATCH_VIEW_CARD_HEADER_POLISH_V1
   录入半庄界面卡片标题栏统一：
   - 当前规则
   - 累计 PT
   - 录入一局半庄
   - 半庄详情卡片
   标题栏横向拉满，浅灰背景，方正微圆角，轻阴影卡片风格。
*/

/* ========== 1. 录入半庄界面几个主卡片统一卡片质感 ========== */

html body #matchView > .headerCard,
html body #matchView #summaryBox.total-pt-box,
html body #matchView .input-card,
html body #matchView .round-card{
  background:#ffffff !important;
  border:1px solid #e2e8f0 !important;
  border-radius:var(--ys-radius-card, 6px) !important;
  box-shadow:
    0 6px 16px rgba(15,23,42,.045),
    0 1px 3px rgba(15,23,42,.045) !important;
  overflow:hidden !important;
  box-sizing:border-box !important;
}

/* 让卡片内的横向标题栏能够顶到边缘 */
html body #matchView > .headerCard,
html body #matchView #summaryBox.total-pt-box,
html body #matchView .input-card{
  padding:12px !important;
}


/* ========== 2. 当前规则卡片标题栏横向拉满 ========== */

html body #matchView > .headerCard > .info-row{
  display:flex !important;
  align-items:center !important;
  justify-content:space-between !important;
  gap:10px !important;
  margin:-12px -12px 10px !important;
  padding:9px 12px !important;
  width:calc(100% + 24px) !important;
  background:#f8fafc !important;
  border-bottom:1px solid #e5edf7 !important;
  border-radius:var(--ys-radius-card, 6px) var(--ys-radius-card, 6px) 0 0 !important;
  box-sizing:border-box !important;
}

html body #matchView > .headerCard .rule-current-title{
  display:flex !important;
  align-items:center !important;
  min-width:0 !important;
  color:#0f172a !important;
  font-size:14px !important;
  line-height:1.25 !important;
  font-weight:900 !important;
  letter-spacing:.01em !important;
  white-space:nowrap !important;
}

html body #matchView > .headerCard .topRuleActions{
  display:flex !important;
  align-items:center !important;
  justify-content:flex-end !important;
  gap:6px !important;
  flex:0 0 auto !important;
  margin-left:auto !important;
}

html body #matchView > .headerCard .topRuleActions .miniActionBtn{
  height:27px !important;
  min-height:27px !important;
  line-height:27px !important;
  padding:0 9px !important;
  font-size:11px !important;
  border-radius:var(--ys-radius-btn, 5px) !important;
  white-space:nowrap !important;
}

/* 当前规则 meta 文字收敛 */
html body #matchView #matchMeta{
  margin:0 !important;
  padding:0 1px !important;
  color:#64748b !important;
  font-size:11px !important;
  font-weight:700 !important;
  line-height:1.55 !important;
}


/* ========== 3. 累计 PT 卡片标题栏横向拉满 ========== */

html body #matchView #summaryBox.total-pt-box .pt-header{
  display:flex !important;
  align-items:center !important;
  justify-content:space-between !important;
  gap:10px !important;
  margin:-12px -12px 10px !important;
  padding:9px 12px !important;
  width:calc(100% + 24px) !important;
  background:#f8fafc !important;
  border-bottom:1px solid #e5edf7 !important;
  border-radius:var(--ys-radius-card, 6px) var(--ys-radius-card, 6px) 0 0 !important;
  box-sizing:border-box !important;
}

html body #matchView #summaryBox.total-pt-box .pt-header .sectionTitle{
  display:flex !important;
  align-items:center !important;
  min-width:0 !important;
  margin:0 !important;
  color:#0f172a !important;
  font-size:14px !important;
  line-height:1.25 !important;
  font-weight:900 !important;
  letter-spacing:.01em !important;
}

html body #matchView #summaryBox.total-pt-box .share-btn{
  flex:0 0 auto !important;
  height:27px !important;
  min-height:27px !important;
  line-height:27px !important;
  padding:0 9px !important;
  border-radius:var(--ys-radius-btn, 5px) !important;
  font-size:11px !important;
  font-weight:900 !important;
  white-space:nowrap !important;
}


/* ========== 4. 录入一局半庄卡片标题栏横向拉满 ========== */

html body #matchView .input-card .check-bar{
  display:flex !important;
  align-items:center !important;
  justify-content:space-between !important;
  gap:10px !important;
  margin:-12px -12px 10px !important;
  padding:9px 12px !important;
  width:calc(100% + 24px) !important;
  background:#f8fafc !important;
  border-bottom:1px solid #e5edf7 !important;
  border-radius:var(--ys-radius-card, 6px) var(--ys-radius-card, 6px) 0 0 !important;
  box-sizing:border-box !important;
}

html body #matchView .input-card #addTitle{
  display:flex !important;
  align-items:center !important;
  min-width:0 !important;
  margin:0 !important;
  color:#0f172a !important;
  font-size:14px !important;
  line-height:1.25 !important;
  font-weight:900 !important;
  letter-spacing:.01em !important;
  white-space:nowrap !important;
}

html body #matchView .input-card #addHint{
  flex:0 0 auto !important;
  margin-left:auto !important;
  font-size:11px !important;
  font-weight:900 !important;
  line-height:1.25 !important;
  white-space:nowrap !important;
}


/* ========== 5. 半庄详情标题栏保持你刚确认的紧凑横向拉满风格 ========== */

html body #matchView .round-card .round-head.roundTitleHead{
  display:flex !important;
  align-items:center !important;
  justify-content:space-between !important;
  gap:8px !important;
  width:100% !important;
  margin:0 !important;
  padding:7px 10px !important;
  background:#f8fafc !important;
  border-bottom:1px solid #e5edf7 !important;
  border-radius:var(--ys-radius-card, 6px) var(--ys-radius-card, 6px) 0 0 !important;
  box-sizing:border-box !important;
  overflow:hidden !important;
}

html body #matchView .round-card .round-head.roundTitleHead .roundLabel{
  display:inline-flex !important;
  align-items:center !important;
  gap:6px !important;
  flex:1 1 auto !important;
  min-width:0 !important;
  line-height:24px !important;
  color:#0f172a !important;
  font-size:13px !important;
  font-weight:900 !important;
  letter-spacing:.01em !important;
  white-space:nowrap !important;
  overflow:hidden !important;
  text-overflow:ellipsis !important;
}

html body #matchView .round-card .round-head.roundTitleHead .titleEmoji{
  width:20px !important;
  height:20px !important;
  min-width:20px !important;
  font-size:13px !important;
}

html body #matchView .round-card .round-head.roundTitleHead .ops{
  display:flex !important;
  align-items:center !important;
  justify-content:flex-end !important;
  gap:5px !important;
  flex:0 0 auto !important;
  margin-left:6px !important;
  max-width:48% !important;
}

html body #matchView .round-card .round-head.roundTitleHead .ops .miniActionBtn{
  height:25px !important;
  min-height:25px !important;
  line-height:25px !important;
  padding:0 8px !important;
  font-size:11px !important;
  border-radius:var(--ys-radius-btn, 5px) !important;
  white-space:nowrap !important;
  box-sizing:border-box !important;
}


/* ========== 6. 内容区间距微调 ========== */

html body #matchView .input-card .score-grid{
  margin-top:0 !important;
}

html body #matchView #liveSummary{
  margin-top:0 !important;
}

html body #matchView .round-card .round-table{
  margin:0 !important;
}


/* ========== 7. 小屏适配 ========== */

@media (max-width:390px){
  html body #matchView > .headerCard > .info-row,
  html body #matchView #summaryBox.total-pt-box .pt-header,
  html body #matchView .input-card .check-bar{
    padding:8px 10px !important;
    gap:6px !important;
  }

  html body #matchView > .headerCard .topRuleActions .miniActionBtn,
  html body #matchView #summaryBox.total-pt-box .share-btn{
    height:25px !important;
    min-height:25px !important;
    line-height:25px !important;
    padding:0 7px !important;
    font-size:10.5px !important;
  }

  html body #matchView .input-card #addHint{
    font-size:10.5px !important;
  }

  html body #matchView .round-card .round-head.roundTitleHead{
    padding:6px 9px !important;
  }
}

/* MATCH_VIEW_CARD_HEADER_POLISH_V1 END */







/* START_MODAL_MODE_TEXT_FINAL_V3
   开始对局弹窗：算法名称字号与雀士名输入框一致
   精准命中真实结构：
   #blockSimple/#blockMLeague/#blockQue > .mode-line > label.mode-left > span
*/

html body #startMask #blockSimple .mode-line > label.mode-left,
html body #startMask #blockMLeague .mode-line > label.mode-left,
html body #startMask #blockQue .mode-line > label.mode-left{
  display:flex !important;
  align-items:center !important;
  gap:7px !important;
  min-width:0 !important;
  white-space:nowrap !important;
  font-size:14px !important;
  line-height:1.25 !important;
  font-weight:900 !important;
}

html body #startMask #blockSimple .mode-line > label.mode-left > span,
html body #startMask #blockMLeague .mode-line > label.mode-left > span,
html body #startMask #blockQue .mode-line > label.mode-left > span{
  display:inline-block !important;
  font-size:14px !important;
  line-height:1.25 !important;
  font-weight:900 !important;
  letter-spacing:.01em !important;
  transform:none !important;
  zoom:1 !important;
}

/* 保持三个算法默认颜色 */
html body #startMask #blockSimple .mode-line > label.mode-left,
html body #startMask #blockSimple .mode-line > label.mode-left > span{
  color:#2563eb !important;
}

html body #startMask #blockMLeague .mode-line > label.mode-left,
html body #startMask #blockMLeague .mode-line > label.mode-left > span{
  color:#dc2626 !important;
}

html body #startMask #blockQue .mode-line > label.mode-left,
html body #startMask #blockQue .mode-line > label.mode-left > span{
  color:#16a34a !important;
}

/* radio 不跟着变大 */
html body #startMask #blockSimple .mode-line > label.mode-left > input[type="radio"],
html body #startMask #blockMLeague .mode-line > label.mode-left > input[type="radio"],
html body #startMask #blockQue .mode-line > label.mode-left > input[type="radio"],
html body #startMask #modeRadioSimple,
html body #startMask #modeRadioMLeague,
html body #startMask #modeRadioQue{
  width:15px !important;
  height:15px !important;
  min-width:15px !important;
  min-height:15px !important;
  flex:0 0 15px !important;
}

/* START_MODAL_MODE_TEXT_FINAL_V3 END */

/* START_MODAL_MODE_NAME_INLINE_SUPPORT_V1
   算法名称字号已写入真实 HTML，这里只做布局兜底
*/
html body #startMask .modeNameText{
  display:inline-block !important;
  font-size:14px !important;
  line-height:1.25 !important;
  font-weight:900 !important;
  letter-spacing:.01em !important;
  transform:none !important;
  zoom:1 !important;
}

html body #startMask #blockSimple .modeNameText{
  color:#2563eb !important;
}

html body #startMask #blockMLeague .modeNameText{
  color:#dc2626 !important;
}

html body #startMask #blockQue .modeNameText{
  color:#16a34a !important;
}
/* START_MODAL_MODE_NAME_INLINE_SUPPORT_V1 END */

/* BATTLE_CARD_TITLE_BAR_POLISH_V1
   战绩中心卡片标题栏统一：
   - 浅灰标题栏
   - 横向拉满
   - 方正微圆角
   - emoji 真实写入 HTML/JS
*/

/* 战绩中心主卡片统一浅卡片逻辑 */
html body .battle-page .sectionCard,
html body #content .sectionCard,
html body #content .toolPanel,
html body #content .filterWrap,
html body #content .metricCard,
html body #content .rankBarsCard,
html body #content .trendMiniCard{
  background:#ffffff !important;
  border:1px solid #e2e8f0 !important;
  border-radius:var(--ys-radius-card, 6px) !important;
  box-shadow:
    0 6px 16px rgba(15,23,42,.045),
    0 1px 3px rgba(15,23,42,.045) !important;
  box-sizing:border-box !important;
}

/* sectionCard 需要允许标题栏横向拉满 */
html body #content .sectionCard{
  overflow:hidden !important;
  padding:12px !important;
}

/* 统计总览 / 对局列表标题栏 */
html body #content .sectionCard > .sectionHead.battleCardHead{
  display:flex !important;
  align-items:center !important;
  justify-content:space-between !important;
  width:calc(100% + 24px) !important;
  margin:-12px -12px 12px !important;
  padding:10px 12px !important;
  background:#f8fafc !important;
  border-bottom:1px solid #e5edf7 !important;
  border-radius:var(--ys-radius-card, 6px) var(--ys-radius-card, 6px) 0 0 !important;
  box-sizing:border-box !important;
}

/* 禁用旧蓝色方块 */
html body #content .sectionCard > .sectionHead.battleCardHead::before{
  content:none !important;
  display:none !important;
}

/* 标题通用 */
html body #content .battleSectionTitle,
html body #content .battleToolTitle,
html body #content .battleFilterTitle,
html body #content .battleInnerTitle{
  display:flex !important;
  align-items:center !important;
  justify-content:flex-start !important;
  gap:7px !important;
  min-width:0 !important;
  margin:0 !important;
  color:#0f172a !important;
  font-size:14px !important;
  line-height:1.25 !important;
  font-weight:900 !important;
  letter-spacing:.01em !important;
  white-space:nowrap !important;
}

/* emoji 小卡片 */
html body #content .titleEmoji{
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  width:22px !important;
  height:22px !important;
  min-width:22px !important;
  border-radius:var(--ys-radius-btn, 5px) !important;
  background:rgba(37,99,235,.10) !important;
  color:#2563eb !important;
  font-size:14px !important;
  line-height:1 !important;
}

html body #content .titleText{
  display:inline-block !important;
  min-width:0 !important;
  overflow:hidden !important;
  text-overflow:ellipsis !important;
}

/* toolPanel 标题栏横向拉满 */
html body #content .toolPanel{
  overflow:hidden !important;
  padding:12px !important;
}

html body #content .toolPanel > .toolPanelHead{
  display:flex !important;
  align-items:center !important;
  justify-content:space-between !important;
  gap:10px !important;
  width:calc(100% + 24px) !important;
  margin:-12px -12px 12px !important;
  padding:10px 12px !important;
  background:#f8fafc !important;
  border-bottom:1px solid #e5edf7 !important;
  border-radius:var(--ys-radius-card, 6px) var(--ys-radius-card, 6px) 0 0 !important;
  box-sizing:border-box !important;
}

html body #content .toolPanelHint{
  flex:0 0 auto !important;
  margin-left:auto !important;
  color:#64748b !important;
  font-size:11px !important;
  font-weight:800 !important;
  white-space:nowrap !important;
}

/* 筛选标题栏横向拉满 */
html body #content .filterWrap{
  overflow:hidden !important;
  padding:12px !important;
}

html body #content .filterWrap > .battleFilterTitle{
  width:calc(100% + 24px) !important;
  margin:-12px -12px 12px !important;
  padding:10px 12px !important;
  background:#f8fafc !important;
  border-bottom:1px solid #e5edf7 !important;
  border-radius:var(--ys-radius-card, 6px) var(--ys-radius-card, 6px) 0 0 !important;
  box-sizing:border-box !important;
}

/* 内部卡片标题：不要横向拉满，只加 emoji 和紧凑标题 */
html body #content .rankBarsTitle.battleInnerTitle,
html body #content .trendMiniTitle.battleInnerTitle{
  margin-bottom:8px !important;
  font-size:12px !important;
}

html body #content .rankBarsTitle.battleInnerTitle .titleEmoji,
html body #content .trendMiniTitle.battleInnerTitle .titleEmoji{
  width:20px !important;
  height:20px !important;
  min-width:20px !important;
  font-size:13px !important;
}

/* 不同卡片 emoji 轻微区分 */
html body #content .battleSectionTitle .titleEmoji{
  background:rgba(37,99,235,.10) !important;
  color:#2563eb !important;
}

html body #content .battleToolTitle .titleEmoji{
  background:rgba(245,158,11,.12) !important;
  color:#f59e0b !important;
}

html body #content .battleFilterTitle .titleEmoji{
  background:rgba(100,116,139,.12) !important;
  color:#64748b !important;
}

/* 小屏防挤压 */
@media (max-width:420px){
  html body #content .battleSectionTitle,
  html body #content .battleToolTitle,
  html body #content .battleFilterTitle{
    font-size:13px !important;
    gap:6px !important;
  }

  html body #content .titleEmoji{
    width:20px !important;
    height:20px !important;
    min-width:20px !important;
    font-size:13px !important;
  }

  html body #content .toolPanelHint{
    font-size:10.5px !important;
  }
}

/* BATTLE_CARD_TITLE_BAR_POLISH_V1 END */

/* BATTLE_TOOL_PANEL_TITLE_SHORT_V2
   战绩中心：
   - “按总PT统计（样本：最近200局）”改为“按PT统计”
   - “按全部半庄统计（来自上述样本对局）”改为“按半庄统计”
   - 说明下移到卡片内容区
*/

html body #content .toolPanel .toolPanelMeta{
  margin:-2px 0 10px !important;
  padding:8px 10px !important;
  border-radius:var(--ys-radius-card, 6px) !important;
  border:1px solid #e2e8f0 !important;
  background:#ffffff !important;
  color:#64748b !important;
  font-size:12px !important;
  line-height:1.45 !important;
  font-weight:800 !important;
  letter-spacing:.01em !important;
  box-shadow:
    0 3px 8px rgba(15,23,42,.035),
    0 1px 2px rgba(15,23,42,.035) !important;
}

/* 标题栏只保留短标题，所以标题更醒目一点 */
html body #content .toolPanel > .toolPanelHead .battleToolTitle{
  font-size:14px !important;
  font-weight:950 !important;
  color:#0f172a !important;
}

/* 右侧 hint 保留，但更弱，避免和框内说明抢视觉 */
html body #content .toolPanel > .toolPanelHead .toolPanelHint{
  color:#94a3b8 !important;
  font-size:11px !important;
  font-weight:800 !important;
}

/* 小屏时说明不挤标题栏 */
@media (max-width:420px){
  html body #content .toolPanel .toolPanelMeta{
    font-size:11.5px !important;
    padding:7px 9px !important;
  }
}

/* BATTLE_TOOL_PANEL_TITLE_SHORT_V2 END */

/* BATTLE_STAT_PANEL_REDESIGN_V3
   修复并重设战绩中心统计框：
   - 标题栏短标题：按PT统计 / 按半庄统计
   - 样本/筛选说明下移到框内
   - 减少框内套框
   - 标题栏横向拉满
*/

html body #content .battleStatPanel{
  background:#ffffff !important;
  border:1px solid #e2e8f0 !important;
  border-radius:var(--ys-radius-card, 6px) !important;
  box-shadow:
    0 6px 16px rgba(15,23,42,.045),
    0 1px 3px rgba(15,23,42,.045) !important;
  overflow:hidden !important;
  padding:12px !important;
  box-sizing:border-box !important;
}

/* 标题栏横向拉满 */
html body #content .battleStatPanel > .battleStatHead{
  display:flex !important;
  align-items:center !important;
  justify-content:space-between !important;
  width:calc(100% + 24px) !important;
  margin:-12px -12px 10px !important;
  padding:10px 12px !important;
  background:#f8fafc !important;
  border-bottom:1px solid #e5edf7 !important;
  border-radius:var(--ys-radius-card, 6px) var(--ys-radius-card, 6px) 0 0 !important;
  box-sizing:border-box !important;
}

/* 短标题 */
html body #content .battleStatPanel .battleToolTitle{
  display:flex !important;
  align-items:center !important;
  gap:7px !important;
  min-width:0 !important;
  margin:0 !important;
  color:#0f172a !important;
  font-size:14px !important;
  line-height:1.25 !important;
  font-weight:950 !important;
  letter-spacing:.01em !important;
  white-space:nowrap !important;
}

html body #content .battleStatPanel .titleEmoji{
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  width:22px !important;
  height:22px !important;
  min-width:22px !important;
  border-radius:var(--ys-radius-btn, 5px) !important;
  font-size:14px !important;
  line-height:1 !important;
}

html body #content .battlePtPanel .titleEmoji{
  background:rgba(245,158,11,.12) !important;
  color:#f59e0b !important;
}

html body #content .battleRoundPanel .titleEmoji{
  background:rgba(37,99,235,.10) !important;
  color:#2563eb !important;
}

/* 框内说明：不再做套框，只做轻量信息行 */
html body #content .battleStatPanel > .toolPanelMeta{
  margin:0 0 10px !important;
  padding:0 !important;
  border:0 !important;
  background:transparent !important;
  box-shadow:none !important;
  color:#64748b !important;
  font-size:11.5px !important;
  line-height:1.45 !important;
  font-weight:800 !important;
  letter-spacing:.01em !important;
}

/* 统计格：减少“卡片套卡片”的感觉，只保留极浅层次 */
html body #content .battleStatPanel .toolGrid{
  margin-top:0 !important;
  display:grid !important;
  grid-template-columns:repeat(2,minmax(0,1fr)) !important;
  gap:8px !important;
}

@media (min-width:640px){
  html body #content .battleStatPanel .toolGrid{
    grid-template-columns:repeat(4,minmax(0,1fr)) !important;
  }
}

html body #content .battleStatPanel .metricCard{
  border:1px solid #e5e7eb !important;
  border-radius:var(--ys-radius-card, 6px) !important;
  background:#ffffff !important;
  padding:9px 10px !important;
  box-shadow:none !important;
}

html body #content .battleStatPanel .metricLabel{
  color:#64748b !important;
  font-size:11px !important;
  font-weight:850 !important;
  line-height:1.3 !important;
}

html body #content .battleStatPanel .metricVal{
  margin-top:5px !important;
  font-size:15px !important;
  line-height:1.2 !important;
  font-weight:950 !important;
}

/* 名次分布卡片也减轻层级 */
html body #content .battleStatPanel .rankBarsCard{
  border:1px solid #e5e7eb !important;
  border-radius:var(--ys-radius-card, 6px) !important;
  background:#ffffff !important;
  box-shadow:none !important;
  padding:9px 10px !important;
}

/* 避免旧 hint 右侧占位残留 */
html body #content .battleStatPanel .toolPanelHint{
  display:none !important;
}

/* 小屏 */
@media (max-width:420px){
  html body #content .battleStatPanel{
    padding:10px !important;
  }

  html body #content .battleStatPanel > .battleStatHead{
    width:calc(100% + 20px) !important;
    margin:-10px -10px 9px !important;
    padding:9px 10px !important;
  }

  html body #content .battleStatPanel .battleToolTitle{
    font-size:13.5px !important;
  }

  html body #content .battleStatPanel > .toolPanelMeta{
    font-size:11px !important;
    margin-bottom:8px !important;
  }
}

/* BATTLE_STAT_PANEL_REDESIGN_V3 END */

/* BATTLE_STAT_PANEL_FIX_V4
   修复：
   - 标题为“按总PT统计 / 按半庄统计”
   - 样本/筛选说明在框内正文
   - 按半庄统计数据 ID 完整恢复
   - 两个面板同款样式
   - 去掉多余套框感
*/

html body #content .battleStatPanel{
  background:#ffffff !important;
  border:1px solid #e2e8f0 !important;
  border-radius:var(--ys-radius-card, 6px) !important;
  box-shadow:
    0 6px 16px rgba(15,23,42,.045),
    0 1px 3px rgba(15,23,42,.045) !important;
  overflow:hidden !important;
  padding:12px !important;
  box-sizing:border-box !important;
}

/* 标题栏横向拉满 */
html body #content .battleStatPanel > .battleStatHead{
  display:flex !important;
  align-items:center !important;
  justify-content:space-between !important;
  width:calc(100% + 24px) !important;
  margin:-12px -12px 10px !important;
  padding:10px 12px !important;
  background:#f8fafc !important;
  border-bottom:1px solid #e5edf7 !important;
  border-radius:var(--ys-radius-card, 6px) var(--ys-radius-card, 6px) 0 0 !important;
  box-sizing:border-box !important;
}

/* 标题 */
html body #content .battleStatPanel .battleToolTitle{
  display:flex !important;
  align-items:center !important;
  gap:7px !important;
  min-width:0 !important;
  margin:0 !important;
  color:#0f172a !important;
  font-size:14px !important;
  line-height:1.25 !important;
  font-weight:950 !important;
  letter-spacing:.01em !important;
  white-space:nowrap !important;
}

html body #content .battleStatPanel .titleEmoji{
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  width:22px !important;
  height:22px !important;
  min-width:22px !important;
  border-radius:var(--ys-radius-btn, 5px) !important;
  font-size:14px !important;
  line-height:1 !important;
}

html body #content .battlePtPanel .titleEmoji{
  background:rgba(245,158,11,.12) !important;
  color:#f59e0b !important;
}

html body #content .battleRoundPanel .titleEmoji{
  background:rgba(37,99,235,.10) !important;
  color:#2563eb !important;
}

/* 框内说明：不要套框，只是一行轻信息 */
html body #content .battleStatPanel > .toolPanelMeta{
  display:block !important;
  margin:0 0 10px !important;
  padding:0 !important;
  border:0 !important;
  background:transparent !important;
  box-shadow:none !important;
  color:#64748b !important;
  font-size:11.5px !important;
  line-height:1.45 !important;
  font-weight:800 !important;
  letter-spacing:.01em !important;
}

/* 旧标题栏 hint 如果还残留，隐藏 */
html body #content .battleStatPanel .toolPanelHint{
  display:none !important;
}

/* 两个统计框用完全同款 grid */
html body #content .battleStatPanel .battleStatGrid{
  margin:0 !important;
  display:grid !important;
  grid-template-columns:repeat(2,minmax(0,1fr)) !important;
  gap:8px !important;
}

@media (min-width:640px){
  html body #content .battleStatPanel .battleStatGrid{
    grid-template-columns:repeat(4,minmax(0,1fr)) !important;
  }
}

/* 数字小卡片减轻层级，不再像框套框 */
html body #content .battleStatPanel .metricCard{
  border:1px solid #e5e7eb !important;
  border-radius:var(--ys-radius-card, 6px) !important;
  background:#ffffff !important;
  padding:9px 10px !important;
  box-shadow:none !important;
  box-sizing:border-box !important;
}

html body #content .battleStatPanel .metricLabel{
  color:#64748b !important;
  font-size:11px !important;
  font-weight:850 !important;
  line-height:1.3 !important;
}

html body #content .battleStatPanel .metricVal{
  margin-top:5px !important;
  font-size:15px !important;
  line-height:1.2 !important;
  font-weight:950 !important;
}

/* 名次分布也轻量化 */
html body #content .battleStatPanel .rankBarsCard{
  border:1px solid #e5e7eb !important;
  border-radius:var(--ys-radius-card, 6px) !important;
  background:#ffffff !important;
  box-shadow:none !important;
  padding:9px 10px !important;
  box-sizing:border-box !important;
}

/* 小屏 */
@media (max-width:420px){
  html body #content .battleStatPanel{
    padding:10px !important;
  }

  html body #content .battleStatPanel > .battleStatHead{
    width:calc(100% + 20px) !important;
    margin:-10px -10px 9px !important;
    padding:9px 10px !important;
  }

  html body #content .battleStatPanel .battleToolTitle{
    font-size:13.5px !important;
  }

  html body #content .battleStatPanel > .toolPanelMeta{
    font-size:11px !important;
    margin-bottom:8px !important;
  }
}

/* BATTLE_STAT_PANEL_FIX_V4 END */

/* BATTLE_STATS_DEDUP_ALIGN_FINAL_V5
   战绩中心统计总览最终修复：
   - 只保留一组按总PT统计 / 按半庄统计
   - 两个统计框完全同款
   - 样本/筛选说明在框内正文
   - 去掉多余内框感
*/

html body #content .battleStatPanel{
  background:#ffffff !important;
  border:1px solid #e2e8f0 !important;
  border-radius:var(--ys-radius-card, 6px) !important;
  box-shadow:
    0 6px 16px rgba(15,23,42,.045),
    0 1px 3px rgba(15,23,42,.045) !important;
  overflow:hidden !important;
  padding:12px !important;
  box-sizing:border-box !important;
}

html body #content .battleStatPanel > .battleStatHead{
  display:flex !important;
  align-items:center !important;
  justify-content:space-between !important;
  width:calc(100% + 24px) !important;
  margin:-12px -12px 10px !important;
  padding:10px 12px !important;
  background:#f8fafc !important;
  border-bottom:1px solid #e5edf7 !important;
  border-radius:var(--ys-radius-card, 6px) var(--ys-radius-card, 6px) 0 0 !important;
  box-sizing:border-box !important;
}

html body #content .battleStatPanel .battleToolTitle{
  display:flex !important;
  align-items:center !important;
  gap:7px !important;
  margin:0 !important;
  color:#0f172a !important;
  font-size:14px !important;
  line-height:1.25 !important;
  font-weight:950 !important;
  letter-spacing:.01em !important;
  white-space:nowrap !important;
}

html body #content .battleStatPanel .titleEmoji{
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  width:22px !important;
  height:22px !important;
  min-width:22px !important;
  border-radius:var(--ys-radius-btn, 5px) !important;
  font-size:14px !important;
  line-height:1 !important;
}

html body #content .battlePtPanel .titleEmoji{
  background:rgba(245,158,11,.12) !important;
  color:#f59e0b !important;
}

html body #content .battleRoundPanel .titleEmoji{
  background:rgba(37,99,235,.10) !important;
  color:#2563eb !important;
}

html body #content .recentTrendPanel .titleEmoji{
  background:rgba(22,163,74,.10) !important;
  color:#16a34a !important;
}

html body #content .battleStatPanel > .toolPanelMeta{
  display:block !important;
  margin:0 0 10px !important;
  padding:0 !important;
  border:0 !important;
  background:transparent !important;
  box-shadow:none !important;
  color:#64748b !important;
  font-size:11.5px !important;
  line-height:1.45 !important;
  font-weight:800 !important;
  letter-spacing:.01em !important;
}

html body #content .battleStatPanel .toolPanelHint{
  display:none !important;
}

html body #content .battleStatPanel .battleStatGrid{
  margin:0 !important;
  display:grid !important;
  grid-template-columns:repeat(2,minmax(0,1fr)) !important;
  gap:8px !important;
}

@media (min-width:640px){
  html body #content .battleStatPanel .battleStatGrid{
    grid-template-columns:repeat(4,minmax(0,1fr)) !important;
  }
}

html body #content .battleStatPanel .metricCard{
  border:1px solid #e5e7eb !important;
  border-radius:var(--ys-radius-card, 6px) !important;
  background:#ffffff !important;
  padding:9px 10px !important;
  box-shadow:none !important;
  box-sizing:border-box !important;
}

html body #content .battleStatPanel .metricLabel{
  color:#64748b !important;
  font-size:11px !important;
  font-weight:850 !important;
  line-height:1.3 !important;
}

html body #content .battleStatPanel .metricVal{
  margin-top:5px !important;
  font-size:15px !important;
  line-height:1.2 !important;
  font-weight:950 !important;
}

html body #content .battleStatPanel .rankBarsCard{
  border:1px solid #e5e7eb !important;
  border-radius:var(--ys-radius-card, 6px) !important;
  background:#ffffff !important;
  box-shadow:none !important;
  padding:9px 10px !important;
  box-sizing:border-box !important;
}

/* 最近趋势也跟同款标题栏，但不强制 grid */
html body #content .recentTrendPanel{
  background:#ffffff !important;
  border:1px solid #e2e8f0 !important;
  border-radius:var(--ys-radius-card, 6px) !important;
  box-shadow:
    0 6px 16px rgba(15,23,42,.045),
    0 1px 3px rgba(15,23,42,.045) !important;
  overflow:hidden !important;
  padding:12px !important;
  box-sizing:border-box !important;
}

html body #content .recentTrendPanel > .battleStatHead{
  width:calc(100% + 24px) !important;
  margin:-12px -12px 10px !important;
  padding:10px 12px !important;
  background:#f8fafc !important;
  border-bottom:1px solid #e5edf7 !important;
  border-radius:var(--ys-radius-card, 6px) var(--ys-radius-card, 6px) 0 0 !important;
}

/* 小屏 */
@media (max-width:420px){
  html body #content .battleStatPanel,
  html body #content .recentTrendPanel{
    padding:10px !important;
  }

  html body #content .battleStatPanel > .battleStatHead,
  html body #content .recentTrendPanel > .battleStatHead{
    width:calc(100% + 20px) !important;
    margin:-10px -10px 9px !important;
    padding:9px 10px !important;
  }

  html body #content .battleStatPanel .battleToolTitle{
    font-size:13.5px !important;
  }

  html body #content .battleStatPanel > .toolPanelMeta{
    font-size:11px !important;
    margin-bottom:8px !important;
  }
}

/* BATTLE_STATS_DEDUP_ALIGN_FINAL_V5 END */

/* BATTLE_STATS_OVERVIEW_REBUILD_FINAL_V6
   战绩中心统计总览最终版：
   - 整块重建后只保留一套统计框
   - 按总PT统计 / 按半庄统计完全同款
   - 样本说明在框内正文
   - 最近趋势同款标题栏
*/

html body #content .battleStatsOverview{
  background:#ffffff !important;
  border:1px solid #e2e8f0 !important;
  border-radius:var(--ys-radius-card, 6px) !important;
  box-shadow:
    0 6px 16px rgba(15,23,42,.045),
    0 1px 3px rgba(15,23,42,.045) !important;
  overflow:hidden !important;
  padding:12px !important;
  box-sizing:border-box !important;
}

html body #content .battleStatsOverview > .battleCardHead{
  display:flex !important;
  align-items:center !important;
  justify-content:space-between !important;
  width:calc(100% + 24px) !important;
  margin:-12px -12px 12px !important;
  padding:10px 12px !important;
  background:#f8fafc !important;
  border-bottom:1px solid #e5edf7 !important;
  border-radius:var(--ys-radius-card, 6px) var(--ys-radius-card, 6px) 0 0 !important;
  box-sizing:border-box !important;
}

html body #content .battleStatsOverview > .battleCardHead::before{
  content:none !important;
  display:none !important;
}

html body #content .battleStatsOverview .battleSectionTitle,
html body #content .battleStatsOverview .battleToolTitle{
  display:flex !important;
  align-items:center !important;
  gap:7px !important;
  margin:0 !important;
  color:#0f172a !important;
  font-size:14px !important;
  line-height:1.25 !important;
  font-weight:950 !important;
  letter-spacing:.01em !important;
  white-space:nowrap !important;
}

html body #content .battleStatsOverview .titleEmoji{
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  width:22px !important;
  height:22px !important;
  min-width:22px !important;
  border-radius:var(--ys-radius-btn, 5px) !important;
  font-size:14px !important;
  line-height:1 !important;
  background:rgba(37,99,235,.10) !important;
  color:#2563eb !important;
}

html body #content .battleStatsOverview .battlePtPanel .titleEmoji{
  background:rgba(245,158,11,.12) !important;
  color:#f59e0b !important;
}

html body #content .battleStatsOverview .battleRoundPanel .titleEmoji{
  background:rgba(37,99,235,.10) !important;
  color:#2563eb !important;
}

html body #content .battleStatsOverview .recentTrendPanel .titleEmoji{
  background:rgba(22,163,74,.10) !important;
  color:#16a34a !important;
}

html body #content .battleStatsOverview .battleStatPanel{
  background:#ffffff !important;
  border:1px solid #e2e8f0 !important;
  border-radius:var(--ys-radius-card, 6px) !important;
  box-shadow:
    0 4px 10px rgba(15,23,42,.035),
    0 1px 2px rgba(15,23,42,.035) !important;
  overflow:hidden !important;
  padding:12px !important;
  box-sizing:border-box !important;
}

html body #content .battleStatsOverview .battleStatPanel + .battleStatPanel{
  margin-top:12px !important;
}

html body #content .battleStatsOverview .battleStatPanel > .battleStatHead{
  display:flex !important;
  align-items:center !important;
  justify-content:space-between !important;
  width:calc(100% + 24px) !important;
  margin:-12px -12px 10px !important;
  padding:10px 12px !important;
  background:#f8fafc !important;
  border-bottom:1px solid #e5edf7 !important;
  border-radius:var(--ys-radius-card, 6px) var(--ys-radius-card, 6px) 0 0 !important;
  box-sizing:border-box !important;
}

html body #content .battleStatsOverview .toolPanelMeta{
  display:block !important;
  margin:0 0 10px !important;
  padding:0 !important;
  border:0 !important;
  background:transparent !important;
  box-shadow:none !important;
  color:#64748b !important;
  font-size:11.5px !important;
  line-height:1.45 !important;
  font-weight:800 !important;
  letter-spacing:.01em !important;
}

html body #content .battleStatsOverview .toolPanelHint{
  display:none !important;
}

html body #content .battleStatsOverview .battleStatGrid{
  margin:0 !important;
  display:grid !important;
  grid-template-columns:repeat(2,minmax(0,1fr)) !important;
  gap:8px !important;
}

@media (min-width:640px){
  html body #content .battleStatsOverview .battleStatGrid{
    grid-template-columns:repeat(4,minmax(0,1fr)) !important;
  }
}

html body #content .battleStatsOverview .metricCard{
  border:1px solid #e5e7eb !important;
  border-radius:var(--ys-radius-card, 6px) !important;
  background:#ffffff !important;
  padding:9px 10px !important;
  box-shadow:none !important;
  box-sizing:border-box !important;
}

html body #content .battleStatsOverview .metricLabel{
  color:#64748b !important;
  font-size:11px !important;
  font-weight:850 !important;
  line-height:1.3 !important;
}

html body #content .battleStatsOverview .metricVal{
  margin-top:5px !important;
  font-size:15px !important;
  line-height:1.2 !important;
  font-weight:950 !important;
}

html body #content .battleStatsOverview .rankBarsCard{
  border:1px solid #e5e7eb !important;
  border-radius:var(--ys-radius-card, 6px) !important;
  background:#ffffff !important;
  box-shadow:none !important;
  padding:9px 10px !important;
  box-sizing:border-box !important;
}

@media (max-width:420px){
  html body #content .battleStatsOverview{
    padding:10px !important;
  }

  html body #content .battleStatsOverview > .battleCardHead{
    width:calc(100% + 20px) !important;
    margin:-10px -10px 10px !important;
    padding:9px 10px !important;
  }

  html body #content .battleStatsOverview .battleStatPanel{
    padding:10px !important;
  }

  html body #content .battleStatsOverview .battleStatPanel > .battleStatHead{
    width:calc(100% + 20px) !important;
    margin:-10px -10px 9px !important;
    padding:9px 10px !important;
  }
}

/* BATTLE_STATS_OVERVIEW_REBUILD_FINAL_V6 END */

/* BATTLE_STATS_OVERVIEW_FLAT_FINAL_V7
   战绩中心统计总览：
   - “统计总览”单独一行，不要外层框
   - 按总PT统计 / 按半庄统计 / 最近趋势 升级为一级卡片
*/

/* 统计总览外层取消卡片感 */
html body #content .battleStatsOverview{
  background:transparent !important;
  border:0 !important;
  box-shadow:none !important;
  padding:0 !important;
  overflow:visible !important;
}

/* 统计总览标题单独一行，不要框 */
html body #content .battleStatsOverview > .battleCardHead{
  width:100% !important;
  margin:0 0 10px !important;
  padding:0 2px !important;
  background:transparent !important;
  border:0 !important;
  box-shadow:none !important;
  border-radius:0 !important;
}

html body #content .battleStatsOverview > .battleCardHead::before{
  content:none !important;
  display:none !important;
}

html body #content .battleStatsOverview > .battleCardHead .battleSectionTitle{
  display:flex !important;
  align-items:center !important;
  gap:7px !important;
  margin:0 !important;
  color:#0f172a !important;
  font-size:15px !important;
  line-height:1.25 !important;
  font-weight:950 !important;
  letter-spacing:.01em !important;
}

/* 统计总览标题 emoji 保留小图标，但不要卡片框太重 */
html body #content .battleStatsOverview > .battleCardHead .titleEmoji{
  width:22px !important;
  height:22px !important;
  min-width:22px !important;
  border-radius:var(--ys-radius-btn, 5px) !important;
  background:rgba(37,99,235,.10) !important;
  color:#2563eb !important;
  font-size:14px !important;
}

/* 子框升为一级卡片 */
html body #content .battleStatsOverview .battleStatPanel{
  background:#ffffff !important;
  border:1px solid #e2e8f0 !important;
  border-radius:var(--ys-radius-card, 6px) !important;
  box-shadow:
    0 6px 16px rgba(15,23,42,.045),
    0 1px 3px rgba(15,23,42,.045) !important;
  overflow:hidden !important;
  padding:12px !important;
  margin:0 0 12px !important;
  box-sizing:border-box !important;
}

/* 最近趋势也按一级卡片处理 */
html body #content .battleStatsOverview .recentTrendPanel{
  background:#ffffff !important;
  border:1px solid #e2e8f0 !important;
  border-radius:var(--ys-radius-card, 6px) !important;
  box-shadow:
    0 6px 16px rgba(15,23,42,.045),
    0 1px 3px rgba(15,23,42,.045) !important;
  overflow:hidden !important;
  padding:12px !important;
  margin:0 0 12px !important;
  box-sizing:border-box !important;
}

/* 一级卡片标题栏横向拉满 */
html body #content .battleStatsOverview .battleStatPanel > .battleStatHead,
html body #content .battleStatsOverview .recentTrendPanel > .battleStatHead{
  display:flex !important;
  align-items:center !important;
  justify-content:space-between !important;
  width:calc(100% + 24px) !important;
  margin:-12px -12px 10px !important;
  padding:10px 12px !important;
  background:#f8fafc !important;
  border-bottom:1px solid #e5edf7 !important;
  border-radius:var(--ys-radius-card, 6px) var(--ys-radius-card, 6px) 0 0 !important;
  box-sizing:border-box !important;
}

/* 避免最后一个卡片底部多余距离 */
html body #content .battleStatsOverview .battleStatPanel:last-child,
html body #content .battleStatsOverview .recentTrendPanel:last-child{
  margin-bottom:0 !important;
}

/* 小屏 */
@media (max-width:420px){
  html body #content .battleStatsOverview .battleStatPanel,
  html body #content .battleStatsOverview .recentTrendPanel{
    padding:10px !important;
    margin-bottom:10px !important;
  }

  html body #content .battleStatsOverview .battleStatPanel > .battleStatHead,
  html body #content .battleStatsOverview .recentTrendPanel > .battleStatHead{
    width:calc(100% + 20px) !important;
    margin:-10px -10px 9px !important;
    padding:9px 10px !important;
  }
}

/* BATTLE_STATS_OVERVIEW_FLAT_FINAL_V7 END */

/* BATTLE_STATS_OVERVIEW_REMOVE_TITLE_TREND_FRAME_V8
   - 去掉“统计总览”这一行
   - 最近趋势去掉外框
   - 最近趋势说明文字隐藏
*/

/* 1. 去掉统计总览这一行 */
html body #content .battleStatsOverview > .battleCardHead{
  display:none !important;
}

/* 2. 最近趋势外框去掉，变成普通内容区 */
html body #content .battleStatsOverview .recentTrendPanel{
  background:transparent !important;
  border:0 !important;
  box-shadow:none !important;
  padding:0 !important;
  margin:0 !important;
  overflow:visible !important;
  border-radius:0 !important;
}

/* 3. 最近趋势标题栏也不再做卡片头外框 */
html body #content .battleStatsOverview .recentTrendPanel > .battleStatHead{
  width:100% !important;
  margin:0 0 10px !important;
  padding:0 2px !important;
  background:transparent !important;
  border:0 !important;
  box-shadow:none !important;
  border-radius:0 !important;
}

/* 4. 最近趋势说明文字隐藏，兼容 HTML 未删除的情况 */
html body #content .battleStatsOverview .recentTrendPanel > .toolPanelMeta{
  display:none !important;
}

/* 5. 最近趋势标题保留 emoji + 文字，但作为普通行 */
html body #content .battleStatsOverview .recentTrendPanel .battleToolTitle{
  display:flex !important;
  align-items:center !important;
  gap:7px !important;
  margin:0 !important;
  color:#0f172a !important;
  font-size:14px !important;
  line-height:1.25 !important;
  font-weight:950 !important;
  letter-spacing:.01em !important;
}

html body #content .battleStatsOverview .recentTrendPanel .titleEmoji{
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  width:22px !important;
  height:22px !important;
  min-width:22px !important;
  border-radius:var(--ys-radius-btn, 5px) !important;
  background:rgba(22,163,74,.10) !important;
  color:#16a34a !important;
  font-size:14px !important;
  line-height:1 !important;
}

/* BATTLE_STATS_OVERVIEW_REMOVE_TITLE_TREND_FRAME_V8 END */

/* BATTLE_REMOVE_OVERVIEW_AND_TREND_FINAL_V1
   战绩中心：
   - 统计总览标题行已从 HTML 删除
   - 最近趋势面板已从 HTML 删除
   - 这里做兜底隐藏，防止缓存/旧结构残留
*/

html body #content .battleStatsOverview > .battleCardHead,
html body #content #recentTrendPanel,
html body #content .recentTrendPanel{
  display:none !important;
}

/* BATTLE_REMOVE_OVERVIEW_AND_TREND_FINAL_V1 END */

/* BATTLE_RECENT_TREND_FLAT_RESTORE_V1
   最近趋势：
   - 内容保留
   - 外层大框去掉
   - 不显示“按最新在前排序”说明行
   - 小标题改为 JS 中的“最近6局趋势 / 最近6个半庄趋势”
*/

/* 强制恢复显示，覆盖之前 display:none */
html body #content #recentTrendPanel,
html body #content .recentTrendPanel,
html body #content .battleStatsOverview .recentTrendPanel{
  display:block !important;
  background:transparent !important;
  border:0 !important;
  box-shadow:none !important;
  padding:0 !important;
  margin:0 0 12px !important;
  overflow:visible !important;
  border-radius:0 !important;
}

/* 最近趋势标题行：普通标题，不做外框 */
html body #content #recentTrendPanel > .battleStatHead,
html body #content .recentTrendPanel > .battleStatHead{
  display:flex !important;
  align-items:center !important;
  justify-content:flex-start !important;
  width:100% !important;
  margin:0 0 10px !important;
  padding:0 2px !important;
  background:transparent !important;
  border:0 !important;
  box-shadow:none !important;
  border-radius:0 !important;
}

/* 隐藏说明行，兼容旧 HTML 残留 */
html body #content #recentTrendPanel > .toolPanelMeta,
html body #content .recentTrendPanel > .toolPanelMeta{
  display:none !important;
}

/* 标题文字 */
html body #content #recentTrendPanel .battleToolTitle,
html body #content .recentTrendPanel .battleToolTitle{
  display:flex !important;
  align-items:center !important;
  gap:7px !important;
  margin:0 !important;
  color:#0f172a !important;
  font-size:14px !important;
  line-height:1.25 !important;
  font-weight:950 !important;
  letter-spacing:.01em !important;
  white-space:nowrap !important;
}

/* 最近趋势 emoji */
html body #content #recentTrendPanel .titleEmoji,
html body #content .recentTrendPanel .titleEmoji{
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  width:22px !important;
  height:22px !important;
  min-width:22px !important;
  border-radius:var(--ys-radius-btn, 5px) !important;
  background:rgba(22,163,74,.10) !important;
  color:#16a34a !important;
  font-size:14px !important;
  line-height:1 !important;
}

/* 内容区不加外框 */
html body #content #recentTrendBody,
html body #content .recentTrendBody{
  margin:0 !important;
  padding:0 !important;
  background:transparent !important;
  border:0 !important;
  box-shadow:none !important;
}

/* 里面两个趋势小卡片保留卡片感 */
html body #content .recentTrendGrid{
  display:grid !important;
  grid-template-columns:1fr !important;
  gap:10px !important;
}

@media (min-width:640px){
  html body #content .recentTrendGrid{
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
  }
}

/* 趋势小卡片标题不再太小 */
html body #content .trendMiniTitle.battleInnerTitle{
  font-size:12.5px !important;
  font-weight:900 !important;
  color:#0f172a !important;
  margin-bottom:8px !important;
}

/* BATTLE_RECENT_TREND_FLAT_RESTORE_V1 END */

/* BATTLE_RECENT_TREND_VERTICAL_NO_TITLE_V2
   最近趋势：
   - 完全隐藏“📈 最近趋势”这一行
   - 两个趋势框强制上下排列
*/

/* 兜底隐藏最近趋势标题行 */
html body #content #recentTrendPanel > .battleStatHead,
html body #content .recentTrendPanel > .battleStatHead,
html body #content #recentTrendPanel > .toolPanelHead,
html body #content .recentTrendPanel > .toolPanelHead{
  display:none !important;
}

/* 最近趋势外层不加框，只作为内容容器 */
html body #content #recentTrendPanel,
html body #content .recentTrendPanel{
  display:block !important;
  background:transparent !important;
  border:0 !important;
  box-shadow:none !important;
  padding:0 !important;
  margin:0 0 12px !important;
  overflow:visible !important;
  border-radius:0 !important;
}

/* 内容区不加外框 */
html body #content #recentTrendBody,
html body #content .recentTrendBody{
  display:block !important;
  margin:0 !important;
  padding:0 !important;
  background:transparent !important;
  border:0 !important;
  box-shadow:none !important;
}

/* 两个趋势框强制上下排列，恢复原来的纵向布局 */
html body #content .recentTrendGrid{
  display:grid !important;
  grid-template-columns:1fr !important;
  gap:10px !important;
}

/* 覆盖之前桌面端两列布局 */
@media (min-width:640px){
  html body #content .recentTrendGrid{
    grid-template-columns:1fr !important;
  }
}

/* 趋势小卡片保持一级小卡片风格 */
html body #content .trendMiniCard{
  width:100% !important;
  background:#ffffff !important;
  border:1px solid #e2e8f0 !important;
  border-radius:var(--ys-radius-card, 6px) !important;
  box-shadow:
    0 6px 16px rgba(15,23,42,.045),
    0 1px 3px rgba(15,23,42,.045) !important;
  box-sizing:border-box !important;
}

/* 小标题保留你刚定的文案 */
html body #content .trendMiniTitle,
html body #content .trendMiniTitle.battleInnerTitle{
  font-size:12.5px !important;
  font-weight:900 !important;
  color:#0f172a !important;
  margin-bottom:8px !important;
}

/* BATTLE_RECENT_TREND_VERTICAL_NO_TITLE_V2 END */

/* START_MODAL_CENTER_SCALE_ANIM_V1
   开始对局弹窗动画：
   从画面中间轻微缩放出现，替代底部升起。
   只作用于开始对局弹窗 #startMask。
*/

/* 遮罩出现时，弹窗从中心放大 */
html body #startMask.show .mmModal{
  animation:ysStartModalCenterScaleV1 .30s cubic-bezier(.2,.8,.2,1) both !important;
  transform-origin:center center !important;
  will-change:transform, opacity !important;
  backface-visibility:hidden !important;
}

/* 内容不要再单独错层浮动，避免安卓卡顿 */
html body #startMask.show .mmModal > *{
  animation:none !important;
}

/* 中心缩放动画 */
@keyframes ysStartModalCenterScaleV1{
  0%{
    opacity:0;
    transform:translate3d(0, 0, 0) scale(.92);
  }

  100%{
    opacity:1;
    transform:translate3d(0, 0, 0) scale(1);
  }
}

/* 避免旧的底部升起动画残留 */
html body #startMask.show .modalHead,
html body #startMask.show .modal-section,
html body #startMask.show #modeFormula,
html body #startMask.show .formula-box,
html body #startMask.show .modalFooter,
html body #startMask.show .mode-block{
  animation:none !important;
}

/* 减少动态偏好 */
@media (prefers-reduced-motion: reduce){
  html body #startMask.show .mmModal{
    animation:none !important;
  }
}

/* START_MODAL_CENTER_SCALE_ANIM_V1 END */

/* START_MODAL_CENTER_SCALE_ANIM_V2
   开始对局弹窗动画：
   从中心 30% 缩放到 100%，更明显。
*/

html body #startMask.show .mmModal{
  animation:ysStartModalCenterScaleV2 .34s cubic-bezier(.18,.88,.22,1) both !important;
  transform-origin:center center !important;
  will-change:transform, opacity !important;
  backface-visibility:hidden !important;
}

/* 压掉之前所有内部浮动/底部升起动画 */
html body #startMask.show .mmModal > *,
html body #startMask.show .modalHead,
html body #startMask.show .modal-section,
html body #startMask.show #modeFormula,
html body #startMask.show .formula-box,
html body #startMask.show .modalFooter,
html body #startMask.show .mode-block{
  animation:none !important;
}

/* 从中心小框放大 */
@keyframes ysStartModalCenterScaleV2{
  0%{
    opacity:0;
    transform:scale(.30);
  }

  65%{
    opacity:1;
    transform:scale(1.025);
  }

  100%{
    opacity:1;
    transform:scale(1);
  }
}

@media (prefers-reduced-motion: reduce){
  html body #startMask.show .mmModal{
    animation:none !important;
  }
}

/* START_MODAL_CENTER_SCALE_ANIM_V2 END */

/* START_MODAL_CENTER_SCALE_ANIM_V3
   开始对局弹窗动画：
   从中心 20% 放大到 100%，整体时间略长一些。
*/

html body #startMask.show .mmModal{
  animation:ysStartModalCenterScaleV3 .42s cubic-bezier(.16,.88,.22,1) both !important;
  transform-origin:center center !important;
  will-change:transform, opacity !important;
  backface-visibility:hidden !important;
}

/* 压掉之前所有内部浮动/底部升起动画 */
html body #startMask.show .mmModal > *,
html body #startMask.show .modalHead,
html body #startMask.show .modal-section,
html body #startMask.show #modeFormula,
html body #startMask.show .formula-box,
html body #startMask.show .modalFooter,
html body #startMask.show .mode-block{
  animation:none !important;
}

/* 从中心更小尺寸放大 */
@keyframes ysStartModalCenterScaleV3{
  0%{
    opacity:0;
    transform:scale(.20);
  }

  72%{
    opacity:1;
    transform:scale(1.02);
  }

  100%{
    opacity:1;
    transform:scale(1);
  }
}

@media (prefers-reduced-motion: reduce){
  html body #startMask.show .mmModal{
    animation:none !important;
  }
}

/* START_MODAL_CENTER_SCALE_ANIM_V3 END */

/* START_MODAL_CENTER_SCALE_ANIM_V4
   开始对局弹窗动画：
   从中心 20% 平滑放大到 100%，无回弹。
*/

html body #startMask.show .mmModal{
  animation:ysStartModalCenterScaleV4 .42s cubic-bezier(.2,.8,.2,1) both !important;
  transform-origin:center center !important;
  will-change:transform, opacity !important;
  backface-visibility:hidden !important;
}

/* 压掉之前所有内部浮动/底部升起/回弹动画 */
html body #startMask.show .mmModal > *,
html body #startMask.show .modalHead,
html body #startMask.show .modal-section,
html body #startMask.show #modeFormula,
html body #startMask.show .formula-box,
html body #startMask.show .modalFooter,
html body #startMask.show .mode-block{
  animation:none !important;
}

/* 纯放大，无超过 100% */
@keyframes ysStartModalCenterScaleV4{
  0%{
    opacity:0;
    transform:scale(.20);
  }

  100%{
    opacity:1;
    transform:scale(1);
  }
}

@media (prefers-reduced-motion: reduce){
  html body #startMask.show .mmModal{
    animation:none !important;
  }
}

/* START_MODAL_CENTER_SCALE_ANIM_V4 END */

/* START_MODAL_CENTER_BOUNCE_ANIM_V5
   开始对局弹窗动画：
   从 90% 弹到 120%，再回弹到 100%。
   时长保持 0.42s。
*/

html body #startMask.show .mmModal{
  animation:ysStartModalCenterBounceV5 .42s cubic-bezier(.2,.8,.2,1) both !important;
  transform-origin:center center !important;
  will-change:transform, opacity !important;
  backface-visibility:hidden !important;
}

/* 压掉之前所有内部浮动/底部升起/旧缩放动画 */
html body #startMask.show .mmModal > *,
html body #startMask.show .modalHead,
html body #startMask.show .modal-section,
html body #startMask.show #modeFormula,
html body #startMask.show .formula-box,
html body #startMask.show .modalFooter,
html body #startMask.show .mode-block{
  animation:none !important;
}

/* 90% -> 120% -> 100% */
@keyframes ysStartModalCenterBounceV5{
  0%{
    opacity:0;
    transform:scale(.90);
  }

  58%{
    opacity:1;
    transform:scale(1.20);
  }

  100%{
    opacity:1;
    transform:scale(1);
  }
}

@media (prefers-reduced-motion: reduce){
  html body #startMask.show .mmModal{
    animation:none !important;
  }
}

/* START_MODAL_CENTER_BOUNCE_ANIM_V5 END */

/* START_MODAL_CENTER_BOUNCE_ANIM_FINAL_TUNE_V2
   开始对局弹窗动画：
   85% → 110% → 100%
   时长保持 0.42s
*/

html body #startMask.show .mmModal{
  animation:ysStartModalCenterBounceTuneV2 .42s cubic-bezier(.2,.8,.2,1) both !important;
  transform-origin:center center !important;
  will-change:transform, opacity !important;
  backface-visibility:hidden !important;
}

html body #startMask.show .mmModal > *,
html body #startMask.show .modalHead,
html body #startMask.show .modal-section,
html body #startMask.show #modeFormula,
html body #startMask.show .formula-box,
html body #startMask.show .modalFooter,
html body #startMask.show .mode-block{
  animation:none !important;
}

@keyframes ysStartModalCenterBounceTuneV2{
  0%{
    opacity:0;
    transform:scale(.85);
  }

  58%{
    opacity:1;
    transform:scale(1.10);
  }

  100%{
    opacity:1;
    transform:scale(1);
  }
}

@media (prefers-reduced-motion: reduce){
  html body #startMask.show .mmModal{
    animation:none !important;
  }
}

/* START_MODAL_CENTER_BOUNCE_ANIM_FINAL_TUNE_V2 END */
